@alihbuzaid/ember-ui
Version:
Fleetbase UI provides all the interface components, helpers, services and utilities for building a Fleetbase extension into the Console.
56 lines (42 loc) • 1.31 kB
JavaScript
import Component from '@glimmer/component';
import { tracked } from '@glimmer/tracking';
import { action } from '@ember/object';
export default class ArrayInputComponent extends Component {
data = [];
disabled = false;
constructor(owner, { data = [], disabled = false }) {
super(...arguments);
this.data = data;
this.disabled = disabled;
}
onChange(index, event) {
const value = event?.target?.value;
if (value) {
this.inputDatum(index, value);
}
}
onPaste(index, event) {
const value = event?.target?.value;
if (value) {
this.inputDatum(index, value);
}
}
inputDatum(index, input) {
this.data[index] = input;
if (typeof this.args.onDataChanged === 'function') {
this.args.onDataChanged(this.data);
}
}
addData() {
this.data.pushObject('');
if (typeof this.args.onDataChanged === 'function') {
this.args.onDataChanged(this.data);
}
}
removeData(index) {
this.data.removeAt(index);
if (typeof this.args.onDataChanged === 'function') {
this.args.onDataChanged(this.data);
}
}
}