diff --git a/lib/Controller/JsController.php b/lib/Controller/JsController.php index 2a3231f..32cd630 100644 --- a/lib/Controller/JsController.php +++ b/lib/Controller/JsController.php @@ -162,10 +162,10 @@ class JsController extends Controller 'side-with-categories' => $this->config->getAppValueBool('side-with-categories', '0'), 'big-menu' => $this->config->getAppValueBool('big-menu', '0'), 'big-menu-hidden-apps' => $this->config->getAppValueArray('big-menu-hidden-apps', '[]'), + 'apps-order' => $this->config->getAppValueArray('apps-order', '[]'), 'avatar' => $avatar, 'top-menu-apps' => $topMenuApps, 'top-side-menu-apps' => $topSideMenuApps, - 'top-menu-apps-order' => $topMenuAppsOrder, 'target-blank-apps' => $targetBlankApps, 'settings' => $settings, 'logo' => $this->themingDefaults->getLogo(), diff --git a/lib/Service/AppRepository.php b/lib/Service/AppRepository.php index d507d63..2ae59d5 100644 --- a/lib/Service/AppRepository.php +++ b/lib/Service/AppRepository.php @@ -98,10 +98,6 @@ class AppRepository } } - usort($visibleApps, function ($a, $b) { - return ($a['name'] < $b['name']) ? -1 : 1; - }); - return $visibleApps; } @@ -114,10 +110,10 @@ class AppRepository ); } - public function getTopMenuOrderedApps() + public function getOrderedApps() { $apps = $this->getVisibleApps(); - $orders = $this->config->getAppValueArray('top-menu-apps-order', '[]'); + $orders = $this->config->getAppValueArray('apps-order', '[]'); usort($apps, function ($a, $b) use ($orders) { $ak = array_keys($orders, $a['id'])[0] ?? null; diff --git a/src/AppMenu.vue b/src/AppMenu.vue index 015f8af..20fc9db 100644 --- a/src/AppMenu.vue +++ b/src/AppMenu.vue @@ -82,7 +82,7 @@ export default { this.apps = {} let orders = {} - Array.from(window.topMenuAppsOrder).forEach((app, order) => { + window.menuAppsOrder.forEach((app, order) => { orders[app] = order + 1 }) diff --git a/src/admin.js b/src/admin.js index e2f38be..66fb71d 100644 --- a/src/admin.js +++ b/src/admin.js @@ -159,9 +159,15 @@ document.addEventListener('DOMContentLoaded', () => { const target = event.target const values = JSON.parse(target.getAttribute('data-reset')) + target.classList.toggle('btn-reset--progress', true) + for (let i in values) { document.querySelector(`#${i}`).value = values[i] } + + window.setTimeout(() => { + target.classList.toggle('btn-reset--progress', false) + }, 800) }) } @@ -249,7 +255,6 @@ document.addEventListener('DOMContentLoaded', () => { let value = [] for (let item of document.querySelectorAll('#categories-list .side-menu-setting-list-item')) { - console.log(item.getAttribute('data-id')) value.push(item.getAttribute('data-id')) } @@ -258,20 +263,19 @@ document.addEventListener('DOMContentLoaded', () => { } catch (e) { } - sortable('#top-menu-apps-order-list .side-menu-setting-list', { + sortable('#apps-order-list .side-menu-setting-list', { placeholderClass: 'side-menu-setting-list-drop' }) try { - sortable('#top-menu-apps-order-list .side-menu-setting-list')[0].addEventListener('sortstop', (e) => { + sortable('#apps-order-list .side-menu-setting-list')[0].addEventListener('sortstop', (e) => { let value = [] - for (let item of document.querySelectorAll('#top-menu-apps-order-list .side-menu-setting-list-item')) { - console.log(item.getAttribute('data-id')) + for (let item of document.querySelectorAll('#apps-order-list .side-menu-setting-list-item')) { value.push(item.getAttribute('data-id')) } - document.querySelector('input[name="top-menu-apps-order"]').value = JSON.stringify(value) + document.querySelector('input[name="apps-order"]').value = JSON.stringify(value) }) } catch (e) { } diff --git a/templates/js/script.php b/templates/js/script.php index 9911141..797f013 100644 --- a/templates/js/script.php +++ b/templates/js/script.php @@ -25,8 +25,8 @@ if ($_['always-displayed']) { const targetBlankApps = window.topMenuApps = - window.topMenuAppsOrder = - window.topSideMenuApps = + window.topSideMenuApps = + window.menuAppsOrder = sideMenu.setAttribute('data-bigmenu', '1') diff --git a/templates/settings/admin-form.php b/templates/settings/admin-form.php index 1769bdb..5a55946 100644 --- a/templates/settings/admin-form.php +++ b/templates/settings/admin-form.php @@ -839,19 +839,19 @@ $labelReset = 'Reset to default';
t('Customize sorting')); ?> -
- - t('This feature is not compatible with big menu and with categories displays.'); ?> -
- + 🖱️ t($labelShowHideApps)); ?> -