ng-devui
Version:
DevUI components based on Angular
49 lines • 11.8 kB
JavaScript
import { ChangeDetectorRef, Component, ContentChild, ElementRef, HostBinding, Input, Renderer2 } from '@angular/core';
import { FormControlComponent } from './form-control.component';
import { FormLabelComponent } from './form-label.component';
import * as i0 from "@angular/core";
export class FormItemComponent {
constructor(elementRef, renderer, cdr) {
// FIXME: 循环依赖,打包后将不可用:FormItemComponent -> FormDirective -> DFormControlRuleDirective -> FormItemComponent
// @Optional() @Host() @SkipSelf() private _dForm: FormDirective,
this.cdr = cdr;
this._hasErrorMsg = false;
this.dHasFeedback = false;
renderer.addClass(elementRef.nativeElement, 'devui-form-item');
}
ngOnInit() { }
updateFeedback(status, updateMessage) {
this._hasErrorMsg = !!updateMessage;
const feedbackType = this.dFeedbackType;
if (feedbackType === 'label' && this.labelInstance) {
this.labelInstance.updateFeedbackStatus(status);
}
else if ((feedbackType === 'control' || this.dHasFeedback) && this.controlInstance) {
this.controlInstance.updateFeedbackStatus(status);
}
if (this.controlInstance) {
this.controlInstance.updateErrorMessage(updateMessage);
}
this.cdr.detectChanges();
}
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: FormItemComponent, deps: [{ token: i0.ElementRef }, { token: i0.Renderer2 }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component }); }
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: FormItemComponent, selector: "d-form-item", inputs: { dFeedbackType: "dFeedbackType", dHasFeedback: "dHasFeedback" }, host: { properties: { "class.devui-form-has-error-msg": "this._hasErrorMsg" } }, queries: [{ propertyName: "controlInstance", first: true, predicate: FormControlComponent, descendants: true }, { propertyName: "labelInstance", first: true, predicate: FormLabelComponent, descendants: true }], ngImport: i0, template: ` <ng-content></ng-content> `, isInline: true, styles: [".mr-content-spacing{margin-right:4px}.padding-element-spacing{padding:16px!important}.ml-element-spacing{margin-left:16px}.mr-element-spacing{margin-right:16px}.mt-element-spacing{margin-top:16px}.mb-element-spacing{margin-bottom:16px}.mlr-element-spacing{margin-left:16px;margin-right:16px}.mtb-element-spacing{margin-top:16px;margin-bottom:16px}.m-element-spacing{margin:16px}.grid{letter-spacing:-.31em;*letter-spacing: normal;word-spacing:-.43em}.u,.u-1,.u-1-2,.u-1-3,.u-2-3,.u-1-4,.u-3-4,.u-1-5,.u-2-5,.u-3-5,.u-4-5,.u-1-6,.u-5-6,.u-1-8,.u-3-8,.u-5-8,.u-7-8,.u-1-12,.u-5-12,.u-7-12,.u-11-12,.u-1-24,.u-5-24,.u-7-24,.u-11-24,.u-13-24,.u-17-24,.u-19-24,.u-23-24{display:inline-block;*display: inline;zoom:1;letter-spacing:normal;word-spacing:normal;vertical-align:top}.u-1{display:block}.u-1-2{width:49.99999%}.u-1-3{width:33.33333%}.u-2-3{width:66.66666%}.u-1-4{width:24.99999%}.u-3-4{width:74.99999%}.u-1-5{width:19.99999%}.u-2-5{width:39.99999%}.u-3-5{width:59.99999%}.u-4-5{width:79.99999%}.u-1-6{width:16.64999%}.u-5-6{width:83.33333%}.u-1-8{width:12.49999%}.u-3-8{width:37.49999%}.u-5-8{width:62.49999%}.u-7-8{width:87.49999%}.u-1-12{width:8.33333%}.u-5-12{width:41.66666%}.u-7-12{width:58.33333%}.u-11-12{width:91.66666%}.u-1-24{width:4.16666%}.u-5-24{width:20.83333%}.u-7-24{width:29.16666%}.u-11-24{width:45.83333%}.u-13-24{width:54.16666%}.u-17-24{width:70.83333%}.u-19-24{width:79.16666%}.u-23-24{width:95.83333%}.u-content{padding:0 0 10px 10px}.devui-form-horizontal :host.devui-form-item{margin-bottom:20px;display:flex;align-items:center}.devui-form-horizontal :host.devui-form-item.devui-form-has-error-msg{margin-bottom:0}.devui-form-vertical :host.devui-form-item{display:flex;margin-bottom:20px;flex-direction:column}.devui-form-vertical :host.devui-form-item.devui-form-has-error-msg{margin-bottom:0}.devui-form-columns :host.devui-form-item{display:flex;flex-direction:column;align-items:flex-start;margin-right:16px;margin-bottom:20px}.devui-form-columns :host.devui-form-item.devui-form-has-error-msg{margin-bottom:0}\n"] }); }
}
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: FormItemComponent, decorators: [{
type: Component,
args: [{ selector: 'd-form-item', template: ` <ng-content></ng-content> `, preserveWhitespaces: false, styles: [".mr-content-spacing{margin-right:4px}.padding-element-spacing{padding:16px!important}.ml-element-spacing{margin-left:16px}.mr-element-spacing{margin-right:16px}.mt-element-spacing{margin-top:16px}.mb-element-spacing{margin-bottom:16px}.mlr-element-spacing{margin-left:16px;margin-right:16px}.mtb-element-spacing{margin-top:16px;margin-bottom:16px}.m-element-spacing{margin:16px}.grid{letter-spacing:-.31em;*letter-spacing: normal;word-spacing:-.43em}.u,.u-1,.u-1-2,.u-1-3,.u-2-3,.u-1-4,.u-3-4,.u-1-5,.u-2-5,.u-3-5,.u-4-5,.u-1-6,.u-5-6,.u-1-8,.u-3-8,.u-5-8,.u-7-8,.u-1-12,.u-5-12,.u-7-12,.u-11-12,.u-1-24,.u-5-24,.u-7-24,.u-11-24,.u-13-24,.u-17-24,.u-19-24,.u-23-24{display:inline-block;*display: inline;zoom:1;letter-spacing:normal;word-spacing:normal;vertical-align:top}.u-1{display:block}.u-1-2{width:49.99999%}.u-1-3{width:33.33333%}.u-2-3{width:66.66666%}.u-1-4{width:24.99999%}.u-3-4{width:74.99999%}.u-1-5{width:19.99999%}.u-2-5{width:39.99999%}.u-3-5{width:59.99999%}.u-4-5{width:79.99999%}.u-1-6{width:16.64999%}.u-5-6{width:83.33333%}.u-1-8{width:12.49999%}.u-3-8{width:37.49999%}.u-5-8{width:62.49999%}.u-7-8{width:87.49999%}.u-1-12{width:8.33333%}.u-5-12{width:41.66666%}.u-7-12{width:58.33333%}.u-11-12{width:91.66666%}.u-1-24{width:4.16666%}.u-5-24{width:20.83333%}.u-7-24{width:29.16666%}.u-11-24{width:45.83333%}.u-13-24{width:54.16666%}.u-17-24{width:70.83333%}.u-19-24{width:79.16666%}.u-23-24{width:95.83333%}.u-content{padding:0 0 10px 10px}.devui-form-horizontal :host.devui-form-item{margin-bottom:20px;display:flex;align-items:center}.devui-form-horizontal :host.devui-form-item.devui-form-has-error-msg{margin-bottom:0}.devui-form-vertical :host.devui-form-item{display:flex;margin-bottom:20px;flex-direction:column}.devui-form-vertical :host.devui-form-item.devui-form-has-error-msg{margin-bottom:0}.devui-form-columns :host.devui-form-item{display:flex;flex-direction:column;align-items:flex-start;margin-right:16px;margin-bottom:20px}.devui-form-columns :host.devui-form-item.devui-form-has-error-msg{margin-bottom:0}\n"] }]
}], ctorParameters: () => [{ type: i0.ElementRef }, { type: i0.Renderer2 }, { type: i0.ChangeDetectorRef }], propDecorators: { _hasErrorMsg: [{
type: HostBinding,
args: ['class.devui-form-has-error-msg']
}], dFeedbackType: [{
type: Input
}], dHasFeedback: [{
type: Input
}], controlInstance: [{
type: ContentChild,
args: [FormControlComponent]
}], labelInstance: [{
type: ContentChild,
args: [FormLabelComponent]
}] } });
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybS1pdGVtLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL2RldnVpL2Zvcm0vZm9ybS1pdGVtLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxVQUFVLEVBQUUsV0FBVyxFQUFFLEtBQUssRUFBVSxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDOUgsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDaEUsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sd0JBQXdCLENBQUM7O0FBUzVELE1BQU0sT0FBTyxpQkFBaUI7SUFhNUIsWUFBWSxVQUFzQixFQUFFLFFBQW1CLEVBQVUsR0FBc0I7UUFDckYsMkdBQTJHO1FBQzNHLGlFQUFpRTtRQUZGLFFBQUcsR0FBSCxHQUFHLENBQW1CO1FBWnhDLGlCQUFZLEdBQUcsS0FBSyxDQUFDO1FBTzNELGlCQUFZLEdBQUcsS0FBSyxDQUFDO1FBUzVCLFFBQVEsQ0FBQyxRQUFRLENBQUMsVUFBVSxDQUFDLGFBQWEsRUFBRSxpQkFBaUIsQ0FBQyxDQUFDO0lBQ2pFLENBQUM7SUFFRCxRQUFRLEtBQUksQ0FBQztJQUViLGNBQWMsQ0FBQyxNQUFpQyxFQUFFLGFBQXFCO1FBQ3JFLElBQUksQ0FBQyxZQUFZLEdBQUcsQ0FBQyxDQUFDLGFBQWEsQ0FBQztRQUVwQyxNQUFNLFlBQVksR0FBRyxJQUFJLENBQUMsYUFBYSxDQUFDO1FBQ3hDLElBQUksWUFBWSxLQUFLLE9BQU8sSUFBSSxJQUFJLENBQUMsYUFBYSxFQUFFLENBQUM7WUFDbkQsSUFBSSxDQUFDLGFBQWEsQ0FBQyxvQkFBb0IsQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUNsRCxDQUFDO2FBQU0sSUFBSSxDQUFDLFlBQVksS0FBSyxTQUFTLElBQUksSUFBSSxDQUFDLFlBQVksQ0FBQyxJQUFJLElBQUksQ0FBQyxlQUFlLEVBQUUsQ0FBQztZQUNyRixJQUFJLENBQUMsZUFBZSxDQUFDLG9CQUFvQixDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBQ3BELENBQUM7UUFFRCxJQUFJLElBQUksQ0FBQyxlQUFlLEVBQUUsQ0FBQztZQUN6QixJQUFJLENBQUMsZUFBZSxDQUFDLGtCQUFrQixDQUFDLGFBQWEsQ0FBQyxDQUFDO1FBQ3pELENBQUM7UUFFRCxJQUFJLENBQUMsR0FBRyxDQUFDLGFBQWEsRUFBRSxDQUFDO0lBQzNCLENBQUM7K0dBckNVLGlCQUFpQjttR0FBakIsaUJBQWlCLDJQQVVkLG9CQUFvQixnRkFDcEIsa0JBQWtCLGdEQWZ0Qiw2QkFBNkI7OzRGQUk1QixpQkFBaUI7a0JBTjdCLFNBQVM7K0JBQ0UsYUFBYSxZQUNiLDZCQUE2Qix1QkFFbEIsS0FBSzt1SUFHcUIsWUFBWTtzQkFBMUQsV0FBVzt1QkFBQyxnQ0FBZ0M7Z0JBS3BDLGFBQWE7c0JBQXJCLEtBQUs7Z0JBRUcsWUFBWTtzQkFBcEIsS0FBSztnQkFFOEIsZUFBZTtzQkFBbEQsWUFBWTt1QkFBQyxvQkFBb0I7Z0JBQ0EsYUFBYTtzQkFBOUMsWUFBWTt1QkFBQyxrQkFBa0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDaGFuZ2VEZXRlY3RvclJlZiwgQ29tcG9uZW50LCBDb250ZW50Q2hpbGQsIEVsZW1lbnRSZWYsIEhvc3RCaW5kaW5nLCBJbnB1dCwgT25Jbml0LCBSZW5kZXJlcjIgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEZvcm1Db250cm9sQ29tcG9uZW50IH0gZnJvbSAnLi9mb3JtLWNvbnRyb2wuY29tcG9uZW50JztcbmltcG9ydCB7IEZvcm1MYWJlbENvbXBvbmVudCB9IGZyb20gJy4vZm9ybS1sYWJlbC5jb21wb25lbnQnO1xuaW1wb3J0IHsgREZvcm1Db250cm9sU3RhdHVzIH0gZnJvbSAnLi92YWxpZGF0b3ItZGlyZWN0aXZlL3ZhbGlkYXRlLnR5cGUnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdkLWZvcm0taXRlbScsXG4gIHRlbXBsYXRlOiBgIDxuZy1jb250ZW50PjwvbmctY29udGVudD4gYCxcbiAgc3R5bGVVcmxzOiBbJy4vZm9ybS1pdGVtLmNvbXBvbmVudC5zY3NzJ10sXG4gIHByZXNlcnZlV2hpdGVzcGFjZXM6IGZhbHNlLFxufSlcbmV4cG9ydCBjbGFzcyBGb3JtSXRlbUNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XG4gIEBIb3N0QmluZGluZygnY2xhc3MuZGV2dWktZm9ybS1oYXMtZXJyb3ItbXNnJykgX2hhc0Vycm9yTXNnID0gZmFsc2U7XG5cbiAgLyoqXG4gICAqIEBkZXByZWNhdGVkIFVzZSBkSGFzRmVlZGJhY2sgdG8gcmVwbGFjZSwgTm8gbG9uZ2VyIHN1cHBvcnQgZm9yIGxhYmVsXG4gICAqL1xuICBASW5wdXQoKSBkRmVlZGJhY2tUeXBlOiAnbGFiZWwnIHwgJ2NvbnRyb2wnO1xuXG4gIEBJbnB1dCgpIGRIYXNGZWVkYmFjayA9IGZhbHNlO1xuXG4gIEBDb250ZW50Q2hpbGQoRm9ybUNvbnRyb2xDb21wb25lbnQpIGNvbnRyb2xJbnN0YW5jZTogRm9ybUNvbnRyb2xDb21wb25lbnQ7XG4gIEBDb250ZW50Q2hpbGQoRm9ybUxhYmVsQ29tcG9uZW50KSBsYWJlbEluc3RhbmNlOiBGb3JtTGFiZWxDb21wb25lbnQ7XG5cbiAgY29uc3RydWN0b3IoZWxlbWVudFJlZjogRWxlbWVudFJlZiwgcmVuZGVyZXI6IFJlbmRlcmVyMiwgcHJpdmF0ZSBjZHI6IENoYW5nZURldGVjdG9yUmVmKSB7XG4gICAgLy8gRklYTUU6IOW+queOr+S+nei1lu+8jOaJk+WMheWQjuWwhuS4jeWPr+eUqO+8mkZvcm1JdGVtQ29tcG9uZW50IC0+IEZvcm1EaXJlY3RpdmUgLT4gREZvcm1Db250cm9sUnVsZURpcmVjdGl2ZSAtPiBGb3JtSXRlbUNvbXBvbmVudFxuICAgIC8vIEBPcHRpb25hbCgpIEBIb3N0KCkgQFNraXBTZWxmKCkgcHJpdmF0ZSBfZEZvcm06IEZvcm1EaXJlY3RpdmUsXG5cbiAgICByZW5kZXJlci5hZGRDbGFzcyhlbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQsICdkZXZ1aS1mb3JtLWl0ZW0nKTtcbiAgfVxuXG4gIG5nT25Jbml0KCkge31cblxuICB1cGRhdGVGZWVkYmFjayhzdGF0dXM6IERGb3JtQ29udHJvbFN0YXR1cyB8IG51bGwsIHVwZGF0ZU1lc3NhZ2U6IHN0cmluZyk6IHZvaWQge1xuICAgIHRoaXMuX2hhc0Vycm9yTXNnID0gISF1cGRhdGVNZXNzYWdlO1xuXG4gICAgY29uc3QgZmVlZGJhY2tUeXBlID0gdGhpcy5kRmVlZGJhY2tUeXBlO1xuICAgIGlmIChmZWVkYmFja1R5cGUgPT09ICdsYWJlbCcgJiYgdGhpcy5sYWJlbEluc3RhbmNlKSB7XG4gICAgICB0aGlzLmxhYmVsSW5zdGFuY2UudXBkYXRlRmVlZGJhY2tTdGF0dXMoc3RhdHVzKTtcbiAgICB9IGVsc2UgaWYgKChmZWVkYmFja1R5cGUgPT09ICdjb250cm9sJyB8fCB0aGlzLmRIYXNGZWVkYmFjaykgJiYgdGhpcy5jb250cm9sSW5zdGFuY2UpIHtcbiAgICAgIHRoaXMuY29udHJvbEluc3RhbmNlLnVwZGF0ZUZlZWRiYWNrU3RhdHVzKHN0YXR1cyk7XG4gICAgfVxuXG4gICAgaWYgKHRoaXMuY29udHJvbEluc3RhbmNlKSB7XG4gICAgICB0aGlzLmNvbnRyb2xJbnN0YW5jZS51cGRhdGVFcnJvck1lc3NhZ2UodXBkYXRlTWVzc2FnZSk7XG4gICAgfVxuXG4gICAgdGhpcy5jZHIuZGV0ZWN0Q2hhbmdlcygpO1xuICB9XG59XG4iXX0=