UNPKG

ng-zorro-antd

Version:

An enterprise-class UI components based on Ant Design and Angular

685 lines (672 loc) 24.5 kB
import { CommonModule } from '@angular/common'; import { NzIconModule } from 'ng-zorro-antd/icon'; import { FormControl, FormControlName, NgControl, NgModel } from '@angular/forms'; import { MediaMatcher, LayoutModule } from '@angular/cdk/layout'; import { Platform, PlatformModule } from '@angular/cdk/platform'; import { NzRowDirective, NzColDirective, NzGridModule } from 'ng-zorro-antd/grid'; import { __decorate, __metadata, __extends } from 'tslib'; import { ChangeDetectionStrategy, Component, ElementRef, Renderer2, ViewEncapsulation, ChangeDetectorRef, ContentChildren, Input, NgZone, ContentChild, Host, Optional, Directive, NgModule } from '@angular/core'; import { Subject } from 'rxjs'; import { takeUntil, startWith } from 'rxjs/operators'; import { helpMotion, InputBoolean, NzUpdateHostClassService, toBoolean } from 'ng-zorro-antd/core'; /** * @fileoverview added by tsickle * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc */ var NzFormExplainComponent = /** @class */ (function () { function NzFormExplainComponent(elementRef, renderer) { this.elementRef = elementRef; this.renderer = renderer; this.renderer.addClass(this.elementRef.nativeElement, 'ant-form-explain'); } NzFormExplainComponent.decorators = [ { type: Component, args: [{ selector: 'nz-form-explain', exportAs: 'nzFormExplain', preserveWhitespaces: false, encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, animations: [helpMotion], template: "<div [@helpMotion]>\n <ng-content></ng-content>\n</div>", styles: ["\n nz-form-explain {\n display: block;\n }\n "] }] } ]; /** @nocollapse */ NzFormExplainComponent.ctorParameters = function () { return [ { type: ElementRef }, { type: Renderer2 } ]; }; return NzFormExplainComponent; }()); /** * @fileoverview added by tsickle * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc */ /** * should add nz-row directive to host, track https://github.com/angular/angular/issues/8785 * */ var NzFormItemComponent = /** @class */ (function (_super) { __extends(NzFormItemComponent, _super); function NzFormItemComponent(elementRef, renderer, nzUpdateHostClassService, mediaMatcher, ngZone, platform, cdr) { var _this = _super.call(this, elementRef, renderer, nzUpdateHostClassService, mediaMatcher, ngZone, platform) || this; _this.cdr = cdr; _this.nzFlex = false; renderer.addClass(elementRef.nativeElement, 'ant-form-item'); return _this; } /** * @return {?} */ NzFormItemComponent.prototype.ngAfterContentInit = /** * @return {?} */ function () { var _this = this; if (this.listOfNzFormExplainComponent) { this.listOfNzFormExplainComponent.changes.pipe(takeUntil(this.destroy$)).subscribe((/** * @return {?} */ function () { _this.cdr.markForCheck(); })); } }; /** * @param {?} changes * @return {?} */ NzFormItemComponent.prototype.ngOnChanges = /** * @param {?} changes * @return {?} */ function (changes) { _super.prototype.ngOnChanges.call(this, changes); if (changes.hasOwnProperty('nzFlex')) { /** @type {?} */ var flex = changes.nzFlex.currentValue; if (flex) { this.renderer.setStyle(this.elementRef.nativeElement, 'display', 'flex'); } else { this.renderer.removeStyle(this.elementRef.nativeElement, 'display'); } } }; NzFormItemComponent.decorators = [ { type: Component, args: [{ selector: 'nz-form-item', exportAs: 'nzFormItem', preserveWhitespaces: false, changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, providers: [NzUpdateHostClassService], template: "<ng-content></ng-content>", host: { '[class.ant-form-item-with-help]': 'listOfNzFormExplainComponent && (listOfNzFormExplainComponent.length > 0)' }, styles: ["\n nz-form-item {\n display: block;\n }\n "] }] } ]; /** @nocollapse */ NzFormItemComponent.ctorParameters = function () { return [ { type: ElementRef }, { type: Renderer2 }, { type: NzUpdateHostClassService }, { type: MediaMatcher }, { type: NgZone }, { type: Platform }, { type: ChangeDetectorRef } ]; }; NzFormItemComponent.propDecorators = { nzFlex: [{ type: Input }], listOfNzFormExplainComponent: [{ type: ContentChildren, args: [NzFormExplainComponent, { descendants: true },] }] }; __decorate([ InputBoolean(), __metadata("design:type", Boolean) ], NzFormItemComponent.prototype, "nzFlex", void 0); return NzFormItemComponent; }(NzRowDirective)); /** * @fileoverview added by tsickle * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc */ var NzFormControlComponent = /** @class */ (function (_super) { __extends(NzFormControlComponent, _super); function NzFormControlComponent(nzUpdateHostClassService, elementRef, nzFormItemComponent, nzRowDirective, cdr, renderer) { var _this = _super.call(this, nzUpdateHostClassService, elementRef, nzFormItemComponent || nzRowDirective, renderer) || this; _this.cdr = cdr; _this._hasFeedback = false; _this.controlClassMap = {}; renderer.addClass(elementRef.nativeElement, 'ant-form-item-control-wrapper'); return _this; } Object.defineProperty(NzFormControlComponent.prototype, "nzHasFeedback", { get: /** * @return {?} */ function () { return this._hasFeedback; }, set: /** * @param {?} value * @return {?} */ function (value) { this._hasFeedback = toBoolean(value); this.setControlClassMap(); }, enumerable: true, configurable: true }); Object.defineProperty(NzFormControlComponent.prototype, "nzValidateStatus", { set: /** * @param {?} value * @return {?} */ function (value) { if (value instanceof FormControl || value instanceof NgModel) { this.validateControl = value; this.validateString = null; this.watchControl(); } else if (value instanceof FormControlName) { this.validateControl = value.control; this.validateString = null; this.watchControl(); } else { this.validateString = value; this.validateControl = null; this.setControlClassMap(); } }, enumerable: true, configurable: true }); /** * @return {?} */ NzFormControlComponent.prototype.removeSubscribe = /** * @return {?} */ function () { if (this.validateChanges) { this.validateChanges.unsubscribe(); this.validateChanges = null; } }; /** * @return {?} */ NzFormControlComponent.prototype.watchControl = /** * @return {?} */ function () { var _this = this; this.removeSubscribe(); /** miss detect https://github.com/angular/angular/issues/10887 **/ if (this.validateControl && this.validateControl.statusChanges) { this.validateChanges = this.validateControl.statusChanges.pipe(startWith(null)).subscribe((/** * @return {?} */ function () { _this.setControlClassMap(); _this.cdr.markForCheck(); })); } }; /** * @param {?} status * @return {?} */ NzFormControlComponent.prototype.validateControlStatus = /** * @param {?} status * @return {?} */ function (status) { return (/** @type {?} */ ((!!this.validateControl && (this.validateControl.dirty || this.validateControl.touched) && this.validateControl.status === status))); }; /** * @return {?} */ NzFormControlComponent.prototype.setControlClassMap = /** * @return {?} */ function () { var _a; if (this.validateString === 'warning') { this.status = 'warning'; this.iconType = 'exclamation-circle-fill'; } else if (this.validateString === 'validating' || this.validateString === 'pending' || this.validateControlStatus('PENDING')) { this.status = 'validating'; this.iconType = 'loading'; } else if (this.validateString === 'error' || this.validateControlStatus('INVALID')) { this.status = 'error'; this.iconType = 'close-circle-fill'; } else if (this.validateString === 'success' || this.validateControlStatus('VALID')) { this.status = 'success'; this.iconType = 'check-circle-fill'; } else { this.status = 'init'; this.iconType = ''; } this.controlClassMap = (_a = {}, _a["has-warning"] = this.status === 'warning', _a["is-validating"] = this.status === 'validating', _a["has-error"] = this.status === 'error', _a["has-success"] = this.status === 'success', _a["has-feedback"] = this.nzHasFeedback, _a); }; /** * @return {?} */ NzFormControlComponent.prototype.ngOnInit = /** * @return {?} */ function () { _super.prototype.ngOnInit.call(this); this.setControlClassMap(); }; /** * @return {?} */ NzFormControlComponent.prototype.ngOnDestroy = /** * @return {?} */ function () { this.removeSubscribe(); _super.prototype.ngOnDestroy.call(this); }; /** * @return {?} */ NzFormControlComponent.prototype.ngAfterContentInit = /** * @return {?} */ function () { if (this.defaultValidateControl && !this.validateControl && !this.validateString) { this.nzValidateStatus = this.defaultValidateControl; } }; /** * @return {?} */ NzFormControlComponent.prototype.ngAfterViewInit = /** * @return {?} */ function () { _super.prototype.ngAfterViewInit.call(this); }; NzFormControlComponent.decorators = [ { type: Component, args: [{ selector: 'nz-form-control', exportAs: 'nzFormControl', preserveWhitespaces: false, encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, providers: [NzUpdateHostClassService], template: "<div class=\"ant-form-item-control\" [ngClass]=\"controlClassMap\">\n <span class=\"ant-form-item-children\">\n <ng-content></ng-content>\n <span class=\"ant-form-item-children-icon\">\n <i *ngIf=\"nzHasFeedback && iconType\" nz-icon [type]=\"iconType\"></i>\n </span>\n </span>\n <ng-content select=\"nz-form-explain\"></ng-content>\n</div>", styles: ["\n nz-form-control {\n display: block;\n }\n "] }] } ]; /** @nocollapse */ NzFormControlComponent.ctorParameters = function () { return [ { type: NzUpdateHostClassService }, { type: ElementRef }, { type: NzFormItemComponent, decorators: [{ type: Optional }, { type: Host }] }, { type: NzRowDirective, decorators: [{ type: Optional }, { type: Host }] }, { type: ChangeDetectorRef }, { type: Renderer2 } ]; }; NzFormControlComponent.propDecorators = { defaultValidateControl: [{ type: ContentChild, args: [NgControl,] }], nzHasFeedback: [{ type: Input }], nzValidateStatus: [{ type: Input }] }; return NzFormControlComponent; }(NzColDirective)); /** * @fileoverview added by tsickle * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc */ var NzFormExtraComponent = /** @class */ (function () { function NzFormExtraComponent(elementRef, renderer) { this.elementRef = elementRef; this.renderer = renderer; this.renderer.addClass(this.elementRef.nativeElement, 'ant-form-extra'); } NzFormExtraComponent.decorators = [ { type: Component, args: [{ selector: 'nz-form-extra', exportAs: 'nzFormExtra', template: "<ng-content></ng-content>", preserveWhitespaces: false, encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, styles: ["\n nz-form-extra {\n display: block;\n }\n "] }] } ]; /** @nocollapse */ NzFormExtraComponent.ctorParameters = function () { return [ { type: ElementRef }, { type: Renderer2 } ]; }; return NzFormExtraComponent; }()); /** * @fileoverview added by tsickle * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc */ var NzFormLabelComponent = /** @class */ (function (_super) { __extends(NzFormLabelComponent, _super); function NzFormLabelComponent(nzUpdateHostClassService, elementRef, nzFormItemComponent, nzRowDirective, renderer, cdr) { var _this = _super.call(this, nzUpdateHostClassService, elementRef, nzFormItemComponent || nzRowDirective, renderer) || this; _this.cdr = cdr; _this.nzRequired = false; _this.defaultNoColon = false; _this.noColon = 'default'; renderer.addClass(elementRef.nativeElement, 'ant-form-item-label'); return _this; } Object.defineProperty(NzFormLabelComponent.prototype, "nzNoColon", { get: /** * @return {?} */ function () { return !!this.noColon; }, set: /** * @param {?} value * @return {?} */ function (value) { this.noColon = toBoolean(value); }, enumerable: true, configurable: true }); /** * @param {?} value * @return {?} */ NzFormLabelComponent.prototype.setDefaultNoColon = /** * @param {?} value * @return {?} */ function (value) { this.defaultNoColon = toBoolean(value); this.cdr.markForCheck(); }; /** * @return {?} */ NzFormLabelComponent.prototype.ngOnDestroy = /** * @return {?} */ function () { _super.prototype.ngOnDestroy.call(this); }; /** * @return {?} */ NzFormLabelComponent.prototype.ngAfterViewInit = /** * @return {?} */ function () { _super.prototype.ngAfterViewInit.call(this); }; NzFormLabelComponent.decorators = [ { type: Component, args: [{ selector: 'nz-form-label', exportAs: 'nzFormLabel', providers: [NzUpdateHostClassService], preserveWhitespaces: false, encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, template: "<label [attr.for]=\"nzFor\"\n [class.ant-form-item-no-colon]=\"noColon === 'default' ? defaultNoColon : nzNoColon\"\n [class.ant-form-item-required]=\"nzRequired\">\n <ng-content></ng-content>\n</label>" }] } ]; /** @nocollapse */ NzFormLabelComponent.ctorParameters = function () { return [ { type: NzUpdateHostClassService }, { type: ElementRef }, { type: NzFormItemComponent, decorators: [{ type: Optional }, { type: Host }] }, { type: NzRowDirective, decorators: [{ type: Optional }, { type: Host }] }, { type: Renderer2 }, { type: ChangeDetectorRef } ]; }; NzFormLabelComponent.propDecorators = { nzFor: [{ type: Input }], nzRequired: [{ type: Input }], nzNoColon: [{ type: Input }] }; __decorate([ InputBoolean(), __metadata("design:type", Object) ], NzFormLabelComponent.prototype, "nzRequired", void 0); return NzFormLabelComponent; }(NzColDirective)); /** * @fileoverview added by tsickle * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc */ var NzFormSplitComponent = /** @class */ (function () { function NzFormSplitComponent(elementRef, renderer) { this.elementRef = elementRef; this.renderer = renderer; this.renderer.addClass(this.elementRef.nativeElement, 'ant-form-split'); } NzFormSplitComponent.decorators = [ { type: Component, args: [{ selector: 'nz-form-split', exportAs: 'nzFormSplit', preserveWhitespaces: false, encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, template: "<ng-content></ng-content>" }] } ]; /** @nocollapse */ NzFormSplitComponent.ctorParameters = function () { return [ { type: ElementRef }, { type: Renderer2 } ]; }; return NzFormSplitComponent; }()); /** * @fileoverview added by tsickle * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc */ var NzFormTextComponent = /** @class */ (function () { function NzFormTextComponent(elementRef, renderer) { this.elementRef = elementRef; this.renderer = renderer; this.renderer.addClass(this.elementRef.nativeElement, 'ant-form-text'); } NzFormTextComponent.decorators = [ { type: Component, args: [{ selector: 'nz-form-text', exportAs: 'nzFormText', preserveWhitespaces: false, changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, template: "<ng-content></ng-content>" }] } ]; /** @nocollapse */ NzFormTextComponent.ctorParameters = function () { return [ { type: ElementRef }, { type: Renderer2 } ]; }; return NzFormTextComponent; }()); /** * @fileoverview added by tsickle * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc */ var NzFormDirective = /** @class */ (function () { function NzFormDirective(elementRef, renderer, nzUpdateHostClassService) { this.elementRef = elementRef; this.renderer = renderer; this.nzUpdateHostClassService = nzUpdateHostClassService; this.nzLayout = 'horizontal'; this.nzNoColon = false; this.destroy$ = new Subject(); this.renderer.addClass(elementRef.nativeElement, 'ant-form'); } /** * @return {?} */ NzFormDirective.prototype.setClassMap = /** * @return {?} */ function () { var _a; this.nzUpdateHostClassService.updateHostClass(this.elementRef.nativeElement, (_a = {}, _a["ant-form-" + this.nzLayout] = this.nzLayout, _a)); }; /** * @return {?} */ NzFormDirective.prototype.updateItemsDefaultColon = /** * @return {?} */ function () { var _this = this; if (this.nzFormLabelComponent) { this.nzFormLabelComponent.forEach((/** * @param {?} item * @return {?} */ function (item) { return item.setDefaultNoColon(_this.nzNoColon); })); } }; /** * @return {?} */ NzFormDirective.prototype.ngOnInit = /** * @return {?} */ function () { this.setClassMap(); }; /** * @param {?} changes * @return {?} */ NzFormDirective.prototype.ngOnChanges = /** * @param {?} changes * @return {?} */ function (changes) { this.setClassMap(); if (changes.hasOwnProperty('nzNoColon')) { this.updateItemsDefaultColon(); } }; /** * @return {?} */ NzFormDirective.prototype.ngAfterContentInit = /** * @return {?} */ function () { var _this = this; this.nzFormLabelComponent.changes .pipe(startWith(null), takeUntil(this.destroy$)) .subscribe((/** * @return {?} */ function () { _this.updateItemsDefaultColon(); })); }; /** * @return {?} */ NzFormDirective.prototype.ngOnDestroy = /** * @return {?} */ function () { this.destroy$.next(); this.destroy$.complete(); }; NzFormDirective.decorators = [ { type: Directive, args: [{ selector: '[nz-form]', exportAs: 'nzForm', providers: [NzUpdateHostClassService] },] } ]; /** @nocollapse */ NzFormDirective.ctorParameters = function () { return [ { type: ElementRef }, { type: Renderer2 }, { type: NzUpdateHostClassService } ]; }; NzFormDirective.propDecorators = { nzLayout: [{ type: Input }], nzNoColon: [{ type: Input }], nzFormLabelComponent: [{ type: ContentChildren, args: [NzFormLabelComponent, { descendants: true },] }] }; __decorate([ InputBoolean(), __metadata("design:type", Boolean) ], NzFormDirective.prototype, "nzNoColon", void 0); return NzFormDirective; }()); /** * @fileoverview added by tsickle * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc */ var NzFormModule = /** @class */ (function () { function NzFormModule() { } NzFormModule.decorators = [ { type: NgModule, args: [{ declarations: [ NzFormExtraComponent, NzFormLabelComponent, NzFormDirective, NzFormItemComponent, NzFormControlComponent, NzFormExplainComponent, NzFormTextComponent, NzFormSplitComponent ], exports: [ NzFormExtraComponent, NzFormLabelComponent, NzFormDirective, NzFormItemComponent, NzFormControlComponent, NzFormExplainComponent, NzFormTextComponent, NzFormSplitComponent ], imports: [CommonModule, NzGridModule, NzIconModule, LayoutModule, PlatformModule] },] } ]; return NzFormModule; }()); /** * @fileoverview added by tsickle * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc */ /** * @fileoverview added by tsickle * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc */ export { NzFormModule, NzFormDirective, NzFormControlComponent, NzFormExplainComponent, NzFormItemComponent, NzFormExtraComponent, NzFormLabelComponent, NzFormSplitComponent, NzFormTextComponent }; //# sourceMappingURL=ng-zorro-antd-form.js.map