mirror of https://github.com/rancher/ui.git
56 lines
1.4 KiB
JavaScript
56 lines
1.4 KiB
JavaScript
import Component from '@ember/component';
|
|
import layout from './template';
|
|
import { set } from '@ember/object';
|
|
import { next } from '@ember/runloop';
|
|
import { isEmpty } from '@ember/utils';
|
|
import { observer } from '@ember/object';
|
|
import { on } from '@ember/object/evented';
|
|
import { inject as service } from '@ember/service'
|
|
|
|
const DEFAULT_PRIVATE_CONFIG = {
|
|
enablePrivateEndpoint: false,
|
|
enablePrivateNodes: false,
|
|
masterIpv4CidrBlock: null,
|
|
};
|
|
|
|
export default Component.extend({
|
|
settings: service(),
|
|
layout,
|
|
|
|
config: null,
|
|
mode: 'new',
|
|
isNew: true,
|
|
editing: false,
|
|
defaultConfig: DEFAULT_PRIVATE_CONFIG,
|
|
|
|
enablePrivateNodesChanged: on('init', observer('config.enablePrivateNodes', function() {
|
|
if (this.isDestroyed || this.isDestroying) {
|
|
return;
|
|
}
|
|
|
|
const { config } = this;
|
|
const {
|
|
enablePrivateEndpoint,
|
|
masterIpv4CidrBlock,
|
|
} = this.defaultConfig;
|
|
|
|
|
|
if (this.isNew && !config?.enablePrivateNodes) {
|
|
next(this, () => {
|
|
if (this.isDestroyed || this.isDestroying) {
|
|
return;
|
|
}
|
|
|
|
if (!config.enablePrivateNodes) {
|
|
set(this, 'config.enablePrivateEndpoint', enablePrivateEndpoint);
|
|
}
|
|
|
|
if (!isEmpty(config.masterIpv4CidrBlock)) {
|
|
set(this, 'config.masterIpv4CidrBlock', masterIpv4CidrBlock);
|
|
}
|
|
});
|
|
}
|
|
}))
|
|
|
|
});
|