UNPKG

@tangential/configurable-input-widgets

Version:

Input Widgets with persistable, dynamic configuration.

42 lines 5.77 kB
import { ObjectUtil } from '@tangential/core'; //noinspection ES6PreferShortImport import { NumberType } from '../../data-type/number/number-type'; import { InputConfig } from '../../input-config'; const defaultIconCount = 5; const Model = { label: 'Rating', labelPosition: 'below', iconFont: 'material-icons', offIconNames: [ 'star_border' ], onIconNames: [ 'star' ], disabled: false, typeConfig: { _inputTypeKey: NumberType.TYPE_NAME, defaultValue: defaultIconCount - 1, min: 0, max: defaultIconCount, step: 1, decimalPlaces: 0, } }; const demoConfig = Object.assign({}, Model); export class IconRatingWidgetConfig extends InputConfig { constructor(config, key) { super(IconRatingWidgetConfig.INPUT_NAME, config || {}, key); this.typeConfig = new NumberType(this.typeConfig); if (this.typeConfig.max > 10) { this.typeConfig.max = 10; } } getDemoInstance() { return new IconRatingWidgetConfig(demoConfig); } } IconRatingWidgetConfig.$model = ObjectUtil.assignDeep({}, InputConfig.$model, Model); IconRatingWidgetConfig.INPUT_NAME = 'IconRatingWidget'; InputConfig.register(IconRatingWidgetConfig); //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaWNvbi1yYXRpbmctd2lkZ2V0LWNvbmZpZy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3RhbmdlbnRpYWwvY29uZmlndXJhYmxlLWlucHV0LXdpZGdldHMvc3JjL2xpYi93aWRnZXRzL2ljb24tcmF0aW5nLXdpZGdldC9pY29uLXJhdGluZy13aWRnZXQtY29uZmlnLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxVQUFVLEVBQUMsTUFBTSxrQkFBa0IsQ0FBQTtBQUMzQyxtQ0FBbUM7QUFDbkMsT0FBTyxFQUFDLFVBQVUsRUFBZSxNQUFNLG9DQUFvQyxDQUFBO0FBQzNFLE9BQU8sRUFBQyxXQUFXLEVBQWtCLE1BQU0sb0JBQW9CLENBQUE7QUFZL0QsTUFBTSxnQkFBZ0IsR0FBRyxDQUFDLENBQUE7QUFDMUIsTUFBTSxLQUFLLEdBQTZCO0lBQ3RDLEtBQUssRUFBVSxRQUFRO0lBQ3ZCLGFBQWEsRUFBRSxPQUFPO0lBQ3RCLFFBQVEsRUFBTyxnQkFBZ0I7SUFDL0IsWUFBWSxFQUFHO1FBQ2IsYUFBYTtLQUNkO0lBQ0QsV0FBVyxFQUFJO1FBQ2IsTUFBTTtLQUNQO0lBQ0QsUUFBUSxFQUFPLEtBQUs7SUFDcEIsVUFBVSxFQUFtQjtRQUMzQixhQUFhLEVBQUUsVUFBVSxDQUFDLFNBQVM7UUFDbkMsWUFBWSxFQUFHLGdCQUFnQixHQUFHLENBQUM7UUFDbkMsR0FBRyxFQUFZLENBQUM7UUFDaEIsR0FBRyxFQUFZLGdCQUFnQjtRQUMvQixJQUFJLEVBQVcsQ0FBQztRQUNoQixhQUFhLEVBQUUsQ0FBQztLQUNqQjtDQUNGLENBQUE7QUFFRCxNQUFNLFVBQVUsR0FBNkIsTUFBTSxDQUFDLE1BQU0sQ0FBQyxFQUFFLEVBQUUsS0FBSyxDQUFDLENBQUE7QUFFckUsTUFBTSxPQUFPLHNCQUF1QixTQUFRLFdBQVc7SUFXckQsWUFBWSxNQUFpQyxFQUFFLEdBQVk7UUFDekQsS0FBSyxDQUFDLHNCQUFzQixDQUFDLFVBQVUsRUFBRSxNQUFNLElBQUksRUFBRSxFQUFFLEdBQUcsQ0FBQyxDQUFBO1FBQzNELElBQUksQ0FBQyxVQUFVLEdBQUcsSUFBSSxVQUFVLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFBO1FBQ2pELElBQUksSUFBSSxDQUFDLFVBQVUsQ0FBQyxHQUFHLEdBQUcsRUFBRSxFQUFFO1lBQzVCLElBQUksQ0FBQyxVQUFVLENBQUMsR0FBRyxHQUFHLEVBQUUsQ0FBQTtTQUN6QjtJQUNILENBQUM7SUFFRCxlQUFlO1FBQ2IsT0FBTyxJQUFJLHNCQUFzQixDQUFDLFVBQVUsQ0FBQyxDQUFBO0lBQy9DLENBQUM7O0FBcEJlLDZCQUFNLEdBQTZCLFVBQVUsQ0FBQyxVQUFVLENBQUMsRUFBRSxFQUFFLFdBQVcsQ0FBQyxNQUFNLEVBQUUsS0FBSyxDQUFDLENBQUE7QUFDdkYsaUNBQVUsR0FBRyxrQkFBa0IsQ0FBQTtBQXVCakQsV0FBVyxDQUFDLFFBQVEsQ0FBQyxzQkFBc0IsQ0FBQyxDQUFBIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtPYmplY3RVdGlsfSBmcm9tICdAdGFuZ2VudGlhbC9jb3JlJ1xuLy9ub2luc3BlY3Rpb24gRVM2UHJlZmVyU2hvcnRJbXBvcnRcbmltcG9ydCB7TnVtYmVyVHlwZSwgTnVtYmVyVHlwZUlGfSBmcm9tICcuLi8uLi9kYXRhLXR5cGUvbnVtYmVyL251bWJlci10eXBlJ1xuaW1wb3J0IHtJbnB1dENvbmZpZywgSW5wdXRDb25maWdKc29ufSBmcm9tICcuLi8uLi9pbnB1dC1jb25maWcnXG5cblxuZXhwb3J0IGludGVyZmFjZSBJY29uUmF0aW5nV2lkZ2V0Q29uZmlnSUYgZXh0ZW5kcyBJbnB1dENvbmZpZ0pzb24ge1xuICBsYWJlbFBvc2l0aW9uPzogJ2JlZm9yZScgfCAnYWZ0ZXInIHwgJ2JlbG93J1xuICBkaXNhYmxlZD86IGJvb2xlYW5cbiAgdHlwZUNvbmZpZz86IE51bWJlclR5cGVJRlxuICBpY29uQ291bnQ/OiBudW1iZXJcbiAgaWNvbkZvbnQ/OiBzdHJpbmdcbiAgb2ZmSWNvbk5hbWVzPzogc3RyaW5nW11cbiAgb25JY29uTmFtZXM/OiBzdHJpbmdbXVxufVxuY29uc3QgZGVmYXVsdEljb25Db3VudCA9IDVcbmNvbnN0IE1vZGVsOiBJY29uUmF0aW5nV2lkZ2V0Q29uZmlnSUYgPSB7XG4gIGxhYmVsOiAgICAgICAgICdSYXRpbmcnLFxuICBsYWJlbFBvc2l0aW9uOiAnYmVsb3cnLFxuICBpY29uRm9udDogICAgICAnbWF0ZXJpYWwtaWNvbnMnLFxuICBvZmZJY29uTmFtZXM6ICBbXG4gICAgJ3N0YXJfYm9yZGVyJ1xuICBdLFxuICBvbkljb25OYW1lczogICBbXG4gICAgJ3N0YXInXG4gIF0sXG4gIGRpc2FibGVkOiAgICAgIGZhbHNlLFxuICB0eXBlQ29uZmlnOiAgICA8TnVtYmVyVHlwZUlGPntcbiAgICBfaW5wdXRUeXBlS2V5OiBOdW1iZXJUeXBlLlRZUEVfTkFNRSxcbiAgICBkZWZhdWx0VmFsdWU6ICBkZWZhdWx0SWNvbkNvdW50IC0gMSxcbiAgICBtaW46ICAgICAgICAgICAwLFxuICAgIG1heDogICAgICAgICAgIGRlZmF1bHRJY29uQ291bnQsXG4gICAgc3RlcDogICAgICAgICAgMSxcbiAgICBkZWNpbWFsUGxhY2VzOiAwLFxuICB9XG59XG5cbmNvbnN0IGRlbW9Db25maWc6IEljb25SYXRpbmdXaWRnZXRDb25maWdJRiA9IE9iamVjdC5hc3NpZ24oe30sIE1vZGVsKVxuXG5leHBvcnQgY2xhc3MgSWNvblJhdGluZ1dpZGdldENvbmZpZyBleHRlbmRzIElucHV0Q29uZmlnIGltcGxlbWVudHMgSWNvblJhdGluZ1dpZGdldENvbmZpZ0lGIHtcbiAgc3RhdGljIG92ZXJyaWRlICRtb2RlbDogSWNvblJhdGluZ1dpZGdldENvbmZpZ0lGID0gT2JqZWN0VXRpbC5hc3NpZ25EZWVwKHt9LCBJbnB1dENvbmZpZy4kbW9kZWwsIE1vZGVsKVxuICBzdGF0aWMgb3ZlcnJpZGUgSU5QVVRfTkFNRSA9ICdJY29uUmF0aW5nV2lkZ2V0J1xuICBsYWJlbFBvc2l0aW9uOiAnYmVmb3JlJyB8ICdhZnRlcicgfCAnYmVsb3cnXG4gIG92ZXJyaWRlIGRpc2FibGVkOiBib29sZWFuXG4gIG92ZXJyaWRlIHR5cGVDb25maWc6IE51bWJlclR5cGVcbiAgaWNvbkNvdW50PzogbnVtYmVyXG4gIGljb25Gb250Pzogc3RyaW5nXG4gIG9mZkljb25OYW1lcz86IHN0cmluZ1tdXG4gIG9uSWNvbk5hbWVzPzogc3RyaW5nW11cblxuICBjb25zdHJ1Y3Rvcihjb25maWc/OiBJY29uUmF0aW5nV2lkZ2V0Q29uZmlnSUYsIGtleT86IHN0cmluZykge1xuICAgIHN1cGVyKEljb25SYXRpbmdXaWRnZXRDb25maWcuSU5QVVRfTkFNRSwgY29uZmlnIHx8IHt9LCBrZXkpXG4gICAgdGhpcy50eXBlQ29uZmlnID0gbmV3IE51bWJlclR5cGUodGhpcy50eXBlQ29uZmlnKVxuICAgIGlmICh0aGlzLnR5cGVDb25maWcubWF4ID4gMTApIHtcbiAgICAgIHRoaXMudHlwZUNvbmZpZy5tYXggPSAxMFxuICAgIH1cbiAgfVxuXG4gIGdldERlbW9JbnN0YW5jZSgpOiBJbnB1dENvbmZpZ0pzb24ge1xuICAgIHJldHVybiBuZXcgSWNvblJhdGluZ1dpZGdldENvbmZpZyhkZW1vQ29uZmlnKVxuICB9XG5cbn1cblxuSW5wdXRDb25maWcucmVnaXN0ZXIoSWNvblJhdGluZ1dpZGdldENvbmZpZylcbiJdfQ==