UNPKG

@yoyoboot/l-52abp-ng

Version:

This library was generated with [Angular CLI](https://github.com/angular/angular-cli) version 9.1.13.

3,961 lines 221 kB
(function (global, factory) {
    typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports, require('@angular/core'), require('abp-ng2-module'), require('@delon/theme'), require('@delon/acl'), require('lodash'), require('ng-zorro-antd/modal'), require('@angular/animations'), require('@angular/common'), require('@delon/util'), require('@delon/abc/reuse-tab'), require('ng-zorro-antd/spin'), require('ng-zorro-antd/dropdown'), require('ng-zorro-antd/menu'), require('ng-zorro-antd/alert'), require('ng-zorro-antd/divider'), require('ng-zorro-antd/select'), require('perfect-scrollbar'), require('rxjs'), require('rxjs/operators'), require('@angular/forms'), require('@angular/cdk/overlay'), require('@angular/cdk/portal'), require('@angular/common/http'), require('@delon/form'), require('date-fns'), require('@delon/util/date-time'), require('moment'), require('ng-zorro-antd/date-picker'), require('ngx-simplemde'), require('ng-zorro-antd/button'), require('ng-zorro-antd/time-picker'), require('@delon/abc/st'), require('ng-zorro-antd/form'), require('ng-zorro-antd/icon'), require('ng-zorro-antd/input')) :
    typeof define === 'function' && define.amd ? define('@yoyoboot/l-52abp-ng', ['exports', '@angular/core', 'abp-ng2-module', '@delon/theme', '@delon/acl', 'lodash', 'ng-zorro-antd/modal', '@angular/animations', '@angular/common', '@delon/util', '@delon/abc/reuse-tab', 'ng-zorro-antd/spin', 'ng-zorro-antd/dropdown', 'ng-zorro-antd/menu', 'ng-zorro-antd/alert', 'ng-zorro-antd/divider', 'ng-zorro-antd/select', 'perfect-scrollbar', 'rxjs', 'rxjs/operators', '@angular/forms', '@angular/cdk/overlay', '@angular/cdk/portal', '@angular/common/http', '@delon/form', 'date-fns', '@delon/util/date-time', 'moment', 'ng-zorro-antd/date-picker', 'ngx-simplemde', 'ng-zorro-antd/button', 'ng-zorro-antd/time-picker', '@delon/abc/st', 'ng-zorro-antd/form', 'ng-zorro-antd/icon', 'ng-zorro-antd/input'], factory) :
    (global = typeof globalThis !== 'undefined' ? globalThis : global || self, factory((global.yoyoboot = global.yoyoboot || {}, global.yoyoboot["l-52abp-ng"] = {}), global.ng.core, global["abp-ng2-module"], global.delon.theme, global.delon.acl, global.lodash, global["ng-zorro-antd/modal"], global.ng.animations, global.ng.common, global.delon.util, global.delon.abc["reuse-tab"], global["ng-zorro-antd/spin"], global["ng-zorro-antd/dropdown"], global["ng-zorro-antd/menu"], global["ng-zorro-antd/alert"], global["ng-zorro-antd/divider"], global["ng-zorro-antd/select"], global["perfect-scrollbar"], global.rxjs, global.rxjs.operators, global.ng.forms, global.ng.cdk.overlay, global.ng.cdk.portal, global.ng.common.http, global.delon.form, global["date-fns"], global.delon.util["date-time"], global.moment, global["ng-zorro-antd/date-picker"], global["ngx-simplemde"], global["ng-zorro-antd/button"], global["ng-zorro-antd/time-picker"], global.delon.abc.st, global["ng-zorro-antd/form"], global["ng-zorro-antd/icon"], global["ng-zorro-antd/input"]));
})(this, (function (exports, i0, i1$1, i3, i1, _, modal, animations, i3$1, util, i4, i11, i2, i4$1, i1$2, i2$1, i9, PerfectScrollbar, rxjs, operators, i2$2, i1$3, portal, http, i1$4, dateFns, dateTime, moment, i1$5, i2$3, i5, i6, i1$6, i8, i13, i4$2) { 'use strict';

    function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }

    function _interopNamespace(e) {
        if (e && e.__esModule) return e;
        var n = Object.create(null);
        if (e) {
            Object.keys(e).forEach(function (k) {
                if (k !== 'default') {
                    var d = Object.getOwnPropertyDescriptor(e, k);
                    Object.defineProperty(n, k, d.get ? d : {
                        enumerable: true,
                        get: function () { return e[k]; }
                    });
                }
            });
        }
        n["default"] = e;
        return Object.freeze(n);
    }

    var i0__namespace = /*#__PURE__*/_interopNamespace(i0);
    var i1__namespace$1 = /*#__PURE__*/_interopNamespace(i1$1);
    var i3__namespace$1 = /*#__PURE__*/_interopNamespace(i3);
    var i1__namespace = /*#__PURE__*/_interopNamespace(i1);
    var ___namespace = /*#__PURE__*/_interopNamespace(_);
    var i3__namespace = /*#__PURE__*/_interopNamespace(i3$1);
    var i4__namespace = /*#__PURE__*/_interopNamespace(i4);
    var i11__namespace = /*#__PURE__*/_interopNamespace(i11);
    var i2__namespace = /*#__PURE__*/_interopNamespace(i2);
    var i4__namespace$1 = /*#__PURE__*/_interopNamespace(i4$1);
    var i1__namespace$2 = /*#__PURE__*/_interopNamespace(i1$2);
    var i2__namespace$1 = /*#__PURE__*/_interopNamespace(i2$1);
    var i9__namespace = /*#__PURE__*/_interopNamespace(i9);
    var PerfectScrollbar__default = /*#__PURE__*/_interopDefaultLegacy(PerfectScrollbar);
    var i2__namespace$2 = /*#__PURE__*/_interopNamespace(i2$2);
    var i1__namespace$3 = /*#__PURE__*/_interopNamespace(i1$3);
    var i1__namespace$4 = /*#__PURE__*/_interopNamespace(i1$4);
    var moment__namespace = /*#__PURE__*/_interopNamespace(moment);
    var i1__namespace$5 = /*#__PURE__*/_interopNamespace(i1$5);
    var i2__namespace$3 = /*#__PURE__*/_interopNamespace(i2$3);
    var i5__namespace = /*#__PURE__*/_interopNamespace(i5);
    var i6__namespace = /*#__PURE__*/_interopNamespace(i6);
    var i1__namespace$6 = /*#__PURE__*/_interopNamespace(i1$6);
    var i8__namespace = /*#__PURE__*/_interopNamespace(i8);
    var i13__namespace = /*#__PURE__*/_interopNamespace(i13);
    var i4__namespace$2 = /*#__PURE__*/_interopNamespace(i4$2);

    var YOYO_CONFIG = new i0.InjectionToken('yoyo-config', {
        providedIn: 'root',
        factory: YOYO_CONFIG_FACTORY
    });
    function YOYO_CONFIG_FACTORY() {
        return new YoyoConfig();
    }
    var YoyoConfig = /** @class */ (function () {
        function YoyoConfig() {
            this.grid = new YoyoConfigGrid();
            this.lang = new YoyoLang();
            this.standartErrors = [
                { error: 'required', localizationKey: 'validation.required' },
                { error: 'minlength', localizationKey: 'validation.minlength', errorProperty: 'requiredLength' },
                { error: 'maxlength', localizationKey: 'validation.maxlength', errorProperty: 'requiredLength' },
                { error: 'email', localizationKey: 'validation.email' },
                { error: 'pattern', localizationKey: 'validation.pattern' },
                { error: 'duplicate', localizationKey: 'DuplicateData' },
                { error: 'min', localizationKey: 'Validation.Common.ValueMustGreaterThan', errorProperty: 'min' },
                { error: 'max', localizationKey: 'Validation.Common.ValueMustLessThan', errorProperty: 'max' },
                { error: 'notGreaterThan', localizationKey: 'Validation.Common.ValueMustGreaterThan', errorProperty: 'value' },
                { error: 'expression', localizationKey: 'ExpressionCheckFailed' },
                { error: 'exist', localizationKey: 'validation.exist' },
                { error: 'confirm', localizationKey: 'validation.confirm' },
            ];
        }
        return YoyoConfig;
    }());
    var YoyoConfigGrid = /** @class */ (function () {
        function YoyoConfigGrid() {
            this.defaultPageSize = 20;
            this.defaultPageSizes = [20, 50, 80, 100];
        }
        return YoyoConfigGrid;
    }());
    var YoyoLang = /** @class */ (function () {
        function YoyoLang() {
            this.defaultSource = 'YoyoCmsTemplate';
            this.defaultLang = 'zh-Hans';
        }
        return YoyoLang;
    }());

    // https://angular.io/guide/styleguide#style-04-12
    function throwIfAlreadyLoaded(parentModule, moduleName) {
        if (parentModule) {
            throw new Error(moduleName + " has already been loaded. Import Core modules in the AppModule only.");
        }
    }

    /**
     * 分页请求必须参数
     */
    var PagedResultDto = /** @class */ (function () {
        function PagedResultDto() {
        }
        return PagedResultDto;
    }());
    /**
     * 分页结果dto
     */
    var PagedRequestDto = /** @class */ (function () {
        function PagedRequestDto() {
        }
        return PagedRequestDto;
    }());
    /** 排序类型 */
    exports.SortType = void 0;
    (function (SortType) {
        SortType[SortType["None"] = 'None'] = "None";
        SortType[SortType["Asc"] = 'Asc'] = "Asc";
        SortType[SortType["Desc"] = 'Desc'] = "Desc";
    })(exports.SortType || (exports.SortType = {}));

    /*! *****************************************************************************
    Copyright (c) Microsoft Corporation.

    Permission to use, copy, modify, and/or distribute this software for any
    purpose with or without fee is hereby granted.

    THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH
    REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
    AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,
    INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
    LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR
    OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
    PERFORMANCE OF THIS SOFTWARE.
    ***************************************************************************** */
    /* global Reflect, Promise */
    var extendStatics = function (d, b) {
        extendStatics = Object.setPrototypeOf ||
            ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
            function (d, b) { for (var p in b)
                if (Object.prototype.hasOwnProperty.call(b, p))
                    d[p] = b[p]; };
        return extendStatics(d, b);
    };
    function __extends(d, b) {
        if (typeof b !== "function" && b !== null)
            throw new TypeError("Class extends value " + String(b) + " is not a constructor or null");
        extendStatics(d, b);
        function __() { this.constructor = d; }
        d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
    }
    var __assign = function () {
        __assign = Object.assign || function __assign(t) {
            for (var s, i = 1, n = arguments.length; i < n; i++) {
                s = arguments[i];
                for (var p in s)
                    if (Object.prototype.hasOwnProperty.call(s, p))
                        t[p] = s[p];
            }
            return t;
        };
        return __assign.apply(this, arguments);
    };
    function __rest(s, e) {
        var t = {};
        for (var p in s)
            if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
                t[p] = s[p];
        if (s != null && typeof Object.getOwnPropertySymbols === "function")
            for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
                if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))
                    t[p[i]] = s[p[i]];
            }
        return t;
    }
    function __decorate(decorators, target, key, desc) {
        var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
        if (typeof Reflect === "object" && typeof Reflect.decorate === "function")
            r = Reflect.decorate(decorators, target, key, desc);
        else
            for (var i = decorators.length - 1; i >= 0; i--)
                if (d = decorators[i])
                    r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
        return c > 3 && r && Object.defineProperty(target, key, r), r;
    }
    function __param(paramIndex, decorator) {
        return function (target, key) { decorator(target, key, paramIndex); };
    }
    function __metadata(metadataKey, metadataValue) {
        if (typeof Reflect === "object" && typeof Reflect.metadata === "function")
            return Reflect.metadata(metadataKey, metadataValue);
    }
    function __awaiter(thisArg, _arguments, P, generator) {
        function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
        return new (P || (P = Promise))(function (resolve, reject) {
            function fulfilled(value) { try {
                step(generator.next(value));
            }
            catch (e) {
                reject(e);
            } }
            function rejected(value) { try {
                step(generator["throw"](value));
            }
            catch (e) {
                reject(e);
            } }
            function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
            step((generator = generator.apply(thisArg, _arguments || [])).next());
        });
    }
    function __generator(thisArg, body) {
        var _ = { label: 0, sent: function () { if (t[0] & 1)
                throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
        return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function () { return this; }), g;
        function verb(n) { return function (v) { return step([n, v]); }; }
        function step(op) {
            if (f)
                throw new TypeError("Generator is already executing.");
            while (_)
                try {
                    if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done)
                        return t;
                    if (y = 0, t)
                        op = [op[0] & 2, t.value];
                    switch (op[0]) {
                        case 0:
                        case 1:
                            t = op;
                            break;
                        case 4:
                            _.label++;
                            return { value: op[1], done: false };
                        case 5:
                            _.label++;
                            y = op[1];
                            op = [0];
                            continue;
                        case 7:
                            op = _.ops.pop();
                            _.trys.pop();
                            continue;
                        default:
                            if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) {
                                _ = 0;
                                continue;
                            }
                            if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) {
                                _.label = op[1];
                                break;
                            }
                            if (op[0] === 6 && _.label < t[1]) {
                                _.label = t[1];
                                t = op;
                                break;
                            }
                            if (t && _.label < t[2]) {
                                _.label = t[2];
                                _.ops.push(op);
                                break;
                            }
                            if (t[2])
                                _.ops.pop();
                            _.trys.pop();
                            continue;
                    }
                    op = body.call(thisArg, _);
                }
                catch (e) {
                    op = [6, e];
                    y = 0;
                }
                finally {
                    f = t = 0;
                }
            if (op[0] & 5)
                throw op[1];
            return { value: op[0] ? op[1] : void 0, done: true };
        }
    }
    var __createBinding = Object.create ? (function (o, m, k, k2) {
        if (k2 === undefined)
            k2 = k;
        Object.defineProperty(o, k2, { enumerable: true, get: function () { return m[k]; } });
    }) : (function (o, m, k, k2) {
        if (k2 === undefined)
            k2 = k;
        o[k2] = m[k];
    });
    function __exportStar(m, o) {
        for (var p in m)
            if (p !== "default" && !Object.prototype.hasOwnProperty.call(o, p))
                __createBinding(o, m, p);
    }
    function __values(o) {
        var s = typeof Symbol === "function" && Symbol.iterator, m = s && o[s], i = 0;
        if (m)
            return m.call(o);
        if (o && typeof o.length === "number")
            return {
                next: function () {
                    if (o && i >= o.length)
                        o = void 0;
                    return { value: o && o[i++], done: !o };
                }
            };
        throw new TypeError(s ? "Object is not iterable." : "Symbol.iterator is not defined.");
    }
    function __read(o, n) {
        var m = typeof Symbol === "function" && o[Symbol.iterator];
        if (!m)
            return o;
        var i = m.call(o), r, ar = [], e;
        try {
            while ((n === void 0 || n-- > 0) && !(r = i.next()).done)
                ar.push(r.value);
        }
        catch (error) {
            e = { error: error };
        }
        finally {
            try {
                if (r && !r.done && (m = i["return"]))
                    m.call(i);
            }
            finally {
                if (e)
                    throw e.error;
            }
        }
        return ar;
    }
    /** @deprecated */
    function __spread() {
        for (var ar = [], i = 0; i < arguments.length; i++)
            ar = ar.concat(__read(arguments[i]));
        return ar;
    }
    /** @deprecated */
    function __spreadArrays() {
        for (var s = 0, i = 0, il = arguments.length; i < il; i++)
            s += arguments[i].length;
        for (var r = Array(s), k = 0, i = 0; i < il; i++)
            for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)
                r[k] = a[j];
        return r;
    }
    function __spreadArray(to, from, pack) {
        if (pack || arguments.length === 2)
            for (var i = 0, l = from.length, ar; i < l; i++) {
                if (ar || !(i in from)) {
                    if (!ar)
                        ar = Array.prototype.slice.call(from, 0, i);
                    ar[i] = from[i];
                }
            }
        return to.concat(ar || from);
    }
    function __await(v) {
        return this instanceof __await ? (this.v = v, this) : new __await(v);
    }
    function __asyncGenerator(thisArg, _arguments, generator) {
        if (!Symbol.asyncIterator)
            throw new TypeError("Symbol.asyncIterator is not defined.");
        var g = generator.apply(thisArg, _arguments || []), i, q = [];
        return i = {}, verb("next"), verb("throw"), verb("return"), i[Symbol.asyncIterator] = function () { return this; }, i;
        function verb(n) { if (g[n])
            i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }
        function resume(n, v) { try {
            step(g[n](v));
        }
        catch (e) {
            settle(q[0][3], e);
        } }
        function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }
        function fulfill(value) { resume("next", value); }
        function reject(value) { resume("throw", value); }
        function settle(f, v) { if (f(v), q.shift(), q.length)
            resume(q[0][0], q[0][1]); }
    }
    function __asyncDelegator(o) {
        var i, p;
        return i = {}, verb("next"), verb("throw", function (e) { throw e; }), verb("return"), i[Symbol.iterator] = function () { return this; }, i;
        function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === "return" } : f ? f(v) : v; } : f; }
    }
    function __asyncValues(o) {
        if (!Symbol.asyncIterator)
            throw new TypeError("Symbol.asyncIterator is not defined.");
        var m = o[Symbol.asyncIterator], i;
        return m ? m.call(o) : (o = typeof __values === "function" ? __values(o) : o[Symbol.iterator](), i = {}, verb("next"), verb("throw"), verb("return"), i[Symbol.asyncIterator] = function () { return this; }, i);
        function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }
        function settle(resolve, reject, d, v) { Promise.resolve(v).then(function (v) { resolve({ value: v, done: d }); }, reject); }
    }
    function __makeTemplateObject(cooked, raw) {
        if (Object.defineProperty) {
            Object.defineProperty(cooked, "raw", { value: raw });
        }
        else {
            cooked.raw = raw;
        }
        return cooked;
    }
    ;
    var __setModuleDefault = Object.create ? (function (o, v) {
        Object.defineProperty(o, "default", { enumerable: true, value: v });
    }) : function (o, v) {
        o["default"] = v;
    };
    function __importStar(mod) {
        if (mod && mod.__esModule)
            return mod;
        var result = {};
        if (mod != null)
            for (var k in mod)
                if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k))
                    __createBinding(result, mod, k);
        __setModuleDefault(result, mod);
        return result;
    }
    function __importDefault(mod) {
        return (mod && mod.__esModule) ? mod : { default: mod };
    }
    function __classPrivateFieldGet(receiver, state, kind, f) {
        if (kind === "a" && !f)
            throw new TypeError("Private accessor was defined without a getter");
        if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver))
            throw new TypeError("Cannot read private member from an object whose class did not declare it");
        return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver);
    }
    function __classPrivateFieldSet(receiver, state, value, kind, f) {
        if (kind === "m")
            throw new TypeError("Private method is not writable");
        if (kind === "a" && !f)
            throw new TypeError("Private accessor was defined without a setter");
        if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver))
            throw new TypeError("Cannot write private member to an object whose class did not declare it");
        return (kind === "a" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;
    }

    var PermissionService = /** @class */ (function () {
        function PermissionService(aclService) {
            this.aclService = aclService;
        }
        /**
         * 判断是否拥有某权限
         * @param permissionName (单个/多个) 权限名称
         */
        PermissionService.prototype.isGranted = function (permissionName) {
            if (!permissionName || permissionName.length === 0) {
                return true;
            }
            if (Array.isArray(permissionName)) {
                return this.aclService.can({
                    role: permissionName,
                    mode: 'allOf'
                });
            }
            else {
                return this.aclService.can(permissionName);
            }
        };
        /**
         * 添加权限名称
         * @param permissionName 添加(单个/多个)权限名称
         */
        PermissionService.prototype.addPermission = function (permissionName) {
            var e_1, _a;
            if (!permissionName || permissionName.length === 0) {
                return;
            }
            if (Array.isArray(permissionName)) {
                var _loop_1 = function (tmppermissionName) {
                    if (this_1.aclService.data.abilities.find(function (item) { return item === tmppermissionName; })) {
                        return "continue";
                    }
                    this_1.aclService.attachRole([tmppermissionName]);
                };
                var this_1 = this;
                try {
                    for (var permissionName_1 = __values(permissionName), permissionName_1_1 = permissionName_1.next(); !permissionName_1_1.done; permissionName_1_1 = permissionName_1.next()) {
                        var tmppermissionName = permissionName_1_1.value;
                        _loop_1(tmppermissionName);
                    }
                }
                catch (e_1_1) { e_1 = { error: e_1_1 }; }
                finally {
                    try {
                        if (permissionName_1_1 && !permissionName_1_1.done && (_a = permissionName_1.return)) _a.call(permissionName_1);
                    }
                    finally { if (e_1) throw e_1.error; }
                }
            }
            else {
                if (this.aclService.data.abilities.find(function (item) { return item === permissionName; })) {
                    return;
                }
                this.aclService.attachRole([permissionName]);
            }
        };
        /**
         * 移除单个/多个权限
         * @param permissionName (单个/多个)权限名称
         */
        PermissionService.prototype.removePermission = function (permissionName) {
            if (!permissionName || permissionName.length === 0) {
                return;
            }
            if (Array.isArray(permissionName)) {
                this.aclService.removeRole(permissionName);
            }
            else {
                this.aclService.removeRole([permissionName]);
            }
        };
        /**
         * 清空所有权限
         */
        PermissionService.prototype.clear = function () {
            var tmppermissionNames = this.aclService.data.abilities;
            this.removePermission(tmppermissionNames);
        };
        /**
         * 填充数据
         * @param auth abp.auth 数据
         */
        PermissionService.prototype.extend = function (auth) {
            var permissions = [];
            // tslint:disable-next-line:forin
            for (var key in auth.grantedPermissions) {
                permissions.push(key);
            }
            this.addPermission(permissions);
        };
        return PermissionService;
    }());
    PermissionService.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0__namespace, type: PermissionService, deps: [{ token: i1__namespace.ACLService }], target: i0__namespace.ɵɵFactoryTarget.Injectable });
    PermissionService.ɵprov = i0__namespace.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0__namespace, type: PermissionService });
    i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0__namespace, type: PermissionService, decorators: [{
                type: i0.Injectable
            }], ctorParameters: function () { return [{ type: i1__namespace.ACLService }]; } });

    var SampleComponentBaseDirective = /** @class */ (function () {
        function SampleComponentBaseDirective(injector) {
            this.injector = injector;
            this.localization = injector.get(i3.ALAIN_I18N_TOKEN);
            this.permission = injector.get(PermissionService);
        }
        /**
         * 本地化
         * @param key 本地化key
         * @param args 本地化参数
         * @returns 本地化结果
         */
        SampleComponentBaseDirective.prototype.l = function (key) {
            var _a;
            var args = [];
            for (var _i = 1; _i < arguments.length; _i++) {
                args[_i - 1] = arguments[_i];
            }
            return (_a = this.localization).l.apply(_a, __spreadArray([key, null], __read(args)));
        };
        /**
         * 权限列表验证
         * @param permissions 权限名称列表
         * @returns 是否拥有此权限
         */
        SampleComponentBaseDirective.prototype.isGranted = function (permissions) {
            if (!permissions) {
                return true;
            }
            return this.permission.isGranted(permissions);
        };
        /**
         * 权限列表验证
         * @param permissions 权限名称列表
         * @returns 是否拥有此权限
         */
        SampleComponentBaseDirective.prototype.isGrantedAny = function () {
            var e_1, _a;
            var permissions = [];
            for (var _i = 0; _i < arguments.length; _i++) {
                permissions[_i] = arguments[_i];
            }
            if (!permissions) {
                return false;
            }
            try {
                for (var permissions_1 = __values(permissions), permissions_1_1 = permissions_1.next(); !permissions_1_1.done; permissions_1_1 = permissions_1.next()) {
                    var permission = permissions_1_1.value;
                    if (this.isGranted(permission)) {
                        return true;
                    }
                }
            }
            catch (e_1_1) { e_1 = { error: e_1_1 }; }
            finally {
                try {
                    if (permissions_1_1 && !permissions_1_1.done && (_a = permissions_1.return)) _a.call(permissions_1);
                }
                finally { if (e_1) throw e_1.error; }
            }
            return false;
        };
        return SampleComponentBaseDirective;
    }());
    SampleComponentBaseDirective.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0__namespace, type: SampleComponentBaseDirective, deps: [{ token: i0__namespace.Injector }], target: i0__namespace.ɵɵFactoryTarget.Directive });
    SampleComponentBaseDirective.ɵdir = i0__namespace.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "12.2.13", type: SampleComponentBaseDirective, inputs: { loading: "loading" }, ngImport: i0__namespace });
    i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0__namespace, type: SampleComponentBaseDirective, decorators: [{
                type: i0.Directive
            }], ctorParameters: function () { return [{ type: i0__namespace.Injector }]; }, propDecorators: { loading: [{
                    type: i0.Input
                }] } });

    var FakeAppSessionService = /** @class */ (function () {
        function FakeAppSessionService() {
        }
        FakeAppSessionService.prototype.init = function () {
            throw new Error('Method not implemented.');
        };
        FakeAppSessionService.prototype.getShownLoginName = function () {
            throw new Error('Method not implemented.');
        };
        FakeAppSessionService.prototype.changeTenantIfNeeded = function (tenantId) {
            throw new Error('Method not implemented.');
        };
        return FakeAppSessionService;
    }());
    FakeAppSessionService.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0__namespace, type: FakeAppSessionService, deps: [], target: i0__namespace.ɵɵFactoryTarget.Injectable });
    FakeAppSessionService.ɵprov = i0__namespace.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0__namespace, type: FakeAppSessionService });
    i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0__namespace, type: FakeAppSessionService, decorators: [{
                type: i0.Injectable
            }] });

    var YOYO_APP_SESSION_SERVICE = new i0.InjectionToken('yoyo-app-session-service', {
        providedIn: 'root',
        factory: YOYO_APP_SESSION_SERVICE_FACTORY
    });
    function YOYO_APP_SESSION_SERVICE_FACTORY() {
        return new FakeAppSessionService();
    }

    var TreeDataHelperService = /** @class */ (function () {
        function TreeDataHelperService() {
        }
        TreeDataHelperService.prototype.findNode = function (data, selector) {
            var _this = this;
            var nodes = ___namespace.filter(data, selector);
            if (nodes && nodes.length === 1) {
                return nodes[0];
            }
            var foundNode = null;
            ___namespace.forEach(data, function (d) {
                if (!foundNode) {
                    foundNode = _this.findNode(d.children, selector);
                }
            });
            return foundNode;
        };
        return TreeDataHelperService;
    }());
    TreeDataHelperService.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0__namespace, type: TreeDataHelperService, deps: [], target: i0__namespace.ɵɵFactoryTarget.Injectable });
    TreeDataHelperService.ɵprov = i0__namespace.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0__namespace, type: TreeDataHelperService });
    i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0__namespace, type: TreeDataHelperService, decorators: [{
                type: i0.Injectable
            }] });

    var ArrayToTreeConverterService = /** @class */ (function () {
        function ArrayToTreeConverterService() {
        }
        ArrayToTreeConverterService.prototype.createTree = function (array, parentIdProperty, idProperty, parentIdValue, childrenProperty, fieldMappings) {
            var _this = this;
            var tree = [];
            var nodes = ___namespace.filter(array, [parentIdProperty, parentIdValue]);
            ___namespace.forEach(nodes, function (node) {
                var newNode = {
                    data: node,
                };
                _this.mapFields(node, newNode, fieldMappings);
                newNode[childrenProperty] = _this.createTree(array, parentIdProperty, idProperty, node[idProperty], childrenProperty, fieldMappings);
                tree.push(newNode);
            });
            return tree;
        };
        ArrayToTreeConverterService.prototype.mapFields = function (node, newNode, fieldMappings) {
            ___namespace.forEach(fieldMappings, function (fieldMapping) {
                if (!fieldMapping.target) {
                    return;
                }
                if (fieldMapping.hasOwnProperty('value')) {
                    newNode[fieldMapping.target] = fieldMapping.value;
                }
                else if (fieldMapping.source) {
                    newNode[fieldMapping.target] = node[fieldMapping.source];
                }
                else if (fieldMapping.targetFunction) {
                    newNode[fieldMapping.target] = fieldMapping.targetFunction(node);
                }
            });
        };
        return ArrayToTreeConverterService;
    }());
    ArrayToTreeConverterService.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0__namespace, type: ArrayToTreeConverterService, deps: [], target: i0__namespace.ɵɵFactoryTarget.Injectable });
    ArrayToTreeConverterService.ɵprov = i0__namespace.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0__namespace, type: ArrayToTreeConverterService });
    i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0__namespace, type: ArrayToTreeConverterService, decorators: [{
                type: i0.Injectable
            }] });

    // 加载第三方脚本的service
    var ScriptLoaderService = /** @class */ (function () {
        function ScriptLoaderService() {
            this.scripts = {};
        }
        ScriptLoaderService.prototype.load = function () {
            var _this = this;
            var scripts = [];
            for (var _i = 0; _i < arguments.length; _i++) {
                scripts[_i] = arguments[_i];
            }
            this.scripts = scripts;
            var promises = [];
            scripts.forEach(function (script) { return promises.push(_this.loadScript(script)); });
            return Promise.all(promises);
        };
        ScriptLoaderService.prototype.loadScript = function (name) {
            return new Promise(function (resolve, reject) {
                var script = document.createElement('script');
                script.type = 'text/javascript';
                script.src = name;
                if (script.readyState) { // IE
                    script.onreadystatechange = function () {
                        if (script.readyState === 'loaded' || script.readyState === 'complete') {
                            script.onreadystatechange = null;
                            resolve({ script: name, loaded: true, status: 'Loaded' });
                        }
                    };
                }
                else { // Others
                    script.onload = function () {
                        resolve({ script: name, loaded: true, status: 'Loaded' });
                    };
                }
                script.onerror = function (error) { return resolve({ script: name, loaded: false, status: 'Loaded' }); };
                document.getElementsByTagName('head')[0].appendChild(script);
            });
        };
        return ScriptLoaderService;
    }());
    ScriptLoaderService.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0__namespace, type: ScriptLoaderService, deps: [], target: i0__namespace.ɵɵFactoryTarget.Injectable });
    ScriptLoaderService.ɵprov = i0__namespace.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0__namespace, type: ScriptLoaderService });
    i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0__namespace, type: ScriptLoaderService, decorators: [{
                type: i0.Injectable
            }] });

    var EnumService = /** @class */ (function () {
        function EnumService() {
        }
        EnumService.prototype.getData = function (type) {
            // tslint:disable-next-line:no-string-literal
            return abp['custom']['EnumMaps'][type];
        };
        return EnumService;
    }());
    EnumService.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0__namespace, type: EnumService, deps: [], target: i0__namespace.ɵɵFactoryTarget.Injectable });
    EnumService.ɵprov = i0__namespace.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0__namespace, type: EnumService });
    i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0__namespace, type: EnumService, decorators: [{
                type: i0.Injectable
            }], ctorParameters: function () { return []; } });

    var YOYO_ENUM_SERVICE = new i0.InjectionToken('yoyo-enum-service', {
        providedIn: 'root',
        factory: YOYO_ENUM_SERVICE_FACTORY
    });
    function YOYO_ENUM_SERVICE_FACTORY() {
        return new EnumService();
    }

    var AppComponentBaseDirective = /** @class */ (function (_super) {
        __extends(AppComponentBaseDirective, _super);
        function AppComponentBaseDirective(injector) {
            var _this = _super.call(this, injector) || this;
            /** 保存状态 */
            _this.saving = false;
            _this.appConfig = injector.get(YOYO_CONFIG);
            _this.elementRef = injector.get(i0.ElementRef);
            _this.modalHelper = injector.get(i3.ModalHelper);
            _this.feature = injector.get(i1$1.FeatureCheckerService);
            _this.notify = injector.get(i1$1.NotifyService);
            _this.setting = injector.get(i1$1.SettingService);
            _this.message = injector.get(i1$1.MessageService);
            _this.multiTenancy = injector.get(i1$1.AbpMultiTenancyService);
            _this.titleSrvice = injector.get(i3.TitleService);
            _this.abpSession = injector.get(i1$1.AbpSessionService);
            _this.appSession = injector.get(YOYO_APP_SESSION_SERVICE);
            _this.enumService = injector.get(YOYO_ENUM_SERVICE);
            return _this;
        }
        /** 将枚举转换SFS的枚举数组 */
        AppComponentBaseDirective.prototype.convertToSFSchemaEnumType = function (listEnumType) {
            var temp = [];
            listEnumType.map(function (item) {
                temp.push({
                    label: item.key,
                    value: item.value,
                });
            });
            return temp;
        };
        /** 检查实体历史变更记录是否启用 */
        AppComponentBaseDirective.prototype.checkEntityHistoryEnabled = function (entityTypeName) {
            var customSettings = abp.custom;
            var entityTypeHistoryEnabled = customSettings.EntityHistory.enabledEntities.filter(function (entityType) { return entityType === entityTypeName; }).length === 1;
            return (customSettings.EntityHistory &&
                customSettings.EntityHistory.isEnabled &&
                entityTypeHistoryEnabled);
        };
        /** 获取枚举显示名称 */
        AppComponentBaseDirective.prototype.getEnumDisplayName = function (enumName, key) {
            var _this = this;
            var result = '';
            if (enumName === undefined ||
                enumName == null ||
                key == null ||
                key === undefined) {
                return result;
            }
            if (typeof (key) === 'number') {
                return this.l(this.enumService.getData(enumName)[key].displayName);
            }
            if (typeof (key) === 'string') {
                var enums = this.enumService.getData(enumName);
                if (enums.length > 0) {
                    enums.forEach(function (element) {
                        if (element.value === key) {
                            result = _this.l(element.displayName);
                        }
                    });
                }
            }
            return result;
        };
        return AppComponentBaseDirective;
    }(SampleComponentBaseDirective));
    AppComponentBaseDirective.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0__namespace, type: AppComponentBaseDirective, deps: [{ token: i0__namespace.Injector }], target: i0__namespace.ɵɵFactoryTarget.Directive });
    AppComponentBaseDirective.ɵdir = i0__namespace.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "12.2.13", type: AppComponentBaseDirective, usesInheritance: true, ngImport: i0__namespace });
    i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0__namespace, type: AppComponentBaseDirective, decorators: [{
                type: i0.Directive
            }], ctorParameters: function () { return [{ type: i0__namespace.Injector }]; } });

    /** 基于模态框弹出 Form表单提交的基类信息 */
    var ModalComponentBaseDirective = /** @class */ (function (_super) {
        __extends(ModalComponentBaseDirective, _super);
        /**
         * 构造函数
         * @param injector 注入器
         * @param _nzModalRef nzModal 模态框关闭、销毁等处理帮助,只能在modal中打开的组件中注入,非modal打开的组件注入null即可,否则报错。因为nzModalRef是建立在nzModalComponent之上的。
         */
        function ModalComponentBaseDirective(injector) {
            var _this = _super.call(this, injector) || this;
            _this.title = '';
            _this.nzModalRef = injector.get(modal.NzModalRef);
            return _this;
        }
        /**
         * 带参数回传关闭
         * @param result 回传参数
         */
        ModalComponentBaseDirective.prototype.success = function (result) {
            if (result === void 0) { result = true; }
            if (result) {
                this.nzModalRef.close(result);
            }
            else {
                this.close();
            }
        };
        ModalComponentBaseDirective.prototype.close = function ($event) {
            this.nzModalRef.close();
        };
        return ModalComponentBaseDirective;
    }(AppComponentBaseDirective));
    ModalComponentBaseDirective.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0__namespace, type: ModalComponentBaseDirective, deps: [{ token: i0__namespace.Injector }], target: i0__namespace.ɵɵFactoryTarget.Directive });
    ModalComponentBaseDirective.ɵdir = i0__namespace.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "12.2.13", type: ModalComponentBaseDirective, usesInheritance: true, ngImport: i0__namespace });
    i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0__namespace, type: ModalComponentBaseDirective, decorators: [{
                type: i0.Directive
            }], ctorParameters: function () { return [{ type: i0__namespace.Injector }]; } });

    /**
     * 分页列表基类,包含一些分页通用方法。注意 派生类中的 `ngOnInit` 会覆盖此类中的此方法。
     */
    var PagedListingComponentBaseDirective = /** @class */ (function (_super) {
        __extends(PagedListingComponentBaseDirective, _super);
        /**
         * 构造函数
         * @param injector 注入器
         * @param nzModalRef (optional) nzModal 模态框关闭、销毁等处理帮助,只能在modal中打开的组件中注入,非modal打开的组件注入null即可,否则报错。因为nzModalRef是建立在nzModalComponent之上的。
         */
        function PagedListingComponentBaseDirective(injector) {
            var _this = _super.call(this, injector) || this;
            /** 分页大小 */
            _this.pageSize = _this.appConfig.grid.defaultPageSize;
            /** 当前页 */
            _this.pageSizeOptions = _this.appConfig.grid.defaultPageSizes;
            /** 当前页 */
            _this.pageNumber = 1;
            /** 总页数 */
            _this.totalPages = 1;
            /** 数据是否处于加载状态 */
            _this.isTableLoading = true;
            /** 是否全部选中 */
            _this.allChecked = false;
            /** 全选框是否禁用 */
            _this.allCheckboxDisabled = false;
            /** 选择框非全选状态,控制全选框的样式:☒ */
            _this.checkboxIndeterminate = false;
            /** 已选中数据项列表 */
            _this.selectedDataItems = [];
            /** 排序条件 - 表达式 */
            _this.sortConditions = [];
            /** 排序 */
            _this.sorting = undefined;
            /** 模糊搜索的文本 */
            _this.filterText = '';
            /** 数据表的数据源 */
            _this.dataList = [];
            /** 布尔类型表格列头过滤列表 */
            _this.booleanFilterList = [
                { text: _this.l('All'), value: 'All' },
                { text: _this.l('Yes'), value: true },
                { text: _this.l('No'), value: false }
            ];
            return _this;
        }
        PagedListingComponentBaseDirective.prototype.ngOnInit = function () {
            this.refresh();
        };
        /** 刷新表格数据 */
        PagedListingComponentBaseDirective.prototype.refresh = function () {
            this.restCheckStatus(this.dataList);
            this.getDataPage(this.pageNumber);
        };
        /** 刷新表格数据并跳转到第一页(`pageNumber = 1`) */
        PagedListingComponentBaseDirective.prototype.refreshGoFirstPage = function () {
            this.pageNumber = 1;
            this.restCheckStatus(this.dataList);
            this.getDataPage(this.pageNumber);
        };
        /** 获取数据页 */
        PagedListingComponentBaseDirective.prototype.getDataPage = function (page) {
            var _this = this;
            var req = new PagedRequestDto();
            req.maxResultCount = this.pageSize;
            req.skipCount = (page - 1) * this.pageSize;
            req.sorting = this.sorting;
            this.isTableLoading = true;
            this.fetchDataList(req, page, function () {
                _this.isTableLoading = false;
                // 更新全选框禁用状态
                _this.refreshAllCheckBoxDisabled();
            });
        };
        /** 刷新全选框是否禁用 */
        PagedListingComponentBaseDirective.prototype.refreshAllCheckBoxDisabled = function () {
            this.allCheckboxDisabled = this.dataList.length <= 0;
        };
        /** 当页码发生改变 */
        PagedListingComponentBaseDirective.prototype.pageNumberChange = function () {
            if (this.pageNumber > 0) {
                this.refresh();
            }
        };
        /**
         * 选中全部记录
         * @param value 是否选中
         */
        PagedListingComponentBaseDirective.prototype.checkAll = function (value) {
            var _this = this;
            this.dataList.forEach(function (data) { return data.checked = _this.allChecked; });
            this.refreshCheckStatus(this.dataList);
        };
        /**
         * 刷新选中状态
         * @param entityList 数据集合
         */
        PagedListingComponentBaseDirective.prototype.refreshCheckStatus = function (entityList) {
            // 是否全部选中
            var allChecked = entityList.every(function (value) { return value.checked === true; });
            // 是否全部未选中
            var allUnChecked = entityList.every(function (value) { return !value.checked; });
            // 是否全选
            this.allChecked = allChecked;
            // 全选框样式控制
            this.checkboxIndeterminate = !allChecked && !allUnChecked;
            // 已选中数据
            this.selectedDataItems = entityList.filter(function (value) { return value.checked; });
        };
        /**
         * 重置选中状态
         * @param entityList 数据集合
         */
        PagedListingComponentBaseDirective.prototype.restCheckStatus = function (entityList) {
            if (!Array.isArray(entityList)) {
                entityList = this.dataList;
            }
            this.allChecked = false;
            this.checkboxIndeterminate = false;
            // 已选中数据
            this.selectedDataItems = [];
            // 设置数据为未选中状态
            entityList.forEach(function (value) { return (value.checked = false); });
        };
        /**
         * 计算分页
         * @param result 分页结果Dto
         * @param pageNumber 当前页码
         */
        PagedListingComponentBaseDirective.prototype.showPaging = function (result) {
            this.totalItems = result.totalCount;
            this.totalPages = Math.ceil(this.totalItems / this.pageSize);
        };
        /** 排序条件发生改变 */
        PagedListingComponentBaseDirective.prototype.onSortChange = function (sortConditions, sorting) {
            this.sortConditions = sortConditions !== null && sortConditions !== void 0 ? sortConditions : [];
            this.sorting = sorting;
            this.refresh();
        };
        /** 数据表格排序 */
        PagedListingComponentBaseDirective.prototype.gridSort = function (sort) {
            this.sorting = undefined;
            this.sortConditions = [];
            var ascOrDesc = sort.value; // 'ascend' or 'descend' or null
            var filedName = sort.key; // 字段名
            if (ascOrDesc) {
                ascOrDesc = abp.utils.replaceAll(ascOrDesc, 'end', '');
                var args = ['{0} {1}', filedName, ascOrDesc];
                var sortingStr = abp.utils.formatString.apply(this, args);
                this.sorting = sortingStr;
                this.sortConditions.push({
                    field: filedName,
                    order: 0,
                    type: ascOrDesc === 'asc' ? exports.SortType.Asc : exports.SortType.Desc
                });
            }
            this.refresh();
        };
        /**
         * 权限列表验证
         * @param permissions 权限名称列表
         */
        PagedListingComponentBaseDirective.prototype.isGrantedAny = function () {
            var e_1, _a;
            var permissions = [];
            for (var _i = 0; _i < arguments.length; _i++) {
                permissions[_i] = arguments[_i];
            }
            if (!permissions) {
                return false;
            }
            try {
                for (var permissions_1 = __values(permissions), permissions_1_1 = permissions_1.next(); !permissions_1_1.done; permissions_1_1 = permissions_1.next()) {
                    var permission = permissions_1_1.value;
                    if (this.isGranted(permission)) {
                        return true;
                    }
                }
            }
            catch (e_1_1) { e_1 = { error: e_1_1 }; }
            finally {
                try {
                    if (permissions_1_1 && !permissions_1_1.done && (_a = permissions_1.return)) _a.call(permissions_1);
                }
                finally { if (e_1) throw e_1.error; }
            }
            return false;
        };
        /** st change事件 */
        PagedListingComponentBaseDirective.prototype.stChange = function (e) {
            switch (e.type) {
                case 'checkbox': // 多选
                    var checked = e.checkbox;
                    this.refreshCheckStatus(checked);
                    break;
                case 'radio': // 单选
                    this.refreshCheckStatus([e.radio]);
                    break;
                case 'sort': // 排序
                    var sortMap = this.processSorting(e);
                    this.onSortChange(this.toSortConditions(sortMap), this.toSortingString(sortMap));
                    break;
                case 'pi': // page index 修改
                    this.pageNumber = e.pi;
                    this.pageNumberChange();
                    break;
                case 'ps': // page size 修改
                    this.pageSize = e.ps;
                    this.refresh();
                    break;
            }
        };
        /** STChange 转 sort cond */
        PagedListingComponentBaseDirective.prototype.toSortConditions = function (sortMap) {
            if (!sortMap) {
                return [];
            }
            var index = 0;
            var sortConditions = [];
            // tslint:disable-next-line:forin
            for (var key in sortMap) {
                sortConditions.push({
                    field: key,
                    order: index++,
                    type: sortMap[key]
                });
            }
            return sortConditions;
        };
        /** STChange 转 sorting */
        PagedListingComponentBaseDirective.prototype.toSortingString = function (sortMap) {
            if (!sortMap) {
                return '';
            }
            // 处理数据
            var sorting = '';
            // tslint:disable-next-line:forin
            for (var key in sortMap) {
                sorting += key + " " + sortMap[key] + ",";
            }
            // 截取最后的字符串
            if (sorting.endsWith(',')) {
                sorting = sorting.substr(0, sorting.length - 1);
            }
            return sorting;
        };
        /** 预处理sorting数据 */
        PagedListingComponentBaseDirective.prototype.processSorting = function (input) {
            // 结果集
            var sortMap = {};
            if (input.type !== 'sort') {
                return sortMap;
            }
            var sortType = exports.SortType.None;
            // tslint:disable-next-line:no-string-literal
            var inputSortStringArr = input.sort.map['sort'].split('-');
            inputSortStringArr.forEach(function (o) {
                var lastIndex = o.lastIndexOf('.');
                var field = o.substring(0, lastIndex);
                var fieldSortType = o.substring(lastIndex + 1, o.length);
                sortType = exports.SortType.None;
                switch (fieldSortType) {
                    case 'descend':
                        sortType = exports.SortType.Desc;
                        break;
                    case 'ascend':
                        sortType = exports.SortType.Asc;
                        break;
                }
                if (sortType !== exports.SortType.None) {
                    sortMap[field] = sortType;
                }
            });
            return sortMap;
        };
        return PagedListingComponentBaseDirective;
    }(AppComponentBaseDirective));
    PagedListingComponentBaseDirective.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0__namespace, type: PagedListingComponentBaseDirective, deps: [{ token: i0__namespace.Injector }], target: i0__namespace.ɵɵFactoryTarget.Directive });
    PagedListingComponentBaseDirective.ɵdir = i0__namespace.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "12.2.13", type: PagedListingComponentBaseDirective, usesInheritance: true, ngImport: i0__namespace });
    i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0__namespace, type: PagedListingComponentBaseDirective, decorators: [{
                type: i0.Directive
            }], ctorParameters: function () { return [{ type: i0__namespace.Injector }]; } });

    var ModalPagedListingComponentBaseDirective = /** @class */ (function (_super) {
        __extends(ModalPagedListingComponentBaseDirective, _super);
        /**
         * 构造函数
         * @param injector 注入器
         * @param _nzModalRef nzModal 模态框关闭、销毁等处理帮助,只能在modal中打开的组件中注入,非modal打开的组件注入null即可,否则报错。因为nzModalRef是建立在nzModalComponent之上的。
         */
        function ModalPagedListingComponentBaseDirective(injector) {
            var _this = _super.call(this, injector) || this;
            _this.title = '';
            _this.nzModalRef = injector.get(modal.NzModalRef);
            return _this;
        }
        /**
         * 带参数回传关闭
         * @param result 回传参数
         */
        ModalPagedListingComponentBaseDirective.prototype.success = function (result) {
            if (result === void 0) { result = true; }
            if (result) {
                this.nzModalRef.close(result);
            }
            else {
                this.close();
            }
        };
        ModalPagedListingComponentBaseDirective.prototype.close = function ($event) {
            this.nzModalRef.close();
        };
        return ModalPagedListingComponentBaseDirective;
    }(PagedListingComponentBaseDirective));
    ModalPagedListingComponentBaseDirective.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0__namespace, type: ModalPagedListingComponentBaseDirective, deps: [{ token: i0__namespace.Injector }], target: i0__namespace.ɵɵFactoryTarget.Directive });
    ModalPagedListingComponentBaseDirective.ɵdir = i0__namespace.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "12.2.13", type: ModalPagedListingComponentBaseDirective, usesInheritance: true, ngImport: i0__namespace });
    i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0__namespace, type: ModalPagedListingComponentBaseDirective, decorators: [{
                type: i0.Directive
            }], ctorParameters: function () { return [{ type: i0__namespace.Injector }]; } });

    /***
     * 简单控件基类
     */
    var SampleControlComponentBaseDirective = /** @class */ (function (_super) {
        __extends(SampleControlComponentBaseDirective, _super);
        function SampleControlComponentBaseDirective(injector) {
            var _this = _super.call(this, injector) || this;
            /** 占位符 */
            _this.placeholder = '';
            /** 值发生更改事件 */
            _this.valueChange = new i0.EventEmitter();
            _this.cdr = injector.get(i0.ChangeDetectorRef);
            return _this;
        }
        SampleControlComponentBaseDirective.prototype.ngOnInit = function () {
            this.onInit();
        };
        SampleControlComponentBaseDirective.prototype.ngAfterViewInit = function () {
            this.onAfterViewInit();
        };
        SampleControlComponentBaseDirective.prototype.ngOnChanges = function (changes) {
            this.onInputChange(changes);
        };
        SampleControlComponentBaseDirective.prototype.ngOnDestroy = function () {
            this.onDestroy();
        };
        SampleControlComponentBaseDirective.prototype.emitValueChange = function (val) {
            this.value = val;
            this.valueChange.emit(val);
        };
        return SampleControlComponentBaseDirective;
    }(SampleComponentBaseDirective));
    SampleControlComponentBaseDirective.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0__namespace, type: SampleControlComponentBaseDirective, deps: [{ token: i0__namespace.Injector }], target: i0__namespace.ɵɵFactoryTarget.Directive });
    SampleControlComponentBaseDirective.ɵdir = i0__namespace.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "12.2.13", type: SampleControlComponentBaseDirective, inputs: { placeholder: "placeholder", enabledClear: "enabledClear", enabledFileter: "enabledFileter", disabled: "disabled", value: "value" }, outputs: { valueChange: "valueChange" }, usesInheritance: true, usesOnChanges: true, ngImport: i0__namespace });
    i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0__namespace, type: SampleControlComponentBaseDirective, decorators: [{
                type: i0.Directive
            }], ctorParameters: function () { return [{ type: i0__namespace.Injector }]; }, propDecorators: { placeholder: [{
                    type: i0.Input
                }], enabledClear: [{
                    type: i0.Input
                }], enabledFileter: [{
                    type: i0.Input
                }], disabled: [{
                    type: i0.Input
                }], value: [{
                    type: i0.Input
                }], valueChange: [{
                    type: i0.Output
                }] } });

    /***
     * 表单控件基类
     */
    var ControlComponentBaseDirective = /** @class */ (function (_super) {
        __extends(ControlComponentBaseDirective, _super);
        function ControlComponentBaseDirective(injector) {
            var _this = _super.call(this, injector) || this;
            _this.cdr = injector.get(i0.ChangeDetectorRef);
            return _this;
        }
        ControlComponentBaseDirective.prototype.ngOnChanges = function (changes) {
            if (changes.value) {
                this.writeValue(changes.value.currentValue);
            }
            this.onInputChange(changes);
        };
        ControlComponentBaseDirective.prototype.registerOnChange = function (fn) {
            this.valueChange.emit = fn;
        };
        ControlComponentBaseDirective.prototype.registerOnTouched = function (fn) {
        };
        ControlComponentBaseDirective.prototype.setDisabledState = function (isDisabled) {
            this.disabled = isDisabled;
        };
        ControlComponentBaseDirective.prototype.writeValue = function (obj) {
            this.value = obj;
            this.cdr.detectChanges();
        };
        return ControlComponentBaseDirective;
    }(SampleControlComponentBaseDirective));
    ControlComponentBaseDirective.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0__namespace, type: ControlComponentBaseDirective, deps: [{ token: i0__namespace.Injector }], target: i0__namespace.ɵɵFactoryTarget.Directive });
    ControlComponentBaseDirective.ɵdir = i0__namespace.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "12.2.13", type: ControlComponentBaseDirective, inputs: { name: "name" }, usesInheritance: true, usesOnChanges: true, ngImport: i0__namespace });
    i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0__namespace, type: ControlComponentBaseDirective, decorators: [{
                type: i0.Directive
            }], ctorParameters: function () { return [{ type: i0__namespace.Injector }]; }, propDecorators: { name: [{
                    type: i0.Input
                }] } });

    function appModuleAnimation() {
        return slideFromBottom();
    }
    function accountModuleAnimation() {
        return slideFromUp();
    }
    function slideFromBottom() {
        return animations.trigger('routerTransition', [
            animations.state('void', animations.style({ 'padding-top': '20px', opacity: '0' })),
            animations.state('*', animations.style({ 'padding-top': '0px', opacity: '1' })),
            animations.transition(':enter', [
                animations.animate('0.33s ease-out', animations.style({ opacity: '1', 'padding-top': '0px' }))
            ])
        ]);
    }
    function slideFromUp() {
        return animations.trigger('routerTransition', [
            animations.state('void', animations.style({ 'margin-top': '10px', opacity: '0' })),
            animations.state('*', animations.style({ 'margin-top': '0px', opacity: '1' })),
            animations.transition(':enter', [
                animations.animate('0.3s ease-out', animations.style({ opacity: '1', 'margin-top': '0px' }))
            ])
        ]);
    }

    var ImgShowComponent = /** @class */ (function (_super) {
        __extends(ImgShowComponent, _super);
        function ImgShowComponent(injector) {
            var _this = _super.call(this, injector) || this;
            _this.imgUrl = '';
            return _this;
        }
        return ImgShowComponent;
    }(ModalComponentBaseDirective));
    ImgShowComponent.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0__namespace, type: ImgShowComponent, deps: [{ token: i0__namespace.Injector }], target: i0__namespace.ɵɵFactoryTarget.Component });
    ImgShowComponent.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.13", type: ImgShowComponent, selector: "l-img-show", usesInheritance: true, ngImport: i0__namespace, template: "<img [src]=\"imgUrl\" style=\"width:100%;height:100%;margin-top: 20px;\" />\n" });
    i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0__namespace, type: ImgShowComponent, decorators: [{
                type: i0.Component,
                args: [{
                        selector: 'l-img-show',
                        templateUrl: './img-show.component.html',
                        styles: []
                    }]
            }], ctorParameters: function () { return [{ type: i0__namespace.Injector }]; } });

    var NoDataComponent = /** @class */ (function (_super) {
        __extends(NoDataComponent, _super);
        // endregion
        function NoDataComponent(injector) {
            var _this = _super.call(this, injector) || this;
            /**
             * 图标
             */
            _this.icon = 'iconfont icon-frown-o';
            return _this;
        }
        NoDataComponent.prototype.ngOnInit = function () {
            if (!this.text) {
                this.text = this.l('NoData');
            }
        };
        return NoDataComponent;
    }(SampleComponentBaseDirective));
    NoDataComponent.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0__namespace, type: NoDataComponent, deps: [{ token: i0__namespace.Injector }], target: i0__namespace.ɵɵFactoryTarget.Component });
    NoDataComponent.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.13", type: NoDataComponent, selector: "l-no-data", inputs: { text: "text", icon: "icon" }, usesInheritance: true, ngImport: i0__namespace, template: "\n    <span class=\"no-result-data\">\n      <i *ngIf=\"icon\" [class]=\"icon\"></i>\n      <span>{{ text }}</span>\n    </span>\n  ", isInline: true, styles: ["\n      .no-result-data {\n        color: rgba(0, 0, 0, 0.25);\n        text-align: center;\n        line-height: 64px;\n        font-size: 16px;\n        margin: 0 auto;\n      }\n\n      .no-result-data i {\n        font-size: 24px;\n        margin-right: 16px;\n        position: relative;\n        top: 3px;\n      }\n    "], directives: [{ type: i3__namespace.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] });
    i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0__namespace, type: NoDataComponent, decorators: [{
                type: i0.Component,
                args: [{
                        selector: 'l-no-data',
                        template: "\n    <span class=\"no-result-data\">\n      <i *ngIf=\"icon\" [class]=\"icon\"></i>\n      <span>{{ text }}</span>\n    </span>\n  ",
                        styles: [
                            "\n      .no-result-data {\n        color: rgba(0, 0, 0, 0.25);\n        text-align: center;\n        line-height: 64px;\n        font-size: 16px;\n        margin: 0 auto;\n      }\n\n      .no-result-data i {\n        font-size: 24px;\n        margin-right: 16px;\n        position: relative;\n        top: 3px;\n      }\n    ",
                        ],
                        preserveWhitespaces: false,
                    }]
            }], ctorParameters: function () { return [{ type: i0__namespace.Injector }]; }, propDecorators: { text: [{
                    type: i0.Input
                }], icon: [{
                    type: i0.Input
                }] } });

    var PageGridComponent = /** @class */ (function () {
        function PageGridComponent(el, rend, titleSrv, reuseSrv) {
            this.el = el;
            this.rend = rend;
            this.titleSrv = titleSrv;
            this.reuseSrv = reuseSrv;
            this.loading = false;
            this.noSpacing = false;
        }
        Object.defineProperty(PageGridComponent.prototype, "title", {
            set: function (value) {
                if (value) {
                    if (this.titleSrv) {
                        this.titleSrv.setTitle(value);
                    }
                    if (this.reuseSrv) {
                        this.reuseSrv.title = value;
                    }
                }
            },
            enumerable: false,
            configurable: true
        });
        PageGridComponent.prototype.ngAfterViewInit = function () {
            var _this = this;
            if (this.style) {
                Object.keys(this.style).forEach(function (key) {
                    _this.rend.setStyle(_this.el.nativeElement, key, _this.style[key]);
                });
            }
        };
        return PageGridComponent;
    }());
    PageGridComponent.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0__namespace, type: PageGridComponent, deps: [{ token: i0__namespace.ElementRef }, { token: i0__namespace.Renderer2 }, { token: i3.TitleService, optional: true }, { token: i4.ReuseTabService, optional: true }], target: i0__namespace.ɵɵFactoryTarget.Component });
    PageGridComponent.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.13", type: PageGridComponent, selector: "l-page-grid", inputs: { loading: "loading", noSpacing: "noSpacing", style: "style", title: "title" }, host: { properties: { "class.alain-pro__page-grid": "true", "class.alain-pro__page-grid-no-spacing": "noSpacing", "class.alain-pro__page-grid-wide": "false" } }, ngImport: i0__namespace, template: "<nz-spin [nzSpinning]=\"loading\">\n  <div *ngIf=\"loading\" class=\"brand-page-loading\"></div>\n  <ng-template nzDrawerContent></ng-template>\n</nz-spin>\n", components: [{ type: i11__namespace.NzSpinComponent, selector: "nz-spin", inputs: ["nzIndicator", "nzSize", "nzTip", "nzDelay", "nzSimple", "nzSpinning"], exportAs: ["nzSpin"] }], directives: [{ type: i3__namespace.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], changeDetection: i0__namespace.ChangeDetectionStrategy.OnPush });
    __decorate([
        util.InputBoolean()
    ], PageGridComponent.prototype, "loading", void 0);
    __decorate([
        util.InputBoolean()
    ], PageGridComponent.prototype, "noSpacing", void 0);
    i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0__namespace, type: PageGridComponent, decorators: [{
                type: i0.Component,
                args: [{
                        selector: 'l-page-grid',
                        templateUrl: './page-grid.component.html',
                        host: {
                            '[class.alain-pro__page-grid]': 'true',
                            '[class.alain-pro__page-grid-no-spacing]': 'noSpacing',
                            '[class.alain-pro__page-grid-wide]': 'false',
                        },
                        changeDetection: i0.ChangeDetectionStrategy.OnPush,
                    }]
            }], ctorParameters: function () {
            return [{ type: i0__namespace.ElementRef }, { type: i0__namespace.Renderer2 }, { type: i3__namespace$1.TitleService, decorators: [{
                            type: i0.Optional
                        }, {
                            type: i0.Inject,
                            args: [i3.TitleService]
                        }] }, { type: i4__namespace.ReuseTabService, decorators: [{
                            type: i0.Optional
                        }, {
                            type: i0.Inject,
                            args: [i4.ReuseTabService]
                        }] }];
        }, propDecorators: { loading: [{
                    type: i0.Input
                }], noSpacing: [{
                    type: i0.Input
                }], style: [{
                    type: i0.Input
                }], title: [{
                    type: i0.Input
                }] } });

    var ProLangsComponent = /** @class */ (function (_super) {
        __extends(ProLangsComponent, _super);
        function ProLangsComponent(injector, utilsService) {
            var _this = _super.call(this, injector) || this;
            _this.utilsService = utilsService;
            _this.placement = 'bottomRight';
            _this.btnClass = 'alain-pro__header-item';
            _this.btnIconClass = 'alain-pro__header-item-icon';
            return _this;
        }
        ProLangsComponent.prototype.ngOnInit = function () {
            this.languages = this.localization.languages.filter(function (l) { return !l.isDisabled; });
            //  _.filter(this.localization.languages, l => !l.isDisabled);
            this.currentLanguage = this.localization.currentLanguage;
        };
        ProLangsComponent.prototype.changeLanguage = function (languageName) {
            this.utilsService.setCookieValue('Abp.Localization.CultureName', languageName, new Date(new Date().getTime() + 5 * 365 * 86400000), // 5 year
            abp.appPath);
            location.reload();
        };
        return ProLangsComponent;
    }(SampleComponentBaseDirective));
    ProLangsComponent.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0__namespace, type: ProLangsComponent, deps: [{ token: i0__namespace.Injector }, { token: i1__namespace$1.UtilsService }], target: i0__namespace.ɵɵFactoryTarget.Component });
    ProLangsComponent.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.13", type: ProLangsComponent, selector: "l-pro-langs", inputs: { placement: "placement", btnClass: "btnClass", btnIconClass: "btnIconClass" }, usesInheritance: true, ngImport: i0__namespace, template: "<div nz-dropdown [nzDropdownMenu]=\"langMenu\" [nzPlacement]=\"placement\" [ngClass]=\"btnClass\">\n  <i nz-icon nzType=\"global\" [ngClass]=\"btnIconClass\"></i>\n</div>\n<nz-dropdown-menu #langMenu=\"nzDropdownMenu\">\n  <div nz-menu class=\"width-sm\" *ngIf=\"languages && currentLanguage\">\n    <li nz-menu-item *ngFor=\"let item of languages\" [nzSelected]=\"item.name == currentLanguage.name\" (click)=\"changeLanguage(item.name)\">\n      <i class=\"anticon {{ item.icon }}\"></i>\n      <span>{{ item.displayName }}</span>\n    </li>\n  </div>\n</nz-dropdown-menu>\n", components: [{ type: i2__namespace.NzDropdownMenuComponent, selector: "nz-dropdown-menu", exportAs: ["nzDropdownMenu"] }], directives: [{ type: i2__namespace.NzDropDownDirective, selector: "[nz-dropdown]", inputs: ["nzDropdownMenu", "nzTrigger", "nzMatchWidthElement", "nzHasBackdrop", "nzBackdrop", "nzClickHide", "nzDisabled", "nzVisible", "nzOverlayClassName", "nzOverlayStyle", "nzPlacement"], outputs: ["nzVisibleChange"], exportAs: ["nzDropdown"] }, { type: i3__namespace.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { type: i3__namespace.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i4__namespace$1.NzMenuDirective, selector: "[nz-menu]", inputs: ["nzInlineIndent", "nzTheme", "nzMode", "nzInlineCollapsed", "nzSelectable"], outputs: ["nzClick"], exportAs: ["nzMenu"] }, { type: i3__namespace.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i4__namespace$1.NzMenuItemDirective, selector: "[nz-menu-item]", inputs: ["nzDisabled", "nzSelected", "nzDanger", "nzMatchRouterExact", "nzMatchRouter", "nzPaddingLeft"], exportAs: ["nzMenuItem"] }] });
    i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0__namespace, type: ProLangsComponent, decorators: [{
                type: i0.Component,
                args: [{
                        selector: 'l-pro-langs',
                        templateUrl: './pro-langs.component.html',
                        styles: [],
                    }]
            }], ctorParameters: function () { return [{ type: i0__namespace.Injector }, { type: i1__namespace$1.UtilsService }]; }, propDecorators: { placement: [{
                    type: i0.Input
                }], btnClass: [{
                    type: i0.Input
                }], btnIconClass: [{
                    type: i0.Input
                }] } });

    var TableCheckboxPanelComponent = /** @class */ (function (_super) {
        __extends(TableCheckboxPanelComponent, _super);
        function TableCheckboxPanelComponent(injector) {
            var _this = _super.call(this, injector) || this;
            _this.onClear = new i0.EventEmitter();
            _this.onRefresh = new i0.EventEmitter();
            _this.selectLength = 0;
            return _this;
        }
        TableCheckboxPanelComponent.prototype.ngOnInit = function () {
        };
        TableCheckboxPanelComponent.prototype.onClearClick = function () {
            this.onClear.emit();
        };
        // 触发刷新方法,调用绑定的onRefresh事件
        TableCheckboxPanelComponent.prototype.onRefreshClick = function () {
            this.onRefresh.emit();
        };
        return TableCheckboxPanelComponent;
    }(SampleComponentBaseDirective));
    TableCheckboxPanelComponent.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0__namespace, type: TableCheckboxPanelComponent, deps: [{ token: i0__namespace.Injector }], target: i0__namespace.ɵɵFactoryTarget.Component });
    TableCheckboxPanelComponent.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.13", type: TableCheckboxPanelComponent, selector: "l-table-checkbox-panel", inputs: { selectLength: "selectLength" }, outputs: { onClear: "onClear", onRefresh: "onRefresh" }, usesInheritance: true, ngImport: i0__namespace, template: "<!-- \u590D\u9009\u6846\u63D0\u793A\u7684\u5185\u5BB9\u6570\u636E\u90E8\u5206 -->\n<div class=\"my-md\">\n  <nz-alert [nzType]=\"'info'\" [nzShowIcon]=\"true\" [nzMessage]=\"message\">\n    <ng-template #message>\n      <span [innerHTML]=\"l('GridSelectedXItemsTips', selectLength)\"></span>\n      <a (click)=\"onClearClick()\" class=\"ml-md\">\n        {{ l('ClearEmpty') }}\n      </a>\n      <nz-divider nzType=\"vertical\"></nz-divider>\n      <a (click)=\"onRefreshClick()\"> {{ l('Refresh') }} </a>\n    </ng-template>\n  </nz-alert>\n</div>\n", components: [{ type: i1__namespace$2.NzAlertComponent, selector: "nz-alert", inputs: ["nzCloseText", "nzIconType", "nzMessage", "nzDescription", "nzType", "nzCloseable", "nzShowIcon", "nzBanner", "nzNoAnimation"], outputs: ["nzOnClose"], exportAs: ["nzAlert"] }, { type: i2__namespace$1.NzDividerComponent, selector: "nz-divider", inputs: ["nzType", "nzOrientation", "nzDashed", "nzPlain", "nzText"], exportAs: ["nzDivider"] }] });
    i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0__namespace, type: TableCheckboxPanelComponent, decorators: [{
                type: i0.Component,
                args: [{
                        selector: 'l-table-checkbox-panel',
                        templateUrl: './table-checkbox-panel.component.html',
                        styles: [],
                    }]
            }], ctorParameters: function () { return [{ type: i0__namespace.Injector }]; }, propDecorators: { onClear: [{
                    type: i0.Output
                }], onRefresh: [{
                    type: i0.Output
                }], selectLength: [{
                    type: i0.Input
                }] } });

    var NG_ZORRO_MODULES = [
        i9.NzSelectModule,
        i2.NzDropDownModule,
        i11.NzSpinModule,
        i1$2.NzAlertModule,
        i2$1.NzDividerModule,
    ];
    var ENTRY_COMPONENTS$1 = [
        ImgShowComponent,
    ];
    var ALL_COMPONENTS = __spreadArray([
        NoDataComponent,
        PageGridComponent,
        ProLangsComponent,
        TableCheckboxPanelComponent
    ], __read(ENTRY_COMPONENTS$1));
    /** 自定义组件模块 */
    var LComponentsModule = /** @class */ (function () {
        function LComponentsModule() {
        }
        return LComponentsModule;
    }());
    LComponentsModule.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0__namespace, type: LComponentsModule, deps: [], target: i0__namespace.ɵɵFactoryTarget.NgModule });
    LComponentsModule.ɵmod = i0__namespace.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0__namespace, type: LComponentsModule, declarations: [NoDataComponent,
            PageGridComponent,
            ProLangsComponent,
            TableCheckboxPanelComponent, ImgShowComponent], imports: [i3$1.CommonModule, i9.NzSelectModule,
            i2.NzDropDownModule,
            i11.NzSpinModule,
            i1$2.NzAlertModule,
            i2$1.NzDividerModule], exports: [NoDataComponent,
            PageGridComponent,
            ProLangsComponent,
            TableCheckboxPanelComponent, ImgShowComponent] });
    LComponentsModule.ɵinj = i0__namespace.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0__namespace, type: LComponentsModule, imports: [__spreadArray([
                i3$1.CommonModule
            ], __read(NG_ZORRO_MODULES))] });
    i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0__namespace, type: LComponentsModule, decorators: [{
                type: i0.NgModule,
                args: [{
                        imports: __spreadArray([
                            i3$1.CommonModule
                        ], __read(NG_ZORRO_MODULES)),
                        declarations: __spreadArray([], __read(ALL_COMPONENTS)),
                        exports: __spreadArray([], __read(ALL_COMPONENTS)),
                        entryComponents: __spreadArray([], __read(ENTRY_COMPONENTS$1))
                    }]
            }] });

    var AutoFocusDirective = /** @class */ (function () {
        function AutoFocusDirective(element) {
            this.element = element;
        }
        AutoFocusDirective.prototype.ngAfterViewInit = function () {
            var ele = this.element.nativeElement;
            if (ele) {
                ele.focus();
            }
        };
        return AutoFocusDirective;
    }());
    AutoFocusDirective.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0__namespace, type: AutoFocusDirective, deps: [{ token: i0__namespace.ElementRef }], target: i0__namespace.ɵɵFactoryTarget.Directive });
    AutoFocusDirective.ɵdir = i0__namespace.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "12.2.13", type: AutoFocusDirective, selector: "[autoFocus]", ngImport: i0__namespace });
    i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0__namespace, type: AutoFocusDirective, decorators: [{
                type: i0.Directive,
                args: [{
                        selector: '[autoFocus]',
                    }]
            }], ctorParameters: function () { return [{ type: i0__namespace.ElementRef }]; } });

    var PerfectScrollbarEvents = [
        'psScrollY',
        'psScrollX',
        'psScrollUp',
        'psScrollDown',
        'psScrollLeft',
        'psScrollRight',
        'psYReachEnd',
        'psYReachStart',
        'psXReachEnd',
        'psXReachStart',
    ];

    var ScrollbarDirective = /** @class */ (function () {
        function ScrollbarDirective(elRef, zone) {
            this.elRef = elRef;
            this.zone = zone;
            this.instance = null;
            this.ngDestroy = new rxjs.Subject();
            this._disabled = false;
            this.options = {};
            this.psScrollX = new i0.EventEmitter();
            this.psScrollY = new i0.EventEmitter();
            this.psScrollUp = new i0.EventEmitter();
            this.psScrollDown = new i0.EventEmitter();
            this.psScrollLeft = new i0.EventEmitter();
            this.psScrollRight = new i0.EventEmitter();
            this.psXReachStart = new i0.EventEmitter();
            this.psXReachEnd = new i0.EventEmitter();
            this.psYReachStart = new i0.EventEmitter();
            this.psYReachEnd = new i0.EventEmitter();
        }
        Object.defineProperty(ScrollbarDirective.prototype, "disabled", {
            set: function (value) {
                this._disabled = util.toBoolean(value);
                if (this._disabled) {
                    this.ngOnDestroy();
                }
                else {
                    this.init();
                }
            },
            enumerable: false,
            configurable: true
        });
        Object.defineProperty(ScrollbarDirective.prototype, "el", {
            get: function () {
                return this.elRef.nativeElement;
            },
            enumerable: false,
            configurable: true
        });
        ScrollbarDirective.prototype.scrollToBottom = function () {
            this.el.scrollTop = this.el.scrollHeight - this.el.clientHeight;
        };
        ScrollbarDirective.prototype.scrollToTop = function () {
            this.el.scrollTop = 0;
        };
        ScrollbarDirective.prototype.scrollToLeft = function () {
            this.el.scrollLeft = 0;
        };
        ScrollbarDirective.prototype.scrollToRight = function () {
            this.el.scrollLeft = this.el.scrollWidth - this.el.clientWidth;
        };
        ScrollbarDirective.prototype.init = function () {
            var _this = this;
            this.zone.runOutsideAngular(function () {
                var options = Object.assign({ wheelSpeed: 0.5, swipeEasing: true, wheelPropagation: false, minScrollbarLength: 40, maxScrollbarLength: 300 }, _this.options);
                setTimeout(function () {
                    if (_this._disabled) {
                        return;
                    }
                    _this.instance = new PerfectScrollbar__default["default"](_this.el, options);
                    PerfectScrollbarEvents.forEach(function (eventName) {
                        var eventType = eventName.replace(/([A-Z])/g, function (c) { return "-" + c.toLowerCase(); });
                        rxjs.fromEvent(_this.el, eventType)
                            .pipe(operators.debounceTime(20), operators.takeUntil(_this.ngDestroy))
                            .subscribe(function (event) {
                            _this[eventName].emit(event);
                        });
                    });
                }, _this.options.delay || 0);
            });
        };
        ScrollbarDirective.prototype.ngOnDestroy = function () {
            var _this = this;
            this.ngDestroy.next();
            this.ngDestroy.complete();
            this.zone.runOutsideAngular(function () {
                if (_this.instance) {
                    _this.instance.destroy();
                }
                _this.instance = null;
            });
        };
        ScrollbarDirective.prototype.ngAfterViewInit = function () {
            this.init();
        };
        return ScrollbarDirective;
    }());
    ScrollbarDirective.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0__namespace, type: ScrollbarDirective, deps: [{ token: i0__namespace.ElementRef }, { token: i0__namespace.NgZone }], target: i0__namespace.ɵɵFactoryTarget.Directive });
    ScrollbarDirective.ɵdir = i0__namespace.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "12.2.13", type: ScrollbarDirective, selector: "[Scrollbar]", inputs: { options: ["scrollbar", "options"], disabled: "disabled" }, outputs: { psScrollX: "psScrollX", psScrollY: "psScrollY", psScrollUp: "psScrollUp", psScrollDown: "psScrollDown", psScrollLeft: "psScrollLeft", psScrollRight: "psScrollRight", psXReachStart: "psXReachStart", psXReachEnd: "psXReachEnd", psYReachStart: "psYReachStart", psYReachEnd: "psYReachEnd" }, exportAs: ["scrollbarComp"], ngImport: i0__namespace });
    i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0__namespace, type: ScrollbarDirective, decorators: [{
                type: i0.Directive,
                args: [{
                        selector: '[Scrollbar]',
                        exportAs: 'scrollbarComp',
                    }]
            }], ctorParameters: function () { return [{ type: i0__namespace.ElementRef }, { type: i0__namespace.NgZone }]; }, propDecorators: { options: [{
                    type: i0.Input,
                    args: ['scrollbar']
                }], disabled: [{
                    type: i0.Input
                }], psScrollX: [{
                    type: i0.Output
                }], psScrollY: [{
                    type: i0.Output
                }], psScrollUp: [{
                    type: i0.Output
                }], psScrollDown: [{
                    type: i0.Output
                }], psScrollLeft: [{
                    type: i0.Output
                }], psScrollRight: [{
                    type: i0.Output
                }], psXReachStart: [{
                    type: i0.Output
                }], psXReachEnd: [{
                    type: i0.Output
                }], psYReachStart: [{
                    type: i0.Output
                }], psYReachEnd: [{
                    type: i0.Output
                }] } });

    // Got from: https://scotch.io/tutorials/how-to-implement-a-custom-validator-directive-confirm-password-in-angular-2
    var EqualValidator = /** @class */ (function () {
        function EqualValidator() {
            this._default = {};
            this._enabled = false;
        }
        Object.defineProperty(EqualValidator.prototype, "confirm", {
            set: function (value) {
                this._confirmValue = value;
                this._enabled = typeof (value) === 'string';
                if (this._onChange) {
                    this._onChange();
                }
            },
            enumerable: false,
            configurable: true
        });
        Object.defineProperty(EqualValidator.prototype, "validateEqual", {
            set: function (value) {
                this.confirm = value;
            },
            enumerable: false,
            configurable: true
        });
        EqualValidator.prototype.validate = function (control) {
            if (!this._enabled) {
                return this._default;
            }
            if (!control.value || control.value.trim() === '') {
                return this._default;
            }
            if (control.value !== this._confirmValue) {
                return { validateEqual: true, confirm: true, error: true };
            }
            return this._default;
        };
        EqualValidator.prototype.registerOnValidatorChange = function (fn) {
            this._onChange = fn;
        };
        return EqualValidator;
    }());
    EqualValidator.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0__namespace, type: EqualValidator, deps: [], target: i0__namespace.ɵɵFactoryTarget.Directive });
    EqualValidator.ɵdir = i0__namespace.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "12.2.13", type: EqualValidator, selector: "[validateEqual][formControlName],[validateEqual][formControl],[validateEqual][ngModel],:not([type=checkbox])[confirm][formControlName],:not([type=checkbox])[confirm][formControl],:not([type=checkbox])[confirm][ngModel]", inputs: { confirm: "confirm", validateEqual: "validateEqual" }, providers: [
            {
                provide: i2$2.NG_VALIDATORS,
                useExisting: i0.forwardRef(function () { return EqualValidator; }),
                multi: true,
            },
        ], ngImport: i0__namespace });
    i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0__namespace, type: EqualValidator, decorators: [{
                type: i0.Directive,
                args: [{
                        selector: '[validateEqual][formControlName],[validateEqual][formControl],[validateEqual][ngModel],:not([type=checkbox])[confirm][formControlName],:not([type=checkbox])[confirm][formControl],:not([type=checkbox])[confirm][ngModel]',
                        providers: [
                            {
                                provide: i2$2.NG_VALIDATORS,
                                useExisting: i0.forwardRef(function () { return EqualValidator; }),
                                multi: true,
                            },
                        ],
                    }]
            }], ctorParameters: function () { return []; }, propDecorators: { confirm: [{
                    type: i0.Input
                }], validateEqual: [{
                    type: i0.Input
                }] } });

    var ExpressionValidator = /** @class */ (function () {
        function ExpressionValidator() {
        }
        ExpressionValidator.prototype.validate = function (control) {
            var e_1, _a;
            var validationResult = null;
            if (!this.expression) {
                return validationResult;
            }
            if (!control.value || control.value.length < 0) {
                return validationResult;
            }
            var currentValue = control.value;
            var error = false;
            var regexp;
            if (Array.isArray(this.expression)) {
                try {
                    for (var _b = __values(this.expression), _c = _b.next(); !_c.done; _c = _b.next()) {
                        var item = _c.value;
                        regexp = new RegExp(item);
                        if (!regexp.test(currentValue)) {
                            error = true;
                            break;
                        }
                    }
                }
                catch (e_1_1) { e_1 = { error: e_1_1 }; }
                finally {
                    try {
                        if (_c && !_c.done && (_a = _b.return)) _a.call(_b);
                    }
                    finally { if (e_1) throw e_1.error; }
                }
            }
            else {
                regexp = new RegExp(this.expression);
                error = !regexp.test(currentValue);
            }
            if (error) {
                validationResult = {};
                validationResult.expression = true;
            }
            else {
                validationResult = null;
            }
            return validationResult;
        };
        return ExpressionValidator;
    }());
    ExpressionValidator.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0__namespace, type: ExpressionValidator, deps: [], target: i0__namespace.ɵɵFactoryTarget.Directive });
    ExpressionValidator.ɵdir = i0__namespace.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "12.2.13", type: ExpressionValidator, selector: "[expression]", inputs: { expression: "expression" }, providers: [
            {
                provide: i2$2.NG_VALIDATORS,
                useExisting: i0.forwardRef(function () { return ExpressionValidator; }),
                multi: true,
            },
        ], ngImport: i0__namespace });
    i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0__namespace, type: ExpressionValidator, decorators: [{
                type: i0.Directive,
                args: [{
                        selector: '[expression]',
                        providers: [
                            {
                                provide: i2$2.NG_VALIDATORS,
                                useExisting: i0.forwardRef(function () { return ExpressionValidator; }),
                                multi: true,
                            },
                        ],
                    }]
            }], propDecorators: { expression: [{
                    type: i0.Input
                }] } });

    var MaxValueValidator = /** @class */ (function () {
        function MaxValueValidator() {
        }
        MaxValueValidator.prototype.validate = function (control) {
            var currentValue = control.value;
            var validationResult = null;
            if (!currentValue) {
                return validationResult;
            }
            var maxValue = this.maxValue;
            if (maxValue && currentValue > maxValue) {
                validationResult = validationResult || {};
                validationResult.maxValue = true;
            }
            return validationResult;
        };
        return MaxValueValidator;
    }());
    MaxValueValidator.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0__namespace, type: MaxValueValidator, deps: [], target: i0__namespace.ɵɵFactoryTarget.Directive });
    MaxValueValidator.ɵdir = i0__namespace.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "12.2.13", type: MaxValueValidator, selector: "[maxValue]", inputs: { maxValue: "maxValue" }, providers: [
            {
                provide: i2$2.NG_VALIDATORS,
                useExisting: i0.forwardRef(function () { return MaxValueValidator; }),
                multi: true,
            },
        ], ngImport: i0__namespace });
    i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0__namespace, type: MaxValueValidator, decorators: [{
                type: i0.Directive,
                args: [{
                        selector: '[maxValue]',
                        providers: [
                            {
                                provide: i2$2.NG_VALIDATORS,
                                useExisting: i0.forwardRef(function () { return MaxValueValidator; }),
                                multi: true,
                            },
                        ],
                    }]
            }], propDecorators: { maxValue: [{
                    type: i0.Input
                }] } });

    var MinValueValidator = /** @class */ (function () {
        function MinValueValidator() {
        }
        MinValueValidator.prototype.validate = function (control) {
            var currentValue = control.value;
            var validationResult = null;
            if (!currentValue) {
                return validationResult;
            }
            var minValue = this.minValue;
            if (minValue && currentValue < minValue) {
                validationResult = validationResult || {};
                validationResult.minValue = true;
            }
            return validationResult;
        };
        return MinValueValidator;
    }());
    MinValueValidator.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0__namespace, type: MinValueValidator, deps: [], target: i0__namespace.ɵɵFactoryTarget.Directive });
    MinValueValidator.ɵdir = i0__namespace.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "12.2.13", type: MinValueValidator, selector: "[minValue]", inputs: { minValue: "minValue" }, providers: [
            {
                provide: i2$2.NG_VALIDATORS,
                useExisting: i0.forwardRef(function () { return MinValueValidator; }),
                multi: true,
            },
        ], ngImport: i0__namespace });
    i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0__namespace, type: MinValueValidator, decorators: [{
                type: i0.Directive,
                args: [{
                        selector: '[minValue]',
                        providers: [
                            {
                                provide: i2$2.NG_VALIDATORS,
                                useExisting: i0.forwardRef(function () { return MinValueValidator; }),
                                multi: true,
                            },
                        ],
                    }]
            }], propDecorators: { minValue: [{
                    type: i0.Input
                }] } });

    var PasswordComplexityValidator = /** @class */ (function () {
        function PasswordComplexityValidator() {
        }
        PasswordComplexityValidator.prototype.validate = function (control) {
            var givenPassword = control.value;
            var validationResult = null;
            var requireDigit = this.requireDigit;
            if (requireDigit && givenPassword && !/[0-9]/.test(givenPassword)) {
                validationResult = validationResult || {};
                validationResult.requireDigit = true;
            }
            var requireUppercase = this.requireUppercase;
            if (requireUppercase && givenPassword && !/[A-Z]/.test(givenPassword)) {
                validationResult = validationResult || {};
                validationResult.requireUppercase = true;
            }
            var requireLowercase = this.requireLowercase;
            if (requireLowercase && givenPassword && !/[a-z]/.test(givenPassword)) {
                validationResult = validationResult || {};
                validationResult.requireLowercase = true;
            }
            var requiredLength = this.requiredLength;
            if (requiredLength &&
                givenPassword &&
                givenPassword.length < requiredLength) {
                validationResult = validationResult || {};
                validationResult.requiredLength = true;
            }
            // use upperCaseLetters
            var requireNonAlphanumeric = this.requireNonAlphanumeric;
            if (requireNonAlphanumeric &&
                givenPassword &&
                /^[0-9a-zA-Z]+$/.test(givenPassword)) {
                validationResult = validationResult || {};
                validationResult.requireNonAlphanumeric = true;
            }
            return validationResult;
        };
        return PasswordComplexityValidator;
    }());
    PasswordComplexityValidator.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0__namespace, type: PasswordComplexityValidator, deps: [], target: i0__namespace.ɵɵFactoryTarget.Directive });
    PasswordComplexityValidator.ɵdir = i0__namespace.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "12.2.13", type: PasswordComplexityValidator, selector: "[requireDigit],[requireLowercase],[requireNonAlphanumeric],[requireUppercase],[requiredLength]", inputs: { requireDigit: "requireDigit", requireUppercase: "requireUppercase", requireLowercase: "requireLowercase", requireNonAlphanumeric: "requireNonAlphanumeric", requiredLength: "requiredLength" }, providers: [
            {
                provide: i2$2.NG_VALIDATORS,
                useExisting: i0.forwardRef(function () { return PasswordComplexityValidator; }),
                multi: true,
            },
        ], ngImport: i0__namespace });
    i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0__namespace, type: PasswordComplexityValidator, decorators: [{
                type: i0.Directive,
                args: [{
                        selector: '[requireDigit],[requireLowercase],[requireNonAlphanumeric],[requireUppercase],[requiredLength]',
                        providers: [
                            {
                                provide: i2$2.NG_VALIDATORS,
                                useExisting: i0.forwardRef(function () { return PasswordComplexityValidator; }),
                                multi: true,
                            },
                        ],
                    }]
            }], propDecorators: { requireDigit: [{
                    type: i0.Input
                }], requireUppercase: [{
                    type: i0.Input
                }], requireLowercase: [{
                    type: i0.Input
                }], requireNonAlphanumeric: [{
                    type: i0.Input
                }], requiredLength: [{
                    type: i0.Input
                }] } });

    var VALIDATION_DIRECTIVES = [
        EqualValidator,
        MinValueValidator,
        PasswordComplexityValidator,
        ExpressionValidator,
        MaxValueValidator,
    ];
    var ALL_DIRECTIVES = __spreadArray([
        AutoFocusDirective,
        ScrollbarDirective
    ], __read(VALIDATION_DIRECTIVES));
    /** 自定义指令模块 */
    var LDirectivesModule = /** @class */ (function () {
        function LDirectivesModule() {
        }
        LDirectivesModule.forRoot = function () {
            return { ngModule: LDirectivesModule };
        };
        return LDirectivesModule;
    }());
    LDirectivesModule.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0__namespace, type: LDirectivesModule, deps: [], target: i0__namespace.ɵɵFactoryTarget.NgModule });
    LDirectivesModule.ɵmod = i0__namespace.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0__namespace, type: LDirectivesModule, declarations: [AutoFocusDirective,
            ScrollbarDirective, EqualValidator,
            MinValueValidator,
            PasswordComplexityValidator,
            ExpressionValidator,
            MaxValueValidator], imports: [i3$1.CommonModule], exports: [AutoFocusDirective,
            ScrollbarDirective, EqualValidator,
            MinValueValidator,
            PasswordComplexityValidator,
            ExpressionValidator,
            MaxValueValidator] });
    LDirectivesModule.ɵinj = i0__namespace.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0__namespace, type: LDirectivesModule, imports: [[i3$1.CommonModule]] });
    i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0__namespace, type: LDirectivesModule, decorators: [{
                type: i0.NgModule,
                args: [{
                        imports: [i3$1.CommonModule],
                        declarations: __spreadArray([], __read(ALL_DIRECTIVES)),
                        exports: __spreadArray([], __read(ALL_DIRECTIVES)),
                    }]
            }] });

    var OverlayComponent = /** @class */ (function () {
        function OverlayComponent(injector) {
            this.injector = injector;
            this.i18nSer = injector.get(i3.ALAIN_I18N_TOKEN);
        }
        OverlayComponent.prototype.ngOnInit = function () {
            this.loadingThreeDot = this.i18nSer.fanyi('LoadingThreeDot');
        };
        return OverlayComponent;
    }());
    OverlayComponent.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0__namespace, type: OverlayComponent, deps: [{ token: i0__namespace.Injector }], target: i0__namespace.ɵɵFactoryTarget.Component });
    OverlayComponent.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.13", type: OverlayComponent, selector: "l-overlay", ngImport: i0__namespace, template: "<!-- <nz-spin [nzTip]=\"loadingThreeDot\" nzSimple [nzSize]=\"'large'\"></nz-spin> -->\n", styles: [":host ::ng-deep nz-spin{display:inline-block;margin-right:16px}\n"] });
    i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0__namespace, type: OverlayComponent, decorators: [{
                type: i0.Component,
                args: [{
                        selector: 'l-overlay',
                        templateUrl: './overlay.component.html',
                        styleUrls: ['./overlay.component.less']
                    }]
            }], ctorParameters: function () { return [{ type: i0__namespace.Injector }]; } });

    var ENTRY_COMPONENTS = [
        OverlayComponent
    ];
    var LGlobalLoadingModule = /** @class */ (function () {
        function LGlobalLoadingModule() {
        }
        return LGlobalLoadingModule;
    }());
    LGlobalLoadingModule.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0__namespace, type: LGlobalLoadingModule, deps: [], target: i0__namespace.ɵɵFactoryTarget.NgModule });
    LGlobalLoadingModule.ɵmod = i0__namespace.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0__namespace, type: LGlobalLoadingModule, declarations: [OverlayComponent], imports: [i3$1.CommonModule] });
    LGlobalLoadingModule.ɵinj = i0__namespace.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0__namespace, type: LGlobalLoadingModule, imports: [[
                i3$1.CommonModule
            ]] });
    i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0__namespace, type: LGlobalLoadingModule, decorators: [{
                type: i0.NgModule,
                args: [{
                        imports: [
                            i3$1.CommonModule
                        ],
                        declarations: __spreadArray([], __read(ENTRY_COMPONENTS)),
                        entryComponents: __spreadArray([], __read(ENTRY_COMPONENTS))
                    }]
            }] });

    var LoadingService = /** @class */ (function () {
        function LoadingService(overlay) {
            this.overlay = overlay;
            this.showLoading = false;
        }
        /** 显示加载效果 */
        LoadingService.prototype.show = function (message, target) {
            if (message === void 0) { message = ''; }
            if (!this.showLoading) {
                var config = new i1$3.OverlayConfig();
                if (target) {
                    config.positionStrategy = this.overlay
                        .position()
                        .flexibleConnectedTo(target.element)
                        .withPositions([
                        {
                            originY: 'center',
                            originX: 'center',
                            overlayX: 'start',
                            overlayY: 'top'
                        }
                    ]);
                }
                else {
                    config.positionStrategy = this.overlay
                        .position()
                        .global()
                        .centerHorizontally() // 水平居中
                        .centerVertically();
                }
                config.hasBackdrop = true;
                this.overlayRef = this.overlay.create(config); // OverlayRef, overlay层
                this.overlayRef.attach(new portal.ComponentPortal(OverlayComponent, target));
                this.showLoading = true;
            }
        };
        /** 隐藏 */
        LoadingService.prototype.hide = function () {
            if (this.showLoading) {
                this.overlayRef.dispose();
                this.showLoading = false;
            }
        };
        LoadingService.include = function (componentType) {
            if (!LoadingService.appliedComponents.includes(componentType)) {
                LoadingService.appliedComponents.push(componentType);
            }
        };
        return LoadingService;
    }());
    LoadingService.appliedComponents = [];
    LoadingService.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0__namespace, type: LoadingService, deps: [{ token: i1__namespace$3.Overlay }], target: i0__namespace.ɵɵFactoryTarget.Injectable });
    LoadingService.ɵprov = i0__namespace.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0__namespace, type: LoadingService, providedIn: 'root' });
    i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0__namespace, type: LoadingService, decorators: [{
                type: i0.Injectable,
                args: [{
                        providedIn: 'root'
                    }]
            }], ctorParameters: function () { return [{ type: i1__namespace$3.Overlay }]; } });

    var LoadingInterceptor = /** @class */ (function () {
        function LoadingInterceptor(loadingOverlayService) {
            this.loadingOverlayService = loadingOverlayService;
        }
        LoadingInterceptor.prototype.intercept = function (req, next) {
            var _this = this;
            this.loadingOverlayService.show();
            return next.handle(req).pipe(operators.finalize(function () {
                setTimeout(function () {
                    _this.loadingOverlayService.hide();
                }, 500);
            }));
        };
        return LoadingInterceptor;
    }());
    LoadingInterceptor.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0__namespace, type: LoadingInterceptor, deps: [{ token: LoadingService }], target: i0__namespace.ɵɵFactoryTarget.Injectable });
    LoadingInterceptor.ɵprov = i0__namespace.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0__namespace, type: LoadingInterceptor });
    i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0__namespace, type: LoadingInterceptor, decorators: [{
                type: i0.Injectable
            }], ctorParameters: function () { return [{ type: LoadingService }]; } });

    /** 请求帮助器 */
    var RequestHelper = /** @class */ (function () {
        function RequestHelper() {
        }
        /**
         * 创建请求头
         */
        RequestHelper.createHttpHeaders = function () {
            var modifiedHeaders = new http.HttpHeaders();
            modifiedHeaders.append('Pragma', 'no-cache');
            modifiedHeaders.append('Cache-Control', 'no-cache');
            modifiedHeaders.append('Expires', 'Sat, 01 Jan 2000 00:00:00 GMT');
            modifiedHeaders = this.addXRequestedWithHeader(modifiedHeaders);
            modifiedHeaders = this.addAuthorizationHeaders(modifiedHeaders);
            modifiedHeaders = this.addAspNetCoreCultureHeader(modifiedHeaders);
            modifiedHeaders = this.addAcceptLanguageHeader(modifiedHeaders);
            modifiedHeaders = this.addTenantIdHeader(modifiedHeaders);
            return modifiedHeaders;
        };
        /**
         * 创建请求
         * @param httpClient http客户端
         * @param url 地址
         * @param methad 请求方式, GET\POST\PUT\DELETE,默认值get
         * @param formDate formDate
         * @param headers 请求头
         */
        RequestHelper.createRequest = function (httpClient, url, methad, formDate, headers) {
            if (!headers) {
                headers = RequestHelper.createHttpHeaders();
            }
            if (!methad) {
                methad = 'GET';
            }
            var request = new http.HttpRequest(methad, url, formDate, {
                headers: headers
            });
            return httpClient.request(request);
        };
        RequestHelper.addXRequestedWithHeader = function (headers) {
            if (headers) {
                headers = headers.set('X-Requested-With', 'XMLHttpRequest');
            }
            return headers;
        };
        RequestHelper.addAspNetCoreCultureHeader = function (headers) {
            var cookieLangValue = abp.utils.getCookieValue('Abp.Localization.CultureName');
            if (cookieLangValue && headers && !headers.has('.AspNetCore.Culture')) {
                headers = headers.set('.AspNetCore.Culture', cookieLangValue);
            }
            return headers;
        };
        RequestHelper.addAcceptLanguageHeader = function (headers) {
            var cookieLangValue = abp.utils.getCookieValue('Abp.Localization.CultureName');
            if (cookieLangValue && headers && !headers.has('Accept-Language')) {
                headers = headers.set('Accept-Language', cookieLangValue);
            }
            return headers;
        };
        RequestHelper.addTenantIdHeader = function (headers) {
            var cookieTenantIdValue = abp.utils.getCookieValue('Abp.TenantId');
            if (cookieTenantIdValue && headers && !headers.has('Abp.TenantId')) {
                headers = headers.set('Abp.TenantId', cookieTenantIdValue);
            }
            return headers;
        };
        RequestHelper.addAuthorizationHeaders = function (headers) {
            var authorizationHeaders = headers ? headers.getAll('Authorization') : null;
            if (!authorizationHeaders) {
                authorizationHeaders = [];
            }
            if (!this.itemExists(authorizationHeaders, function (item) { return item.indexOf('Bearer ') === 0; })) {
                var token = abp.auth.getToken();
                if (headers && token) {
                    headers = headers.set('Authorization', 'Bearer ' + token);
                }
            }
            return headers;
        };
        RequestHelper.itemExists = function (items, predicate) {
            var e_1, _a;
            try {
                for (var items_1 = __values(items), items_1_1 = items_1.next(); !items_1_1.done; items_1_1 = items_1.next()) {
                    var item = items_1_1.value;
                    if (predicate(item)) {
                        return true;
                    }
                }
            }
            catch (e_1_1) { e_1 = { error: e_1_1 }; }
            finally {
                try {
                    if (items_1_1 && !items_1_1.done && (_a = items_1.return)) _a.call(items_1);
                }
                finally { if (e_1) throw e_1.error; }
            }
            return false;
        };
        return RequestHelper;
    }());

    var MessageExtension = /** @class */ (function () {
        function MessageExtension() {
        }
        /**
         * 覆盖abp.message替换为ng-zorro的全局message
         * @param _nzMessageService 消息服务
         * @param _nzModalService 模态框服务
         */
        MessageExtension.overrideAbpMessageByMini = function (_nzMessageService, _nzModalService) {
            if (_nzModalService) {
                if (abp.nzModal) {
                    return;
                }
                abp.nzModal = _nzModalService;
            }
            if (abp.nzMessage) {
                return;
            }
            abp.nzMessage = _nzMessageService;
            abp.message.info = function (message, title) {
                //   const timingCounts = parseInt(title, 0);
                // (<any>abp).nzMessage.info(message, { nzDuration: timingCounts });
                abp.nzMessage.info(message);
            };
            abp.message.warn = function (message, title) {
                abp.nzMessage.warning(message);
            };
            abp.message.error = function (message, title) {
                abp.nzMessage.error(message);
            };
            abp.message.success = function (message, title) {
                abp.nzMessage.success(message);
            };
            abp.message.confirm = this.confirm;
        };
        /**
         * 覆盖abp.message替换为ng-zorro的模态框
         * @param _nzModalService 模态框服务
         */
        MessageExtension.overrideAbpMessageByNgModal = function (_nzModalService) {
            if (abp.nzModal) {
                return;
            }
            abp.nzModal = _nzModalService;
            abp.message.info = function (message, title) {
                abp.nzModal.info({
                    nzTitle: title,
                    nzContent: message,
                    nzMask: true,
                });
            };
            abp.message.warn = function (message, title) {
                abp.nzModal.warning({
                    nzTitle: title,
                    nzContent: message,
                    nzMask: true,
                });
            };
            abp.message.error = function (message, title) {
                abp.nzModal.error({
                    nzTitle: title,
                    nzContent: message,
                    nzMask: true,
                });
            };
            abp.message.success = function (message, title) {
                abp.nzModal.success({
                    nzTitle: title,
                    nzContent: message,
                    nzMask: true,
                });
            };
            abp.message.confirm = this.confirm;
        };
        // 覆盖abp.message替换为ng-zorro的notify
        MessageExtension.overrideAbpNotify = function (_nzNotificationService) {
            if (abp.nzNotify) {
                return;
            }
            abp.nzNotify = _nzNotificationService;
            abp.notify.info = function (message, title, options) {
                abp.nzNotify.info(message, title, options);
            };
            abp.notify.warn = function (message, title, options) {
                abp.nzNotify.warning(message, title, options);
            };
            abp.notify.error = function (message, title, options) {
                abp.nzNotify.error(message, title, options);
            };
            abp.notify.success = function (message, title, options) {
                abp.nzNotify.success(message, title, options);
            };
        };
        MessageExtension.confirm = function (message, titleOrCallBack, callback) {
            if (typeof titleOrCallBack === 'string' || typeof titleOrCallBack === 'undefined') {
                abp.nzModal.confirm({
                    nzTitle: titleOrCallBack,
                    nzContent: message,
                    nzOnOk: function () {
                        if (callback) {
                            callback(true);
                        }
                    },
                    nzOnCancel: function () {
                        if (callback) {
                            callback(false);
                        }
                    },
                });
            }
            else {
                abp.nzModal.confirm({
                    nzTitle: abp.localization.localize('MessageConfirmOperation', abp.localization.defaultSourceName),
                    nzContent: message,
                    nzOnOk: function () {
                        if (titleOrCallBack) {
                            titleOrCallBack(true);
                        }
                    },
                    nzOnCancel: function () {
                        if (titleOrCallBack) {
                            titleOrCallBack(false);
                        }
                    },
                });
            }
        };
        return MessageExtension;
    }());

    // @Injectable()
    var LocalizationService = /** @class */ (function () {
        function LocalizationService(injector) {
            this.injector = injector;
            this.change$ = new rxjs.BehaviorSubject(null);
            this.defaultLang = 'zh-Hans';
            var appConfig = injector.get(YOYO_CONFIG);
            this.defaultSource = appConfig.lang.defaultSource;
        }
        LocalizationService.prototype.use = function (lang, data) {
        };
        LocalizationService.prototype.getLangs = function () {
            return this.languages;
        };
        Object.defineProperty(LocalizationService.prototype, "change", {
            get: function () {
                return this.change$.asObservable().pipe(operators.filter(function (w) { return w != null; }));
            },
            enumerable: false,
            configurable: true
        });
        LocalizationService.prototype.fanyi = function (key, params, isSafe) {
            return this.l(key, null);
        };
        /**
         * ABP的本地化翻译
         * @param key 国际化键值
         * @param sourceName 语言源
         * @param args 参数
         */
        LocalizationService.prototype.l = function (key, sourceName) {
            var _a;
            var args = [];
            for (var _i = 2; _i < arguments.length; _i++) {
                args[_i - 2] = arguments[_i];
            }
            sourceName = sourceName || abp.localization.defaultSourceName || this.defaultSource;
            var localizedText = abp.localization.localize(key, sourceName);
            // 无参数
            if (!args || !args.length) {
                return localizedText;
            }
            // 有参数
            return (_a = abp.utils).formatString.apply(_a, __spreadArray([localizedText], __read(args)));
        };
        /**
         * 填充数据
         * @param localization 本地化信息
         * @param defaultSourceName 默认数据源
         */
        LocalizationService.prototype.extend = function (localization, defaultSourceName) {
            abp.localization.defaultSourceName = defaultSourceName || this.defaultSource;
            this.languages = localization.languages;
            this.currentLang = abp.localization.currentLanguage.name;
            this.currentLanguage = localization.currentLanguage;
        };
        return LocalizationService;
    }());
    LocalizationService.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0__namespace, type: LocalizationService, deps: [{ token: i0__namespace.Injector }], target: i0__namespace.ɵɵFactoryTarget.Injectable });
    LocalizationService.ɵprov = i0__namespace.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0__namespace, type: LocalizationService, providedIn: 'root' });
    i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0__namespace, type: LocalizationService, decorators: [{
                type: i0.Injectable,
                args: [{ providedIn: 'root' }]
            }], ctorParameters: function () { return [{ type: i0__namespace.Injector }]; } });

    // tslint:disable-next-line: component-class-suffix
    var AddressWidget = /** @class */ (function (_super) {
        __extends(AddressWidget, _super);
        function AddressWidget() {
            return _super !== null && _super.apply(this, arguments) || this;
        }
        AddressWidget.prototype._change = function (value) {
            this.setValue(value);
        };
        return AddressWidget;
    }(i1$4.ControlWidget));
    AddressWidget.KEY = 'address';
    AddressWidget.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0__namespace, type: AddressWidget, deps: null, target: i0__namespace.ɵɵFactoryTarget.Component });
    AddressWidget.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.13", type: AddressWidget, selector: "sf-address", usesInheritance: true, ngImport: i0__namespace, template: "\n    <sf-item-wrap\n      [id]=\"id\"\n      [schema]=\"schema\"\n      [ui]=\"ui\"\n      [showError]=\"showError\"\n      [error]=\"error\"\n      [showTitle]=\"schema.title\"\n    >\n      <address [ngModel]=\"value\" name=\"sf.address\" (ngModelChange)=\"_change($event)\"></address>\n    </sf-item-wrap>\n  ", isInline: true, components: [{ type: i1__namespace$4.SFItemWrapComponent, selector: "sf-item-wrap", inputs: ["title", "showTitle", "id", "schema", "ui", "showError", "error"] }], directives: [{ type: i2__namespace$2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i2__namespace$2.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }] });
    i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0__namespace, type: AddressWidget, decorators: [{
                type: i0.Component,
                args: [{
                        selector: 'sf-address',
                        template: "\n    <sf-item-wrap\n      [id]=\"id\"\n      [schema]=\"schema\"\n      [ui]=\"ui\"\n      [showError]=\"showError\"\n      [error]=\"error\"\n      [showTitle]=\"schema.title\"\n    >\n      <address [ngModel]=\"value\" name=\"sf.address\" (ngModelChange)=\"_change($event)\"></address>\n    </sf-item-wrap>\n  ",
                        preserveWhitespaces: false,
                    }]
            }] });

    // tslint:disable-next-line: component-class-suffix
    var MarkdownWidget = /** @class */ (function (_super) {
        __extends(MarkdownWidget, _super);
        function MarkdownWidget() {
            var _this = _super.apply(this, __spreadArray([], __read(arguments))) || this;
            _this.schema = {
                properties: {
                    remark: {
                        type: 'string',
                        ui: {
                            widget: 'md',
                        },
                    },
                },
            };
            return _this;
        }
        MarkdownWidget.prototype._change = function (value) {
            this.setValue(value);
        };
        return MarkdownWidget;
    }(i1$4.ControlWidget));
    MarkdownWidget.KEY = 'markdown';
    MarkdownWidget.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0__namespace, type: MarkdownWidget, deps: null, target: i0__namespace.ɵɵFactoryTarget.Component });
    MarkdownWidget.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.13", type: MarkdownWidget, selector: "sf-markdown", usesInheritance: true, ngImport: i0__namespace, template: "\n    <sf-item-wrap\n      [id]=\"id\"\n      [schema]=\"schema\"\n      [ui]=\"ui\"\n      [showError]=\"showError\"\n      [error]=\"error\"\n      [showTitle]=\"schema.title\"\n    >\n      <sf name=\"markdown\" [schema]=\"schema\" (formSubmit)=\"_change($event)\"></sf>\n    </sf-item-wrap>\n  ", isInline: true, components: [{ type: i1__namespace$4.SFItemWrapComponent, selector: "sf-item-wrap", inputs: ["title", "showTitle", "id", "schema", "ui", "showError", "error"] }, { type: i1__namespace$4.SFComponent, selector: "sf, [sf]", inputs: ["layout", "button", "liveValidate", "firstVisual", "onlyVisual", "compact", "loading", "disabled", "noColon", "cleanValue", "autocomplete", "mode", "ui", "schema", "formData"], outputs: ["formValueChange", "formChange", "formSubmit", "formReset", "formError"], exportAs: ["sf"] }] });
    i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0__namespace, type: MarkdownWidget, decorators: [{
                type: i0.Component,
                args: [{
                        selector: 'sf-markdown',
                        template: "\n    <sf-item-wrap\n      [id]=\"id\"\n      [schema]=\"schema\"\n      [ui]=\"ui\"\n      [showError]=\"showError\"\n      [error]=\"error\"\n      [showTitle]=\"schema.title\"\n    >\n      <sf name=\"markdown\" [schema]=\"schema\" (formSubmit)=\"_change($event)\"></sf>\n    </sf-item-wrap>\n  ",
                        preserveWhitespaces: false,
                    }]
            }] });

    // tslint:disable-next-line:component-class-suffix
    var MomentWidget = /** @class */ (function (_super) {
        __extends(MomentWidget, _super);
        function MomentWidget() {
            var _this = _super.apply(this, __spreadArray([], __read(arguments))) || this;
            _this.flatRange = false;
            _this.displayValue = null;
            return _this;
        }
        MomentWidget.prototype.ngOnInit = function () {
            var _a = this.ui, mode = _a.mode, end = _a.end, displayFormat = _a.displayFormat, allowClear = _a.allowClear, showToday = _a.showToday;
            this.mode = mode || 'date';
            this.flatRange = end != null;
            // 构建属性对象时会对默认值进行校验,因此可以直接使用 format 作为格式化属性
            this.startFormat = this.ui._format;
            if (this.flatRange) {
                this.mode = 'range';
                var endUi = this.endProperty.ui;
                this.endFormat = endUi.format ? endUi._format : this.startFormat;
            }
            if (!displayFormat) {
                switch (this.mode) {
                    case 'year':
                        this.displayFormat = "yyyy";
                        break;
                    case 'month':
                        this.displayFormat = "yyyy-MM";
                        break;
                    case 'week':
                        this.displayFormat = "yyyy-ww";
                        break;
                }
            }
            else {
                this.displayFormat = displayFormat;
            }
            this.i = {
                allowClear: i1$4.toBool(allowClear, true),
                // nz-date-picker
                showToday: i1$4.toBool(showToday, true),
            };
            if (!this.startFormat) {
                this.startFormat = 'yyyy-MM-dd';
            }
            if (!this.endFormat) {
                this.endFormat = 'yyyy-MM-dd';
            }
        };
        MomentWidget.prototype.reset = function (value) {
            var _this = this;
            var toDateOptions = { formatString: this.startFormat, defaultValue: null };
            if (Array.isArray(value)) {
                value = value.map(function (o) {
                    if (moment__namespace.isMoment(o)) {
                        return o.toDate();
                    }
                    else if (moment__namespace.isDate(o)) {
                        return o;
                    }
                    return o;
                }).map(function (v) { return dateTime.toDate(v, toDateOptions); });
            }
            else {
                var tmpVal = void 0;
                if (moment__namespace.isMoment(value)) {
                    tmpVal = value.toDate();
                }
                else if (moment__namespace.isDate(value)) {
                    tmpVal = value;
                }
                value = dateTime.toDate(tmpVal, toDateOptions);
            }
            if (this.flatRange) {
                var endValue = dateTime.toDate(this.endProperty.formData, {
                    formatString: this.endFormat || this.startFormat,
                    defaultValue: null,
                });
                this.displayValue = value == null || endValue == null ? [] : [value, endValue];
            }
            else {
                this.displayValue = value;
            }
            this.detectChanges();
            // TODO: Need to wait for the rendering to complete, otherwise it will be overwritten of end widget
            if (this.displayValue) {
                setTimeout(function () { return _this._change(_this.displayValue, false); });
            }
        };
        MomentWidget.prototype._change = function (value, emitModelChange) {
            if (emitModelChange === void 0) { emitModelChange = true; }
            if (emitModelChange && this.ui.change) {
                if (Array.isArray(value)) {
                    this.ui.change(value.map(function (o) { return moment__namespace(o); }));
                }
                else {
                    this.ui.change(!!value ? moment__namespace(value) : null);
                }
            }
            if (value == null || (Array.isArray(value) && value.length < 2)) {
                this.setValue(null);
                this.setEnd(null);
                return;
            }
            var res = Array.isArray(value)
                ? [dateFns.format(value[0], this.startFormat), dateFns.format(value[1], this.endFormat || this.startFormat)]
                : dateFns.format(value, this.startFormat);
            if (this.flatRange) {
                this.setValue(moment__namespace(res[0]));
                this.setEnd(res[1]);
            }
            else {
                this.setValue(moment__namespace(res));
            }
        };
        MomentWidget.prototype._openChange = function (status) {
            if (this.ui.onOpenChange) {
                this.ui.onOpenChange(status);
            }
        };
        MomentWidget.prototype._ok = function (value) {
            if (this.ui.onOk) {
                if (!value) {
                    this.ui.onOk(null);
                    return;
                }
                if (!Array.isArray(value)) {
                    this.ui.onOk(moment__namespace(value));
                    return;
                }
                this.ui.onOk(value.map(function (o) { return moment__namespace(o); }));
            }
        };
        Object.defineProperty(MomentWidget.prototype, "endProperty", {
            get: function () {
                return this.formProperty.parent.properties[this.ui.end];
            },
            enumerable: false,
            configurable: true
        });
        MomentWidget.prototype.setEnd = function (value) {
            if (!this.flatRange) {
                return;
            }
            this.endProperty.setValue(value, true);
            this.endProperty.updateValueAndValidity();
        };
        return MomentWidget;
    }(i1$4.ControlUIWidget));
    /* 用于注册小部件 KEY 值 */
    MomentWidget.KEY = 'moment';
    MomentWidget.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0__namespace, type: MomentWidget, deps: null, target: i0__namespace.ɵɵFactoryTarget.Component });
    MomentWidget.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.13", type: MomentWidget, selector: "sf-moment", usesInheritance: true, ngImport: i0__namespace, template: "<sf-item-wrap [id]=\"id\" [schema]=\"schema\" [ui]=\"ui\" [showError]=\"showError\" [error]=\"error\" [showTitle]=\"schema.title\">\n  <ng-container [ngSwitch]=\"mode\">\n    <nz-year-picker\n      *ngSwitchCase=\"'year'\"\n      [nzId]=\"id\"\n      [nzDisabled]=\"disabled\"\n      [nzSize]=\"ui.size!\"\n      [nzFormat]=\"displayFormat\"\n      [(ngModel)]=\"displayValue\"\n      (ngModelChange)=\"_change($event)\"\n      [nzAllowClear]=\"i.allowClear\"\n      [ngClass]=\"ui.className!\"\n      [nzDisabledDate]=\"ui.disabledDate\"\n      [nzLocale]=\"ui.locale!\"\n      [nzPlaceHolder]=\"ui.placeholder!\"\n      [nzPopupStyle]=\"ui.popupStyle!\"\n      [nzDropdownClassName]=\"ui.dropdownClassName\"\n      (nzOnOpenChange)=\"_openChange($event)\"\n      [nzRenderExtraFooter]=\"ui.renderExtraFooter\"\n      [nzInputReadOnly]=\"ui.inputReadOnly\"\n      [nzInline]=\"ui.inline!\"\n    ></nz-year-picker>\n\n    <nz-month-picker\n      *ngSwitchCase=\"'month'\"\n      [nzId]=\"id\"\n      [nzDisabled]=\"disabled\"\n      [nzSize]=\"ui.size!\"\n      [nzFormat]=\"displayFormat\"\n      [(ngModel)]=\"displayValue\"\n      (ngModelChange)=\"_change($event)\"\n      [nzAllowClear]=\"i.allowClear\"\n      [ngClass]=\"ui.className!\"\n      [nzDisabledDate]=\"ui.disabledDate\"\n      [nzLocale]=\"ui.locale!\"\n      [nzPlaceHolder]=\"ui.placeholder!\"\n      [nzPopupStyle]=\"ui.popupStyle!\"\n      [nzDropdownClassName]=\"ui.dropdownClassName\"\n      (nzOnOpenChange)=\"_openChange($event)\"\n      [nzRenderExtraFooter]=\"ui.renderExtraFooter\"\n      [nzInputReadOnly]=\"ui.inputReadOnly\"\n      [nzInline]=\"ui.inline!\"\n    ></nz-month-picker>\n\n    <nz-week-picker\n      *ngSwitchCase=\"'week'\"\n      [nzId]=\"id\"\n      [nzDisabled]=\"disabled\"\n      [nzSize]=\"ui.size!\"\n      [nzFormat]=\"displayFormat\"\n      [(ngModel)]=\"displayValue\"\n      (ngModelChange)=\"_change($event)\"\n      [nzAllowClear]=\"i.allowClear\"\n      [ngClass]=\"ui.className!\"\n      [nzDisabledDate]=\"ui.disabledDate\"\n      [nzLocale]=\"ui.locale!\"\n      [nzPlaceHolder]=\"ui.placeholder!\"\n      [nzPopupStyle]=\"ui.popupStyle!\"\n      [nzDropdownClassName]=\"ui.dropdownClassName\"\n      [nzInputReadOnly]=\"ui.inputReadOnly\"\n      [nzInline]=\"ui.inline!\"\n      (nzOnOpenChange)=\"_openChange($event)\"\n    ></nz-week-picker>\n\n    <nz-range-picker\n      *ngSwitchCase=\"'range'\"\n      [nzId]=\"id\"\n      [nzDisabled]=\"disabled\"\n      [nzSize]=\"ui.size!\"\n      [nzFormat]=\"displayFormat\"\n      [(ngModel)]=\"displayValue\"\n      (ngModelChange)=\"_change($event)\"\n      [nzAllowClear]=\"i.allowClear\"\n      [ngClass]=\"ui.className!\"\n      [nzDisabledDate]=\"ui.disabledDate\"\n      [nzLocale]=\"ui.locale!\"\n      [nzPlaceHolder]=\"ui.placeholder!\"\n      [nzPopupStyle]=\"ui.popupStyle!\"\n      [nzDropdownClassName]=\"ui.dropdownClassName\"\n      (nzOnOpenChange)=\"_openChange($event)\"\n      [nzDisabledTime]=\"ui.disabledTime\"\n      [nzRenderExtraFooter]=\"ui.renderExtraFooter\"\n      [nzRanges]=\"ui.ranges\"\n      [nzShowTime]=\"ui.showTime\"\n      [nzMode]=\"ui.rangeMode\"\n      [nzInputReadOnly]=\"ui.inputReadOnly\"\n      [nzInline]=\"ui.inline!\"\n      (nzOnOk)=\"_ok($event)\"\n    ></nz-range-picker>\n\n    <nz-date-picker\n      *ngSwitchDefault\n      [nzId]=\"id\"\n      [nzDisabled]=\"disabled\"\n      [nzSize]=\"ui.size!\"\n      [nzFormat]=\"displayFormat\"\n      [(ngModel)]=\"displayValue\"\n      (ngModelChange)=\"_change($event)\"\n      [nzAllowClear]=\"i.allowClear\"\n      [ngClass]=\"ui.className!\"\n      [nzDisabledDate]=\"ui.disabledDate\"\n      [nzLocale]=\"ui.locale!\"\n      [nzPlaceHolder]=\"ui.placeholder!\"\n      [nzPopupStyle]=\"ui.popupStyle!\"\n      [nzDropdownClassName]=\"ui.dropdownClassName\"\n      (nzOnOpenChange)=\"_openChange($event)\"\n      [nzDisabledTime]=\"ui.disabledTime\"\n      [nzRenderExtraFooter]=\"ui.renderExtraFooter\"\n      [nzShowTime]=\"ui.showTime\"\n      [nzShowToday]=\"i.showToday\"\n      [nzInputReadOnly]=\"ui.inputReadOnly\"\n      [nzInline]=\"ui.inline!\"\n      (nzOnOk)=\"_ok($event)\"\n    ></nz-date-picker>\n  </ng-container>\n</sf-item-wrap>\n", components: [{ type: i1__namespace$4.SFItemWrapComponent, selector: "sf-item-wrap", inputs: ["title", "showTitle", "id", "schema", "ui", "showError", "error"] }, { type: i1__namespace$5.NzDatePickerComponent, selector: "nz-date-picker,nz-week-picker,nz-month-picker,nz-year-picker,nz-range-picker", inputs: ["nzAllowClear", "nzAutoFocus", "nzDisabled", "nzBorderless", "nzInputReadOnly", "nzInline", "nzPlaceHolder", "nzPopupStyle", "nzSize", "nzShowToday", "nzMode", "nzShowNow", "nzDefaultPickerValue", "nzSeparator", "nzSuffixIcon", "nzBackdrop", "nzId", "nzShowTime", "nzFormat", "nzLocale", "nzOpen", "nzDisabledDate", "nzDropdownClassName", "nzDateRender", "nzDisabledTime", "nzRenderExtraFooter", "nzRanges"], outputs: ["nzOnPanelChange", "nzOnCalendarChange", "nzOnOk", "nzOnOpenChange"], exportAs: ["nzDatePicker"] }], directives: [{ type: i3__namespace.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { type: i3__namespace.NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }, { type: i1__namespace$5.NzYearPickerComponent, selector: "nz-year-picker", exportAs: ["nzYearPicker"] }, { type: i2__namespace$2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i2__namespace$2.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { type: i3__namespace.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { type: i1__namespace$5.NzMonthPickerComponent, selector: "nz-month-picker", exportAs: ["nzMonthPicker"] }, { type: i1__namespace$5.NzWeekPickerComponent, selector: "nz-week-picker", exportAs: ["nzWeekPicker"] }, { type: i1__namespace$5.NzRangePickerComponent, selector: "nz-range-picker", exportAs: ["nzRangePicker"] }, { type: i3__namespace.NgSwitchDefault, selector: "[ngSwitchDefault]" }] });
    i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0__namespace, type: MomentWidget, decorators: [{
                type: i0.Component,
                args: [{
                        selector: 'sf-moment',
                        templateUrl: './moment.widget.html',
                    }]
            }] });

    // tslint:disable-next-line: component-class-suffix
    var SimplemdeWidget = /** @class */ (function (_super) {
        __extends(SimplemdeWidget, _super);
        function SimplemdeWidget() {
            return _super !== null && _super.apply(this, arguments) || this;
        }
        SimplemdeWidget.prototype._change = function (value) {
            this.setValue(value);
            if (this.ui.contentChanged) {
                this.ui.contentChanged(value);
            }
        };
        return SimplemdeWidget;
    }(i1$4.ControlWidget));
    SimplemdeWidget.KEY = 'md';
    SimplemdeWidget.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0__namespace, type: SimplemdeWidget, deps: null, target: i0__namespace.ɵɵFactoryTarget.Component });
    SimplemdeWidget.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.13", type: SimplemdeWidget, selector: "sf-editor", usesInheritance: true, ngImport: i0__namespace, template: "\n    <sf-item-wrap\n      [id]=\"id\"\n      [schema]=\"schema\"\n      [ui]=\"ui\"\n      [showError]=\"showError\"\n      [error]=\"error\"\n      [showTitle]=\"schema.title\"\n    >\n      <simplemde\n        [ngModel]=\"value\"\n        (ngModelChange)=\"_change($event)\"\n        [options]=\"ui.options\"\n        [delay]=\"ui.delay || 300\"\n      ></simplemde>\n    </sf-item-wrap>\n  ", isInline: true, components: [{ type: i1__namespace$4.SFItemWrapComponent, selector: "sf-item-wrap", inputs: ["title", "showTitle", "id", "schema", "ui", "showError", "error"] }, { type: i2__namespace$3.SimplemdeComponent, selector: "simplemde", inputs: ["style", "delay", "disabled", "options"] }], directives: [{ type: i2__namespace$2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i2__namespace$2.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }] });
    i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0__namespace, type: SimplemdeWidget, decorators: [{
                type: i0.Component,
                args: [{
                        selector: 'sf-editor',
                        template: "\n    <sf-item-wrap\n      [id]=\"id\"\n      [schema]=\"schema\"\n      [ui]=\"ui\"\n      [showError]=\"showError\"\n      [error]=\"error\"\n      [showTitle]=\"schema.title\"\n    >\n      <simplemde\n        [ngModel]=\"value\"\n        (ngModelChange)=\"_change($event)\"\n        [options]=\"ui.options\"\n        [delay]=\"ui.delay || 300\"\n      ></simplemde>\n    </sf-item-wrap>\n  ",
                        preserveWhitespaces: false,
                    }]
            }] });

    var MomentFormatPipe = /** @class */ (function () {
        function MomentFormatPipe() {
        }
        MomentFormatPipe.prototype.transform = function (value, format) {
            if (!value) {
                return '';
            }
            if (!format) {
                format = 'YYYY-MM-DD HH:mm:ss';
            }
            return moment__namespace(value).format(format);
        };
        return MomentFormatPipe;
    }());
    MomentFormatPipe.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0__namespace, type: MomentFormatPipe, deps: [], target: i0__namespace.ɵɵFactoryTarget.Pipe });
    MomentFormatPipe.ɵpipe = i0__namespace.ɵɵngDeclarePipe({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0__namespace, type: MomentFormatPipe, name: "_moment" });
    i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0__namespace, type: MomentFormatPipe, decorators: [{
                type: i0.Pipe,
                args: [{ name: '_moment' }]
            }] });

    var MomentFromNowPipe = /** @class */ (function () {
        function MomentFromNowPipe() {
        }
        MomentFromNowPipe.prototype.transform = function (value) {
            if (!value) {
                return '';
            }
            return moment__namespace(value).fromNow();
        };
        return MomentFromNowPipe;
    }());
    MomentFromNowPipe.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0__namespace, type: MomentFromNowPipe, deps: [], target: i0__namespace.ɵɵFactoryTarget.Pipe });
    MomentFromNowPipe.ɵpipe = i0__namespace.ɵɵngDeclarePipe({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0__namespace, type: MomentFromNowPipe, name: "momentFromNow" });
    i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0__namespace, type: MomentFromNowPipe, decorators: [{
                type: i0.Pipe,
                args: [{ name: 'momentFromNow' }]
            }] });

    var MOMENT_PIPES = [
        MomentFormatPipe,
        MomentFromNowPipe
    ];
    var LPipesModule = /** @class */ (function () {
        function LPipesModule() {
        }
        return LPipesModule;
    }());
    LPipesModule.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0__namespace, type: LPipesModule, deps: [], target: i0__namespace.ɵɵFactoryTarget.NgModule });
    LPipesModule.ɵmod = i0__namespace.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0__namespace, type: LPipesModule, declarations: [MomentFormatPipe,
            MomentFromNowPipe], imports: [i3$1.CommonModule], exports: [MomentFormatPipe,
            MomentFromNowPipe] });
    LPipesModule.ɵinj = i0__namespace.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0__namespace, type: LPipesModule, imports: [[
                i3$1.CommonModule
            ]] });
    i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0__namespace, type: LPipesModule, decorators: [{
                type: i0.NgModule,
                args: [{
                        imports: [
                            i3$1.CommonModule
                        ],
                        declarations: __spreadArray([], __read(MOMENT_PIPES)),
                        exports: __spreadArray([], __read(MOMENT_PIPES))
                    }]
            }] });

    var JSON_SCHEMA_NG_MODULES = [
        i3$1.CommonModule,
        i2$2.FormsModule,
        i2$2.ReactiveFormsModule,
    ];
    var JSON_SCHEMA_NG_ZORRO_MODULES = [
        i4$2.NzInputModule,
        i5.NzButtonModule,
        i6.NzTimePickerModule,
        i1$5.NzDatePickerModule,
        i8.NzFormModule,
        i9.NzSelectModule,
        i2.NzDropDownModule,
        i11.NzSpinModule,
        i4$1.NzMenuModule,
        i13.NzIconModule,
    ];
    var JSON_SCHEMA_NG_ALAIN_MODULES = [
        i1.DelonACLModule,
        i1$4.DelonFormModule,
        i1$6.STModule,
    ];
    var JSON_SCHEMA_MODULES = __spreadArray(__spreadArray(__spreadArray(__spreadArray([], __read(JSON_SCHEMA_NG_MODULES)), __read(JSON_SCHEMA_NG_ZORRO_MODULES)), __read(JSON_SCHEMA_NG_ALAIN_MODULES)), [
        LPipesModule,
    ]);

    var SCHEMA_THIRDS_COMPONENTS = [
        AddressWidget,
        SimplemdeWidget,
        MarkdownWidget,
        MomentWidget,
    ];
    var SfWidgetsModule = /** @class */ (function () {
        function SfWidgetsModule(widgetRegistry) {
            widgetRegistry.register(AddressWidget.KEY, AddressWidget);
            widgetRegistry.register(SimplemdeWidget.KEY, SimplemdeWidget);
            widgetRegistry.register(MarkdownWidget.KEY, MarkdownWidget);
            widgetRegistry.register(MomentWidget.KEY, MomentWidget);
        }
        return SfWidgetsModule;
    }());
    SfWidgetsModule.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0__namespace, type: SfWidgetsModule, deps: [{ token: i1__namespace$4.WidgetRegistry }], target: i0__namespace.ɵɵFactoryTarget.NgModule });
    SfWidgetsModule.ɵmod = i0__namespace.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0__namespace, type: SfWidgetsModule, declarations: [AddressWidget,
            SimplemdeWidget,
            MarkdownWidget,
            MomentWidget], imports: [i3__namespace.CommonModule, i2__namespace$2.FormsModule, i2__namespace$2.ReactiveFormsModule, i4__namespace$2.NzInputModule, i5__namespace.NzButtonModule, i6__namespace.NzTimePickerModule, i1__namespace$5.NzDatePickerModule, i8__namespace.NzFormModule, i9__namespace.NzSelectModule, i2__namespace.NzDropDownModule, i11__namespace.NzSpinModule, i4__namespace$1.NzMenuModule, i13__namespace.NzIconModule, i1__namespace.DelonACLModule, i1__namespace$4.DelonFormModule, i1__namespace$6.STModule, LPipesModule, i2$3.SimplemdeModule], exports: [AddressWidget,
            SimplemdeWidget,
            MarkdownWidget,
            MomentWidget] });
    SfWidgetsModule.ɵinj = i0__namespace.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0__namespace, type: SfWidgetsModule, imports: [__spreadArray(__spreadArray([], __read(JSON_SCHEMA_MODULES)), [
                i2$3.SimplemdeModule
            ])] });
    i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0__namespace, type: SfWidgetsModule, decorators: [{
                type: i0.NgModule,
                args: [{
                        declarations: SCHEMA_THIRDS_COMPONENTS,
                        entryComponents: SCHEMA_THIRDS_COMPONENTS,
                        imports: __spreadArray(__spreadArray([], __read(JSON_SCHEMA_MODULES)), [
                            i2$3.SimplemdeModule
                        ]),
                        exports: __spreadArray([], __read(SCHEMA_THIRDS_COMPONENTS)),
                    }]
            }], ctorParameters: function () { return [{ type: i1__namespace$4.WidgetRegistry }]; } });

    // tslint:disable-next-line:component-class-suffix
    var StMomentWidget = /** @class */ (function () {
        function StMomentWidget() {
        }
        StMomentWidget.prototype.ngOnInit = function () {
            /* 优先级:
                1. 自定义的format
                2. mode
              */
            if (this.format) {
                return;
            }
            switch (this.mode) {
                case 'year':
                    this.format = "yyyy";
                    break;
                case 'month':
                    this.format = "yyyy-MM";
                    break;
                case 'week':
                    this.format = "yyyy-ww";
                    break;
                case 'day':
                    this.format = "YYYY-MM-DD";
                    break;
                case 'date':
                    this.format = "YYYY-MM-DD HH:mm";
                    break;
                default:
                    this.format = "YYYY-MM-DD HH:mm:ss";
                    break;
            }
        };
        return StMomentWidget;
    }());
    StMomentWidget.KEY = 'moment';
    StMomentWidget.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0__namespace, type: StMomentWidget, deps: [], target: i0__namespace.ɵɵFactoryTarget.Component });
    StMomentWidget.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.13", type: StMomentWidget, selector: "st-widget-moment", ngImport: i0__namespace, template: "<ng-container>\n  <ng-container> {{date|_moment:format}} </ng-container>\n</ng-container>\n", pipes: { "_moment": MomentFormatPipe }, changeDetection: i0__namespace.ChangeDetectionStrategy.OnPush });
    i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0__namespace, type: StMomentWidget, decorators: [{
                type: i0.Component,
                args: [{
                        selector: 'st-widget-moment',
                        templateUrl: './st-moment.widget.html',
                        changeDetection: i0.ChangeDetectionStrategy.OnPush,
                    }]
            }], ctorParameters: function () { return []; } });

    var STWIDGET_COMPONENTS = [
        StMomentWidget
    ];
    var StWidgetsModule = /** @class */ (function () {
        function StWidgetsModule(widgetRegistry) {
            widgetRegistry.register(StMomentWidget.KEY, StMomentWidget);
        }
        return StWidgetsModule;
    }());
    StWidgetsModule.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0__namespace, type: StWidgetsModule, deps: [{ token: i1__namespace$6.STWidgetRegistry }], target: i0__namespace.ɵɵFactoryTarget.NgModule });
    StWidgetsModule.ɵmod = i0__namespace.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0__namespace, type: StWidgetsModule, declarations: [StMomentWidget], imports: [i3__namespace.CommonModule, i2__namespace$2.FormsModule, i2__namespace$2.ReactiveFormsModule, i4__namespace$2.NzInputModule, i5__namespace.NzButtonModule, i6__namespace.NzTimePickerModule, i1__namespace$5.NzDatePickerModule, i8__namespace.NzFormModule, i9__namespace.NzSelectModule, i2__namespace.NzDropDownModule, i11__namespace.NzSpinModule, i4__namespace$1.NzMenuModule, i13__namespace.NzIconModule, i1__namespace.DelonACLModule, i1__namespace$4.DelonFormModule, i1__namespace$6.STModule, LPipesModule], exports: [StMomentWidget] });
    StWidgetsModule.ɵinj = i0__namespace.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0__namespace, type: StWidgetsModule, imports: [__spreadArray([], __read(JSON_SCHEMA_MODULES))] });
    i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0__namespace, type: StWidgetsModule, decorators: [{
                type: i0.NgModule,
                args: [{
                        declarations: STWIDGET_COMPONENTS,
                        imports: __spreadArray([], __read(JSON_SCHEMA_MODULES)),
                        exports: __spreadArray([], __read(STWIDGET_COMPONENTS)),
                    }]
            }], ctorParameters: function () { return [{ type: i1__namespace$6.STWidgetRegistry }]; } });

    var LJsonSchemaModule = /** @class */ (function () {
        function LJsonSchemaModule() {
        }
        return LJsonSchemaModule;
    }());
    LJsonSchemaModule.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0__namespace, type: LJsonSchemaModule, deps: [], target: i0__namespace.ɵɵFactoryTarget.NgModule });
    LJsonSchemaModule.ɵmod = i0__namespace.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0__namespace, type: LJsonSchemaModule, exports: [SfWidgetsModule, StWidgetsModule] });
    LJsonSchemaModule.ɵinj = i0__namespace.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0__namespace, type: LJsonSchemaModule, imports: [[], SfWidgetsModule, StWidgetsModule] });
    i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0__namespace, type: LJsonSchemaModule, decorators: [{
                type: i0.NgModule,
                args: [{
                        imports: [],
                        exports: [SfWidgetsModule, StWidgetsModule],
                    }]
            }], ctorParameters: function () { return []; } });

    var DatePickerBase = /** @class */ (function () {
        function DatePickerBase() {
            /**
             * 是否显示清除按钮
             */
            this.nzAllowClear = true;
            /**
             * 自动获取焦点
             */
            this.nzAutoFocus = false;
            /**
             * 选择器
             */
            this.nzClassName = '';
            /**
             * 禁用
             */
            this.nzDisabled = false;
            /**
             * 额外的弹出日历样式
             */
            this.nzPopupStyle = {};
            /**
             * 输入框大小
             */
            this.nzSize = 'default';
            /**
             * 自定义输入框样式
             */
            this.nzStyle = {};
            /**
             * 弹出日历和关闭日历的回调
             */
            this.nzOnOpenChange = new i0.EventEmitter();
        }
        /**
         * 控制弹层展开状态发生改变
         * @param event 是否展开
         */
        DatePickerBase.prototype.onNzOnOpenChange = function (event) {
            this.nzOpen = event;
            this.nzOnOpenChange.emit(event);
        };
        return DatePickerBase;
    }());
    DatePickerBase.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0__namespace, type: DatePickerBase, deps: [], target: i0__namespace.ɵɵFactoryTarget.Directive });
    DatePickerBase.ɵdir = i0__namespace.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "12.2.13", type: DatePickerBase, inputs: { name: "name", nzAllowClear: "nzAllowClear", nzAutoFocus: "nzAutoFocus", nzClassName: "nzClassName", nzDateRender: "nzDateRender", nzDisabled: "nzDisabled", nzDisabledDate: "nzDisabledDate", nzLocale: "nzLocale", nzOpen: "nzOpen", nzPopupStyle: "nzPopupStyle", nzDropdownClassName: "nzDropdownClassName", nzSize: "nzSize", nzStyle: "nzStyle" }, outputs: { nzOnOpenChange: "nzOnOpenChange" }, ngImport: i0__namespace });
    i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0__namespace, type: DatePickerBase, decorators: [{
                type: i0.Directive
            }], ctorParameters: function () { return []; }, propDecorators: { name: [{
                    type: i0.Input
                }], nzAllowClear: [{
                    type: i0.Input
                }], nzAutoFocus: [{
                    type: i0.Input
                }], nzClassName: [{
                    type: i0.Input
                }], nzDateRender: [{
                    type: i0.Input
                }], nzDisabled: [{
                    type: i0.Input
                }], nzDisabledDate: [{
                    type: i0.Input
                }], nzLocale: [{
                    type: i0.Input
                }], nzOpen: [{
                    type: i0.Input
                }], nzPopupStyle: [{
                    type: i0.Input
                }], nzDropdownClassName: [{
                    type: i0.Input
                }], nzSize: [{
                    type: i0.Input
                }], nzStyle: [{
                    type: i0.Input
                }], nzOnOpenChange: [{
                    type: i0.Output
                }] } });

    var DatePickerComponent = /** @class */ (function (_super) {
        __extends(DatePickerComponent, _super);
        function DatePickerComponent() {
            var _this = _super.call(this) || this;
            /**
             * 展示的日期格式,见nzFormat特别说明
             */
            _this.nzFormat = 'yyyy-MM-dd';
            /**
             * nzShowToday
             */
            _this.nzShowToday = true;
            /**
             * 点击确定按钮的回调
             */
            _this.nzOnOk = new i0.EventEmitter();
            /**
             * 时间发生变化的回调
             */
            _this.ngModelChange = new i0.EventEmitter();
            return _this;
        }
        DatePickerComponent.prototype.onNzOk = function (event) {
            if (event && moment__namespace.isDate(event)) {
                this.nzOnOk.emit(moment__namespace(event));
            }
            else {
                this.nzOnOk.emit(undefined);
            }
        };
        DatePickerComponent.prototype.onNgModelChangeChange = function (event) {
            if (event && moment__namespace.isDate(event)) {
                this.ngModelChange.emit(moment__namespace(event));
            }
            else {
                this.ngModelChange.emit(undefined);
            }
        };
        DatePickerComponent.prototype.registerOnChange = function (fn) {
            this.ngModelChange.emit = fn;
        };
        DatePickerComponent.prototype.registerOnTouched = function (fn) {
        };
        DatePickerComponent.prototype.setDisabledState = function (isDisabled) {
            this.nzDisabled = isDisabled;
        };
        DatePickerComponent.prototype.writeValue = function (obj) {
            if (obj && moment__namespace.isMoment(obj)) {
                this.value = obj.toDate();
            }
            else {
                this.value = obj;
            }
        };
        return DatePickerComponent;
    }(DatePickerBase));
    DatePickerComponent.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0__namespace, type: DatePickerComponent, deps: [], target: i0__namespace.ɵɵFactoryTarget.Component });
    DatePickerComponent.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.13", type: DatePickerComponent, selector: "l-date-picker", inputs: { ngModel: "ngModel", nzDisabledTime: "nzDisabledTime", nzFormat: "nzFormat", nzRenderExtraFooter: "nzRenderExtraFooter", nzShowTime: "nzShowTime", nzShowToday: "nzShowToday", nzPlaceHolder: "nzPlaceHolder" }, outputs: { nzOnOk: "nzOnOk", ngModelChange: "ngModelChange" }, providers: [{
                provide: i2$2.NG_VALUE_ACCESSOR,
                useExisting: i0.forwardRef(function () { return DatePickerComponent; }),
                multi: true,
            }], usesInheritance: true, ngImport: i0__namespace, template: "<nz-date-picker\n        [nzAllowClear]=\"nzAllowClear\"\n        [nzAutoFocus]=\"nzAutoFocus\"\n        [nzDateRender]=\"nzDateRender\"\n        [nzDisabled]=\"nzDisabled\"\n        [nzDisabledDate]=\"nzDisabledDate\"\n        [nzLocale]=\"nzLocale\"\n        [nzPopupStyle]=\"nzPopupStyle\"\n        [nzDropdownClassName]=\"nzDropdownClassName\"\n        [nzSize]=\"nzSize\"\n\n\n        [nzDisabledTime]=\"nzDisabledTime\"\n        [nzFormat]=\"nzFormat\"\n        [nzRenderExtraFooter]=\"nzRenderExtraFooter\"\n        [nzShowTime]=\"nzShowTime\"\n        [nzShowToday]=\"nzShowToday\"\n        [nzPlaceHolder]=\"nzPlaceHolder\"\n\n        [(ngModel)]=\"value\"\n        (nzOnOk)=\"onNzOk($event)\"\n        (ngModelChange)=\"onNgModelChangeChange($event)\"\n        (nzOnOpenChange)=\"onNzOnOpenChange($event)\">\n\n</nz-date-picker>\n", styles: [":host ::ng-deep{width:100%}\n"], components: [{ type: i1__namespace$5.NzDatePickerComponent, selector: "nz-date-picker,nz-week-picker,nz-month-picker,nz-year-picker,nz-range-picker", inputs: ["nzAllowClear", "nzAutoFocus", "nzDisabled", "nzBorderless", "nzInputReadOnly", "nzInline", "nzPlaceHolder", "nzPopupStyle", "nzSize", "nzShowToday", "nzMode", "nzShowNow", "nzDefaultPickerValue", "nzSeparator", "nzSuffixIcon", "nzBackdrop", "nzId", "nzShowTime", "nzFormat", "nzLocale", "nzOpen", "nzDisabledDate", "nzDropdownClassName", "nzDateRender", "nzDisabledTime", "nzRenderExtraFooter", "nzRanges"], outputs: ["nzOnPanelChange", "nzOnCalendarChange", "nzOnOk", "nzOnOpenChange"], exportAs: ["nzDatePicker"] }], directives: [{ type: i2__namespace$2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i2__namespace$2.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }] });
    i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0__namespace, type: DatePickerComponent, decorators: [{
                type: i0.Component,
                args: [{
                        selector: 'l-date-picker',
                        templateUrl: './date-picker.component.html',
                        styleUrls: ['./date-picker.component.less'],
                        providers: [{
                                provide: i2$2.NG_VALUE_ACCESSOR,
                                useExisting: i0.forwardRef(function () { return DatePickerComponent; }),
                                multi: true,
                            }],
                    }]
            }], ctorParameters: function () { return []; }, propDecorators: { ngModel: [{
                    type: i0.Input
                }], nzDisabledTime: [{
                    type: i0.Input
                }], nzFormat: [{
                    type: i0.Input
                }], nzRenderExtraFooter: [{
                    type: i0.Input
                }], nzShowTime: [{
                    type: i0.Input
                }], nzShowToday: [{
                    type: i0.Input
                }], nzPlaceHolder: [{
                    type: i0.Input
                }], nzOnOk: [{
                    type: i0.Output
                }], ngModelChange: [{
                    type: i0.Output
                }] } });

    var YearPickerComponent = /** @class */ (function (_super) {
        __extends(YearPickerComponent, _super);
        function YearPickerComponent() {
            var _this = _super.call(this) || this;
            /**
             * 展示的日期格式,见nzFormat特别说明
             */
            _this.nzFormat = 'yyyy';
            /**
             * 时间发生变化的回调
             */
            _this.ngModelChange = new i0.EventEmitter();
            return _this;
        }
        YearPickerComponent.prototype.onNgModelChangeChange = function (event) {
            if (event && moment__namespace.isDate(event)) {
                this.ngModelChange.emit(moment__namespace(event));
            }
            else {
                this.ngModelChange.emit(undefined);
            }
        };
        YearPickerComponent.prototype.registerOnChange = function (fn) {
            this.ngModelChange.emit = fn;
        };
        YearPickerComponent.prototype.registerOnTouched = function (fn) {
        };
        YearPickerComponent.prototype.setDisabledState = function (isDisabled) {
            this.nzDisabled = isDisabled;
        };
        YearPickerComponent.prototype.writeValue = function (obj) {
            if (obj && moment__namespace.isMoment(obj)) {
                this.value = obj.toDate();
            }
            else {
                this.value = obj;
            }
        };
        return YearPickerComponent;
    }(DatePickerBase));
    YearPickerComponent.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0__namespace, type: YearPickerComponent, deps: [], target: i0__namespace.ɵɵFactoryTarget.Component });
    YearPickerComponent.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.13", type: YearPickerComponent, selector: "l-year-picker", inputs: { ngModel: "ngModel", nzFormat: "nzFormat", nzRenderExtraFooter: "nzRenderExtraFooter", nzPlaceHolder: "nzPlaceHolder" }, outputs: { ngModelChange: "ngModelChange" }, providers: [{
                provide: i2$2.NG_VALUE_ACCESSOR,
                useExisting: i0.forwardRef(function () { return YearPickerComponent; }),
                multi: true
            }], usesInheritance: true, ngImport: i0__namespace, template: "<nz-year-picker\n        [nzAllowClear]=\"nzAllowClear\"\n        [nzAutoFocus]=\"nzAutoFocus\"\n        [nzDisabled]=\"nzDisabled\"\n        [nzDisabledDate]=\"nzDisabledDate\"\n        [nzLocale]=\"nzLocale\"\n        [nzPopupStyle]=\"nzPopupStyle\"\n        [nzDropdownClassName]=\"nzDropdownClassName\"\n        [nzSize]=\"nzSize\"\n\n\n        [nzFormat]=\"nzFormat\"\n        [nzRenderExtraFooter]=\"nzRenderExtraFooter\"\n        [nzPlaceHolder]=\"nzPlaceHolder\"\n\n        [(ngModel)]=\"value\"\n        (ngModelChange)=\"onNgModelChangeChange($event)\"\n        (nzOnOpenChange)=\"onNzOnOpenChange($event)\">\n\n</nz-year-picker>\n", components: [{ type: i1__namespace$5.NzDatePickerComponent, selector: "nz-date-picker,nz-week-picker,nz-month-picker,nz-year-picker,nz-range-picker", inputs: ["nzAllowClear", "nzAutoFocus", "nzDisabled", "nzBorderless", "nzInputReadOnly", "nzInline", "nzPlaceHolder", "nzPopupStyle", "nzSize", "nzShowToday", "nzMode", "nzShowNow", "nzDefaultPickerValue", "nzSeparator", "nzSuffixIcon", "nzBackdrop", "nzId", "nzShowTime", "nzFormat", "nzLocale", "nzOpen", "nzDisabledDate", "nzDropdownClassName", "nzDateRender", "nzDisabledTime", "nzRenderExtraFooter", "nzRanges"], outputs: ["nzOnPanelChange", "nzOnCalendarChange", "nzOnOk", "nzOnOpenChange"], exportAs: ["nzDatePicker"] }], directives: [{ type: i1__namespace$5.NzYearPickerComponent, selector: "nz-year-picker", exportAs: ["nzYearPicker"] }, { type: i2__namespace$2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i2__namespace$2.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }] });
    i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0__namespace, type: YearPickerComponent, decorators: [{
                type: i0.Component,
                args: [{
                        selector: 'l-year-picker',
                        templateUrl: './year-picker.component.html',
                        styles: [],
                        providers: [{
                                provide: i2$2.NG_VALUE_ACCESSOR,
                                useExisting: i0.forwardRef(function () { return YearPickerComponent; }),
                                multi: true
                            }]
                    }]
            }], ctorParameters: function () { return []; }, propDecorators: { ngModel: [{
                    type: i0.Input
                }], nzFormat: [{
                    type: i0.Input
                }], nzRenderExtraFooter: [{
                    type: i0.Input
                }], nzPlaceHolder: [{
                    type: i0.Input
                }], ngModelChange: [{
                    type: i0.Output
                }] } });

    var MonthPickerComponent = /** @class */ (function (_super) {
        __extends(MonthPickerComponent, _super);
        function MonthPickerComponent() {
            var _this = _super.call(this) || this;
            /**
             * 展示的日期格式,见nzFormat特别说明
             */
            _this.nzFormat = 'yyyy-MM';
            /**
             * 时间发生变化的回调
             */
            _this.ngModelChange = new i0.EventEmitter();
            return _this;
        }
        MonthPickerComponent.prototype.onNgModelChangeChange = function (event) {
            if (event && moment__namespace.isDate(event)) {
                this.ngModelChange.emit(moment__namespace(event));
            }
            else {
                this.ngModelChange.emit(undefined);
            }
        };
        MonthPickerComponent.prototype.registerOnChange = function (fn) {
            this.ngModelChange.emit = fn;
        };
        MonthPickerComponent.prototype.registerOnTouched = function (fn) {
        };
        MonthPickerComponent.prototype.setDisabledState = function (isDisabled) {
            this.nzDisabled = isDisabled;
        };
        MonthPickerComponent.prototype.writeValue = function (obj) {
            if (obj && moment__namespace.isMoment(obj)) {
                this.value = obj.toDate();
            }
            else {
                this.value = obj;
            }
        };
        return MonthPickerComponent;
    }(DatePickerBase));
    MonthPickerComponent.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0__namespace, type: MonthPickerComponent, deps: [], target: i0__namespace.ɵɵFactoryTarget.Component });
    MonthPickerComponent.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.13", type: MonthPickerComponent, selector: "l-month-picker", inputs: { ngModel: "ngModel", nzDisabledTime: "nzDisabledTime", nzFormat: "nzFormat", nzRenderExtraFooter: "nzRenderExtraFooter", nzPlaceHolder: "nzPlaceHolder" }, outputs: { ngModelChange: "ngModelChange" }, providers: [{
                provide: i2$2.NG_VALUE_ACCESSOR,
                useExisting: i0.forwardRef(function () { return MonthPickerComponent; }),
                multi: true
            }], usesInheritance: true, ngImport: i0__namespace, template: "<nz-month-picker\n        [nzAllowClear]=\"nzAllowClear\"\n        [nzAutoFocus]=\"nzAutoFocus\"\n        [nzDisabled]=\"nzDisabled\"\n        [nzDisabledDate]=\"nzDisabledDate\"\n        [nzLocale]=\"nzLocale\"\n        [nzPopupStyle]=\"nzPopupStyle\"\n        [nzDropdownClassName]=\"nzDropdownClassName\"\n        [nzSize]=\"nzSize\"\n\n        [nzFormat]=\"nzFormat\"\n        [nzRenderExtraFooter]=\"nzRenderExtraFooter\"\n        [nzPlaceHolder]=\"nzPlaceHolder\"\n\n        [(ngModel)]=\"value\"\n        (ngModelChange)=\"onNgModelChangeChange($event)\"\n        (nzOnOpenChange)=\"onNzOnOpenChange($event)\">\n\n</nz-month-picker>\n", components: [{ type: i1__namespace$5.NzDatePickerComponent, selector: "nz-date-picker,nz-week-picker,nz-month-picker,nz-year-picker,nz-range-picker", inputs: ["nzAllowClear", "nzAutoFocus", "nzDisabled", "nzBorderless", "nzInputReadOnly", "nzInline", "nzPlaceHolder", "nzPopupStyle", "nzSize", "nzShowToday", "nzMode", "nzShowNow", "nzDefaultPickerValue", "nzSeparator", "nzSuffixIcon", "nzBackdrop", "nzId", "nzShowTime", "nzFormat", "nzLocale", "nzOpen", "nzDisabledDate", "nzDropdownClassName", "nzDateRender", "nzDisabledTime", "nzRenderExtraFooter", "nzRanges"], outputs: ["nzOnPanelChange", "nzOnCalendarChange", "nzOnOk", "nzOnOpenChange"], exportAs: ["nzDatePicker"] }], directives: [{ type: i1__namespace$5.NzMonthPickerComponent, selector: "nz-month-picker", exportAs: ["nzMonthPicker"] }, { type: i2__namespace$2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i2__namespace$2.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }] });
    i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0__namespace, type: MonthPickerComponent, decorators: [{
                type: i0.Component,
                args: [{
                        selector: 'l-month-picker',
                        templateUrl: './month-picker.component.html',
                        styles: [],
                        providers: [{
                                provide: i2$2.NG_VALUE_ACCESSOR,
                                useExisting: i0.forwardRef(function () { return MonthPickerComponent; }),
                                multi: true
                            }]
                    }]
            }], ctorParameters: function () { return []; }, propDecorators: { ngModel: [{
                    type: i0.Input
                }], nzDisabledTime: [{
                    type: i0.Input
                }], nzFormat: [{
                    type: i0.Input
                }], nzRenderExtraFooter: [{
                    type: i0.Input
                }], nzPlaceHolder: [{
                    type: i0.Input
                }], ngModelChange: [{
                    type: i0.Output
                }] } });

    var WeekPickerComponent = /** @class */ (function (_super) {
        __extends(WeekPickerComponent, _super);
        function WeekPickerComponent() {
            var _this = _super.call(this) || this;
            /**
             * 展示的日期格式,见nzFormat特别说明
             */
            _this.nzFormat = 'yyyy-ww';
            /**
             * 时间发生变化的回调
             */
            _this.ngModelChange = new i0.EventEmitter();
            return _this;
        }
        WeekPickerComponent.prototype.onNgModelChangeChange = function (event) {
            if (event && moment__namespace.isDate(event)) {
                this.ngModelChange.emit(moment__namespace(event));
            }
            else {
                this.ngModelChange.emit(undefined);
            }
        };
        WeekPickerComponent.prototype.registerOnChange = function (fn) {
            this.ngModelChange.emit = fn;
        };
        WeekPickerComponent.prototype.registerOnTouched = function (fn) {
        };
        WeekPickerComponent.prototype.setDisabledState = function (isDisabled) {
            this.nzDisabled = isDisabled;
        };
        WeekPickerComponent.prototype.writeValue = function (obj) {
            if (obj && moment__namespace.isMoment(obj)) {
                this.value = obj.toDate();
            }
            else {
                this.value = obj;
            }
        };
        return WeekPickerComponent;
    }(DatePickerBase));
    WeekPickerComponent.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0__namespace, type: WeekPickerComponent, deps: [], target: i0__namespace.ɵɵFactoryTarget.Component });
    WeekPickerComponent.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.13", type: WeekPickerComponent, selector: "l-week-picker", inputs: { ngModel: "ngModel", nzFormat: "nzFormat", nzPlaceHolder: "nzPlaceHolder" }, outputs: { ngModelChange: "ngModelChange" }, providers: [{
                provide: i2$2.NG_VALUE_ACCESSOR,
                useExisting: i0.forwardRef(function () { return WeekPickerComponent; }),
                multi: true
            }], usesInheritance: true, ngImport: i0__namespace, template: "<nz-week-picker\n        [nzAllowClear]=\"nzAllowClear\"\n        [nzAutoFocus]=\"nzAutoFocus\"\n        [nzDisabled]=\"nzDisabled\"\n        [nzDisabledDate]=\"nzDisabledDate\"\n        [nzLocale]=\"nzLocale\"\n        [nzPopupStyle]=\"nzPopupStyle\"\n        [nzDropdownClassName]=\"nzDropdownClassName\"\n        [nzSize]=\"nzSize\"\n\n\n        [nzFormat]=\"nzFormat\"\n        [nzPlaceHolder]=\"nzPlaceHolder\"\n\n        [(ngModel)]=\"value\"\n        (ngModelChange)=\"onNgModelChangeChange($event)\"\n        (nzOnOpenChange)=\"onNzOnOpenChange($event)\"\n>\n\n</nz-week-picker>\n", components: [{ type: i1__namespace$5.NzDatePickerComponent, selector: "nz-date-picker,nz-week-picker,nz-month-picker,nz-year-picker,nz-range-picker", inputs: ["nzAllowClear", "nzAutoFocus", "nzDisabled", "nzBorderless", "nzInputReadOnly", "nzInline", "nzPlaceHolder", "nzPopupStyle", "nzSize", "nzShowToday", "nzMode", "nzShowNow", "nzDefaultPickerValue", "nzSeparator", "nzSuffixIcon", "nzBackdrop", "nzId", "nzShowTime", "nzFormat", "nzLocale", "nzOpen", "nzDisabledDate", "nzDropdownClassName", "nzDateRender", "nzDisabledTime", "nzRenderExtraFooter", "nzRanges"], outputs: ["nzOnPanelChange", "nzOnCalendarChange", "nzOnOk", "nzOnOpenChange"], exportAs: ["nzDatePicker"] }], directives: [{ type: i1__namespace$5.NzWeekPickerComponent, selector: "nz-week-picker", exportAs: ["nzWeekPicker"] }, { type: i2__namespace$2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i2__namespace$2.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }] });
    i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0__namespace, type: WeekPickerComponent, decorators: [{
                type: i0.Component,
                args: [{
                        selector: 'l-week-picker',
                        templateUrl: './week-picker.component.html',
                        styles: [],
                        providers: [{
                                provide: i2$2.NG_VALUE_ACCESSOR,
                                useExisting: i0.forwardRef(function () { return WeekPickerComponent; }),
                                multi: true
                            }]
                    }]
            }], ctorParameters: function () { return []; }, propDecorators: { ngModel: [{
                    type: i0.Input
                }], nzFormat: [{
                    type: i0.Input
                }], nzPlaceHolder: [{
                    type: i0.Input
                }], ngModelChange: [{
                    type: i0.Output
                }] } });

    var RangePickerComponent = /** @class */ (function (_super) {
        __extends(RangePickerComponent, _super);
        function RangePickerComponent() {
            var _this = _super.call(this) || this;
            /**
             * 展示的日期格式,见nzFormat特别说明
             */
            _this.nzFormat = 'yyyy-MM-dd';
            /**
             * 点击确定按钮的回调
             */
            _this.nzOnOk = new i0.EventEmitter();
            /**
             * 时间发生变化的回调
             */
            _this.ngModelChange = new i0.EventEmitter();
            /**
             * 待选日期发生变化的回调
             */
            _this.nzOnCalendarChange = new i0.EventEmitter();
            return _this;
        }
        /**
         * 点击确定按钮的回调
         * @param event 数据
         */
        RangePickerComponent.prototype.onNzOk = function (event) {
            if (Array.isArray(event) && moment__namespace.isDate(event[0] && moment__namespace.isDate(event[1]))) {
                this.nzOnOk.emit(event.map(function (o) {
                    return moment__namespace(o);
                }));
            }
            else {
                this.nzOnOk.emit(undefined);
            }
        };
        /**
         * 时间发生变化的回调
         * @param event 数据
         */
        RangePickerComponent.prototype.onNgModelChangeChange = function (event) {
            if (Array.isArray(event) && event.length === 2) {
                this.ngModelChange.emit(event.map(function (o) {
                    return moment__namespace(o);
                }));
            }
            else {
                this.ngModelChange.emit(undefined);
            }
        };
        /**
         * 待选日期发生变化的回调
         * @param event 数据
         */
        RangePickerComponent.prototype.onNzOnCalendarChange = function (event) {
            if (Array.isArray(event) && event.length === 2) {
                this.nzOnCalendarChange.emit(event.map(function (o) {
                    return moment__namespace(o);
                }));
            }
            else {
                this.nzOnCalendarChange.emit(undefined);
            }
        };
        RangePickerComponent.prototype.registerOnChange = function (fn) {
            this.ngModelChange.emit = fn;
        };
        RangePickerComponent.prototype.registerOnTouched = function (fn) {
        };
        RangePickerComponent.prototype.setDisabledState = function (isDisabled) {
            this.nzDisabled = isDisabled;
        };
        RangePickerComponent.prototype.writeValue = function (obj) {
            if (obj && Array.isArray(obj) && obj.length === 2 && moment__namespace.isMoment(obj[0]) && moment__namespace.isMoment(obj[1])) {
                this.value = [obj[0].toDate(), obj[1].toDate()];
            }
            else {
                this.value = obj;
            }
        };
        return RangePickerComponent;
    }(DatePickerBase));
    RangePickerComponent.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0__namespace, type: RangePickerComponent, deps: [], target: i0__namespace.ɵɵFactoryTarget.Component });
    RangePickerComponent.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.13", type: RangePickerComponent, selector: "l-range-picker", inputs: { ngModel: "ngModel", nzDisabledTime: "nzDisabledTime", nzFormat: "nzFormat", nzRanges: "nzRanges", nzRenderExtraFooter: "nzRenderExtraFooter", nzShowTime: "nzShowTime", nzPlaceHolder: "nzPlaceHolder" }, outputs: { nzOnOk: "nzOnOk", ngModelChange: "ngModelChange", nzOnCalendarChange: "nzOnCalendarChange" }, providers: [{
                provide: i2$2.NG_VALUE_ACCESSOR,
                useExisting: i0.forwardRef(function () { return RangePickerComponent; }),
                multi: true,
            }], usesInheritance: true, ngImport: i0__namespace, template: "<nz-range-picker\n  [nzAllowClear]='nzAllowClear'\n  [nzAutoFocus]='nzAutoFocus'\n  [nzDateRender]='nzDateRender'\n  [nzDisabled]='nzDisabled'\n  [nzDisabledDate]='nzDisabledDate'\n  [nzLocale]='nzLocale'\n  [nzPopupStyle]='nzPopupStyle'\n  [nzDropdownClassName]='nzDropdownClassName'\n  [nzSize]='nzSize'\n  [nzDisabledTime]='nzDisabledTime'\n  [nzFormat]='nzFormat'\n  [nzRenderExtraFooter]='nzRenderExtraFooter'\n  [nzShowTime]='nzShowTime'\n  [nzPlaceHolder]='nzPlaceHolder'\n  [nzRanges]='nzRanges'\n  [(ngModel)]='value'\n  (nzOnOk)='onNzOk($event)'\n  (ngModelChange)='onNgModelChangeChange($event)'\n  (nzOnCalendarChange)='onNzOnCalendarChange($event)'\n  (nzOnOpenChange)='onNzOnOpenChange($event)'\n>\n</nz-range-picker>\n", components: [{ type: i1__namespace$5.NzDatePickerComponent, selector: "nz-date-picker,nz-week-picker,nz-month-picker,nz-year-picker,nz-range-picker", inputs: ["nzAllowClear", "nzAutoFocus", "nzDisabled", "nzBorderless", "nzInputReadOnly", "nzInline", "nzPlaceHolder", "nzPopupStyle", "nzSize", "nzShowToday", "nzMode", "nzShowNow", "nzDefaultPickerValue", "nzSeparator", "nzSuffixIcon", "nzBackdrop", "nzId", "nzShowTime", "nzFormat", "nzLocale", "nzOpen", "nzDisabledDate", "nzDropdownClassName", "nzDateRender", "nzDisabledTime", "nzRenderExtraFooter", "nzRanges"], outputs: ["nzOnPanelChange", "nzOnCalendarChange", "nzOnOk", "nzOnOpenChange"], exportAs: ["nzDatePicker"] }], directives: [{ type: i1__namespace$5.NzRangePickerComponent, selector: "nz-range-picker", exportAs: ["nzRangePicker"] }, { type: i2__namespace$2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i2__namespace$2.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }] });
    i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0__namespace, type: RangePickerComponent, decorators: [{
                type: i0.Component,
                args: [{
                        selector: 'l-range-picker',
                        templateUrl: './range-picker.component.html',
                        styles: [],
                        providers: [{
                                provide: i2$2.NG_VALUE_ACCESSOR,
                                useExisting: i0.forwardRef(function () { return RangePickerComponent; }),
                                multi: true,
                            }],
                    }]
            }], ctorParameters: function () { return []; }, propDecorators: { ngModel: [{
                    type: i0.Input
                }], nzDisabledTime: [{
                    type: i0.Input
                }], nzFormat: [{
                    type: i0.Input
                }], nzRanges: [{
                    type: i0.Input
                }], nzRenderExtraFooter: [{
                    type: i0.Input
                }], nzShowTime: [{
                    type: i0.Input
                }], nzPlaceHolder: [{
                    type: i0.Input
                }], nzOnOk: [{
                    type: i0.Output
                }], ngModelChange: [{
                    type: i0.Output
                }], nzOnCalendarChange: [{
                    type: i0.Output
                }] } });

    var TimePickerComponent = /** @class */ (function (_super) {
        __extends(TimePickerComponent, _super);
        function TimePickerComponent() {
            var _this = _super.call(this) || this;
            /**
             * 展示的日期格式,见nzFormat特别说明
             */
            _this.nzFormat = 'HH:mm:ss';
            /**
             * 自动获取焦点
             */
            _this.nzAutoFocus = false;
            /**
             * 隐藏禁止选择的选项
             */
            _this.nzHideDisabledOptions = false;
            /**
             * 小时选项间隔
             */
            _this.nzHourStep = 1;
            /**
             * 分钟选项间隔
             */
            _this.nzMinuteStep = 1;
            /**
             * 	秒选项间隔
             */
            _this.nzSecondStep = 1;
            /**
             * 面板是否打开,可双向绑定
             */
            _this.nzOpen = false;
            /**
             * 弹出层类名
             */
            _this.nzPopupClassName = '';
            /**
             * 当 [ngModel] 不存在时,可以设置面板打开时默认选中的值
             */
            _this.nzDefaultOpenValue = new Date();
            /**
             * 使用12小时制,为true时format默认为h:mm:ss a
             */
            _this.nzUse12Hours = false;
            /**
             * 点击确定按钮的回调
             */
            _this.nzOnOk = new i0.EventEmitter();
            /**
             * 时间发生变化的回调
             */
            _this.ngModelChange = new i0.EventEmitter();
            /**
             * 待选日期发生变化的回调
             */
            _this.nzOnCalendarChange = new i0.EventEmitter();
            return _this;
        }
        /**
         * 点击确定按钮的回调
         * @param event 数据
         */
        TimePickerComponent.prototype.onNzOk = function (event) {
            if (event && moment__namespace.isDate(event[0] && moment__namespace.isDate(event[1]))) {
                this.nzOnOk.emit(event.map(function (o) {
                    return moment__namespace(o);
                }));
            }
            else {
                this.nzOnOk.emit(undefined);
            }
        };
        /**
         * 时间发生变化的回调
         * @param event 数据
         */
        TimePickerComponent.prototype.onNgModelChangeChange = function (event) {
            if (event && moment__namespace.isDate(event[0] && moment__namespace.isDate(event[1]))) {
                this.ngModelChange.emit(event.map(function (o) {
                    return moment__namespace(o);
                }));
            }
            else {
                this.ngModelChange.emit(undefined);
            }
        };
        /**
         * 待选日期发生变化的回调
         * @param event 数据
         */
        TimePickerComponent.prototype.onNzOnCalendarChange = function (event) {
            if (event && moment__namespace.isDate(event[0] && moment__namespace.isDate(event[1]))) {
                this.nzOnCalendarChange.emit(event.map(function (o) {
                    return moment__namespace(o);
                }));
            }
            else {
                this.nzOnCalendarChange.emit(undefined);
            }
        };
        TimePickerComponent.prototype.registerOnChange = function (fn) {
            this.ngModelChange.emit = fn;
        };
        TimePickerComponent.prototype.registerOnTouched = function (fn) { };
        TimePickerComponent.prototype.setDisabledState = function (isDisabled) {
            this.nzDisabled = isDisabled;
        };
        TimePickerComponent.prototype.writeValue = function (obj) {
            if (obj && moment__namespace.isMoment(obj)) {
                this.value = obj.toDate();
            }
            else {
                this.value = obj;
            }
        };
        return TimePickerComponent;
    }(DatePickerBase));
    TimePickerComponent.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0__namespace, type: TimePickerComponent, deps: [], target: i0__namespace.ɵɵFactoryTarget.Component });
    TimePickerComponent.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.13", type: TimePickerComponent, selector: "l-time-picker", inputs: { ngModel: "ngModel", nzDisabledTime: "nzDisabledTime", nzFormat: "nzFormat", nzRanges: "nzRanges", nzRenderExtraFooter: "nzRenderExtraFooter", nzShowTime: "nzShowTime", nzPlaceHolder: "nzPlaceHolder", nzAddOn: "nzAddOn", nzAutoFocus: "nzAutoFocus", nzDisabledHours: "nzDisabledHours", nzDisabledMinutes: "nzDisabledMinutes", nzDisabledSeconds: "nzDisabledSeconds", nzHideDisabledOptions: "nzHideDisabledOptions", nzHourStep: "nzHourStep", nzMinuteStep: "nzMinuteStep", nzSecondStep: "nzSecondStep", nzOpen: "nzOpen", nzPopupClassName: "nzPopupClassName", nzDefaultOpenValue: "nzDefaultOpenValue", nzUse12Hours: "nzUse12Hours" }, outputs: { nzOnOk: "nzOnOk", ngModelChange: "ngModelChange", nzOnCalendarChange: "nzOnCalendarChange" }, providers: [
            {
                provide: i2$2.NG_VALUE_ACCESSOR,
                useExisting: i0.forwardRef(function () { return TimePickerComponent; }),
                multi: true,
            },
        ], usesInheritance: true, ngImport: i0__namespace, template: "<nz-time-picker [nzAutoFocus]='nzAutoFocus' [nzDisabled]='nzDisabled' [nzSize]='nzSize' [nzFormat]='nzFormat'\n                [nzAddOn]='nzAddOn' [nzDisabledHours]='nzDisabledHours' [nzDisabledMinutes]='nzDisabledMinutes'\n                [nzDefaultOpenValue]='nzDefaultOpenValue' [nzDisabledSeconds]='nzDisabledSeconds'\n                [nzHideDisabledOptions]='nzHideDisabledOptions' [nzHourStep]='nzHourStep' [nzMinuteStep]='nzMinuteStep'\n                [nzSecondStep]='nzSecondStep' [nzOpen]='nzOpen' [nzPopupClassName]='nzPopupClassName'\n                [nzUse12Hours]='nzUse12Hours'\n                [nzPlaceHolder]='nzPlaceHolder' [(ngModel)]='value'\n                (ngModelChange)='onNgModelChangeChange($event)'\n                (nzOpenChange)='onNzOnOpenChange($event)'>\n</nz-time-picker>\n", components: [{ type: i6__namespace.NzTimePickerComponent, selector: "nz-time-picker", inputs: ["nzId", "nzSize", "nzHourStep", "nzMinuteStep", "nzSecondStep", "nzClearText", "nzNowText", "nzOkText", "nzPopupClassName", "nzPlaceHolder", "nzFormat", "nzOpen", "nzUse12Hours", "nzSuffixIcon", "nzHideDisabledOptions", "nzAllowEmpty", "nzDisabled", "nzAutoFocus", "nzBackdrop", "nzAddOn", "nzDefaultOpenValue", "nzDisabledHours", "nzDisabledMinutes", "nzDisabledSeconds"], outputs: ["nzOpenChange"], exportAs: ["nzTimePicker"] }], directives: [{ type: i2__namespace$2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i2__namespace$2.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }] });
    i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0__namespace, type: TimePickerComponent, decorators: [{
                type: i0.Component,
                args: [{
                        selector: 'l-time-picker',
                        templateUrl: './time-picker.component.html',
                        styles: [],
                        providers: [
                            {
                                provide: i2$2.NG_VALUE_ACCESSOR,
                                useExisting: i0.forwardRef(function () { return TimePickerComponent; }),
                                multi: true,
                            },
                        ],
                    }]
            }], ctorParameters: function () { return []; }, propDecorators: { ngModel: [{
                    type: i0.Input
                }], nzDisabledTime: [{
                    type: i0.Input
                }], nzFormat: [{
                    type: i0.Input
                }], nzRanges: [{
                    type: i0.Input
                }], nzRenderExtraFooter: [{
                    type: i0.Input
                }], nzShowTime: [{
                    type: i0.Input
                }], nzPlaceHolder: [{
                    type: i0.Input
                }], nzAddOn: [{
                    type: i0.Input
                }], nzAutoFocus: [{
                    type: i0.Input
                }], nzDisabledHours: [{
                    type: i0.Input
                }], nzDisabledMinutes: [{
                    type: i0.Input
                }], nzDisabledSeconds: [{
                    type: i0.Input
                }], nzHideDisabledOptions: [{
                    type: i0.Input
                }], nzHourStep: [{
                    type: i0.Input
                }], nzMinuteStep: [{
                    type: i0.Input
                }], nzSecondStep: [{
                    type: i0.Input
                }], nzOpen: [{
                    type: i0.Input
                }], nzPopupClassName: [{
                    type: i0.Input
                }], nzDefaultOpenValue: [{
                    type: i0.Input
                }], nzUse12Hours: [{
                    type: i0.Input
                }], nzOnOk: [{
                    type: i0.Output
                }], ngModelChange: [{
                    type: i0.Output
                }], nzOnCalendarChange: [{
                    type: i0.Output
                }] } });

    var COMPONENTS$1 = [
        DatePickerComponent,
        RangePickerComponent,
        YearPickerComponent,
        MonthPickerComponent,
        WeekPickerComponent,
        TimePickerComponent
    ];
    /** 自定义组件模块 */
    var LNgZorroModule = /** @class */ (function () {
        function LNgZorroModule() {
        }
        LNgZorroModule.forRoot = function () {
            return { ngModule: LNgZorroModule };
        };
        return LNgZorroModule;
    }());
    LNgZorroModule.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0__namespace, type: LNgZorroModule, deps: [], target: i0__namespace.ɵɵFactoryTarget.NgModule });
    LNgZorroModule.ɵmod = i0__namespace.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0__namespace, type: LNgZorroModule, declarations: [DatePickerComponent,
            RangePickerComponent,
            YearPickerComponent,
            MonthPickerComponent,
            WeekPickerComponent,
            TimePickerComponent], imports: [i3$1.CommonModule,
            i2$2.FormsModule,
            i1$5.NzDatePickerModule,
            i6.NzTimePickerModule], exports: [DatePickerComponent,
            RangePickerComponent,
            YearPickerComponent,
            MonthPickerComponent,
            WeekPickerComponent,
            TimePickerComponent] });
    LNgZorroModule.ɵinj = i0__namespace.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0__namespace, type: LNgZorroModule, imports: [[
                i3$1.CommonModule,
                i2$2.FormsModule,
                i1$5.NzDatePickerModule,
                i6.NzTimePickerModule,
            ]] });
    i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0__namespace, type: LNgZorroModule, decorators: [{
                type: i0.NgModule,
                args: [{
                        imports: [
                            i3$1.CommonModule,
                            i2$2.FormsModule,
                            i1$5.NzDatePickerModule,
                            i6.NzTimePickerModule,
                        ],
                        declarations: __spreadArray([], __read(COMPONENTS$1)),
                        exports: __spreadArray([], __read(COMPONENTS$1)),
                    }]
            }] });

    var ValidationMessagesComponent = /** @class */ (function (_super) {
        __extends(ValidationMessagesComponent, _super);
        function ValidationMessagesComponent(injector, cdr, appConfig) {
            var _this = _super.call(this, injector) || this;
            _this.cdr = cdr;
            _this.appConfig = appConfig;
            _this._formCtrlInited = false;
            /** 所有异常 */
            _this.errorSource = {};
            /** 页面异常信息 */
            _this.viewErrors = [];
            _this.updateErrorSource();
            return _this;
        }
        ValidationMessagesComponent.prototype.ngOnChanges = function (changes) {
            if (changes.customErrors) {
                this.updateErrorSource();
            }
            if (changes.formCtrl && changes.formCtrl.currentValue && !this._formCtrlInited) {
                this._formCtrlInited = true;
                var self_1 = this;
                self_1.updateViewError();
                changes.formCtrl.currentValue.valueChanges.subscribe(function (res) {
                    self_1.updateViewError();
                });
            }
        };
        /** 更新所有定义的错误 */
        ValidationMessagesComponent.prototype.updateErrorSource = function () {
            var _this = this;
            if (!this.customErrors || this.customErrors.length === 0) {
                this.appConfig.standartErrors.forEach(function (item) {
                    _this.errorSource[item.error] = item;
                });
                return;
            }
            var standarts = this.appConfig.standartErrors.filter(function (stdErr) { return !_this.customErrors.every(function (customErr) { return customErr.error === stdErr.error; }); });
            standarts.concat(this.customErrors)
                .forEach(function (item) {
                _this.errorSource[item.error] = item;
            });
        };
        /** 更新视图错误 */
        ValidationMessagesComponent.prototype.updateViewError = function () {
            if (this.formCtrl.invalid && (this.formCtrl.dirty || this.formCtrl.touched)) {
                var tmpViewErrors = [];
                // tslint:disable-next-line: forin
                for (var key in this.formCtrl.errors) {
                    var formError = this.formCtrl.errors[key];
                    if (!formError) {
                        continue;
                    }
                    var error = this.errorSource[key];
                    if (!error) {
                        continue;
                    }
                    var errorRequirement = formError[error.errorProperty];
                    tmpViewErrors.push(!!errorRequirement ? this.l(error.localizationKey) + ' ' + errorRequirement : this.l(error.localizationKey));
                }
                var newError = tmpViewErrors.join(',');
                var oldError = this.viewErrors.join(',');
                if (newError !== oldError) {
                    this.viewErrors = tmpViewErrors;
                    this.cdr.detectChanges();
                }
            }
        };
        return ValidationMessagesComponent;
    }(SampleComponentBaseDirective));
    ValidationMessagesComponent.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0__namespace, type: ValidationMessagesComponent, deps: [{ token: i0__namespace.Injector }, { token: i0__namespace.ChangeDetectorRef }, { token: YOYO_CONFIG }], target: i0__namespace.ɵɵFactoryTarget.Component });
    ValidationMessagesComponent.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.13", type: ValidationMessagesComponent, selector: "validation-messages", inputs: { formCtrl: "formCtrl", customErrors: "customErrors" }, usesInheritance: true, usesOnChanges: true, ngImport: i0__namespace, template: "<!--<span *ngIf=\"formCtrl&&formCtrl.invalid && (formCtrl.dirty || formCtrl.touched)\">-->\n<!--  <ng-container *ngFor=\"let errorDef of errorDefsInternal\">-->\n<!--    <span *ngIf=\"getErrorDefinitionIsInValid(errorDef)\">-->\n<!--      {{getErrorDefinitionMessage(errorDef)}}-->\n<!--    </span>-->\n<!--  </ng-container>-->\n<!--</span>-->\n\n<ng-container *ngFor=\"let error of viewErrors\">\n  <div>\n    {{error}}\n  </div>\n</ng-container>\n", styles: [""], directives: [{ type: i3__namespace.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }], changeDetection: i0__namespace.ChangeDetectionStrategy.OnPush });
    i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0__namespace, type: ValidationMessagesComponent, decorators: [{
                type: i0.Component,
                args: [{
                        selector: 'validation-messages',
                        templateUrl: './validation-messages.component.html',
                        styleUrls: ['./validation-messages.component.less'],
                        changeDetection: i0.ChangeDetectionStrategy.OnPush,
                    }]
            }], ctorParameters: function () {
            return [{ type: i0__namespace.Injector }, { type: i0__namespace.ChangeDetectorRef }, { type: undefined, decorators: [{
                            type: i0.Inject,
                            args: [YOYO_CONFIG]
                        }] }];
        }, propDecorators: { formCtrl: [{
                    type: i0.Input
                }], customErrors: [{
                    type: i0.Input
                }] } });

    var COMPONENTS = [
        ValidationMessagesComponent,
    ];
    var LValidationMessagesModule = /** @class */ (function () {
        function LValidationMessagesModule() {
        }
        return LValidationMessagesModule;
    }());
    LValidationMessagesModule.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0__namespace, type: LValidationMessagesModule, deps: [], target: i0__namespace.ɵɵFactoryTarget.NgModule });
    LValidationMessagesModule.ɵmod = i0__namespace.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0__namespace, type: LValidationMessagesModule, declarations: [ValidationMessagesComponent], imports: [i3$1.CommonModule], exports: [ValidationMessagesComponent] });
    LValidationMessagesModule.ɵinj = i0__namespace.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0__namespace, type: LValidationMessagesModule, imports: [[
                i3$1.CommonModule,
            ]] });
    i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0__namespace, type: LValidationMessagesModule, decorators: [{
                type: i0.NgModule,
                args: [{
                        imports: [
                            i3$1.CommonModule,
                        ],
                        declarations: __spreadArray([], __read(COMPONENTS)),
                        exports: __spreadArray([], __read(COMPONENTS))
                    }]
            }] });

    /** L52ABP-NG 的服务 */
    var L52ABP_SERVICES = [
        TreeDataHelperService,
        ArrayToTreeConverterService,
        PermissionService,
    ];
    /** http 拦截器,loading效果 */
    var L52ABP_HTTP_LOADING_PROVIDER = [
        {
            provide: http.HTTP_INTERCEPTORS,
            useClass: LoadingInterceptor,
            multi: true,
        },
    ];

    //
    var ALL_MODULES = [
        i1$1.AbpModule,
        LComponentsModule,
        LDirectivesModule,
        LGlobalLoadingModule,
        LNgZorroModule,
        LPipesModule,
        LValidationMessagesModule,
    ];
    var L52AbpModule = /** @class */ (function () {
        function L52AbpModule() {
        }
        return L52AbpModule;
    }());
    L52AbpModule.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0__namespace, type: L52AbpModule, deps: [], target: i0__namespace.ɵɵFactoryTarget.NgModule });
    L52AbpModule.ɵmod = i0__namespace.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0__namespace, type: L52AbpModule, imports: [i1$1.AbpModule,
            LComponentsModule,
            LDirectivesModule,
            LGlobalLoadingModule,
            LNgZorroModule,
            LPipesModule,
            LValidationMessagesModule], exports: [i1$1.AbpModule,
            LComponentsModule,
            LDirectivesModule,
            LGlobalLoadingModule,
            LNgZorroModule,
            LPipesModule,
            LValidationMessagesModule] });
    L52AbpModule.ɵinj = i0__namespace.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0__namespace, type: L52AbpModule, providers: [], imports: [__spreadArray([], __read(ALL_MODULES)), i1$1.AbpModule,
            LComponentsModule,
            LDirectivesModule,
            LGlobalLoadingModule,
            LNgZorroModule,
            LPipesModule,
            LValidationMessagesModule] });
    i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0__namespace, type: L52AbpModule, decorators: [{
                type: i0.NgModule,
                args: [{
                        imports: __spreadArray([], __read(ALL_MODULES)),
                        declarations: [],
                        entryComponents: [],
                        exports: __spreadArray([], __read(ALL_MODULES)),
                        providers: [],
                    }]
            }] });

    /**
     * Generated bundle index. Do not edit.
     */

    exports.AddressWidget = AddressWidget;
    exports.AppComponentBaseDirective = AppComponentBaseDirective;
    exports.ArrayToTreeConverterService = ArrayToTreeConverterService;
    exports.AutoFocusDirective = AutoFocusDirective;
    exports.ControlComponentBaseDirective = ControlComponentBaseDirective;
    exports.DatePickerBase = DatePickerBase;
    exports.DatePickerComponent = DatePickerComponent;
    exports.EnumService = EnumService;
    exports.EqualValidator = EqualValidator;
    exports.ExpressionValidator = ExpressionValidator;
    exports.FakeAppSessionService = FakeAppSessionService;
    exports.ImgShowComponent = ImgShowComponent;
    exports.L52ABP_HTTP_LOADING_PROVIDER = L52ABP_HTTP_LOADING_PROVIDER;
    exports.L52ABP_SERVICES = L52ABP_SERVICES;
    exports.L52AbpModule = L52AbpModule;
    exports.LComponentsModule = LComponentsModule;
    exports.LDirectivesModule = LDirectivesModule;
    exports.LGlobalLoadingModule = LGlobalLoadingModule;
    exports.LJsonSchemaModule = LJsonSchemaModule;
    exports.LNgZorroModule = LNgZorroModule;
    exports.LPipesModule = LPipesModule;
    exports.LValidationMessagesModule = LValidationMessagesModule;
    exports.LoadingInterceptor = LoadingInterceptor;
    exports.LoadingService = LoadingService;
    exports.LocalizationService = LocalizationService;
    exports.MarkdownWidget = MarkdownWidget;
    exports.MaxValueValidator = MaxValueValidator;
    exports.MessageExtension = MessageExtension;
    exports.MinValueValidator = MinValueValidator;
    exports.ModalComponentBaseDirective = ModalComponentBaseDirective;
    exports.ModalPagedListingComponentBaseDirective = ModalPagedListingComponentBaseDirective;
    exports.MomentFormatPipe = MomentFormatPipe;
    exports.MomentFromNowPipe = MomentFromNowPipe;
    exports.MomentWidget = MomentWidget;
    exports.MonthPickerComponent = MonthPickerComponent;
    exports.NoDataComponent = NoDataComponent;
    exports.OverlayComponent = OverlayComponent;
    exports.PageGridComponent = PageGridComponent;
    exports.PagedListingComponentBaseDirective = PagedListingComponentBaseDirective;
    exports.PagedRequestDto = PagedRequestDto;
    exports.PagedResultDto = PagedResultDto;
    exports.PasswordComplexityValidator = PasswordComplexityValidator;
    exports.PerfectScrollbarEvents = PerfectScrollbarEvents;
    exports.PermissionService = PermissionService;
    exports.ProLangsComponent = ProLangsComponent;
    exports.RangePickerComponent = RangePickerComponent;
    exports.RequestHelper = RequestHelper;
    exports.SCHEMA_THIRDS_COMPONENTS = SCHEMA_THIRDS_COMPONENTS;
    exports.STWIDGET_COMPONENTS = STWIDGET_COMPONENTS;
    exports.SampleComponentBaseDirective = SampleComponentBaseDirective;
    exports.SampleControlComponentBaseDirective = SampleControlComponentBaseDirective;
    exports.ScriptLoaderService = ScriptLoaderService;
    exports.ScrollbarDirective = ScrollbarDirective;
    exports.SfWidgetsModule = SfWidgetsModule;
    exports.SimplemdeWidget = SimplemdeWidget;
    exports.StMomentWidget = StMomentWidget;
    exports.StWidgetsModule = StWidgetsModule;
    exports.TableCheckboxPanelComponent = TableCheckboxPanelComponent;
    exports.TimePickerComponent = TimePickerComponent;
    exports.TreeDataHelperService = TreeDataHelperService;
    exports.ValidationMessagesComponent = ValidationMessagesComponent;
    exports.WeekPickerComponent = WeekPickerComponent;
    exports.YOYO_APP_SESSION_SERVICE = YOYO_APP_SESSION_SERVICE;
    exports.YOYO_APP_SESSION_SERVICE_FACTORY = YOYO_APP_SESSION_SERVICE_FACTORY;
    exports.YOYO_CONFIG = YOYO_CONFIG;
    exports.YOYO_CONFIG_FACTORY = YOYO_CONFIG_FACTORY;
    exports.YOYO_ENUM_SERVICE = YOYO_ENUM_SERVICE;
    exports.YOYO_ENUM_SERVICE_FACTORY = YOYO_ENUM_SERVICE_FACTORY;
    exports.YearPickerComponent = YearPickerComponent;
    exports.YoyoConfig = YoyoConfig;
    exports.YoyoConfigGrid = YoyoConfigGrid;
    exports.YoyoLang = YoyoLang;
    exports.accountModuleAnimation = accountModuleAnimation;
    exports.appModuleAnimation = appModuleAnimation;
    exports.slideFromBottom = slideFromBottom;
    exports.slideFromUp = slideFromUp;
    exports.throwIfAlreadyLoaded = throwIfAlreadyLoaded;

    Object.defineProperty(exports, '__esModule', { value: true });

}));
//# sourceMappingURL=yoyoboot-l-52abp-ng.umd.js.map