import {_} from 'common'; import ko from 'ko'; import Utils from 'Common/Utils'; import {AbstractComponent} from 'Component/Abstract'; class AbstracRadio extends AbstractComponent { /** * @param {Object} params */ constructor(params) { super(); this.values = ko.observableArray([]); this.value = params.value; if (Utils.isUnd(this.value) || !this.value.subscribe) { this.value = ko.observable(''); } this.inline = Utils.isUnd(params.inline) ? false : params.inline; this.readOnly = Utils.isUnd(params.readOnly) ? false : !!params.readOnly; if (params.values) { this.values(_.map(params.values, (label, value) => { return { 'label': label, 'value': value }; })); } this.click = _.bind(this.click, this); } click(value) { if (!this.readOnly && value) { this.value(value.value); } }; } export {AbstracRadio, AbstracRadio as default};