mirror of https://github.com/rancher/ui.git
48 lines
1019 B
JavaScript
48 lines
1019 B
JavaScript
import Component from '@ember/component';
|
|
import layout from './template';
|
|
import ModalBase from 'shared/mixins/modal-base';
|
|
import { get, computed, set } from '@ember/object';
|
|
import { parseSi } from 'shared/utils/parse-unit';
|
|
|
|
export default Component.extend(ModalBase, {
|
|
layout,
|
|
|
|
classNames: ['medium-modal'],
|
|
|
|
model: null,
|
|
|
|
didReceiveAttrs() {
|
|
const model = get(this, 'modalOpts.model').clone();
|
|
|
|
set(this, 'model', model);
|
|
},
|
|
|
|
actions: {
|
|
save(cb) {
|
|
get(this, 'model').save().then(() => {
|
|
this.send('cancel');
|
|
}).finally(() => {
|
|
cb();
|
|
});
|
|
},
|
|
},
|
|
|
|
storage: computed('model.resources.requests.storage', {
|
|
get() {
|
|
const capacity = get(this, 'model.resources.requests.storage');
|
|
const bytes = parseSi(capacity);
|
|
const gib = bytes / (1024 ** 3);
|
|
|
|
return gib;
|
|
},
|
|
set(key, value) {
|
|
const { resources } = this.model;
|
|
|
|
set(resources, 'requests.storage', `${ value }Gi`);
|
|
|
|
return value;
|
|
},
|
|
}),
|
|
|
|
});
|