mirror of
https://github.com/VueFileManager/vuefilemanager.git
synced 2026-04-18 16:22:14 +00:00
spotlight ability to search users with 'u ' keyword
This commit is contained in:
@@ -14,6 +14,7 @@ class CreateUserSettingsTable extends Migration
|
|||||||
public function up()
|
public function up()
|
||||||
{
|
{
|
||||||
Schema::create('user_settings', function (Blueprint $table) {
|
Schema::create('user_settings', function (Blueprint $table) {
|
||||||
|
$table->uuid('id')->index();
|
||||||
$table->uuid('user_id')->index();
|
$table->uuid('user_id')->index();
|
||||||
$table->string('avatar')->nullable();
|
$table->string('avatar')->nullable();
|
||||||
$table->string('color')->nullable();
|
$table->string('color')->nullable();
|
||||||
|
|||||||
@@ -13,7 +13,7 @@
|
|||||||
"/chunks/admin~chunks/files~chunks/my-shared-items~chunks/platform~chunks/recent-uploads~chunks/shared~1bec6fe4.js": "/chunks/admin~chunks/files~chunks/my-shared-items~chunks/platform~chunks/recent-uploads~chunks/shared~1bec6fe4.js?id=510e6c1b1017a73a40a6",
|
"/chunks/admin~chunks/files~chunks/my-shared-items~chunks/platform~chunks/recent-uploads~chunks/shared~1bec6fe4.js": "/chunks/admin~chunks/files~chunks/my-shared-items~chunks/platform~chunks/recent-uploads~chunks/shared~1bec6fe4.js?id=510e6c1b1017a73a40a6",
|
||||||
"/chunks/admin~chunks/platform.js": "/chunks/admin~chunks/platform.js?id=c93d93c96f9924e4517d",
|
"/chunks/admin~chunks/platform.js": "/chunks/admin~chunks/platform.js?id=c93d93c96f9924e4517d",
|
||||||
"/chunks/admin~chunks/platform~chunks/settings.js": "/chunks/admin~chunks/platform~chunks/settings.js?id=a6c18598d0dfd4d0998f",
|
"/chunks/admin~chunks/platform~chunks/settings.js": "/chunks/admin~chunks/platform~chunks/settings.js?id=a6c18598d0dfd4d0998f",
|
||||||
"/chunks/admin~chunks/platform~chunks/settings~chunks/shared.js": "/chunks/admin~chunks/platform~chunks/settings~chunks/shared.js?id=35d0f09c983f483f2bdb",
|
"/chunks/admin~chunks/platform~chunks/settings~chunks/shared.js": "/chunks/admin~chunks/platform~chunks/settings~chunks/shared.js?id=25e82199e61b2b1d2c09",
|
||||||
"/chunks/admin~chunks/platform~chunks/shared.js": "/chunks/admin~chunks/platform~chunks/shared.js?id=0d6c4be667e46ea1303e",
|
"/chunks/admin~chunks/platform~chunks/shared.js": "/chunks/admin~chunks/platform~chunks/shared.js?id=0d6c4be667e46ea1303e",
|
||||||
"/chunks/app-appearance.js": "/chunks/app-appearance.js?id=6035ca411b2c4239d964",
|
"/chunks/app-appearance.js": "/chunks/app-appearance.js?id=6035ca411b2c4239d964",
|
||||||
"/chunks/app-appearance~chunks/app-billings~chunks/app-email~chunks/app-index~chunks/app-others~chunks~5acee76d.js": "/chunks/app-appearance~chunks/app-billings~chunks/app-email~chunks/app-index~chunks/app-others~chunks~5acee76d.js?id=c3244f82e049a3364a6a",
|
"/chunks/app-appearance~chunks/app-billings~chunks/app-email~chunks/app-index~chunks/app-others~chunks~5acee76d.js": "/chunks/app-appearance~chunks/app-billings~chunks/app-email~chunks/app-index~chunks/app-others~chunks~5acee76d.js?id=c3244f82e049a3364a6a",
|
||||||
@@ -251,5 +251,132 @@
|
|||||||
"/chunks/user-storage.4eff070ff2a92236c8b2.hot-update.js": "/chunks/user-storage.4eff070ff2a92236c8b2.hot-update.js",
|
"/chunks/user-storage.4eff070ff2a92236c8b2.hot-update.js": "/chunks/user-storage.4eff070ff2a92236c8b2.hot-update.js",
|
||||||
"/chunks/settings-storage.4ecc7c38e789439da637.hot-update.js": "/chunks/settings-storage.4ecc7c38e789439da637.hot-update.js",
|
"/chunks/settings-storage.4ecc7c38e789439da637.hot-update.js": "/chunks/settings-storage.4ecc7c38e789439da637.hot-update.js",
|
||||||
"/chunks/user-storage.4ecc7c38e789439da637.hot-update.js": "/chunks/user-storage.4ecc7c38e789439da637.hot-update.js",
|
"/chunks/user-storage.4ecc7c38e789439da637.hot-update.js": "/chunks/user-storage.4ecc7c38e789439da637.hot-update.js",
|
||||||
"/chunks/app-others.753478462556c2b747a9.hot-update.js": "/chunks/app-others.753478462556c2b747a9.hot-update.js"
|
"/chunks/app-others.753478462556c2b747a9.hot-update.js": "/chunks/app-others.753478462556c2b747a9.hot-update.js",
|
||||||
|
"/chunks/admin~chunks/platform~chunks/settings~chunks/shared.6da7377ddc54af6d4f6c.hot-update.js": "/chunks/admin~chunks/platform~chunks/settings~chunks/shared.6da7377ddc54af6d4f6c.hot-update.js",
|
||||||
|
"/chunks/admin~chunks/platform~chunks/settings~chunks/shared.587521d536cc2941c3cf.hot-update.js": "/chunks/admin~chunks/platform~chunks/settings~chunks/shared.587521d536cc2941c3cf.hot-update.js",
|
||||||
|
"/chunks/admin~chunks/platform~chunks/settings~chunks/shared.1c87bf687f79c07606c4.hot-update.js": "/chunks/admin~chunks/platform~chunks/settings~chunks/shared.1c87bf687f79c07606c4.hot-update.js",
|
||||||
|
"/chunks/admin~chunks/platform~chunks/settings~chunks/shared.756b0fc2d127666aff5a.hot-update.js": "/chunks/admin~chunks/platform~chunks/settings~chunks/shared.756b0fc2d127666aff5a.hot-update.js",
|
||||||
|
"/chunks/admin~chunks/platform~chunks/settings~chunks/shared.131148ab6cc93af6a4ce.hot-update.js": "/chunks/admin~chunks/platform~chunks/settings~chunks/shared.131148ab6cc93af6a4ce.hot-update.js",
|
||||||
|
"/chunks/admin~chunks/platform~chunks/settings~chunks/shared.396a9bff2ae4a21257f6.hot-update.js": "/chunks/admin~chunks/platform~chunks/settings~chunks/shared.396a9bff2ae4a21257f6.hot-update.js",
|
||||||
|
"/chunks/admin~chunks/platform~chunks/settings~chunks/shared.72d6a99137e9a4ed01bb.hot-update.js": "/chunks/admin~chunks/platform~chunks/settings~chunks/shared.72d6a99137e9a4ed01bb.hot-update.js",
|
||||||
|
"/chunks/admin~chunks/platform~chunks/settings~chunks/shared.df26a59c56db9beec4ed.hot-update.js": "/chunks/admin~chunks/platform~chunks/settings~chunks/shared.df26a59c56db9beec4ed.hot-update.js",
|
||||||
|
"/chunks/admin~chunks/platform~chunks/settings~chunks/shared.e3d459dacaeb68a390e1.hot-update.js": "/chunks/admin~chunks/platform~chunks/settings~chunks/shared.e3d459dacaeb68a390e1.hot-update.js",
|
||||||
|
"/js/main.44d8120051dc7a41f33a.hot-update.js": "/js/main.44d8120051dc7a41f33a.hot-update.js",
|
||||||
|
"/chunks/admin~chunks/platform~chunks/settings~chunks/shared.d64d6b41802b4ae6fef0.hot-update.js": "/chunks/admin~chunks/platform~chunks/settings~chunks/shared.d64d6b41802b4ae6fef0.hot-update.js",
|
||||||
|
"/chunks/admin~chunks/platform~chunks/settings~chunks/shared.b352e857a2298d7f0505.hot-update.js": "/chunks/admin~chunks/platform~chunks/settings~chunks/shared.b352e857a2298d7f0505.hot-update.js",
|
||||||
|
"/chunks/admin~chunks/platform~chunks/settings~chunks/shared.ecfc248bb5bf1e89909f.hot-update.js": "/chunks/admin~chunks/platform~chunks/settings~chunks/shared.ecfc248bb5bf1e89909f.hot-update.js",
|
||||||
|
"/chunks/admin~chunks/platform~chunks/settings~chunks/shared.72fdf5316ddcbefa9882.hot-update.js": "/chunks/admin~chunks/platform~chunks/settings~chunks/shared.72fdf5316ddcbefa9882.hot-update.js",
|
||||||
|
"/chunks/admin~chunks/platform~chunks/settings~chunks/shared.990b2941de12d5f7d299.hot-update.js": "/chunks/admin~chunks/platform~chunks/settings~chunks/shared.990b2941de12d5f7d299.hot-update.js",
|
||||||
|
"/chunks/admin~chunks/platform~chunks/settings~chunks/shared.304fdc79216e95eb6947.hot-update.js": "/chunks/admin~chunks/platform~chunks/settings~chunks/shared.304fdc79216e95eb6947.hot-update.js",
|
||||||
|
"/chunks/admin~chunks/platform~chunks/settings~chunks/shared.cbb97f0975589c439a3d.hot-update.js": "/chunks/admin~chunks/platform~chunks/settings~chunks/shared.cbb97f0975589c439a3d.hot-update.js",
|
||||||
|
"/chunks/admin~chunks/platform~chunks/settings~chunks/shared.dcc85bd474c861a823d8.hot-update.js": "/chunks/admin~chunks/platform~chunks/settings~chunks/shared.dcc85bd474c861a823d8.hot-update.js",
|
||||||
|
"/chunks/admin~chunks/platform~chunks/settings~chunks/shared.e188e4e9a9ed07fc7c0e.hot-update.js": "/chunks/admin~chunks/platform~chunks/settings~chunks/shared.e188e4e9a9ed07fc7c0e.hot-update.js",
|
||||||
|
"/chunks/admin~chunks/platform~chunks/settings~chunks/shared.96df372211f7d4aad474.hot-update.js": "/chunks/admin~chunks/platform~chunks/settings~chunks/shared.96df372211f7d4aad474.hot-update.js",
|
||||||
|
"/chunks/admin~chunks/platform~chunks/settings~chunks/shared.3f01970acd269023a6d5.hot-update.js": "/chunks/admin~chunks/platform~chunks/settings~chunks/shared.3f01970acd269023a6d5.hot-update.js",
|
||||||
|
"/chunks/admin~chunks/platform~chunks/settings~chunks/shared.f18a67f4b5adf711b3dd.hot-update.js": "/chunks/admin~chunks/platform~chunks/settings~chunks/shared.f18a67f4b5adf711b3dd.hot-update.js",
|
||||||
|
"/chunks/admin~chunks/platform~chunks/settings~chunks/shared.ba1a7531003d6ebb15fc.hot-update.js": "/chunks/admin~chunks/platform~chunks/settings~chunks/shared.ba1a7531003d6ebb15fc.hot-update.js",
|
||||||
|
"/chunks/admin~chunks/platform~chunks/settings~chunks/shared.bdd0682e09d141c67888.hot-update.js": "/chunks/admin~chunks/platform~chunks/settings~chunks/shared.bdd0682e09d141c67888.hot-update.js",
|
||||||
|
"/chunks/admin~chunks/platform~chunks/settings~chunks/shared.a0f1c5f90162d3cd4376.hot-update.js": "/chunks/admin~chunks/platform~chunks/settings~chunks/shared.a0f1c5f90162d3cd4376.hot-update.js",
|
||||||
|
"/chunks/admin~chunks/platform~chunks/settings~chunks/shared.2a24f210a85b0e61a5c7.hot-update.js": "/chunks/admin~chunks/platform~chunks/settings~chunks/shared.2a24f210a85b0e61a5c7.hot-update.js",
|
||||||
|
"/chunks/admin~chunks/platform~chunks/settings~chunks/shared.87b8aeba7521c53b2896.hot-update.js": "/chunks/admin~chunks/platform~chunks/settings~chunks/shared.87b8aeba7521c53b2896.hot-update.js",
|
||||||
|
"/chunks/admin~chunks/platform~chunks/settings~chunks/shared.38525792aaaa823c3c3d.hot-update.js": "/chunks/admin~chunks/platform~chunks/settings~chunks/shared.38525792aaaa823c3c3d.hot-update.js",
|
||||||
|
"/chunks/admin~chunks/platform~chunks/settings~chunks/shared.9adced39db1daee74932.hot-update.js": "/chunks/admin~chunks/platform~chunks/settings~chunks/shared.9adced39db1daee74932.hot-update.js",
|
||||||
|
"/chunks/admin~chunks/platform~chunks/settings~chunks/shared.c146320be9189fa9cce0.hot-update.js": "/chunks/admin~chunks/platform~chunks/settings~chunks/shared.c146320be9189fa9cce0.hot-update.js",
|
||||||
|
"/chunks/admin~chunks/platform~chunks/settings~chunks/shared.9e2bcecbf5f70bfcc9f9.hot-update.js": "/chunks/admin~chunks/platform~chunks/settings~chunks/shared.9e2bcecbf5f70bfcc9f9.hot-update.js",
|
||||||
|
"/chunks/admin~chunks/platform~chunks/settings~chunks/shared.7cc1a03657bb91d4df22.hot-update.js": "/chunks/admin~chunks/platform~chunks/settings~chunks/shared.7cc1a03657bb91d4df22.hot-update.js",
|
||||||
|
"/chunks/admin~chunks/platform~chunks/settings~chunks/shared.bbc267e432b1189932f2.hot-update.js": "/chunks/admin~chunks/platform~chunks/settings~chunks/shared.bbc267e432b1189932f2.hot-update.js",
|
||||||
|
"/chunks/admin~chunks/platform~chunks/settings~chunks/shared.515aaebadc6480669239.hot-update.js": "/chunks/admin~chunks/platform~chunks/settings~chunks/shared.515aaebadc6480669239.hot-update.js",
|
||||||
|
"/chunks/admin~chunks/platform~chunks/settings~chunks/shared.1438b868e8fbaa979555.hot-update.js": "/chunks/admin~chunks/platform~chunks/settings~chunks/shared.1438b868e8fbaa979555.hot-update.js",
|
||||||
|
"/chunks/admin~chunks/platform~chunks/settings~chunks/shared.aa507369871b5140b7fd.hot-update.js": "/chunks/admin~chunks/platform~chunks/settings~chunks/shared.aa507369871b5140b7fd.hot-update.js",
|
||||||
|
"/chunks/admin~chunks/platform~chunks/settings~chunks/shared.901226584dece51117bc.hot-update.js": "/chunks/admin~chunks/platform~chunks/settings~chunks/shared.901226584dece51117bc.hot-update.js",
|
||||||
|
"/chunks/admin~chunks/platform~chunks/settings~chunks/shared.dd2215415140b81a1e6b.hot-update.js": "/chunks/admin~chunks/platform~chunks/settings~chunks/shared.dd2215415140b81a1e6b.hot-update.js",
|
||||||
|
"/chunks/admin~chunks/platform~chunks/settings~chunks/shared.4030fb0869d6d9fcd33a.hot-update.js": "/chunks/admin~chunks/platform~chunks/settings~chunks/shared.4030fb0869d6d9fcd33a.hot-update.js",
|
||||||
|
"/chunks/admin~chunks/platform~chunks/settings~chunks/shared.d171d0b55ce7cfbe8f5d.hot-update.js": "/chunks/admin~chunks/platform~chunks/settings~chunks/shared.d171d0b55ce7cfbe8f5d.hot-update.js",
|
||||||
|
"/chunks/admin~chunks/platform~chunks/settings~chunks/shared.396cd949ab2f34383c83.hot-update.js": "/chunks/admin~chunks/platform~chunks/settings~chunks/shared.396cd949ab2f34383c83.hot-update.js",
|
||||||
|
"/chunks/admin~chunks/platform~chunks/settings~chunks/shared.4e5b057c5a0858adedd7.hot-update.js": "/chunks/admin~chunks/platform~chunks/settings~chunks/shared.4e5b057c5a0858adedd7.hot-update.js",
|
||||||
|
"/chunks/admin~chunks/platform~chunks/settings~chunks/shared.39f5cb14a7fdaccf456e.hot-update.js": "/chunks/admin~chunks/platform~chunks/settings~chunks/shared.39f5cb14a7fdaccf456e.hot-update.js",
|
||||||
|
"/chunks/admin~chunks/platform~chunks/settings~chunks/shared.d93327343f01dadbf766.hot-update.js": "/chunks/admin~chunks/platform~chunks/settings~chunks/shared.d93327343f01dadbf766.hot-update.js",
|
||||||
|
"/chunks/admin~chunks/platform~chunks/settings~chunks/shared.34073bd7451cd028eeeb.hot-update.js": "/chunks/admin~chunks/platform~chunks/settings~chunks/shared.34073bd7451cd028eeeb.hot-update.js",
|
||||||
|
"/chunks/admin~chunks/platform~chunks/settings~chunks/shared.79793b1a3e8b02748360.hot-update.js": "/chunks/admin~chunks/platform~chunks/settings~chunks/shared.79793b1a3e8b02748360.hot-update.js",
|
||||||
|
"/chunks/admin~chunks/platform~chunks/settings~chunks/shared.c4468d56649a7d036d81.hot-update.js": "/chunks/admin~chunks/platform~chunks/settings~chunks/shared.c4468d56649a7d036d81.hot-update.js",
|
||||||
|
"/chunks/admin~chunks/platform~chunks/settings~chunks/shared.1dd981c186f166605de5.hot-update.js": "/chunks/admin~chunks/platform~chunks/settings~chunks/shared.1dd981c186f166605de5.hot-update.js",
|
||||||
|
"/chunks/admin~chunks/platform~chunks/settings~chunks/shared.4a9f5bd48463e75f7fe5.hot-update.js": "/chunks/admin~chunks/platform~chunks/settings~chunks/shared.4a9f5bd48463e75f7fe5.hot-update.js",
|
||||||
|
"/chunks/admin~chunks/platform~chunks/settings~chunks/shared.1aa10f8d144adc6c0a7c.hot-update.js": "/chunks/admin~chunks/platform~chunks/settings~chunks/shared.1aa10f8d144adc6c0a7c.hot-update.js",
|
||||||
|
"/chunks/admin~chunks/platform~chunks/settings~chunks/shared.9d5879a598633bb12062.hot-update.js": "/chunks/admin~chunks/platform~chunks/settings~chunks/shared.9d5879a598633bb12062.hot-update.js",
|
||||||
|
"/chunks/admin~chunks/platform~chunks/settings~chunks/shared.1e6d62cd377fa9588add.hot-update.js": "/chunks/admin~chunks/platform~chunks/settings~chunks/shared.1e6d62cd377fa9588add.hot-update.js",
|
||||||
|
"/chunks/admin~chunks/platform~chunks/settings~chunks/shared.b6fea23bd5d07611d36b.hot-update.js": "/chunks/admin~chunks/platform~chunks/settings~chunks/shared.b6fea23bd5d07611d36b.hot-update.js",
|
||||||
|
"/chunks/admin~chunks/platform~chunks/settings~chunks/shared.fb6cd3560e6ca0204031.hot-update.js": "/chunks/admin~chunks/platform~chunks/settings~chunks/shared.fb6cd3560e6ca0204031.hot-update.js",
|
||||||
|
"/chunks/admin~chunks/platform~chunks/settings~chunks/shared.87c3752b7d730d4f9e10.hot-update.js": "/chunks/admin~chunks/platform~chunks/settings~chunks/shared.87c3752b7d730d4f9e10.hot-update.js",
|
||||||
|
"/chunks/admin~chunks/platform~chunks/settings~chunks/shared.eb576a141e4bc3c7ab77.hot-update.js": "/chunks/admin~chunks/platform~chunks/settings~chunks/shared.eb576a141e4bc3c7ab77.hot-update.js",
|
||||||
|
"/chunks/admin~chunks/platform~chunks/settings~chunks/shared.f7f228d153f10301949b.hot-update.js": "/chunks/admin~chunks/platform~chunks/settings~chunks/shared.f7f228d153f10301949b.hot-update.js",
|
||||||
|
"/chunks/admin~chunks/platform~chunks/settings~chunks/shared.755082c2473d38272972.hot-update.js": "/chunks/admin~chunks/platform~chunks/settings~chunks/shared.755082c2473d38272972.hot-update.js",
|
||||||
|
"/chunks/admin~chunks/platform~chunks/settings~chunks/shared.a93c78c9209e4fe3d529.hot-update.js": "/chunks/admin~chunks/platform~chunks/settings~chunks/shared.a93c78c9209e4fe3d529.hot-update.js",
|
||||||
|
"/chunks/admin~chunks/platform~chunks/settings~chunks/shared.0e9069abc2c8d159352c.hot-update.js": "/chunks/admin~chunks/platform~chunks/settings~chunks/shared.0e9069abc2c8d159352c.hot-update.js",
|
||||||
|
"/chunks/admin~chunks/platform~chunks/settings~chunks/shared.3f744857d8bc2aead3ec.hot-update.js": "/chunks/admin~chunks/platform~chunks/settings~chunks/shared.3f744857d8bc2aead3ec.hot-update.js",
|
||||||
|
"/chunks/admin~chunks/platform~chunks/settings~chunks/shared.bf1efc860e1d7f90d5e9.hot-update.js": "/chunks/admin~chunks/platform~chunks/settings~chunks/shared.bf1efc860e1d7f90d5e9.hot-update.js",
|
||||||
|
"/chunks/admin~chunks/platform~chunks/settings~chunks/shared.5713849fe9098559da51.hot-update.js": "/chunks/admin~chunks/platform~chunks/settings~chunks/shared.5713849fe9098559da51.hot-update.js",
|
||||||
|
"/chunks/admin~chunks/platform~chunks/settings~chunks/shared.62e8fb2df62505cfe2ac.hot-update.js": "/chunks/admin~chunks/platform~chunks/settings~chunks/shared.62e8fb2df62505cfe2ac.hot-update.js",
|
||||||
|
"/chunks/admin~chunks/platform~chunks/settings~chunks/shared.1765aff14daeb24cb5b2.hot-update.js": "/chunks/admin~chunks/platform~chunks/settings~chunks/shared.1765aff14daeb24cb5b2.hot-update.js",
|
||||||
|
"/chunks/admin~chunks/platform~chunks/settings~chunks/shared.0c36d5f0407498374a92.hot-update.js": "/chunks/admin~chunks/platform~chunks/settings~chunks/shared.0c36d5f0407498374a92.hot-update.js",
|
||||||
|
"/chunks/admin~chunks/platform~chunks/settings~chunks/shared.61d728f0b787dbde63b8.hot-update.js": "/chunks/admin~chunks/platform~chunks/settings~chunks/shared.61d728f0b787dbde63b8.hot-update.js",
|
||||||
|
"/chunks/admin~chunks/platform~chunks/settings~chunks/shared.39eaff1e0ea0140c1c4d.hot-update.js": "/chunks/admin~chunks/platform~chunks/settings~chunks/shared.39eaff1e0ea0140c1c4d.hot-update.js",
|
||||||
|
"/chunks/admin~chunks/platform~chunks/settings~chunks/shared.61c44bef008d848de6a7.hot-update.js": "/chunks/admin~chunks/platform~chunks/settings~chunks/shared.61c44bef008d848de6a7.hot-update.js",
|
||||||
|
"/chunks/admin~chunks/platform~chunks/settings~chunks/shared.1a44f19e880a8aa0ef67.hot-update.js": "/chunks/admin~chunks/platform~chunks/settings~chunks/shared.1a44f19e880a8aa0ef67.hot-update.js",
|
||||||
|
"/chunks/admin~chunks/platform~chunks/settings~chunks/shared.0e9e89a73bd6b4bee722.hot-update.js": "/chunks/admin~chunks/platform~chunks/settings~chunks/shared.0e9e89a73bd6b4bee722.hot-update.js",
|
||||||
|
"/js/main.f92c449bccf41bf0647c.hot-update.js": "/js/main.f92c449bccf41bf0647c.hot-update.js",
|
||||||
|
"/chunks/admin~chunks/files~chunks/my-shared-items~chunks/platform~chunks/recent-uploads~chunks/settin~97130d1f.f92c449bccf41bf0647c.hot-update.js": "/chunks/admin~chunks/files~chunks/my-shared-items~chunks/platform~chunks/recent-uploads~chunks/settin~97130d1f.f92c449bccf41bf0647c.hot-update.js",
|
||||||
|
"/chunks/admin~chunks/platform~chunks/settings~chunks/shared.f92c449bccf41bf0647c.hot-update.js": "/chunks/admin~chunks/platform~chunks/settings~chunks/shared.f92c449bccf41bf0647c.hot-update.js",
|
||||||
|
"/chunks/files~chunks/invitation~chunks/my-shared-items~chunks/platform~chunks/recent-uploads~chunks/s~2b8a6d63.js": "/chunks/files~chunks/invitation~chunks/my-shared-items~chunks/platform~chunks/recent-uploads~chunks/s~2b8a6d63.js?id=ff48ff79f23356ba54ab",
|
||||||
|
"/chunks/files~chunks/my-shared-items~chunks/platform~chunks/recent-uploads~chunks/shared~chunks/share~1d1c0998.js": "/chunks/files~chunks/my-shared-items~chunks/platform~chunks/recent-uploads~chunks/shared~chunks/share~1d1c0998.js?id=748d3700db1581078bb2",
|
||||||
|
"/vendors~chunks/files~chunks/my-shared-items~chunks/platform~chunks/recent-uploads~chunks/shared~chun~107ba2cd.js": "/vendors~chunks/files~chunks/my-shared-items~chunks/platform~chunks/recent-uploads~chunks/shared~chun~107ba2cd.js?id=554ab0c269227dc38c53",
|
||||||
|
"/js/main.8950f08de1cde332eae0.hot-update.js": "/js/main.8950f08de1cde332eae0.hot-update.js",
|
||||||
|
"/chunks/admin~chunks/platform~chunks/settings~chunks/shared.8950f08de1cde332eae0.hot-update.js": "/chunks/admin~chunks/platform~chunks/settings~chunks/shared.8950f08de1cde332eae0.hot-update.js",
|
||||||
|
"/chunks/files~chunks/my-shared-items~chunks/recent-uploads~chunks/shared-with-me~chunks/shared/files~~34b5eb22.8950f08de1cde332eae0.hot-update.js": "/chunks/files~chunks/my-shared-items~chunks/recent-uploads~chunks/shared-with-me~chunks/shared/files~~34b5eb22.8950f08de1cde332eae0.hot-update.js",
|
||||||
|
"/chunks/files~chunks/my-shared-items~chunks/recent-uploads~chunks/shared-with-me~chunks/shared/files~~bf3ddedc.8950f08de1cde332eae0.hot-update.js": "/chunks/files~chunks/my-shared-items~chunks/recent-uploads~chunks/shared-with-me~chunks/shared/files~~bf3ddedc.8950f08de1cde332eae0.hot-update.js",
|
||||||
|
"/chunks/settings.8950f08de1cde332eae0.hot-update.js": "/chunks/settings.8950f08de1cde332eae0.hot-update.js",
|
||||||
|
"/chunks/admin~chunks/platform~chunks/settings~chunks/shared.7a57f3e62ea9ce720b0f.hot-update.js": "/chunks/admin~chunks/platform~chunks/settings~chunks/shared.7a57f3e62ea9ce720b0f.hot-update.js",
|
||||||
|
"/chunks/admin~chunks/platform~chunks/settings~chunks/shared.b30c73845752fcab49d3.hot-update.js": "/chunks/admin~chunks/platform~chunks/settings~chunks/shared.b30c73845752fcab49d3.hot-update.js",
|
||||||
|
"/chunks/admin~chunks/platform~chunks/settings~chunks/shared.4b6541f279f2c64b07bc.hot-update.js": "/chunks/admin~chunks/platform~chunks/settings~chunks/shared.4b6541f279f2c64b07bc.hot-update.js",
|
||||||
|
"/chunks/admin~chunks/platform~chunks/settings~chunks/shared.56dfcd5e837f21e851dd.hot-update.js": "/chunks/admin~chunks/platform~chunks/settings~chunks/shared.56dfcd5e837f21e851dd.hot-update.js",
|
||||||
|
"/chunks/admin~chunks/platform~chunks/settings~chunks/shared.83d8d7a630c3da0300cc.hot-update.js": "/chunks/admin~chunks/platform~chunks/settings~chunks/shared.83d8d7a630c3da0300cc.hot-update.js",
|
||||||
|
"/chunks/admin~chunks/platform~chunks/settings~chunks/shared.618d5aa99da8b43566b4.hot-update.js": "/chunks/admin~chunks/platform~chunks/settings~chunks/shared.618d5aa99da8b43566b4.hot-update.js",
|
||||||
|
"/chunks/admin~chunks/platform~chunks/settings~chunks/shared.061241da6133df7eeed2.hot-update.js": "/chunks/admin~chunks/platform~chunks/settings~chunks/shared.061241da6133df7eeed2.hot-update.js",
|
||||||
|
"/chunks/admin~chunks/platform~chunks/settings~chunks/shared.64098b2bb40b245ace5b.hot-update.js": "/chunks/admin~chunks/platform~chunks/settings~chunks/shared.64098b2bb40b245ace5b.hot-update.js",
|
||||||
|
"/chunks/admin~chunks/platform~chunks/settings~chunks/shared.1004de4f303edde62e10.hot-update.js": "/chunks/admin~chunks/platform~chunks/settings~chunks/shared.1004de4f303edde62e10.hot-update.js",
|
||||||
|
"/chunks/admin~chunks/platform~chunks/settings~chunks/shared.d721682ac3baf662c65f.hot-update.js": "/chunks/admin~chunks/platform~chunks/settings~chunks/shared.d721682ac3baf662c65f.hot-update.js",
|
||||||
|
"/chunks/admin~chunks/platform~chunks/settings~chunks/shared.f6ced9cea0e8b039408f.hot-update.js": "/chunks/admin~chunks/platform~chunks/settings~chunks/shared.f6ced9cea0e8b039408f.hot-update.js",
|
||||||
|
"/chunks/admin~chunks/platform~chunks/settings~chunks/shared.45ad09eca7ab9b5a4902.hot-update.js": "/chunks/admin~chunks/platform~chunks/settings~chunks/shared.45ad09eca7ab9b5a4902.hot-update.js",
|
||||||
|
"/chunks/admin~chunks/platform~chunks/settings~chunks/shared.b7608e3734f5b2272e3b.hot-update.js": "/chunks/admin~chunks/platform~chunks/settings~chunks/shared.b7608e3734f5b2272e3b.hot-update.js",
|
||||||
|
"/chunks/admin~chunks/platform~chunks/settings~chunks/shared.3f07a877d9fbfc540efa.hot-update.js": "/chunks/admin~chunks/platform~chunks/settings~chunks/shared.3f07a877d9fbfc540efa.hot-update.js",
|
||||||
|
"/chunks/admin~chunks/platform~chunks/settings~chunks/shared.0d780b7abe18b64745a2.hot-update.js": "/chunks/admin~chunks/platform~chunks/settings~chunks/shared.0d780b7abe18b64745a2.hot-update.js",
|
||||||
|
"/chunks/admin~chunks/platform~chunks/settings~chunks/shared.5174a73a92a2898a62ee.hot-update.js": "/chunks/admin~chunks/platform~chunks/settings~chunks/shared.5174a73a92a2898a62ee.hot-update.js",
|
||||||
|
"/chunks/admin~chunks/platform~chunks/settings~chunks/shared.827ab430e28c3bc94b23.hot-update.js": "/chunks/admin~chunks/platform~chunks/settings~chunks/shared.827ab430e28c3bc94b23.hot-update.js",
|
||||||
|
"/chunks/admin~chunks/platform~chunks/settings~chunks/shared.14e50cf30355f32fa7fb.hot-update.js": "/chunks/admin~chunks/platform~chunks/settings~chunks/shared.14e50cf30355f32fa7fb.hot-update.js",
|
||||||
|
"/chunks/admin~chunks/platform~chunks/settings~chunks/shared.3ef4ce97bd1e46bb1418.hot-update.js": "/chunks/admin~chunks/platform~chunks/settings~chunks/shared.3ef4ce97bd1e46bb1418.hot-update.js",
|
||||||
|
"/chunks/admin~chunks/platform~chunks/settings~chunks/shared.51a47398de17ab340164.hot-update.js": "/chunks/admin~chunks/platform~chunks/settings~chunks/shared.51a47398de17ab340164.hot-update.js",
|
||||||
|
"/chunks/admin~chunks/platform~chunks/settings~chunks/shared.8628b0ca7fcb26d509f7.hot-update.js": "/chunks/admin~chunks/platform~chunks/settings~chunks/shared.8628b0ca7fcb26d509f7.hot-update.js",
|
||||||
|
"/chunks/admin~chunks/platform~chunks/settings~chunks/shared.ea427be60da62144f062.hot-update.js": "/chunks/admin~chunks/platform~chunks/settings~chunks/shared.ea427be60da62144f062.hot-update.js",
|
||||||
|
"/chunks/admin~chunks/platform~chunks/settings~chunks/shared.74cae51abdd499bf7b89.hot-update.js": "/chunks/admin~chunks/platform~chunks/settings~chunks/shared.74cae51abdd499bf7b89.hot-update.js",
|
||||||
|
"/chunks/admin~chunks/platform~chunks/settings~chunks/shared.7e57121e8835d6c7f647.hot-update.js": "/chunks/admin~chunks/platform~chunks/settings~chunks/shared.7e57121e8835d6c7f647.hot-update.js",
|
||||||
|
"/chunks/admin~chunks/platform~chunks/settings~chunks/shared.5654ee5cfa8f852a7145.hot-update.js": "/chunks/admin~chunks/platform~chunks/settings~chunks/shared.5654ee5cfa8f852a7145.hot-update.js",
|
||||||
|
"/chunks/admin~chunks/platform~chunks/settings~chunks/shared.1056e6b1f9edc8cb19b3.hot-update.js": "/chunks/admin~chunks/platform~chunks/settings~chunks/shared.1056e6b1f9edc8cb19b3.hot-update.js",
|
||||||
|
"/chunks/admin~chunks/platform~chunks/settings~chunks/shared.4f34def8ee1373a44087.hot-update.js": "/chunks/admin~chunks/platform~chunks/settings~chunks/shared.4f34def8ee1373a44087.hot-update.js",
|
||||||
|
"/chunks/admin~chunks/platform~chunks/settings~chunks/shared.bfa8a444e437bbe00b2d.hot-update.js": "/chunks/admin~chunks/platform~chunks/settings~chunks/shared.bfa8a444e437bbe00b2d.hot-update.js",
|
||||||
|
"/chunks/admin~chunks/platform~chunks/settings~chunks/shared.da4d18b7713fbae0a237.hot-update.js": "/chunks/admin~chunks/platform~chunks/settings~chunks/shared.da4d18b7713fbae0a237.hot-update.js",
|
||||||
|
"/chunks/admin~chunks/platform~chunks/settings~chunks/shared.90c492eee6138b91f403.hot-update.js": "/chunks/admin~chunks/platform~chunks/settings~chunks/shared.90c492eee6138b91f403.hot-update.js",
|
||||||
|
"/chunks/admin~chunks/platform~chunks/settings~chunks/shared.1b7df3530194fece6803.hot-update.js": "/chunks/admin~chunks/platform~chunks/settings~chunks/shared.1b7df3530194fece6803.hot-update.js",
|
||||||
|
"/chunks/admin~chunks/platform~chunks/settings~chunks/shared.6fa36bf530067ff07190.hot-update.js": "/chunks/admin~chunks/platform~chunks/settings~chunks/shared.6fa36bf530067ff07190.hot-update.js",
|
||||||
|
"/chunks/admin~chunks/platform~chunks/settings~chunks/shared.539892acdf80f0b78f23.hot-update.js": "/chunks/admin~chunks/platform~chunks/settings~chunks/shared.539892acdf80f0b78f23.hot-update.js",
|
||||||
|
"/chunks/admin~chunks/platform~chunks/settings~chunks/shared.d03da4b30b6de5609440.hot-update.js": "/chunks/admin~chunks/platform~chunks/settings~chunks/shared.d03da4b30b6de5609440.hot-update.js",
|
||||||
|
"/chunks/admin~chunks/platform~chunks/settings~chunks/shared.6879835a015a490a9881.hot-update.js": "/chunks/admin~chunks/platform~chunks/settings~chunks/shared.6879835a015a490a9881.hot-update.js",
|
||||||
|
"/chunks/admin~chunks/platform~chunks/settings~chunks/shared.3544eb71ccf22e7922d1.hot-update.js": "/chunks/admin~chunks/platform~chunks/settings~chunks/shared.3544eb71ccf22e7922d1.hot-update.js",
|
||||||
|
"/chunks/admin~chunks/platform~chunks/settings~chunks/shared.89ba9aca2275722becad.hot-update.js": "/chunks/admin~chunks/platform~chunks/settings~chunks/shared.89ba9aca2275722becad.hot-update.js",
|
||||||
|
"/js/main.ce4f98f8440ca4659d10.hot-update.js": "/js/main.ce4f98f8440ca4659d10.hot-update.js",
|
||||||
|
"/chunks/admin~chunks/platform~chunks/settings~chunks/shared.68c6d60f97e08e0472af.hot-update.js": "/chunks/admin~chunks/platform~chunks/settings~chunks/shared.68c6d60f97e08e0472af.hot-update.js",
|
||||||
|
"/chunks/admin~chunks/platform~chunks/settings~chunks/shared.a33385a915fb0532520d.hot-update.js": "/chunks/admin~chunks/platform~chunks/settings~chunks/shared.a33385a915fb0532520d.hot-update.js",
|
||||||
|
"/chunks/admin~chunks/platform~chunks/settings~chunks/shared.5d3237c07cb6778c2ea3.hot-update.js": "/chunks/admin~chunks/platform~chunks/settings~chunks/shared.5d3237c07cb6778c2ea3.hot-update.js",
|
||||||
|
"/chunks/admin~chunks/platform~chunks/settings~chunks/shared.46a38807c51300cc0081.hot-update.js": "/chunks/admin~chunks/platform~chunks/settings~chunks/shared.46a38807c51300cc0081.hot-update.js",
|
||||||
|
"/chunks/admin~chunks/platform~chunks/settings~chunks/shared.367bec824e423220aaf7.hot-update.js": "/chunks/admin~chunks/platform~chunks/settings~chunks/shared.367bec824e423220aaf7.hot-update.js",
|
||||||
|
"/chunks/admin~chunks/platform~chunks/settings~chunks/shared.94f1e73db33c504f4402.hot-update.js": "/chunks/admin~chunks/platform~chunks/settings~chunks/shared.94f1e73db33c504f4402.hot-update.js",
|
||||||
|
"/chunks/admin~chunks/platform~chunks/settings~chunks/shared.d5b3ea799a3f05e6326c.hot-update.js": "/chunks/admin~chunks/platform~chunks/settings~chunks/shared.d5b3ea799a3f05e6326c.hot-update.js"
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,14 +1,14 @@
|
|||||||
<template>
|
<template>
|
||||||
<div
|
<div
|
||||||
v-if="isVisible"
|
v-if="isVisible"
|
||||||
@keyup.esc="exit"
|
@keyup.esc="exitSpotlight"
|
||||||
tabindex="-1"
|
tabindex="-1"
|
||||||
class="md:absolute fixed w-full h-full dark:bg-dark-foreground md:bg-transparent bg-white md:z-auto z-50"
|
class="md:absolute fixed w-full h-full dark:bg-dark-foreground md:bg-transparent bg-white md:z-auto z-50"
|
||||||
>
|
>
|
||||||
<div class="relative w-full md:max-w-xl z-50 md:rounded-xl mx-auto 2xl:mt-20 md:mt-8 overflow-y-auto bg-white dark:bg-dark-foreground">
|
<div class="relative w-full md:max-w-xl z-50 md:rounded-xl mx-auto 2xl:mt-20 md:mt-8 overflow-y-auto bg-white dark:bg-dark-foreground">
|
||||||
|
|
||||||
<!--Query bar-->
|
<!--Query bar-->
|
||||||
<div class="z-50 flex items-center p-5 mx-auto">
|
<div class="z-50 flex items-center px-5 py-4 mx-auto">
|
||||||
<div class="relative mr-4">
|
<div class="relative mr-4">
|
||||||
<div v-if="isLoading" class="spinner-icon transform scale-50 origin-center translate-y-2.5">
|
<div v-if="isLoading" class="spinner-icon transform scale-50 origin-center translate-y-2.5">
|
||||||
<Spinner />
|
<Spinner />
|
||||||
@@ -16,10 +16,19 @@
|
|||||||
<search-icon :class="{'opacity-0': isLoading}" size="22" class="magnify dark-text-theme text-theme vue-feather" />
|
<search-icon :class="{'opacity-0': isLoading}" size="22" class="magnify dark-text-theme text-theme vue-feather" />
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
<!--Filter-->
|
||||||
|
<div v-if="activeFilter" @click="removeFilter" class="bg-light-background rounded-lg px-2 py-1 mr-3 flex items-center cursor-pointer">
|
||||||
|
<b class="font-bold pr-1.5 text-sm">
|
||||||
|
{{ activeFilter }}
|
||||||
|
</b>
|
||||||
|
<x-icon size="12" />
|
||||||
|
</div>
|
||||||
|
|
||||||
<!--Text search field-->
|
<!--Text search field-->
|
||||||
<input
|
<input
|
||||||
class="w-full border-none text-xl font-semibold placeholder-gray-700 dark:placeholder-gray-400 bg-transparent focus:outline-none"
|
class="w-full border-none text-xl font-semibold placeholder-gray-700 dark:placeholder-gray-400 bg-transparent focus:outline-none"
|
||||||
v-model="query"
|
v-model="query"
|
||||||
|
@keydown.delete="undoFilter"
|
||||||
@keydown.enter="showSelected"
|
@keydown.enter="showSelected"
|
||||||
@keydown.meta="proceedToSelect"
|
@keydown.meta="proceedToSelect"
|
||||||
@keyup.down="onPageDown"
|
@keyup.down="onPageDown"
|
||||||
@@ -35,7 +44,7 @@
|
|||||||
</div>
|
</div>
|
||||||
|
|
||||||
<!--Mobile close icon-->
|
<!--Mobile close icon-->
|
||||||
<div v-if="$isMobile()" @click="exit" class="cursor-pointer">
|
<div v-if="$isMobile()" @click="exitSpotlight" class="cursor-pointer">
|
||||||
<x-icon size="22" class="close" />
|
<x-icon size="22" class="close" />
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
@@ -44,15 +53,37 @@
|
|||||||
<div v-if="isNotEmptyQuery" class="spotlight-results relative z-50 px-4 pb-4">
|
<div v-if="isNotEmptyQuery" class="spotlight-results relative z-50 px-4 pb-4">
|
||||||
|
|
||||||
<!--Show results-->
|
<!--Show results-->
|
||||||
<div v-if="results.length !== 0" v-for="(item, i) in results" :key="item.data.id" class="relative">
|
<div v-if="results.length !== 0" v-for="(result, i) in results" :key="result.data.id" class="relative">
|
||||||
|
|
||||||
|
<!--Users result-->
|
||||||
|
<div
|
||||||
|
v-if="activeFilter === 'users'"
|
||||||
|
:class="{'dark:bg-2x-dark-foreground bg-light-background rounded-xl': i === index}"
|
||||||
|
class="flex items-center px-2.5 py-3.5"
|
||||||
|
>
|
||||||
|
<MemberAvatar
|
||||||
|
:is-border="false"
|
||||||
|
:size="44"
|
||||||
|
:member="result"
|
||||||
|
/>
|
||||||
|
<div class="ml-3">
|
||||||
|
<b class="text-sm font-bold block max-w-1 overflow-hidden overflow-ellipsis whitespace-nowrap" style="max-width: 155px;">
|
||||||
|
{{ result.data.attributes.name }}
|
||||||
|
</b>
|
||||||
|
<span class="block text-xs dark:text-gray-500 text-gray-600">
|
||||||
|
{{ result.data.attributes.email }}
|
||||||
|
</span>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
<!--Item result-->
|
<!--Item result-->
|
||||||
<ItemList
|
<ItemList
|
||||||
:entry="item"
|
v-if="! activeFilter"
|
||||||
|
:entry="result"
|
||||||
:class="{'dark:bg-2x-dark-foreground bg-light-background rounded-xl': i === index}"
|
:class="{'dark:bg-2x-dark-foreground bg-light-background rounded-xl': i === index}"
|
||||||
:highlight="false"
|
:highlight="false"
|
||||||
:mobile-handler="false"
|
:mobile-handler="false"
|
||||||
@click.native="openItem(item)"
|
@click.native="openItem(result)"
|
||||||
/>
|
/>
|
||||||
|
|
||||||
<!--Keyboard shortcut hint-->
|
<!--Keyboard shortcut hint-->
|
||||||
@@ -72,16 +103,18 @@
|
|||||||
|
|
||||||
<script>
|
<script>
|
||||||
import Spinner from '/resources/js/components/FilesView/Spinner'
|
import Spinner from '/resources/js/components/FilesView/Spinner'
|
||||||
|
import MemberAvatar from "../FilesView/MemberAvatar"
|
||||||
import {SearchIcon, XIcon} from 'vue-feather-icons'
|
import {SearchIcon, XIcon} from 'vue-feather-icons'
|
||||||
import ItemList from "../FilesView/ItemList"
|
import ItemList from "../FilesView/ItemList"
|
||||||
import {events} from '/resources/js/bus'
|
import {events} from '/resources/js/bus'
|
||||||
import {debounce} from 'lodash';
|
import {mapGetters} from 'vuex'
|
||||||
import axios from "axios";
|
import {debounce} from 'lodash'
|
||||||
import {mapGetters} from "vuex";
|
import axios from "axios"
|
||||||
|
|
||||||
export default {
|
export default {
|
||||||
name: 'Spotlight',
|
name: 'Spotlight',
|
||||||
components: {
|
components: {
|
||||||
|
MemberAvatar,
|
||||||
SearchIcon,
|
SearchIcon,
|
||||||
ItemList,
|
ItemList,
|
||||||
Spinner,
|
Spinner,
|
||||||
@@ -91,6 +124,9 @@ export default {
|
|||||||
...mapGetters([
|
...mapGetters([
|
||||||
'user'
|
'user'
|
||||||
]),
|
]),
|
||||||
|
isAdmin() {
|
||||||
|
return this.user.data.attributes.role === 'admin'
|
||||||
|
},
|
||||||
metaKeyIcon() {
|
metaKeyIcon() {
|
||||||
return this.$isApple() ? '⌘' : 'alt'
|
return this.$isApple() ? '⌘' : 'alt'
|
||||||
},
|
},
|
||||||
@@ -99,16 +135,28 @@ export default {
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
watch: {
|
watch: {
|
||||||
query(val) {
|
query(query) {
|
||||||
if (val === '' || typeof val === 'undefined')
|
if (query === '' || typeof query === 'undefined')
|
||||||
this.results = []
|
this.results = []
|
||||||
|
|
||||||
|
// Reset selection index
|
||||||
this.index = 0
|
this.index = 0
|
||||||
this.searchFiles(val)
|
|
||||||
|
// Go for filter keyword
|
||||||
|
let getFilterQuery = query.substr(0, 2)
|
||||||
|
|
||||||
|
// search for the users
|
||||||
|
if (getFilterQuery === 'u ' && this.isAdmin && ! this.activeFilter) {
|
||||||
|
this.setFilter('users')
|
||||||
|
}
|
||||||
|
|
||||||
|
this.findResult(query)
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
data() {
|
data() {
|
||||||
return {
|
return {
|
||||||
|
activeFilter: undefined,
|
||||||
|
backspaceHits: 0,
|
||||||
isVisible: false,
|
isVisible: false,
|
||||||
isLoading: false,
|
isLoading: false,
|
||||||
results: [],
|
results: [],
|
||||||
@@ -117,6 +165,28 @@ export default {
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
methods: {
|
methods: {
|
||||||
|
undoFilter() {
|
||||||
|
if (this.activeFilter && this.query === '' && this.backspaceHits !== 2) {
|
||||||
|
this.backspaceHits++
|
||||||
|
}
|
||||||
|
|
||||||
|
if (this.backspaceHits === 2) {
|
||||||
|
this.removeFilter()
|
||||||
|
}
|
||||||
|
},
|
||||||
|
setFilter(filter) {
|
||||||
|
// Set active filter
|
||||||
|
this.activeFilter = filter
|
||||||
|
|
||||||
|
// Set default values
|
||||||
|
this.results = []
|
||||||
|
this.query = ''
|
||||||
|
},
|
||||||
|
removeFilter() {
|
||||||
|
// Set default values
|
||||||
|
this.activeFilter = undefined
|
||||||
|
this.backspaceHits = 0
|
||||||
|
},
|
||||||
proceedToSelect(e) {
|
proceedToSelect(e) {
|
||||||
// Preserve select and reload native shortcut
|
// Preserve select and reload native shortcut
|
||||||
if (!['a', 'r', 'v'].includes(e.key)) {
|
if (!['a', 'r', 'v'].includes(e.key)) {
|
||||||
@@ -131,9 +201,20 @@ export default {
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
showSelected() {
|
showSelected() {
|
||||||
let file = this.results[this.index]
|
let selectedItem = this.results[this.index]
|
||||||
|
|
||||||
this.openItem(file)
|
if (this.activeFilter === 'users') {
|
||||||
|
this.openUser(selectedItem)
|
||||||
|
}
|
||||||
|
|
||||||
|
if (! this.activeFilter) {
|
||||||
|
this.openItem(selectedItem)
|
||||||
|
}
|
||||||
|
},
|
||||||
|
openUser(user) {
|
||||||
|
this.$router.push({name: 'UserDetail', params: {id: user.data.id}})
|
||||||
|
|
||||||
|
this.exitSpotlight()
|
||||||
},
|
},
|
||||||
openItem(file) {
|
openItem(file) {
|
||||||
|
|
||||||
@@ -162,7 +243,7 @@ export default {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
this.exit()
|
this.exitSpotlight()
|
||||||
},
|
},
|
||||||
onPageDown() {
|
onPageDown() {
|
||||||
if (this.index < (this.results.length - 1))
|
if (this.index < (this.results.length - 1))
|
||||||
@@ -171,7 +252,7 @@ export default {
|
|||||||
onPageUp() {
|
onPageUp() {
|
||||||
if (this.index > 0) this.index--
|
if (this.index > 0) this.index--
|
||||||
},
|
},
|
||||||
searchFiles: debounce(function (value) {
|
findResult: debounce(function (value) {
|
||||||
// Prevent empty searching
|
// Prevent empty searching
|
||||||
if (value === '' || typeof value === 'undefined') return
|
if (value === '' || typeof value === 'undefined') return
|
||||||
|
|
||||||
@@ -192,20 +273,28 @@ export default {
|
|||||||
}
|
}
|
||||||
|
|
||||||
axios
|
axios
|
||||||
.get(route, {
|
.get(`${route}?filter=${this.activeFilter}`, {
|
||||||
params: {query: value}
|
params: {query: value}
|
||||||
})
|
})
|
||||||
.then(response => {
|
.then(response => {
|
||||||
let files = response.data.files.data
|
|
||||||
let folders = response.data.folders.data
|
|
||||||
|
|
||||||
this.results = folders.concat(files)
|
// Show user result
|
||||||
|
if (this.activeFilter === 'users') {
|
||||||
|
this.results = response.data.data
|
||||||
|
}
|
||||||
|
|
||||||
|
// Show file result
|
||||||
|
if (! this.activeFilter) {
|
||||||
|
let files = response.data.files.data
|
||||||
|
let folders = response.data.folders.data
|
||||||
|
|
||||||
|
this.results = folders.concat(files)
|
||||||
|
}
|
||||||
})
|
})
|
||||||
.catch(() => this.$isSomethingWrong())
|
.catch(() => this.$isSomethingWrong())
|
||||||
.finally(() => this.isLoading = false)
|
.finally(() => this.isLoading = false)
|
||||||
|
|
||||||
}, 150),
|
}, 150),
|
||||||
exit() {
|
exitSpotlight() {
|
||||||
this.results = []
|
this.results = []
|
||||||
this.query = ''
|
this.query = ''
|
||||||
this.isVisible = false
|
this.isVisible = false
|
||||||
@@ -219,7 +308,7 @@ export default {
|
|||||||
this.$nextTick(() => this.$refs.searchInput.focus())
|
this.$nextTick(() => this.$refs.searchInput.focus())
|
||||||
})
|
})
|
||||||
|
|
||||||
events.$on('spotlight:hide', () => this.exit())
|
events.$on('spotlight:hide', () => this.exitSpotlight())
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
</script>
|
</script>
|
||||||
|
|||||||
@@ -14,6 +14,7 @@ use Domain\Browsing\Controllers\BrowseFolderController;
|
|||||||
use Domain\Sharing\Controllers\ShareViaEmailController;
|
use Domain\Sharing\Controllers\ShareViaEmailController;
|
||||||
use Domain\Folders\Controllers\NavigationTreeController;
|
use Domain\Folders\Controllers\NavigationTreeController;
|
||||||
use Domain\Items\Controllers\MoveFileOrFolderController;
|
use Domain\Items\Controllers\MoveFileOrFolderController;
|
||||||
|
use Domain\Browsing\Controllers\SpotlightSearchController;
|
||||||
use Domain\Items\Controllers\DeleteFileOrFolderController;
|
use Domain\Items\Controllers\DeleteFileOrFolderController;
|
||||||
use Domain\Items\Controllers\RenameFileOrFolderController;
|
use Domain\Items\Controllers\RenameFileOrFolderController;
|
||||||
use Domain\Settings\Controllers\GetSettingsValueController;
|
use Domain\Settings\Controllers\GetSettingsValueController;
|
||||||
@@ -22,7 +23,6 @@ use Domain\Browsing\Controllers\BrowseLatestFilesController;
|
|||||||
use Domain\Browsing\Controllers\BrowseSharedItemsController;
|
use Domain\Browsing\Controllers\BrowseSharedItemsController;
|
||||||
use Domain\Browsing\Controllers\BrowseTrashContentController;
|
use Domain\Browsing\Controllers\BrowseTrashContentController;
|
||||||
use Domain\Homepage\Controllers\SendContactMessageController;
|
use Domain\Homepage\Controllers\SendContactMessageController;
|
||||||
use Domain\Browsing\Controllers\SearchFilesAndFoldersController;
|
|
||||||
|
|
||||||
// Pages
|
// Pages
|
||||||
Route::apiResource('/page', PagesController::class);
|
Route::apiResource('/page', PagesController::class);
|
||||||
@@ -46,7 +46,7 @@ Route::group(['middleware' => ['auth:sanctum']], function () {
|
|||||||
Route::group(['prefix' => 'browse'], function () {
|
Route::group(['prefix' => 'browse'], function () {
|
||||||
Route::get('/folders/{id}', BrowseFolderController::class);
|
Route::get('/folders/{id}', BrowseFolderController::class);
|
||||||
Route::get('/navigation', NavigationTreeController::class);
|
Route::get('/navigation', NavigationTreeController::class);
|
||||||
Route::get('/search', SearchFilesAndFoldersController::class);
|
Route::get('/search', SpotlightSearchController::class);
|
||||||
Route::get('/latest', BrowseLatestFilesController::class);
|
Route::get('/latest', BrowseLatestFilesController::class);
|
||||||
Route::get('/trash/{id}', BrowseTrashContentController::class);
|
Route::get('/trash/{id}', BrowseTrashContentController::class);
|
||||||
Route::get('/share', BrowseSharedItemsController::class);
|
Route::get('/share', BrowseSharedItemsController::class);
|
||||||
|
|||||||
@@ -134,7 +134,7 @@ class User extends Authenticatable implements MustVerifyEmail
|
|||||||
|
|
||||||
public function settings(): HasOne
|
public function settings(): HasOne
|
||||||
{
|
{
|
||||||
return $this->hasOne(UserSettings::class);
|
return $this->hasOne(UserSetting::class);
|
||||||
}
|
}
|
||||||
|
|
||||||
public function limitations(): HasOne
|
public function limitations(): HasOne
|
||||||
|
|||||||
@@ -1,16 +1,26 @@
|
|||||||
<?php
|
<?php
|
||||||
namespace App\Users\Models;
|
namespace App\Users\Models;
|
||||||
|
|
||||||
|
use Illuminate\Support\Str;
|
||||||
|
use Laravel\Scout\Searchable;
|
||||||
use Illuminate\Database\Eloquent\Model;
|
use Illuminate\Database\Eloquent\Model;
|
||||||
use Illuminate\Support\Facades\Storage;
|
use Illuminate\Support\Facades\Storage;
|
||||||
|
use TeamTNT\TNTSearch\Indexer\TNTIndexer;
|
||||||
|
use Illuminate\Database\Eloquent\Relations\HasOne;
|
||||||
|
|
||||||
class UserSettings extends Model
|
class UserSetting extends Model
|
||||||
{
|
{
|
||||||
|
use Searchable;
|
||||||
|
|
||||||
public $timestamps = false;
|
public $timestamps = false;
|
||||||
|
|
||||||
protected $guarded = [
|
protected $guarded = [];
|
||||||
'id',
|
|
||||||
];
|
public $incrementing = false;
|
||||||
|
|
||||||
|
protected $keyType = 'string';
|
||||||
|
|
||||||
|
protected $table = 'user_settings';
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Format avatar to full url
|
* Format avatar to full url
|
||||||
@@ -44,12 +54,40 @@ class UserSettings extends Model
|
|||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public function user(): HasOne
|
||||||
|
{
|
||||||
|
return $this->hasOne(User::class, 'id', 'user_id');
|
||||||
|
}
|
||||||
|
|
||||||
|
public function toSearchableArray(): array
|
||||||
|
{
|
||||||
|
$name = mb_convert_encoding(
|
||||||
|
mb_strtolower($this->name, 'UTF-8'),
|
||||||
|
'UTF-8'
|
||||||
|
);
|
||||||
|
|
||||||
|
$nameNgrams = (new TNTIndexer)
|
||||||
|
->buildTrigrams(implode(', ', [$name]));
|
||||||
|
|
||||||
|
$emailNgrams = (new TNTIndexer)
|
||||||
|
->buildTrigrams(implode(', ', [$this->user->email]));
|
||||||
|
|
||||||
|
return [
|
||||||
|
'id' => $this->id,
|
||||||
|
'name' => $name,
|
||||||
|
'nameNgrams' => $nameNgrams,
|
||||||
|
'email' => $this->user->email,
|
||||||
|
'emailNgrams' => $emailNgrams,
|
||||||
|
];
|
||||||
|
}
|
||||||
|
|
||||||
protected static function boot()
|
protected static function boot()
|
||||||
{
|
{
|
||||||
parent::boot();
|
parent::boot();
|
||||||
|
|
||||||
static::creating(function ($user) {
|
static::creating(function ($user) {
|
||||||
$user->color = ['#9ad2bf', '#9ad2cd', '#d29a9a', '#d2ce9a', '#9aadd2', '#c59ad2'][rand(0, 4)];
|
$user->id = Str::uuid();
|
||||||
|
$user->color = ['#9ad2bf', '#9ad2cd', '#d29a9a', '#d2ce9a', '#9aadd2', '#c59ad2'][rand(0, 5)];
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
29
src/App/Users/Resources/UserMinimalResource.php
Normal file
29
src/App/Users/Resources/UserMinimalResource.php
Normal file
@@ -0,0 +1,29 @@
|
|||||||
|
<?php
|
||||||
|
namespace App\Users\Resources;
|
||||||
|
|
||||||
|
use Illuminate\Http\Resources\Json\JsonResource;
|
||||||
|
|
||||||
|
class UserMinimalResource extends JsonResource
|
||||||
|
{
|
||||||
|
/**
|
||||||
|
* Transform the resource into an array.
|
||||||
|
*
|
||||||
|
* @param \Illuminate\Http\Request $request
|
||||||
|
* @return array
|
||||||
|
*/
|
||||||
|
public function toArray($request)
|
||||||
|
{
|
||||||
|
return [
|
||||||
|
'data' => [
|
||||||
|
'id' => $this->id,
|
||||||
|
'type' => 'users',
|
||||||
|
'attributes' => [
|
||||||
|
'avatar' => $this->settings->avatar,
|
||||||
|
'name' => $this->settings->name,
|
||||||
|
'color' => $this->settings->color,
|
||||||
|
'email' => $this->email,
|
||||||
|
],
|
||||||
|
],
|
||||||
|
];
|
||||||
|
}
|
||||||
|
}
|
||||||
22
src/App/Users/Resources/UsersMinimalCollection.php
Normal file
22
src/App/Users/Resources/UsersMinimalCollection.php
Normal file
@@ -0,0 +1,22 @@
|
|||||||
|
<?php
|
||||||
|
namespace App\Users\Resources;
|
||||||
|
|
||||||
|
use Illuminate\Http\Resources\Json\ResourceCollection;
|
||||||
|
|
||||||
|
class UsersMinimalCollection extends ResourceCollection
|
||||||
|
{
|
||||||
|
public $collects = UserMinimalResource::class;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Transform the resource collection into an array.
|
||||||
|
*
|
||||||
|
* @param \Illuminate\Http\Request $request
|
||||||
|
* @return array
|
||||||
|
*/
|
||||||
|
public function toArray($request)
|
||||||
|
{
|
||||||
|
return [
|
||||||
|
'data' => $this->collection,
|
||||||
|
];
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -2,26 +2,57 @@
|
|||||||
namespace Domain\Browsing\Controllers;
|
namespace Domain\Browsing\Controllers;
|
||||||
|
|
||||||
use DB;
|
use DB;
|
||||||
|
use App\Users\Models\User;
|
||||||
use Illuminate\Support\Arr;
|
use Illuminate\Support\Arr;
|
||||||
use Domain\Files\Models\File;
|
use Domain\Files\Models\File;
|
||||||
|
use App\Users\Models\UserSetting;
|
||||||
use Domain\Folders\Models\Folder;
|
use Domain\Folders\Models\Folder;
|
||||||
use Illuminate\Support\Facades\Auth;
|
use Illuminate\Support\Facades\Auth;
|
||||||
use Domain\Items\Requests\SearchRequest;
|
use Domain\Items\Requests\SearchRequest;
|
||||||
use Domain\Files\Resources\FilesCollection;
|
use Domain\Files\Resources\FilesCollection;
|
||||||
use Domain\Folders\Resources\FolderCollection;
|
use Domain\Folders\Resources\FolderCollection;
|
||||||
|
use App\Users\Resources\UsersMinimalCollection;
|
||||||
|
|
||||||
class SearchFilesAndFoldersController
|
class SpotlightSearchController
|
||||||
{
|
{
|
||||||
public function __invoke(
|
public function __invoke(
|
||||||
SearchRequest $request
|
SearchRequest $request
|
||||||
): array {
|
): UsersMinimalCollection|array {
|
||||||
$user_id = Auth::id();
|
|
||||||
|
|
||||||
// Prepare queries
|
// Prepare queries
|
||||||
$query = remove_accents(
|
$query = remove_accents(
|
||||||
$request->input('query')
|
$request->input('query')
|
||||||
);
|
);
|
||||||
|
|
||||||
|
// Search users
|
||||||
|
if ($request->get('filter') === 'users') {
|
||||||
|
return $this->searchUsers($query);
|
||||||
|
}
|
||||||
|
|
||||||
|
// Search files
|
||||||
|
return $this->searchFiles($query);
|
||||||
|
}
|
||||||
|
|
||||||
|
private function searchUsers($query): UsersMinimalCollection
|
||||||
|
{
|
||||||
|
// Prevent to show non admin user searching
|
||||||
|
if (Auth::user()->role !== 'admin') {
|
||||||
|
abort(401);
|
||||||
|
}
|
||||||
|
|
||||||
|
// Get user ids
|
||||||
|
$results = UserSetting::search($query)
|
||||||
|
->get()
|
||||||
|
->pluck('user_id');
|
||||||
|
|
||||||
|
return new UsersMinimalCollection(
|
||||||
|
User::find($results)
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
|
private function searchFiles(string $query): array
|
||||||
|
{
|
||||||
|
$user_id = Auth::id();
|
||||||
|
|
||||||
// Get "shared with me" folders
|
// Get "shared with me" folders
|
||||||
$sharedWithMeFolderIds = DB::table('team_folder_members')
|
$sharedWithMeFolderIds = DB::table('team_folder_members')
|
||||||
->where('user_id', $user_id)
|
->where('user_id', $user_id)
|
||||||
Reference in New Issue
Block a user