@tangential/configurable-input-widgets
Version:
Input Widgets with persistable, dynamic configuration.
27 lines • 4.11 kB
JavaScript
import { ObjectUtil } from '@tangential/core';
import { isNumeric, NumberType, NumberIval } from '../number';
import { ConfigurableInputType } from '../configurable-input-type';
const Model = {
max: null,
step: 1000,
decimalPlaces: 0,
defaultValue: 0
};
export class DurationType extends NumberType {
constructor(config, key) {
super(config || {}, key);
}
getInputTypeKey() {
return DurationType.TYPE_NAME;
}
createValue(cfg, key) {
cfg = cfg || {};
return new NumberIval({
value: isNumeric(cfg.value) ? cfg.value : this.defaultValue
}, key || this.$key);
}
}
DurationType.$model = ObjectUtil.assignDeep({}, ConfigurableInputType.$model, Model);
DurationType.TYPE_NAME = 'Duration';
ConfigurableInputType.register(DurationType);
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHVyYXRpb24tdHlwZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3RhbmdlbnRpYWwvY29uZmlndXJhYmxlLWlucHV0LXdpZGdldHMvc3JjL2xpYi9kYXRhLXR5cGUvZHVyYXRpb24vZHVyYXRpb24tdHlwZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQVksVUFBVSxFQUFDLE1BQU0sa0JBQWtCLENBQUE7QUFFdEQsT0FBTyxFQUFDLFNBQVMsRUFBRSxVQUFVLEVBQWdCLFVBQVUsRUFBZSxNQUFNLFdBQVcsQ0FBQTtBQUN2RixPQUFPLEVBQUMscUJBQXFCLEVBQUMsTUFBTSw0QkFBNEIsQ0FBQTtBQVVoRSxNQUFNLEtBQUssR0FBcUI7SUFDOUIsR0FBRyxFQUFZLElBQUk7SUFDbkIsSUFBSSxFQUFXLElBQUk7SUFDbkIsYUFBYSxFQUFFLENBQUM7SUFDaEIsWUFBWSxFQUFHLENBQUM7Q0FDakIsQ0FBQTtBQUVELE1BQU0sT0FBTyxZQUFhLFNBQVEsVUFBVTtJQVMxQyxZQUFZLE1BQXlCLEVBQUUsR0FBWTtRQUNqRCxLQUFLLENBQUMsTUFBTSxJQUFJLEVBQUUsRUFBRSxHQUFHLENBQUMsQ0FBQTtJQUMxQixDQUFDO0lBRVEsZUFBZTtRQUN0QixPQUFPLFlBQVksQ0FBQyxTQUFTLENBQUE7SUFDL0IsQ0FBQztJQUdRLFdBQVcsQ0FBQyxHQUFrQixFQUFFLEdBQVk7UUFDbkQsR0FBRyxHQUFHLEdBQUcsSUFBUyxFQUFFLENBQUE7UUFDcEIsT0FBTyxJQUFJLFVBQVUsQ0FBQztZQUNwQixLQUFLLEVBQUUsU0FBUyxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLFlBQVk7U0FDNUQsRUFBRSxHQUFHLElBQUksSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQ3ZCLENBQUM7O0FBdEJlLG1CQUFNLEdBQWlCLFVBQVUsQ0FBQyxVQUFVLENBQUMsRUFBRSxFQUFFLHFCQUFxQixDQUFDLE1BQU0sRUFBRSxLQUFLLENBQUMsQ0FBQTtBQUVyRixzQkFBUyxHQUFHLFVBQVUsQ0FBQTtBQXVCeEMscUJBQXFCLENBQUMsUUFBUSxDQUFDLFlBQVksQ0FBQyxDQUFBIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtKc29uaWZpZWQsIE9iamVjdFV0aWx9IGZyb20gJ0B0YW5nZW50aWFsL2NvcmUnXG5cbmltcG9ydCB7aXNOdW1lcmljLCBOdW1iZXJUeXBlLCBOdW1iZXJUeXBlSUYsIE51bWJlckl2YWwsIE51bWJlckl2YWxJRn0gZnJvbSAnLi4vbnVtYmVyJ1xuaW1wb3J0IHtDb25maWd1cmFibGVJbnB1dFR5cGV9IGZyb20gJy4uL2NvbmZpZ3VyYWJsZS1pbnB1dC10eXBlJ1xuXG5leHBvcnQgaW50ZXJmYWNlIER1cmF0aW9uVHlwZUpzb24gZXh0ZW5kcyBOdW1iZXJUeXBlSUYge1xuICBtaW4/OiBudW1iZXJcbiAgbWF4PzogbnVtYmVyXG4gIHN0ZXA/OiBudW1iZXJcbiAgZGVjaW1hbFBsYWNlcz86IG51bWJlclxuICBkZWZhdWx0VmFsdWU/OiBudW1iZXJcbn1cblxuY29uc3QgTW9kZWw6IER1cmF0aW9uVHlwZUpzb24gPSB7XG4gIG1heDogICAgICAgICAgIG51bGwsXG4gIHN0ZXA6ICAgICAgICAgIDEwMDAsXG4gIGRlY2ltYWxQbGFjZXM6IDAsXG4gIGRlZmF1bHRWYWx1ZTogIDBcbn1cblxuZXhwb3J0IGNsYXNzIER1cmF0aW9uVHlwZSBleHRlbmRzIE51bWJlclR5cGUgaW1wbGVtZW50cyBKc29uaWZpZWQ8RHVyYXRpb25UeXBlLCBEdXJhdGlvblR5cGVKc29uPiwgTnVtYmVyVHlwZUlGIHtcbiAgc3RhdGljIG92ZXJyaWRlICRtb2RlbDogTnVtYmVyVHlwZUlGID0gT2JqZWN0VXRpbC5hc3NpZ25EZWVwKHt9LCBDb25maWd1cmFibGVJbnB1dFR5cGUuJG1vZGVsLCBNb2RlbClcblxuICBzdGF0aWMgb3ZlcnJpZGUgVFlQRV9OQU1FID0gJ0R1cmF0aW9uJ1xuICBvdmVycmlkZSBtYXg/OiBudW1iZXJcbiAgb3ZlcnJpZGUgc3RlcD86IG51bWJlclxuICBvdmVycmlkZSBkZWNpbWFsUGxhY2VzPzogbnVtYmVyXG4gIG92ZXJyaWRlIGRlZmF1bHRWYWx1ZT86IG51bWJlclxuXG4gIGNvbnN0cnVjdG9yKGNvbmZpZz86IER1cmF0aW9uVHlwZUpzb24sIGtleT86IHN0cmluZykge1xuICAgIHN1cGVyKGNvbmZpZyB8fCB7fSwga2V5KVxuICB9XG5cbiAgb3ZlcnJpZGUgZ2V0SW5wdXRUeXBlS2V5KCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIER1cmF0aW9uVHlwZS5UWVBFX05BTUVcbiAgfVxuXG5cbiAgb3ZlcnJpZGUgY3JlYXRlVmFsdWUoY2ZnPzogTnVtYmVySXZhbElGLCBrZXk/OiBzdHJpbmcpOiBOdW1iZXJJdmFsIHtcbiAgICBjZmcgPSBjZmcgfHwgPGFueT57fVxuICAgIHJldHVybiBuZXcgTnVtYmVySXZhbCh7XG4gICAgICB2YWx1ZTogaXNOdW1lcmljKGNmZy52YWx1ZSkgPyBjZmcudmFsdWUgOiB0aGlzLmRlZmF1bHRWYWx1ZVxuICAgIH0sIGtleSB8fCB0aGlzLiRrZXkpO1xuICB9XG59XG5cbkNvbmZpZ3VyYWJsZUlucHV0VHlwZS5yZWdpc3RlcihEdXJhdGlvblR5cGUpXG4iXX0=