Ver código fonte

Default Spinner can be configured through environment variables

Martin Filser 4 anos atrás
pai
commit
ba41533128

+ 3 - 1
client/components/settings/settingBody.js

@@ -1,3 +1,5 @@
+import { ALLOWED_WAIT_SPINNERS } from '/config/const';
+
 BlazeComponent.extendComponent({
   onCreated() {
     this.error = new ReactiveVar('');
@@ -390,7 +392,7 @@ Template.selectAuthenticationMethod.helpers({
 
 Template.selectSpinnerName.helpers({
   spinners() {
-    return ['Bounce', 'Wave']
+    return ALLOWED_WAIT_SPINNERS;
   },
   isSelected(match) {
     return Template.instance().data.spinnerName === match;

+ 6 - 0
client/lib/spinner.js

@@ -1,5 +1,7 @@
 Meteor.subscribe('setting');
 
+import { ALLOWED_WAIT_SPINNERS } from '/config/const';
+
 export class Spinner extends BlazeComponent {
   currentSettings() {
     return Settings.findOne();
@@ -7,6 +9,10 @@ export class Spinner extends BlazeComponent {
 
   getSpinnerName() {
     let ret = 'Bounce';
+    let defaultWaitSpinner = Meteor.settings.public.DEFAULT_WAIT_SPINNER;
+    if (defaultWaitSpinner && ALLOWED_WAIT_SPINNERS.includes(defaultWaitSpinner)) {
+      ret = defaultWaitSpinner;
+    }
     let settings = this.currentSettings();
 
     if (settings && settings.spinnerName) {

+ 4 - 0
config/const.js

@@ -49,3 +49,7 @@ export const TYPE_LINKED_BOARD = 'cardType-linkedBoard';
 export const TYPE_LINKED_CARD = 'cardType-linkedCard';
 export const TYPE_TEMPLATE_BOARD = 'template-board';
 export const TYPE_TEMPLATE_CONTAINER = 'template-container';
+export const ALLOWED_WAIT_SPINNERS = [
+  'Bounce',
+  'Wave'
+];

+ 3 - 0
server/spinner.js

@@ -0,0 +1,3 @@
+Meteor.startup(() => {
+  Meteor.settings.public.DEFAULT_WAIT_SPINNER = process.env.DEFAULT_WAIT_SPINNER;
+});