UNPKG

@true-directive/grid

Version:

Angular Data Grid from Yopsilon.

77 lines 8.82 kB
import * as tslib_1 from "tslib"; /** * Copyright (c) 2018-2019 Aleksey Melnikov, True Directive Company. * @link https://truedirective.com/ * @license MIT */ import { Component, Input, Output, HostBinding, EventEmitter } from '@angular/core'; var InputWrapperComponent = /** @class */ (function () { function InputWrapperComponent() { this.showError = true; this.disabled = null; this.onBtnClick = new EventEmitter(); } Object.defineProperty(InputWrapperComponent.prototype, "hasBtn", { get: function () { return this.icon !== undefined && this.icon !== ""; }, enumerable: true, configurable: true }); Object.defineProperty(InputWrapperComponent.prototype, "hasError", { get: function () { return this.error !== undefined && this.error !== ""; }, enumerable: true, configurable: true }); InputWrapperComponent.prototype.btnClick = function (e) { this.onBtnClick.emit(e); e.stopPropagation(); }; tslib_1.__decorate([ HostBinding('class.true-input_with-btn'), tslib_1.__metadata("design:type", Object), tslib_1.__metadata("design:paramtypes", []) ], InputWrapperComponent.prototype, "hasBtn", null); tslib_1.__decorate([ HostBinding('class.true-input_with-error'), tslib_1.__metadata("design:type", Object), tslib_1.__metadata("design:paramtypes", []) ], InputWrapperComponent.prototype, "hasError", null); tslib_1.__decorate([ Input('icon'), tslib_1.__metadata("design:type", String) ], InputWrapperComponent.prototype, "icon", void 0); tslib_1.__decorate([ Input('error'), tslib_1.__metadata("design:type", String) ], InputWrapperComponent.prototype, "error", void 0); tslib_1.__decorate([ Input('showError'), tslib_1.__metadata("design:type", Boolean) ], InputWrapperComponent.prototype, "showError", void 0); tslib_1.__decorate([ Input('disabled'), tslib_1.__metadata("design:type", Boolean) ], InputWrapperComponent.prototype, "disabled", void 0); tslib_1.__decorate([ Output('btnClick'), tslib_1.__metadata("design:type", EventEmitter) ], InputWrapperComponent.prototype, "onBtnClick", void 0); InputWrapperComponent = tslib_1.__decorate([ Component({ selector: 'true-input-wrapper', // It is important that the button follows the content without line breaking. // Otherwise a suspicious margin to the right of the button appears. // // Inner DIV with display=flex to avoid line breaking if the width of the component = 100% template: "\n <div>\n <ng-content></ng-content><button\n *ngIf=\"icon\"\n type=\"button\"\n tabindex=\"-1\"\n class=\"true-input__btn\"\n [attr.disabled]=\"disabled\"\n (click)=\"btnClick($event)\">\n <div [ngClass]=\"icon\"></div>\n </button>\n </div>\n <div *ngIf=\"showError\" class=\"true-input__err-msg\">{{error}}</div>\n ", host: { 'class': 'true-input' }, styles: ["\n :host {\n overflow-x: visible;\n word-wrap: normal;\n display: inline-block;\n vertical-align: baseline;\n padding: 0;\n margin: 0;\n }\n\n :host > div:first-child {\n width: 100%;\n height: 100%;\n display: inline-flex;\n }\n\n .true-input__err-msg {\n position: absolute;\n display: none;\n }\n\n :host.true-input_with-error > .true-input__err-msg {\n display: block;\n }\n\n "] }) ], InputWrapperComponent); return InputWrapperComponent; }()); export { InputWrapperComponent }; //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5wdXQtd3JhcHBlci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AdHJ1ZS1kaXJlY3RpdmUvZ3JpZC8iLCJzb3VyY2VzIjpbInNyYy9jb250cm9scy9pbnB1dC13cmFwcGVyLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUE7Ozs7RUFJRTtBQUNGLE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxXQUFXLEVBQUUsWUFBWSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBa0RwRjtJQWhEQTtRQW1FRSxjQUFTLEdBQVksSUFBSSxDQUFDO1FBRzFCLGFBQVEsR0FBWSxJQUFJLENBQUM7UUFHekIsZUFBVSxHQUFzQixJQUFJLFlBQVksRUFBTyxDQUFDO0lBTTFELENBQUM7SUE1QkMsc0JBQUkseUNBQU07YUFBVjtZQUNFLE9BQU8sSUFBSSxDQUFDLElBQUksS0FBSyxTQUFTLElBQUksSUFBSSxDQUFDLElBQUksS0FBSyxFQUFFLENBQUM7UUFDckQsQ0FBQzs7O09BQUE7SUFHRCxzQkFBSSwyQ0FBUTthQUFaO1lBQ0UsT0FBTyxJQUFJLENBQUMsS0FBSyxLQUFLLFNBQVMsSUFBSSxJQUFJLENBQUMsS0FBSyxLQUFLLEVBQUUsQ0FBQztRQUN2RCxDQUFDOzs7T0FBQTtJQWlCRCx3Q0FBUSxHQUFSLFVBQVMsQ0FBTTtRQUNiLElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQ3hCLENBQUMsQ0FBQyxlQUFlLEVBQUUsQ0FBQztJQUN0QixDQUFDO0lBM0JEO1FBREMsV0FBVyxDQUFDLDJCQUEyQixDQUFDOzs7dURBR3hDO0lBR0Q7UUFEQyxXQUFXLENBQUMsNkJBQTZCLENBQUM7Ozt5REFHMUM7SUFHRDtRQURDLEtBQUssQ0FBQyxNQUFNLENBQUM7O3VEQUNEO0lBR2I7UUFEQyxLQUFLLENBQUMsT0FBTyxDQUFDOzt3REFDRDtJQUdkO1FBREMsS0FBSyxDQUFDLFdBQVcsQ0FBQzs7NERBQ087SUFHMUI7UUFEQyxLQUFLLENBQUMsVUFBVSxDQUFDOzsyREFDTztJQUd6QjtRQURDLE1BQU0sQ0FBQyxVQUFVLENBQUM7MENBQ1AsWUFBWTs2REFBZ0M7SUF6QjdDLHFCQUFxQjtRQWhEakMsU0FBUyxDQUFDO1lBQ1AsUUFBUSxFQUFFLG9CQUFvQjtZQUM5Qiw2RUFBNkU7WUFDN0Usb0VBQW9FO1lBQ3BFLEVBQUU7WUFDRiwwRkFBMEY7WUFDMUYsUUFBUSxFQUFFLGtaQWFUO1lBQ0QsSUFBSSxFQUFFLEVBQUUsT0FBTyxFQUFFLFlBQVksRUFBRTtxQkFDdkIsOGZBeUJQO1NBQ0osQ0FBQztPQUNXLHFCQUFxQixDQStCakM7SUFBRCw0QkFBQztDQUFBLEFBL0JELElBK0JDO1NBL0JZLHFCQUFxQiIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxyXG4gKiBDb3B5cmlnaHQgKGMpIDIwMTgtMjAxOSBBbGVrc2V5IE1lbG5pa292LCBUcnVlIERpcmVjdGl2ZSBDb21wYW55LlxyXG4gKiBAbGluayBodHRwczovL3RydWVkaXJlY3RpdmUuY29tL1xyXG4gKiBAbGljZW5zZSBNSVRcclxuKi9cclxuaW1wb3J0IHsgQ29tcG9uZW50LCBJbnB1dCwgT3V0cHV0LCBIb3N0QmluZGluZywgRXZlbnRFbWl0dGVyIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICAgIHNlbGVjdG9yOiAndHJ1ZS1pbnB1dC13cmFwcGVyJyxcclxuICAgIC8vIEl0IGlzIGltcG9ydGFudCB0aGF0IHRoZSBidXR0b24gZm9sbG93cyB0aGUgY29udGVudCB3aXRob3V0IGxpbmUgYnJlYWtpbmcuXHJcbiAgICAvLyBPdGhlcndpc2UgYSBzdXNwaWNpb3VzIG1hcmdpbiB0byB0aGUgcmlnaHQgb2YgdGhlIGJ1dHRvbiBhcHBlYXJzLlxyXG4gICAgLy9cclxuICAgIC8vIElubmVyIERJViB3aXRoIGRpc3BsYXk9ZmxleCB0byBhdm9pZCBsaW5lIGJyZWFraW5nIGlmIHRoZSB3aWR0aCBvZiB0aGUgY29tcG9uZW50ID0gMTAwJVxyXG4gICAgdGVtcGxhdGU6IGBcclxuICAgIDxkaXY+XHJcbiAgICAgIDxuZy1jb250ZW50PjwvbmctY29udGVudD48YnV0dG9uXHJcbiAgICAgICAgICAqbmdJZj1cImljb25cIlxyXG4gICAgICAgICAgdHlwZT1cImJ1dHRvblwiXHJcbiAgICAgICAgICB0YWJpbmRleD1cIi0xXCJcclxuICAgICAgICAgIGNsYXNzPVwidHJ1ZS1pbnB1dF9fYnRuXCJcclxuICAgICAgICAgIFthdHRyLmRpc2FibGVkXT1cImRpc2FibGVkXCJcclxuICAgICAgICAgIChjbGljayk9XCJidG5DbGljaygkZXZlbnQpXCI+XHJcbiAgICAgICAgPGRpdiBbbmdDbGFzc109XCJpY29uXCI+PC9kaXY+XHJcbiAgICAgIDwvYnV0dG9uPlxyXG4gICAgPC9kaXY+XHJcbiAgICA8ZGl2ICpuZ0lmPVwic2hvd0Vycm9yXCIgY2xhc3M9XCJ0cnVlLWlucHV0X19lcnItbXNnXCI+e3tlcnJvcn19PC9kaXY+XHJcbiAgICBgLFxyXG4gICAgaG9zdDogeyAnY2xhc3MnOiAndHJ1ZS1pbnB1dCcgfSxcclxuICAgIHN0eWxlczpbYFxyXG4gICAgICA6aG9zdCB7XHJcbiAgICAgICAgb3ZlcmZsb3cteDogdmlzaWJsZTtcclxuICAgICAgICB3b3JkLXdyYXA6IG5vcm1hbDtcclxuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgICAgICAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lO1xyXG4gICAgICAgIHBhZGRpbmc6IDA7XHJcbiAgICAgICAgbWFyZ2luOiAwO1xyXG4gICAgICB9XHJcblxyXG4gICAgICA6aG9zdCA+IGRpdjpmaXJzdC1jaGlsZCB7XHJcbiAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgaGVpZ2h0OiAxMDAlO1xyXG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xyXG4gICAgICB9XHJcblxyXG4gICAgICAudHJ1ZS1pbnB1dF9fZXJyLW1zZyB7XHJcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIDpob3N0LnRydWUtaW5wdXRfd2l0aC1lcnJvciA+IC50cnVlLWlucHV0X19lcnItbXNnIHtcclxuICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgfVxyXG5cclxuICAgIGBdXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBJbnB1dFdyYXBwZXJDb21wb25lbnQge1xyXG5cclxuICBASG9zdEJpbmRpbmcoJ2NsYXNzLnRydWUtaW5wdXRfd2l0aC1idG4nKVxyXG4gIGdldCBoYXNCdG4oKSB7XHJcbiAgICByZXR1cm4gdGhpcy5pY29uICE9PSB1bmRlZmluZWQgJiYgdGhpcy5pY29uICE9PSBcIlwiO1xyXG4gIH1cclxuXHJcbiAgQEhvc3RCaW5kaW5nKCdjbGFzcy50cnVlLWlucHV0X3dpdGgtZXJyb3InKVxyXG4gIGdldCBoYXNFcnJvcigpIHtcclxuICAgIHJldHVybiB0aGlzLmVycm9yICE9PSB1bmRlZmluZWQgJiYgdGhpcy5lcnJvciAhPT0gXCJcIjtcclxuICB9XHJcblxyXG4gIEBJbnB1dCgnaWNvbicpXHJcbiAgaWNvbjogc3RyaW5nO1xyXG5cclxuICBASW5wdXQoJ2Vycm9yJylcclxuICBlcnJvcjogc3RyaW5nO1xyXG5cclxuICBASW5wdXQoJ3Nob3dFcnJvcicpXHJcbiAgc2hvd0Vycm9yOiBib29sZWFuID0gdHJ1ZTtcclxuXHJcbiAgQElucHV0KCdkaXNhYmxlZCcpXHJcbiAgZGlzYWJsZWQ6IGJvb2xlYW4gPSBudWxsO1xyXG5cclxuICBAT3V0cHV0KCdidG5DbGljaycpXHJcbiAgb25CdG5DbGljazogRXZlbnRFbWl0dGVyPGFueT4gPSBuZXcgRXZlbnRFbWl0dGVyPGFueT4oKTtcclxuXHJcbiAgYnRuQ2xpY2soZTogYW55KSB7XHJcbiAgICB0aGlzLm9uQnRuQ2xpY2suZW1pdChlKTtcclxuICAgIGUuc3RvcFByb3BhZ2F0aW9uKCk7XHJcbiAgfVxyXG59XHJcbiJdfQ==