raise-common-lib-new 0.0.62 → 0.0.64
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/esm2022/lib/actions/toolbar/index.component.mjs +4 -3
- package/esm2022/lib/actions/toolbar-item/index.component.mjs +2 -2
- package/esm2022/lib/common-grid/grid-action/grid-action-item/grid-action-item.component.mjs +1 -1
- package/esm2022/lib/common-grid/grid-action/grid-action.component.mjs +3 -2
- package/esm2022/lib/common-grid/index.component.mjs +6 -3
- package/esm2022/lib/dashboard/api.mjs +33 -0
- package/esm2022/lib/dashboard/bar-charts/bar-charts.component.mjs +430 -0
- package/esm2022/lib/dashboard/bar-charts/utils.mjs +18 -0
- package/esm2022/lib/dashboard/dashboard-properties/data-mart-new/data-mart-new.component.mjs +442 -0
- package/esm2022/lib/dashboard/dashboard.service.mjs +295 -0
- package/esm2022/lib/dashboard/dashboardPorlets.service.mjs +2169 -0
- package/esm2022/lib/dashboard/dialog-group/download/index.component.mjs +212 -0
- package/esm2022/lib/dashboard/dialog-group/empty-icon-prompt/empty-icon-prompt.component.mjs +36 -0
- package/esm2022/lib/dashboard/gadget-group/gadget-pivot/gadget-pivot.component.mjs +3211 -0
- package/esm2022/lib/dashboard/gadget-group/gadget-pivot-chart/gadget-pivot.component.mjs +3117 -0
- package/esm2022/lib/dashboard/gadget-group/gadget-table/gadget-table.component.mjs +1099 -0
- package/esm2022/lib/dashboard/gadget-group/gadget-transpose/gadget-transpose.component.mjs +583 -0
- package/esm2022/lib/dashboard/pane-group-new.component.mjs +2031 -0
- package/esm2022/lib/dashboard/sidebar-iconlist/field-filter/field-filter.component.mjs +637 -0
- package/esm2022/lib/dashboard/sidebar-iconlist/field-format/field-format.component.mjs +753 -0
- package/esm2022/lib/dashboard/sidebar-iconlist/portlet-type-new/portlet-type-new.component.mjs +216 -0
- package/esm2022/lib/dashboard/sidebar-iconlist/sidebar-iconlist-new.component.mjs +1239 -0
- package/esm2022/lib/dialog/common-delete-dialog/index.component.mjs +1 -1
- package/esm2022/lib/dialog/common-dialog/index.component.mjs +16 -5
- package/esm2022/lib/float-box/index.component.mjs +18 -4
- package/esm2022/lib/form/checkbox-group/index.component.mjs +35 -5
- package/esm2022/lib/form/drawer-form/drawer-form.component.mjs +177 -76
- package/esm2022/lib/form/richtexteditor/index.component.mjs +7 -9
- package/esm2022/lib/layout/drawer/index.component.mjs +2 -2
- package/esm2022/lib/layout/page-list/index.component.mjs +9 -3
- package/esm2022/lib/layout/page-tab/index.component.mjs +5 -3
- package/esm2022/lib/layout/rs-stepper/constants.mjs +2 -0
- package/esm2022/lib/layout/rs-stepper/index.component.mjs +148 -0
- package/esm2022/lib/raise-common-lib.module.mjs +114 -7
- package/esm2022/lib/service/InjectionToken.mjs +5 -0
- package/esm2022/lib/service/keep-alive.service.mjs +2 -2
- package/esm2022/lib/smart-popup/index.component.mjs +1084 -0
- package/esm2022/public-api.mjs +19 -1
- package/fesm2022/raise-common-lib-new.mjs +18042 -227
- package/fesm2022/raise-common-lib-new.mjs.map +1 -1
- package/lib/common-grid/index.component.d.ts +2 -1
- package/lib/dashboard/api.d.ts +24 -0
- package/lib/dashboard/bar-charts/bar-charts.component.d.ts +63 -0
- package/lib/dashboard/bar-charts/utils.d.ts +1 -0
- package/lib/dashboard/dashboard-properties/data-mart-new/data-mart-new.component.d.ts +52 -0
- package/lib/dashboard/dashboard.service.d.ts +152 -0
- package/lib/dashboard/dashboardPorlets.service.d.ts +214 -0
- package/lib/dashboard/dialog-group/download/index.component.d.ts +36 -0
- package/lib/dashboard/dialog-group/empty-icon-prompt/empty-icon-prompt.component.d.ts +15 -0
- package/lib/dashboard/gadget-group/gadget-pivot/gadget-pivot.component.d.ts +128 -0
- package/lib/dashboard/gadget-group/gadget-pivot-chart/gadget-pivot.component.d.ts +131 -0
- package/lib/dashboard/gadget-group/gadget-table/gadget-table.component.d.ts +77 -0
- package/lib/dashboard/gadget-group/gadget-transpose/gadget-transpose.component.d.ts +47 -0
- package/lib/dashboard/pane-group-new.component.d.ts +169 -0
- package/lib/dashboard/sidebar-iconlist/field-filter/field-filter.component.d.ts +56 -0
- package/lib/dashboard/sidebar-iconlist/field-format/field-format.component.d.ts +62 -0
- package/lib/dashboard/sidebar-iconlist/portlet-type-new/portlet-type-new.component.d.ts +30 -0
- package/lib/dashboard/sidebar-iconlist/sidebar-iconlist-new.component.d.ts +150 -0
- package/lib/dialog/common-dialog/index.component.d.ts +3 -1
- package/lib/float-box/index.component.d.ts +4 -3
- package/lib/form/checkbox-group/index.component.d.ts +5 -0
- package/lib/form/drawer-form/drawer-form.component.d.ts +21 -8
- package/lib/form/richtexteditor/index.component.d.ts +1 -3
- package/lib/layout/page-list/index.component.d.ts +3 -1
- package/lib/layout/page-tab/index.component.d.ts +1 -0
- package/lib/layout/rs-stepper/constants.d.ts +5 -0
- package/lib/layout/rs-stepper/index.component.d.ts +31 -0
- package/lib/raise-common-lib.module.d.ts +61 -40
- package/lib/service/InjectionToken.d.ts +4 -0
- package/lib/smart-popup/index.component.d.ts +60 -0
- package/package.json +1 -1
- package/public-api.d.ts +18 -0
- package/src/assets/img/dashboard_icon/AddPerson.svg +4 -0
- package/src/assets/img/dashboard_icon/Angle-double-left.svg +12 -0
- package/src/assets/img/dashboard_icon/Angle-double-right.svg +12 -0
- package/src/assets/img/dashboard_icon/Arrow_collapse.svg +3 -0
- package/src/assets/img/dashboard_icon/Arrow_expand.svg +3 -0
- package/src/assets/img/dashboard_icon/Close.svg +4 -0
- package/src/assets/img/dashboard_icon/Edit_label.svg +3 -0
- package/src/assets/img/dashboard_icon/RemoveMini.svg +3 -0
- package/src/assets/img/dashboard_icon/ShareTo.svg +3 -0
- package/src/assets/img/dashboard_icon/add-dashboard.svg +4 -0
- package/src/assets/img/dashboard_icon/add-tab.svg +4 -0
- package/src/assets/img/dashboard_icon/angle-left.svg +12 -0
- package/src/assets/img/dashboard_icon/angle-right.svg +12 -0
- package/src/assets/img/dashboard_icon/area-white.svg +3 -0
- package/src/assets/img/dashboard_icon/area.svg +3 -0
- package/src/assets/img/dashboard_icon/bar-white.svg +14 -0
- package/src/assets/img/dashboard_icon/bar.svg +14 -0
- package/src/assets/img/dashboard_icon/basic-icon-filter.svg +14 -0
- package/src/assets/img/dashboard_icon/chart-combined-active.svg +7 -0
- package/src/assets/img/dashboard_icon/chart-combined.svg +7 -0
- package/src/assets/img/dashboard_icon/column-white.svg +14 -0
- package/src/assets/img/dashboard_icon/column.svg +26 -0
- package/src/assets/img/dashboard_icon/customize.png +0 -0
- package/src/assets/img/dashboard_icon/dashboard-description.svg +18 -0
- package/src/assets/img/dashboard_icon/dashboard-download.svg +18 -0
- package/src/assets/img/dashboard_icon/dashboard-drag.svg +28 -0
- package/src/assets/img/dashboard_icon/dashboard-duplicate.svg +24 -0
- package/src/assets/img/dashboard_icon/dashboard-icon.svg +12 -0
- package/src/assets/img/dashboard_icon/dashboard-properties.svg +18 -0
- package/src/assets/img/dashboard_icon/dashboard-rename.svg +18 -0
- package/src/assets/img/dashboard_icon/dashboard-share.svg +20 -0
- package/src/assets/img/dashboard_icon/dashboard-tab-delete.svg +4 -0
- package/src/assets/img/dashboard_icon/dashboard_Share.svg +3 -0
- package/src/assets/img/dashboard_icon/dashboard_ToolsHide.svg +4 -0
- package/src/assets/img/dashboard_icon/datamart_.svg +5 -0
- package/src/assets/img/dashboard_icon/datamart_Admin.svg +3 -0
- package/src/assets/img/dashboard_icon/datamart_Asset Portfolio.svg +4 -0
- package/src/assets/img/dashboard_icon/datamart_Bank.svg +3 -0
- package/src/assets/img/dashboard_icon/datamart_CRM.svg +6 -0
- package/src/assets/img/dashboard_icon/datamart_Company.svg +6 -0
- package/src/assets/img/dashboard_icon/datamart_Compliance.svg +3 -0
- package/src/assets/img/dashboard_icon/datamart_Contact.svg +3 -0
- package/src/assets/img/dashboard_icon/datamart_DASHBOARD.svg +4 -0
- package/src/assets/img/dashboard_icon/datamart_DOCX.svg +4 -0
- package/src/assets/img/dashboard_icon/datamart_ESG.svg +4 -0
- package/src/assets/img/dashboard_icon/datamart_Financials - Company.svg +3 -0
- package/src/assets/img/dashboard_icon/datamart_Fund.svg +4 -0
- package/src/assets/img/dashboard_icon/datamart_FundFinancial.svg +4 -0
- package/src/assets/img/dashboard_icon/datamart_HTML.svg +4 -0
- package/src/assets/img/dashboard_icon/datamart_Logs.svg +8 -0
- package/src/assets/img/dashboard_icon/datamart_PDF.svg +5 -0
- package/src/assets/img/dashboard_icon/datamart_Project.svg +3 -0
- package/src/assets/img/dashboard_icon/datamart_Templates.svg +7 -0
- package/src/assets/img/dashboard_icon/datamart_Track Change.svg +3 -0
- package/src/assets/img/dashboard_icon/datamart_VirtualGroup.svg +5 -0
- package/src/assets/img/dashboard_icon/datamart_XLS.svg +4 -0
- package/src/assets/img/dashboard_icon/desktop_selected.svg +10 -0
- package/src/assets/img/dashboard_icon/desktop_unselected.svg +10 -0
- package/src/assets/img/dashboard_icon/favourite-grey.svg +3 -0
- package/src/assets/img/dashboard_icon/favourite-yellow.svg +3 -0
- package/src/assets/img/dashboard_icon/forms-checkbox-square-tick.svg +3 -0
- package/src/assets/img/dashboard_icon/ftable-white.svg +24 -0
- package/src/assets/img/dashboard_icon/ftable.svg +24 -0
- package/src/assets/img/dashboard_icon/gadget-basic-arrow-down.svg +14 -0
- package/src/assets/img/dashboard_icon/gadget-basic-format.svg +21 -0
- package/src/assets/img/dashboard_icon/gadget-basic-sub-total.svg +18 -0
- package/src/assets/img/dashboard_icon/gadget-basic-total-1.svg +9 -0
- package/src/assets/img/dashboard_icon/gadget-basic-total.svg +16 -0
- package/src/assets/img/dashboard_icon/gadget-columns.svg +12 -0
- package/src/assets/img/dashboard_icon/gadget-delete.svg +18 -0
- package/src/assets/img/dashboard_icon/gadget-download.svg +18 -0
- package/src/assets/img/dashboard_icon/gadget-duplicate.svg +24 -0
- package/src/assets/img/dashboard_icon/gadget-edit.svg +18 -0
- package/src/assets/img/dashboard_icon/gadget-filters-light.svg +9 -0
- package/src/assets/img/dashboard_icon/gadget-filters.svg +9 -0
- package/src/assets/img/dashboard_icon/gadget-format-0.svg +8 -0
- package/src/assets/img/dashboard_icon/gadget-format-1.svg +8 -0
- package/src/assets/img/dashboard_icon/gadget-format.svg +19 -0
- package/src/assets/img/dashboard_icon/gadget-fullscreen.svg +30 -0
- package/src/assets/img/dashboard_icon/gadget-settings.svg +18 -0
- package/src/assets/img/dashboard_icon/gadget-sub-total-0.svg +18 -0
- package/src/assets/img/dashboard_icon/gadget-sub-total-1.svg +18 -0
- package/src/assets/img/dashboard_icon/gadget-thumbnail.svg +12 -0
- package/src/assets/img/dashboard_icon/gadget-type-light.svg +15 -0
- package/src/assets/img/dashboard_icon/gadget-type.svg +16 -0
- package/src/assets/img/dashboard_icon/geo-white.svg +14 -0
- package/src/assets/img/dashboard_icon/geo.svg +14 -0
- package/src/assets/img/dashboard_icon/historic-IRR-white.svg +9 -0
- package/src/assets/img/dashboard_icon/historic-IRR.svg +5 -0
- package/src/assets/img/dashboard_icon/information-1.png +0 -0
- package/src/assets/img/dashboard_icon/information-grey.svg +4 -0
- package/src/assets/img/dashboard_icon/menu-change-group.svg +3 -0
- package/src/assets/img/dashboard_icon/menu-close.svg +20 -0
- package/src/assets/img/dashboard_icon/menu-delete.svg +18 -0
- package/src/assets/img/dashboard_icon/menu-description.svg +19 -0
- package/src/assets/img/dashboard_icon/menu-download.svg +24 -0
- package/src/assets/img/dashboard_icon/menu-drag.svg +28 -0
- package/src/assets/img/dashboard_icon/menu-duplicate.svg +26 -0
- package/src/assets/img/dashboard_icon/menu-properties.svg +18 -0
- package/src/assets/img/dashboard_icon/menu-rename.svg +23 -0
- package/src/assets/img/dashboard_icon/menu-share.svg +20 -0
- package/src/assets/img/dashboard_icon/menu-toolbar.svg +10 -0
- package/src/assets/img/dashboard_icon/mobile_selected.svg +10 -0
- package/src/assets/img/dashboard_icon/mobile_unselected.svg +10 -0
- package/src/assets/img/dashboard_icon/more_Save.svg +3 -0
- package/src/assets/img/dashboard_icon/more_View.svg +3 -0
- package/src/assets/img/dashboard_icon/multi-series-white.svg +20 -0
- package/src/assets/img/dashboard_icon/multi-series.svg +6 -0
- package/src/assets/img/dashboard_icon/paint-bucket.svg +6 -0
- package/src/assets/img/dashboard_icon/pie-white.svg +16 -0
- package/src/assets/img/dashboard_icon/pie.svg +16 -0
- package/src/assets/img/dashboard_icon/pivot-chart-active.svg +8 -0
- package/src/assets/img/dashboard_icon/pivot-chart.svg +8 -0
- package/src/assets/img/dashboard_icon/pivot-white.svg +8 -0
- package/src/assets/img/dashboard_icon/pivot.svg +8 -0
- package/src/assets/img/dashboard_icon/pivot_column.svg +9 -0
- package/src/assets/img/dashboard_icon/pivot_column_active.svg +9 -0
- package/src/assets/img/dashboard_icon/pivot_line.svg +12 -0
- package/src/assets/img/dashboard_icon/pivot_line_active.svg +12 -0
- package/src/assets/img/dashboard_icon/print-A2.svg +3 -0
- package/src/assets/img/dashboard_icon/radar-white.svg +19 -0
- package/src/assets/img/dashboard_icon/radar.svg +19 -0
- package/src/assets/img/dashboard_icon/saveAs.svg +3 -0
- package/src/assets/img/dashboard_icon/search_input.svg +4 -0
- package/src/assets/img/dashboard_icon/table-3-white.svg +16 -0
- package/src/assets/img/dashboard_icon/table-3.svg +16 -0
- package/src/assets/img/dashboard_icon/table-filter-off.svg +5 -0
- package/src/assets/img/dashboard_icon/table-filter-on.svg +5 -0
- package/src/assets/img/dashboard_icon/tag_dashboard_selected.svg +3 -0
- package/src/assets/img/dashboard_icon/tag_dashboard_unselected.svg +3 -0
- package/src/assets/img/dashboard_icon/tag_share_selected.svg +3 -0
- package/src/assets/img/dashboard_icon/tag_share_unselected.svg +3 -0
- package/src/assets/img/dashboard_icon/tick.svg +26 -0
- package/src/assets/img/dashboard_icon/toolbar_AddDashboard.svg +5 -0
- package/src/assets/img/dashboard_icon/toolbar_AddGroup.svg +3 -0
- package/src/assets/img/dashboard_icon/toolbar_AddReport.svg +3 -0
- package/src/assets/img/dashboard_icon/toolbar_CollapseAll.svg +3 -0
- package/src/assets/img/dashboard_icon/toolbar_Customize.svg +3 -0
- package/src/assets/img/dashboard_icon/toolbar_DeleteDark.svg +3 -0
- package/src/assets/img/dashboard_icon/toolbar_Duplicate.svg +3 -0
- package/src/assets/img/dashboard_icon/toolbar_Edit.svg +3 -0
- package/src/assets/img/dashboard_icon/toolbar_ExpandAll.svg +3 -0
- package/src/assets/img/dashboard_icon/toolbar_Search.svg +3 -0
- package/src/assets/img/dashboard_icon/topbar-menu.svg +33 -0
- package/src/assets/img/dashboard_icon/topbar-refresh.svg +17 -0
- package/src/assets/img/dashboard_icon/topbar-tool-off.svg +12 -0
- package/src/assets/img/dashboard_icon/topbar-tool-on.svg +12 -0
- package/src/assets/img/dashboard_icon/trade-up-white.svg +14 -0
- package/src/assets/img/dashboard_icon/trade-up.svg +14 -0
- package/src/assets/img/dashboard_icon/transpose-white.svg +16 -0
- package/src/assets/img/dashboard_icon/transpose.svg +16 -0
|
@@ -0,0 +1,442 @@
|
|
|
1
|
+
import { Component, Inject, Optional, } from "@angular/core";
|
|
2
|
+
import { MAT_DIALOG_DATA } from "@angular/material/dialog";
|
|
3
|
+
import { throttle } from "lodash";
|
|
4
|
+
import { API_SERVICE_TOKEN, PBF_TOKEN } from "../../../service/InjectionToken";
|
|
5
|
+
import * as i0 from "@angular/core";
|
|
6
|
+
import * as i1 from "@angular/material/dialog";
|
|
7
|
+
import * as i2 from "../../../service/dialog.service";
|
|
8
|
+
import * as i3 from "../../api";
|
|
9
|
+
import * as i4 from "../../dashboard.service";
|
|
10
|
+
import * as i5 from "../../dashboardPorlets.service";
|
|
11
|
+
import * as i6 from "@angular/common";
|
|
12
|
+
import * as i7 from "@angular/forms";
|
|
13
|
+
import * as i8 from "@angular/material/checkbox";
|
|
14
|
+
import * as i9 from "@angular/material/input";
|
|
15
|
+
import * as i10 from "@syncfusion/ej2-angular-popups";
|
|
16
|
+
export class DataMartNewComponent {
|
|
17
|
+
data;
|
|
18
|
+
dialogRef;
|
|
19
|
+
dialogService;
|
|
20
|
+
dialog;
|
|
21
|
+
api;
|
|
22
|
+
dashboardService;
|
|
23
|
+
DashboardPorletsService;
|
|
24
|
+
ref;
|
|
25
|
+
pbf;
|
|
26
|
+
http;
|
|
27
|
+
translation;
|
|
28
|
+
userInfo;
|
|
29
|
+
lang;
|
|
30
|
+
entityType;
|
|
31
|
+
config;
|
|
32
|
+
fatherList = [];
|
|
33
|
+
sonList = [];
|
|
34
|
+
grandsonList = [];
|
|
35
|
+
fatherId = "";
|
|
36
|
+
sonIds = [];
|
|
37
|
+
selectedAll = false;
|
|
38
|
+
orginGrandData = [];
|
|
39
|
+
disabled = false;
|
|
40
|
+
cacheEntityType = "";
|
|
41
|
+
isSelectAllDisabled = false;
|
|
42
|
+
constructor(data, dialogRef, dialogService, dialog, api, dashboardService, DashboardPorletsService, ref, pbf, http) {
|
|
43
|
+
this.data = data;
|
|
44
|
+
this.dialogRef = dialogRef;
|
|
45
|
+
this.dialogService = dialogService;
|
|
46
|
+
this.dialog = dialog;
|
|
47
|
+
this.api = api;
|
|
48
|
+
this.dashboardService = dashboardService;
|
|
49
|
+
this.DashboardPorletsService = DashboardPorletsService;
|
|
50
|
+
this.ref = ref;
|
|
51
|
+
this.pbf = pbf;
|
|
52
|
+
this.http = http;
|
|
53
|
+
}
|
|
54
|
+
ngOnInit() {
|
|
55
|
+
this.getInfo();
|
|
56
|
+
this.getSources();
|
|
57
|
+
}
|
|
58
|
+
ngAfterViewInit() {
|
|
59
|
+
this.pbf.introStep.next("next");
|
|
60
|
+
}
|
|
61
|
+
getInfo() {
|
|
62
|
+
this.translation = JSON.parse(localStorage.getItem("translation"));
|
|
63
|
+
this.userInfo = JSON.parse(localStorage.getItem("userInfo"));
|
|
64
|
+
this.lang = this.pbf.getLanguageParams();
|
|
65
|
+
this.config =
|
|
66
|
+
this.data && this.data.dashboard
|
|
67
|
+
? JSON.parse(this.data.dashboard.config)
|
|
68
|
+
: {};
|
|
69
|
+
}
|
|
70
|
+
getSources() {
|
|
71
|
+
const dataObj = {
|
|
72
|
+
accountId: this.userInfo.accountId,
|
|
73
|
+
language: this.lang,
|
|
74
|
+
dashboardVersion: 2,
|
|
75
|
+
};
|
|
76
|
+
this.pbf.pageLoading = true;
|
|
77
|
+
this.pbf.pageLoading_.next(true);
|
|
78
|
+
this.http.post(this.api.urlList.GetSources, dataObj, (res) => {
|
|
79
|
+
this.pbf.pageLoading = false;
|
|
80
|
+
this.pbf.pageLoading_.next(true);
|
|
81
|
+
if (res) {
|
|
82
|
+
this.DashboardPorletsService.sourcesData[this.data.dashboard.id] = res;
|
|
83
|
+
this.DashboardPorletsService.GetSourcesRes = res;
|
|
84
|
+
this.fatherList = res;
|
|
85
|
+
if (this.config.datamartId) {
|
|
86
|
+
// this.disabled = true;
|
|
87
|
+
this.fatherId = this.config.datamartId;
|
|
88
|
+
this.sonIds = this.config.datamartViewId
|
|
89
|
+
? this.config.datamartViewId.split(",")
|
|
90
|
+
: this.config.views
|
|
91
|
+
? this.config.views.map((item) => item.datamartViewId)
|
|
92
|
+
: [];
|
|
93
|
+
let datasource = res.find((el) => el.id == this.fatherId);
|
|
94
|
+
if (datasource) {
|
|
95
|
+
this.getdataMart(datasource, true);
|
|
96
|
+
if (!this.cacheEntityType && this.config.datamartId) {
|
|
97
|
+
this.cacheEntityType = this.entityType;
|
|
98
|
+
}
|
|
99
|
+
let dataview = datasource.views.filter((el) => this.sonIds.includes(el.id));
|
|
100
|
+
this.handleItemChange(dataview, true);
|
|
101
|
+
this.getSelectedAllStatus();
|
|
102
|
+
}
|
|
103
|
+
}
|
|
104
|
+
}
|
|
105
|
+
});
|
|
106
|
+
}
|
|
107
|
+
getSelectedAllStatus() {
|
|
108
|
+
let num = 0;
|
|
109
|
+
this.sonList.forEach((son) => {
|
|
110
|
+
if (son.checked && son.langCode !== "FINANCIAL_FIGURES") {
|
|
111
|
+
num++;
|
|
112
|
+
}
|
|
113
|
+
});
|
|
114
|
+
if (num === this.sonList.length - 1)
|
|
115
|
+
this.selectedAll = true;
|
|
116
|
+
else
|
|
117
|
+
this.selectedAll = false;
|
|
118
|
+
}
|
|
119
|
+
nextStep() {
|
|
120
|
+
this.pbf.introStep.next("next");
|
|
121
|
+
}
|
|
122
|
+
getdataMart(item, isInit = false) {
|
|
123
|
+
if (this.cacheEntityType && this.cacheEntityType === item.entityType) {
|
|
124
|
+
return;
|
|
125
|
+
}
|
|
126
|
+
if (!isInit &&
|
|
127
|
+
this.cacheEntityType &&
|
|
128
|
+
this.cacheEntityType !== item.entityType) {
|
|
129
|
+
const _title = this.translation.ARE_YOU_SURE_TO_CHANGE_DATA_MART ||
|
|
130
|
+
".Are you sure to change entity type of data mart? Dashboard will be reset since entity type is changed.";
|
|
131
|
+
const _no = this.translation.NO || ".NO";
|
|
132
|
+
const _yes = this.translation.YES || ".YES";
|
|
133
|
+
// const dialogRef = this.layoutUtilsService.alertElement(
|
|
134
|
+
// this.translation.WARNING || ".WARNING",
|
|
135
|
+
// _title,
|
|
136
|
+
// _no,
|
|
137
|
+
// _yes,
|
|
138
|
+
// true,
|
|
139
|
+
// true,
|
|
140
|
+
// "480px",
|
|
141
|
+
// "324px"
|
|
142
|
+
// );
|
|
143
|
+
const dialogRef = this.dialogService.showCommonDilaog({
|
|
144
|
+
title: this.translation.WARNING || ".WARNING",
|
|
145
|
+
description: _title,
|
|
146
|
+
saveBtnLabel: _yes,
|
|
147
|
+
cancelBtnLabel: _no,
|
|
148
|
+
});
|
|
149
|
+
dialogRef.afterClosed().subscribe((res) => {
|
|
150
|
+
if (!res) {
|
|
151
|
+
return;
|
|
152
|
+
}
|
|
153
|
+
this.setFatherId(item, isInit);
|
|
154
|
+
});
|
|
155
|
+
return;
|
|
156
|
+
}
|
|
157
|
+
if (!item) {
|
|
158
|
+
return;
|
|
159
|
+
}
|
|
160
|
+
this.setFatherId(item, isInit);
|
|
161
|
+
}
|
|
162
|
+
setFatherId(item, isInit) {
|
|
163
|
+
this.fatherId = item.id;
|
|
164
|
+
this.entityType = item.entityType;
|
|
165
|
+
let isFiguresChecked = false;
|
|
166
|
+
let isOtherChecked = false;
|
|
167
|
+
if (item.views.find((item) => item.langCode === "FINANCIAL_FIGURES" && this.sonIds.includes(item.id))) {
|
|
168
|
+
isFiguresChecked = true;
|
|
169
|
+
this.isSelectAllDisabled = true;
|
|
170
|
+
}
|
|
171
|
+
if (item.views.find((item) => item.langCode !== "FINANCIAL_FIGURES" && this.sonIds.includes(item.id)))
|
|
172
|
+
isOtherChecked = true;
|
|
173
|
+
this.sonList = item.views.map((item) => {
|
|
174
|
+
let isDisabled = (isFiguresChecked && item.langCode !== "FINANCIAL_FIGURES") ||
|
|
175
|
+
(item.langCode === "FINANCIAL_FIGURES" && isOtherChecked);
|
|
176
|
+
return {
|
|
177
|
+
...item,
|
|
178
|
+
checked: this.cacheEntityType && this.cacheEntityType !== this.entityType
|
|
179
|
+
? false
|
|
180
|
+
: this.sonIds.includes(item.id),
|
|
181
|
+
disabled: this.cacheEntityType && this.cacheEntityType !== this.entityType
|
|
182
|
+
? false
|
|
183
|
+
: isDisabled,
|
|
184
|
+
};
|
|
185
|
+
});
|
|
186
|
+
this.cacheEntityType = item.entityType;
|
|
187
|
+
if (!isInit) {
|
|
188
|
+
this.sonIds = [];
|
|
189
|
+
this.grandsonList = [];
|
|
190
|
+
this.orginGrandData = [];
|
|
191
|
+
this.selectedAll = false;
|
|
192
|
+
this.isSelectAllDisabled = false;
|
|
193
|
+
if (this.cacheEntityType && this.cacheEntityType !== item.entityType) {
|
|
194
|
+
this.sonList = item.views.map((item) => {
|
|
195
|
+
return {
|
|
196
|
+
...item,
|
|
197
|
+
checked: false,
|
|
198
|
+
disabled: false,
|
|
199
|
+
};
|
|
200
|
+
});
|
|
201
|
+
}
|
|
202
|
+
}
|
|
203
|
+
}
|
|
204
|
+
handleItemChange(data, val) {
|
|
205
|
+
if (!data)
|
|
206
|
+
return false;
|
|
207
|
+
if (val) {
|
|
208
|
+
if (Array.isArray(data)) {
|
|
209
|
+
data.forEach((item) => {
|
|
210
|
+
if (!this.sonIds.includes(item.id)) {
|
|
211
|
+
this.sonIds.push(item.id);
|
|
212
|
+
}
|
|
213
|
+
if (Array.isArray(item.tables)) {
|
|
214
|
+
item.tables.forEach((child) => {
|
|
215
|
+
if (!this.grandsonList.some((el) => el.id === child.id)) {
|
|
216
|
+
this.grandsonList.push({
|
|
217
|
+
...child,
|
|
218
|
+
});
|
|
219
|
+
}
|
|
220
|
+
});
|
|
221
|
+
}
|
|
222
|
+
});
|
|
223
|
+
}
|
|
224
|
+
else {
|
|
225
|
+
// financial figures can’t be selected together with other groups
|
|
226
|
+
if (data.langCode !== "FINANCIAL_FIGURES") {
|
|
227
|
+
this.sonList.forEach((item) => {
|
|
228
|
+
if (item.langCode === "FINANCIAL_FIGURES")
|
|
229
|
+
item.disabled = true;
|
|
230
|
+
});
|
|
231
|
+
}
|
|
232
|
+
else {
|
|
233
|
+
if (!this.sonList.find((item) => item.checked && item.langCode !== "FINANCIAL_FIGURES")) {
|
|
234
|
+
this.sonList.forEach((item) => {
|
|
235
|
+
if (item.langCode !== "FINANCIAL_FIGURES")
|
|
236
|
+
item.disabled = true;
|
|
237
|
+
});
|
|
238
|
+
this.isSelectAllDisabled = true;
|
|
239
|
+
}
|
|
240
|
+
}
|
|
241
|
+
data.tables.forEach((item) => {
|
|
242
|
+
if (!this.grandsonList.some((el) => el.id === item.id)) {
|
|
243
|
+
this.grandsonList.push({
|
|
244
|
+
...item,
|
|
245
|
+
});
|
|
246
|
+
}
|
|
247
|
+
});
|
|
248
|
+
if (!this.sonIds.includes(data.id)) {
|
|
249
|
+
this.sonIds.push(data.id);
|
|
250
|
+
}
|
|
251
|
+
}
|
|
252
|
+
}
|
|
253
|
+
else {
|
|
254
|
+
this.grandsonList = [];
|
|
255
|
+
this.sonList.forEach((item) => {
|
|
256
|
+
if (data.langCode === "FINANCIAL_FIGURES") {
|
|
257
|
+
item.disabled = false;
|
|
258
|
+
this.isSelectAllDisabled = false;
|
|
259
|
+
}
|
|
260
|
+
if (item.id == data.id) {
|
|
261
|
+
item.checked = val;
|
|
262
|
+
}
|
|
263
|
+
if (item.checked) {
|
|
264
|
+
item.tables.forEach((sonItem) => {
|
|
265
|
+
if (!this.grandsonList.some((el) => el.id === sonItem.id)) {
|
|
266
|
+
this.grandsonList.push({
|
|
267
|
+
...sonItem,
|
|
268
|
+
});
|
|
269
|
+
}
|
|
270
|
+
});
|
|
271
|
+
}
|
|
272
|
+
});
|
|
273
|
+
if (data.langCode !== "FINANCIAL_FIGURES" &&
|
|
274
|
+
!this.sonList.find((item) => item.checked && item.langCode !== "FINANCIAL_FIGURES")) {
|
|
275
|
+
this.sonList.forEach((obj) => {
|
|
276
|
+
if (obj.langCode === "FINANCIAL_FIGURES")
|
|
277
|
+
obj.disabled = false;
|
|
278
|
+
});
|
|
279
|
+
}
|
|
280
|
+
this.sonIds = this.sonIds.filter((item) => item != data.id);
|
|
281
|
+
}
|
|
282
|
+
this.getSelectedAllStatus();
|
|
283
|
+
this.orginGrandData = JSON.parse(JSON.stringify(this.grandsonList));
|
|
284
|
+
if (!this.ref["destroyed"]) {
|
|
285
|
+
this.ref.markForCheck();
|
|
286
|
+
this.ref.detectChanges;
|
|
287
|
+
}
|
|
288
|
+
}
|
|
289
|
+
selectAll(val) {
|
|
290
|
+
if (!val) {
|
|
291
|
+
this.orginGrandData = [];
|
|
292
|
+
}
|
|
293
|
+
this.grandsonList = [];
|
|
294
|
+
this.sonIds = [];
|
|
295
|
+
this.sonList.forEach((item) => {
|
|
296
|
+
if (item.langCode !== "FINANCIAL_FIGURES")
|
|
297
|
+
item.checked = val;
|
|
298
|
+
if (val) {
|
|
299
|
+
if (item.langCode === "FINANCIAL_FIGURES") {
|
|
300
|
+
item.disabled = true;
|
|
301
|
+
return;
|
|
302
|
+
}
|
|
303
|
+
this.sonIds.push(item.id);
|
|
304
|
+
item.tables.forEach((sonItem) => {
|
|
305
|
+
if (!this.grandsonList.some((el) => el.id === sonItem.id)) {
|
|
306
|
+
this.grandsonList.push({
|
|
307
|
+
...sonItem,
|
|
308
|
+
});
|
|
309
|
+
}
|
|
310
|
+
});
|
|
311
|
+
}
|
|
312
|
+
else {
|
|
313
|
+
if (item.langCode === "FINANCIAL_FIGURES")
|
|
314
|
+
item.disabled = false;
|
|
315
|
+
}
|
|
316
|
+
});
|
|
317
|
+
this.orginGrandData = JSON.parse(JSON.stringify(this.grandsonList));
|
|
318
|
+
}
|
|
319
|
+
doFilter = throttle((val) => this.doSearch(val), 200);
|
|
320
|
+
doSearch(val) {
|
|
321
|
+
let tempList = JSON.parse(JSON.stringify(this.orginGrandData));
|
|
322
|
+
if (val) {
|
|
323
|
+
this.grandsonList = tempList.filter((item) => item.langValue.toLowerCase().includes(val.toLowerCase()));
|
|
324
|
+
}
|
|
325
|
+
else {
|
|
326
|
+
this.grandsonList = tempList;
|
|
327
|
+
}
|
|
328
|
+
}
|
|
329
|
+
// 保存弹窗筛选数据
|
|
330
|
+
saveData() {
|
|
331
|
+
this.pbf.introStep.next("complete");
|
|
332
|
+
this.pbf.pageLoading = true;
|
|
333
|
+
let config;
|
|
334
|
+
let datamartViewCode = this.sonList.filter((el) => this.sonIds.includes(el.id));
|
|
335
|
+
config = {
|
|
336
|
+
datamartId: this.fatherId,
|
|
337
|
+
datamartViewId: this.sonIds.join(","),
|
|
338
|
+
views: datamartViewCode.map((e) => {
|
|
339
|
+
return {
|
|
340
|
+
datamartViewId: e.id,
|
|
341
|
+
datamartViewCode: e.langCode,
|
|
342
|
+
};
|
|
343
|
+
}),
|
|
344
|
+
};
|
|
345
|
+
const entityList = this.data.dashboard.entityType === this.entityType
|
|
346
|
+
? this.DashboardPorletsService.entityList
|
|
347
|
+
: [];
|
|
348
|
+
const dataObj = {
|
|
349
|
+
entityList,
|
|
350
|
+
accountId: this.userInfo.accountId,
|
|
351
|
+
userId: this.userInfo.id,
|
|
352
|
+
dashboardId: this.data.dashboardId,
|
|
353
|
+
dataMartTables: this.grandsonList,
|
|
354
|
+
entityType: this.entityType || this.data.dashboard.entityType,
|
|
355
|
+
config: JSON.stringify(config),
|
|
356
|
+
};
|
|
357
|
+
this.http.post(this.api.urlList.AddDataMartTables, dataObj, (res) => {
|
|
358
|
+
if (res.status === "SUCCESS") {
|
|
359
|
+
const _saveMessage = this.translation.DASHBOARD_PROPERTIES_SAVED ||
|
|
360
|
+
".DASHBOARD_PROPERTIES_SAVED";
|
|
361
|
+
this.showToast(_saveMessage, "Success");
|
|
362
|
+
this.config.datamartViewId = this.sonIds.join(",");
|
|
363
|
+
this.config.views = [];
|
|
364
|
+
this.sonList.forEach((item) => {
|
|
365
|
+
this.sonIds.forEach((sonId) => {
|
|
366
|
+
if (item.id === sonId) {
|
|
367
|
+
this.config.views.push({
|
|
368
|
+
datamartViewCode: item.langCode,
|
|
369
|
+
datamartViewId: item.id,
|
|
370
|
+
});
|
|
371
|
+
}
|
|
372
|
+
});
|
|
373
|
+
});
|
|
374
|
+
this.data.dashboard.config = JSON.stringify(this.config);
|
|
375
|
+
if (this.data.edit) {
|
|
376
|
+
this.DashboardPorletsService.portletFields_Temp = {};
|
|
377
|
+
}
|
|
378
|
+
if (entityList &&
|
|
379
|
+
entityList.length &&
|
|
380
|
+
this.data.dashboard.entityType === this.entityType) {
|
|
381
|
+
this.pbf.triggerDashboardRefresh.next({
|
|
382
|
+
entityList,
|
|
383
|
+
id: this.data.dashboard.id,
|
|
384
|
+
});
|
|
385
|
+
this.dialogRef.close();
|
|
386
|
+
return;
|
|
387
|
+
}
|
|
388
|
+
this.DashboardPorletsService.GetDashboardV1(this.data.dashboardId, true, (res, portlets = []) => {
|
|
389
|
+
this.dashboardService.changelayout.next({
|
|
390
|
+
status: "true",
|
|
391
|
+
id: this.data.dashboard.id,
|
|
392
|
+
});
|
|
393
|
+
this.pbf.pageLoading = false;
|
|
394
|
+
this.dialogRef.close({
|
|
395
|
+
push_btn: false,
|
|
396
|
+
portlet: {},
|
|
397
|
+
portlets,
|
|
398
|
+
dashboard: res,
|
|
399
|
+
});
|
|
400
|
+
this.ref.markForCheck();
|
|
401
|
+
});
|
|
402
|
+
}
|
|
403
|
+
else {
|
|
404
|
+
this.pbf.pageLoading = false;
|
|
405
|
+
this.pbf.pageLoading_.next(true);
|
|
406
|
+
this.ref.markForCheck();
|
|
407
|
+
const _saveMessage = res.messages[0].message || "error";
|
|
408
|
+
this.showToast(_saveMessage, "Error");
|
|
409
|
+
}
|
|
410
|
+
});
|
|
411
|
+
}
|
|
412
|
+
// toast msg
|
|
413
|
+
showToast(msg, status) {
|
|
414
|
+
this.dialogService.showNotification(msg, {
|
|
415
|
+
status,
|
|
416
|
+
});
|
|
417
|
+
}
|
|
418
|
+
// 关闭弹窗
|
|
419
|
+
closePopup() {
|
|
420
|
+
this.dialogRef.close();
|
|
421
|
+
}
|
|
422
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: DataMartNewComponent, deps: [{ token: MAT_DIALOG_DATA }, { token: i1.MatDialogRef }, { token: i2.DialogService }, { token: i1.MatDialog }, { token: i3.ApiList }, { token: i4.DashboardService }, { token: i5.DashboardPorletsService }, { token: i0.ChangeDetectorRef }, { token: PBF_TOKEN, optional: true }, { token: API_SERVICE_TOKEN, optional: true }], target: i0.ɵɵFactoryTarget.Component });
|
|
423
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: DataMartNewComponent, selector: "rs-data-mart-new", ngImport: i0, template: "<div class=\"new_mart_data_popup\">\r\n\t<div class=\"close_box\" (click)=\"closePopup()\">\r\n\t\t<img src=\"../../../../assets/img/dialog-close.svg\" class=\"deleteIcon\" />\r\n\t</div>\r\n\t<div class=\"popup_header\">\r\n\t\t<p class=\"popup_title\">{{ translation.DATA_MART || \".DATA_MART\" }}</p>\r\n\t\t<p class=\"popup_sub_title\">\r\n\t\t\t{{\r\n\t\t\t\ttranslation.PLS_SELECT_DATA_TABLES ||\r\n\t\t\t\t\t\".Please select data tables for this dashboard\"\r\n\t\t\t}}\r\n\t\t</p>\r\n\t</div>\r\n\t<div class=\"popup_main_container\">\r\n\t\t<div class=\"left_menu_container\" id=\"info-step-2\">\r\n\t\t\t<div\r\n\t\t\t\tclass=\"menu_item\"\r\n\t\t\t\t*ngFor=\"let item of fatherList\"\r\n\t\t\t\t[ngClass]=\"{ selectItem: fatherId === item.id }\"\r\n\t\t\t\t(click)=\"getdataMart(item, true)\"\r\n\t\t\t>\r\n\t\t\t\t<span class=\"activeLine\" *ngIf=\"fatherId === item.id\"></span>\r\n\t\t\t\t{{\r\n\t\t\t\t\titem.FromQB\r\n\t\t\t\t\t\t? item.langCode\r\n\t\t\t\t\t\t: translation[item.langCode] || \".\" + item.langCode\r\n\t\t\t\t}}\r\n\t\t\t</div>\r\n\t\t</div>\r\n\t\t<div class=\"table_container\" id=\"info-step-3\" (click)=\"nextStep()\">\r\n\t\t\t<div class=\"table_content\">\r\n\t\t\t\t<div class=\"group_data\">\r\n\t\t\t\t\t<div class=\"table_header\">\r\n\t\t\t\t\t\t<div class=\"div_group\">\r\n\t\t\t\t\t\t\t<mat-checkbox\r\n\t\t\t\t\t\t\t\t[disabled]=\"isSelectAllDisabled\"\r\n\t\t\t\t\t\t\t\t[color]=\"'primary'\"\r\n\t\t\t\t\t\t\t\t[(ngModel)]=\"selectedAll\"\r\n\t\t\t\t\t\t\t\t(ngModelChange)=\"selectAll($event)\"\r\n\t\t\t\t\t\t\t\t>{{\r\n\t\t\t\t\t\t\t\t\ttranslation[\"GROUP\"] || \".group\"\r\n\t\t\t\t\t\t\t\t}}</mat-checkbox\r\n\t\t\t\t\t\t\t>\r\n\t\t\t\t\t\t</div>\r\n\t\t\t\t\t</div>\r\n\t\t\t\t\t<div class=\"group_item__box\" *ngFor=\"let item of sonList\">\r\n\t\t\t\t\t\t<mat-checkbox\r\n\t\t\t\t\t\t\t[disabled]=\"item.disabled\"\r\n\t\t\t\t\t\t\t[color]=\"'primary'\"\r\n\t\t\t\t\t\t\t[(ngModel)]=\"item.checked\"\r\n\t\t\t\t\t\t\t(ngModelChange)=\"handleItemChange(item, $event)\"\r\n\t\t\t\t\t\t\t>{{\r\n\t\t\t\t\t\t\t\titem.FromQB\r\n\t\t\t\t\t\t\t\t\t? item.langCode\r\n\t\t\t\t\t\t\t\t\t: translation[item.langCode] ||\r\n\t\t\t\t\t\t\t\t\t \".\" + item.langCode\r\n\t\t\t\t\t\t\t}}</mat-checkbox\r\n\t\t\t\t\t\t>\r\n\t\t\t\t\t\t<ejs-tooltip\r\n\t\t\t\t\t\t\t*ngIf=\"item.langCode === 'FINANCIAL_FIGURES'\"\r\n\t\t\t\t\t\t\tid=\"tooltip\"\r\n\t\t\t\t\t\t\tcssClass=\"figures-tooltip\"\r\n\t\t\t\t\t\t\t[content]=\"\r\n\t\t\t\t\t\t\t\ttranslation.DASHBOARD_FINANCIAL_FIGURES_TOOLTIPS ||\r\n\t\t\t\t\t\t\t\t'Financial Figures can\u2019t be selected together with other groups.'\r\n\t\t\t\t\t\t\t\"\r\n\t\t\t\t\t\t>\r\n\t\t\t\t\t\t\t<span></span>\r\n\t\t\t\t\t\t</ejs-tooltip>\r\n\t\t\t\t\t\t<!-- <ejs-tooltip\r\n\t\t\t\t\t\t\t*ngIf=\"\r\n\t\t\t\t\t\t\t\tDashboardPorletsService.checkIsQ2Q(item.tables)\r\n\t\t\t\t\t\t\t\"\r\n\t\t\t\t\t\t\tcssClass=\"figures-tooltip\"\r\n\t\t\t\t\t\t\tcontent=\"Q2Q\"\r\n\t\t\t\t\t\t>\r\n\t\t\t\t\t\t\t<span></span>\r\n\t\t\t\t\t\t</ejs-tooltip> -->\r\n\t\t\t\t\t</div>\r\n\t\t\t\t</div>\r\n\t\t\t\t<div class=\"table_data\">\r\n\t\t\t\t\t<div class=\"table_header\">\r\n\t\t\t\t\t\t<div class=\"data_table_box\">\r\n\t\t\t\t\t\t\t<div class=\"table_title\">\r\n\t\t\t\t\t\t\t\t{{ translation[\"DATA_TABLE\"] || \".Data Table\" }}\r\n\t\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t\t<div class=\"search_container\">\r\n\t\t\t\t\t\t\t\t<input\r\n\t\t\t\t\t\t\t\t\ttype=\"text\"\r\n\t\t\t\t\t\t\t\t\tmatInput\r\n\t\t\t\t\t\t\t\t\t[placeholder]=\"translation['SEARCH']\"\r\n\t\t\t\t\t\t\t\t\tclass=\"search_input\"\r\n\t\t\t\t\t\t\t\t\t(keyup)=\"doFilter($event.target.value)\"\r\n\t\t\t\t\t\t\t\t\tautocomplete=\"off\"\r\n\t\t\t\t\t\t\t\t\t(keydown)=\"\r\n\t\t\t\t\t\t\t\t\t\tpbf.disabledInputEnterEvent($event)\r\n\t\t\t\t\t\t\t\t\t\"\r\n\t\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t</div>\r\n\t\t\t\t\t</div>\r\n\t\t\t\t\t<div class=\"table_main_content\" style=\"overflow: auto\">\r\n\t\t\t\t\t\t<div\r\n\t\t\t\t\t\t\t*ngFor=\"let item of grandsonList\"\r\n\t\t\t\t\t\t\t[ngClass]=\"{ maxBox: grandsonList.length >= 11 }\"\r\n\t\t\t\t\t\t>\r\n\t\t\t\t\t\t\t<div *ngIf=\"!item.isHide\" class=\"table_data_item\">\r\n\t\t\t\t\t\t\t\t{{\r\n\t\t\t\t\t\t\t\t\titem.FromQB\r\n\t\t\t\t\t\t\t\t\t\t? item.langCode\r\n\t\t\t\t\t\t\t\t\t\t: translation[item.langCode] ||\r\n\t\t\t\t\t\t\t\t\t\t \".\" + item.langCode\r\n\t\t\t\t\t\t\t\t}}\r\n\t\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t</div>\r\n\t\t\t\t\t</div>\r\n\t\t\t\t</div>\r\n\t\t\t</div>\r\n\t\t</div>\r\n\t</div>\r\n\t<div class=\"popup_footer\">\r\n\t\t<button class=\"cancle_btn popup_btn\" (click)=\"closePopup()\">\r\n\t\t\t{{ translation[\"CANCEL\"] || \".CANCEL\" }}\r\n\t\t</button>\r\n\t\t<button\r\n\t\t\tclass=\"sure_btn popup_btn\"\r\n\t\t\tid=\"info-step-5\"\r\n\t\t\t(click)=\"saveData()\"\r\n\t\t\t[disabled]=\"disabled || !entityType || grandsonList.length == 0\"\r\n\t\t>\r\n\t\t\t{{ translation[\"SAVE\"] || \".SAVE\" }}\r\n\t\t</button>\r\n\t</div>\r\n</div>\r\n", styles: [".new_mart_data_popup{width:100%;position:relative;height:100%;padding:60px 74px;font-family:Arial;display:flex;flex-direction:column;overflow:hidden}.new_mart_data_popup .close_box{position:absolute;right:12px;top:12px;padding:10px;cursor:pointer}.new_mart_data_popup .close_box .deleteIcon{width:24px;height:24px}.new_mart_data_popup .popup_header{margin-bottom:32px}.new_mart_data_popup .popup_header .popup_title{font-size:24px;font-weight:700;text-align:center;color:#44566c;line-height:28px;margin-bottom:12px}.new_mart_data_popup .popup_header .popup_sub_title{font-size:13px;line-height:15px;color:#44566c;text-align:center}.new_mart_data_popup .popup_main_container{flex:1;width:100%;margin-bottom:40px;display:flex;overflow:hidden}.new_mart_data_popup .popup_main_container .left_menu_container{margin-right:30px;text-align:left}.new_mart_data_popup .popup_main_container .left_menu_container .menu_item{line-height:16px;margin-bottom:22px;color:#002c4f;font-size:13px;position:relative;max-width:160px;word-wrap:break-word;cursor:pointer;padding-left:15px}.new_mart_data_popup .popup_main_container .left_menu_container .menu_item.selectItem{font-weight:700}.new_mart_data_popup .popup_main_container .left_menu_container .menu_item .activeLine{display:block;position:absolute;left:0;top:0;width:2px;height:17px;background-color:#0081ff}.new_mart_data_popup .popup_main_container .table_container{flex:1;height:100%;overflow:hidden;border:1px solid #eaedf0;display:flex;flex-direction:column}.new_mart_data_popup .popup_main_container .table_container .table_header{height:40px;background-color:#f8fafb;display:flex;align-items:center}.new_mart_data_popup .popup_main_container .table_container .table_header::ng-deep .mat-checkbox .mat-checkbox-layout{color:#44566c;font-size:13px;font-weight:700}.new_mart_data_popup .popup_main_container .table_container .table_header .div_group{min-width:200px;padding-left:20px}.new_mart_data_popup .popup_main_container .table_container .table_header .data_table_box{flex:1;display:flex;align-items:center;justify-content:space-between;padding-left:20px;padding-right:5px}.new_mart_data_popup .popup_main_container .table_container .table_header .data_table_box .table_title{font-size:13px;font-weight:700;color:#44566c}.new_mart_data_popup .popup_main_container .table_container .table_header .data_table_box .search_container{width:190px;height:30px;position:relative}.new_mart_data_popup .popup_main_container .table_container .table_header .data_table_box .search_container .search_input{background-image:url(\"data:image/svg+xml,%3Csvg width%3D%2216%22 height%3D%2216%22 viewBox%3D%220 0 16 16%22 fill%3D%22none%22 xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%0D%3Ccircle cx%3D%227%22 cy%3D%227%22 r%3D%224.5%22 transform%3D%22rotate(-90 7 7)%22 stroke%3D%22%236C7C90%22%2F%3E%0D%3Cline x1%3D%2210.3399%22 y1%3D%229.63326%22 x2%3D%2213.8754%22 y2%3D%2213.1688%22 stroke%3D%22%236C7C90%22%2F%3E%0D%3C%2Fsvg%3E%0D\");background-size:16px;background-repeat:no-repeat;background-position-y:center;background-position-x:10px;width:190px;height:30px;padding:7px 7px 6px 38px;border-radius:5px;background-color:#fff;transform:translateY(0);outline:none;border:none;font-weight:400!important;color:#44566c;font-size:12px!important}.new_mart_data_popup .popup_main_container .table_container .table_header .data_table_box .search_container .search_input::placeholder{color:#adb5bd}.new_mart_data_popup .popup_main_container .table_container .table_content{display:flex;flex:1;overflow:hidden}.new_mart_data_popup .popup_main_container .table_container .table_content::ng-deep .mat-checkbox .mat-checkbox-layout{color:#44566c;font-size:13px;font-weight:400}.new_mart_data_popup .popup_main_container .table_container .table_content .group_data{height:100%;border-right:1px solid #eaedf0}.new_mart_data_popup .popup_main_container .table_container .table_content .group_data .group_item__box{display:flex;align-items:center;padding-left:20px;height:40px;border-bottom:1px solid #eaedf0;padding-right:10px}.new_mart_data_popup .popup_main_container .table_container .table_content .group_data .group_item__box .e-tooltip{margin-left:5px}.new_mart_data_popup .popup_main_container .table_container .table_content .group_data .group_item__box .e-tooltip span{display:inline-block;width:14px;height:14px;background-image:url(\"data:image/svg+xml,%3Csvg width%3D%2218%22 height%3D%2218%22 viewBox%3D%220 0 18 18%22 xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%0D %3Cpath d%3D%22M9 1a8 8 0 1 0 8 8 8.009 8.009 0 0 0-8-8zm0 14.667A6.666 6.666 0 1 1 15.667 9 6.674 6.674 0 0 1 9 15.667z%22 fill%3D%22%2344566C%22%2F%3E%0D %3Cpath d%3D%22M9 7.667h-.667a.667.667 0 1 0 0 1.333h.666v4a.667.667 0 0 0 1.334 0V9a1.333 1.333 0 0 0-1.334-1.333zM9 6.333a1 1 0 1 0 0-2 1 1 0 0 0 0 2z%22 fill%3D%22%2344566C%22%2F%3E%0D%3C%2Fsvg%3E%0D\");background-size:contain;margin-top:5px;cursor:pointer}.new_mart_data_popup .popup_main_container .table_container .table_content .table_data{flex:1;display:flex;height:100%;flex-direction:column;overflow:hidden}.new_mart_data_popup .popup_main_container .table_container .table_content .table_data .table_main_content{flex:1;overflow:auto}.new_mart_data_popup .popup_main_container .table_container .table_content .table_data .maxBox:last-child .table_data_item{border-bottom:none}.new_mart_data_popup .popup_main_container .table_container .table_content .table_data .table_data_item{padding-right:5px;padding-left:20px;height:40px;line-height:40px;font-size:13px;color:#44566c;border-bottom:1px solid #eaedf0}.new_mart_data_popup .popup_main_container::ng-deep .mat-checkbox .mat-checkbox-background{border:1px solid #d1d1d1}.new_mart_data_popup .popup_main_container::ng-deep .mat-checkbox.mat-checkbox-checked .mat-checkbox-background{border:none}.new_mart_data_popup .disabled-button{pointer-events:none;opacity:.5}.new_mart_data_popup .popup_footer{height:40px;display:flex;align-items:center;justify-content:center}.new_mart_data_popup .popup_footer .popup_btn{width:200px;height:40px;line-height:40px;border:none;border-radius:5px;text-align:center;font-size:13px;font-weight:700}.new_mart_data_popup .popup_footer .popup_btn.cancle_btn{background-color:#eaedf0;color:#979797;margin-right:20px}.new_mart_data_popup .popup_footer .popup_btn.sure_btn{color:#fff;background-color:#1364b3}\n"], dependencies: [{ kind: "directive", type: i6.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i6.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i6.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i7.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i7.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: i8.MatCheckbox, selector: "mat-checkbox", inputs: ["disableRipple", "color", "tabIndex"], exportAs: ["matCheckbox"] }, { kind: "directive", type: i9.MatInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["disabled", "id", "placeholder", "name", "required", "type", "errorStateMatcher", "aria-describedby", "value", "readonly"], exportAs: ["matInput"] }, { kind: "component", type: i10.TooltipComponent, selector: "ejs-tooltip", inputs: ["animation", "closeDelay", "container", "content", "cssClass", "enableHtmlParse", "enableHtmlSanitizer", "enablePersistence", "enableRtl", "height", "htmlAttributes", "isSticky", "locale", "mouseTrail", "offsetX", "offsetY", "openDelay", "opensOn", "position", "showTipPointer", "target", "tipPointerPosition", "width", "windowCollision"], outputs: ["afterClose", "afterOpen", "beforeClose", "beforeCollision", "beforeOpen", "beforeRender", "created", "destroyed"] }] });
|
|
424
|
+
}
|
|
425
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: DataMartNewComponent, decorators: [{
|
|
426
|
+
type: Component,
|
|
427
|
+
args: [{ selector: "rs-data-mart-new", template: "<div class=\"new_mart_data_popup\">\r\n\t<div class=\"close_box\" (click)=\"closePopup()\">\r\n\t\t<img src=\"../../../../assets/img/dialog-close.svg\" class=\"deleteIcon\" />\r\n\t</div>\r\n\t<div class=\"popup_header\">\r\n\t\t<p class=\"popup_title\">{{ translation.DATA_MART || \".DATA_MART\" }}</p>\r\n\t\t<p class=\"popup_sub_title\">\r\n\t\t\t{{\r\n\t\t\t\ttranslation.PLS_SELECT_DATA_TABLES ||\r\n\t\t\t\t\t\".Please select data tables for this dashboard\"\r\n\t\t\t}}\r\n\t\t</p>\r\n\t</div>\r\n\t<div class=\"popup_main_container\">\r\n\t\t<div class=\"left_menu_container\" id=\"info-step-2\">\r\n\t\t\t<div\r\n\t\t\t\tclass=\"menu_item\"\r\n\t\t\t\t*ngFor=\"let item of fatherList\"\r\n\t\t\t\t[ngClass]=\"{ selectItem: fatherId === item.id }\"\r\n\t\t\t\t(click)=\"getdataMart(item, true)\"\r\n\t\t\t>\r\n\t\t\t\t<span class=\"activeLine\" *ngIf=\"fatherId === item.id\"></span>\r\n\t\t\t\t{{\r\n\t\t\t\t\titem.FromQB\r\n\t\t\t\t\t\t? item.langCode\r\n\t\t\t\t\t\t: translation[item.langCode] || \".\" + item.langCode\r\n\t\t\t\t}}\r\n\t\t\t</div>\r\n\t\t</div>\r\n\t\t<div class=\"table_container\" id=\"info-step-3\" (click)=\"nextStep()\">\r\n\t\t\t<div class=\"table_content\">\r\n\t\t\t\t<div class=\"group_data\">\r\n\t\t\t\t\t<div class=\"table_header\">\r\n\t\t\t\t\t\t<div class=\"div_group\">\r\n\t\t\t\t\t\t\t<mat-checkbox\r\n\t\t\t\t\t\t\t\t[disabled]=\"isSelectAllDisabled\"\r\n\t\t\t\t\t\t\t\t[color]=\"'primary'\"\r\n\t\t\t\t\t\t\t\t[(ngModel)]=\"selectedAll\"\r\n\t\t\t\t\t\t\t\t(ngModelChange)=\"selectAll($event)\"\r\n\t\t\t\t\t\t\t\t>{{\r\n\t\t\t\t\t\t\t\t\ttranslation[\"GROUP\"] || \".group\"\r\n\t\t\t\t\t\t\t\t}}</mat-checkbox\r\n\t\t\t\t\t\t\t>\r\n\t\t\t\t\t\t</div>\r\n\t\t\t\t\t</div>\r\n\t\t\t\t\t<div class=\"group_item__box\" *ngFor=\"let item of sonList\">\r\n\t\t\t\t\t\t<mat-checkbox\r\n\t\t\t\t\t\t\t[disabled]=\"item.disabled\"\r\n\t\t\t\t\t\t\t[color]=\"'primary'\"\r\n\t\t\t\t\t\t\t[(ngModel)]=\"item.checked\"\r\n\t\t\t\t\t\t\t(ngModelChange)=\"handleItemChange(item, $event)\"\r\n\t\t\t\t\t\t\t>{{\r\n\t\t\t\t\t\t\t\titem.FromQB\r\n\t\t\t\t\t\t\t\t\t? item.langCode\r\n\t\t\t\t\t\t\t\t\t: translation[item.langCode] ||\r\n\t\t\t\t\t\t\t\t\t \".\" + item.langCode\r\n\t\t\t\t\t\t\t}}</mat-checkbox\r\n\t\t\t\t\t\t>\r\n\t\t\t\t\t\t<ejs-tooltip\r\n\t\t\t\t\t\t\t*ngIf=\"item.langCode === 'FINANCIAL_FIGURES'\"\r\n\t\t\t\t\t\t\tid=\"tooltip\"\r\n\t\t\t\t\t\t\tcssClass=\"figures-tooltip\"\r\n\t\t\t\t\t\t\t[content]=\"\r\n\t\t\t\t\t\t\t\ttranslation.DASHBOARD_FINANCIAL_FIGURES_TOOLTIPS ||\r\n\t\t\t\t\t\t\t\t'Financial Figures can\u2019t be selected together with other groups.'\r\n\t\t\t\t\t\t\t\"\r\n\t\t\t\t\t\t>\r\n\t\t\t\t\t\t\t<span></span>\r\n\t\t\t\t\t\t</ejs-tooltip>\r\n\t\t\t\t\t\t<!-- <ejs-tooltip\r\n\t\t\t\t\t\t\t*ngIf=\"\r\n\t\t\t\t\t\t\t\tDashboardPorletsService.checkIsQ2Q(item.tables)\r\n\t\t\t\t\t\t\t\"\r\n\t\t\t\t\t\t\tcssClass=\"figures-tooltip\"\r\n\t\t\t\t\t\t\tcontent=\"Q2Q\"\r\n\t\t\t\t\t\t>\r\n\t\t\t\t\t\t\t<span></span>\r\n\t\t\t\t\t\t</ejs-tooltip> -->\r\n\t\t\t\t\t</div>\r\n\t\t\t\t</div>\r\n\t\t\t\t<div class=\"table_data\">\r\n\t\t\t\t\t<div class=\"table_header\">\r\n\t\t\t\t\t\t<div class=\"data_table_box\">\r\n\t\t\t\t\t\t\t<div class=\"table_title\">\r\n\t\t\t\t\t\t\t\t{{ translation[\"DATA_TABLE\"] || \".Data Table\" }}\r\n\t\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t\t<div class=\"search_container\">\r\n\t\t\t\t\t\t\t\t<input\r\n\t\t\t\t\t\t\t\t\ttype=\"text\"\r\n\t\t\t\t\t\t\t\t\tmatInput\r\n\t\t\t\t\t\t\t\t\t[placeholder]=\"translation['SEARCH']\"\r\n\t\t\t\t\t\t\t\t\tclass=\"search_input\"\r\n\t\t\t\t\t\t\t\t\t(keyup)=\"doFilter($event.target.value)\"\r\n\t\t\t\t\t\t\t\t\tautocomplete=\"off\"\r\n\t\t\t\t\t\t\t\t\t(keydown)=\"\r\n\t\t\t\t\t\t\t\t\t\tpbf.disabledInputEnterEvent($event)\r\n\t\t\t\t\t\t\t\t\t\"\r\n\t\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t</div>\r\n\t\t\t\t\t</div>\r\n\t\t\t\t\t<div class=\"table_main_content\" style=\"overflow: auto\">\r\n\t\t\t\t\t\t<div\r\n\t\t\t\t\t\t\t*ngFor=\"let item of grandsonList\"\r\n\t\t\t\t\t\t\t[ngClass]=\"{ maxBox: grandsonList.length >= 11 }\"\r\n\t\t\t\t\t\t>\r\n\t\t\t\t\t\t\t<div *ngIf=\"!item.isHide\" class=\"table_data_item\">\r\n\t\t\t\t\t\t\t\t{{\r\n\t\t\t\t\t\t\t\t\titem.FromQB\r\n\t\t\t\t\t\t\t\t\t\t? item.langCode\r\n\t\t\t\t\t\t\t\t\t\t: translation[item.langCode] ||\r\n\t\t\t\t\t\t\t\t\t\t \".\" + item.langCode\r\n\t\t\t\t\t\t\t\t}}\r\n\t\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t</div>\r\n\t\t\t\t\t</div>\r\n\t\t\t\t</div>\r\n\t\t\t</div>\r\n\t\t</div>\r\n\t</div>\r\n\t<div class=\"popup_footer\">\r\n\t\t<button class=\"cancle_btn popup_btn\" (click)=\"closePopup()\">\r\n\t\t\t{{ translation[\"CANCEL\"] || \".CANCEL\" }}\r\n\t\t</button>\r\n\t\t<button\r\n\t\t\tclass=\"sure_btn popup_btn\"\r\n\t\t\tid=\"info-step-5\"\r\n\t\t\t(click)=\"saveData()\"\r\n\t\t\t[disabled]=\"disabled || !entityType || grandsonList.length == 0\"\r\n\t\t>\r\n\t\t\t{{ translation[\"SAVE\"] || \".SAVE\" }}\r\n\t\t</button>\r\n\t</div>\r\n</div>\r\n", styles: [".new_mart_data_popup{width:100%;position:relative;height:100%;padding:60px 74px;font-family:Arial;display:flex;flex-direction:column;overflow:hidden}.new_mart_data_popup .close_box{position:absolute;right:12px;top:12px;padding:10px;cursor:pointer}.new_mart_data_popup .close_box .deleteIcon{width:24px;height:24px}.new_mart_data_popup .popup_header{margin-bottom:32px}.new_mart_data_popup .popup_header .popup_title{font-size:24px;font-weight:700;text-align:center;color:#44566c;line-height:28px;margin-bottom:12px}.new_mart_data_popup .popup_header .popup_sub_title{font-size:13px;line-height:15px;color:#44566c;text-align:center}.new_mart_data_popup .popup_main_container{flex:1;width:100%;margin-bottom:40px;display:flex;overflow:hidden}.new_mart_data_popup .popup_main_container .left_menu_container{margin-right:30px;text-align:left}.new_mart_data_popup .popup_main_container .left_menu_container .menu_item{line-height:16px;margin-bottom:22px;color:#002c4f;font-size:13px;position:relative;max-width:160px;word-wrap:break-word;cursor:pointer;padding-left:15px}.new_mart_data_popup .popup_main_container .left_menu_container .menu_item.selectItem{font-weight:700}.new_mart_data_popup .popup_main_container .left_menu_container .menu_item .activeLine{display:block;position:absolute;left:0;top:0;width:2px;height:17px;background-color:#0081ff}.new_mart_data_popup .popup_main_container .table_container{flex:1;height:100%;overflow:hidden;border:1px solid #eaedf0;display:flex;flex-direction:column}.new_mart_data_popup .popup_main_container .table_container .table_header{height:40px;background-color:#f8fafb;display:flex;align-items:center}.new_mart_data_popup .popup_main_container .table_container .table_header::ng-deep .mat-checkbox .mat-checkbox-layout{color:#44566c;font-size:13px;font-weight:700}.new_mart_data_popup .popup_main_container .table_container .table_header .div_group{min-width:200px;padding-left:20px}.new_mart_data_popup .popup_main_container .table_container .table_header .data_table_box{flex:1;display:flex;align-items:center;justify-content:space-between;padding-left:20px;padding-right:5px}.new_mart_data_popup .popup_main_container .table_container .table_header .data_table_box .table_title{font-size:13px;font-weight:700;color:#44566c}.new_mart_data_popup .popup_main_container .table_container .table_header .data_table_box .search_container{width:190px;height:30px;position:relative}.new_mart_data_popup .popup_main_container .table_container .table_header .data_table_box .search_container .search_input{background-image:url(\"data:image/svg+xml,%3Csvg width%3D%2216%22 height%3D%2216%22 viewBox%3D%220 0 16 16%22 fill%3D%22none%22 xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%0D%3Ccircle cx%3D%227%22 cy%3D%227%22 r%3D%224.5%22 transform%3D%22rotate(-90 7 7)%22 stroke%3D%22%236C7C90%22%2F%3E%0D%3Cline x1%3D%2210.3399%22 y1%3D%229.63326%22 x2%3D%2213.8754%22 y2%3D%2213.1688%22 stroke%3D%22%236C7C90%22%2F%3E%0D%3C%2Fsvg%3E%0D\");background-size:16px;background-repeat:no-repeat;background-position-y:center;background-position-x:10px;width:190px;height:30px;padding:7px 7px 6px 38px;border-radius:5px;background-color:#fff;transform:translateY(0);outline:none;border:none;font-weight:400!important;color:#44566c;font-size:12px!important}.new_mart_data_popup .popup_main_container .table_container .table_header .data_table_box .search_container .search_input::placeholder{color:#adb5bd}.new_mart_data_popup .popup_main_container .table_container .table_content{display:flex;flex:1;overflow:hidden}.new_mart_data_popup .popup_main_container .table_container .table_content::ng-deep .mat-checkbox .mat-checkbox-layout{color:#44566c;font-size:13px;font-weight:400}.new_mart_data_popup .popup_main_container .table_container .table_content .group_data{height:100%;border-right:1px solid #eaedf0}.new_mart_data_popup .popup_main_container .table_container .table_content .group_data .group_item__box{display:flex;align-items:center;padding-left:20px;height:40px;border-bottom:1px solid #eaedf0;padding-right:10px}.new_mart_data_popup .popup_main_container .table_container .table_content .group_data .group_item__box .e-tooltip{margin-left:5px}.new_mart_data_popup .popup_main_container .table_container .table_content .group_data .group_item__box .e-tooltip span{display:inline-block;width:14px;height:14px;background-image:url(\"data:image/svg+xml,%3Csvg width%3D%2218%22 height%3D%2218%22 viewBox%3D%220 0 18 18%22 xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%0D %3Cpath d%3D%22M9 1a8 8 0 1 0 8 8 8.009 8.009 0 0 0-8-8zm0 14.667A6.666 6.666 0 1 1 15.667 9 6.674 6.674 0 0 1 9 15.667z%22 fill%3D%22%2344566C%22%2F%3E%0D %3Cpath d%3D%22M9 7.667h-.667a.667.667 0 1 0 0 1.333h.666v4a.667.667 0 0 0 1.334 0V9a1.333 1.333 0 0 0-1.334-1.333zM9 6.333a1 1 0 1 0 0-2 1 1 0 0 0 0 2z%22 fill%3D%22%2344566C%22%2F%3E%0D%3C%2Fsvg%3E%0D\");background-size:contain;margin-top:5px;cursor:pointer}.new_mart_data_popup .popup_main_container .table_container .table_content .table_data{flex:1;display:flex;height:100%;flex-direction:column;overflow:hidden}.new_mart_data_popup .popup_main_container .table_container .table_content .table_data .table_main_content{flex:1;overflow:auto}.new_mart_data_popup .popup_main_container .table_container .table_content .table_data .maxBox:last-child .table_data_item{border-bottom:none}.new_mart_data_popup .popup_main_container .table_container .table_content .table_data .table_data_item{padding-right:5px;padding-left:20px;height:40px;line-height:40px;font-size:13px;color:#44566c;border-bottom:1px solid #eaedf0}.new_mart_data_popup .popup_main_container::ng-deep .mat-checkbox .mat-checkbox-background{border:1px solid #d1d1d1}.new_mart_data_popup .popup_main_container::ng-deep .mat-checkbox.mat-checkbox-checked .mat-checkbox-background{border:none}.new_mart_data_popup .disabled-button{pointer-events:none;opacity:.5}.new_mart_data_popup .popup_footer{height:40px;display:flex;align-items:center;justify-content:center}.new_mart_data_popup .popup_footer .popup_btn{width:200px;height:40px;line-height:40px;border:none;border-radius:5px;text-align:center;font-size:13px;font-weight:700}.new_mart_data_popup .popup_footer .popup_btn.cancle_btn{background-color:#eaedf0;color:#979797;margin-right:20px}.new_mart_data_popup .popup_footer .popup_btn.sure_btn{color:#fff;background-color:#1364b3}\n"] }]
|
|
428
|
+
}], ctorParameters: function () { return [{ type: undefined, decorators: [{
|
|
429
|
+
type: Inject,
|
|
430
|
+
args: [MAT_DIALOG_DATA]
|
|
431
|
+
}] }, { type: i1.MatDialogRef }, { type: i2.DialogService }, { type: i1.MatDialog }, { type: i3.ApiList }, { type: i4.DashboardService }, { type: i5.DashboardPorletsService }, { type: i0.ChangeDetectorRef }, { type: undefined, decorators: [{
|
|
432
|
+
type: Optional
|
|
433
|
+
}, {
|
|
434
|
+
type: Inject,
|
|
435
|
+
args: [PBF_TOKEN]
|
|
436
|
+
}] }, { type: undefined, decorators: [{
|
|
437
|
+
type: Optional
|
|
438
|
+
}, {
|
|
439
|
+
type: Inject,
|
|
440
|
+
args: [API_SERVICE_TOKEN]
|
|
441
|
+
}] }]; } });
|
|
442
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0YS1tYXJ0LW5ldy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9yYWlzZS1jb21tb24tbGliL3NyYy9saWIvZGFzaGJvYXJkL2Rhc2hib2FyZC1wcm9wZXJ0aWVzL2RhdGEtbWFydC1uZXcvZGF0YS1tYXJ0LW5ldy5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9yYWlzZS1jb21tb24tbGliL3NyYy9saWIvZGFzaGJvYXJkL2Rhc2hib2FyZC1wcm9wZXJ0aWVzL2RhdGEtbWFydC1uZXcvZGF0YS1tYXJ0LW5ldy5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsU0FBUyxFQUVULE1BQU0sRUFHTixRQUFRLEdBQ1QsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUEyQixlQUFlLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUlwRixPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sUUFBUSxDQUFDO0FBQ2xDLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxTQUFTLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQzs7Ozs7Ozs7Ozs7O0FBUS9FLE1BQU0sT0FBTyxvQkFBb0I7SUFtQkc7SUFDekI7SUFDQztJQUNEO0lBQ0M7SUFDRDtJQUNBO0lBQ0M7SUFDOEI7SUFDUztJQTNCakQsV0FBVyxDQUFDO0lBQ1osUUFBUSxDQUFDO0lBQ1QsSUFBSSxDQUFDO0lBQ0wsVUFBVSxDQUFDO0lBQ1gsTUFBTSxDQUFDO0lBRUEsVUFBVSxHQUFHLEVBQUUsQ0FBQztJQUNoQixPQUFPLEdBQUcsRUFBRSxDQUFDO0lBQ2IsWUFBWSxHQUFHLEVBQUUsQ0FBQztJQUNsQixRQUFRLEdBQUcsRUFBRSxDQUFDO0lBQ2QsTUFBTSxHQUFHLEVBQUUsQ0FBQztJQUNaLFdBQVcsR0FBRyxLQUFLLENBQUM7SUFDcEIsY0FBYyxHQUFHLEVBQUUsQ0FB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LGlCQUFpQjs0RkE1QjVCLG9CQUFvQix3RENyQmpDLG01SkFzSUE7OzRGRGpIYSxvQkFBb0I7a0JBTGhDLFNBQVM7K0JBQ0Usa0JBQWtCOzswQkF1QnpCLE1BQU07MkJBQUMsZUFBZTs7MEJBUXRCLFFBQVE7OzBCQUFJLE1BQU07MkJBQUMsU0FBUzs7MEJBQzVCLFFBQVE7OzBCQUFJLE1BQU07MkJBQUMsaUJBQWlCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcclxuICBDb21wb25lbnQsXHJcbiAgT25Jbml0LFxyXG4gIEluamVjdCxcclxuICBDaGFuZ2VEZXRlY3RvclJlZixcclxuICBBZnRlclZpZXdJbml0LFxyXG4gIE9wdGlvbmFsLFxyXG59IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XHJcbmltcG9ydCB7IE1hdERpYWxvZywgTWF0RGlhbG9nUmVmLCBNQVRfRElBTE9HX0RBVEEgfSBmcm9tIFwiQGFuZ3VsYXIvbWF0ZXJpYWwvZGlhbG9nXCI7XHJcbmltcG9ydCB7IEFwaUxpc3QgfSBmcm9tIFwiLi4vLi4vYXBpXCI7XHJcbmltcG9ydCB7IERhc2hib2FyZFNlcnZpY2UgfSBmcm9tIFwiLi4vLi4vZGFzaGJvYXJkLnNlcnZpY2VcIjtcclxuaW1wb3J0IHsgRGFzaGJvYXJkUG9ybGV0c1NlcnZpY2UgfSBmcm9tIFwiLi4vLi4vZGFzaGJvYXJkUG9ybGV0cy5zZXJ2aWNlXCI7XHJcbmltcG9ydCB7IHRocm90dGxlIH0gZnJvbSBcImxvZGFzaFwiO1xyXG5pbXBvcnQgeyBBUElfU0VSVklDRV9UT0tFTiwgUEJGX1RPS0VOIH0gZnJvbSBcIi4uLy4uLy4uL3NlcnZpY2UvSW5qZWN0aW9uVG9rZW5cIjtcclxuaW1wb3J0IHsgRGlhbG9nU2VydmljZSB9IGZyb20gXCIuLi8uLi8uLi9zZXJ2aWNlL2RpYWxvZy5zZXJ2aWNlXCI7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogXCJycy1kYXRhLW1hcnQtbmV3XCIsXHJcbiAgdGVtcGxhdGVVcmw6IFwiLi9kYXRhLW1hcnQtbmV3LmNvbXBvbmVudC5odG1sXCIsXHJcbiAgc3R5bGVVcmxzOiBbXCIuL2RhdGEtbWFydC1uZXcuY29tcG9uZW50LnNjc3NcIl0sXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBEYXRhTWFydE5ld0NvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgQWZ0ZXJWaWV3SW5pdCB7XHJcbiAgdHJhbnNsYXRpb247XHJcbiAgdXNlckluZm87XHJcbiAgbGFuZztcclxuICBlbnRpdHlUeXBlO1xyXG4gIGNvbmZpZztcclxuXHJcbiAgcHVibGljIGZhdGhlckxpc3QgPSBbXTtcclxuICBwdWJsaWMgc29uTGlzdCA9IFtdO1xyXG4gIHB1YmxpYyBncmFuZHNvbkxpc3QgPSBbXTtcclxuICBwdWJsaWMgZmF0aGVySWQgPSBcIlwiO1xyXG4gIHB1YmxpYyBzb25JZHMgPSBbXTtcclxuICBwdWJsaWMgc2VsZWN0ZWRBbGwgPSBmYWxzZTtcclxuICBwdWJsaWMgb3JnaW5HcmFuZERhdGEgPSBbXTtcclxuICBwdWJsaWMgZGlzYWJsZWQgPSBmYWxzZTtcclxuICBwdWJsaWMgY2FjaGVFbnRpdHlUeXBlID0gXCJcIjtcclxuICBwdWJsaWMgaXNTZWxlY3RBbGxEaXNhYmxlZCA9IGZhbHNlO1xyXG5cclxuICBjb25zdHJ1Y3RvcihcclxuICAgIEBJbmplY3QoTUFUX0RJQUxPR19EQVRBKSBwdWJsaWMgZGF0YTogYW55LFxyXG4gICAgcHVibGljIGRpYWxvZ1JlZjogTWF0RGlhbG9nUmVmPERhdGFNYXJ0TmV3Q29tcG9uZW50PixcclxuICAgIHByaXZhdGUgZGlhbG9nU2VydmljZTogRGlhbG9nU2VydmljZSxcclxuICAgIHB1YmxpYyBkaWFsb2c6IE1hdERpYWxvZyxcclxuICAgIHByaXZhdGUgYXBpOiBBcGlMaXN0LFxyXG4gICAgcHVibGljIGRhc2hib2FyZFNlcnZpY2U6IERhc2hib2FyZFNlcnZpY2UsXHJcbiAgICBwdWJsaWMgRGFzaGJvYXJkUG9ybGV0c1NlcnZpY2U6IERhc2hib2FyZFBvcmxldHNTZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSByZWY6IENoYW5nZURldGVjdG9yUmVmLFxyXG4gICAgQE9wdGlvbmFsKCkgQEluamVjdChQQkZfVE9LRU4pIHB1YmxpYyBwYmY6IGFueSxcclxuICAgIEBPcHRpb25hbCgpIEBJbmplY3QoQVBJX1NFUlZJQ0VfVE9LRU4pIHByaXZhdGUgaHR0cDogYW55XHJcbiAgKSB7fVxyXG4gIG5nT25Jbml0KCkge1xyXG4gICAgdGhpcy5nZXRJbmZvKCk7XHJcbiAgICB0aGlzLmdldFNvdXJjZXMoKTtcclxuICB9XHJcblxyXG4gIG5nQWZ0ZXJWaWV3SW5pdCgpOiB2b2lkIHtcclxuICAgIHRoaXMucGJmLmludHJvU3RlcC5uZXh0KFwibmV4dFwiKTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBnZXRJbmZvKCkge1xyXG4gICAgdGhpcy50cmFuc2xhdGlvbiA9IEpTT04ucGFyc2UobG9jYWxTdG9yYWdlLmdldEl0ZW0oXCJ0cmFuc2xhdGlvblwiKSk7XHJcbiAgICB0aGlzLnVzZXJJbmZvID0gSlNPTi5wYXJzZShsb2NhbFN0b3JhZ2UuZ2V0SXRlbShcInVzZXJJbmZvXCIpKTtcclxuICAgIHRoaXMubGFuZyA9IHRoaXMucGJmLmdldExhbmd1YWdlUGFyYW1zKCk7XHJcbiAgICB0aGlzLmNvbmZpZyA9XHJcbiAgICAgIHRoaXMuZGF0YSAmJiB0aGlzLmRhdGEuZGFzaGJvYXJkXHJcbiAgICAgICAgPyBKU09OLnBhcnNlKHRoaXMuZGF0YS5kYXNoYm9hcmQuY29uZmlnKVxyXG4gICAgICAgIDoge307XHJcbiAgfVxyXG4gIGdldFNvdXJjZXMoKSB7XHJcbiAgICBjb25zdCBkYXRhT2JqID0ge1xyXG4gICAgICBhY2NvdW50SWQ6IHRoaXMudXNlckluZm8uYWNjb3VudElkLFxyXG4gICAgICBsYW5ndWFnZTogdGhpcy5sYW5nLFxyXG4gICAgICBkYXNoYm9hcmRWZXJzaW9uOiAyLFxyXG4gICAgfTtcclxuICAgIHRoaXMucGJmLnBhZ2VMb2FkaW5nID0gdHJ1ZTtcclxuICAgIHRoaXMucGJmLnBhZ2VMb2FkaW5nXy5uZXh0KHRydWUpO1xyXG4gICAgdGhpcy5odHRwLnBvc3QodGhpcy5hcGkudXJsTGlzdC5HZXRTb3VyY2VzLCBkYXRhT2JqLCAocmVzKSA9PiB7XHJcbiAgICAgIHRoaXMucGJmLnBhZ2VMb2FkaW5nID0gZmFsc2U7XHJcbiAgICAgIHRoaXMucGJmLnBhZ2VMb2FkaW5nXy5uZXh0KHRydWUpO1xyXG4gICAgICBpZiAocmVzKSB7XHJcbiAgICAgICAgdGhpcy5EYXNoYm9hcmRQb3JsZXRzU2VydmljZS5zb3VyY2VzRGF0YVt0aGlzLmRhdGEuZGFzaGJvYXJkLmlkXSA9IHJlcztcclxuICAgICAgICB0aGlzLkRhc2hib2FyZFBvcmxldHNTZXJ2aWNlLkdldFNvdXJjZXNSZXMgPSByZXM7XHJcbiAgICAgICAgdGhpcy5mYXRoZXJMaXN0ID0gcmVzO1xyXG5cclxuICAgICAgICBpZiAodGhpcy5jb25maWcuZGF0YW1hcnRJZCkge1xyXG4gICAgICAgICAgLy8gdGhpcy5kaXNhYmxlZCA9IHRydWU7XHJcbiAgICAgICAgICB0aGlzLmZhdGhlcklkID0gdGhpcy5jb25maWcuZGF0YW1hcnRJZDtcclxuICAgICAgICAgIHRoaXMuc29uSWRzID0gdGhpcy5jb25maWcuZGF0YW1hcnRWaWV3SWRcclxuICAgICAgICAgICAgPyB0aGlzLmNvbmZpZy5kYXRhbWFydFZpZXdJZC5zcGxpdChcIixcIilcclxuICAgICAgICAgICAgOiB0aGlzLmNvbmZpZy52aWV3c1xyXG4gICAgICAgICAgICA/IHRoaXMuY29uZmlnLnZpZXdzLm1hcCgoaXRlbSkgPT4gaXRlbS5kYXRhbWFydFZpZXdJZClcclxuICAgICAgICAgICAgOiBbXTtcclxuICAgICAgICAgIGxldCBkYXRhc291cmNlID0gcmVzLmZpbmQoKGVsKSA9PiBlbC5pZCA9PSB0aGlzLmZhdGhlcklkKTtcclxuICAgICAgICAgIGlmIChkYXRhc291cmNlKSB7XHJcbiAgICAgICAgICAgIHRoaXMuZ2V0ZGF0YU1hcnQoZGF0YXNvdXJjZSwgdHJ1ZSk7XHJcbiAgICAgICAgICAgIGlmICghdGhpcy5jYWNoZUVudGl0eVR5cGUgJiYgdGhpcy5jb25maWcuZGF0YW1hcnRJZCkge1xyXG4gICAgICAgICAgICAgIHRoaXMuY2FjaGVFbnRpdHlUeXBlID0gdGhpcy5lbnRpdHlUeXBlO1xyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICBsZXQgZGF0YXZpZXcgPSBkYXRhc291cmNlLnZpZXdzLmZpbHRlcigoZWwpID0+XHJcbiAgICAgICAgICAgICAgdGhpcy5zb25JZHMuaW5jbHVkZXMoZWwuaWQpXHJcbiAgICAgICAgICAgICk7XHJcbiAgICAgICAgICAgIHRoaXMuaGFuZGxlSXRlbUNoYW5nZShkYXRhdmlldywgdHJ1ZSk7XHJcbiAgICAgICAgICAgIHRoaXMuZ2V0U2VsZWN0ZWRBbGxTdGF0dXMoKTtcclxuICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH0pO1xyXG4gIH1cclxuICBnZXRTZWxlY3RlZEFsbFN0YXR1cygpIHtcclxuICAgIGxldCBudW0gPSAwO1xyXG4gICAgdGhpcy5zb25MaXN0LmZvckVhY2goKHNvbikgPT4ge1xyXG4gICAgICBpZiAoc29uLmNoZWNrZWQgJiYgc29uLmxhbmdDb2RlICE9PSBcIkZJTkFOQ0lBTF9GSUdVUkVTXCIpIHtcclxuICAgICAgICBudW0rKztcclxuICAgICAgfVxyXG4gICAgfSk7XHJcbiAgICBpZiAobnVtID09PSB0aGlzLnNvbkxpc3QubGVuZ3RoIC0gMSkgdGhpcy5zZWxlY3RlZEFsbCA9IHRydWU7XHJcbiAgICBlbHNlIHRoaXMuc2VsZWN0ZWRBbGwgPSBmYWxzZTtcclxuICB9XHJcblxyXG4gIG5leHRTdGVwKCkge1xyXG4gICAgdGhpcy5wYmYuaW50cm9TdGVwLm5leHQoXCJuZXh0XCIpO1xyXG4gIH1cclxuXHJcbiAgZ2V0ZGF0YU1hcnQoaXRlbSwgaXNJbml0ID0gZmFsc2UpIHtcclxuICAgIGlmICh0aGlzLmNhY2hlRW50aXR5VHlwZSAmJiB0aGlzLmNhY2hlRW50aXR5VHlwZSA9PT0gaXRlbS5lbnRpdHlUeXBlKSB7XHJcbiAgICAgIHJldHVybjtcclxuICAgIH1cclxuICAgIGlmIChcclxuICAgICAgIWlzSW5pdCAmJlxyXG4gICAgICB0aGlzLmNhY2hlRW50aXR5VHlwZSAmJlxyXG4gICAgICB0aGlzLmNhY2hlRW50aXR5VHlwZSAhPT0gaXRlbS5lbnRpdHlUeXBlXHJcbiAgICApIHtcclxuICAgICAgY29uc3QgX3RpdGxlID1cclxuICAgICAgICB0aGlzLnRyYW5zbGF0aW9uLkFSRV9ZT1VfU1VSRV9UT19DSEFOR0VfREFUQV9NQVJUIHx8XHJcbiAgICAgICAgXCIuQXJlIHlvdSBzdXJlIHRvIGNoYW5nZSBlbnRpdHkgdHlwZSBvZiBkYXRhIG1hcnQ/IERhc2hib2FyZCB3aWxsIGJlIHJlc2V0IHNpbmNlIGVudGl0eSB0eXBlIGlzIGNoYW5nZWQuXCI7XHJcbiAgICAgIGNvbnN0IF9ubyA9IHRoaXMudHJhbnNsYXRpb24uTk8gfHwgXCIuTk9cIjtcclxuICAgICAgY29uc3QgX3llcyA9IHRoaXMudHJhbnNsYXRpb24uWUVTIHx8IFwiLllFU1wiO1xyXG4gICAgICAvLyBjb25zdCBkaWFsb2dSZWYgPSB0aGlzLmxheW91dFV0aWxzU2VydmljZS5hbGVydEVsZW1lbnQoXHJcbiAgICAgIC8vIFx0dGhpcy50cmFuc2xhdGlvbi5XQVJOSU5HIHx8IFwiLldBUk5JTkdcIixcclxuICAgICAgLy8gXHRfdGl0bGUsXHJcbiAgICAgIC8vIFx0X25vLFxyXG4gICAgICAvLyBcdF95ZXMsXHJcbiAgICAgIC8vIFx0dHJ1ZSxcclxuICAgICAgLy8gXHR0cnVlLFxyXG4gICAgICAvLyBcdFwiNDgwcHhcIixcclxuICAgICAgLy8gXHRcIjMyNHB4XCJcclxuICAgICAgLy8gKTtcclxuICAgICAgY29uc3QgZGlhbG9nUmVmID0gdGhpcy5kaWFsb2dTZXJ2aWNlLnNob3dDb21tb25EaWxhb2coe1xyXG4gICAgICAgIHRpdGxlOiB0aGlzLnRyYW5zbGF0aW9uLldBUk5JTkcgfHwgXCIuV0FSTklOR1wiLFxyXG4gICAgICAgIGRlc2NyaXB0aW9uOiBfdGl0bGUsXHJcbiAgICAgICAgc2F2ZUJ0bkxhYmVsOiBfeWVzLFxyXG4gICAgICAgIGNhbmNlbEJ0bkxhYmVsOiBfbm8sXHJcbiAgICAgIH0pO1xyXG4gICAgICBkaWFsb2dSZWYuYWZ0ZXJDbG9zZWQoKS5zdWJzY3JpYmUoKHJlcykgPT4ge1xyXG4gICAgICAgIGlmICghcmVzKSB7XHJcbiAgICAgICAgICByZXR1cm47XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHRoaXMuc2V0RmF0aGVySWQoaXRlbSwgaXNJbml0KTtcclxuICAgICAgfSk7XHJcbiAgICAgIHJldHVybjtcclxuICAgIH1cclxuICAgIGlmICghaXRlbSkge1xyXG4gICAgICByZXR1cm47XHJcbiAgICB9XHJcbiAgICB0aGlzLnNldEZhdGhlcklkKGl0ZW0sIGlzSW5pdCk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIHNldEZhdGhlcklkKGl0ZW0sIGlzSW5pdCkge1xyXG4gICAgdGhpcy5mYXRoZXJJZCA9IGl0ZW0uaWQ7XHJcbiAgICB0aGlzLmVudGl0eVR5cGUgPSBpdGVtLmVudGl0eVR5cGU7XHJcbiAgICBsZXQgaXNGaWd1cmVzQ2hlY2tlZCA9IGZhbHNlO1xyXG4gICAgbGV0IGlzT3RoZXJDaGVja2VkID0gZmFsc2U7XHJcbiAgICBpZiAoXHJcbiAgICAgIGl0ZW0udmlld3MuZmluZChcclxuICAgICAgICAoaXRlbSkgPT5cclxuICAgICAgICAgIGl0ZW0ubGFuZ0NvZGUgPT09IFwiRklOQU5DSUFMX0ZJR1VSRVNcIiAmJiB0aGlzLnNvbklkcy5pbmNsdWRlcyhpdGVtLmlkKVxyXG4gICAgICApXHJcbiAgICApIHtcclxuICAgICAgaXNGaWd1cmVzQ2hlY2tlZCA9IHRydWU7XHJcbiAgICAgIHRoaXMuaXNTZWxlY3RBbGxEaXNhYmxlZCA9IHRydWU7XHJcbiAgICB9XHJcbiAgICBpZiAoXHJcbiAgICAgIGl0ZW0udmlld3MuZmluZChcclxuICAgICAgICAoaXRlbSkgPT5cclxuICAgICAgICAgIGl0ZW0ubGFuZ0NvZGUgIT09IFwiRklOQU5DSUFMX0ZJR1VSRVNcIiAmJiB0aGlzLnNvbklkcy5pbmNsdWRlcyhpdGVtLmlkKVxyXG4gICAgICApXHJcbiAgICApXHJcbiAgICAgIGlzT3RoZXJDaGVja2VkID0gdHJ1ZTtcclxuXHJcbiAgICB0aGlzLnNvbkxpc3QgPSBpdGVtLnZpZXdzLm1hcCgoaXRlbSkgPT4ge1xyXG4gICAgICBsZXQgaXNEaXNhYmxlZCA9XHJcbiAgICAgICAgKGlzRmlndXJlc0NoZWNrZWQgJiYgaXRlbS5sYW5nQ29kZSAhPT0gXCJGSU5BTkNJQUxfRklHVVJFU1wiKSB8fFxyXG4gICAgICAgIChpdGVtLmxhbmdDb2RlID09PSBcIkZJTkFOQ0lBTF9GSUdVUkVTXCIgJiYgaXNPdGhlckNoZWNrZWQpO1xyXG4gICAgICByZXR1cm4ge1xyXG4gICAgICAgIC4uLml0ZW0sXHJcbiAgICAgICAgY2hlY2tlZDpcclxuICAgICAgICAgIHRoaXMuY2FjaGVFbnRpdHlUeXBlICYmIHRoaXMuY2FjaGVFbnRpdHlUeXBlICE9PSB0aGlzLmVudGl0eVR5cGVcclxuICAgICAgICAgICAgPyBmYWxzZVxyXG4gICAgICAgICAgICA6IHRoaXMuc29uSWRzLmluY2x1ZGVzKGl0ZW0uaWQpLFxyXG4gICAgICAgIGRpc2FibGVkOlxyXG4gICAgICAgICAgdGhpcy5jYWNoZUVudGl0eVR5cGUgJiYgdGhpcy5jYWNoZUVudGl0eVR5cGUgIT09IHRoaXMuZW50aXR5VHlwZVxyXG4gICAgICAgICAgICA/IGZhbHNlXHJcbiAgICAgICAgICAgIDogaXNEaXNhYmxlZCxcclxuICAgICAgfTtcclxuICAgIH0pO1xyXG5cclxuICAgIHRoaXMuY2FjaGVFbnRpdHlUeXBlID0gaXRlbS5lbnRpdHlUeXBlO1xyXG5cclxuICAgIGlmICghaXNJbml0KSB7XHJcbiAgICAgIHRoaXMuc29uSWRzID0gW107XHJcbiAgICAgIHRoaXMuZ3JhbmRzb25MaXN0ID0gW107XHJcbiAgICAgIHRoaXMub3JnaW5HcmFuZERhdGEgPSBbXTtcclxuICAgICAgdGhpcy5zZWxlY3RlZEFsbCA9IGZhbHNlO1xyXG4gICAgICB0aGlzLmlzU2VsZWN0QWxsRGlzYWJsZWQgPSBmYWxzZTtcclxuICAgICAgaWYgKHRoaXMuY2FjaGVFbnRpdHlUeXBlICYmIHRoaXMuY2FjaGVFbnRpdHlUeXBlICE9PSBpdGVtLmVudGl0eVR5cGUpIHtcclxuICAgICAgICB0aGlzLnNvbkxpc3QgPSBpdGVtLnZpZXdzLm1hcCgoaXRlbSkgPT4ge1xyXG4gICAgICAgICAgcmV0dXJuIHtcclxuICAgICAgICAgICAgLi4uaXRlbSxcclxuICAgICAgICAgICAgY2hlY2tlZDogZmFsc2UsXHJcbiAgICAgICAgICAgIGRpc2FibGVkOiBmYWxzZSxcclxuICAgICAgICAgIH07XHJcbiAgICAgICAgfSk7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcblxyXG4gIGhhbmRsZUl0ZW1DaGFuZ2UoZGF0YSwgdmFsPzogYm9vbGVhbikge1xyXG4gICAgaWYgKCFkYXRhKSByZXR1cm4gZmFsc2U7XHJcbiAgICBpZiAodmFsKSB7XHJcbiAgICAgIGlmIChBcnJheS5pc0FycmF5KGRhdGEpKSB7XHJcbiAgICAgICAgZGF0YS5mb3JFYWNoKChpdGVtKSA9PiB7XHJcbiAgICAgICAgICBpZiAoIXRoaXMuc29uSWRzLmluY2x1ZGVzKGl0ZW0uaWQpKSB7XHJcbiAgICAgICAgICAgIHRoaXMuc29uSWRzLnB1c2goaXRlbS5pZCk7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgICBpZiAoQXJyYXkuaXNBcnJheShpdGVtLnRhYmxlcykpIHtcclxuICAgICAgICAgICAgaXRlbS50YWJsZXMuZm9yRWFjaCgoY2hpbGQpID0+IHtcclxuICAgICAgICAgICAgICBpZiAoIXRoaXMuZ3JhbmRzb25MaXN0LnNvbWUoKGVsKSA9PiBlbC5pZCA9PT0gY2hpbGQuaWQpKSB7XHJcbiAgICAgICAgICAgICAgICB0aGlzLmdyYW5kc29uTGlzdC5wdXNoKHtcclxuICAgICAgICAgICAgICAgICAgLi4uY2hpbGQsXHJcbiAgICAgICAgICAgICAgICB9KTtcclxuICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH0pO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH0pO1xyXG4gICAgICB9IGVsc2Uge1xyXG4gICAgICAgIC8vIGZpbmFuY2lhbCBmaWd1cmVzIGNhbuKAmXQgYmUgc2VsZWN0ZWQgdG9nZXRoZXIgd2l0aCBvdGhlciBncm91cHNcclxuICAgICAgICBpZiAoZGF0YS5sYW5nQ29kZSAhPT0gXCJGSU5BTkNJQUxfRklHVVJFU1wiKSB7XHJcbiAgICAgICAgICB0aGlzLnNvbkxpc3QuZm9yRWFjaCgoaXRlbSkgPT4ge1xyXG4gICAgICAgICAgICBpZiAoaXRlbS5sYW5nQ29kZSA9PT0gXCJGSU5BTkNJQUxfRklHVVJFU1wiKSBpdGVtLmRpc2FibGVkID0gdHJ1ZTtcclxuICAgICAgICAgIH0pO1xyXG4gICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICBpZiAoXHJcbiAgICAgICAgICAgICF0aGlzLnNvbkxpc3QuZmluZChcclxuICAgICAgICAgICAgICAoaXRlbSkgPT4gaXRlbS5jaGVja2VkICYmIGl0ZW0ubGFuZ0NvZGUgIT09IFwiRklOQU5DSUFMX0ZJR1VSRVNcIlxyXG4gICAgICAgICAgICApXHJcbiAgICAgICAgICApIHtcclxuICAgICAgICAgICAgdGhpcy5zb25MaXN0LmZvckVhY2goKGl0ZW0pID0+IHtcclxuICAgICAgICAgICAgICBpZiAoaXRlbS5sYW5nQ29kZSAhPT0gXCJGSU5BTkNJQUxfRklHVVJFU1wiKSBpdGVtLmRpc2FibGVkID0gdHJ1ZTtcclxuICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgICAgIHRoaXMuaXNTZWxlY3RBbGxEaXNhYmxlZCA9IHRydWU7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGRhdGEudGFibGVzLmZvckVhY2goKGl0ZW0pID0+IHtcclxuICAgICAgICAgIGlmICghdGhpcy5ncmFuZHNvbkxpc3Quc29tZSgoZWwpID0+IGVsLmlkID09PSBpdGVtLmlkKSkge1xyXG4gICAgICAgICAgICB0aGlzLmdyYW5kc29uTGlzdC5wdXNoKHtcclxuICAgICAgICAgICAgICAuLi5pdGVtLFxyXG4gICAgICAgICAgICB9KTtcclxuICAgICAgICAgIH1cclxuICAgICAgICB9KTtcclxuICAgICAgICBpZiAoIXRoaXMuc29uSWRzLmluY2x1ZGVzKGRhdGEuaWQpKSB7XHJcbiAgICAgICAgICB0aGlzLnNvbklkcy5wdXNoKGRhdGEuaWQpO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfSBlbHNlIHtcclxuICAgICAgdGhpcy5ncmFuZHNvbkxpc3QgPSBbXTtcclxuICAgICAgdGhpcy5zb25MaXN0LmZvckVhY2goKGl0ZW0pID0+IHtcclxuICAgICAgICBpZiAoZGF0YS5sYW5nQ29kZSA9PT0gXCJGSU5BTkNJQUxfRklHVVJFU1wiKSB7XHJcbiAgICAgICAgICBpdGVtLmRpc2FibGVkID0gZmFsc2U7XHJcbiAgICAgICAgICB0aGlzLmlzU2VsZWN0QWxsRGlzYWJsZWQgPSBmYWxzZTtcclxuICAgICAgICB9XHJcbiAgICAgICAgaWYgKGl0ZW0uaWQgPT0gZGF0YS5pZCkge1xyXG4gICAgICAgICAgaXRlbS5jaGVja2VkID0gdmFsO1xyXG4gICAgICAgIH1cclxuICAgICAgICBpZiAoaXRlbS5jaGVja2VkKSB7XHJcbiAgICAgICAgICBpdGVtLnRhYmxlcy5mb3JFYWNoKChzb25JdGVtKSA9PiB7XHJcbiAgICAgICAgICAgIGlmICghdGhpcy5ncmFuZHNvbkxpc3Quc29tZSgoZWwpID0+IGVsLmlkID09PSBzb25JdGVtLmlkKSkge1xyXG4gICAgICAgICAgICAgIHRoaXMuZ3JhbmRzb25MaXN0LnB1c2goe1xyXG4gICAgICAgICAgICAgICAgLi4uc29uSXRlbSxcclxuICAgICAgICAgICAgICB9KTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgfSk7XHJcbiAgICAgICAgfVxyXG4gICAgICB9KTtcclxuICAgICAgaWYgKFxyXG4gICAgICAgIGRhdGEubGFuZ0NvZGUgIT09IFwiRklOQU5DSUFMX0ZJR1VSRVNcIiAmJlxyXG4gICAgICAgICF0aGlzLnNvbkxpc3QuZmluZChcclxuICAgICAgICAgIChpdGVtKSA9PiBpdGVtLmNoZWNrZWQgJiYgaXRlbS5sYW5nQ29kZSAhPT0gXCJGSU5BTkNJQUxfRklHVVJFU1wiXHJcbiAgICAgICAgKVxyXG4gICAgICApIHtcclxuICAgICAgICB0aGlzLnNvbkxpc3QuZm9yRWFjaCgob2JqKSA9PiB7XHJcbiAgICAgICAgICBpZiAob2JqLmxhbmdDb2RlID09PSBcIkZJTkFOQ0lBTF9GSUdVUkVTXCIpIG9iai5kaXNhYmxlZCA9IGZhbHNlO1xyXG4gICAgICAgIH0pO1xyXG4gICAgICB9XHJcbiAgICAgIHRoaXMuc29uSWRzID0gdGhpcy5zb25JZHMuZmlsdGVyKChpdGVtKSA9PiBpdGVtICE9IGRhdGEuaWQpO1xyXG4gICAgfVxyXG4gICAgdGhpcy5nZXRTZWxlY3RlZEFsbFN0YXR1cygpO1xyXG4gICAgdGhpcy5vcmdpbkdyYW5kRGF0YSA9IEpTT04ucGFyc2UoSlNPTi5zdHJpbmdpZnkodGhpcy5ncmFuZHNvbkxpc3QpKTtcclxuICAgIGlmICghdGhpcy5yZWZbXCJkZXN0cm95ZWRcIl0pIHtcclxuICAgICAgdGhpcy5yZWYubWFya0ZvckNoZWNrKCk7XHJcbiAgICAgIHRoaXMucmVmLmRldGVjdENoYW5nZXM7XHJcbiAgICB9XHJcbiAgfVxyXG4gIHNlbGVjdEFsbCh2YWwpIHtcclxuICAgIGlmICghdmFsKSB7XHJcbiAgICAgIHRoaXMub3JnaW5HcmFuZERhdGEgPSBbXTtcclxuICAgIH1cclxuICAgIHRoaXMuZ3JhbmRzb25MaXN0ID0gW107XHJcbiAgICB0aGlzLnNvbklkcyA9IFtdO1xyXG4gICAgdGhpcy5zb25MaXN0LmZvckVhY2goKGl0ZW0pID0+IHtcclxuICAgICAgaWYgKGl0ZW0ubGFuZ0NvZGUgIT09IFwiRklOQU5DSUFMX0ZJR1VSRVNcIikgaXRlbS5jaGVja2VkID0gdmFsO1xyXG4gICAgICBpZiAodmFsKSB7XHJcbiAgICAgICAgaWYgKGl0ZW0ubGFuZ0NvZGUgPT09IFwiRklOQU5DSUFMX0ZJR1VSRVNcIikge1xyXG4gICAgICAgICAgaXRlbS5kaXNhYmxlZCA9IHRydWU7XHJcbiAgICAgICAgICByZXR1cm47XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHRoaXMuc29uSWRzLnB1c2goaXRlbS5pZCk7XHJcbiAgICAgICAgaXRlbS50YWJsZXMuZm9yRWFjaCgoc29uSXRlbSkgPT4ge1xyXG4gICAgICAgICAgaWYgKCF0aGlzLmdyYW5kc29uTGlzdC5zb21lKChlbCkgPT4gZWwuaWQgPT09IHNvbkl0ZW0uaWQpKSB7XHJcbiAgICAgICAgICAgIHRoaXMuZ3JhbmRzb25MaXN0LnB1c2goe1xyXG4gICAgICAgICAgICAgIC4uLnNvbkl0ZW0sXHJcbiAgICAgICAgICAgIH0pO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH0pO1xyXG4gICAgICB9IGVsc2Uge1xyXG4gICAgICAgIGlmIChpdGVtLmxhbmdDb2RlID09PSBcIkZJTkFOQ0lBTF9GSUdVUkVTXCIpIGl0ZW0uZGlzYWJsZWQgPSBmYWxzZTtcclxuICAgICAgfVxyXG4gICAgfSk7XHJcbiAgICB0aGlzLm9yZ2luR3JhbmREYXRhID0gSlNPTi5wYXJzZShKU09OLnN0cmluZ2lmeSh0aGlzLmdyYW5kc29uTGlzdCkpO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGRvRmlsdGVyID0gdGhyb3R0bGUoKHZhbCkgPT4gdGhpcy5kb1NlYXJjaCh2YWwpLCAyMDApO1xyXG4gIHB1YmxpYyBkb1NlYXJjaCh2YWwpIHtcclxuICAgIGxldCB0ZW1wTGlzdCA9IEpTT04ucGFyc2UoSlNPTi5zdHJpbmdpZnkodGhpcy5vcmdpbkdyYW5kRGF0YSkpO1xyXG4gICAgaWYgKHZhbCkge1xyXG4gICAgICB0aGlzLmdyYW5kc29uTGlzdCA9IHRlbXBMaXN0LmZpbHRlcigoaXRlbSkgPT5cclxuICAgICAgICBpdGVtLmxhbmdWYWx1ZS50b0xvd2VyQ2FzZSgpLmluY2x1ZGVzKHZhbC50b0xvd2VyQ2FzZSgpKVxyXG4gICAgICApO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgdGhpcy5ncmFuZHNvbkxpc3QgPSB0ZW1wTGlzdDtcclxuICAgIH1cclxuICB9XHJcbiAgLy8g5L+d5a2Y5by556qX562b6YCJ5pWw5o2uXHJcbiAgc2F2ZURhdGEoKSB7XHJcbiAgICB0aGlzLnBiZi5pbnRyb1N0ZXAubmV4dChcImNvbXBsZXRlXCIpO1xyXG4gICAgdGhpcy5wYmYucGFnZUxvYWRpbmcgPSB0cnVlO1xyXG4gICAgbGV0IGNvbmZpZztcclxuICAgIGxldCBkYXRhbWFydFZpZXdDb2RlID0gdGhpcy5zb25MaXN0LmZpbHRlcigoZWwpID0+XHJcbiAgICAgIHRoaXMuc29uSWRzLmluY2x1ZGVzKGVsLmlkKVxyXG4gICAgKTtcclxuICAgIGNvbmZpZyA9IHtcclxuICAgICAgZGF0YW1hcnRJZDogdGhpcy5mYXRoZXJJZCxcclxuICAgICAgZGF0YW1hcnRWaWV3SWQ6IHRoaXMuc29uSWRzLmpvaW4oXCIsXCIpLFxyXG4gICAgICB2aWV3czogZGF0YW1hcnRWaWV3Q29kZS5tYXAoKGUpID0+IHtcclxuICAgICAgICByZXR1cm4ge1xyXG4gICAgICAgICAgZGF0YW1hcnRWaWV3SWQ6IGUuaWQsXHJcbiAgICAgICAgICBkYXRhbWFydFZpZXdDb2RlOiBlLmxhbmdDb2RlLFxyXG4gICAgICAgIH07XHJcbiAgICAgIH0pLFxyXG4gICAgfTtcclxuICAgIGNvbnN0IGVudGl0eUxpc3QgPVxyXG4gICAgICB0aGlzLmRhdGEuZGFzaGJvYXJkLmVudGl0eVR5cGUgPT09IHRoaXMuZW50aXR5VHlwZVxyXG4gICAgICAgID8gdGhpcy5EYXNoYm9hcmRQb3JsZXRzU2VydmljZS5lbnRpdHlMaXN0XHJcbiAgICAgICAgOiBbXTtcclxuXHJcbiAgICBjb25zdCBkYXRhT2JqID0ge1xyXG4gICAgICBlbnRpdHlMaXN0LFxyXG4gICAgICBhY2NvdW50SWQ6IHRoaXMudXNlckluZm8uYWNjb3VudElkLFxyXG4gICAgICB1c2VySWQ6IHRoaXMudXNlckluZm8uaWQsXHJcbiAgICAgIGRhc2hib2FyZElkOiB0aGlzLmRhdGEuZGFzaGJvYXJkSWQsXHJcbiAgICAgIGRhdGFNYXJ0VGFibGVzOiB0aGlzLmdyYW5kc29uTGlzdCxcclxuICAgICAgZW50aXR5VHlwZTogdGhpcy5lbnRpdHlUeXBlIHx8IHRoaXMuZGF0YS5kYXNoYm9hcmQuZW50aXR5VHlwZSxcclxuICAgICAgY29uZmlnOiBKU09OLnN0cmluZ2lmeShjb25maWcpLFxyXG4gICAgfTtcclxuXHJcbiAgICB0aGlzLmh0dHAucG9zdCh0aGlzLmFwaS51cmxMaXN0LkFkZERhdGFNYXJ0VGFibGVzLCBkYXRhT2JqLCAocmVzKSA9PiB7XHJcbiAgICAgIGlmIChyZXMuc3RhdHVzID09PSBcIlNVQ0NFU1NcIikge1xyXG4gICAgICAgIGNvbnN0IF9zYXZlTWVzc2FnZSA9XHJcbiAgICAgICAgICB0aGlzLnRyYW5zbGF0aW9uLkRBU0hCT0FSRF9QUk9QRVJUSUVTX1NBVkVEIHx8XHJcbiAgICAgICAgICBcIi5EQVNIQk9BUkRfUFJPUEVSVElFU19TQVZFRFwiO1xyXG4gICAgICAgIHRoaXMuc2hvd1RvYXN0KF9zYXZlTWVzc2FnZSwgXCJTdWNjZXNzXCIpO1xyXG4gICAgICAgIHRoaXMuY29uZmlnLmRhdGFtYXJ0Vmlld0lkID0gdGhpcy5zb25JZHMuam9pbihcIixcIik7XHJcbiAgICAgICAgdGhpcy5jb25maWcudmlld3MgPSBbXTtcclxuICAgICAgICB0aGlzLnNvbkxpc3QuZm9yRWFjaCgoaXRlbSkgPT4ge1xyXG4gICAgICAgICAgdGhpcy5zb25JZHMuZm9yRWFjaCgoc29uSWQpID0+IHtcclxuICAgICAgICAgICAgaWYgKGl0ZW0uaWQgPT09IHNvbklkKSB7XHJcbiAgICAgICAgICAgICAgdGhpcy5jb25maWcudmlld3MucHVzaCh7XHJcbiAgICAgICAgICAgICAgICBkYXRhbWFydFZpZXdDb2RlOiBpdGVtLmxhbmdDb2RlLFxyXG4gICAgICAgICAgICAgICAgZGF0YW1hcnRWaWV3SWQ6IGl0ZW0uaWQsXHJcbiAgICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgIH0pO1xyXG4gICAgICAgIH0pO1xyXG5cclxuICAgICAgICB0aGlzLmRhdGEuZGFzaGJvYXJkLmNvbmZpZyA9IEpTT04uc3RyaW5naWZ5KHRoaXMuY29uZmlnKTtcclxuICAgICAgICBpZiAodGhpcy5kYXRhLmVkaXQpIHtcclxuICAgICAgICAgIHRoaXMuRGFzaGJvYXJkUG9ybGV0c1NlcnZpY2UucG9ydGxldEZpZWxkc19UZW1wID0ge307XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGlmIChcclxuICAgICAgICAgIGVudGl0eUxpc3QgJiZcclxuICAgICAgICAgIGVudGl0eUxpc3QubGVuZ3RoICYmXHJcbiAgICAgICAgICB0aGlzLmRhdGEuZGFzaGJvYXJkLmVudGl0eVR5cGUgPT09IHRoaXMuZW50aXR5VHlwZVxyXG4gICAgICAgICkge1xyXG4gICAgICAgICAgdGhpcy5wYmYudHJpZ2dlckRhc2hib2FyZFJlZnJlc2gubmV4dCh7XHJcbiAgICAgICAgICAgIGVudGl0eUxpc3QsXHJcbiAgICAgICAgICAgIGlkOiB0aGlzLmRhdGEuZGFzaGJvYXJkLmlkLFxyXG4gICAgICAgICAgfSk7XHJcbiAgICAgICAgICB0aGlzLmRpYWxvZ1JlZi5jbG9zZSgpO1xyXG4gICAgICAgICAgcmV0dXJuO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgdGhpcy5EYXNoYm9hcmRQb3JsZXRzU2VydmljZS5HZXREYXNoYm9hcmRWMShcclxuICAgICAgICAgIHRoaXMuZGF0YS5kYXNoYm9hcmRJZCxcclxuICAgICAgICAgIHRydWUsXHJcbiAgICAgICAgICAocmVzLCBwb3J0bGV0cyA9IFtdKSA9PiB7XHJcbiAgICAgICAgICAgIHRoaXMuZGFzaGJvYXJkU2VydmljZS5jaGFuZ2VsYXlvdXQubmV4dCh7XHJcbiAgICAgICAgICAgICAgc3RhdHVzOiBcInRydWVcIixcclxuICAgICAgICAgICAgICBpZDogdGhpcy5kYXRhLmRhc2hib2FyZC5pZCxcclxuICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgICAgIHRoaXMucGJmLnBhZ2VMb2FkaW5nID0gZmFsc2U7XHJcbiAgICAgICAgICAgIHRoaXMuZGlhbG9nUmVmLmNsb3NlKHtcclxuICAgICAgICAgICAgICBwdXNoX2J0bjogZmFsc2UsXHJcbiAgICAgICAgICAgICAgcG9ydGxldDoge30sXHJcbiAgICAgICAgICAgICAgcG9ydGxldHMsXHJcbiAgICAgICAgICAgICAgZGFzaGJvYXJkOiByZXMsXHJcbiAgICAgICAgICAgIH0pO1xyXG4gICAgICAgICAgICB0aGlzLnJlZi5tYXJrRm9yQ2hlY2soKTtcclxuICAgICAgICAgIH1cclxuICAgICAgICApO1xyXG4gICAgICB9IGVsc2Uge1xyXG4gICAgICAgIHRoaXMucGJmLnBhZ2VMb2FkaW5nID0gZmFsc2U7XHJcbiAgICAgICAgdGhpcy5wYmYucGFnZUxvYWRpbmdfLm5leHQodHJ1ZSk7XHJcbiAgICAgICAgdGhpcy5yZWYubWFya0ZvckNoZWNrKCk7XHJcbiAgICAgICAgY29uc3QgX3NhdmVNZXNzYWdlID0gcmVzLm1lc3NhZ2VzWzBdLm1lc3NhZ2UgfHwgXCJlcnJvclwiO1xyXG4gICAgICAgIHRoaXMuc2hvd1RvYXN0KF9zYXZlTWVzc2FnZSwgXCJFcnJvclwiKTtcclxuICAgICAgfVxyXG4gICAgfSk7XHJcbiAgfVxyXG4gIC8vIHRvYXN0IG1zZ1xyXG4gIHB1YmxpYyBzaG93VG9hc3QobXNnLCBzdGF0dXM6IFwiU3VjY2Vzc1wiIHwgXCJFcnJvclwiKSB7XHJcbiAgICB0aGlzLmRpYWxvZ1NlcnZpY2Uuc2hvd05vdGlmaWNhdGlvbihtc2csIHtcclxuICAgICAgc3RhdHVzLFxyXG4gICAgfSk7XHJcbiAgfVxyXG4gIC8vIOWFs+mXreW8ueeql1xyXG4gIHB1YmxpYyBjbG9zZVBvcHVwKCkge1xyXG4gICAgdGhpcy5kaWFsb2dSZWYuY2xvc2UoKTtcclxuICB9XHJcbn1cclxuIiwiPGRpdiBjbGFzcz1cIm5ld19tYXJ0X2RhdGFfcG9wdXBcIj5cclxuXHQ8ZGl2IGNsYXNzPVwiY2xvc2VfYm94XCIgKGNsaWNrKT1cImNsb3NlUG9wdXAoKVwiPlxyXG5cdFx0PGltZyBzcmM9XCIuLi8uLi8uLi8uLi9hc3NldHMvaW1nL2RpYWxvZy1jbG9zZS5zdmdcIiBjbGFzcz1cImRlbGV0ZUljb25cIiAvPlxyXG5cdDwvZGl2PlxyXG5cdDxkaXYgY2xhc3M9XCJwb3B1cF9oZWFkZXJcIj5cclxuXHRcdDxwIGNsYXNzPVwicG9wdXBfdGl0bGVcIj57eyB0cmFuc2xhdGlvbi5EQVRBX01BUlQgfHwgXCIuREFUQV9NQVJUXCIgfX08L3A+XHJcblx0XHQ8cCBjbGFzcz1cInBvcHVwX3N1Yl90aXRsZVwiPlxyXG5cdFx0XHR7e1xyXG5cdFx0XHRcdHRyYW5zbGF0aW9uLlBMU19TRUxFQ1RfREFUQV9UQUJMRVMgfHxcclxuXHRcdFx0XHRcdFwiLlBsZWFzZSBzZWxlY3QgZGF0YSB0YWJsZXMgZm9yIHRoaXMgZGFzaGJvYXJkXCJcclxuXHRcdFx0fX1cclxuXHRcdDwvcD5cclxuXHQ8L2Rpdj5cclxuXHQ8ZGl2IGNsYXNzPVwicG9wdXBfbWFpbl9jb250YWluZXJcIj5cclxuXHRcdDxkaXYgY2xhc3M9XCJsZWZ0X21lbnVfY29udGFpbmVyXCIgaWQ9XCJpbmZvLXN0ZXAtMlwiPlxyXG5cdFx0XHQ8ZGl2XHJcblx0XHRcdFx0Y2xhc3M9XCJtZW51X2l0ZW1cIlxyXG5cdFx0XHRcdCpuZ0Zvcj1cImxldCBpdGVtIG9mIGZhdGhlckxpc3RcIlxyXG5cdFx0XHRcdFtuZ0NsYXNzXT1cInsgc2VsZWN0SXRlbTogZmF0aGVySWQgPT09IGl0ZW0uaWQgfVwiXHJcblx0XHRcdFx0KGNsaWNrKT1cImdldGRhdGFNYXJ0KGl0ZW0sIHRydWUpXCJcclxuXHRcdFx0PlxyXG5cdFx0XHRcdDxzcGFuIGNsYXNzPVwiYWN0aXZlTGluZVwiICpuZ0lmPVwiZmF0aGVySWQgPT09IGl0ZW0uaWRcIj48L3NwYW4+XHJcblx0XHRcdFx0e3tcclxuXHRcdFx0XHRcdGl0ZW0uRnJvbVFCXHJcblx0XHRcdFx0XHRcdD8gaXRlbS5sYW5nQ29kZVxyXG5cdFx0XHRcdFx0XHQ6IHRyYW5zbGF0aW9uW2l0ZW0ubGFuZ0NvZGVdIHx8IFwiLlwiICsgaXRlbS5sYW5nQ29kZVxyXG5cdFx0XHRcdH19XHJcblx0XHRcdDwvZGl2PlxyXG5cdFx0PC9kaXY+XHJcblx0XHQ8ZGl2IGNsYXNzPVwidGFibGVfY29udGFpbmVyXCIgaWQ9XCJpbmZvLXN0ZXAtM1wiIChjbGljayk9XCJuZXh0U3RlcCgpXCI+XHJcblx0XHRcdDxkaXYgY2xhc3M9XCJ0YWJsZV9jb250ZW50XCI+XHJcblx0XHRcdFx0PGRpdiBjbGFzcz1cImdyb3VwX2RhdGFcIj5cclxuXHRcdFx0XHRcdDxkaXYgY2xhc3M9XCJ0YWJsZV9oZWFkZXJcIj5cclxuXHRcdFx0XHRcdFx0PGRpdiBjbGFzcz1cImRpdl9ncm91cFwiPlxyXG5cdFx0XHRcdFx0XHRcdDxtYXQtY2hlY2tib3hcclxuXHRcdFx0XHRcdFx0XHRcdFtkaXNhYmxlZF09XCJpc1NlbGVjdEFsbERpc2FibGVkXCJcclxuXHRcdFx0XHRcdFx0XHRcdFtjb2xvcl09XCIncHJpbWFyeSdcIlxyXG5cdFx0XHRcdFx0XHRcdFx0WyhuZ01vZGVsKV09XCJzZWxlY3RlZEFsbFwiXHJcblx0XHRcdFx0XHRcdFx0XHQobmdNb2RlbENoYW5nZSk9XCJzZWxlY3RBbGwoJGV2ZW50KVwiXHJcblx0XHRcdFx0XHRcdFx0XHQ+e3tcclxuXHRcdFx0XHRcdFx0XHRcdFx0dHJhbnNsYXRpb25bXCJHUk9VUFwiXSB8fCBcIi5ncm91cFwiXHJcblx0XHRcdFx0XHRcdFx0XHR9fTwvbWF0LWNoZWNrYm94XHJcblx0XHRcdFx0XHRcdFx0PlxyXG5cdFx0XHRcdFx0XHQ8L2Rpdj5cclxuXHRcdFx0XHRcdDwvZGl2PlxyXG5cdFx0XHRcdFx0PGRpdiBjbGFzcz1cImdyb3VwX2l0ZW1fX2JveFwiICpuZ0Zvcj1cImxldCBpdGVtIG9mIHNvbkxpc3RcIj5cclxuXHRcdFx0XHRcdFx0PG1hdC1jaGVja2JveFxyXG5cdFx0XHRcdFx0XHRcdFtkaXNhYmxlZF09XCJpdGVtLmRpc2FibGVkXCJcclxuXHRcdFx0XHRcdFx0XHRbY29sb3JdPVwiJ3ByaW1hcnknXCJcclxuXHRcdFx0XHRcdFx0XHRbKG5nTW9kZWwpXT1cIml0ZW0uY2hlY2tlZFwiXHJcblx0XHRcdFx0XHRcdFx0KG5nTW9kZWxDaGFuZ2UpPVwiaGFuZGxlSXRlbUNoYW5nZShpdGVtLCAkZXZlbnQpXCJcclxuXHRcdFx0XHRcdFx0XHQ+e3tcclxuXHRcdFx0XHRcdFx0XHRcdGl0ZW0uRnJvbVFCXHJcblx0XHRcdFx0XHRcdFx0XHRcdD8gaXRlbS5sYW5nQ29kZVxyXG5cdFx0XHRcdFx0XHRcdFx0XHQ6IHRyYW5zbGF0aW9uW2l0ZW0ubGFuZ0NvZGVdIHx8XHJcblx0XHRcdFx0XHRcdFx0XHRcdCAgXCIuXCIgKyBpdGVtLmxhbmdDb2RlXHJcblx0XHRcdFx0XHRcdFx0fX08L21hdC1jaGVja2JveFxyXG5cdFx0XHRcdFx0XHQ+XHJcblx0XHRcdFx0XHRcdDxlanMtdG9vbHRpcFxyXG5cdFx0XHRcdFx0XHRcdCpuZ0lmPVwiaXRlbS5sYW5nQ29kZSA9PT0gJ0ZJTkFOQ0lBTF9GSUdVUkVTJ1wiXHJcblx0XHRcdFx0XHRcdFx0aWQ9XCJ0b29sdGlwXCJcclxuXHRcdFx0XHRcdFx0XHRjc3NDbGFzcz1cImZpZ3VyZXMtdG9vbHRpcFwiXHJcblx0XHRcdFx0XHRcdFx0W2NvbnRlbnRdPVwiXHJcblx0XHRcdFx0XHRcdFx0XHR0cmFuc2xhdGlvbi5EQVNIQk9BUkRfRklOQU5DSUFMX0ZJR1VSRVNfVE9PTFRJUFMgfHxcclxuXHRcdFx0XHRcdFx0XHRcdCdGaW5hbmNpYWwgRmlndXJlcyBjYW7igJl0IGJlIHNlbGVjdGVkIHRvZ2V0aGVyIHdpdGggb3RoZXIgZ3JvdXBzLidcclxuXHRcdFx0XHRcdFx0XHRcIlxyXG5cdFx0XHRcdFx0XHQ+XHJcblx0XHRcdFx0XHRcdFx0PHNwYW4+PC9zcGFuPlxyXG5cdFx0XHRcdFx0XHQ8L2Vqcy10b29sdGlwPlxyXG5cdFx0XHRcdFx0XHQ8IS0tIDxlanMtdG9vbHRpcFxyXG5cdFx0XHRcdFx0XHRcdCpuZ0lmPVwiXHJcblx0XHRcdFx0XHRcdFx0XHREYXNoYm9hcmRQb3JsZXRzU2VydmljZS5jaGVja0lzUTJRKGl0ZW0udGFibGVzKVxyXG5cdFx0XHRcdFx0XHRcdFwiXHJcblx0XHRcdFx0XHRcdFx0Y3NzQ2xhc3M9XCJmaWd1cmVzLXRvb2x0aXBcIlxyXG5cdFx0XHRcdFx0XHRcdGNvbnRlbnQ9XCJRMlFcIlxyXG5cdFx0XHRcdFx0XHQ+XHJcblx0XHRcdFx0XHRcdFx0PHNwYW4+PC9zcGFuPlxyXG5cdFx0XHRcdFx0XHQ8L2Vqcy10b29sdGlwPiAtLT5cclxuXHRcdFx0XHRcdDwvZGl2PlxyXG5cdFx0XHRcdDwvZGl2PlxyXG5cdFx0XHRcdDxkaXYgY2xhc3M9XCJ0YWJsZV9kYXRhXCI+XHJcblx0XHRcdFx0XHQ8ZGl2IGNsYXNzPVwidGFibGVfaGVhZGVyXCI+XHJcblx0XHRcdFx0XHRcdDxkaXYgY2xhc3M9XCJkYXRhX3RhYmxlX2JveFwiPlxyXG5cdFx0XHRcdFx0XHRcdDxkaXYgY2xhc3M9XCJ0YWJsZV90aXRsZVwiPlxyXG5cdFx0XHRcdFx0XHRcdFx0e3sgdHJhbnNsYXRpb25bXCJEQVRBX1RBQkxFXCJdIHx8IFwiLkRhdGEgVGFibGVcIiB9fVxyXG5cdFx0XHRcdFx0XHRcdDwvZGl2PlxyXG5cdFx0XHRcdFx0XHRcdDxkaXYgY2xhc3M9XCJzZWFyY2hfY29udGFpbmVyXCI+XHJcblx0XHRcdFx0XHRcdFx0XHQ8aW5wdXRcclxuXHRcdFx0XHRcdFx0XHRcdFx0dHlwZT1cInRleHRcIlxyXG5cdFx0XHRcdFx0XHRcdFx0XHRtYXRJbnB1dFxyXG5cdFx0XHRcdFx0XHRcdFx0XHRbcGxhY2Vob2xkZXJdPVwidHJhbnNsYXRpb25bJ1NFQVJDSCddXCJcclxuXHRcdFx0XHRcdFx0XHRcdFx0Y2xhc3M9XCJzZWFyY2hfaW5wdXRcIlxyXG5cdFx0XHRcdFx0XHRcdFx0XHQoa2V5dXApPVwiZG9GaWx0ZXIoJGV2ZW50LnRhcmdldC52YWx1ZSlcIlxyXG5cdFx0XHRcdFx0XHRcdFx0XHRhdXRvY29tcGxldGU9XCJvZmZcIlxyXG5cdFx0XHRcdFx0XHRcdFx0XHQoa2V5ZG93bik9XCJcclxuXHRcdFx0XHRcdFx0XHRcdFx0XHRwYmYuZGlzYWJsZWRJbnB1dEVudGVyRXZlbnQoJGV2ZW50KVxyXG5cdFx0XHRcdFx0XHRcdFx0XHRcIlxyXG5cdFx0XHRcdFx0XHRcdFx0Lz5cclxuXHRcdFx0XHRcdFx0XHQ8L2Rpdj5cclxuXHRcdFx0XHRcdFx0PC9kaXY+XHJcblx0XHRcdFx0XHQ8L2Rpdj5cclxuXHRcdFx0XHRcdDxkaXYgY2xhc3M9XCJ0YWJsZV9tYWluX2NvbnRlbnRcIiBzdHlsZT1cIm92ZXJmbG93OiBhdXRvXCI+XHJcblx0XHRcdFx0XHRcdDxkaXZcclxuXHRcdFx0XHRcdFx0XHQqbmdGb3I9XCJsZXQgaXRlbSBvZiBncmFuZHNvbkxpc3RcIlxyXG5cdFx0XHRcdFx0XHRcdFtuZ0NsYXNzXT1cInsgbWF4Qm94OiBncmFuZHNvbkxpc3QubGVuZ3RoID49IDExIH1cIlxyXG5cdFx0XHRcdFx0XHQ+XHJcblx0XHRcdFx0XHRcdFx0PGRpdiAqbmdJZj1cIiFpdGVtLmlzSGlkZVwiIGNsYXNzPVwidGFibGVfZGF0YV9pdGVtXCI+XHJcblx0XHRcdFx0XHRcdFx0XHR7e1xyXG5cdFx0XHRcdFx0XHRcdFx0XHRpdGVtLkZyb21RQlxyXG5cdFx0XHRcdFx0XHRcdFx0XHRcdD8gaXRlbS5sYW5nQ29kZVxyXG5cdFx0XHRcdFx0XHRcdFx0XHRcdDogdHJhbnNsYXRpb25baXRlbS5sYW5nQ29kZV0gfHxcclxuXHRcdFx0XHRcdFx0XHRcdFx0XHQgIFwiLlwiICsgaXRlbS5sYW5nQ29kZVxyXG5cdFx0XHRcdFx0XHRcdFx0fX1cclxuXHRcdFx0XHRcdFx0XHQ8L2Rpdj5cclxuXHRcdFx0XHRcdFx0PC9kaXY+XHJcblx0XHRcdFx0XHQ8L2Rpdj5cclxuXHRcdFx0XHQ8L2Rpdj5cclxuXHRcdFx0PC9kaXY+XHJcblx0XHQ8L2Rpdj5cclxuXHQ8L2Rpdj5cclxuXHQ8ZGl2IGNsYXNzPVwicG9wdXBfZm9vdGVyXCI+XHJcblx0XHQ8YnV0dG9uIGNsYXNzPVwiY2FuY2xlX2J0biBwb3B1cF9idG5cIiAoY2xpY2spPVwiY2xvc2VQb3B1cCgpXCI+XHJcblx0XHRcdHt7IHRyYW5zbGF0aW9uW1wiQ0FOQ0VMXCJdIHx8IFwiLkNBTkNFTFwiIH19XHJcblx0XHQ8L2J1dHRvbj5cclxuXHRcdDxidXR0b25cclxuXHRcdFx0Y2xhc3M9XCJzdXJlX2J0biBwb3B1cF9idG5cIlxyXG5cdFx0XHRpZD1cImluZm8tc3RlcC01XCJcclxuXHRcdFx0KGNsaWNrKT1cInNhdmVEYXRhKClcIlxyXG5cdFx0XHRbZGlzYWJsZWRdPVwiZGlzYWJsZWQgfHwgIWVudGl0eVR5cGUgfHwgZ3JhbmRzb25MaXN0Lmxlbmd0aCA9PSAwXCJcclxuXHRcdD5cclxuXHRcdFx0e3sgdHJhbnNsYXRpb25bXCJTQVZFXCJdIHx8IFwiLlNBVkVcIiB9fVxyXG5cdFx0PC9idXR0b24+XHJcblx0PC9kaXY+XHJcbjwvZGl2PlxyXG4iXX0=
|