UNPKG

truly-ui

Version:

Web Components for Desktop Applications.

34 lines 3.67 kB
export class ValueAccessorBase { constructor() { this.propagateChange = () => { }; this.propagateTouched = () => { }; } get value() { return this.innerValue; } set value(value) { if ((value instanceof Date) && this.innerValue) { const innerDate = new Date(this.innerValue); if (innerDate.getTime() === value.getTime()) { return; } } if (this.innerValue !== value) { this.innerValue = value; this.propagateChange(value); } } writeValue(value) { this.innerValue = value; } registerOnChange(fn) { this.propagateChange = fn; } registerOnTouched(fn) { this.propagateTouched = fn; } setDisabledState(isDisabled) { this.isDisabled = isDisabled; } } //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmFsdWUtYWNjZXNzb3IuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90cnVseS11aS9zcmMvY29tcG9uZW50cy9pbnB1dC9jb3JlL3ZhbHVlLWFjY2Vzc29yLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUVBLE1BQU0sT0FBZ0IsaUJBQWlCO0lBQXZDO1FBS1Msb0JBQWUsR0FBUSxHQUFHLEVBQUUsR0FBRSxDQUFDLENBQUM7UUFDaEMscUJBQWdCLEdBQVEsR0FBRyxFQUFFLEdBQUUsQ0FBQyxDQUFDO0lBbUMxQyxDQUFDO0lBakNDLElBQUksS0FBSztRQUNQLE9BQU8sSUFBSSxDQUFDLFVBQVUsQ0FBQztJQUN6QixDQUFDO0lBRUQsSUFBSSxLQUFLLENBQUMsS0FBUTtRQUNoQixJQUFLLENBQUMsS0FBSyxZQUFZLElBQUksQ0FBQyxJQUFJLElBQUksQ0FBQyxVQUFVLEVBQUU7WUFDL0MsTUFBTSxTQUFTLEdBQUcsSUFBSSxJQUFJLENBQWMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDO1lBQ3pELElBQWlCLFNBQVUsQ0FBQyxPQUFPLEVBQUUsS0FBaUIsS0FBTSxDQUFDLE9BQU8sRUFBRSxFQUFFO2dCQUN0RSxPQUFPO2FBQ1I7U0FDRjtRQUNELElBQUksSUFBSSxDQUFDLFVBQVUsS0FBSyxLQUFLLEVBQUU7WUFDN0IsSUFBSSxDQUFDLFVBQVUsR0FBRyxLQUFLLENBQUM7WUFDeEIsSUFBSSxDQUFDLGVBQWUsQ0FBQyxLQUFLLENBQUMsQ0FBQztTQUM3QjtJQUNILENBQUM7SUFFRCxVQUFVLENBQUMsS0FBUTtRQUNqQixJQUFJLENBQUMsVUFBVSxHQUFHLEtBQUssQ0FBQztJQUMxQixDQUFDO0lBRUQsZ0JBQWdCLENBQUMsRUFBc0I7UUFDckMsSUFBSSxDQUFDLGVBQWUsR0FBRyxFQUFFLENBQUM7SUFDNUIsQ0FBQztJQUVELGlCQUFpQixDQUFDLEVBQWM7UUFDOUIsSUFBSSxDQUFDLGdCQUFnQixHQUFHLEVBQUUsQ0FBQztJQUM3QixDQUFDO0lBRUQsZ0JBQWdCLENBQUUsVUFBbUI7UUFDakMsSUFBSSxDQUFDLFVBQVUsR0FBRyxVQUFVLENBQUM7SUFDakMsQ0FBQztDQUVGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtDb250cm9sVmFsdWVBY2Nlc3Nvcn0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuXG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgVmFsdWVBY2Nlc3NvckJhc2U8VD4gaW1wbGVtZW50cyBDb250cm9sVmFsdWVBY2Nlc3NvciB7XG4gIHByaXZhdGUgaW5uZXJWYWx1ZTogVDtcblxuICBwdWJsaWMgaXNEaXNhYmxlZDogYm9vbGVhbjtcblxuICBwdWJsaWMgcHJvcGFnYXRlQ2hhbmdlOiBhbnkgPSAoKSA9PiB7fTtcbiAgcHVibGljIHByb3BhZ2F0ZVRvdWNoZWQ6IGFueSA9ICgpID0+IHt9O1xuXG4gIGdldCB2YWx1ZSgpOiBUIHtcbiAgICByZXR1cm4gdGhpcy5pbm5lclZhbHVlO1xuICB9XG5cbiAgc2V0IHZhbHVlKHZhbHVlOiBUKSB7XG4gICAgaWYgKCAodmFsdWUgaW5zdGFuY2VvZiBEYXRlKSAmJiB0aGlzLmlubmVyVmFsdWUpIHtcbiAgICAgIGNvbnN0IGlubmVyRGF0ZSA9IG5ldyBEYXRlKDxzdHJpbmc+PGFueT50aGlzLmlubmVyVmFsdWUpO1xuICAgICAgaWYgKCAoPERhdGU+PGFueT5pbm5lckRhdGUpLmdldFRpbWUoKSA9PT0gKDxEYXRlPjxhbnk+dmFsdWUpLmdldFRpbWUoKSkge1xuICAgICAgICByZXR1cm47XG4gICAgICB9XG4gICAgfVxuICAgIGlmICh0aGlzLmlubmVyVmFsdWUgIT09IHZhbHVlKSB7XG4gICAgICB0aGlzLmlubmVyVmFsdWUgPSB2YWx1ZTtcbiAgICAgIHRoaXMucHJvcGFnYXRlQ2hhbmdlKHZhbHVlKTtcbiAgICB9XG4gIH1cblxuICB3cml0ZVZhbHVlKHZhbHVlOiBUKSB7XG4gICAgdGhpcy5pbm5lclZhbHVlID0gdmFsdWU7XG4gIH1cblxuICByZWdpc3Rlck9uQ2hhbmdlKGZuOiAodmFsdWU6IFQpID0+IHZvaWQpIHtcbiAgICB0aGlzLnByb3BhZ2F0ZUNoYW5nZSA9IGZuO1xuICB9XG5cbiAgcmVnaXN0ZXJPblRvdWNoZWQoZm46ICgpID0+IHZvaWQpIHtcbiAgICB0aGlzLnByb3BhZ2F0ZVRvdWNoZWQgPSBmbjtcbiAgfVxuXG4gIHNldERpc2FibGVkU3RhdGUoIGlzRGlzYWJsZWQ6IGJvb2xlYW4gKTogdm9pZCB7XG4gICAgICB0aGlzLmlzRGlzYWJsZWQgPSBpc0Rpc2FibGVkO1xuICB9XG5cbn1cbiJdfQ==