@delon/theme 15.2.0 → 16.0.0-beta.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/compact.css +5 -14
- package/compact.min.css +1 -1
- package/dark.css +5 -14
- package/dark.min.css +1 -1
- package/default.css +5 -14
- package/default.min.css +1 -1
- package/esm2022/layout-default/layout-header-item-trigger.directive.mjs +17 -0
- package/esm2022/layout-default/layout-header-item.component.mjs +34 -0
- package/esm2022/layout-default/layout-header.component.mjs +127 -0
- package/esm2022/layout-default/layout-nav.component.mjs +295 -0
- package/esm2022/layout-default/layout-top-menu-item.mjs +40 -0
- package/esm2022/layout-default/layout.component.mjs +163 -0
- package/esm2022/layout-default/layout.module.mjs +72 -0
- package/esm2022/layout-default/layout.service.mjs +66 -0
- package/esm2022/setting-drawer/setting-drawer-item.component.mjs +36 -0
- package/esm2022/setting-drawer/setting-drawer.component.mjs +195 -0
- package/esm2022/setting-drawer/setting-drawer.module.mjs +67 -0
- package/esm2022/src/locale/locale.module.mjs +18 -0
- package/esm2022/src/locale/locale.service.mjs +46 -0
- package/esm2022/src/pipes/date/date.pipe.mjs +25 -0
- package/esm2022/src/pipes/keys/keys.pipe.mjs +22 -0
- package/esm2022/src/pipes/safe/html.pipe.mjs +19 -0
- package/esm2022/src/pipes/safe/url.pipe.mjs +19 -0
- package/esm2022/src/pipes/yn/yn.pipe.mjs +39 -0
- package/esm2022/src/services/drawer/drawer.helper.mjs +92 -0
- package/esm2022/src/services/http/http.client.mjs +154 -0
- package/esm2022/src/services/http/http.decorator.mjs +216 -0
- package/esm2022/src/services/i18n/i18n-url.guard.mjs +37 -0
- package/esm2022/src/services/i18n/i18n.mjs +98 -0
- package/esm2022/src/services/i18n/i18n.pipe.mjs +22 -0
- package/esm2022/src/services/menu/menu.service.mjs +302 -0
- package/esm2022/src/services/modal/modal.helper.mjs +107 -0
- package/esm2022/src/services/responsive/responsive.mjs +47 -0
- package/esm2022/src/services/rtl/rtl.service.mjs +102 -0
- package/esm2022/src/services/settings/settings.service.mjs +101 -0
- package/esm2022/src/services/title/title.service.mjs +147 -0
- package/esm2022/src/theme.module.mjs +77 -0
- package/{esm2020 → esm2022}/src/version.mjs +1 -1
- package/esm2022/theme-btn/theme-btn.component.mjs +110 -0
- package/esm2022/theme-btn/theme-btn.module.mjs +33 -0
- package/{fesm2020 → fesm2022}/layout-default.mjs +55 -55
- package/{fesm2015 → fesm2022}/layout-default.mjs.map +1 -1
- package/{fesm2020 → fesm2022}/setting-drawer.mjs +32 -32
- package/{fesm2015 → fesm2022}/setting-drawer.mjs.map +1 -1
- package/{fesm2020 → fesm2022}/theme-btn.mjs +12 -12
- package/fesm2022/theme-btn.mjs.map +1 -0
- package/{fesm2020 → fesm2022}/theme.mjs +75 -75
- package/{fesm2020 → fesm2022}/theme.mjs.map +1 -1
- package/layout-default/layout-header-item.component.d.ts +1 -1
- package/layout-default/layout-header.component.d.ts +1 -1
- package/layout-default/layout-nav.component.d.ts +1 -1
- package/layout-default/layout-top-menu-item.d.ts +1 -1
- package/layout-default/layout.component.d.ts +1 -1
- package/package.json +20 -34
- package/setting-drawer/setting-drawer-item.component.d.ts +1 -1
- package/setting-drawer/setting-drawer.component.d.ts +1 -1
- package/system/utils/_other.less +1 -4
- package/system/widgets/_abs.less +1 -4
- package/theme-btn/theme-btn.component.d.ts +1 -1
- package/esm2020/layout-default/layout-header-item-trigger.directive.mjs +0 -16
- package/esm2020/layout-default/layout-header-item.component.mjs +0 -33
- package/esm2020/layout-default/layout-header.component.mjs +0 -126
- package/esm2020/layout-default/layout-nav.component.mjs +0 -294
- package/esm2020/layout-default/layout-top-menu-item.mjs +0 -39
- package/esm2020/layout-default/layout.component.mjs +0 -162
- package/esm2020/layout-default/layout.module.mjs +0 -71
- package/esm2020/layout-default/layout.service.mjs +0 -65
- package/esm2020/setting-drawer/setting-drawer-item.component.mjs +0 -35
- package/esm2020/setting-drawer/setting-drawer.component.mjs +0 -194
- package/esm2020/setting-drawer/setting-drawer.module.mjs +0 -66
- package/esm2020/src/locale/locale.module.mjs +0 -17
- package/esm2020/src/locale/locale.service.mjs +0 -45
- package/esm2020/src/pipes/date/date.pipe.mjs +0 -24
- package/esm2020/src/pipes/keys/keys.pipe.mjs +0 -21
- package/esm2020/src/pipes/safe/html.pipe.mjs +0 -18
- package/esm2020/src/pipes/safe/url.pipe.mjs +0 -18
- package/esm2020/src/pipes/yn/yn.pipe.mjs +0 -38
- package/esm2020/src/services/drawer/drawer.helper.mjs +0 -91
- package/esm2020/src/services/http/http.client.mjs +0 -153
- package/esm2020/src/services/http/http.decorator.mjs +0 -215
- package/esm2020/src/services/i18n/i18n-url.guard.mjs +0 -36
- package/esm2020/src/services/i18n/i18n.mjs +0 -96
- package/esm2020/src/services/i18n/i18n.pipe.mjs +0 -21
- package/esm2020/src/services/menu/menu.service.mjs +0 -301
- package/esm2020/src/services/modal/modal.helper.mjs +0 -106
- package/esm2020/src/services/responsive/responsive.mjs +0 -46
- package/esm2020/src/services/rtl/rtl.service.mjs +0 -101
- package/esm2020/src/services/settings/settings.service.mjs +0 -100
- package/esm2020/src/services/title/title.service.mjs +0 -146
- package/esm2020/src/theme.module.mjs +0 -76
- package/esm2020/theme-btn/theme-btn.component.mjs +0 -109
- package/esm2020/theme-btn/theme-btn.module.mjs +0 -32
- package/fesm2015/layout-default.mjs +0 -773
- package/fesm2015/setting-drawer.mjs +0 -487
- package/fesm2015/theme-btn.mjs +0 -147
- package/fesm2015/theme-btn.mjs.map +0 -1
- package/fesm2015/theme.mjs +0 -2696
- package/fesm2015/theme.mjs.map +0 -1
- package/fesm2020/layout-blank.mjs +0 -7
- package/fesm2020/layout-blank.mjs.map +0 -1
- package/fesm2020/layout-default.mjs.map +0 -1
- package/fesm2020/setting-drawer.mjs.map +0 -1
- package/fesm2020/theme-btn.mjs.map +0 -1
- /package/{esm2020 → esm2022}/layout-blank/layout-blank.mjs +0 -0
- /package/{esm2020 → esm2022}/layout-blank/public_api.mjs +0 -0
- /package/{esm2020 → esm2022}/layout-default/layout-default.mjs +0 -0
- /package/{esm2020 → esm2022}/layout-default/public_api.mjs +0 -0
- /package/{esm2020 → esm2022}/layout-default/types.mjs +0 -0
- /package/{esm2020 → esm2022}/public_api.mjs +0 -0
- /package/{esm2020 → esm2022}/setting-drawer/public_api.mjs +0 -0
- /package/{esm2020 → esm2022}/setting-drawer/setting-drawer.mjs +0 -0
- /package/{esm2020 → esm2022}/setting-drawer/setting-drawer.types.mjs +0 -0
- /package/{esm2020 → esm2022}/src/config.mjs +0 -0
- /package/{esm2020 → esm2022}/src/locale/index.mjs +0 -0
- /package/{esm2020 → esm2022}/src/locale/languages/el-GR.mjs +0 -0
- /package/{esm2020 → esm2022}/src/locale/languages/en-US.mjs +0 -0
- /package/{esm2020 → esm2022}/src/locale/languages/es-ES.mjs +0 -0
- /package/{esm2020 → esm2022}/src/locale/languages/fr-FR.mjs +0 -0
- /package/{esm2020 → esm2022}/src/locale/languages/hr-HR.mjs +0 -0
- /package/{esm2020 → esm2022}/src/locale/languages/it-IT.mjs +0 -0
- /package/{esm2020 → esm2022}/src/locale/languages/ja-JP.mjs +0 -0
- /package/{esm2020 → esm2022}/src/locale/languages/ko-KR.mjs +0 -0
- /package/{esm2020 → esm2022}/src/locale/languages/pl-PL.mjs +0 -0
- /package/{esm2020 → esm2022}/src/locale/languages/sl-SI.mjs +0 -0
- /package/{esm2020 → esm2022}/src/locale/languages/tr-TR.mjs +0 -0
- /package/{esm2020 → esm2022}/src/locale/languages/zh-CN.mjs +0 -0
- /package/{esm2020 → esm2022}/src/locale/languages/zh-TW.mjs +0 -0
- /package/{esm2020 → esm2022}/src/locale/locale.tokens.mjs +0 -0
- /package/{esm2020 → esm2022}/src/locale/locale.types.mjs +0 -0
- /package/{esm2020 → esm2022}/src/locale/public_api.mjs +0 -0
- /package/{esm2020 → esm2022}/src/router/optional-preloader.mjs +0 -0
- /package/{esm2020 → esm2022}/src/services/http/http.token.mjs +0 -0
- /package/{esm2020 → esm2022}/src/services/http/index.mjs +0 -0
- /package/{esm2020 → esm2022}/src/services/i18n/index.mjs +0 -0
- /package/{esm2020 → esm2022}/src/services/menu/interface.mjs +0 -0
- /package/{esm2020 → esm2022}/src/services/preloader/preloader.mjs +0 -0
- /package/{esm2020 → esm2022}/src/services/settings/types.mjs +0 -0
- /package/{esm2020 → esm2022}/theme-btn/public_api.mjs +0 -0
- /package/{esm2020 → esm2022}/theme-btn/theme-btn.mjs +0 -0
- /package/{esm2020 → esm2022}/theme.mjs +0 -0
- /package/{fesm2015 → fesm2022}/layout-blank.mjs +0 -0
- /package/{fesm2015 → fesm2022}/layout-blank.mjs.map +0 -0
|
@@ -0,0 +1,195 @@
|
|
|
1
|
+
import { __decorate } from "tslib";
|
|
2
|
+
import { DOCUMENT } from '@angular/common';
|
|
3
|
+
import { ChangeDetectionStrategy, Component, Inject, Input, isDevMode, Optional } from '@angular/core';
|
|
4
|
+
import { Subject, takeUntil } from 'rxjs';
|
|
5
|
+
import { copy } from '@delon/util/browser';
|
|
6
|
+
import { InputBoolean, ZoneOutside } from '@delon/util/decorator';
|
|
7
|
+
import { deepCopy } from '@delon/util/other';
|
|
8
|
+
import { ALAINDEFAULTVAR, DEFAULT_COLORS, DEFAULT_VARS } from './setting-drawer.types';
|
|
9
|
+
import * as i0 from "@angular/core";
|
|
10
|
+
import * as i1 from "ng-zorro-antd/message";
|
|
11
|
+
import * as i2 from "@delon/theme";
|
|
12
|
+
import * as i3 from "@delon/util/other";
|
|
13
|
+
import * as i4 from "@angular/cdk/bidi";
|
|
14
|
+
import * as i5 from "@angular/common";
|
|
15
|
+
import * as i6 from "@angular/forms";
|
|
16
|
+
import * as i7 from "ng-zorro-antd/drawer";
|
|
17
|
+
import * as i8 from "ng-zorro-antd/tooltip";
|
|
18
|
+
import * as i9 from "ng-zorro-antd/divider";
|
|
19
|
+
import * as i10 from "ng-zorro-antd/tabs";
|
|
20
|
+
import * as i11 from "ng-zorro-antd/switch";
|
|
21
|
+
import * as i12 from "ng-zorro-antd/alert";
|
|
22
|
+
import * as i13 from "ng-zorro-antd/icon";
|
|
23
|
+
import * as i14 from "ng-zorro-antd/button";
|
|
24
|
+
import * as i15 from "ng-zorro-antd/core/transition-patch";
|
|
25
|
+
import * as i16 from "ng-zorro-antd/core/wave";
|
|
26
|
+
import * as i17 from "./setting-drawer-item.component";
|
|
27
|
+
class SettingDrawerComponent {
|
|
28
|
+
get layout() {
|
|
29
|
+
return this.settingSrv.layout;
|
|
30
|
+
}
|
|
31
|
+
constructor(cdr, msg, settingSrv, lazy, ngZone, doc, directionality) {
|
|
32
|
+
this.cdr = cdr;
|
|
33
|
+
this.msg = msg;
|
|
34
|
+
this.settingSrv = settingSrv;
|
|
35
|
+
this.lazy = lazy;
|
|
36
|
+
this.ngZone = ngZone;
|
|
37
|
+
this.doc = doc;
|
|
38
|
+
this.directionality = directionality;
|
|
39
|
+
this.autoApplyColor = true;
|
|
40
|
+
this.compilingText = 'Compiling...';
|
|
41
|
+
this.devTips = `When the color can't be switched, you need to run it once: npm run color-less`;
|
|
42
|
+
this.lessJs = 'https://cdn.jsdelivr.net/npm/less';
|
|
43
|
+
this.loadedLess = false;
|
|
44
|
+
this.destroy$ = new Subject();
|
|
45
|
+
this.dir = 'ltr';
|
|
46
|
+
this.isDev = isDevMode();
|
|
47
|
+
this.collapse = false;
|
|
48
|
+
this.data = {};
|
|
49
|
+
this.colors = DEFAULT_COLORS;
|
|
50
|
+
this.color = this.cachedData['@primary-color'] || this.DEFAULT_PRIMARY;
|
|
51
|
+
this.resetData(this.cachedData, false);
|
|
52
|
+
}
|
|
53
|
+
get cachedData() {
|
|
54
|
+
return this.settingSrv.layout[ALAINDEFAULTVAR] || {};
|
|
55
|
+
}
|
|
56
|
+
get DEFAULT_PRIMARY() {
|
|
57
|
+
return DEFAULT_VARS['primary-color'].default;
|
|
58
|
+
}
|
|
59
|
+
ngOnInit() {
|
|
60
|
+
this.dir = this.directionality.value;
|
|
61
|
+
this.directionality.change?.pipe(takeUntil(this.destroy$)).subscribe((direction) => {
|
|
62
|
+
this.dir = direction;
|
|
63
|
+
});
|
|
64
|
+
if (this.autoApplyColor && this.color !== this.DEFAULT_PRIMARY) {
|
|
65
|
+
this.changeColor(this.color);
|
|
66
|
+
this.runLess();
|
|
67
|
+
}
|
|
68
|
+
}
|
|
69
|
+
async loadLess() {
|
|
70
|
+
if (this.loadedLess) {
|
|
71
|
+
return Promise.resolve();
|
|
72
|
+
}
|
|
73
|
+
return this.lazy
|
|
74
|
+
.loadStyle('./assets/color.less', { rel: 'stylesheet/less' })
|
|
75
|
+
.then(() => {
|
|
76
|
+
const lessConfigNode = this.doc.createElement('script');
|
|
77
|
+
lessConfigNode.innerHTML = `
|
|
78
|
+
window.less = {
|
|
79
|
+
async: true,
|
|
80
|
+
env: 'production',
|
|
81
|
+
javascriptEnabled: true
|
|
82
|
+
};
|
|
83
|
+
`;
|
|
84
|
+
this.doc.body.appendChild(lessConfigNode);
|
|
85
|
+
})
|
|
86
|
+
.then(() => this.lazy.loadScript(this.lessJs))
|
|
87
|
+
.then(() => {
|
|
88
|
+
this.loadedLess = true;
|
|
89
|
+
});
|
|
90
|
+
}
|
|
91
|
+
genVars() {
|
|
92
|
+
const { data, color, validKeys } = this;
|
|
93
|
+
const vars = {
|
|
94
|
+
[`@primary-color`]: color
|
|
95
|
+
};
|
|
96
|
+
validKeys.filter(key => key !== 'primary-color').forEach(key => (vars[`@${key}`] = data[key].value));
|
|
97
|
+
this.setLayout(ALAINDEFAULTVAR, vars);
|
|
98
|
+
return vars;
|
|
99
|
+
}
|
|
100
|
+
runLess() {
|
|
101
|
+
const { ngZone, msg, cdr } = this;
|
|
102
|
+
const msgId = msg.loading(this.compilingText, { nzDuration: 0 }).messageId;
|
|
103
|
+
setTimeout(() => {
|
|
104
|
+
this.loadLess().then(() => {
|
|
105
|
+
window.less.modifyVars(this.genVars()).then(() => {
|
|
106
|
+
msg.success('成功');
|
|
107
|
+
msg.remove(msgId);
|
|
108
|
+
ngZone.run(() => cdr.detectChanges());
|
|
109
|
+
});
|
|
110
|
+
});
|
|
111
|
+
}, 200);
|
|
112
|
+
}
|
|
113
|
+
toggle() {
|
|
114
|
+
this.collapse = !this.collapse;
|
|
115
|
+
}
|
|
116
|
+
changeColor(color) {
|
|
117
|
+
this.color = color;
|
|
118
|
+
Object.keys(DEFAULT_VARS)
|
|
119
|
+
.filter(key => DEFAULT_VARS[key].default === '@primary-color')
|
|
120
|
+
.forEach(key => delete this.cachedData[`@${key}`]);
|
|
121
|
+
this.resetData(this.cachedData, false);
|
|
122
|
+
}
|
|
123
|
+
setLayout(name, value) {
|
|
124
|
+
this.settingSrv.setLayout(name, value);
|
|
125
|
+
}
|
|
126
|
+
resetData(nowData, run = true) {
|
|
127
|
+
nowData = nowData || {};
|
|
128
|
+
const data = deepCopy(DEFAULT_VARS);
|
|
129
|
+
Object.keys(data).forEach(key => {
|
|
130
|
+
const value = nowData[`@${key}`] || data[key].default || '';
|
|
131
|
+
data[key].value = value === `@primary-color` ? this.color : value;
|
|
132
|
+
});
|
|
133
|
+
this.data = data;
|
|
134
|
+
if (run) {
|
|
135
|
+
this.cdr.detectChanges();
|
|
136
|
+
this.runLess();
|
|
137
|
+
}
|
|
138
|
+
}
|
|
139
|
+
get validKeys() {
|
|
140
|
+
return Object.keys(this.data).filter(key => this.data[key].value !== this.data[key].default);
|
|
141
|
+
}
|
|
142
|
+
apply() {
|
|
143
|
+
this.runLess();
|
|
144
|
+
}
|
|
145
|
+
reset() {
|
|
146
|
+
this.color = this.DEFAULT_PRIMARY;
|
|
147
|
+
this.settingSrv.setLayout(ALAINDEFAULTVAR, {});
|
|
148
|
+
this.resetData({});
|
|
149
|
+
}
|
|
150
|
+
copyVar() {
|
|
151
|
+
const vars = this.genVars();
|
|
152
|
+
const copyContent = Object.keys(vars)
|
|
153
|
+
.map(key => `${key}: ${vars[key]};`)
|
|
154
|
+
.join('\n');
|
|
155
|
+
copy(copyContent);
|
|
156
|
+
this.msg.success('Copy success');
|
|
157
|
+
}
|
|
158
|
+
ngOnDestroy() {
|
|
159
|
+
this.destroy$.next();
|
|
160
|
+
this.destroy$.complete();
|
|
161
|
+
}
|
|
162
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.4", ngImport: i0, type: SettingDrawerComponent, deps: [{ token: i0.ChangeDetectorRef }, { token: i1.NzMessageService }, { token: i2.SettingsService }, { token: i3.LazyService }, { token: i0.NgZone }, { token: DOCUMENT }, { token: i4.Directionality, optional: true }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
163
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.0.4", type: SettingDrawerComponent, selector: "setting-drawer", inputs: { autoApplyColor: "autoApplyColor", compilingText: "compilingText", devTips: "devTips", lessJs: "lessJs" }, host: { properties: { "class.setting-drawer": "true", "class.setting-drawer-rtl": "dir === 'rtl'" } }, ngImport: i0, template: "<nz-drawer\n [nzVisible]=\"collapse\"\n [nzPlacement]=\"dir === 'rtl' ? 'left' : 'right'\"\n [nzWidth]=\"500\"\n (nzOnClose)=\"toggle()\"\n>\n <div *nzDrawerContent class=\"setting-drawer__content\">\n <div class=\"setting-drawer__body setting-drawer__theme\">\n <h3 class=\"setting-drawer__title\">\u4E3B\u9898\u8272</h3>\n <span\n *ngFor=\"let c of colors\"\n [style]=\"{ 'background-color': c.color }\"\n (click)=\"changeColor(c.color)\"\n nz-tooltip\n [nzTooltipTitle]=\"c.key\"\n class=\"setting-drawer__theme-tag\"\n >\n <i *ngIf=\"color === c.color\" nz-icon nzType=\"check\"></i>\n </span>\n </div>\n <nz-divider></nz-divider>\n <div class=\"setting-drawer__body\">\n <h3 class=\"setting-drawer__title\">\u8BBE\u7F6E</h3>\n <nz-tabset>\n <nz-tab nzTitle=\"\u9876\u90E8\">\n <div class=\"setting-drawer__body\">\n <setting-drawer-item [data]=\"data['alain-default-header-hg']\"></setting-drawer-item>\n <setting-drawer-item [data]=\"data['alain-default-header-bg']\"></setting-drawer-item>\n <setting-drawer-item [data]=\"data['alain-default-header-padding']\"></setting-drawer-item>\n </div>\n </nz-tab>\n <nz-tab nzTitle=\"\u4FA7\u8FB9\u680F\">\n <setting-drawer-item [data]=\"data['alain-default-aside-wd']\"></setting-drawer-item>\n <setting-drawer-item [data]=\"data['alain-default-aside-bg']\"></setting-drawer-item>\n <setting-drawer-item [data]=\"data['alain-default-aside-collapsed-wd']\"></setting-drawer-item>\n <setting-drawer-item [data]=\"data['alain-default-aside-nav-padding-top-bottom']\"></setting-drawer-item>\n </nz-tab>\n <nz-tab nzTitle=\"\u5185\u5BB9\">\n <setting-drawer-item [data]=\"data['alain-default-content-bg']\"></setting-drawer-item>\n <setting-drawer-item [data]=\"data['alain-default-content-heading-bg']\"></setting-drawer-item>\n <setting-drawer-item [data]=\"data['alain-default-content-heading-border']\"></setting-drawer-item>\n <setting-drawer-item [data]=\"data['alain-default-content-padding']\"></setting-drawer-item>\n </nz-tab>\n <nz-tab nzTitle=\"\u5176\u5B83\">\n <setting-drawer-item [data]=\"data['form-state-visual-feedback-enabled']\"></setting-drawer-item>\n <setting-drawer-item [data]=\"data['preserve-white-spaces-enabled']\"></setting-drawer-item>\n <setting-drawer-item [data]=\"data['nz-table-img-radius']\"></setting-drawer-item>\n <setting-drawer-item [data]=\"data['nz-table-img-margin-right']\"></setting-drawer-item>\n <setting-drawer-item [data]=\"data['nz-table-img-max-width']\"></setting-drawer-item>\n <setting-drawer-item [data]=\"data['nz-table-img-max-height']\"></setting-drawer-item>\n </nz-tab>\n </nz-tabset>\n </div>\n <nz-divider></nz-divider>\n <div class=\"setting-drawer__body\">\n <div class=\"setting-drawer__body-item\">\n \u56FA\u5B9A\u5934\u548C\u4FA7\u8FB9\u680F\n <nz-switch\n nzSize=\"small\"\n [(ngModel)]=\"layout.fixed\"\n (ngModelChange)=\"setLayout('fixed', layout.fixed)\"\n ></nz-switch>\n </div>\n <div class=\"setting-drawer__body-item\">\n \u8272\u5F31\u6A21\u5F0F\n <nz-switch\n nzSize=\"small\"\n [(ngModel)]=\"layout.colorWeak\"\n (ngModelChange)=\"setLayout('colorWeak', layout.colorWeak)\"\n ></nz-switch>\n </div>\n </div>\n <nz-divider></nz-divider>\n <button (click)=\"apply()\" type=\"button\" nz-button nzType=\"primary\">\u9884\u89C8</button>\n <button (click)=\"reset()\" type=\"button\" nz-button>\u91CD\u7F6E</button>\n <button (click)=\"copyVar()\" type=\"button\" nz-button>\u62F7\u8D1D</button>\n <nz-alert\n class=\"mt-md\"\n nzType=\"warning\"\n nzMessage=\"\u914D\u7F6E\u680F\u53EA\u5728\u5F00\u53D1\u73AF\u5883\u7528\u4E8E\u9884\u89C8\uFF0C\u751F\u4EA7\u73AF\u5883\u4E0D\u4F1A\u5C55\u73B0\uFF0C\u8BF7\u62F7\u8D1D\u540E\u624B\u52A8\u4FEE\u6539\u53C2\u6570\u914D\u7F6E\u6587\u4EF6 src/styles/theme.less\"\n ></nz-alert>\n </div>\n</nz-drawer>\n<div\n class=\"setting-drawer__handle\"\n [ngClass]=\"{ 'setting-drawer__handle-opened': collapse }\"\n (click)=\"toggle()\"\n nz-tooltip\n [nzTooltipTitle]=\"isDev ? devTips : null\"\n>\n <i nz-icon [nzType]=\"!collapse ? 'setting' : 'close'\" class=\"setting-drawer__handle-icon\"></i>\n</div>\n", dependencies: [{ kind: "directive", type: i5.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i5.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i5.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i6.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i6.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: i7.NzDrawerComponent, selector: "nz-drawer", inputs: ["nzContent", "nzCloseIcon", "nzClosable", "nzMaskClosable", "nzMask", "nzCloseOnNavigation", "nzNoAnimation", "nzKeyboard", "nzTitle", "nzExtra", "nzFooter", "nzPlacement", "nzSize", "nzMaskStyle", "nzBodyStyle", "nzWrapClassName", "nzWidth", "nzHeight", "nzZIndex", "nzOffsetX", "nzOffsetY", "nzVisible"], outputs: ["nzOnViewInit", "nzOnClose", "nzVisibleChange"], exportAs: ["nzDrawer"] }, { kind: "directive", type: i7.NzDrawerContentDirective, selector: "[nzDrawerContent]", exportAs: ["nzDrawerContent"] }, { kind: "directive", type: i8.NzTooltipDirective, selector: "[nz-tooltip]", inputs: ["nzTooltipTitle", "nzTooltipTitleContext", "nz-tooltip", "nzTooltipTrigger", "nzTooltipPlacement", "nzTooltipOrigin", "nzTooltipVisible", "nzTooltipMouseEnterDelay", "nzTooltipMouseLeaveDelay", "nzTooltipOverlayClassName", "nzTooltipOverlayStyle", "nzTooltipArrowPointAtCenter", "nzTooltipColor"], outputs: ["nzTooltipVisibleChange"], exportAs: ["nzTooltip"] }, { kind: "component", type: i9.NzDividerComponent, selector: "nz-divider", inputs: ["nzText", "nzType", "nzOrientation", "nzDashed", "nzPlain"], exportAs: ["nzDivider"] }, { kind: "component", type: i10.NzTabSetComponent, selector: "nz-tabset", inputs: ["nzSelectedIndex", "nzTabPosition", "nzTabBarExtraContent", "nzCanDeactivate", "nzAddIcon", "nzTabBarStyle", "nzType", "nzSize", "nzAnimated", "nzTabBarGutter", "nzHideAdd", "nzCentered", "nzHideAll", "nzLinkRouter", "nzLinkExact"], outputs: ["nzSelectChange", "nzSelectedIndexChange", "nzTabListScroll", "nzClose", "nzAdd"], exportAs: ["nzTabset"] }, { kind: "component", type: i10.NzTabComponent, selector: "nz-tab", inputs: ["nzTitle", "nzClosable", "nzCloseIcon", "nzDisabled", "nzForceRender"], outputs: ["nzSelect", "nzDeselect", "nzClick", "nzContextmenu"], exportAs: ["nzTab"] }, { kind: "component", type: i11.NzSwitchComponent, selector: "nz-switch", inputs: ["nzLoading", "nzDisabled", "nzControl", "nzCheckedChildren", "nzUnCheckedChildren", "nzSize", "nzId"], exportAs: ["nzSwitch"] }, { kind: "component", type: i12.NzAlertComponent, selector: "nz-alert", inputs: ["nzAction", "nzCloseText", "nzIconType", "nzMessage", "nzDescription", "nzType", "nzCloseable", "nzShowIcon", "nzBanner", "nzNoAnimation", "nzIcon"], outputs: ["nzOnClose"], exportAs: ["nzAlert"] }, { kind: "directive", type: i13.NzIconDirective, selector: "[nz-icon]", inputs: ["nzSpin", "nzRotate", "nzType", "nzTheme", "nzTwotoneColor", "nzIconfont"], exportAs: ["nzIcon"] }, { kind: "component", type: i14.NzButtonComponent, selector: "button[nz-button], a[nz-button]", inputs: ["nzBlock", "nzGhost", "nzSearch", "nzLoading", "nzDanger", "disabled", "tabIndex", "nzType", "nzShape", "nzSize"], exportAs: ["nzButton"] }, { kind: "directive", type: i15.ɵNzTransitionPatchDirective, selector: "[nz-button], nz-button-group, [nz-icon], [nz-menu-item], [nz-submenu], nz-select-top-control, nz-select-placeholder, nz-input-group", inputs: ["hidden"] }, { kind: "directive", type: i16.NzWaveDirective, selector: "[nz-wave],button[nz-button]:not([nzType=\"link\"]):not([nzType=\"text\"])", inputs: ["nzWaveExtraNode"], exportAs: ["nzWave"] }, { kind: "component", type: i17.SettingDrawerItemComponent, selector: "setting-drawer-item", inputs: ["data"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
164
|
+
}
|
|
165
|
+
__decorate([
|
|
166
|
+
InputBoolean()
|
|
167
|
+
], SettingDrawerComponent.prototype, "autoApplyColor", void 0);
|
|
168
|
+
__decorate([
|
|
169
|
+
ZoneOutside()
|
|
170
|
+
], SettingDrawerComponent.prototype, "loadLess", null);
|
|
171
|
+
__decorate([
|
|
172
|
+
ZoneOutside()
|
|
173
|
+
], SettingDrawerComponent.prototype, "runLess", null);
|
|
174
|
+
export { SettingDrawerComponent };
|
|
175
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.4", ngImport: i0, type: SettingDrawerComponent, decorators: [{
|
|
176
|
+
type: Component,
|
|
177
|
+
args: [{ selector: 'setting-drawer', host: {
|
|
178
|
+
'[class.setting-drawer]': 'true',
|
|
179
|
+
'[class.setting-drawer-rtl]': `dir === 'rtl'`
|
|
180
|
+
}, changeDetection: ChangeDetectionStrategy.OnPush, template: "<nz-drawer\n [nzVisible]=\"collapse\"\n [nzPlacement]=\"dir === 'rtl' ? 'left' : 'right'\"\n [nzWidth]=\"500\"\n (nzOnClose)=\"toggle()\"\n>\n <div *nzDrawerContent class=\"setting-drawer__content\">\n <div class=\"setting-drawer__body setting-drawer__theme\">\n <h3 class=\"setting-drawer__title\">\u4E3B\u9898\u8272</h3>\n <span\n *ngFor=\"let c of colors\"\n [style]=\"{ 'background-color': c.color }\"\n (click)=\"changeColor(c.color)\"\n nz-tooltip\n [nzTooltipTitle]=\"c.key\"\n class=\"setting-drawer__theme-tag\"\n >\n <i *ngIf=\"color === c.color\" nz-icon nzType=\"check\"></i>\n </span>\n </div>\n <nz-divider></nz-divider>\n <div class=\"setting-drawer__body\">\n <h3 class=\"setting-drawer__title\">\u8BBE\u7F6E</h3>\n <nz-tabset>\n <nz-tab nzTitle=\"\u9876\u90E8\">\n <div class=\"setting-drawer__body\">\n <setting-drawer-item [data]=\"data['alain-default-header-hg']\"></setting-drawer-item>\n <setting-drawer-item [data]=\"data['alain-default-header-bg']\"></setting-drawer-item>\n <setting-drawer-item [data]=\"data['alain-default-header-padding']\"></setting-drawer-item>\n </div>\n </nz-tab>\n <nz-tab nzTitle=\"\u4FA7\u8FB9\u680F\">\n <setting-drawer-item [data]=\"data['alain-default-aside-wd']\"></setting-drawer-item>\n <setting-drawer-item [data]=\"data['alain-default-aside-bg']\"></setting-drawer-item>\n <setting-drawer-item [data]=\"data['alain-default-aside-collapsed-wd']\"></setting-drawer-item>\n <setting-drawer-item [data]=\"data['alain-default-aside-nav-padding-top-bottom']\"></setting-drawer-item>\n </nz-tab>\n <nz-tab nzTitle=\"\u5185\u5BB9\">\n <setting-drawer-item [data]=\"data['alain-default-content-bg']\"></setting-drawer-item>\n <setting-drawer-item [data]=\"data['alain-default-content-heading-bg']\"></setting-drawer-item>\n <setting-drawer-item [data]=\"data['alain-default-content-heading-border']\"></setting-drawer-item>\n <setting-drawer-item [data]=\"data['alain-default-content-padding']\"></setting-drawer-item>\n </nz-tab>\n <nz-tab nzTitle=\"\u5176\u5B83\">\n <setting-drawer-item [data]=\"data['form-state-visual-feedback-enabled']\"></setting-drawer-item>\n <setting-drawer-item [data]=\"data['preserve-white-spaces-enabled']\"></setting-drawer-item>\n <setting-drawer-item [data]=\"data['nz-table-img-radius']\"></setting-drawer-item>\n <setting-drawer-item [data]=\"data['nz-table-img-margin-right']\"></setting-drawer-item>\n <setting-drawer-item [data]=\"data['nz-table-img-max-width']\"></setting-drawer-item>\n <setting-drawer-item [data]=\"data['nz-table-img-max-height']\"></setting-drawer-item>\n </nz-tab>\n </nz-tabset>\n </div>\n <nz-divider></nz-divider>\n <div class=\"setting-drawer__body\">\n <div class=\"setting-drawer__body-item\">\n \u56FA\u5B9A\u5934\u548C\u4FA7\u8FB9\u680F\n <nz-switch\n nzSize=\"small\"\n [(ngModel)]=\"layout.fixed\"\n (ngModelChange)=\"setLayout('fixed', layout.fixed)\"\n ></nz-switch>\n </div>\n <div class=\"setting-drawer__body-item\">\n \u8272\u5F31\u6A21\u5F0F\n <nz-switch\n nzSize=\"small\"\n [(ngModel)]=\"layout.colorWeak\"\n (ngModelChange)=\"setLayout('colorWeak', layout.colorWeak)\"\n ></nz-switch>\n </div>\n </div>\n <nz-divider></nz-divider>\n <button (click)=\"apply()\" type=\"button\" nz-button nzType=\"primary\">\u9884\u89C8</button>\n <button (click)=\"reset()\" type=\"button\" nz-button>\u91CD\u7F6E</button>\n <button (click)=\"copyVar()\" type=\"button\" nz-button>\u62F7\u8D1D</button>\n <nz-alert\n class=\"mt-md\"\n nzType=\"warning\"\n nzMessage=\"\u914D\u7F6E\u680F\u53EA\u5728\u5F00\u53D1\u73AF\u5883\u7528\u4E8E\u9884\u89C8\uFF0C\u751F\u4EA7\u73AF\u5883\u4E0D\u4F1A\u5C55\u73B0\uFF0C\u8BF7\u62F7\u8D1D\u540E\u624B\u52A8\u4FEE\u6539\u53C2\u6570\u914D\u7F6E\u6587\u4EF6 src/styles/theme.less\"\n ></nz-alert>\n </div>\n</nz-drawer>\n<div\n class=\"setting-drawer__handle\"\n [ngClass]=\"{ 'setting-drawer__handle-opened': collapse }\"\n (click)=\"toggle()\"\n nz-tooltip\n [nzTooltipTitle]=\"isDev ? devTips : null\"\n>\n <i nz-icon [nzType]=\"!collapse ? 'setting' : 'close'\" class=\"setting-drawer__handle-icon\"></i>\n</div>\n" }]
|
|
181
|
+
}], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }, { type: i1.NzMessageService }, { type: i2.SettingsService }, { type: i3.LazyService }, { type: i0.NgZone }, { type: undefined, decorators: [{
|
|
182
|
+
type: Inject,
|
|
183
|
+
args: [DOCUMENT]
|
|
184
|
+
}] }, { type: i4.Directionality, decorators: [{
|
|
185
|
+
type: Optional
|
|
186
|
+
}] }]; }, propDecorators: { autoApplyColor: [{
|
|
187
|
+
type: Input
|
|
188
|
+
}], compilingText: [{
|
|
189
|
+
type: Input
|
|
190
|
+
}], devTips: [{
|
|
191
|
+
type: Input
|
|
192
|
+
}], lessJs: [{
|
|
193
|
+
type: Input
|
|
194
|
+
}], loadLess: [], runLess: [] } });
|
|
195
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2V0dGluZy1kcmF3ZXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvdGhlbWUvc2V0dGluZy1kcmF3ZXIvc2V0dGluZy1kcmF3ZXIuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvdGhlbWUvc2V0dGluZy1kcmF3ZXIvc2V0dGluZy1kcmF3ZXIuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUNBLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMzQyxPQUFPLEVBQ0wsdUJBQXVCLEVBRXZCLFNBQVMsRUFDVCxNQUFNLEVBQ04sS0FBSyxFQUNMLFNBQVMsRUFJVCxRQUFRLEVBQ1QsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFHMUMsT0FBTyxFQUFFLElBQUksRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQzNDLE9BQU8sRUFBRSxZQUFZLEVBQUUsV0FBVyxFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDbEUsT0FBTyxFQUFFLFFBQVEsRUFBZSxNQUFNLG1CQUFtQixDQUFDO0FBSTFELE9BQU8sRUFBRSxlQUFlLEVBQUUsY0FBYyxFQUFFLFlBQVksRUFBRSxNQUFNLHdCQUF3QixDQUFDOzs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBRXZGLE1BU2Esc0JBQXNCO0lBV2pDLElBQUksTUFBTTtRQUNSLE9BQU8sSUFBSSxDQUFDLFVBQVUsQ0FBQyxNQUFNLENBQUM7SUFDaEMsQ0FBQztJQUtELFlBQ1UsR0FBc0IsRUFDdEIsR0FBcUIsRUFDckIsVUFBMkIsRUFDM0IsSUFBaUIsRUFDakIsTUFBYyxFQUNJLEdBQWMsRUFDcEIsY0FBOEI7UUFOMUMsUUFBRyxHQUFILEdBQUcsQ0FBbUI7UUFDdEIsUUFBRyxHQUFILEdBQUcsQ0FBa0I7UUFDckIsZUFBVSxHQUFW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QUNuQyxDQUFDO0lBRUQsV0FBVztRQUNULElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxFQUFFLENBQUM7UUFDckIsSUFBSSxDQUFDLFFBQVEsQ0FBQyxRQUFRLEVBQUUsQ0FBQztJQUMzQixDQUFDOzhHQTNKVSxzQkFBc0IsbUtBd0J2QixRQUFRO2tHQXhCUCxzQkFBc0IsaVJDbENuQywwOUlBNEZBOztBRHpEMkI7SUFBZixZQUFZLEVBQUU7OERBQXVCO0FBa0RqQztJQURiLFdBQVcsRUFBRTtzREFzQmI7QUFhTztJQURQLFdBQVcsRUFBRTtxREFhYjtTQWpHVSxzQkFBc0I7MkZBQXRCLHNCQUFzQjtrQkFUbEMsU0FBUzsrQkFDRSxnQkFBZ0IsUUFFcEI7d0JBQ0osd0JBQXdCLEVBQUUsTUFBTTt3QkFDaEMsNEJBQTRCLEVBQUUsZUFBZTtxQkFDOUMsbUJBQ2dCLHVCQUF1QixDQUFDLE1BQU07OzBCQTBCNUMsTUFBTTsyQkFBQyxRQUFROzswQkFDZixRQUFROzRDQXhCYyxjQUFjO3NCQUF0QyxLQUFLO2dCQUNHLGFBQWE7c0JBQXJCLEtBQUs7Z0JBQ0csT0FBTztzQkFBZixLQUFLO2dCQUNHLE1BQU07c0JBQWQsS0FBSztnQkErQ1EsUUFBUSxNQWtDZCxPQUFPIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRGlyZWN0aW9uLCBEaXJlY3Rpb25hbGl0eSB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9iaWRpJztcbmltcG9ydCB7IERPQ1VNRU5UIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7XG4gIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICBDaGFuZ2VEZXRlY3RvclJlZixcbiAgQ29tcG9uZW50LFxuICBJbmplY3QsXG4gIElucHV0LFxuICBpc0Rldk1vZGUsXG4gIE5nWm9uZSxcbiAgT25EZXN0cm95LFxuICBPbkluaXQsXG4gIE9wdGlvbmFsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgU3ViamVjdCwgdGFrZVVudGlsIH0gZnJvbSAncnhqcyc7XG5cbmltcG9ydCB7IExheW91dCwgU2V0dGluZ3NTZXJ2aWNlIH0gZnJvbSAnQGRlbG9uL3RoZW1lJztcbmltcG9ydCB7IGNvcHkgfSBmcm9tICdAZGVsb24vdXRpbC9icm93c2VyJztcbmltcG9ydCB7IElucHV0Qm9vbGVhbiwgWm9uZU91dHNpZGUgfSBmcm9tICdAZGVsb24vdXRpbC9kZWNvcmF0b3InO1xuaW1wb3J0IHsgZGVlcENvcHksIExhenlTZXJ2aWNlIH0gZnJvbSAnQGRlbG9uL3V0aWwvb3RoZXInO1xuaW1wb3J0IHR5cGUgeyBOelNhZmVBbnkgfSBmcm9tICduZy16b3Jyby1hbnRkL2NvcmUvdHlwZXMnO1xuaW1wb3J0IHsgTnpNZXNzYWdlU2VydmljZSB9IGZyb20gJ25nLXpvcnJvLWFudGQvbWVzc2FnZSc7XG5cbmltcG9ydCB7IEFMQUlOREVGQVVMVFZBUiwgREVGQVVMVF9DT0xPUlMsIERFRkFVTFRfVkFSUyB9IGZyb20gJy4vc2V0dGluZy1kcmF3ZXIudHlwZXMnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdzZXR0aW5nLWRyYXdlcicsXG4gIHRlbXBsYXRlVXJsOiAnLi9zZXR0aW5nLWRyYXdlci5jb21wb25lbnQuaHRtbCcsXG4gIGhvc3Q6IHtcbiAgICAnW2NsYXNzLnNldHRpbmctZHJhd2VyXSc6ICd0cnVlJyxcbiAgICAnW2NsYXNzLnNldHRpbmctZHJhd2VyLXJ0bF0nOiBgZGlyID09PSAncnRsJ2BcbiAgfSxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2hcbn0pXG5leHBvcnQgY2xhc3MgU2V0dGluZ0RyYXdlckNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95IHtcbiAgQElucHV0KCkgQElucHV0Qm9vbGVhbigpIGF1dG9BcHBseUNvbG9yID0gdHJ1ZTtcbiAgQElucHV0KCkgY29tcGlsaW5nVGV4dCA9ICdDb21waWxpbmcuLi4nO1xuICBASW5wdXQoKSBkZXZUaXBzID0gYFdoZW4gdGhlIGNvbG9yIGNhbid0IGJlIHN3aXRjaGVkLCB5b3UgbmVlZCB0byBydW4gaXQgb25jZTogbnBtIHJ1biBjb2xvci1sZXNzYDtcbiAgQElucHV0KCkgbGVzc0pzID0gJ2h0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9ucG0vbGVzcyc7XG5cbiAgcHJpdmF0ZSBsb2FkZWRMZXNzID0gZmFsc2U7XG4gIHByaXZhdGUgZGVzdHJveSQgPSBuZXcgU3ViamVjdDx2b2lkPigpO1xuICBkaXI6IERpcmVjdGlvbiA9ICdsdHInO1xuICBpc0RldiA9IGlzRGV2TW9kZSgpO1xuICBjb2xsYXBzZSA9IGZhbHNlO1xuICBnZXQgbGF5b3V0KCk6IExheW91dCB7XG4gICAgcmV0dXJuIHRoaXMuc2V0dGluZ1Nydi5sYXlvdXQ7XG4gIH1cbiAgZGF0YTogTnpTYWZlQW55ID0ge307XG4gIGNvbG9yOiBzdHJpbmc7XG4gIGNvbG9ycyA9IERFRkFVTFRfQ09MT1JTO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgY2RyOiBDaGFuZ2VEZXRlY3RvclJlZixcbiAgICBwcml2YXRlIG1zZzogTnpNZXNzYWdlU2VydmljZSxcbiAgICBwcml2YXRlIHNldHRpbmdTcnY6IFNldHRpbmdzU2VydmljZSxcbiAgICBwcml2YXRlIGxhenk6IExhenlTZXJ2aWNlLFxuICAgIHByaXZhdGUgbmdab25lOiBOZ1pvbmUsXG4gICAgQEluamVjdChET0NVTUVOVCkgcHJpdmF0ZSBkb2M6IE56U2FmZUFueSxcbiAgICBAT3B0aW9uYWwoKSBwcml2YXRlIGRpcmVjdGlvbmFsaXR5OiBEaXJlY3Rpb25hbGl0eVxuICApIHtcbiAgICB0aGlzLmNvbG9yID0gdGhpcy5jYWNoZWREYXRhWydAcHJpbWFyeS1jb2xvciddIHx8IHRoaXMuREVGQVVMVF9QUklNQVJZO1xuICAgIHRoaXMucmVzZXREYXRhKHRoaXMuY2FjaGVkRGF0YSwgZmFsc2UpO1xuICB9XG5cbiAgcHJpdmF0ZSBnZXQgY2FjaGVkRGF0YSgpOiB7IFtrZXk6IHN0cmluZ106IE56U2FmZUFueSB9IHtcbiAgICByZXR1cm4gdGhpcy5zZXR0aW5nU3J2LmxheW91dFtBTEFJTkRFRkFVTFRWQVJdIHx8IHt9O1xuICB9XG5cbiAgcHJpdmF0ZSBnZXQgREVGQVVMVF9QUklNQVJZKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIERFRkFVTFRfVkFSU1sncHJpbWFyeS1jb2xvciddLmRlZmF1bHQ7XG4gIH1cblxuICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICB0aGlzLmRpciA9IHRoaXMuZGlyZWN0aW9uYWxpdHkudmFsdWU7XG4gICAgdGhpcy5kaXJlY3Rpb25hbGl0eS5jaGFuZ2U/LnBpcGUodGFrZVVudGlsKHRoaXMuZGVzdHJveSQpKS5zdWJzY3JpYmUoKGRpcmVjdGlvbjogRGlyZWN0aW9uKSA9PiB7XG4gICAgICB0aGlzLmRpciA9IGRpcmVjdGlvbjtcbiAgICB9KTtcbiAgICBpZiAodGhpcy5hdXRvQXBwbHlDb2xvciAmJiB0aGlzLmNvbG9yICE9PSB0aGlzLkRFRkFVTFRfUFJJTUFSWSkge1xuICAgICAgdGhpcy5jaGFuZ2VDb2xvcih0aGlzLmNvbG9yKTtcbiAgICAgIHRoaXMucnVuTGVzcygpO1xuICAgIH1cbiAgfVxuXG4gIEBab25lT3V0c2lkZSgpXG4gIHByaXZhdGUgYXN5bmMgbG9hZExlc3MoKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgaWYgKHRoaXMubG9hZGVkTGVzcykge1xuICAgICAgcmV0dXJuIFByb21pc2UucmVzb2x2ZSgpO1xuICAgIH1cbiAgICByZXR1cm4gdGhpcy5sYXp5XG4gICAgICAubG9hZFN0eWxlKCcuL2Fzc2V0cy9jb2xvci5sZXNzJywgeyByZWw6ICdzdHlsZXNoZWV0L2xlc3MnIH0pXG4gICAgICAudGhlbigoKSA9PiB7XG4gICAgICAgIGNvbnN0IGxlc3NDb25maWdOb2RlID0gdGhpcy5kb2MuY3JlYXRlRWxlbWVudCgnc2NyaXB0Jyk7XG4gICAgICAgIGxlc3NDb25maWdOb2RlLmlubmVySFRNTCA9IGBcbiAgICAgICAgICB3aW5kb3cubGVzcyA9IHtcbiAgICAgICAgICAgIGFzeW5jOiB0cnVlLFxuICAgICAgICAgICAgZW52OiAncHJvZHVjdGlvbicsXG4gICAgICAgICAgICBqYXZhc2NyaXB0RW5hYmxlZDogdHJ1ZVxuICAgICAgICAgIH07XG4gICAgICAgIGA7XG4gICAgICAgIHRoaXMuZG9jLmJvZHkuYXBwZW5kQ2hpbGQobGVzc0NvbmZpZ05vZGUpO1xuICAgICAgfSlcbiAgICAgIC50aGVuKCgpID0+IHRoaXMubGF6eS5sb2FkU2NyaXB0KHRoaXMubGVzc0pzKSlcbiAgICAgIC50aGVuKCgpID0+IHtcbiAgICAgICAgdGhpcy5sb2FkZWRMZXNzID0gdHJ1ZTtcbiAgICAgIH0pO1xuICB9XG5cbiAgcHJpdmF0ZSBnZW5WYXJzKCk6IE56U2FmZUFueSB7XG4gICAgY29uc3QgeyBkYXRhLCBjb2xvciwgdmFsaWRLZXlzIH0gPSB0aGlzO1xuICAgIGNvbnN0IHZhcnM6IHsgW2tleTogc3RyaW5nXTogc3RyaW5nIH0gPSB7XG4gICAgICBbYEBwcmltYXJ5LWNvbG9yYF06IGNvbG9yXG4gICAgfTtcbiAgICB2YWxpZEtleXMuZmlsdGVyKGtleSA9PiBrZXkgIT09ICdwcmltYXJ5LWNvbG9yJykuZm9yRWFjaChrZXkgPT4gKHZhcnNbYEAke2tleX1gXSA9IGRhdGFba2V5XS52YWx1ZSkpO1xuICAgIHRoaXMuc2V0TGF5b3V0KEFMQUlOREVGQVVMVFZBUiwgdmFycyk7XG4gICAgcmV0dXJuIHZhcnM7XG4gIH1cblxuICBAWm9uZU91dHNpZGUoKVxuICBwcml2YXRlIHJ1bkxlc3MoKTogdm9pZCB7XG4gICAgY29uc3QgeyBuZ1pvbmUsIG1zZywgY2RyIH0gPSB0aGlzO1xuICAgIGNvbnN0IG1zZ0lkID0gbXNnLmxvYWRpbmcodGhpcy5jb21waWxpbmdUZXh0LCB7IG56RHVyYXRpb246IDAgfSkubWVzc2FnZUlkO1xuICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgdGhpcy5sb2FkTGVzcygpLnRoZW4oKCkgPT4ge1xuICAgICAgICAod2luZG93IGFzIE56U2FmZUFueSkubGVzcy5tb2RpZnlWYXJzKHRoaXMuZ2VuVmFycygpKS50aGVuKCgpID0+IHtcbiAgICAgICAgICBtc2cuc3VjY2Vzcygn5oiQ5YqfJyk7XG4gICAgICAgICAgbXNnLnJlbW92ZShtc2dJZCk7XG4gICAgICAgICAgbmdab25lLnJ1bigoKSA9PiBjZHIuZGV0ZWN0Q2hhbmdlcygpKTtcbiAgICAgICAgfSk7XG4gICAgICB9KTtcbiAgICB9LCAyMDApO1xuICB9XG5cbiAgdG9nZ2xlKCk6IHZvaWQge1xuICAgIHRoaXMuY29sbGFwc2UgPSAhdGhpcy5jb2xsYXBzZTtcbiAgfVxuXG4gIGNoYW5nZUNvbG9yKGNvbG9yOiBzdHJpbmcpOiB2b2lkIHtcbiAgICB0aGlzLmNvbG9yID0gY29sb3I7XG4gICAgT2JqZWN0LmtleXMoREVGQVVMVF9WQVJTKVxuICAgICAgLmZpbHRlcihrZXkgPT4gREVGQVVMVF9WQVJTW2tleV0uZGVmYXVsdCA9PT0gJ0BwcmltYXJ5LWNvbG9yJylcbiAgICAgIC5mb3JFYWNoKGtleSA9PiBkZWxldGUgdGhpcy5jYWNoZWREYXRhW2BAJHtrZXl9YF0pO1xuICAgIHRoaXMucmVzZXREYXRhKHRoaXMuY2FjaGVkRGF0YSwgZmFsc2UpO1xuICB9XG5cbiAgc2V0TGF5b3V0KG5hbWU6IHN0cmluZywgdmFsdWU6IE56U2FmZUFueSk6IHZvaWQge1xuICAgIHRoaXMuc2V0dGluZ1Nydi5zZXRMYXlvdXQobmFtZSwgdmFsdWUpO1xuICB9XG5cbiAgcHJpdmF0ZSByZXNldERhdGEobm93RGF0YT86IHsgW2tleTogc3RyaW5nXTogTnpTYWZlQW55IH0sIHJ1bjogYm9vbGVhbiA9IHRydWUpOiB2b2lkIHtcbiAgICBub3dEYXRhID0gbm93RGF0YSB8fCB7fTtcbiAgICBjb25zdCBkYXRhID0gZGVlcENvcHkoREVGQVVMVF9WQVJTKTtcbiAgICBPYmplY3Qua2V5cyhkYXRhKS5mb3JFYWNoKGtleSA9PiB7XG4gICAgICBjb25zdCB2YWx1ZSA9IG5vd0RhdGEhW2BAJHtrZXl9YF0gfHwgZGF0YVtrZXldLmRlZmF1bHQgfHwgJyc7XG4gICAgICBkYXRhW2tleV0udmFsdWUgPSB2YWx1ZSA9PT0gYEBwcmltYXJ5LWNvbG9yYCA/IHRoaXMuY29sb3IgOiB2YWx1ZTtcbiAgICB9KTtcbiAgICB0aGlzLmRhdGEgPSBkYXRhO1xuICAgIGlmIChydW4pIHtcbiAgICAgIHRoaXMuY2RyLmRldGVjdENoYW5nZXMoKTtcbiAgICAgIHRoaXMucnVuTGVzcygpO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgZ2V0IHZhbGlkS2V5cygpOiBzdHJpbmdbXSB7XG4gICAgcmV0dXJuIE9iamVjdC5rZXlzKHRoaXMuZGF0YSkuZmlsdGVyKGtleSA9PiB0aGlzLmRhdGFba2V5XS52YWx1ZSAhPT0gdGhpcy5kYXRhW2tleV0uZGVmYXVsdCk7XG4gIH1cblxuICBhcHBseSgpOiB2b2lkIHtcbiAgICB0aGlzLnJ1bkxlc3MoKTtcbiAgfVxuXG4gIHJlc2V0KCk6IHZvaWQge1xuICAgIHRoaXMuY29sb3IgPSB0aGlzLkRFRkFVTFRfUFJJTUFSWTtcbiAgICB0aGlzLnNldHRpbmdTcnYuc2V0TGF5b3V0KEFMQUlOREVGQVVMVFZBUiwge30pO1xuICAgIHRoaXMucmVzZXREYXRhKHt9KTtcbiAgfVxuXG4gIGNvcHlWYXIoKTogdm9pZCB7XG4gICAgY29uc3QgdmFycyA9IHRoaXMuZ2VuVmFycygpO1xuICAgIGNvbnN0IGNvcHlDb250ZW50ID0gT2JqZWN0LmtleXModmFycylcbiAgICAgIC5tYXAoa2V5ID0+IGAke2tleX06ICR7dmFyc1trZXldfTtgKVxuICAgICAgLmpvaW4oJ1xcbicpO1xuICAgIGNvcHkoY29weUNvbnRlbnQpO1xuICAgIHRoaXMubXNnLnN1Y2Nlc3MoJ0NvcHkgc3VjY2VzcycpO1xuICB9XG5cbiAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgdGhpcy5kZXN0cm95JC5uZXh0KCk7XG4gICAgdGhpcy5kZXN0cm95JC5jb21wbGV0ZSgpO1xuICB9XG59XG4iLCI8bnotZHJhd2VyXG4gIFtuelZpc2libGVdPVwiY29sbGFwc2VcIlxuICBbbnpQbGFjZW1lbnRdPVwiZGlyID09PSAncnRsJyA/ICdsZWZ0JyA6ICdyaWdodCdcIlxuICBbbnpXaWR0aF09XCI1MDBcIlxuICAobnpPbkNsb3NlKT1cInRvZ2dsZSgpXCJcbj5cbiAgPGRpdiAqbnpEcmF3ZXJDb250ZW50IGNsYXNzPVwic2V0dGluZy1kcmF3ZXJfX2NvbnRlbnRcIj5cbiAgICA8ZGl2IGNsYXNzPVwic2V0dGluZy1kcmF3ZXJfX2JvZHkgc2V0dGluZy1kcmF3ZXJfX3RoZW1lXCI+XG4gICAgICA8aDMgY2xhc3M9XCJzZXR0aW5nLWRyYXdlcl9fdGl0bGVcIj7kuLvpopjoibI8L2gzPlxuICAgICAgPHNwYW5cbiAgICAgICAgKm5nRm9yPVwibGV0IGMgb2YgY29sb3JzXCJcbiAgICAgICAgW3N0eWxlXT1cInsgJ2JhY2tncm91bmQtY29sb3InOiBjLmNvbG9yIH1cIlxuICAgICAgICAoY2xpY2spPVwiY2hhbmdlQ29sb3IoYy5jb2xvcilcIlxuICAgICAgICBuei10b29sdGlwXG4gICAgICAgIFtuelRvb2x0aXBUaXRsZV09XCJjLmtleVwiXG4gICAgICAgIGNsYXNzPVwic2V0dGluZy1kcmF3ZXJfX3RoZW1lLXRhZ1wiXG4gICAgICA+XG4gICAgICAgIDxpICpuZ0lmPVwiY29sb3IgPT09IGMuY29sb3JcIiBuei1pY29uIG56VHlwZT1cImNoZWNrXCI+PC9pPlxuICAgICAgPC9zcGFuPlxuICAgIDwvZGl2PlxuICAgIDxuei1kaXZpZGVyPjwvbnotZGl2aWRlcj5cbiAgICA8ZGl2IGNsYXNzPVwic2V0dGluZy1kcmF3ZXJfX2JvZHlcIj5cbiAgICAgIDxoMyBjbGFzcz1cInNldHRpbmctZHJhd2VyX190aXRsZVwiPuiuvue9rjwvaDM+XG4gICAgICA8bnotdGFic2V0PlxuICAgICAgICA8bnotdGFiIG56VGl0bGU9XCLpobbpg6hcIj5cbiAgICAgICAgICA8ZGl2IGNsYXNzPVwic2V0dGluZy1kcmF3ZXJfX2JvZHlcIj5cbiAgICAgICAgICAgIDxzZXR0aW5nLWRyYXdlci1pdGVtIFtkYXRhXT1cImRhdGFbJ2FsYWluLWRlZmF1bHQtaGVhZGVyLWhnJ11cIj48L3NldHRpbmctZHJhd2VyLWl0ZW0+XG4gICAgICAgICAgICA8c2V0dGluZy1kcmF3ZXItaXRlbSBbZGF0YV09XCJkYXRhWydhbGFpbi1kZWZhdWx0LWhlYWRlci1iZyddXCI+PC9zZXR0aW5nLWRyYXdlci1pdGVtPlxuICAgICAgICAgICAgPHNldHRpbmctZHJhd2VyLWl0ZW0gW2RhdGFdPVwiZGF0YVsnYWxhaW4tZGVmYXVsdC1oZWFkZXItcGFkZGluZyddXCI+PC9zZXR0aW5nLWRyYXdlci1pdGVtPlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L256LXRhYj5cbiAgICAgICAgPG56LXRhYiBuelRpdGxlPVwi5L6n6L655qCPXCI+XG4gICAgICAgICAgPHNldHRpbmctZHJhd2VyLWl0ZW0gW2RhdGFdPVwiZGF0YVsnYWxhaW4tZGVmYXVsdC1hc2lkZS13ZCddXCI+PC9zZXR0aW5nLWRyYXdlci1pdGVtPlxuICAgICAgICAgIDxzZXR0aW5nLWRyYXdlci1pdGVtIFtkYXRhXT1cImRhdGFbJ2FsYWluLWRlZmF1bHQtYXNpZGUtYmcnXVwiPjwvc2V0dGluZy1kcmF3ZXItaXRlbT5cbiAgICAgICAgICA8c2V0dGluZy1kcmF3ZXItaXRlbSBbZGF0YV09XCJkYXRhWydhbGFpbi1kZWZhdWx0LWFzaWRlLWNvbGxhcHNlZC13ZCddXCI+PC9zZXR0aW5nLWRyYXdlci1pdGVtPlxuICAgICAgICAgIDxzZXR0aW5nLWRyYXdlci1pdGVtIFtkYXRhXT1cImRhdGFbJ2FsYWluLWRlZmF1bHQtYXNpZGUtbmF2LXBhZGRpbmctdG9wLWJvdHRvbSddXCI+PC9zZXR0aW5nLWRyYXdlci1pdGVtPlxuICAgICAgICA8L256LXRhYj5cbiAgICAgICAgPG56LXRhYiBuelRpdGxlPVwi5YaF5a65XCI+XG4gICAgICAgICAgPHNldHRpbmctZHJhd2VyLWl0ZW0gW2RhdGFdPVwiZGF0YVsnYWxhaW4tZGVmYXVsdC1jb250ZW50LWJnJ11cIj48L3NldHRpbmctZHJhd2VyLWl0ZW0+XG4gICAgICAgICAgPHNldHRpbmctZHJhd2VyLWl0ZW0gW2RhdGFdPVwiZGF0YVsnYWxhaW4tZGVmYXVsdC1jb250ZW50LWhlYWRpbmctYmcnXVwiPjwvc2V0dGluZy1kcmF3ZXItaXRlbT5cbiAgICAgICAgICA8c2V0dGluZy1kcmF3ZXItaXRlbSBbZGF0YV09XCJkYXRhWydhbGFpbi1kZWZhdWx0LWNvbnRlbnQtaGVhZGluZy1ib3JkZXInXVwiPjwvc2V0dGluZy1kcmF3ZXItaXRlbT5cbiAgICAgICAgICA8c2V0dGluZy1kcmF3ZXItaXRlbSBbZGF0YV09XCJkYXRhWydhbGFpbi1kZWZhdWx0LWNvbnRlbnQtcGFkZGluZyddXCI+PC9zZXR0aW5nLWRyYXdlci1pdGVtPlxuICAgICAgICA8L256LXRhYj5cbiAgICAgICAgPG56LXRhYiBuelRpdGxlPVwi5YW25a6DXCI+XG4gICAgICAgICAgPHNldHRpbmctZHJhd2VyLWl0ZW0gW2RhdGFdPVwiZGF0YVsnZm9ybS1zdGF0ZS12aXN1YWwtZmVlZGJhY2stZW5hYmxlZCddXCI+PC9zZXR0aW5nLWRyYXdlci1pdGVtPlxuICAgICAgICAgIDxzZXR0aW5nLWRyYXdlci1pdGVtIFtkYXRhXT1cImRhdGFbJ3ByZXNlcnZlLXdoaXRlLXNwYWNlcy1lbmFibGVkJ11cIj48L3NldHRpbmctZHJhd2VyLWl0ZW0+XG4gICAgICAgICAgPHNldHRpbmctZHJhd2VyLWl0ZW0gW2RhdGFdPVwiZGF0YVsnbnotdGFibGUtaW1nLXJhZGl1cyddXCI+PC9zZXR0aW5nLWRyYXdlci1pdGVtPlxuICAgICAgICAgIDxzZXR0aW5nLWRyYXdlci1pdGVtIFtkYXRhXT1cImRhdGFbJ256LXRhYmxlLWltZy1tYXJnaW4tcmlnaHQnXVwiPjwvc2V0dGluZy1kcmF3ZXItaXRlbT5cbiAgICAgICAgICA8c2V0dGluZy1kcmF3ZXItaXRlbSBbZGF0YV09XCJkYXRhWyduei10YWJsZS1pbWctbWF4LXdpZHRoJ11cIj48L3NldHRpbmctZHJhd2VyLWl0ZW0+XG4gICAgICAgICAgPHNldHRpbmctZHJhd2VyLWl0ZW0gW2RhdGFdPVwiZGF0YVsnbnotdGFibGUtaW1nLW1heC1oZWlnaHQnXVwiPjwvc2V0dGluZy1kcmF3ZXItaXRlbT5cbiAgICAgICAgPC9uei10YWI+XG4gICAgICA8L256LXRhYnNldD5cbiAgICA8L2Rpdj5cbiAgICA8bnotZGl2aWRlcj48L256LWRpdmlkZXI+XG4gICAgPGRpdiBjbGFzcz1cInNldHRpbmctZHJhd2VyX19ib2R5XCI+XG4gICAgICA8ZGl2IGNsYXNzPVwic2V0dGluZy1kcmF3ZXJfX2JvZHktaXRlbVwiPlxuICAgICAgICDlm7rlrprlpLTlkozkvqfovrnmoI9cbiAgICAgICAgPG56LXN3aXRjaFxuICAgICAgICAgIG56U2l6ZT1cInNtYWxsXCJcbiAgICAgICAgICBbKG5nTW9kZWwpXT1cImxheW91dC5maXhlZFwiXG4gICAgICAgICAgKG5nTW9kZWxDaGFuZ2UpPVwic2V0TGF5b3V0KCdmaXhlZCcsIGxheW91dC5maXhlZClcIlxuICAgICAgICA+PC9uei1zd2l0Y2g+XG4gICAgICA8L2Rpdj5cbiAgICAgIDxkaXYgY2xhc3M9XCJzZXR0aW5nLWRyYXdlcl9fYm9keS1pdGVtXCI+XG4gICAgICAgIOiJsuW8seaooeW8j1xuICAgICAgICA8bnotc3dpdGNoXG4gICAgICAgICAgbnpTaXplPVwic21hbGxcIlxuICAgICAgICAgIFsobmdNb2RlbCldPVwibGF5b3V0LmNvbG9yV2Vha1wiXG4gICAgICAgICAgKG5nTW9kZWxDaGFuZ2UpPVwic2V0TGF5b3V0KCdjb2xvcldlYWsnLCBsYXlvdXQuY29sb3JXZWFrKVwiXG4gICAgICAgID48L256LXN3aXRjaD5cbiAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuICAgIDxuei1kaXZpZGVyPjwvbnotZGl2aWRlcj5cbiAgICA8YnV0dG9uIChjbGljayk9XCJhcHBseSgpXCIgdHlwZT1cImJ1dHRvblwiIG56LWJ1dHRvbiBuelR5cGU9XCJwcmltYXJ5XCI+6aKE6KeIPC9idXR0b24+XG4gICAgPGJ1dHRvbiAoY2xpY2spPVwicmVzZXQoKVwiIHR5cGU9XCJidXR0b25cIiBuei1idXR0b24+6YeN572uPC9idXR0b24+XG4gICAgPGJ1dHRvbiAoY2xpY2spPVwiY29weVZhcigpXCIgdHlwZT1cImJ1dHRvblwiIG56LWJ1dHRvbj7mi7fotJ08L2J1dHRvbj5cbiAgICA8bnotYWxlcnRcbiAgICAgIGNsYXNzPVwibXQtbWRcIlxuICAgICAgbnpUeXBlPVwid2FybmluZ1wiXG4gICAgICBuek1lc3NhZ2U9XCLphY3nva7moI/lj6rlnKjlvIDlj5Hnjq/looPnlKjkuo7pooTop4jvvIznlJ/kuqfnjq/looPkuI3kvJrlsZXnjrDvvIzor7fmi7fotJ3lkI7miYvliqjkv67mlLnlj4LmlbDphY3nva7mlofku7Ygc3JjL3N0eWxlcy90aGVtZS5sZXNzXCJcbiAgICA+PC9uei1hbGVydD5cbiAgPC9kaXY+XG48L256LWRyYXdlcj5cbjxkaXZcbiAgY2xhc3M9XCJzZXR0aW5nLWRyYXdlcl9faGFuZGxlXCJcbiAgW25nQ2xhc3NdPVwieyAnc2V0dGluZy1kcmF3ZXJfX2hhbmRsZS1vcGVuZWQnOiBjb2xsYXBzZSB9XCJcbiAgKGNsaWNrKT1cInRvZ2dsZSgpXCJcbiAgbnotdG9vbHRpcFxuICBbbnpUb29sdGlwVGl0bGVdPVwiaXNEZXYgPyBkZXZUaXBzIDogbnVsbFwiXG4+XG4gIDxpIG56LWljb24gW256VHlwZV09XCIhY29sbGFwc2UgPyAnc2V0dGluZycgOiAnY2xvc2UnXCIgY2xhc3M9XCJzZXR0aW5nLWRyYXdlcl9faGFuZGxlLWljb25cIj48L2k+XG48L2Rpdj5cbiJdfQ==
|
|
@@ -0,0 +1,67 @@
|
|
|
1
|
+
import { CommonModule } from '@angular/common';
|
|
2
|
+
import { NgModule } from '@angular/core';
|
|
3
|
+
import { FormsModule } from '@angular/forms';
|
|
4
|
+
import { NzAlertModule } from 'ng-zorro-antd/alert';
|
|
5
|
+
import { NzButtonModule } from 'ng-zorro-antd/button';
|
|
6
|
+
import { NzDividerModule } from 'ng-zorro-antd/divider';
|
|
7
|
+
import { NzDrawerModule } from 'ng-zorro-antd/drawer';
|
|
8
|
+
import { NzIconModule } from 'ng-zorro-antd/icon';
|
|
9
|
+
import { NzInputModule } from 'ng-zorro-antd/input';
|
|
10
|
+
import { NzInputNumberModule } from 'ng-zorro-antd/input-number';
|
|
11
|
+
import { NzSwitchModule } from 'ng-zorro-antd/switch';
|
|
12
|
+
import { NzTabsModule } from 'ng-zorro-antd/tabs';
|
|
13
|
+
import { NzToolTipModule } from 'ng-zorro-antd/tooltip';
|
|
14
|
+
import { SettingDrawerItemComponent } from './setting-drawer-item.component';
|
|
15
|
+
import { SettingDrawerComponent } from './setting-drawer.component';
|
|
16
|
+
import * as i0 from "@angular/core";
|
|
17
|
+
const COMPONENTS = [SettingDrawerItemComponent, SettingDrawerComponent];
|
|
18
|
+
class SettingDrawerModule {
|
|
19
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.4", ngImport: i0, type: SettingDrawerModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
|
|
20
|
+
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "16.0.4", ngImport: i0, type: SettingDrawerModule, declarations: [SettingDrawerItemComponent, SettingDrawerComponent], imports: [CommonModule,
|
|
21
|
+
FormsModule,
|
|
22
|
+
NzDrawerModule,
|
|
23
|
+
NzToolTipModule,
|
|
24
|
+
NzDividerModule,
|
|
25
|
+
NzTabsModule,
|
|
26
|
+
NzSwitchModule,
|
|
27
|
+
NzAlertModule,
|
|
28
|
+
NzIconModule,
|
|
29
|
+
NzInputModule,
|
|
30
|
+
NzInputNumberModule,
|
|
31
|
+
NzButtonModule], exports: [SettingDrawerItemComponent, SettingDrawerComponent] }); }
|
|
32
|
+
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "16.0.4", ngImport: i0, type: SettingDrawerModule, imports: [CommonModule,
|
|
33
|
+
FormsModule,
|
|
34
|
+
NzDrawerModule,
|
|
35
|
+
NzToolTipModule,
|
|
36
|
+
NzDividerModule,
|
|
37
|
+
NzTabsModule,
|
|
38
|
+
NzSwitchModule,
|
|
39
|
+
NzAlertModule,
|
|
40
|
+
NzIconModule,
|
|
41
|
+
NzInputModule,
|
|
42
|
+
NzInputNumberModule,
|
|
43
|
+
NzButtonModule] }); }
|
|
44
|
+
}
|
|
45
|
+
export { SettingDrawerModule };
|
|
46
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.4", ngImport: i0, type: SettingDrawerModule, decorators: [{
|
|
47
|
+
type: NgModule,
|
|
48
|
+
args: [{
|
|
49
|
+
imports: [
|
|
50
|
+
CommonModule,
|
|
51
|
+
FormsModule,
|
|
52
|
+
NzDrawerModule,
|
|
53
|
+
NzToolTipModule,
|
|
54
|
+
NzDividerModule,
|
|
55
|
+
NzTabsModule,
|
|
56
|
+
NzSwitchModule,
|
|
57
|
+
NzAlertModule,
|
|
58
|
+
NzIconModule,
|
|
59
|
+
NzInputModule,
|
|
60
|
+
NzInputNumberModule,
|
|
61
|
+
NzButtonModule
|
|
62
|
+
],
|
|
63
|
+
declarations: COMPONENTS,
|
|
64
|
+
exports: COMPONENTS
|
|
65
|
+
}]
|
|
66
|
+
}] });
|
|
67
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2V0dGluZy1kcmF3ZXIubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvdGhlbWUvc2V0dGluZy1kcmF3ZXIvc2V0dGluZy1kcmF3ZXIubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3pDLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUU3QyxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDcEQsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQ3RELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUN4RCxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDdEQsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBQ2xELE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUNwRCxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUNqRSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDdEQsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBQ2xELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUV4RCxPQUFPLEVBQUUsMEJBQTBCLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQztBQUM3RSxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQzs7QUFFcEUsTUFBTSxVQUFVLEdBQUcsQ0FBQywwQkFBMEIsRUFBRSxzQkFBc0IsQ0FBQyxDQUFDO0FBRXhFLE1Ba0JhLG1CQUFtQjs4R0FBbkIsbUJBQW1COytHQUFuQixtQkFBbUIsaUJBcEJaLDBCQUEwQixFQUFFLHNCQUFzQixhQUlsRSxZQUFZO1lBQ1osV0FBVztZQUNYLGNBQWM7WUFDZCxlQUFlO1lBQ2YsZUFBZTtZQUNmLFlBQVk7WUFDWixjQUFjO1lBQ2QsYUFBYTtZQUNiLFlBQVk7WUFDWixhQUFhO1lBQ2IsbUJBQW1CO1lBQ25CLGNBQWMsYUFmRSwwQkFBMEIsRUFBRSxzQkFBc0I7K0dBb0J6RCxtQkFBbUIsWUFoQjVCLFlBQVk7WUFDWixXQUFXO1lBQ1gsY0FBYztZQUNkLGVBQWU7WUFDZixlQUFlO1lBQ2YsWUFBWTtZQUNaLGNBQWM7WUFDZCxhQUFhO1lBQ2IsWUFBWTtZQUNaLGFBQWE7WUFDYixtQkFBbUI7WUFDbkIsY0FBYzs7U0FLTCxtQkFBbUI7MkZBQW5CLG1CQUFtQjtrQkFsQi9CLFFBQVE7bUJBQUM7b0JBQ1IsT0FBTyxFQUFFO3dCQUNQLFlBQVk7d0JBQ1osV0FBVzt3QkFDWCxjQUFjO3dCQUNkLGVBQWU7d0JBQ2YsZUFBZTt3QkFDZixZQUFZO3dCQUNaLGNBQWM7d0JBQ2QsYUFBYTt3QkFDYixZQUFZO3dCQUNaLGFBQWE7d0JBQ2IsbUJBQW1CO3dCQUNuQixjQUFjO3FCQUNmO29CQUNELFlBQVksRUFBRSxVQUFVO29CQUN4QixPQUFPLEVBQUUsVUFBVTtpQkFDcEIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEZvcm1zTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuXG5pbXBvcnQgeyBOekFsZXJ0TW9kdWxlIH0gZnJvbSAnbmctem9ycm8tYW50ZC9hbGVydCc7XG5pbXBvcnQgeyBOekJ1dHRvbk1vZHVsZSB9IGZyb20gJ25nLXpvcnJvLWFudGQvYnV0dG9uJztcbmltcG9ydCB7IE56RGl2aWRlck1vZHVsZSB9IGZyb20gJ25nLXpvcnJvLWFudGQvZGl2aWRlcic7XG5pbXBvcnQgeyBOekRyYXdlck1vZHVsZSB9IGZyb20gJ25nLXpvcnJvLWFudGQvZHJhd2VyJztcbmltcG9ydCB7IE56SWNvbk1vZHVsZSB9IGZyb20gJ25nLXpvcnJvLWFudGQvaWNvbic7XG5pbXBvcnQgeyBOeklucHV0TW9kdWxlIH0gZnJvbSAnbmctem9ycm8tYW50ZC9pbnB1dCc7XG5pbXBvcnQgeyBOeklucHV0TnVtYmVyTW9kdWxlIH0gZnJvbSAnbmctem9ycm8tYW50ZC9pbnB1dC1udW1iZXInO1xuaW1wb3J0IHsgTnpTd2l0Y2hNb2R1bGUgfSBmcm9tICduZy16b3Jyby1hbnRkL3N3aXRjaCc7XG5pbXBvcnQgeyBOelRhYnNNb2R1bGUgfSBmcm9tICduZy16b3Jyby1hbnRkL3RhYnMnO1xuaW1wb3J0IHsgTnpUb29sVGlwTW9kdWxlIH0gZnJvbSAnbmctem9ycm8tYW50ZC90b29sdGlwJztcblxuaW1wb3J0IHsgU2V0dGluZ0RyYXdlckl0ZW1Db21wb25lbnQgfSBmcm9tICcuL3NldHRpbmctZHJhd2VyLWl0ZW0uY29tcG9uZW50JztcbmltcG9ydCB7IFNldHRpbmdEcmF3ZXJDb21wb25lbnQgfSBmcm9tICcuL3NldHRpbmctZHJhd2VyLmNvbXBvbmVudCc7XG5cbmNvbnN0IENPTVBPTkVOVFMgPSBbU2V0dGluZ0RyYXdlckl0ZW1Db21wb25lbnQsIFNldHRpbmdEcmF3ZXJDb21wb25lbnRdO1xuXG5ATmdNb2R1bGUoe1xuICBpbXBvcnRzOiBbXG4gICAgQ29tbW9uTW9kdWxlLFxuICAgIEZvcm1zTW9kdWxlLFxuICAgIE56RHJhd2VyTW9kdWxlLFxuICAgIE56VG9vbFRpcE1vZHVsZSxcbiAgICBOekRpdmlkZXJNb2R1bGUsXG4gICAgTnpUYWJzTW9kdWxlLFxuICAgIE56U3dpdGNoTW9kdWxlLFxuICAgIE56QWxlcnRNb2R1bGUsXG4gICAgTnpJY29uTW9kdWxlLFxuICAgIE56SW5wdXRNb2R1bGUsXG4gICAgTnpJbnB1dE51bWJlck1vZHVsZSxcbiAgICBOekJ1dHRvbk1vZHVsZVxuICBdLFxuICBkZWNsYXJhdGlvbnM6IENPTVBPTkVOVFMsXG4gIGV4cG9ydHM6IENPTVBPTkVOVFNcbn0pXG5leHBvcnQgY2xhc3MgU2V0dGluZ0RyYXdlck1vZHVsZSB7fVxuIl19
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import { NgModule } from '@angular/core';
|
|
2
|
+
import zhCN from './languages/zh-CN';
|
|
3
|
+
import { DELON_LOCALE_SERVICE_PROVIDER } from './locale.service';
|
|
4
|
+
import { DELON_LOCALE } from './locale.tokens';
|
|
5
|
+
import * as i0 from "@angular/core";
|
|
6
|
+
class DelonLocaleModule {
|
|
7
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.4", ngImport: i0, type: DelonLocaleModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
|
|
8
|
+
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "16.0.4", ngImport: i0, type: DelonLocaleModule }); }
|
|
9
|
+
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "16.0.4", ngImport: i0, type: DelonLocaleModule, providers: [{ provide: DELON_LOCALE, useValue: zhCN }, DELON_LOCALE_SERVICE_PROVIDER] }); }
|
|
10
|
+
}
|
|
11
|
+
export { DelonLocaleModule };
|
|
12
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.4", ngImport: i0, type: DelonLocaleModule, decorators: [{
|
|
13
|
+
type: NgModule,
|
|
14
|
+
args: [{
|
|
15
|
+
providers: [{ provide: DELON_LOCALE, useValue: zhCN }, DELON_LOCALE_SERVICE_PROVIDER]
|
|
16
|
+
}]
|
|
17
|
+
}] });
|
|
18
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9jYWxlLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL3RoZW1lL3NyYy9sb2NhbGUvbG9jYWxlLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRXpDLE9BQU8sSUFBSSxNQUFNLG1CQUFtQixDQUFDO0FBQ3JDLE9BQU8sRUFBRSw2QkFBNkIsRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBQ2pFLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQzs7QUFFL0MsTUFHYSxpQkFBaUI7OEdBQWpCLGlCQUFpQjsrR0FBakIsaUJBQWlCOytHQUFqQixpQkFBaUIsYUFGakIsQ0FBQyxFQUFFLE9BQU8sRUFBRSxZQUFZLEVBQUUsUUFBUSxFQUFFLElBQUksRUFBRSxFQUFFLDZCQUE2QixDQUFDOztTQUUxRSxpQkFBaUI7MkZBQWpCLGlCQUFpQjtrQkFIN0IsUUFBUTttQkFBQztvQkFDUixTQUFTLEVBQUUsQ0FBQyxFQUFFLE9BQU8sRUFBRSxZQUFZLEVBQUUsUUFBUSxFQUFFLElBQUksRUFBRSxFQUFFLDZCQUE2QixDQUFDO2lCQUN0RiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmltcG9ydCB6aENOIGZyb20gJy4vbGFuZ3VhZ2VzL3poLUNOJztcbmltcG9ydCB7IERFTE9OX0xPQ0FMRV9TRVJWSUNFX1BST1ZJREVSIH0gZnJvbSAnLi9sb2NhbGUuc2VydmljZSc7XG5pbXBvcnQgeyBERUxPTl9MT0NBTEUgfSBmcm9tICcuL2xvY2FsZS50b2tlbnMnO1xuXG5ATmdNb2R1bGUoe1xuICBwcm92aWRlcnM6IFt7IHByb3ZpZGU6IERFTE9OX0xPQ0FMRSwgdXNlVmFsdWU6IHpoQ04gfSwgREVMT05fTE9DQUxFX1NFUlZJQ0VfUFJPVklERVJdXG59KVxuZXhwb3J0IGNsYXNzIERlbG9uTG9jYWxlTW9kdWxlIHt9XG4iXX0=
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
import { Inject, Injectable, Optional, SkipSelf } from '@angular/core';
|
|
2
|
+
import { BehaviorSubject } from 'rxjs';
|
|
3
|
+
import zhCN from './languages/zh-CN';
|
|
4
|
+
import { DELON_LOCALE } from './locale.tokens';
|
|
5
|
+
import * as i0 from "@angular/core";
|
|
6
|
+
class DelonLocaleService {
|
|
7
|
+
constructor(locale) {
|
|
8
|
+
this._locale = zhCN;
|
|
9
|
+
this.change$ = new BehaviorSubject(this._locale);
|
|
10
|
+
this.setLocale(locale || zhCN);
|
|
11
|
+
}
|
|
12
|
+
get change() {
|
|
13
|
+
return this.change$.asObservable();
|
|
14
|
+
}
|
|
15
|
+
setLocale(locale) {
|
|
16
|
+
if (this._locale && this._locale.abbr === locale.abbr) {
|
|
17
|
+
return;
|
|
18
|
+
}
|
|
19
|
+
this._locale = locale;
|
|
20
|
+
this.change$.next(locale);
|
|
21
|
+
}
|
|
22
|
+
get locale() {
|
|
23
|
+
return this._locale;
|
|
24
|
+
}
|
|
25
|
+
getData(path) {
|
|
26
|
+
return (this._locale[path] || {});
|
|
27
|
+
}
|
|
28
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.4", ngImport: i0, type: DelonLocaleService, deps: [{ token: DELON_LOCALE }], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
29
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.0.4", ngImport: i0, type: DelonLocaleService }); }
|
|
30
|
+
}
|
|
31
|
+
export { DelonLocaleService };
|
|
32
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.4", ngImport: i0, type: DelonLocaleService, decorators: [{
|
|
33
|
+
type: Injectable
|
|
34
|
+
}], ctorParameters: function () { return [{ type: undefined, decorators: [{
|
|
35
|
+
type: Inject,
|
|
36
|
+
args: [DELON_LOCALE]
|
|
37
|
+
}] }]; } });
|
|
38
|
+
export function DELON_LOCALE_SERVICE_PROVIDER_FACTORY(exist, locale) {
|
|
39
|
+
return exist || new DelonLocaleService(locale);
|
|
40
|
+
}
|
|
41
|
+
export const DELON_LOCALE_SERVICE_PROVIDER = {
|
|
42
|
+
provide: DelonLocaleService,
|
|
43
|
+
useFactory: DELON_LOCALE_SERVICE_PROVIDER_FACTORY,
|
|
44
|
+
deps: [[new Optional(), new SkipSelf(), DelonLocaleService], DELON_LOCALE]
|
|
45
|
+
};
|
|
46
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9jYWxlLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy90aGVtZS9zcmMvbG9jYWxlL2xvY2FsZS5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxNQUFNLEVBQUUsVUFBVSxFQUFFLFFBQVEsRUFBWSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDakYsT0FBTyxFQUFFLGVBQWUsRUFBYyxNQUFNLE1BQU0sQ0FBQztBQUVuRCxPQUFPLElBQUksTUFBTSxtQkFBbUIsQ0FBQztBQUNyQyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7O0FBRy9DLE1BQ2Esa0JBQWtCO0lBSTdCLFlBQWtDLE1BQTZCO1FBSHZELFlBQU8sR0FBbUIsSUFBSSxDQUFDO1FBQy9CLFlBQU8sR0FBRyxJQUFJLGVBQWUsQ0FBaUIsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBR2xFLElBQUksQ0FBQyxTQUFTLENBQUMsTUFBTSxJQUFJLElBQUksQ0FBQyxDQUFDO0lBQ2pDLENBQUM7SUFFRCxJQUFJLE1BQU07UUFDUixPQUFPLElBQUksQ0FBQyxPQUFPLENBQUMsWUFBWSxFQUFFLENBQUM7SUFDckMsQ0FBQztJQUVELFNBQVMsQ0FBQyxNQUFzQjtRQUM5QixJQUFJLElBQUksQ0FBQyxPQUFPLElBQUksSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLEtBQUssTUFBTSxDQUFDLElBQUksRUFBRTtZQUNyRCxPQUFPO1NBQ1I7UUFDRCxJQUFJLENBQUMsT0FBTyxHQUFHLE1BQU0sQ0FBQztRQUN0QixJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUM1QixDQUFDO0lBRUQsSUFBSSxNQUFNO1FBQ1IsT0FBTyxJQUFJLENBQUMsT0FBTyxDQUFDO0lBQ3RCLENBQUM7SUFFRCxPQUFPLENBQUMsSUFBMEI7UUFDaEMsT0FBTyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLElBQUksRUFBRSxDQUFlLENBQUM7SUFDbEQsQ0FBQzs4R0ExQlUsa0JBQWtCLGtCQUlULFlBQVk7a0hBSnJCLGtCQUFrQjs7U0FBbEIsa0JBQWtCOzJGQUFsQixrQkFBa0I7a0JBRDlCLFVBQVU7OzBCQUtJLE1BQU07MkJBQUMsWUFBWTs7QUF5QmxDLE1BQU0sVUFBVSxxQ0FBcUMsQ0FDbkQsS0FBeUIsRUFDekIsTUFBc0I7SUFFdEIsT0FBTyxLQUFLLElBQUksSUFBSSxrQkFBa0IsQ0FBQyxNQUFNLENBQUMsQ0FBQztBQUNqRCxDQUFDO0FBRUQsTUFBTSxDQUFDLE1BQU0sNkJBQTZCLEdBQWE7SUFDckQsT0FBTyxFQUFFLGtCQUFrQjtJQUMzQixVQUFVLEVBQUUscUNBQXFDO0lBQ2pELElBQUksRUFBRSxDQUFDLENBQUMsSUFBSSxRQUFRLEVBQUUsRUFBRSxJQUFJLFFBQVEsRUFBRSxFQUFFLGtCQUFrQixDQUFDLEVBQUUsWUFBWSxDQUFDO0NBQzNFLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3QsIEluamVjdGFibGUsIE9wdGlvbmFsLCBQcm92aWRlciwgU2tpcFNlbGYgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEJlaGF2aW9yU3ViamVjdCwgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnO1xuXG5pbXBvcnQgemhDTiBmcm9tICcuL2xhbmd1YWdlcy96aC1DTic7XG5pbXBvcnQgeyBERUxPTl9MT0NBTEUgfSBmcm9tICcuL2xvY2FsZS50b2tlbnMnO1xuaW1wb3J0IHsgRnVsbExvY2FsZURhdGEsIExvY2FsZURhdGEgfSBmcm9tICcuL2xvY2FsZS50eXBlcyc7XG5cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBEZWxvbkxvY2FsZVNlcnZpY2Uge1xuICBwcml2YXRlIF9sb2NhbGU6IEZ1bGxMb2NhbGVEYXRhID0gemhDTjtcbiAgcHJpdmF0ZSBjaGFuZ2UkID0gbmV3IEJlaGF2aW9yU3ViamVjdDxGdWxsTG9jYWxlRGF0YT4odGhpcy5fbG9jYWxlKTtcblxuICBjb25zdHJ1Y3RvcihASW5qZWN0KERFTE9OX0xPQ0FMRSkgbG9jYWxlOiBGdWxsTG9jYWxlRGF0YSB8IG51bGwpIHtcbiAgICB0aGlzLnNldExvY2FsZShsb2NhbGUgfHwgemhDTik7XG4gIH1cblxuICBnZXQgY2hhbmdlKCk6IE9ic2VydmFibGU8RnVsbExvY2FsZURhdGE+IHtcbiAgICByZXR1cm4gdGhpcy5jaGFuZ2UkLmFzT2JzZXJ2YWJsZSgpO1xuICB9XG5cbiAgc2V0TG9jYWxlKGxvY2FsZTogRnVsbExvY2FsZURhdGEpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5fbG9jYWxlICYmIHRoaXMuX2xvY2FsZS5hYmJyID09PSBsb2NhbGUuYWJicikge1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICB0aGlzLl9sb2NhbGUgPSBsb2NhbGU7XG4gICAgdGhpcy5jaGFuZ2UkLm5leHQobG9jYWxlKTtcbiAgfVxuXG4gIGdldCBsb2NhbGUoKTogRnVsbExvY2FsZURhdGEge1xuICAgIHJldHVybiB0aGlzLl9sb2NhbGU7XG4gIH1cblxuICBnZXREYXRhKHBhdGg6IGtleW9mIEZ1bGxMb2NhbGVEYXRhKTogTG9jYWxlRGF0YSB7XG4gICAgcmV0dXJuICh0aGlzLl9sb2NhbGVbcGF0aF0gfHwge30pIGFzIExvY2FsZURhdGE7XG4gIH1cbn1cblxuZXhwb3J0IGZ1bmN0aW9uIERFTE9OX0xPQ0FMRV9TRVJWSUNFX1BST1ZJREVSX0ZBQ1RPUlkoXG4gIGV4aXN0OiBEZWxvbkxvY2FsZVNlcnZpY2UsXG4gIGxvY2FsZTogRnVsbExvY2FsZURhdGFcbik6IERlbG9uTG9jYWxlU2VydmljZSB7XG4gIHJldHVybiBleGlzdCB8fCBuZXcgRGVsb25Mb2NhbGVTZXJ2aWNlKGxvY2FsZSk7XG59XG5cbmV4cG9ydCBjb25zdCBERUxPTl9MT0NBTEVfU0VSVklDRV9QUk9WSURFUjogUHJvdmlkZXIgPSB7XG4gIHByb3ZpZGU6IERlbG9uTG9jYWxlU2VydmljZSxcbiAgdXNlRmFjdG9yeTogREVMT05fTE9DQUxFX1NFUlZJQ0VfUFJPVklERVJfRkFDVE9SWSxcbiAgZGVwczogW1tuZXcgT3B0aW9uYWwoKSwgbmV3IFNraXBTZWxmKCksIERlbG9uTG9jYWxlU2VydmljZV0sIERFTE9OX0xPQ0FMRV1cbn07XG4iXX0=
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import { Pipe } from '@angular/core';
|
|
2
|
+
import { format, formatDistanceToNow } from 'date-fns';
|
|
3
|
+
import { toDate } from '@delon/util/date-time';
|
|
4
|
+
import * as i0 from "@angular/core";
|
|
5
|
+
import * as i1 from "ng-zorro-antd/i18n";
|
|
6
|
+
class DatePipe {
|
|
7
|
+
constructor(nzI18n) {
|
|
8
|
+
this.nzI18n = nzI18n;
|
|
9
|
+
}
|
|
10
|
+
transform(value, formatString = 'yyyy-MM-dd HH:mm') {
|
|
11
|
+
value = toDate(value);
|
|
12
|
+
if (isNaN(value))
|
|
13
|
+
return '';
|
|
14
|
+
const langOpt = { locale: this.nzI18n.getDateLocale() };
|
|
15
|
+
return formatString === 'fn' ? formatDistanceToNow(value, langOpt) : format(value, formatString, langOpt);
|
|
16
|
+
}
|
|
17
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.4", ngImport: i0, type: DatePipe, deps: [{ token: i1.NzI18nService }], target: i0.ɵɵFactoryTarget.Pipe }); }
|
|
18
|
+
static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "16.0.4", ngImport: i0, type: DatePipe, name: "_date" }); }
|
|
19
|
+
}
|
|
20
|
+
export { DatePipe };
|
|
21
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.4", ngImport: i0, type: DatePipe, decorators: [{
|
|
22
|
+
type: Pipe,
|
|
23
|
+
args: [{ name: '_date' }]
|
|
24
|
+
}], ctorParameters: function () { return [{ type: i1.NzI18nService }]; } });
|
|
25
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0ZS5waXBlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvdGhlbWUvc3JjL3BpcGVzL2RhdGUvZGF0ZS5waXBlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxJQUFJLEVBQWlCLE1BQU0sZUFBZSxDQUFDO0FBRXBELE9BQU8sRUFBRSxNQUFNLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxVQUFVLENBQUM7QUFFdkQsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLHVCQUF1QixDQUFDOzs7QUFJL0MsTUFDYSxRQUFRO0lBQ25CLFlBQW9CLE1BQXFCO1FBQXJCLFdBQU0sR0FBTixNQUFNLENBQWU7SUFBRyxDQUFDO0lBRTdDLFNBQVMsQ0FBQyxLQUE2QixFQUFFLGVBQXVCLGtCQUFrQjtRQUNoRixLQUFLLEdBQUcsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ3RCLElBQUksS0FBSyxDQUFDLEtBQWtCLENBQUM7WUFBRSxPQUFPLEVBQUUsQ0FBQztRQUV6QyxNQUFNLE9BQU8sR0FBRyxFQUFFLE1BQU0sRUFBRSxJQUFJLENBQUMsTUFBTSxDQUFDLGFBQWEsRUFBRSxFQUFFLENBQUM7UUFDeEQsT0FBTyxZQUFZLEtBQUssSUFBSSxDQUFDLENBQUMsQ0FBQyxtQkFBbUIsQ0FBQyxLQUFLLEVBQUUsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxLQUFLLEVBQUUsWUFBWSxFQUFFLE9BQU8sQ0FBQyxDQUFDO0lBQzVHLENBQUM7OEdBVFUsUUFBUTs0R0FBUixRQUFROztTQUFSLFFBQVE7MkZBQVIsUUFBUTtrQkFEcEIsSUFBSTttQkFBQyxFQUFFLElBQUksRUFBRSxPQUFPLEVBQUUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBQaXBlLCBQaXBlVHJhbnNmb3JtIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmltcG9ydCB7IGZvcm1hdCwgZm9ybWF0RGlzdGFuY2VUb05vdyB9IGZyb20gJ2RhdGUtZm5zJztcblxuaW1wb3J0IHsgdG9EYXRlIH0gZnJvbSAnQGRlbG9uL3V0aWwvZGF0ZS10aW1lJztcbmltcG9ydCB0eXBlIHsgTnpTYWZlQW55IH0gZnJvbSAnbmctem9ycm8tYW50ZC9jb3JlL3R5cGVzJztcbmltcG9ydCB7IE56STE4blNlcnZpY2UgfSBmcm9tICduZy16b3Jyby1hbnRkL2kxOG4nO1xuXG5AUGlwZSh7IG5hbWU6ICdfZGF0ZScgfSlcbmV4cG9ydCBjbGFzcyBEYXRlUGlwZSBpbXBsZW1lbnRzIFBpcGVUcmFuc2Zvcm0ge1xuICBjb25zdHJ1Y3Rvcihwcml2YXRlIG56STE4bjogTnpJMThuU2VydmljZSkge31cblxuICB0cmFuc2Zvcm0odmFsdWU6IERhdGUgfCBzdHJpbmcgfCBudW1iZXIsIGZvcm1hdFN0cmluZzogc3RyaW5nID0gJ3l5eXktTU0tZGQgSEg6bW0nKTogc3RyaW5nIHtcbiAgICB2YWx1ZSA9IHRvRGF0ZSh2YWx1ZSk7XG4gICAgaWYgKGlzTmFOKHZhbHVlIGFzIE56U2FmZUFueSkpIHJldHVybiAnJztcblxuICAgIGNvbnN0IGxhbmdPcHQgPSB7IGxvY2FsZTogdGhpcy5uekkxOG4uZ2V0RGF0ZUxvY2FsZSgpIH07XG4gICAgcmV0dXJuIGZvcm1hdFN0cmluZyA9PT0gJ2ZuJyA/IGZvcm1hdERpc3RhbmNlVG9Ob3codmFsdWUsIGxhbmdPcHQpIDogZm9ybWF0KHZhbHVlLCBmb3JtYXRTdHJpbmcsIGxhbmdPcHQpO1xuICB9XG59XG4iXX0=
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import { Pipe } from '@angular/core';
|
|
2
|
+
import * as i0 from "@angular/core";
|
|
3
|
+
/**
|
|
4
|
+
* [Document](https://ng-alain.com/theme/keys)
|
|
5
|
+
*/
|
|
6
|
+
class KeysPipe {
|
|
7
|
+
transform(value, keyIsNumber = false) {
|
|
8
|
+
const ret = [];
|
|
9
|
+
Object.keys(value).forEach(key => {
|
|
10
|
+
ret.push({ key: keyIsNumber ? +key : key, value: value[key] });
|
|
11
|
+
});
|
|
12
|
+
return ret;
|
|
13
|
+
}
|
|
14
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.4", ngImport: i0, type: KeysPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe }); }
|
|
15
|
+
static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "16.0.4", ngImport: i0, type: KeysPipe, name: "keys" }); }
|
|
16
|
+
}
|
|
17
|
+
export { KeysPipe };
|
|
18
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.4", ngImport: i0, type: KeysPipe, decorators: [{
|
|
19
|
+
type: Pipe,
|
|
20
|
+
args: [{ name: 'keys' }]
|
|
21
|
+
}] });
|
|
22
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoia2V5cy5waXBlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvdGhlbWUvc3JjL3BpcGVzL2tleXMva2V5cy5waXBlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxJQUFJLEVBQWlCLE1BQU0sZUFBZSxDQUFDOztBQUlwRDs7R0FFRztBQUNILE1BQ2EsUUFBUTtJQUNuQixTQUFTLENBQUMsS0FBZ0IsRUFBRSxjQUF1QixLQUFLO1FBQ3RELE1BQU0sR0FBRyxHQUFnQixFQUFFLENBQUM7UUFDNUIsTUFBTSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLEVBQUU7WUFDL0IsR0FBRyxDQUFDLElBQUksQ0FBQyxFQUFFLEdBQUcsRUFBRSxXQUFXLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxHQUFHLEVBQUUsS0FBSyxFQUFFLEtBQUssQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUM7UUFDakUsQ0FBQyxDQUFDLENBQUM7UUFDSCxPQUFPLEdBQUcsQ0FBQztJQUNiLENBQUM7OEdBUFUsUUFBUTs0R0FBUixRQUFROztTQUFSLFFBQVE7MkZBQVIsUUFBUTtrQkFEcEIsSUFBSTttQkFBQyxFQUFFLElBQUksRUFBRSxNQUFNLEVBQUUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBQaXBlLCBQaXBlVHJhbnNmb3JtIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmltcG9ydCB0eXBlIHsgTnpTYWZlQW55IH0gZnJvbSAnbmctem9ycm8tYW50ZC9jb3JlL3R5cGVzJztcblxuLyoqXG4gKiBbRG9jdW1lbnRdKGh0dHBzOi8vbmctYWxhaW4uY29tL3RoZW1lL2tleXMpXG4gKi9cbkBQaXBlKHsgbmFtZTogJ2tleXMnIH0pXG5leHBvcnQgY2xhc3MgS2V5c1BpcGUgaW1wbGVtZW50cyBQaXBlVHJhbnNmb3JtIHtcbiAgdHJhbnNmb3JtKHZhbHVlOiBOelNhZmVBbnksIGtleUlzTnVtYmVyOiBib29sZWFuID0gZmFsc2UpOiBOelNhZmVBbnlbXSB7XG4gICAgY29uc3QgcmV0OiBOelNhZmVBbnlbXSA9IFtdO1xuICAgIE9iamVjdC5rZXlzKHZhbHVlKS5mb3JFYWNoKGtleSA9PiB7XG4gICAgICByZXQucHVzaCh7IGtleToga2V5SXNOdW1iZXIgPyAra2V5IDoga2V5LCB2YWx1ZTogdmFsdWVba2V5XSB9KTtcbiAgICB9KTtcbiAgICByZXR1cm4gcmV0O1xuICB9XG59XG4iXX0=
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import { Pipe } from '@angular/core';
|
|
2
|
+
import * as i0 from "@angular/core";
|
|
3
|
+
import * as i1 from "@angular/platform-browser";
|
|
4
|
+
class HTMLPipe {
|
|
5
|
+
constructor(dom) {
|
|
6
|
+
this.dom = dom;
|
|
7
|
+
}
|
|
8
|
+
transform(html) {
|
|
9
|
+
return html ? this.dom.bypassSecurityTrustHtml(html) : '';
|
|
10
|
+
}
|
|
11
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.4", ngImport: i0, type: HTMLPipe, deps: [{ token: i1.DomSanitizer }], target: i0.ɵɵFactoryTarget.Pipe }); }
|
|
12
|
+
static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "16.0.4", ngImport: i0, type: HTMLPipe, name: "html" }); }
|
|
13
|
+
}
|
|
14
|
+
export { HTMLPipe };
|
|
15
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.4", ngImport: i0, type: HTMLPipe, decorators: [{
|
|
16
|
+
type: Pipe,
|
|
17
|
+
args: [{ name: 'html' }]
|
|
18
|
+
}], ctorParameters: function () { return [{ type: i1.DomSanitizer }]; } });
|
|
19
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaHRtbC5waXBlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvdGhlbWUvc3JjL3BpcGVzL3NhZmUvaHRtbC5waXBlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxJQUFJLEVBQWlCLE1BQU0sZUFBZSxDQUFDOzs7QUFHcEQsTUFDYSxRQUFRO0lBQ25CLFlBQW9CLEdBQWlCO1FBQWpCLFFBQUcsR0FBSCxHQUFHLENBQWM7SUFBRyxDQUFDO0lBRXpDLFNBQVMsQ0FBQyxJQUFZO1FBQ3BCLE9BQU8sSUFBSSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLHVCQUF1QixDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUM7SUFDNUQsQ0FBQzs4R0FMVSxRQUFROzRHQUFSLFFBQVE7O1NBQVIsUUFBUTsyRkFBUixRQUFRO2tCQURwQixJQUFJO21CQUFDLEVBQUUsSUFBSSxFQUFFLE1BQU0sRUFBRSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFBpcGUsIFBpcGVUcmFuc2Zvcm0gfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IERvbVNhbml0aXplciwgU2FmZUh0bWwgfSBmcm9tICdAYW5ndWxhci9wbGF0Zm9ybS1icm93c2VyJztcblxuQFBpcGUoeyBuYW1lOiAnaHRtbCcgfSlcbmV4cG9ydCBjbGFzcyBIVE1MUGlwZSBpbXBsZW1lbnRzIFBpcGVUcmFuc2Zvcm0ge1xuICBjb25zdHJ1Y3Rvcihwcml2YXRlIGRvbTogRG9tU2FuaXRpemVyKSB7fVxuXG4gIHRyYW5zZm9ybShodG1sOiBzdHJpbmcpOiBzdHJpbmcgfCBTYWZlSHRtbCB7XG4gICAgcmV0dXJuIGh0bWwgPyB0aGlzLmRvbS5ieXBhc3NTZWN1cml0eVRydXN0SHRtbChodG1sKSA6ICcnO1xuICB9XG59XG4iXX0=
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import { Pipe } from '@angular/core';
|
|
2
|
+
import * as i0 from "@angular/core";
|
|
3
|
+
import * as i1 from "@angular/platform-browser";
|
|
4
|
+
class URLPipe {
|
|
5
|
+
constructor(dom) {
|
|
6
|
+
this.dom = dom;
|
|
7
|
+
}
|
|
8
|
+
transform(url) {
|
|
9
|
+
return url ? this.dom.bypassSecurityTrustUrl(url) : '';
|
|
10
|
+
}
|
|
11
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.4", ngImport: i0, type: URLPipe, deps: [{ token: i1.DomSanitizer }], target: i0.ɵɵFactoryTarget.Pipe }); }
|
|
12
|
+
static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "16.0.4", ngImport: i0, type: URLPipe, name: "url" }); }
|
|
13
|
+
}
|
|
14
|
+
export { URLPipe };
|
|
15
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.4", ngImport: i0, type: URLPipe, decorators: [{
|
|
16
|
+
type: Pipe,
|
|
17
|
+
args: [{ name: 'url' }]
|
|
18
|
+
}], ctorParameters: function () { return [{ type: i1.DomSanitizer }]; } });
|
|
19
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXJsLnBpcGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy90aGVtZS9zcmMvcGlwZXMvc2FmZS91cmwucGlwZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsSUFBSSxFQUFpQixNQUFNLGVBQWUsQ0FBQzs7O0FBR3BELE1BQ2EsT0FBTztJQUNsQixZQUFvQixHQUFpQjtRQUFqQixRQUFHLEdBQUgsR0FBRyxDQUFjO0lBQUcsQ0FBQztJQUV6QyxTQUFTLENBQUMsR0FBVztRQUNuQixPQUFPLEdBQUcsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxzQkFBc0IsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDO0lBQ3pELENBQUM7OEdBTFUsT0FBTzs0R0FBUCxPQUFPOztTQUFQLE9BQU87MkZBQVAsT0FBTztrQkFEbkIsSUFBSTttQkFBQyxFQUFFLElBQUksRUFBRSxLQUFLLEVBQUUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBQaXBlLCBQaXBlVHJhbnNmb3JtIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBEb21TYW5pdGl6ZXIsIFNhZmVVcmwgfSBmcm9tICdAYW5ndWxhci9wbGF0Zm9ybS1icm93c2VyJztcblxuQFBpcGUoeyBuYW1lOiAndXJsJyB9KVxuZXhwb3J0IGNsYXNzIFVSTFBpcGUgaW1wbGVtZW50cyBQaXBlVHJhbnNmb3JtIHtcbiAgY29uc3RydWN0b3IocHJpdmF0ZSBkb206IERvbVNhbml0aXplcikge31cblxuICB0cmFuc2Zvcm0odXJsOiBzdHJpbmcpOiBzdHJpbmcgfCBTYWZlVXJsIHtcbiAgICByZXR1cm4gdXJsID8gdGhpcy5kb20uYnlwYXNzU2VjdXJpdHlUcnVzdFVybCh1cmwpIDogJyc7XG4gIH1cbn1cbiJdfQ==
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
import { Pipe } from '@angular/core';
|
|
2
|
+
import * as i0 from "@angular/core";
|
|
3
|
+
import * as i1 from "@angular/platform-browser";
|
|
4
|
+
const ICON_YES = `<svg viewBox="64 64 896 896" fill="currentColor" width="1em" height="1em" aria-hidden="true"><path d="M912 190h-69.9c-9.8 0-19.1 4.5-25.1 12.2L404.7 724.5 207 474a32 32 0 0 0-25.1-12.2H112c-6.7 0-10.4 7.7-6.3 12.9l273.9 347c12.8 16.2 37.4 16.2 50.3 0l488.4-618.9c4.1-5.1.4-12.8-6.3-12.8z"></path></svg>`;
|
|
5
|
+
const ICON_NO = `<svg viewBox="64 64 896 896" fill="currentColor" width="1em" height="1em" aria-hidden="true"><path d="M563.8 512l262.5-312.9c4.4-5.2.7-13.1-6.1-13.1h-79.8c-4.7 0-9.2 2.1-12.3 5.7L511.6 449.8 295.1 191.7c-3-3.6-7.5-5.7-12.3-5.7H203c-6.8 0-10.5 7.9-6.1 13.1L459.4 512 196.9 824.9A7.95 7.95 0 0 0 203 838h79.8c4.7 0 9.2-2.1 12.3-5.7l216.5-258.1 216.5 258.1c3 3.6 7.5 5.7 12.3 5.7h79.8c6.8 0 10.5-7.9 6.1-13.1L563.8 512z"></path></svg>`;
|
|
6
|
+
const CLS_YES = `class="yn__yes"`;
|
|
7
|
+
const CLS_NO = `class="yn__no"`;
|
|
8
|
+
class YNPipe {
|
|
9
|
+
constructor(dom) {
|
|
10
|
+
this.dom = dom;
|
|
11
|
+
}
|
|
12
|
+
transform(value, yes, no, mode, isSafeHtml = true) {
|
|
13
|
+
let html = '';
|
|
14
|
+
yes = yes || '是';
|
|
15
|
+
no = no || '否';
|
|
16
|
+
switch (mode) {
|
|
17
|
+
case 'full':
|
|
18
|
+
html = value
|
|
19
|
+
? `<i ${CLS_YES}>${ICON_YES}<span>${yes}</span></i>`
|
|
20
|
+
: `<i ${CLS_NO}>${ICON_NO}<span>${no}</span></i>`;
|
|
21
|
+
break;
|
|
22
|
+
case 'text':
|
|
23
|
+
html = value ? `<i ${CLS_YES}>${yes}</i>` : `<i ${CLS_NO}>${no}</i>`;
|
|
24
|
+
break;
|
|
25
|
+
default:
|
|
26
|
+
html = value ? `<i ${CLS_YES} title="${yes}">${ICON_YES}</i>` : `<i ${CLS_NO} title="${no}">${ICON_NO}</i>`;
|
|
27
|
+
break;
|
|
28
|
+
}
|
|
29
|
+
return isSafeHtml ? this.dom.bypassSecurityTrustHtml(html) : html;
|
|
30
|
+
}
|
|
31
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.4", ngImport: i0, type: YNPipe, deps: [{ token: i1.DomSanitizer }], target: i0.ɵɵFactoryTarget.Pipe }); }
|
|
32
|
+
static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "16.0.4", ngImport: i0, type: YNPipe, name: "yn" }); }
|
|
33
|
+
}
|
|
34
|
+
export { YNPipe };
|
|
35
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.4", ngImport: i0, type: YNPipe, decorators: [{
|
|
36
|
+
type: Pipe,
|
|
37
|
+
args: [{ name: 'yn' }]
|
|
38
|
+
}], ctorParameters: function () { return [{ type: i1.DomSanitizer }]; } });
|
|
39
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoieW4ucGlwZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL3RoZW1lL3NyYy9waXBlcy95bi95bi5waXBlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxJQUFJLEVBQWlCLE1BQU0sZUFBZSxDQUFDOzs7QUFLcEQsTUFBTSxRQUFRLEdBQUcsZ1RBQWdULENBQUM7QUFDbFUsTUFBTSxPQUFPLEdBQUcsaWJBQWliLENBQUM7QUFDbGMsTUFBTSxPQUFPLEdBQUcsaUJBQWlCLENBQUM7QUFDbEMsTUFBTSxNQUFNLEdBQUcsZ0JBQWdCLENBQUM7QUFFaEMsTUFDYSxNQUFNO0lBQ2pCLFlBQW9CLEdBQWlCO1FBQWpCLFFBQUcsR0FBSCxHQUFHLENBQWM7SUFBRyxDQUFDO0lBRXpDLFNBQVMsQ0FBQyxLQUFjLEVBQUUsR0FBWSxFQUFFLEVBQVcsRUFBRSxJQUFhLEVBQUUsYUFBc0IsSUFBSTtRQUM1RixJQUFJLElBQUksR0FBRyxFQUFFLENBQUM7UUFDZCxHQUFHLEdBQUcsR0FBRyxJQUFJLEdBQUcsQ0FBQztRQUNqQixFQUFFLEdBQUcsRUFBRSxJQUFJLEdBQUcsQ0FBQztRQUNmLFFBQVEsSUFBSSxFQUFFO1lBQ1osS0FBSyxNQUFNO2dCQUNULElBQUksR0FBRyxLQUFLO29CQUNWLENBQUMsQ0FBQyxNQUFNLE9BQU8sSUFBSSxRQUFRLFNBQVMsR0FBRyxhQUFhO29CQUNwRCxDQUFDLENBQUMsTUFBTSxNQUFNLElBQUksT0FBTyxTQUFTLEVBQUUsYUFBYSxDQUFDO2dCQUNwRCxNQUFNO1lBQ1IsS0FBSyxNQUFNO2dCQUNULElBQUksR0FBRyxLQUFLLENBQUMsQ0FBQyxDQUFDLE1BQU0sT0FBTyxJQUFJLEdBQUcsTUFBTSxDQUFDLENBQUMsQ0FBQyxNQUFNLE1BQU0sSUFBSSxFQUFFLE1BQU0sQ0FBQztnQkFDckUsTUFBTTtZQUNSO2dCQUNFLElBQUksR0FBRyxLQUFLLENBQUMsQ0FBQyxDQUFDLE1BQU0sT0FBTyxXQUFXLEdBQUcsS0FBSyxRQUFRLE1BQU0sQ0FBQyxDQUFDLENBQUMsTUFBTSxNQUFNLFdBQVcsRUFBRSxLQUFLLE9BQU8sTUFBTSxDQUFDO2dCQUM1RyxNQUFNO1NBQ1Q7UUFDRCxPQUFPLFVBQVUsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyx1QkFBdUIsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDO0lBQ3BFLENBQUM7OEdBckJVLE1BQU07NEdBQU4sTUFBTTs7U0FBTixNQUFNOzJGQUFOLE1BQU07a0JBRGxCLElBQUk7bUJBQUMsRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgUGlwZSwgUGlwZVRyYW5zZm9ybSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRG9tU2FuaXRpemVyLCBTYWZlSHRtbCB9IGZyb20gJ0Bhbmd1bGFyL3BsYXRmb3JtLWJyb3dzZXInO1xuXG5leHBvcnQgdHlwZSBZTk1vZGUgPSAnZnVsbCcgfCAnaWNvbicgfCAndGV4dCc7XG5cbmNvbnN0IElDT05fWUVTID0gYDxzdmcgdmlld0JveD1cIjY0IDY0IDg5NiA4OTZcIiBmaWxsPVwiY3VycmVudENvbG9yXCIgd2lkdGg9XCIxZW1cIiBoZWlnaHQ9XCIxZW1cIiBhcmlhLWhpZGRlbj1cInRydWVcIj48cGF0aCBkPVwiTTkxMiAxOTBoLTY5LjljLTkuOCAwLTE5LjEgNC41LTI1LjEgMTIuMkw0MDQuNyA3MjQuNSAyMDcgNDc0YTMyIDMyIDAgMCAwLTI1LjEtMTIuMkgxMTJjLTYuNyAwLTEwLjQgNy43LTYuMyAxMi45bDI3My45IDM0N2MxMi44IDE2LjIgMzcuNCAxNi4yIDUwLjMgMGw0ODguNC02MTguOWM0LjEtNS4xLjQtMTIuOC02LjMtMTIuOHpcIj48L3BhdGg+PC9zdmc+YDtcbmNvbnN0IElDT05fTk8gPSBgPHN2ZyB2aWV3Qm94PVwiNjQgNjQgODk2IDg5NlwiIGZpbGw9XCJjdXJyZW50Q29sb3JcIiB3aWR0aD1cIjFlbVwiIGhlaWdodD1cIjFlbVwiIGFyaWEtaGlkZGVuPVwidHJ1ZVwiPjxwYXRoIGQ9XCJNNTYzLjggNTEybDI2Mi41LTMxMi45YzQuNC01LjIuNy0xMy4xLTYuMS0xMy4xaC03OS44Yy00LjcgMC05LjIgMi4xLTEyLjMgNS43TDUxMS42IDQ0OS44IDI5NS4xIDE5MS43Yy0zLTMuNi03LjUtNS43LTEyLjMtNS43SDIwM2MtNi44IDAtMTAuNSA3LjktNi4xIDEzLjFMNDU5LjQgNTEyIDE5Ni45IDgyNC45QTcuOTUgNy45NSAwIDAgMCAyMDMgODM4aDc5LjhjNC43IDAgOS4yLTIuMSAxMi4zLTUuN2wyMTYuNS0yNTguMSAyMTYuNSAyNTguMWMzIDMuNiA3LjUgNS43IDEyLjMgNS43aDc5LjhjNi44IDAgMTAuNS03LjkgNi4xLTEzLjFMNTYzLjggNTEyelwiPjwvcGF0aD48L3N2Zz5gO1xuY29uc3QgQ0xTX1lFUyA9IGBjbGFzcz1cInluX195ZXNcImA7XG5jb25zdCBDTFNfTk8gPSBgY2xhc3M9XCJ5bl9fbm9cImA7XG5cbkBQaXBlKHsgbmFtZTogJ3luJyB9KVxuZXhwb3J0IGNsYXNzIFlOUGlwZSBpbXBsZW1lbnRzIFBpcGVUcmFuc2Zvcm0ge1xuICBjb25zdHJ1Y3Rvcihwcml2YXRlIGRvbTogRG9tU2FuaXRpemVyKSB7fVxuXG4gIHRyYW5zZm9ybSh2YWx1ZTogYm9vbGVhbiwgeWVzPzogc3RyaW5nLCBubz86IHN0cmluZywgbW9kZT86IFlOTW9kZSwgaXNTYWZlSHRtbDogYm9vbGVhbiA9IHRydWUpOiBTYWZlSHRtbCB7XG4gICAgbGV0IGh0bWwgPSAnJztcbiAgICB5ZXMgPSB5ZXMgfHwgJ+aYryc7XG4gICAgbm8gPSBubyB8fCAn5ZCmJztcbiAgICBzd2l0Y2ggKG1vZGUpIHtcbiAgICAgIGNhc2UgJ2Z1bGwnOlxuICAgICAgICBodG1sID0gdmFsdWVcbiAgICAgICAgICA/IGA8aSAke0NMU19ZRVN9PiR7SUNPTl9ZRVN9PHNwYW4+JHt5ZXN9PC9zcGFuPjwvaT5gXG4gICAgICAgICAgOiBgPGkgJHtDTFNfTk99PiR7SUNPTl9OT308c3Bhbj4ke25vfTwvc3Bhbj48L2k+YDtcbiAgICAgICAgYnJlYWs7XG4gICAgICBjYXNlICd0ZXh0JzpcbiAgICAgICAgaHRtbCA9IHZhbHVlID8gYDxpICR7Q0xTX1lFU30+JHt5ZXN9PC9pPmAgOiBgPGkgJHtDTFNfTk99PiR7bm99PC9pPmA7XG4gICAgICAgIGJyZWFrO1xuICAgICAgZGVmYXVsdDpcbiAgICAgICAgaHRtbCA9IHZhbHVlID8gYDxpICR7Q0xTX1lFU30gdGl0bGU9XCIke3llc31cIj4ke0lDT05fWUVTfTwvaT5gIDogYDxpICR7Q0xTX05PfSB0aXRsZT1cIiR7bm99XCI+JHtJQ09OX05PfTwvaT5gO1xuICAgICAgICBicmVhaztcbiAgICB9XG4gICAgcmV0dXJuIGlzU2FmZUh0bWwgPyB0aGlzLmRvbS5ieXBhc3NTZWN1cml0eVRydXN0SHRtbChodG1sKSA6IGh0bWw7XG4gIH1cbn1cbiJdfQ==
|