mirror of https://github.com/rancher/ui.git
62 lines
1.8 KiB
JavaScript
62 lines
1.8 KiB
JavaScript
import Component from '@ember/component';
|
|
import layout from './template';
|
|
import { get, set } from '@ember/object';
|
|
import { next } from '@ember/runloop';
|
|
import { isEmpty } from '@ember/utils';
|
|
|
|
export default Component.extend({
|
|
layout,
|
|
showAddCloudCredential: null,
|
|
region: null, // only used a passthrough for the amazon region so the region selection can happen in cloud creds rather than have the markup on both pages
|
|
hideSave: false,
|
|
cloudCredentials: null,
|
|
driverName: null,
|
|
primaryResource: null,
|
|
finishAndSelectCloudCredential: null,
|
|
progressStep: null,
|
|
cancel: null,
|
|
|
|
createLabel: 'saveCancel.create',
|
|
savingLabel: 'generic.loading',
|
|
mode: 'new',
|
|
|
|
init() {
|
|
this._super(...arguments);
|
|
|
|
this.initSingleOrAddCredential();
|
|
},
|
|
|
|
actions: {
|
|
doneSavingCloudCredential(cred) {
|
|
if (cred) {
|
|
get(this, 'finishAndSelectCloudCredential')(cred)
|
|
|
|
set(this, 'showAddCloudCredential', false);
|
|
}
|
|
},
|
|
addCloudCredential() {
|
|
set(this, 'showAddCloudCredential', true);
|
|
},
|
|
cancleNewCloudCredential() {
|
|
set(this, 'showAddCloudCredential', false);
|
|
},
|
|
},
|
|
|
|
initSingleOrAddCredential() {
|
|
let { cloudCredentials = [], primaryResource } = this;
|
|
let singleCloudCredentialId = get((cloudCredentials || []), 'firstObject.id') || null;
|
|
|
|
if (isEmpty(get(this, 'cloudCredentials'))) {
|
|
next(() => {
|
|
set(this, 'showAddCloudCredential', true);
|
|
});
|
|
}
|
|
|
|
next(() => {
|
|
if (primaryResource && !primaryResource.cloudCredentialId) {
|
|
set(this, 'primaryResource.cloudCredentialId', singleCloudCredentialId);
|
|
}
|
|
});
|
|
},
|
|
});
|