@alauda-fe/common 1.4.28-beta.5 → 1.4.28
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/core/constants/constants.d.ts +0 -3
- package/core/services/intercept-deactivate.service.d.ts +2 -2
- package/core/services/time.service.d.ts +2 -8
- package/esm2022/abnormal-page/abnormal-page.component.mjs +1 -1
- package/esm2022/array-form-table/form/component.mjs +1 -1
- package/esm2022/array-form-table/key-value-form/component.mjs +1 -1
- package/esm2022/array-form-table/key-value-table/component.mjs +1 -1
- package/esm2022/array-form-table/string-array-form/component.mjs +1 -1
- package/esm2022/async-data/error-page/component.mjs +1 -1
- package/esm2022/async-data/page-state/component.mjs +1 -1
- package/esm2022/business/notification-disabled-container/component.mjs +1 -1
- package/esm2022/business/resource-select/exports/cluster-list/component.mjs +1 -1
- package/esm2022/business/resource-select/exports/cluster-selector/component.mjs +1 -1
- package/esm2022/business/resource-select/exports/icon/component.mjs +1 -1
- package/esm2022/business/resource-select/exports/mesh-group-selector/component.mjs +1 -1
- package/esm2022/business/resource-select/exports/namespace-list/component.mjs +1 -1
- package/esm2022/business/resource-select/exports/namespace-page/component.mjs +1 -1
- package/esm2022/business/resource-select/exports/namespace-selector/component.mjs +1 -1
- package/esm2022/business/resource-select/exports/project-list/component.mjs +1 -1
- package/esm2022/business/resource-select/exports/project-page/component.mjs +1 -1
- package/esm2022/business/resource-select/exports/project-selector/component.mjs +1 -1
- package/esm2022/business/resource-select/internals/data-grid/component.mjs +1 -1
- package/esm2022/business/resource-select/internals/meshgroup-list/component.mjs +1 -1
- package/esm2022/business/resource-select/internals/no-data/component.mjs +1 -1
- package/esm2022/business/resource-select/internals/resource-dashboard/component.mjs +1 -1
- package/esm2022/business/resource-select/internals/selector-popup/component.mjs +1 -1
- package/esm2022/chart/common/axis/axis-label.component.mjs +1 -1
- package/esm2022/chart/common/axis/x-axis-ticks.component.mjs +1 -1
- package/esm2022/chart/common/axis/x-axis.component.mjs +1 -1
- package/esm2022/chart/common/axis/x-plot-lines.component.mjs +1 -1
- package/esm2022/chart/common/axis/y-axis-ticks.component.mjs +1 -1
- package/esm2022/chart/common/axis/y-axis.component.mjs +1 -1
- package/esm2022/chart/common/axis/y-plot-lines.component.mjs +1 -1
- package/esm2022/chart/common/chart/chart.component.mjs +1 -1
- package/esm2022/chart/common/legend/legend.component.mjs +1 -1
- package/esm2022/chart/common/range-area/range-area.component.mjs +1 -1
- package/esm2022/chart/common/reference-area/reference-area.component.mjs +1 -1
- package/esm2022/chart/common/series/area-series.component.mjs +1 -1
- package/esm2022/chart/common/series/bar-path.component.mjs +1 -1
- package/esm2022/chart/common/series/bar-series.component.mjs +1 -1
- package/esm2022/chart/common/series/line-series.component.mjs +1 -1
- package/esm2022/chart/common/tooltip/tooltip.component.mjs +1 -1
- package/esm2022/chart/custom-template/dropdown-legend.mjs +1 -1
- package/esm2022/code/code-display-dialog/component.mjs +1 -1
- package/esm2022/code/k8s-yaml-display-dialog/component.mjs +1 -1
- package/esm2022/code/resource-yaml-display/component.mjs +1 -1
- package/esm2022/code/resource-yaml-editor/component.mjs +1 -1
- package/esm2022/code/yaml-sidebar/component.mjs +1 -1
- package/esm2022/core/components/tree/node/component.mjs +1 -1
- package/esm2022/core/components/tree/tree/component.mjs +1 -1
- package/esm2022/core/constants/constants.mjs +1 -4
- package/esm2022/core/directives/readonly-field.directive.mjs +1 -1
- package/esm2022/core/guards/intercept-deactivate.guard.mjs +2 -2
- package/esm2022/core/services/intercept-deactivate.service.mjs +1 -1
- package/esm2022/core/services/time.service.mjs +36 -13
- package/esm2022/custom-columns-setting/component.mjs +1 -1
- package/esm2022/disabled-container/disabled-container.component.mjs +1 -1
- package/esm2022/editable/editable.component.mjs +1 -1
- package/esm2022/editable-text/component.mjs +1 -1
- package/esm2022/exec/placeholder/component.mjs +1 -1
- package/esm2022/exec/terminal/component.mjs +1 -1
- package/esm2022/exec/terminal-group/component.mjs +1 -1
- package/esm2022/feature-gate-forbidden/component/component.mjs +1 -1
- package/esm2022/form/errors-mapper/errors-mapper-component/component.mjs +1 -1
- package/esm2022/form/errors-mapper/errors-mapper.directive.mjs +1 -1
- package/esm2022/form/labels-editor/component.mjs +1 -1
- package/esm2022/form/taints-editor/component.mjs +1 -1
- package/esm2022/form/upload-file/component.mjs +1 -1
- package/esm2022/form/validators/strong-password/strong-password-tooltip/component.mjs +1 -1
- package/esm2022/graph-canvas/components/graph-actions.component.mjs +1 -1
- package/esm2022/graph-canvas/components/graph-canvas.component.mjs +1 -1
- package/esm2022/graph-canvas/components/graph-link.component.mjs +1 -1
- package/esm2022/graph-canvas/components/graph-links.component.mjs +1 -1
- package/esm2022/grid-layout/components/grid/component.mjs +1 -1
- package/esm2022/grid-layout/components/grid-items/component.mjs +1 -1
- package/esm2022/help-document/component.mjs +1 -1
- package/esm2022/k8s-resource-list/footer/component.mjs +1 -1
- package/esm2022/k8s-shared/resource-mark/k8s-resource-mark.component.mjs +1 -1
- package/esm2022/k8s-shared/update-description-dialog/component.mjs +1 -1
- package/esm2022/k8s-shared/update-display-name-dialog/component.mjs +1 -1
- package/esm2022/k8s-shared/update-key-value-dialog/component.mjs +1 -1
- package/esm2022/lazy-component/lazy-load-component.mjs +1 -1
- package/esm2022/license/license-error/component.mjs +1 -1
- package/esm2022/list-display/component.mjs +1 -1
- package/esm2022/metric-chart/metric-chart.component.mjs +1 -1
- package/esm2022/metric-chart/metric-time-pick.mjs +1 -1
- package/esm2022/multi-search/action-input/component.mjs +1 -1
- package/esm2022/multi-search/form/component.mjs +1 -1
- package/esm2022/multi-search/multi-search-tags/component.mjs +1 -1
- package/esm2022/mutable/mosaic/mosaic.component.mjs +1 -1
- package/esm2022/notification/feedback-notification/component.mjs +1 -1
- package/esm2022/overview-banner/overview-banner.component.mjs +1 -1
- package/esm2022/page-guard/component/component.mjs +1 -1
- package/esm2022/page-scaffold/navigation/breadcrumb/breadcrumb.component.mjs +1 -1
- package/esm2022/page-scaffold/navigation/nav-menu/nav-item-li/nav-item-li.component.mjs +1 -1
- package/esm2022/page-scaffold/navigation/nav-menu/nav-item-ul/nav-item-ul.component.mjs +1 -1
- package/esm2022/page-scaffold/navigation/nav-menu/nav-menu.component.mjs +1 -1
- package/esm2022/page-scaffold/page/notices/maintenance.component.mjs +1 -1
- package/esm2022/page-scaffold/page/notices/notice.component.mjs +1 -1
- package/esm2022/page-scaffold/page/page.component.mjs +1 -1
- package/esm2022/page-scaffold/page/page.module.mjs +6 -5
- package/esm2022/page-scaffold/page-header/account-menu/component/component.mjs +1 -1
- package/esm2022/page-scaffold/page-header/common-layout/namespace-select/component.mjs +1 -1
- package/esm2022/page-scaffold/page-header/common-layout/product-select/component.mjs +1 -1
- package/esm2022/page-scaffold/page-header/component.mjs +1 -1
- package/esm2022/page-scaffold/page-header/enterprise-support-status/component.mjs +1 -1
- package/esm2022/page-scaffold/page-header/header-notify/component/header-notify.component.mjs +1 -1
- package/esm2022/page-scaffold/page-header/header-notify/component/notification-list/notification-list.component.mjs +1 -1
- package/esm2022/page-scaffold/page-header/help-menu/component/component.mjs +1 -1
- package/esm2022/page-scaffold/page-header/help-menu/module.mjs +9 -8
- package/esm2022/pie-derivative-chart/donut-status/component.mjs +1 -1
- package/esm2022/pie-derivative-chart/radial-bar/radial-bar-chart.component.mjs +1 -1
- package/esm2022/pod-status/component.mjs +1 -1
- package/esm2022/searchable-selector/component.mjs +1 -1
- package/esm2022/skeleton/item/component.mjs +1 -1
- package/esm2022/skeleton/nav-skeleton/component.mjs +1 -1
- package/esm2022/table/component.mjs +1 -1
- package/esm2022/table/module.mjs +12 -11
- package/esm2022/translate/constants.mjs +1 -2
- package/esm2022/translate/intl-format.pipes.mjs +293 -0
- package/esm2022/translate/public-api.mjs +4 -3
- package/esm2022/translate/relative-time-manager.service.mjs +87 -0
- package/esm2022/translate/translate.directive.mjs +5 -4
- package/esm2022/translate/translate.module.mjs +22 -3
- package/esm2022/translate/translate.pipe.mjs +7 -8
- package/esm2022/translate/translate.service.mjs +721 -142
- package/esm2022/translate/types.mjs +1 -1
- package/esm2022/view-chart/custom-template/dropdown-legend.mjs +1 -1
- package/esm2022/view-chart/legend/legend.component.mjs +1 -1
- package/esm2022/view-chart/view-chart.component.mjs +1 -1
- package/esm2022/view-zchart/custom-template/dropdown-legend.mjs +1 -1
- package/esm2022/view-zchart/legend/legend.component.mjs +1 -1
- package/esm2022/view-zchart/view-zchart.component.mjs +1 -1
- package/esm2022/widget/card-section/card-section.component.mjs +1 -1
- package/esm2022/widget/confirm-delete/confirm-delete.component.mjs +1 -1
- package/esm2022/widget/current-time/component.mjs +1 -1
- package/esm2022/widget/date-range-picker/component.mjs +1 -1
- package/esm2022/widget/field-set/column/component.mjs +2 -2
- package/esm2022/widget/field-set/group/component.mjs +1 -1
- package/esm2022/widget/field-set/item/component.mjs +1 -1
- package/esm2022/widget/foldable-block/component.mjs +1 -1
- package/esm2022/widget/foldable-item-in-table/component.mjs +1 -1
- package/esm2022/widget/loading-mask/loading-mask.component.mjs +1 -1
- package/esm2022/widget/password-input/component.mjs +1 -1
- package/esm2022/widget/relative-time/component.mjs +1 -1
- package/esm2022/widget/resource-label/component.mjs +1 -1
- package/esm2022/widget/resource-multi-select/component.mjs +1 -1
- package/esm2022/widget/search-panel/component.mjs +1 -1
- package/esm2022/widget/search-panel/search-item/component.mjs +1 -1
- package/esm2022/widget/status-icon/status-icon.component.mjs +1 -1
- package/esm2022/widget/tags-label/component.mjs +1 -1
- package/esm2022/widget/terminating-tag/component.mjs +1 -1
- package/esm2022/widget/text-ellipsis/component.mjs +1 -1
- package/esm2022/widget/text-with-url/component.mjs +1 -1
- package/esm2022/widget/zero-state/zero-state.component.mjs +1 -1
- package/esm2022/workload-status-icon/component.mjs +1 -1
- package/esm2022/xterm/xterm-terminal/xterm-terminal.component.mjs +1 -1
- package/esm2022/xterm/xterm.component.mjs +1 -1
- package/package.json +2 -2
- package/page-scaffold/page/page.module.d.ts +4 -3
- package/page-scaffold/page-header/help-menu/module.d.ts +2 -1
- package/table/component.d.ts +1 -1
- package/table/module.d.ts +2 -1
- package/translate/intl-format.pipes.d.ts +122 -0
- package/translate/public-api.d.ts +3 -2
- package/translate/relative-time-manager.service.d.ts +32 -0
- package/translate/translate.module.d.ts +4 -2
- package/translate/translate.pipe.d.ts +4 -5
- package/translate/translate.service.d.ts +292 -20
- package/translate/types.d.ts +16 -0
- package/code/resource-yaml-display/schema/component.d.ts +0 -61
- package/code/yaml-sidebar/yaml-examples.d.ts +0 -8
- package/esm2022/code/resource-yaml-display/schema/component.mjs +0 -531
- package/esm2022/code/yaml-sidebar/yaml-examples.mjs +0 -340
|
@@ -0,0 +1,87 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @packageDocumentation
|
|
3
|
+
* @module translate
|
|
4
|
+
*/
|
|
5
|
+
import { Injectable } from '@angular/core';
|
|
6
|
+
import { Subject } from 'rxjs';
|
|
7
|
+
import * as i0 from "@angular/core";
|
|
8
|
+
/**
|
|
9
|
+
* 相对时间管理器服务
|
|
10
|
+
*
|
|
11
|
+
* 用于优化大量相对时间显示的性能,通过共享定时器避免创建过多独立计时器。
|
|
12
|
+
* 当页面存在大量相对时间显示时,使用统一的刷新频率来批量更新所有实例。
|
|
13
|
+
*/
|
|
14
|
+
export class RelativeTimeManagerService {
|
|
15
|
+
constructor() {
|
|
16
|
+
this.refreshSubjects = new Map();
|
|
17
|
+
this.timers = new Map();
|
|
18
|
+
}
|
|
19
|
+
/**
|
|
20
|
+
* 获取指定刷新间隔的 Subject
|
|
21
|
+
* 多个 pipe 实例可以共享同一个刷新频率
|
|
22
|
+
*/
|
|
23
|
+
getRefreshSubject(interval) {
|
|
24
|
+
let subject = this.refreshSubjects.get(interval);
|
|
25
|
+
if (!subject) {
|
|
26
|
+
subject = new Subject();
|
|
27
|
+
this.refreshSubjects.set(interval, subject);
|
|
28
|
+
this.startTimer(interval);
|
|
29
|
+
}
|
|
30
|
+
return subject;
|
|
31
|
+
}
|
|
32
|
+
/**
|
|
33
|
+
* 释放指定间隔的订阅
|
|
34
|
+
* 当没有 pipe 实例使用时,自动清理定时器
|
|
35
|
+
*/
|
|
36
|
+
releaseRefreshSubject(interval) {
|
|
37
|
+
const subject = this.refreshSubjects.get(interval);
|
|
38
|
+
if (subject && !subject.observed) {
|
|
39
|
+
this.stopTimer(interval);
|
|
40
|
+
subject.complete();
|
|
41
|
+
this.refreshSubjects.delete(interval);
|
|
42
|
+
}
|
|
43
|
+
}
|
|
44
|
+
startTimer(interval) {
|
|
45
|
+
if (this.timers.has(interval)) {
|
|
46
|
+
return; // 定时器已存在
|
|
47
|
+
}
|
|
48
|
+
const timerId = window.setInterval(() => {
|
|
49
|
+
const subject = this.refreshSubjects.get(interval);
|
|
50
|
+
if (subject?.observed) {
|
|
51
|
+
subject.next();
|
|
52
|
+
}
|
|
53
|
+
else {
|
|
54
|
+
// 没有订阅者时自动清理
|
|
55
|
+
this.stopTimer(interval);
|
|
56
|
+
if (subject) {
|
|
57
|
+
subject.complete();
|
|
58
|
+
this.refreshSubjects.delete(interval);
|
|
59
|
+
}
|
|
60
|
+
}
|
|
61
|
+
}, interval);
|
|
62
|
+
this.timers.set(interval, timerId);
|
|
63
|
+
}
|
|
64
|
+
stopTimer(interval) {
|
|
65
|
+
const timerId = this.timers.get(interval);
|
|
66
|
+
if (timerId !== undefined) {
|
|
67
|
+
clearInterval(timerId);
|
|
68
|
+
this.timers.delete(interval);
|
|
69
|
+
}
|
|
70
|
+
}
|
|
71
|
+
ngOnDestroy() {
|
|
72
|
+
// 清理所有定时器和 subjects
|
|
73
|
+
this.timers.forEach(timerId => clearInterval(timerId));
|
|
74
|
+
this.timers.clear();
|
|
75
|
+
this.refreshSubjects.forEach(subject => subject.complete());
|
|
76
|
+
this.refreshSubjects.clear();
|
|
77
|
+
}
|
|
78
|
+
static { this.ɵfac = function RelativeTimeManagerService_Factory(t) { return new (t || RelativeTimeManagerService)(); }; }
|
|
79
|
+
static { this.ɵprov = /*@__PURE__*/ i0.ɵɵdefineInjectable({ token: RelativeTimeManagerService, factory: RelativeTimeManagerService.ɵfac, providedIn: 'root' }); }
|
|
80
|
+
}
|
|
81
|
+
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(RelativeTimeManagerService, [{
|
|
82
|
+
type: Injectable,
|
|
83
|
+
args: [{
|
|
84
|
+
providedIn: 'root',
|
|
85
|
+
}]
|
|
86
|
+
}], null, null); })();
|
|
87
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVsYXRpdmUtdGltZS1tYW5hZ2VyLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9saWJzL2NvbW1vbi9zcmMvdHJhbnNsYXRlL3JlbGF0aXZlLXRpbWUtbWFuYWdlci5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7R0FHRztBQUVILE9BQU8sRUFBRSxVQUFVLEVBQWEsTUFBTSxlQUFlLENBQUM7QUFDdEQsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLE1BQU0sQ0FBQzs7QUFFL0I7Ozs7O0dBS0c7QUFJSCxNQUFNLE9BQU8sMEJBQTBCO0lBSHZDO1FBSW1CLG9CQUFlLEdBQUcsSUFBSSxHQUFHLEVBQXlCLENBQUM7UUFDbkQsV0FBTSxHQUFHLElBQUksR0FBRyxFQUFrQixDQUFDO0tBcUVyRDtJQW5FQzs7O09BR0c7SUFDSCxpQkFBaUIsQ0FBQyxRQUFnQjtRQUNoQyxJQUFJLE9BQU8sR0FBRyxJQUFJLENBQUMsZUFBZSxDQUFDLEdBQUcsQ0FBQyxRQUFRLENBQUMsQ0FBQztRQUVqRCxJQUFJLENBQUMsT0FBTyxFQUFFLENBQUM7WUFDYixPQUFPLEdBQUcsSUFBSSxPQUFPLEVBQVEsQ0FBQztZQUM5QixJQUFJLENBQUMsZUFBZSxDQUFDLEdBQUcsQ0FBQyxRQUFRLEVBQUUsT0FBTyxDQUFDLENBQUM7WUFDNUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxRQUFRLENBQUMsQ0FBQztRQUM1QixDQUFDO1FBRUQsT0FBTyxPQUFPLENBQUM7SUFDakIsQ0FBQztJQUVEOzs7T0FHRztJQUNILHFCQUFxQixDQUFDLFFBQWdCO1FBQ3BDLE1BQU0sT0FBTyxHQUFHLElBQUksQ0FBQyxlQUFlLENBQUMsR0FBRyxDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBQ25ELElBQUksT0FBTyxJQUFJLENBQUMsT0FBTyxDQUFDLFFBQVEsRUFBRSxDQUFDO1lBQ2pDLElBQUksQ0FBQyxTQUFTLENBQUMsUUFBUSxDQUFDLENBQUM7WUFDekIsT0FBTyxDQUFDLFFBQVEsRUFBRSxDQUFDO1lBQ25CLElBQUksQ0FBQyxlQUFlLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBQ3hDLENBQUM7SUFDSCxDQUFDO0lBRU8sVUFBVSxDQUFDLFFBQWdCO1FBQ2pDLElBQUksSUFBSSxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsUUFBUSxDQUFDLEVBQUUsQ0FBQztZQUM5QixPQUFPLENBQUMsU0FBUztRQUNuQixDQUFDO1FBRUQsTUFBTSxPQUFPLEdBQUcsTUFBTSxDQUFDLFdBQVcsQ0FBQyxHQUFHLEVBQUU7WUFDdEMsTUFBTSxPQUFPLEdBQUcsSUFBSSxDQUFDLGVBQWUsQ0FBQyxHQUFHLENBQUMsUUFBUSxDQUFDLENBQUM7WUFDbkQsSUFBSSxPQUFPLEVBQUUsUUFBUSxFQUFFLENBQUM7Z0JBQ3RCLE9BQU8sQ0FBQyxJQUFJLEVBQUUsQ0FBQztZQUNqQixDQUFDO2lCQUFNLENBQUM7Z0JBQ04sYUFBYTtnQkFDYixJQUFJLENBQUMsU0FBUyxDQUFDLFFBQVEsQ0FBQyxDQUFDO2dCQUN6QixJQUFJLE9BQU8sRUFBRSxDQUFDO29CQUNaLE9BQU8sQ0FBQyxRQUFRLEVBQUUsQ0FBQztvQkFDbkIsSUFBSSxDQUFDLGVBQWUsQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFDLENBQUM7Z0JBQ3hDLENBQUM7WUFDSCxDQUFDO1FBQ0gsQ0FBQyxFQUFFLFFBQVEsQ0FBQyxDQUFDO1FBRWIsSUFBSSxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsUUFBUSxFQUFFLE9BQU8sQ0FBQyxDQUFDO0lBQ3JDLENBQUM7SUFFTyxTQUFTLENBQUMsUUFBZ0I7UUFDaEMsTUFBTSxPQUFPLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsUUFBUSxDQUFDLENBQUM7UUFDMUMsSUFBSSxPQUFPLEtBQUssU0FBUyxFQUFFLENBQUM7WUFDMUIsYUFBYSxDQUFDLE9BQU8sQ0FBQyxDQUFDO1lBQ3ZCLElBQUksQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBQy9CLENBQUM7SUFDSCxDQUFDO0lBRUQsV0FBVztRQUNULG9CQUFvQjtRQUNwQixJQUFJLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUMsRUFBRSxDQUFDLGFBQWEsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDO1FBQ3ZELElBQUksQ0FBQyxNQUFNLENBQUMsS0FBSyxFQUFFLENBQUM7UUFFcEIsSUFBSSxDQUFDLGVBQWUsQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDLEVBQUUsQ0FBQyxPQUFPLENBQUMsUUFBUSxFQUFFLENBQUMsQ0FBQztRQUM1RCxJQUFJLENBQUMsZUFBZSxDQUFDLEtBQUssRUFBRSxDQUFDO0lBQy9CLENBQUM7MkZBdEVVLDBCQUEwQjt1RUFBMUIsMEJBQTBCLFdBQTFCLDBCQUEwQixtQkFGekIsTUFBTTs7aUZBRVAsMEJBQTBCO2NBSHRDLFVBQVU7ZUFBQztnQkFDVixVQUFVLEVBQUUsTUFBTTthQUNuQiIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogQHBhY2thZ2VEb2N1bWVudGF0aW9uXG4gKiBAbW9kdWxlIHRyYW5zbGF0ZVxuICovXG5cbmltcG9ydCB7IEluamVjdGFibGUsIE9uRGVzdHJveSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgU3ViamVjdCB9IGZyb20gJ3J4anMnO1xuXG4vKipcbiAqIOebuOWvueaXtumXtOeuoeeQhuWZqOacjeWKoVxuICpcbiAqIOeUqOS6juS8mOWMluWkp+mHj+ebuOWvueaXtumXtOaYvuekuueahOaAp+iDve+8jOmAmui/h+WFseS6q+WumuaXtuWZqOmBv+WFjeWIm+W7uui/h+WkmueLrOeri+iuoeaXtuWZqOOAglxuICog5b2T6aG16Z2i5a2Y5Zyo5aSn6YeP55u45a+55pe26Ze05pi+56S65pe277yM5L2/55So57uf5LiA55qE5Yi35paw6aKR546H5p2l5om56YeP5pu05paw5omA5pyJ5a6e5L6L44CCXG4gKi9cbkBJbmplY3RhYmxlKHtcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnLFxufSlcbmV4cG9ydCBjbGFzcyBSZWxhdGl2ZVRpbWVNYW5hZ2VyU2VydmljZSBpbXBsZW1lbnRzIE9uRGVzdHJveSB7XG4gIHByaXZhdGUgcmVhZG9ubHkgcmVmcmVzaFN1YmplY3RzID0gbmV3IE1hcDxudW1iZXIsIFN1YmplY3Q8dm9pZD4+KCk7XG4gIHByaXZhdGUgcmVhZG9ubHkgdGltZXJzID0gbmV3IE1hcDxudW1iZXIsIG51bWJlcj4oKTtcblxuICAvKipcbiAgICog6I635Y+W5oyH5a6a5Yi35paw6Ze06ZqU55qEIFN1YmplY3RcbiAgICog5aSa5LiqIHBpcGUg5a6e5L6L5Y+v5Lul5YWx5Lqr5ZCM5LiA5Liq5Yi35paw6aKR546HXG4gICAqL1xuICBnZXRSZWZyZXNoU3ViamVjdChpbnRlcnZhbDogbnVtYmVyKTogU3ViamVjdDx2b2lkPiB7XG4gICAgbGV0IHN1YmplY3QgPSB0aGlzLnJlZnJlc2hTdWJqZWN0cy5nZXQoaW50ZXJ2YWwpO1xuXG4gICAgaWYgKCFzdWJqZWN0KSB7XG4gICAgICBzdWJqZWN0ID0gbmV3IFN1YmplY3Q8dm9pZD4oKTtcbiAgICAgIHRoaXMucmVmcmVzaFN1YmplY3RzLnNldChpbnRlcnZhbCwgc3ViamVjdCk7XG4gICAgICB0aGlzLnN0YXJ0VGltZXIoaW50ZXJ2YWwpO1xuICAgIH1cblxuICAgIHJldHVybiBzdWJqZWN0O1xuICB9XG5cbiAgLyoqXG4gICAqIOmHiuaUvuaMh+WumumXtOmalOeahOiuoumYhVxuICAgKiDlvZPmsqHmnIkgcGlwZSDlrp7kvovkvb/nlKjml7bvvIzoh6rliqjmuIXnkIblrprml7blmahcbiAgICovXG4gIHJlbGVhc2VSZWZyZXNoU3ViamVjdChpbnRlcnZhbDogbnVtYmVyKTogdm9pZCB7XG4gICAgY29uc3Qgc3ViamVjdCA9IHRoaXMucmVmcmVzaFN1YmplY3RzLmdldChpbnRlcnZhbCk7XG4gICAgaWYgKHN1YmplY3QgJiYgIXN1YmplY3Qub2JzZXJ2ZWQpIHtcbiAgICAgIHRoaXMuc3RvcFRpbWVyKGludGVydmFsKTtcbiAgICAgIHN1YmplY3QuY29tcGxldGUoKTtcbiAgICAgIHRoaXMucmVmcmVzaFN1YmplY3RzLmRlbGV0ZShpbnRlcnZhbCk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBzdGFydFRpbWVyKGludGVydmFsOiBudW1iZXIpOiB2b2lkIHtcbiAgICBpZiAodGhpcy50aW1lcnMuaGFzKGludGVydmFsKSkge1xuICAgICAgcmV0dXJuOyAvLyDlrprml7blmajlt7LlrZjlnKhcbiAgICB9XG5cbiAgICBjb25zdCB0aW1lcklkID0gd2luZG93LnNldEludGVydmFsKCgpID0+IHtcbiAgICAgIGNvbnN0IHN1YmplY3QgPSB0aGlzLnJlZnJlc2hTdWJqZWN0cy5nZXQoaW50ZXJ2YWwpO1xuICAgICAgaWYgKHN1YmplY3Q/Lm9ic2VydmVkKSB7XG4gICAgICAgIHN1YmplY3QubmV4dCgpO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgLy8g5rKh5pyJ6K6i6ZiF6ICF5pe26Ieq5Yqo5riF55CGXG4gICAgICAgIHRoaXMuc3RvcFRpbWVyKGludGVydmFsKTtcbiAgICAgICAgaWYgKHN1YmplY3QpIHtcbiAgICAgICAgICBzdWJqZWN0LmNvbXBsZXRlKCk7XG4gICAgICAgICAgdGhpcy5yZWZyZXNoU3ViamVjdHMuZGVsZXRlKGludGVydmFsKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH0sIGludGVydmFsKTtcblxuICAgIHRoaXMudGltZXJzLnNldChpbnRlcnZhbCwgdGltZXJJZCk7XG4gIH1cblxuICBwcml2YXRlIHN0b3BUaW1lcihpbnRlcnZhbDogbnVtYmVyKTogdm9pZCB7XG4gICAgY29uc3QgdGltZXJJZCA9IHRoaXMudGltZXJzLmdldChpbnRlcnZhbCk7XG4gICAgaWYgKHRpbWVySWQgIT09IHVuZGVmaW5lZCkge1xuICAgICAgY2xlYXJJbnRlcnZhbCh0aW1lcklkKTtcbiAgICAgIHRoaXMudGltZXJzLmRlbGV0ZShpbnRlcnZhbCk7XG4gICAgfVxuICB9XG5cbiAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgLy8g5riF55CG5omA5pyJ5a6a5pe25Zmo5ZKMIHN1YmplY3RzXG4gICAgdGhpcy50aW1lcnMuZm9yRWFjaCh0aW1lcklkID0+IGNsZWFySW50ZXJ2YWwodGltZXJJZCkpO1xuICAgIHRoaXMudGltZXJzLmNsZWFyKCk7XG5cbiAgICB0aGlzLnJlZnJlc2hTdWJqZWN0cy5mb3JFYWNoKHN1YmplY3QgPT4gc3ViamVjdC5jb21wbGV0ZSgpKTtcbiAgICB0aGlzLnJlZnJlc2hTdWJqZWN0cy5jbGVhcigpO1xuICB9XG59XG4iXX0=
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import { Directive, Host, Input, IterableDiffers, TemplateRef, ViewContainerRef, } from '@angular/core';
|
|
2
|
-
import { TEMPLATE_OPTIONS } from '../core/public-api';
|
|
3
2
|
import { TranslateService } from './translate.service';
|
|
4
3
|
import * as i0 from "@angular/core";
|
|
5
4
|
import * as i1 from "./translate.service";
|
|
5
|
+
const TEMPLATE_INTERPOLATE = /(\{\{([^}]+)\}\}|\{([^}]+)\})/g;
|
|
6
6
|
const placeholder = (val) => ({
|
|
7
7
|
type: 'placeholder',
|
|
8
8
|
val: val.trim(),
|
|
@@ -53,14 +53,15 @@ export class TranslateDirective {
|
|
|
53
53
|
if (content.length === 0) {
|
|
54
54
|
return [];
|
|
55
55
|
}
|
|
56
|
-
const matches = content.matchAll(
|
|
56
|
+
const matches = content.matchAll(TEMPLATE_INTERPOLATE);
|
|
57
57
|
const result = [];
|
|
58
58
|
let prevIndex = 0;
|
|
59
59
|
for (const match of matches) {
|
|
60
60
|
if (match.index > prevIndex) {
|
|
61
61
|
result.push(text(content.slice(prevIndex, match.index)));
|
|
62
62
|
}
|
|
63
|
-
|
|
63
|
+
const placeholderContent = match[2] || match[3];
|
|
64
|
+
result.push(placeholder(placeholderContent));
|
|
64
65
|
prevIndex = match.index + match[0].length;
|
|
65
66
|
}
|
|
66
67
|
if (prevIndex < content.length) {
|
|
@@ -161,4 +162,4 @@ export class TranslateTextDirective {
|
|
|
161
162
|
}], () => [{ type: i0.TemplateRef }, { type: TranslateDirective, decorators: [{
|
|
162
163
|
type: Host
|
|
163
164
|
}] }], null); })();
|
|
164
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJhbnNsYXRlLmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL2xpYnMvY29tbW9uL3NyYy90cmFuc2xhdGUvdHJhbnNsYXRlLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsU0FBUyxFQUVULElBQUksRUFDSixLQUFLLEVBR0wsZUFBZSxFQUNmLFdBQVcsRUFDWCxnQkFBZ0IsR0FDakIsTUFBTSxlQUFlLENBQUM7QUFHdkIsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFFdEQsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0scUJBQXFCLENBQUM7OztBQU92RCxNQUFNLFdBQVcsR0FBRyxDQUFDLEdBQVcsRUFBVSxFQUFFLENBQUMsQ0FBQztJQUM1QyxJQUFJLEVBQUUsYUFBYTtJQUNuQixHQUFHLEVBQUUsR0FBRyxDQUFDLElBQUksRUFBRTtDQUNoQixDQUFDLENBQUM7QUFDSCxNQUFNLElBQUksR0FBRyxDQUFDLEdBQVcsRUFBVSxFQUFFLENBQUMsQ0FBQyxFQUFFLElBQUksRUFBRSxNQUFNLEVBQUUsR0FBRyxFQUFFLENBQUMsQ0FBQztBQUU5RCxNQUFNLE9BQU8sYUFBYTtJQUN4QixZQUNrQixXQUE2QixFQUM3QixRQUFRLEVBQUU7UUFEVixnQkFBVyxHQUFYLFdBQVcsQ0FBa0I7UUFDN0IsVUFBSyxHQUFMLEtBQUssQ0FBSztJQUN6QixDQUFDO0lBRUosTUFBTTtRQUNKLE9BQU8sQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDO0lBQ3JCLENBQUM7Q0FDRjtBQUdELE1BQU0sT0FBTyxrQkFBa0I7SUFDN0IsWUFDbUIsYUFBK0IsRUFDL0IsU0FBMkIsRUFDM0IsT0FBd0I7UUFGeEIsa0JBQWEsR0FBYixhQUFhLENBQWtCO1FBQy9CLGNBQVMsR0FBVCxTQUFTLENBQWtCO1FBQzNCLFlBQU8sR0FBUCxPQUFPLENBQWlCO1FBWW5DLFVB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LFNBQVM7ZUFBQyxFQUFFLFFBQVEsRUFBRSxvQkFBb0IsRUFBRSxVQUFVLEVBQUUsSUFBSSxFQUFFOztzQkFJMUQsSUFBSSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIERpcmVjdGl2ZSxcbiAgRG9DaGVjayxcbiAgSG9zdCxcbiAgSW5wdXQsXG4gIEl0ZXJhYmxlQ2hhbmdlcyxcbiAgSXRlcmFibGVEaWZmZXIsXG4gIEl0ZXJhYmxlRGlmZmVycyxcbiAgVGVtcGxhdGVSZWYsXG4gIFZpZXdDb250YWluZXJSZWYsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRGljdGlvbmFyeSB9IGZyb20gJ3RzLWVzc2VudGlhbHMnO1xuXG5pbXBvcnQgeyBURU1QTEFURV9PUFRJT05TIH0gZnJvbSAnLi4vY29yZS9wdWJsaWMtYXBpJztcblxuaW1wb3J0IHsgVHJhbnNsYXRlU2VydmljZSB9IGZyb20gJy4vdHJhbnNsYXRlLnNlcnZpY2UnO1xuXG5pbnRlcmZhY2UgSW5saW5lIHtcbiAgdHlwZTogJ3BsYWNlaG9sZGVyJyB8ICd0ZXh0JztcbiAgdmFsOiBzdHJpbmc7XG59XG5cbmNvbnN0IHBsYWNlaG9sZGVyID0gKHZhbDogc3RyaW5nKTogSW5saW5lID0+ICh7XG4gIHR5cGU6ICdwbGFjZWhvbGRlcicsXG4gIHZhbDogdmFsLnRyaW0oKSxcbn0pO1xuY29uc3QgdGV4dCA9ICh2YWw6IHN0cmluZyk6IElubGluZSA9PiAoeyB0eXBlOiAndGV4dCcsIHZhbCB9KTtcblxuZXhwb3J0IGNsYXNzIFRyYW5zbGF0ZVZpZXcge1xuICBjb25zdHJ1Y3RvcihcbiAgICBwdWJsaWMgcmVhZG9ubHkgdGVtcGxhdGVSZWY6IFRlbXBsYXRlUmVmPGFueT4sXG4gICAgcHVibGljIHJlYWRvbmx5IG1hdGNoID0gJycsXG4gICkge31cblxuICBpc1RleHQoKSB7XG4gICAgcmV0dXJuICF0aGlzLm1hdGNoO1xuICB9XG59XG5cbkBEaXJlY3RpdmUoeyBzZWxlY3RvcjogJ1thY2xUcmFuc2xhdGVdJywgc3RhbmRhbG9uZTogdHJ1ZSB9KVxuZXhwb3J0IGNsYXNzIFRyYW5zbGF0ZURpcmVjdGl2ZSBpbXBsZW1lbnRzIERvQ2hlY2sge1xuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIHJlYWRvbmx5IHZpZXdDb250YWluZXI6IFZpZXdDb250YWluZXJSZWYsXG4gICAgcHJpdmF0ZSByZWFkb25seSB0cmFuc2xhdGU6IFRyYW5zbGF0ZVNlcnZpY2UsXG4gICAgcHJpdmF0ZSByZWFkb25seSBkaWZmZXJzOiBJdGVyYWJsZURpZmZlcnMsXG4gICkge31cblxuICBASW5wdXQoKSBzZXQgYWNsVHJhbnNsYXRlKGtleTogc3RyaW5nKSB7XG4gICAgdGhpcy50cmFuc2xhdGVLZXkgPSBrZXk7XG4gICAgdGhpcy5kaXJ0eSA9IHRydWU7XG4gIH1cblxuICB0cmFuc2xhdGVLZXk6IHN0cmluZyB8IERpY3Rpb25hcnk8c3RyaW5nPjtcblxuICBwcml2YXRlIGxvY2FsZTogc3RyaW5nO1xuXG4gIHByaXZhdGUgZGlydHkgPSBmYWxzZTtcblxuICBwcml2YXRlIHRleHRWaWV3OiBUcmFuc2xhdGVWaWV3O1xuXG4gIHByaXZhdGUgdmlld3M6IERpY3Rpb25hcnk8VHJhbnNsYXRlVmlldz4gPSB7fTtcblxuICBwcml2YXRlIGRpZmZlcjogSXRlcmFibGVEaWZmZXI8SW5saW5lPiB8IG51bGwgPSBudWxsO1xuXG4gIHByaXZhdGUgdmlld0luZGV4ZXM6IERpY3Rpb25hcnk8bnVtYmVyW10+ID0ge307XG5cbiAgcHJpdmF0ZSBpbmxpbmVzOiBJbmxpbmVbXTtcblxuICBpbmxpbmVUcmFja2VyID0gKGluZGV4OiBudW1iZXIsIGl0ZW06IElubGluZSkgPT5cbiAgICBpdGVtLnR5cGUgPT09ICd0ZXh0J1xuICAgICAgPyBgJHtpdGVtLnZhbH1fJHtpbmRleH1gXG4gICAgICA6IGAke2l0ZW0udmFsfV8ke2luZGV4fV8ke3RoaXMudmlld3NbaXRlbS52YWxdID8gJ2hhc192aWV3JyA6ICdub192aWV3J31gO1xuXG4gIG5nRG9DaGVjaygpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5kaXJ0eSB8fCB0aGlzLmxvY2FsZSAhPT0gdGhpcy50cmFuc2xhdGUubG9jYWxlKSB7XG4gICAgICB0aGlzLmxvY2FsZSA9IHRoaXMudHJhbnNsYXRlLmxvY2FsZTtcbiAgICAgIHRoaXMuaW5saW5lcyA9IHRoaXMuc2VwYXJhdGVDb250ZW50KFxuICAgICAgICB0aGlzLnRyYW5zbGF0ZS5nZXRSYXcodGhpcy50cmFuc2xhdGVLZXkpLFxuICAgICAgKTtcblxuICAgICAgaWYgKCF0aGlzLmRpZmZlcikge1xuICAgICAgICB0cnkge1xuICAgICAgICAgIHRoaXMuZGlmZmVyID0gdGhpcy5kaWZmZXJzLmZpbmQoW10pLmNyZWF0ZSh0aGlzLmlubGluZVRyYWNrZXIpO1xuICAgICAgICB9IGNhdGNoIHtcbiAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoYENhbm5vdCBmaW5kIGRpZmZlciBmb3IgdHJhbnNsYXRlIGRpcmVjdGl2ZSBpbmxpbmVzYCk7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgdGhpcy51cGRhdGUodGhpcy5pbmxpbmVzKTtcbiAgICB9XG4gIH1cblxuICBzZXBhcmF0ZUNvbnRlbnQoY29udGVudDogc3RyaW5nKSB7XG4gICAgaWYgKGNvbnRlbnQubGVuZ3RoID09PSAwKSB7XG4gICAgICByZXR1cm4gW107XG4gICAgfVxuXG4gICAgY29uc3QgbWF0Y2hlcyA9IGNvbnRlbnQubWF0Y2hBbGwoVEVNUExBVEVfT1BUSU9OUy5pbnRlcnBvbGF0ZSk7XG5cbiAgICBjb25zdCByZXN1bHQ6IElubGluZVtdID0gW107XG4gICAgbGV0IHByZXZJbmRleCA9IDA7XG5cbiAgICBmb3IgKGNvbnN0IG1hdGNoIG9mIG1hdGNoZXMpIHtcbiAgICAgIGlmIChtYXRjaC5pbmRleCA+IHByZXZJbmRleCkge1xuICAgICAgICByZXN1bHQucHVzaCh0ZXh0KGNvbnRlbnQuc2xpY2UocHJldkluZGV4LCBtYXRjaC5pbmRleCkpKTtcbiAgICAgIH1cblxuICAgICAgcmVzdWx0LnB1c2gocGxhY2Vob2xkZXIobWF0Y2hbMV0pKTtcblxuICAgICAgcHJldkluZGV4ID0gbWF0Y2guaW5kZXggKyBtYXRjaFswXS5sZW5ndGg7XG4gICAgfVxuXG4gICAgaWYgKHByZXZJbmRleCA8IGNvbnRlbnQubGVuZ3RoKSB7XG4gICAgICByZXN1bHQucHVzaCh0ZXh0KGNvbnRlbnQuc2xpY2UocHJldkluZGV4LCBjb250ZW50Lmxlbmd0aCkpKTtcbiAgICB9XG5cbiAgICByZXR1cm4gcmVzdWx0O1xuICB9XG5cbiAgcHJpdmF0ZSB1cGRhdGUoaW5saW5lczogSW5saW5lW10pIHtcbiAgICBpZiAoIXRoaXMudGV4dFZpZXcpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcihcbiAgICAgICAgJ3RyYW5zbGF0ZSBkaXJlY3RpdmUgbmVlZCBhY2xUcmFuc2xhdGVUZXh0IHRvIHJlbmRlciB0ZXh0JyxcbiAgICAgICk7XG4gICAgfVxuXG4gICAgaWYgKCF0aGlzLmRpZmZlcikge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGNvbnN0IGNoYW5nZXMgPSB0aGlzLmRpZmZlci5kaWZmKGlubGluZXMpO1xuXG4gICAgaWYgKCFjaGFuZ2VzKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgdGhpcy5hcHBseUNoYW5nZXMoY2hhbmdlcyk7XG5cbiAgICB0aGlzLmRpcnR5ID0gZmFsc2U7XG4gIH1cblxuICBwcml2YXRlIGFwcGx5Q2hhbmdlcyhjaGFuZ2VzOiBJdGVyYWJsZUNoYW5nZXM8SW5saW5lPikge1xuICAgIGNoYW5nZXMuZm9yRWFjaE9wZXJhdGlvbigoY2hhbmdlLCBhZGp1c3RlZFByZXZpb3VzSW5kZXgsIGN1cnJlbnRJbmRleCkgPT4ge1xuICAgICAgaWYgKGNoYW5nZS5wcmV2aW91c0luZGV4ID09PSBudWxsKSB7XG4gICAgICAgIGNvbnN0IGl0ZW0gPSBjaGFuZ2UuaXRlbTtcbiAgICAgICAgY29uc3QgaW5kZXggPSBjdXJyZW50SW5kZXggPT09IG51bGwgPyB1bmRlZmluZWQgOiBjdXJyZW50SW5kZXg7XG4gICAgICAgIGlmIChpdGVtLnR5cGUgPT09ICd0ZXh0Jykge1xuICAgICAgICAgIHRoaXMudmlld0NvbnRhaW5lci5jcmVhdGVFbWJlZGRlZFZpZXcoXG4gICAgICAgICAgICB0aGlzLnRleHRWaWV3LnRlbXBsYXRlUmVmLFxuICAgICAgICAgICAgeyAkaW1wbGljaXQ6IGl0ZW0udmFsIH0sXG4gICAgICAgICAgICBpbmRleCxcbiAgICAgICAgICApO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIGNvbnN0IHZpZXcgPSB0aGlzLnZpZXdzW2l0ZW0udmFsXTtcbiAgICAgICAgICBpZiAodmlldykge1xuICAgICAgICAgICAgdGhpcy52aWV3Q29udGFpbmVyLmNyZWF0ZUVtYmVkZGVkVmlldyhcbiAgICAgICAgICAgICAgdmlldy50ZW1wbGF0ZVJlZixcbiAgICAgICAgICAgICAgbnVsbCxcbiAgICAgICAgICAgICAgaW5kZXgsXG4gICAgICAgICAgICApO1xuICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICB0aGlzLnZpZXdDb250YWluZXIuY3JlYXRlRW1iZWRkZWRWaWV3KFxuICAgICAgICAgICAgICB0aGlzLnRleHRWaWV3LnRlbXBsYXRlUmVmLFxuICAgICAgICAgICAgICB7ICRpbXBsaWNpdDogaXRlbS52YWwgfSxcbiAgICAgICAgICAgICAgaW5kZXgsXG4gICAgICAgICAgICApO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIHRoaXMudmlld0luZGV4ZXNbaXRlbS52YWxdID0gdGhpcy52aWV3SW5kZXhlc1tpdGVtLnZhbF0gfHwgW2luZGV4XTtcbiAgICAgICAgfVxuICAgICAgfSBlbHNlIGlmIChjdXJyZW50SW5kZXggPT09IG51bGwpIHtcbiAgICAgICAgdGhpcy52aWV3Q29udGFpbmVyLnJlbW92ZShcbiAgICAgICAgICBhZGp1c3RlZFByZXZpb3VzSW5kZXggPT09IG51bGwgPyB1bmRlZmluZWQgOiBhZGp1c3RlZFByZXZpb3VzSW5kZXgsXG4gICAgICAgICk7XG4gICAgICB9IGVsc2UgaWYgKGFkanVzdGVkUHJldmlvdXNJbmRleCAhPT0gbnVsbCkge1xuICAgICAgICBjb25zdCB2aWV3ID0gdGhpcy52aWV3Q29udGFpbmVyLmdldChhZGp1c3RlZFByZXZpb3VzSW5kZXgpITtcbiAgICAgICAgdGhpcy52aWV3Q29udGFpbmVyLm1vdmUodmlldywgY3VycmVudEluZGV4KTtcbiAgICAgIH1cbiAgICB9KTtcbiAgfVxuXG4gIGFkZFZpZXcodmlldzogVHJhbnNsYXRlVmlldykge1xuICAgIGlmICh2aWV3LmlzVGV4dCgpKSB7XG4gICAgICB0aGlzLnRleHRWaWV3ID0gdmlldztcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy52aWV3c1t2aWV3Lm1hdGNoXSA9IHZpZXc7XG4gICAgICB0aGlzLnVwZGF0ZSh0aGlzLmlubGluZXMpO1xuICAgIH1cbiAgfVxufVxuXG5ARGlyZWN0aXZlKHsgc2VsZWN0b3I6ICdbYWNsVHJhbnNsYXRlTWF0Y2hdJywgc3RhbmRhbG9uZTogdHJ1ZSB9KVxuZXhwb3J0IGNsYXNzIFRyYW5zbGF0ZU1hdGNoRGlyZWN0aXZlIHtcbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSByZWFkb25seSB0ZW1wbGF0ZVJlZjogVGVtcGxhdGVSZWY8YW55PixcbiAgICBASG9zdCgpIHByaXZhdGUgcmVhZG9ubHkgYWNsVHJhbnNsYXRlOiBUcmFuc2xhdGVEaXJlY3RpdmUsXG4gICkge31cblxuICBASW5wdXQoKSBzZXQgYWNsVHJhbnNsYXRlTWF0Y2godmFsOiBzdHJpbmcpIHtcbiAgICB0aGlzLmFjbFRyYW5zbGF0ZS5hZGRWaWV3KG5ldyBUcmFuc2xhdGVWaWV3KHRoaXMudGVtcGxhdGVSZWYsIHZhbCkpO1xuICB9XG59XG5cbkBEaXJlY3RpdmUoeyBzZWxlY3RvcjogJ1thY2xUcmFuc2xhdGVUZXh0XScsIHN0YW5kYWxvbmU6IHRydWUgfSlcbmV4cG9ydCBjbGFzcyBUcmFuc2xhdGVUZXh0RGlyZWN0aXZlIHtcbiAgY29uc3RydWN0b3IoXG4gICAgdGVtcGxhdGVSZWY6IFRlbXBsYXRlUmVmPGFueT4sXG4gICAgQEhvc3QoKSBwcml2YXRlIHJlYWRvbmx5IGFjbFRyYW5zbGF0ZTogVHJhbnNsYXRlRGlyZWN0aXZlLFxuICApIHtcbiAgICB0aGlzLmFjbFRyYW5zbGF0ZS5hZGRWaWV3KG5ldyBUcmFuc2xhdGVWaWV3KHRlbXBsYXRlUmVmKSk7XG4gIH1cbn1cbiJdfQ==
|
|
165
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJhbnNsYXRlLmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL2xpYnMvY29tbW9uL3NyYy90cmFuc2xhdGUvdHJhbnNsYXRlLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsU0FBUyxFQUVULElBQUksRUFDSixLQUFLLEVBR0wsZUFBZSxFQUNmLFdBQVcsRUFDWCxnQkFBZ0IsR0FDakIsTUFBTSxlQUFlLENBQUM7QUFHdkIsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0scUJBQXFCLENBQUM7OztBQU92RCxNQUFNLG9CQUFvQixHQUFHLGdDQUFnQyxDQUFDO0FBRTlELE1BQU0sV0FBVyxHQUFHLENBQUMsR0FBVyxFQUFVLEVBQUUsQ0FBQyxDQUFDO0lBQzVDLElBQUksRUFBRSxhQUFhO0lBQ25CLEdBQUcsRUFBRSxHQUFHLENBQUMsSUFBSSxFQUFFO0NBQ2hCLENBQUMsQ0FBQztBQUVILE1BQU0sSUFBSSxHQUFHLENBQUMsR0FBVyxFQUFVLEVBQUUsQ0FBQyxDQUFDLEVBQUUsSUFBSSxFQUFFLE1BQU0sRUFBRSxHQUFHLEVBQUUsQ0FBQyxDQUFDO0FBRTlELE1BQU0sT0FBTyxhQUFhO0lBQ3hCLFlBQ2tCLFdBQTZCLEVBQzdCLFFBQVEsRUFBRTtRQURWLGdCQUFXLEdBQVgsV0FBVyxDQUFrQjtRQUM3QixVQUFLLEdBQUwsS0FBSyxDQUFLO0lBQ3pCLENBQUM7SUFFSixNQUFNO1FBQ0osT0FBTyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUM7SUFDckIsQ0FBQztDQUNGO0FBR0QsTUFBTSxPQUFPLGtCQUFrQjtJQUM3QixZQUNtQixhQUErQixFQUMvQixTQUEyQixFQUMzQixPQUF3QjtRQUZ4QixrQkFBYSxHQUFiLGFBQWEsQ0FBa0I7UUFDL0IsY0FBUyxHQUFULFNBQVMsQ0FBa0I7UUFDM0IsWUFBTyxHQUFQLE9BQU8sQ0FBaUI7UUFZbkMsVUFBSyxHQUFHLEtB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QkFBc0I7b0VBQXRCLHNCQUFzQjs7aUZBQXRCLHNCQUFzQjtjQURsQyxTQUFTO2VBQUMsRUFBRSxRQUFRLEVBQUUsb0JBQW9CLEVBQUUsVUFBVSxFQUFFLElBQUksRUFBRTs7c0JBSTFELElBQUkiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBEaXJlY3RpdmUsXG4gIERvQ2hlY2ssXG4gIEhvc3QsXG4gIElucHV0LFxuICBJdGVyYWJsZUNoYW5nZXMsXG4gIEl0ZXJhYmxlRGlmZmVyLFxuICBJdGVyYWJsZURpZmZlcnMsXG4gIFRlbXBsYXRlUmVmLFxuICBWaWV3Q29udGFpbmVyUmVmLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IERpY3Rpb25hcnkgfSBmcm9tICd0cy1lc3NlbnRpYWxzJztcblxuaW1wb3J0IHsgVHJhbnNsYXRlU2VydmljZSB9IGZyb20gJy4vdHJhbnNsYXRlLnNlcnZpY2UnO1xuXG5pbnRlcmZhY2UgSW5saW5lIHtcbiAgdHlwZTogJ3BsYWNlaG9sZGVyJyB8ICd0ZXh0JztcbiAgdmFsOiBzdHJpbmc7XG59XG5cbmNvbnN0IFRFTVBMQVRFX0lOVEVSUE9MQVRFID0gLyhcXHtcXHsoW159XSspXFx9XFx9fFxceyhbXn1dKylcXH0pL2c7XG5cbmNvbnN0IHBsYWNlaG9sZGVyID0gKHZhbDogc3RyaW5nKTogSW5saW5lID0+ICh7XG4gIHR5cGU6ICdwbGFjZWhvbGRlcicsXG4gIHZhbDogdmFsLnRyaW0oKSxcbn0pO1xuXG5jb25zdCB0ZXh0ID0gKHZhbDogc3RyaW5nKTogSW5saW5lID0+ICh7IHR5cGU6ICd0ZXh0JywgdmFsIH0pO1xuXG5leHBvcnQgY2xhc3MgVHJhbnNsYXRlVmlldyB7XG4gIGNvbnN0cnVjdG9yKFxuICAgIHB1YmxpYyByZWFkb25seSB0ZW1wbGF0ZVJlZjogVGVtcGxhdGVSZWY8YW55PixcbiAgICBwdWJsaWMgcmVhZG9ubHkgbWF0Y2ggPSAnJyxcbiAgKSB7fVxuXG4gIGlzVGV4dCgpIHtcbiAgICByZXR1cm4gIXRoaXMubWF0Y2g7XG4gIH1cbn1cblxuQERpcmVjdGl2ZSh7IHNlbGVjdG9yOiAnW2FjbFRyYW5zbGF0ZV0nLCBzdGFuZGFsb25lOiB0cnVlIH0pXG5leHBvcnQgY2xhc3MgVHJhbnNsYXRlRGlyZWN0aXZlIGltcGxlbWVudHMgRG9DaGVjayB7XG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgcmVhZG9ubHkgdmlld0NvbnRhaW5lcjogVmlld0NvbnRhaW5lclJlZixcbiAgICBwcml2YXRlIHJlYWRvbmx5IHRyYW5zbGF0ZTogVHJhbnNsYXRlU2VydmljZSxcbiAgICBwcml2YXRlIHJlYWRvbmx5IGRpZmZlcnM6IEl0ZXJhYmxlRGlmZmVycyxcbiAgKSB7fVxuXG4gIEBJbnB1dCgpIHNldCBhY2xUcmFuc2xhdGUoa2V5OiBzdHJpbmcpIHtcbiAgICB0aGlzLnRyYW5zbGF0ZUtleSA9IGtleTtcbiAgICB0aGlzLmRpcnR5ID0gdHJ1ZTtcbiAgfVxuXG4gIHRyYW5zbGF0ZUtleTogc3RyaW5nIHwgRGljdGlvbmFyeTxzdHJpbmc+O1xuXG4gIHByaXZhdGUgbG9jYWxlOiBzdHJpbmc7XG5cbiAgcHJpdmF0ZSBkaXJ0eSA9IGZhbHNlO1xuXG4gIHByaXZhdGUgdGV4dFZpZXc6IFRyYW5zbGF0ZVZpZXc7XG5cbiAgcHJpdmF0ZSB2aWV3czogRGljdGlvbmFyeTxUcmFuc2xhdGVWaWV3PiA9IHt9O1xuXG4gIHByaXZhdGUgZGlmZmVyOiBJdGVyYWJsZURpZmZlcjxJbmxpbmU+IHwgbnVsbCA9IG51bGw7XG5cbiAgcHJpdmF0ZSB2aWV3SW5kZXhlczogRGljdGlvbmFyeTxudW1iZXJbXT4gPSB7fTtcblxuICBwcml2YXRlIGlubGluZXM6IElubGluZVtdO1xuXG4gIGlubGluZVRyYWNrZXIgPSAoaW5kZXg6IG51bWJlciwgaXRlbTogSW5saW5lKSA9PlxuICAgIGl0ZW0udHlwZSA9PT0gJ3RleHQnXG4gICAgICA/IGAke2l0ZW0udmFsfV8ke2luZGV4fWBcbiAgICAgIDogYCR7aXRlbS52YWx9XyR7aW5kZXh9XyR7dGhpcy52aWV3c1tpdGVtLnZhbF0gPyAnaGFzX3ZpZXcnIDogJ25vX3ZpZXcnfWA7XG5cbiAgbmdEb0NoZWNrKCk6IHZvaWQge1xuICAgIGlmICh0aGlzLmRpcnR5IHx8IHRoaXMubG9jYWxlICE9PSB0aGlzLnRyYW5zbGF0ZS5sb2NhbGUpIHtcbiAgICAgIHRoaXMubG9jYWxlID0gdGhpcy50cmFuc2xhdGUubG9jYWxlO1xuICAgICAgdGhpcy5pbmxpbmVzID0gdGhpcy5zZXBhcmF0ZUNvbnRlbnQoXG4gICAgICAgIHRoaXMudHJhbnNsYXRlLmdldFJhdyh0aGlzLnRyYW5zbGF0ZUtleSksXG4gICAgICApO1xuXG4gICAgICBpZiAoIXRoaXMuZGlmZmVyKSB7XG4gICAgICAgIHRyeSB7XG4gICAgICAgICAgdGhpcy5kaWZmZXIgPSB0aGlzLmRpZmZlcnMuZmluZChbXSkuY3JlYXRlKHRoaXMuaW5saW5lVHJhY2tlcik7XG4gICAgICAgIH0gY2F0Y2gge1xuICAgICAgICAgIHRocm93IG5ldyBFcnJvcihgQ2Fubm90IGZpbmQgZGlmZmVyIGZvciB0cmFuc2xhdGUgZGlyZWN0aXZlIGlubGluZXNgKTtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICB0aGlzLnVwZGF0ZSh0aGlzLmlubGluZXMpO1xuICAgIH1cbiAgfVxuXG4gIHNlcGFyYXRlQ29udGVudChjb250ZW50OiBzdHJpbmcpIHtcbiAgICBpZiAoY29udGVudC5sZW5ndGggPT09IDApIHtcbiAgICAgIHJldHVybiBbXTtcbiAgICB9XG5cbiAgICBjb25zdCBtYXRjaGVzID0gY29udGVudC5tYXRjaEFsbChURU1QTEFURV9JTlRFUlBPTEFURSk7XG5cbiAgICBjb25zdCByZXN1bHQ6IElubGluZVtdID0gW107XG4gICAgbGV0IHByZXZJbmRleCA9IDA7XG5cbiAgICBmb3IgKGNvbnN0IG1hdGNoIG9mIG1hdGNoZXMpIHtcbiAgICAgIGlmIChtYXRjaC5pbmRleCA+IHByZXZJbmRleCkge1xuICAgICAgICByZXN1bHQucHVzaCh0ZXh0KGNvbnRlbnQuc2xpY2UocHJldkluZGV4LCBtYXRjaC5pbmRleCkpKTtcbiAgICAgIH1cblxuICAgICAgY29uc3QgcGxhY2Vob2xkZXJDb250ZW50ID0gbWF0Y2hbMl0gfHwgbWF0Y2hbM107XG4gICAgICByZXN1bHQucHVzaChwbGFjZWhvbGRlcihwbGFjZWhvbGRlckNvbnRlbnQpKTtcblxuICAgICAgcHJldkluZGV4ID0gbWF0Y2guaW5kZXggKyBtYXRjaFswXS5sZW5ndGg7XG4gICAgfVxuXG4gICAgaWYgKHByZXZJbmRleCA8IGNvbnRlbnQubGVuZ3RoKSB7XG4gICAgICByZXN1bHQucHVzaCh0ZXh0KGNvbnRlbnQuc2xpY2UocHJldkluZGV4LCBjb250ZW50Lmxlbmd0aCkpKTtcbiAgICB9XG5cbiAgICByZXR1cm4gcmVzdWx0O1xuICB9XG5cbiAgcHJpdmF0ZSB1cGRhdGUoaW5saW5lczogSW5saW5lW10pIHtcbiAgICBpZiAoIXRoaXMudGV4dFZpZXcpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcihcbiAgICAgICAgJ3RyYW5zbGF0ZSBkaXJlY3RpdmUgbmVlZCBhY2xUcmFuc2xhdGVUZXh0IHRvIHJlbmRlciB0ZXh0JyxcbiAgICAgICk7XG4gICAgfVxuXG4gICAgaWYgKCF0aGlzLmRpZmZlcikge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGNvbnN0IGNoYW5nZXMgPSB0aGlzLmRpZmZlci5kaWZmKGlubGluZXMpO1xuXG4gICAgaWYgKCFjaGFuZ2VzKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgdGhpcy5hcHBseUNoYW5nZXMoY2hhbmdlcyk7XG5cbiAgICB0aGlzLmRpcnR5ID0gZmFsc2U7XG4gIH1cblxuICBwcml2YXRlIGFwcGx5Q2hhbmdlcyhjaGFuZ2VzOiBJdGVyYWJsZUNoYW5nZXM8SW5saW5lPikge1xuICAgIGNoYW5nZXMuZm9yRWFjaE9wZXJhdGlvbigoY2hhbmdlLCBhZGp1c3RlZFByZXZpb3VzSW5kZXgsIGN1cnJlbnRJbmRleCkgPT4ge1xuICAgICAgaWYgKGNoYW5nZS5wcmV2aW91c0luZGV4ID09PSBudWxsKSB7XG4gICAgICAgIGNvbnN0IGl0ZW0gPSBjaGFuZ2UuaXRlbTtcbiAgICAgICAgY29uc3QgaW5kZXggPSBjdXJyZW50SW5kZXggPT09IG51bGwgPyB1bmRlZmluZWQgOiBjdXJyZW50SW5kZXg7XG4gICAgICAgIGlmIChpdGVtLnR5cGUgPT09ICd0ZXh0Jykge1xuICAgICAgICAgIHRoaXMudmlld0NvbnRhaW5lci5jcmVhdGVFbWJlZGRlZFZpZXcoXG4gICAgICAgICAgICB0aGlzLnRleHRWaWV3LnRlbXBsYXRlUmVmLFxuICAgICAgICAgICAgeyAkaW1wbGljaXQ6IGl0ZW0udmFsIH0sXG4gICAgICAgICAgICBpbmRleCxcbiAgICAgICAgICApO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIGNvbnN0IHZpZXcgPSB0aGlzLnZpZXdzW2l0ZW0udmFsXTtcbiAgICAgICAgICBpZiAodmlldykge1xuICAgICAgICAgICAgdGhpcy52aWV3Q29udGFpbmVyLmNyZWF0ZUVtYmVkZGVkVmlldyhcbiAgICAgICAgICAgICAgdmlldy50ZW1wbGF0ZVJlZixcbiAgICAgICAgICAgICAgbnVsbCxcbiAgICAgICAgICAgICAgaW5kZXgsXG4gICAgICAgICAgICApO1xuICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICB0aGlzLnZpZXdDb250YWluZXIuY3JlYXRlRW1iZWRkZWRWaWV3KFxuICAgICAgICAgICAgICB0aGlzLnRleHRWaWV3LnRlbXBsYXRlUmVmLFxuICAgICAgICAgICAgICB7ICRpbXBsaWNpdDogaXRlbS52YWwgfSxcbiAgICAgICAgICAgICAgaW5kZXgsXG4gICAgICAgICAgICApO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIHRoaXMudmlld0luZGV4ZXNbaXRlbS52YWxdID0gdGhpcy52aWV3SW5kZXhlc1tpdGVtLnZhbF0gfHwgW2luZGV4XTtcbiAgICAgICAgfVxuICAgICAgfSBlbHNlIGlmIChjdXJyZW50SW5kZXggPT09IG51bGwpIHtcbiAgICAgICAgdGhpcy52aWV3Q29udGFpbmVyLnJlbW92ZShcbiAgICAgICAgICBhZGp1c3RlZFByZXZpb3VzSW5kZXggPT09IG51bGwgPyB1bmRlZmluZWQgOiBhZGp1c3RlZFByZXZpb3VzSW5kZXgsXG4gICAgICAgICk7XG4gICAgICB9IGVsc2UgaWYgKGFkanVzdGVkUHJldmlvdXNJbmRleCAhPT0gbnVsbCkge1xuICAgICAgICBjb25zdCB2aWV3ID0gdGhpcy52aWV3Q29udGFpbmVyLmdldChhZGp1c3RlZFByZXZpb3VzSW5kZXgpITtcbiAgICAgICAgdGhpcy52aWV3Q29udGFpbmVyLm1vdmUodmlldywgY3VycmVudEluZGV4KTtcbiAgICAgIH1cbiAgICB9KTtcbiAgfVxuXG4gIGFkZFZpZXcodmlldzogVHJhbnNsYXRlVmlldykge1xuICAgIGlmICh2aWV3LmlzVGV4dCgpKSB7XG4gICAgICB0aGlzLnRleHRWaWV3ID0gdmlldztcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy52aWV3c1t2aWV3Lm1hdGNoXSA9IHZpZXc7XG4gICAgICB0aGlzLnVwZGF0ZSh0aGlzLmlubGluZXMpO1xuICAgIH1cbiAgfVxufVxuXG5ARGlyZWN0aXZlKHsgc2VsZWN0b3I6ICdbYWNsVHJhbnNsYXRlTWF0Y2hdJywgc3RhbmRhbG9uZTogdHJ1ZSB9KVxuZXhwb3J0IGNsYXNzIFRyYW5zbGF0ZU1hdGNoRGlyZWN0aXZlIHtcbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSByZWFkb25seSB0ZW1wbGF0ZVJlZjogVGVtcGxhdGVSZWY8YW55PixcbiAgICBASG9zdCgpIHByaXZhdGUgcmVhZG9ubHkgYWNsVHJhbnNsYXRlOiBUcmFuc2xhdGVEaXJlY3RpdmUsXG4gICkge31cblxuICBASW5wdXQoKSBzZXQgYWNsVHJhbnNsYXRlTWF0Y2godmFsOiBzdHJpbmcpIHtcbiAgICB0aGlzLmFjbFRyYW5zbGF0ZS5hZGRWaWV3KG5ldyBUcmFuc2xhdGVWaWV3KHRoaXMudGVtcGxhdGVSZWYsIHZhbCkpO1xuICB9XG59XG5cbkBEaXJlY3RpdmUoeyBzZWxlY3RvcjogJ1thY2xUcmFuc2xhdGVUZXh0XScsIHN0YW5kYWxvbmU6IHRydWUgfSlcbmV4cG9ydCBjbGFzcyBUcmFuc2xhdGVUZXh0RGlyZWN0aXZlIHtcbiAgY29uc3RydWN0b3IoXG4gICAgdGVtcGxhdGVSZWY6IFRlbXBsYXRlUmVmPGFueT4sXG4gICAgQEhvc3QoKSBwcml2YXRlIHJlYWRvbmx5IGFjbFRyYW5zbGF0ZTogVHJhbnNsYXRlRGlyZWN0aXZlLFxuICApIHtcbiAgICB0aGlzLmFjbFRyYW5zbGF0ZS5hZGRWaWV3KG5ldyBUcmFuc2xhdGVWaWV3KHRlbXBsYXRlUmVmKSk7XG4gIH1cbn1cbiJdfQ==
|
|
@@ -3,6 +3,7 @@
|
|
|
3
3
|
* @module translate
|
|
4
4
|
*/
|
|
5
5
|
import { NgModule } from '@angular/core';
|
|
6
|
+
import { IntlNumberPipe, IntlCurrencyPipe, IntlPercentPipe, IntlDatePipe, IntlDateTimePipe, IntlRelativeTimePipe, } from './intl-format.pipes';
|
|
6
7
|
import { TranslateDirective, TranslateMatchDirective, TranslateTextDirective, } from './translate.directive';
|
|
7
8
|
import { TranslatePipe } from './translate.pipe';
|
|
8
9
|
import * as i0 from "@angular/core";
|
|
@@ -11,6 +12,12 @@ export const TRANSLATE_MODULE = [
|
|
|
11
12
|
TranslateDirective,
|
|
12
13
|
TranslateMatchDirective,
|
|
13
14
|
TranslateTextDirective,
|
|
15
|
+
IntlNumberPipe,
|
|
16
|
+
IntlCurrencyPipe,
|
|
17
|
+
IntlPercentPipe,
|
|
18
|
+
IntlDatePipe,
|
|
19
|
+
IntlDateTimePipe,
|
|
20
|
+
IntlRelativeTimePipe,
|
|
14
21
|
];
|
|
15
22
|
/**
|
|
16
23
|
* @deprecated use `TranslatePipe` or `TRANSLATE_MODULE` except `.forRoot`
|
|
@@ -30,8 +37,20 @@ export class TranslateModule {
|
|
|
30
37
|
(function () { (typeof ngJitMode === "undefined" || ngJitMode) && i0.ɵɵsetNgModuleScope(TranslateModule, { imports: [TranslatePipe,
|
|
31
38
|
TranslateDirective,
|
|
32
39
|
TranslateMatchDirective,
|
|
33
|
-
TranslateTextDirective
|
|
40
|
+
TranslateTextDirective,
|
|
41
|
+
IntlNumberPipe,
|
|
42
|
+
IntlCurrencyPipe,
|
|
43
|
+
IntlPercentPipe,
|
|
44
|
+
IntlDatePipe,
|
|
45
|
+
IntlDateTimePipe,
|
|
46
|
+
IntlRelativeTimePipe], exports: [TranslatePipe,
|
|
34
47
|
TranslateDirective,
|
|
35
48
|
TranslateMatchDirective,
|
|
36
|
-
TranslateTextDirective
|
|
37
|
-
|
|
49
|
+
TranslateTextDirective,
|
|
50
|
+
IntlNumberPipe,
|
|
51
|
+
IntlCurrencyPipe,
|
|
52
|
+
IntlPercentPipe,
|
|
53
|
+
IntlDatePipe,
|
|
54
|
+
IntlDateTimePipe,
|
|
55
|
+
IntlRelativeTimePipe] }); })();
|
|
56
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJhbnNsYXRlLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL2xpYnMvY29tbW9uL3NyYy90cmFuc2xhdGUvdHJhbnNsYXRlLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7O0dBR0c7QUFFSCxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRXpDLE9BQU8sRUFDTCxjQUFjLEVBQ2QsZ0JBQWdCLEVBQ2hCLGVBQWUsRUFDZixZQUFZLEVBQ1osZ0JBQWdCLEVBQ2hCLG9CQUFvQixHQUNyQixNQUFNLHFCQUFxQixDQUFDO0FBQzdCLE9BQU8sRUFDTCxrQkFBa0IsRUFDbEIsdUJBQXVCLEVBQ3ZCLHNCQUFzQixHQUN2QixNQUFNLHVCQUF1QixDQUFDO0FBQy9CLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQzs7QUFFakQsTUFBTSxDQUFDLE1BQU0sZ0JBQWdCLEdBQUc7SUFDOUIsYUFBYTtJQUNiLGtCQUFrQjtJQUNsQix1QkFBdUI7SUFDdkIsc0JBQXNCO0lBQ3RCLGNBQWM7SUFDZCxnQkFBZ0I7SUFDaEIsZUFBZTtJQUNmLFlBQVk7SUFDWixnQkFBZ0I7SUFDaEIsb0JBQW9CO0NBQ1osQ0FBQztBQUVYOztHQUVHO0FBS0gsTUFBTSxPQUFPLGVBQWU7Z0ZBQWYsZUFBZTttRUFBZixlQUFlOzs7aUZBQWYsZUFBZTtjQUozQixRQUFRO2VBQUM7Z0JBQ1IsT0FBTyxFQUFFLENBQUMsR0FBRyxnQkFBZ0IsQ0FBQztnQkFDOUIsT0FBTyxFQUFFLENBQUMsR0FBRyxnQkFBZ0IsQ0FBQzthQUMvQjs7d0ZBQ1ksZUFBZSxjQW5CMUIsYUFBYTtRQUNiLGtCQUFrQjtRQUNsQix1QkFBdUI7UUFDdkIsc0JBQXNCO1FBQ3RCLGNBQWM7UUFDZCxnQkFBZ0I7UUFDaEIsZUFBZTtRQUNmLFlBQVk7UUFDWixnQkFBZ0I7UUFDaEIsb0JBQW9CLGFBVHBCLGFBQWE7UUFDYixrQkFBa0I7UUFDbEIsdUJBQXVCO1FBQ3ZCLHNCQUFzQjtRQUN0QixjQUFjO1FBQ2QsZ0JBQWdCO1FBQ2hCLGVBQWU7UUFDZixZQUFZO1FBQ1osZ0JBQWdCO1FBQ2hCLG9CQUFvQiIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogQHBhY2thZ2VEb2N1bWVudGF0aW9uXG4gKiBAbW9kdWxlIHRyYW5zbGF0ZVxuICovXG5cbmltcG9ydCB7IE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmltcG9ydCB7XG4gIEludGxOdW1iZXJQaXBlLFxuICBJbnRsQ3VycmVuY3lQaXBlLFxuICBJbnRsUGVyY2VudFBpcGUsXG4gIEludGxEYXRlUGlwZSxcbiAgSW50bERhdGVUaW1lUGlwZSxcbiAgSW50bFJlbGF0aXZlVGltZVBpcGUsXG59IGZyb20gJy4vaW50bC1mb3JtYXQucGlwZXMnO1xuaW1wb3J0IHtcbiAgVHJhbnNsYXRlRGlyZWN0aXZlLFxuICBUcmFuc2xhdGVNYXRjaERpcmVjdGl2ZSxcbiAgVHJhbnNsYXRlVGV4dERpcmVjdGl2ZSxcbn0gZnJvbSAnLi90cmFuc2xhdGUuZGlyZWN0aXZlJztcbmltcG9ydCB7IFRyYW5zbGF0ZVBpcGUgfSBmcm9tICcuL3RyYW5zbGF0ZS5waXBlJztcblxuZXhwb3J0IGNvbnN0IFRSQU5TTEFURV9NT0RVTEUgPSBbXG4gIFRyYW5zbGF0ZVBpcGUsXG4gIFRyYW5zbGF0ZURpcmVjdGl2ZSxcbiAgVHJhbnNsYXRlTWF0Y2hEaXJlY3RpdmUsXG4gIFRyYW5zbGF0ZVRleHREaXJlY3RpdmUsXG4gIEludGxOdW1iZXJQaXBlLFxuICBJbnRsQ3VycmVuY3lQaXBlLFxuICBJbnRsUGVyY2VudFBpcGUsXG4gIEludGxEYXRlUGlwZSxcbiAgSW50bERhdGVUaW1lUGlwZSxcbiAgSW50bFJlbGF0aXZlVGltZVBpcGUsXG5dIGFzIGNvbnN0O1xuXG4vKipcbiAqIEBkZXByZWNhdGVkIHVzZSBgVHJhbnNsYXRlUGlwZWAgb3IgYFRSQU5TTEFURV9NT0RVTEVgIGV4Y2VwdCBgLmZvclJvb3RgXG4gKi9cbkBOZ01vZHVsZSh7XG4gIGltcG9ydHM6IFsuLi5UUkFOU0xBVEVfTU9EVUxFXSxcbiAgZXhwb3J0czogWy4uLlRSQU5TTEFURV9NT0RVTEVdLFxufSlcbmV4cG9ydCBjbGFzcyBUcmFuc2xhdGVNb2R1bGUge31cbiJdfQ==
|
|
@@ -2,16 +2,15 @@
|
|
|
2
2
|
* @packageDocumentation
|
|
3
3
|
* @module translate
|
|
4
4
|
*/
|
|
5
|
-
import { ChangeDetectorRef,
|
|
5
|
+
import { ChangeDetectorRef, inject, Pipe, } from '@angular/core';
|
|
6
6
|
import { Subject, takeUntil } from 'rxjs';
|
|
7
7
|
import { isEqual } from '../core/public-api';
|
|
8
8
|
import { TranslateService } from './translate.service';
|
|
9
9
|
import * as i0 from "@angular/core";
|
|
10
10
|
export class TranslatePipe {
|
|
11
|
-
constructor(
|
|
12
|
-
this.
|
|
13
|
-
this.
|
|
14
|
-
this.translate = this.injector.get(TranslateService);
|
|
11
|
+
constructor() {
|
|
12
|
+
this.cdr = inject(ChangeDetectorRef);
|
|
13
|
+
this.translate = inject(TranslateService);
|
|
15
14
|
this.destroy$$ = new Subject();
|
|
16
15
|
this.translate.translationsAdded$
|
|
17
16
|
.pipe(takeUntil(this.destroy$$))
|
|
@@ -53,7 +52,7 @@ export class TranslatePipe {
|
|
|
53
52
|
this.destroy$$.next();
|
|
54
53
|
this.destroy$$.complete();
|
|
55
54
|
}
|
|
56
|
-
static { this.ɵfac = function TranslatePipe_Factory(t) { return new (t || TranslatePipe)(
|
|
55
|
+
static { this.ɵfac = function TranslatePipe_Factory(t) { return new (t || TranslatePipe)(); }; }
|
|
57
56
|
static { this.ɵpipe = /*@__PURE__*/ i0.ɵɵdefinePipe({ name: "translate", type: TranslatePipe, pure: false, standalone: true }); }
|
|
58
57
|
}
|
|
59
58
|
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(TranslatePipe, [{
|
|
@@ -63,5 +62,5 @@ export class TranslatePipe {
|
|
|
63
62
|
pure: false,
|
|
64
63
|
standalone: true,
|
|
65
64
|
}]
|
|
66
|
-
}], () => [
|
|
67
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
65
|
+
}], () => [], null); })();
|
|
66
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJhbnNsYXRlLnBpcGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9saWJzL2NvbW1vbi9zcmMvdHJhbnNsYXRlL3RyYW5zbGF0ZS5waXBlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7R0FHRztBQUVILE9BQU8sRUFDTCxpQkFBaUIsRUFDakIsTUFBTSxFQUVOLElBQUksR0FFTCxNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsT0FBTyxFQUFnQixTQUFTLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFFeEQsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBRTdDLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHFCQUFxQixDQUFDOztBQVF2RCxNQUFNLE9BQU8sYUFBYTtJQVd4QjtRQVZpQixRQUFHLEdBQUcsTUFBTSxDQUFDLGlCQUFpQixDQUFDLENBQUM7UUFDaEMsY0FBUyxHQUFHLE1BQU0sQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDO1FBT3JDLGNBQVMsR0FBRyxJQUFJLE9BQU8sRUFBUSxDQUFDO1FBRy9DLElBQUksQ0FBQyxTQUFTLENBQUMsa0JBQWtCO2FBQzlCLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDO2FBQy9CLFNBQVMsQ0FBQyxHQUFHLEVBQUU7WUFDZCxJQUFJLENBQUMsR0FBRyxDQUFDLFlBQVksRUFBRSxDQUFDO1FBQzFCLENBQUMsQ0FBQyxDQUFDO0lBQ1AsQ0FBQztJQUVELFNBQVMsQ0FBQyxHQUF1QixFQUFFLElBQW1CO1FBQ3BELE1BQU0sRUFBRSxPQUFPLEVBQUUsR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDO1FBQ25DLElBQ0UsT0FBTyxDQUFDLEdBQUcsRUFBRSxJQUFJLENBQUMsT0FBTyxDQUFDO1lBQzFCLE9BQU8sQ0FBQyxJQUFJLEVBQUUsSUFBSSxDQUFDLFFBQVEsQ0FBQztZQUM1QixDQUFDLE9BQU8sQ0FBQyxHQUFHLEVBQUUsSUFBSSxDQUFDLEtBQUssQ0FBQyxFQUN6QixDQUFDO1lBQ0QsT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDO1FBQ3BCLENBQUM7UUFFRCxJQUFJLENBQUMsUUFBUSxHQUFHLElBQUksQ0FBQztRQUNyQixJQUFJLENBQUMsV0FBVyxDQUFDLEdBQUcsRUFBRSxJQUFJLENBQUMsQ0FBQztRQUM1QixJQUFJLENBQUMsT0FBTyxFQUFFLENBQUM7UUFFZixJQUFJLENBQUMsUUFBUSxHQUFHLE9BQU8sQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxHQUFHLEVBQUU7WUFDckUsSUFBSSxJQUFJLENBQUMsT0FBTyxFQUFFLENBQUM7Z0JBQ2pCLElBQUksQ0FBQyxPQUFPLEdBQUcsSUFBSSxDQUFDO2dCQUNwQixJQUFJLENBQUMsV0FBVyxDQUFDLEdBQUcsRUFBRSxJQUFJLENBQUMsQ0FBQztZQUM5QixDQUFDO1FBQ0gsQ0FBQyxDQUFDLENBQUM7UUFFSCxPQUFPLElBQUksQ0FBQyxLQUFLLENBQUM7SUFDcEIsQ0FBQztJQUVPLFdBQVcsQ0FBQyxHQUFpQixFQUFFLElBQW1CO1FBQ3hELE1BQU0sS0FBSyxHQUFHLElBQUksQ0FBQyxTQUFTLENBQUMsR0FBRyxDQUFDLEdBQUcsRUFBRSxJQUFJLENBQUMsQ0FBQztRQUM1QyxJQUFJLENBQUMsS0FBSyxHQUFHLEtBQUssQ0FBQztRQUNuQixJQUFJLENBQUMsT0FBTyxHQUFHLEdBQUcsQ0FBQztRQUNuQixJQUFJLENBQUMsR0FBRyxDQUFDLFlBQVksRUFBRSxDQUFDO0lBQzFCLENBQUM7SUFFTyxPQUFPO1FBQ2IsSUFBSSxJQUFJLENBQUMsUUFBUSxFQUFFLENBQUM7WUFDbEIsSUFBSSxDQUFDLFFBQVEsQ0FBQyxXQUFXLEVBQUUsQ0FBQztZQUM1QixJQUFJLENBQUMsUUFBUSxHQUFHLElBQUksQ0FBQztRQUN2QixDQUFDO0lBQ0gsQ0FBQztJQUVELFdBQVc7UUFDVCxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksRUFBRSxDQUFDO1FBQ3RCLElBQUksQ0FBQyxTQUFTLENBQUMsUUFBUSxFQUFFLENBQUM7SUFDNUIsQ0FBQzs4RUE1RFUsYUFBYTttRkFBYixhQUFhOztpRkFBYixhQUFhO2NBTHpCLElBQUk7ZUFBQztnQkFDSixJQUFJLEVBQUUsV0FBVztnQkFDakIsSUFBSSxFQUFFLEtBQUs7Z0JBQ1gsVUFBVSxFQUFFLElBQUk7YUFDakIiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEBwYWNrYWdlRG9jdW1lbnRhdGlvblxuICogQG1vZHVsZSB0cmFuc2xhdGVcbiAqL1xuXG5pbXBvcnQge1xuICBDaGFuZ2VEZXRlY3RvclJlZixcbiAgaW5qZWN0LFxuICBPbkRlc3Ryb3ksXG4gIFBpcGUsXG4gIFBpcGVUcmFuc2Zvcm0sXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgU3ViamVjdCwgU3Vic2NyaXB0aW9uLCB0YWtlVW50aWwgfSBmcm9tICdyeGpzJztcblxuaW1wb3J0IHsgaXNFcXVhbCB9IGZyb20gJy4uL2NvcmUvcHVibGljLWFwaSc7XG5cbmltcG9ydCB7IFRyYW5zbGF0ZVNlcnZpY2UgfSBmcm9tICcuL3RyYW5zbGF0ZS5zZXJ2aWNlJztcbmltcG9ydCB7IFRyYW5zbGF0ZUtleSwgVGVtcGxhdGVEYXRhIH0gZnJvbSAnLi90eXBlcyc7XG5cbkBQaXBlKHtcbiAgbmFtZTogJ3RyYW5zbGF0ZScsXG4gIHB1cmU6IGZhbHNlLFxuICBzdGFuZGFsb25lOiB0cnVlLFxufSlcbmV4cG9ydCBjbGFzcyBUcmFuc2xhdGVQaXBlIGltcGxlbWVudHMgUGlwZVRyYW5zZm9ybSwgT25EZXN0cm95IHtcbiAgcHJpdmF0ZSByZWFkb25seSBjZHIgPSBpbmplY3QoQ2hhbmdlRGV0ZWN0b3JSZWYpO1xuICBwcml2YXRlIHJlYWRvbmx5IHRyYW5zbGF0ZSA9IGluamVjdChUcmFuc2xhdGVTZXJ2aWNlKTtcblxuICBwcml2YXRlIHZhbHVlOiBzdHJpbmc7XG4gIHByaXZhdGUgbGFzdEtleT86IFRyYW5zbGF0ZUtleTtcbiAgcHJpdmF0ZSBsYXN0RGF0YT86IFRlbXBsYXRlRGF0YTtcbiAgcHJpdmF0ZSBvbkNoYW5nZTogU3Vic2NyaXB0aW9uIHwgbnVsbDtcblxuICBwcml2YXRlIHJlYWRvbmx5IGRlc3Ryb3kkJCA9IG5ldyBTdWJqZWN0PHZvaWQ+KCk7XG5cbiAgY29uc3RydWN0b3IoKSB7XG4gICAgdGhpcy50cmFuc2xhdGUudHJhbnNsYXRpb25zQWRkZWQkXG4gICAgICAucGlwZSh0YWtlVW50aWwodGhpcy5kZXN0cm95JCQpKVxuICAgICAgLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICAgIHRoaXMuY2RyLm1hcmtGb3JDaGVjaygpO1xuICAgICAgfSk7XG4gIH1cblxuICB0cmFuc2Zvcm0oa2V5OiBUcmFuc2xhdGVLZXkgfCBhbnksIGRhdGE/OiBUZW1wbGF0ZURhdGEpIHtcbiAgICBjb25zdCB7IGxvY2FsZSQgfSA9IHRoaXMudHJhbnNsYXRlO1xuICAgIGlmIChcbiAgICAgIGlzRXF1YWwoa2V5LCB0aGlzLmxhc3RLZXkpICYmXG4gICAgICBpc0VxdWFsKGRhdGEsIHRoaXMubGFzdERhdGEpICYmXG4gICAgICAhaXNFcXVhbChrZXksIHRoaXMudmFsdWUpXG4gICAgKSB7XG4gICAgICByZXR1cm4gdGhpcy52YWx1ZTtcbiAgICB9XG5cbiAgICB0aGlzLmxhc3REYXRhID0gZGF0YTtcbiAgICB0aGlzLnVwZGF0ZVZhbHVlKGtleSwgZGF0YSk7XG4gICAgdGhpcy5kaXNwb3NlKCk7XG5cbiAgICB0aGlzLm9uQ2hhbmdlID0gbG9jYWxlJC5waXBlKHRha2VVbnRpbCh0aGlzLmRlc3Ryb3kkJCkpLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICBpZiAodGhpcy5sYXN0S2V5KSB7XG4gICAgICAgIHRoaXMubGFzdEtleSA9IG51bGw7XG4gICAgICAgIHRoaXMudXBkYXRlVmFsdWUoa2V5LCBkYXRhKTtcbiAgICAgIH1cbiAgICB9KTtcblxuICAgIHJldHVybiB0aGlzLnZhbHVlO1xuICB9XG5cbiAgcHJpdmF0ZSB1cGRhdGVWYWx1ZShrZXk6IFRyYW5zbGF0ZUtleSwgZGF0YT86IFRlbXBsYXRlRGF0YSkge1xuICAgIGNvbnN0IHZhbHVlID0gdGhpcy50cmFuc2xhdGUuZ2V0KGtleSwgZGF0YSk7XG4gICAgdGhpcy52YWx1ZSA9IHZhbHVlO1xuICAgIHRoaXMubGFzdEtleSA9IGtleTtcbiAgICB0aGlzLmNkci5tYXJrRm9yQ2hlY2soKTtcbiAgfVxuXG4gIHByaXZhdGUgZGlzcG9zZSgpIHtcbiAgICBpZiAodGhpcy5vbkNoYW5nZSkge1xuICAgICAgdGhpcy5vbkNoYW5nZS51bnN1YnNjcmliZSgpO1xuICAgICAgdGhpcy5vbkNoYW5nZSA9IG51bGw7XG4gICAgfVxuICB9XG5cbiAgbmdPbkRlc3Ryb3koKSB7XG4gICAgdGhpcy5kZXN0cm95JCQubmV4dCgpO1xuICAgIHRoaXMuZGVzdHJveSQkLmNvbXBsZXRlKCk7XG4gIH1cbn1cbiJdfQ==
|