@tangential/configurable-input-widgets
Version:
Input Widgets with persistable, dynamic configuration.
36 lines • 5.1 kB
JavaScript
import { ObjectUtil } from '@tangential/core';
import { TextType } from '../../data-type/text/text-type';
import { InputConfig } from '../../input-config';
const Model = {
label: 'Short Text',
labelPosition: 'before',
disabled: false,
typeConfig: {
_inputTypeKey: TextType.TYPE_NAME,
maxLength: 100,
defaultValue: undefined
}
};
const demoConfig = ObjectUtil.assignDeep({}, Model, {
typeConfig: {
maxLength: 100,
defaultValue: undefined
}
});
export class TextInputConfig extends InputConfig {
constructor(config, key) {
super(TextInputConfig.INPUT_NAME, config || {}, key);
this.labelPosition = 'before';
/** @todo: ggranum: Verify we need these fields (they already exist on superclass) */
this.disabled = false;
/** @todo: ggranum: Verify this change (this.typeConfig to super.typeConfig) works. */
this.typeConfig = new TextType(super.typeConfig || {});
}
getDemoInstance() {
return new TextInputConfig(demoConfig);
}
}
TextInputConfig.$model = ObjectUtil.assignDeep({}, InputConfig.$model, Model);
TextInputConfig.INPUT_NAME = 'TextInput';
InputConfig.register(TextInputConfig);
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGV4dC1pbnB1dC1jb25maWcuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90YW5nZW50aWFsL2NvbmZpZ3VyYWJsZS1pbnB1dC13aWRnZXRzL3NyYy9saWIvd2lkZ2V0cy90ZXh0LWlucHV0L3RleHQtaW5wdXQtY29uZmlnLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBWSxVQUFVLEVBQUMsTUFBTSxrQkFBa0IsQ0FBQTtBQUN0RCxPQUFPLEVBQUMsUUFBUSxFQUFhLE1BQU0sZ0NBQWdDLENBQUE7QUFDbkUsT0FBTyxFQUFDLFdBQVcsRUFBa0IsTUFBTSxvQkFBb0IsQ0FBQTtBQVMvRCxNQUFNLEtBQUssR0FBc0I7SUFDL0IsS0FBSyxFQUFVLFlBQVk7SUFDM0IsYUFBYSxFQUFFLFFBQVE7SUFDdkIsUUFBUSxFQUFPLEtBQUs7SUFDcEIsVUFBVSxFQUFLO1FBQ2IsYUFBYSxFQUFFLFFBQVEsQ0FBQyxTQUFTO1FBQ2pDLFNBQVMsRUFBTSxHQUFHO1FBQ2xCLFlBQVksRUFBRyxTQUFTO0tBQ3pCO0NBQ0YsQ0FBQTtBQUVELE1BQU0sVUFBVSxHQUFzQixVQUFVLENBQUMsVUFBVSxDQUFDLEVBQUUsRUFBRSxLQUFLLEVBQUU7SUFDckUsVUFBVSxFQUFFO1FBQ1YsU0FBUyxFQUFLLEdBQUc7UUFDakIsWUFBWSxFQUFFLFNBQVM7S0FDeEI7Q0FDRixDQUFDLENBQUE7QUFFRixNQUFNLE9BQU8sZUFBZ0IsU0FBUSxXQUFXO0lBVTlDLFlBQVksTUFBMEIsRUFBRSxHQUFZO1FBQ2xELEtBQUssQ0FBQyxlQUFlLENBQUMsVUFBVSxFQUFFLE1BQU0sSUFBSSxFQUFFLEVBQUUsR0FBRyxDQUFDLENBQUE7UUFQdEQsa0JBQWEsR0FBaUMsUUFBUSxDQUFBO1FBRXRELHFGQUFxRjtRQUM1RSxhQUFRLEdBQVksS0FBSyxDQUFBO1FBS2hDLHNGQUFzRjtRQUN0RixJQUFJLENBQUMsVUFBVSxHQUFHLElBQUksUUFBUSxDQUFDLEtBQUssQ0FBQyxVQUFVLElBQUksRUFBRSxDQUFDLENBQUE7SUFDeEQsQ0FBQztJQUVELGVBQWU7UUFDYixPQUFPLElBQUksZUFBZSxDQUFDLFVBQVUsQ0FBQyxDQUFBO0lBQ3hDLENBQUM7O0FBakJlLHNCQUFNLEdBQXNCLFVBQVUsQ0FBQyxVQUFVLENBQUMsRUFBRSxFQUFFLFdBQVcsQ0FBQyxNQUFNLEVBQUUsS0FBSyxDQUFDLENBQUE7QUFFaEYsMEJBQVUsR0FBRyxXQUFXLENBQUE7QUFtQjFDLFdBQVcsQ0FBQyxRQUFRLENBQUMsZUFBZSxDQUFDLENBQUEiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0pzb25pZmllZCwgT2JqZWN0VXRpbH0gZnJvbSAnQHRhbmdlbnRpYWwvY29yZSdcbmltcG9ydCB7VGV4dFR5cGUsIFRleHRUeXBlSUZ9IGZyb20gJy4uLy4uL2RhdGEtdHlwZS90ZXh0L3RleHQtdHlwZSdcbmltcG9ydCB7SW5wdXRDb25maWcsIElucHV0Q29uZmlnSnNvbn0gZnJvbSAnLi4vLi4vaW5wdXQtY29uZmlnJ1xuXG5cbmV4cG9ydCBpbnRlcmZhY2UgVGV4dElucHV0Q29uZmlnSUYgZXh0ZW5kcyBJbnB1dENvbmZpZ0pzb24ge1xuICBsYWJlbFBvc2l0aW9uPzogJ2JlZm9yZScgfCAnYWZ0ZXInIHwgJ2JlbG93J1xuICBkaXNhYmxlZD86IGJvb2xlYW5cbiAgdHlwZUNvbmZpZz86IFRleHRUeXBlSUZcbn1cblxuY29uc3QgTW9kZWw6IFRleHRJbnB1dENvbmZpZ0lGID0ge1xuICBsYWJlbDogICAgICAgICAnU2hvcnQgVGV4dCcsXG4gIGxhYmVsUG9zaXRpb246ICdiZWZvcmUnLFxuICBkaXNhYmxlZDogICAgICBmYWxzZSxcbiAgdHlwZUNvbmZpZzogICAge1xuICAgIF9pbnB1dFR5cGVLZXk6IFRleHRUeXBlLlRZUEVfTkFNRSxcbiAgICBtYXhMZW5ndGg6ICAgICAxMDAsXG4gICAgZGVmYXVsdFZhbHVlOiAgdW5kZWZpbmVkXG4gIH1cbn1cblxuY29uc3QgZGVtb0NvbmZpZzogVGV4dElucHV0Q29uZmlnSUYgPSBPYmplY3RVdGlsLmFzc2lnbkRlZXAoe30sIE1vZGVsLCB7XG4gIHR5cGVDb25maWc6IHtcbiAgICBtYXhMZW5ndGg6ICAgIDEwMCxcbiAgICBkZWZhdWx0VmFsdWU6IHVuZGVmaW5lZFxuICB9XG59KVxuXG5leHBvcnQgY2xhc3MgVGV4dElucHV0Q29uZmlnIGV4dGVuZHMgSW5wdXRDb25maWcgaW1wbGVtZW50cyBKc29uaWZpZWQ8VGV4dElucHV0Q29uZmlnLCBUZXh0SW5wdXRDb25maWdJRj4sIFRleHRJbnB1dENvbmZpZ0lGIHtcbiAgc3RhdGljIG92ZXJyaWRlICRtb2RlbDogVGV4dElucHV0Q29uZmlnSUYgPSBPYmplY3RVdGlsLmFzc2lnbkRlZXAoe30sIElucHV0Q29uZmlnLiRtb2RlbCwgTW9kZWwpXG5cbiAgc3RhdGljIG92ZXJyaWRlIElOUFVUX05BTUUgPSAnVGV4dElucHV0J1xuICBsYWJlbFBvc2l0aW9uOiAnYmVmb3JlJyB8ICdhZnRlcicgfCAnYmVsb3cnID0gJ2JlZm9yZSdcblxuICAvKiogQHRvZG86IGdncmFudW06IFZlcmlmeSB3ZSBuZWVkIHRoZXNlIGZpZWxkcyAodGhleSBhbHJlYWR5IGV4aXN0IG9uIHN1cGVyY2xhc3MpICovXG4gIG92ZXJyaWRlIGRpc2FibGVkOiBib29sZWFuID0gZmFsc2VcbiAgb3ZlcnJpZGUgdHlwZUNvbmZpZzogVGV4dFR5cGVcblxuICBjb25zdHJ1Y3Rvcihjb25maWc/OiBUZXh0SW5wdXRDb25maWdJRiwga2V5Pzogc3RyaW5nKSB7XG4gICAgc3VwZXIoVGV4dElucHV0Q29uZmlnLklOUFVUX05BTUUsIGNvbmZpZyB8fCB7fSwga2V5KVxuICAgIC8qKiBAdG9kbzogZ2dyYW51bTogVmVyaWZ5IHRoaXMgY2hhbmdlICh0aGlzLnR5cGVDb25maWcgdG8gc3VwZXIudHlwZUNvbmZpZykgd29ya3MuICovXG4gICAgdGhpcy50eXBlQ29uZmlnID0gbmV3IFRleHRUeXBlKHN1cGVyLnR5cGVDb25maWcgfHwge30pXG4gIH1cblxuICBnZXREZW1vSW5zdGFuY2UoKTogSW5wdXRDb25maWdKc29uIHtcbiAgICByZXR1cm4gbmV3IFRleHRJbnB1dENvbmZpZyhkZW1vQ29uZmlnKVxuICB9XG5cbn1cblxuSW5wdXRDb25maWcucmVnaXN0ZXIoVGV4dElucHV0Q29uZmlnKVxuIl19