mirror of https://github.com/rancher/ui.git
78 lines
1.6 KiB
JavaScript
78 lines
1.6 KiB
JavaScript
import Ember from 'ember';
|
|
import C from 'ui/utils/constants';
|
|
|
|
export default Ember.Controller.extend({
|
|
settings: Ember.inject.service(),
|
|
|
|
queryParams: ['backToAdd'],
|
|
backToAdd: false,
|
|
|
|
errors: null,
|
|
editing: true,
|
|
saving: false,
|
|
|
|
|
|
|
|
actions: {
|
|
|
|
setActiveCatalog: function(value) {
|
|
var out = [];
|
|
Object.keys(value).forEach((item) => {
|
|
if (item) {
|
|
out.push(`${item}=${value[item]}`);
|
|
}
|
|
});
|
|
this.get('model').set('catalog', out.join(','));
|
|
},
|
|
|
|
save: function() {
|
|
var model = this.get('model');
|
|
var value = this.get('model.host');
|
|
var propsOut = {};
|
|
|
|
if (!value) {
|
|
this.set('errors', ['Please provide a DNS name or IP address.']);
|
|
return;
|
|
}
|
|
|
|
Object.keys(model).forEach((item) => {
|
|
switch (item) {
|
|
case 'host':
|
|
propsOut[C.SETTING.API_HOST] = model[item];
|
|
break;
|
|
case 'catalog':
|
|
propsOut[C.SETTING.CATALOG_URL] = model[item];
|
|
break;
|
|
case 'vm':
|
|
propsOut[C.SETTING.VM_ENABLED] = model[item];
|
|
break;
|
|
default:
|
|
break;
|
|
}
|
|
});
|
|
|
|
this.set('saving', true);
|
|
this.get('settings').setProperties(propsOut).one('settingsPromisesResolved', () => {
|
|
|
|
this.set('saving', false);
|
|
|
|
if (this.get('backToAdd')) {
|
|
|
|
this.transitionToRoute('hosts.new');
|
|
} else {
|
|
|
|
this.send('goToPrevious');
|
|
}
|
|
|
|
});
|
|
|
|
|
|
},
|
|
|
|
cancel: function() {
|
|
this.send('goToPrevious');
|
|
}
|
|
},
|
|
|
|
});
|