Browse Source

Change Admin Panel "Attachment Settings" and "Cron Settings" options to be tabs, not submenu. Part 2.

Thanks to xet7 !
Lauri Ojansivu 1 week ago
parent
commit
5a6faafa30

+ 7 - 7
client/components/settings/attachmentSettings.jade

@@ -2,27 +2,27 @@ template(name="attachmentSettings")
   .attachment-settings-content
   .attachment-settings-content
     .settings-tabs
     .settings-tabs
       ul.tab-nav
       ul.tab-nav
-        li(class="{{#if showStorageSettings.get}}active{{/if}}")
+        li(class="{{#if showStorageSettings}}active{{/if}}")
           a.js-attachment-storage-settings(data-id="storage-settings")
           a.js-attachment-storage-settings(data-id="storage-settings")
             i.fa.fa-cog
             i.fa.fa-cog
             | {{_ 'attachment-storage-settings'}}
             | {{_ 'attachment-storage-settings'}}
-        li(class="{{#if showMigration.get}}active{{/if}}")
+        li(class="{{#if showMigration}}active{{/if}}")
           a.js-attachment-migration(data-id="attachment-migration")
           a.js-attachment-migration(data-id="attachment-migration")
             i.fa.fa-arrow-right
             i.fa.fa-arrow-right
             | {{_ 'attachment-migration'}}
             | {{_ 'attachment-migration'}}
-        li(class="{{#if showMonitoring.get}}active{{/if}}")
+        li(class="{{#if showMonitoring}}active{{/if}}")
           a.js-attachment-monitoring(data-id="attachment-monitoring")
           a.js-attachment-monitoring(data-id="attachment-monitoring")
             i.fa.fa-chart-line
             i.fa.fa-chart-line
             | {{_ 'attachment-monitoring'}}
             | {{_ 'attachment-monitoring'}}
     
     
     .tab-content
     .tab-content
-      if loading.get
+      if loading
         +spinner
         +spinner
-      else if showStorageSettings.get
+      else if showStorageSettings
         +storageSettings
         +storageSettings
-      else if showMigration.get
+      else if showMigration
         +attachmentMigration
         +attachmentMigration
-      else if showMonitoring.get
+      else if showMonitoring
         +attachmentMonitoring
         +attachmentMonitoring
 
 
 template(name="storageSettings")
 template(name="storageSettings")

+ 16 - 0
client/components/settings/attachmentSettings.js

@@ -1,5 +1,21 @@
 import { ReactiveCache } from '/imports/reactiveCache';
 import { ReactiveCache } from '/imports/reactiveCache';
 import { TAPi18n } from '/imports/i18n';
 import { TAPi18n } from '/imports/i18n';
+
+// Template helpers for attachmentSettings
+Template.attachmentSettings.helpers({
+  loading() {
+    return attachmentSettings.loading.get();
+  },
+  showStorageSettings() {
+    return attachmentSettings.showStorageSettings.get();
+  },
+  showMigration() {
+    return attachmentSettings.showMigration.get();
+  },
+  showMonitoring() {
+    return attachmentSettings.showMonitoring.get();
+  }
+});
 import { Meteor } from 'meteor/meteor';
 import { Meteor } from 'meteor/meteor';
 import { Session } from 'meteor/session';
 import { Session } from 'meteor/session';
 import { Tracker } from 'meteor/tracker';
 import { Tracker } from 'meteor/tracker';

+ 9 - 9
client/components/settings/cronSettings.jade

@@ -2,33 +2,33 @@ template(name="cronSettings")
   .cron-settings-content
   .cron-settings-content
     .settings-tabs
     .settings-tabs
       ul.tab-nav
       ul.tab-nav
-        li(class="{{#if showMigrations.get}}active{{/if}}")
+        li(class="{{#if showMigrations}}active{{/if}}")
           a.js-cron-migrations(data-id="cron-migrations")
           a.js-cron-migrations(data-id="cron-migrations")
             i.fa.fa-database
             i.fa.fa-database
             | {{_ 'cron-migrations'}}
             | {{_ 'cron-migrations'}}
-        li(class="{{#if showBoardOperations.get}}active{{/if}}")
+        li(class="{{#if showBoardOperations}}active{{/if}}")
           a.js-cron-board-operations(data-id="cron-board-operations")
           a.js-cron-board-operations(data-id="cron-board-operations")
             i.fa.fa-tasks
             i.fa.fa-tasks
             | {{_ 'board-operations'}}
             | {{_ 'board-operations'}}
-        li(class="{{#if showJobs.get}}active{{/if}}")
+        li(class="{{#if showJobs}}active{{/if}}")
           a.js-cron-jobs(data-id="cron-jobs")
           a.js-cron-jobs(data-id="cron-jobs")
             i.fa.fa-clock-o
             i.fa.fa-clock-o
             | {{_ 'cron-jobs'}}
             | {{_ 'cron-jobs'}}
-        li(class="{{#if showAddJob.get}}active{{/if}}")
+        li(class="{{#if showAddJob}}active{{/if}}")
           a.js-cron-add(data-id="cron-add")
           a.js-cron-add(data-id="cron-add")
             i.fa.fa-plus
             i.fa.fa-plus
             | {{_ 'add-cron-job'}}
             | {{_ 'add-cron-job'}}
     
     
     .tab-content
     .tab-content
-      if loading.get
+      if loading
         +spinner
         +spinner
-      else if showMigrations.get
+      else if showMigrations
         +cronMigrations
         +cronMigrations
-      else if showBoardOperations.get
+      else if showBoardOperations
         +cronBoardOperations
         +cronBoardOperations
-      else if showJobs.get
+      else if showJobs
         +cronJobs
         +cronJobs
-      else if showAddJob.get
+      else if showAddJob
         +cronAddJob
         +cronAddJob
 
 
 template(name="cronMigrations")
 template(name="cronMigrations")

+ 23 - 23
client/components/settings/settingBody.jade

@@ -9,70 +9,70 @@ template(name="setting")
       .content-body
       .content-body
         .side-menu
         .side-menu
           ul
           ul
-            li(class="{{#if generalSetting.get}}active{{/if}}")
+            li(class="{{#if generalSetting}}active{{/if}}")
               a.js-setting-menu(data-id="registration-setting")
               a.js-setting-menu(data-id="registration-setting")
                 i.fa.fa-sign-in
                 i.fa.fa-sign-in
                 | {{_ 'registration'}}
                 | {{_ 'registration'}}
             unless isSandstorm
             unless isSandstorm
-              li(class="{{#if emailSetting.get}}active{{/if}}")
+              li(class="{{#if emailSetting}}active{{/if}}")
                 a.js-setting-menu(data-id="email-setting")
                 a.js-setting-menu(data-id="email-setting")
                   i.fa.fa-envelope
                   i.fa.fa-envelope
                   | {{_ 'email'}}
                   | {{_ 'email'}}
-            li(class="{{#if accountSetting.get}}active{{/if}}")
+            li(class="{{#if accountSetting}}active{{/if}}")
               a.js-setting-menu(data-id="account-setting")
               a.js-setting-menu(data-id="account-setting")
                 i.fa.fa-users
                 i.fa.fa-users
                 | {{_ 'accounts'}}
                 | {{_ 'accounts'}}
-            li(class="{{#if tableVisibilityModeSetting.get}}active{{/if}}")
+            li(class="{{#if tableVisibilityModeSetting}}active{{/if}}")
               a.js-setting-menu(data-id="tableVisibilityMode-setting")
               a.js-setting-menu(data-id="tableVisibilityMode-setting")
                 i.fa.fa-eye
                 i.fa.fa-eye
                 | {{_ 'tableVisibilityMode'}}
                 | {{_ 'tableVisibilityMode'}}
-            li(class="{{#if announcementSetting.get}}active{{/if}}")
+            li(class="{{#if announcementSetting}}active{{/if}}")
               a.js-setting-menu(data-id="announcement-setting")
               a.js-setting-menu(data-id="announcement-setting")
                 i.fa.fa-bullhorn
                 i.fa.fa-bullhorn
                 | {{_ 'admin-announcement'}}
                 | {{_ 'admin-announcement'}}
-            li(class="{{#if accessibilitySetting.get}}active{{/if}}")
+            li(class="{{#if accessibilitySetting}}active{{/if}}")
               a.js-setting-menu(data-id="accessibility-setting")
               a.js-setting-menu(data-id="accessibility-setting")
                 i.fa.fa-universal-access
                 i.fa.fa-universal-access
                 | {{_ 'accessibility'}}
                 | {{_ 'accessibility'}}
-            li(class="{{#if layoutSetting.get}}active{{/if}}")
+            li(class="{{#if layoutSetting}}active{{/if}}")
               a.js-setting-menu(data-id="layout-setting")
               a.js-setting-menu(data-id="layout-setting")
                 i.fa.fa-object-group
                 i.fa.fa-object-group
                 | {{_ 'layout'}}
                 | {{_ 'layout'}}
-            li(class="{{#if webhookSetting.get}}active{{/if}}")
+            li(class="{{#if webhookSetting}}active{{/if}}")
               a.js-setting-menu(data-id="webhook-setting")
               a.js-setting-menu(data-id="webhook-setting")
                 i.fa.fa-globe
                 i.fa.fa-globe
                 | {{_ 'global-webhook'}}
                 | {{_ 'global-webhook'}}
-            li(class="{{#if attachmentSettings.get}}active{{/if}}")
+            li(class="{{#if attachmentSettings}}active{{/if}}")
               a.js-setting-menu(data-id="attachment-settings")
               a.js-setting-menu(data-id="attachment-settings")
                 i.fa.fa-paperclip
                 i.fa.fa-paperclip
-                | {{_ 'attachment-settings'}}
-            li(class="{{#if cronSettings.get}}active{{/if}}")
+                | {{_ 'attachments'}}
+            li(class="{{#if cronSettings}}active{{/if}}")
               a.js-setting-menu(data-id="cron-settings")
               a.js-setting-menu(data-id="cron-settings")
                 i.fa.fa-clock-o
                 i.fa.fa-clock-o
-                | {{_ 'cron-settings'}}
+                | {{_ 'cron'}}
         .main-body
         .main-body
-          if loading.get
+          if loading
             +spinner
             +spinner
-          else if attachmentSettings.get
+          else if attachmentSettings
             +attachmentSettings
             +attachmentSettings
-          else if cronSettings.get
+          else if cronSettings
             +cronSettings
             +cronSettings
-          else if generalSetting.get
+          else if generalSetting
             +general
             +general
-          else if emailSetting.get
+          else if emailSetting
             unless isSandstorm
             unless isSandstorm
               +email
               +email
-          else if accountSetting.get
+          else if accountSetting
             +accountSettings
             +accountSettings
-          else if tableVisibilityModeSetting.get
+          else if tableVisibilityModeSetting
             +tableVisibilityModeSettings
             +tableVisibilityModeSettings
-          else if announcementSetting.get
+          else if announcementSetting
             +announcementSettings
             +announcementSettings
-          else if accessibilitySetting.get
+          else if accessibilitySetting
             +accessibilitySettings
             +accessibilitySettings
-          else if layoutSetting.get
+          else if layoutSetting
             +layoutSettings
             +layoutSettings
-          else if webhookSetting.get
+          else if webhookSetting
             +webhookSettings
             +webhookSettings
 
 
 template(name="webhookSettings")
 template(name="webhookSettings")

+ 48 - 0
client/components/settings/settingBody.js

@@ -3,6 +3,54 @@ import { TAPi18n } from '/imports/i18n';
 import { ALLOWED_WAIT_SPINNERS } from '/config/const';
 import { ALLOWED_WAIT_SPINNERS } from '/config/const';
 import LockoutSettings from '/models/lockoutSettings';
 import LockoutSettings from '/models/lockoutSettings';
 
 
+// Template helpers for settingBody
+Template.setting.helpers({
+  generalSetting() {
+    const instance = Template.instance();
+    return instance && instance.generalSetting ? instance.generalSetting.get() : false;
+  },
+  emailSetting() {
+    const instance = Template.instance();
+    return instance && instance.emailSetting ? instance.emailSetting.get() : false;
+  },
+  accountSetting() {
+    const instance = Template.instance();
+    return instance && instance.accountSetting ? instance.accountSetting.get() : false;
+  },
+  tableVisibilityModeSetting() {
+    const instance = Template.instance();
+    return instance && instance.tableVisibilityModeSetting ? instance.tableVisibilityModeSetting.get() : false;
+  },
+  announcementSetting() {
+    const instance = Template.instance();
+    return instance && instance.announcementSetting ? instance.announcementSetting.get() : false;
+  },
+  accessibilitySetting() {
+    const instance = Template.instance();
+    return instance && instance.accessibilitySetting ? instance.accessibilitySetting.get() : false;
+  },
+  layoutSetting() {
+    const instance = Template.instance();
+    return instance && instance.layoutSetting ? instance.layoutSetting.get() : false;
+  },
+  webhookSetting() {
+    const instance = Template.instance();
+    return instance && instance.webhookSetting ? instance.webhookSetting.get() : false;
+  },
+  attachmentSettings() {
+    const instance = Template.instance();
+    return instance && instance.attachmentSettings ? instance.attachmentSettings.get() : false;
+  },
+  cronSettings() {
+    const instance = Template.instance();
+    return instance && instance.cronSettings ? instance.cronSettings.get() : false;
+  },
+  loading() {
+    const instance = Template.instance();
+    return instance && instance.loading ? instance.loading.get() : false;
+  }
+});
+
 BlazeComponent.extendComponent({
 BlazeComponent.extendComponent({
   onCreated() {
   onCreated() {
     this.error = new ReactiveVar('');
     this.error = new ReactiveVar('');

+ 2 - 0
imports/i18n/en.i18n.json

@@ -98,6 +98,8 @@
   "migration-info-text": "Database migrations are performed once and improve system performance. The process continues in the background even if you close your browser.",
   "migration-info-text": "Database migrations are performed once and improve system performance. The process continues in the background even if you close your browser.",
   "migration-warning-text": "Please do not close your browser during migration. The process will continue in the background but may take longer to complete.",
   "migration-warning-text": "Please do not close your browser during migration. The process will continue in the background but may take longer to complete.",
   "cron-settings": "Cron Settings",
   "cron-settings": "Cron Settings",
+  "attachments": "Attachments",
+  "cron": "Cron",
   "back-to-settings": "Back to Settings",
   "back-to-settings": "Back to Settings",
   "cron-migrations": "Database Migrations",
   "cron-migrations": "Database Migrations",
   "cron-jobs": "Cron Jobs",
   "cron-jobs": "Cron Jobs",