raise-common-lib 0.0.206 → 0.0.208
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/README.md +57 -57
- package/bundles/raise-common-lib.umd.js +28020 -1275
- package/bundles/raise-common-lib.umd.js.map +1 -1
- package/bundles/raise-common-lib.umd.min.js +1 -1
- package/bundles/raise-common-lib.umd.min.js.map +1 -1
- package/esm2015/lib/dashboard/api.js +46 -0
- package/esm2015/lib/dashboard/bar-charts/bar-charts.component.js +638 -0
- package/esm2015/lib/dashboard/bar-charts/utils.js +40 -0
- package/esm2015/lib/dashboard/dashboard-properties/data-mart-new/data-mart-new.component.js +700 -0
- package/esm2015/lib/dashboard/dashboard.service.js +650 -0
- package/esm2015/lib/dashboard/dashboardPorlets.service.js +3107 -0
- package/esm2015/lib/dashboard/dialog-group/download/index.component.js +358 -0
- package/esm2015/lib/dashboard/dialog-group/empty-icon-prompt/empty-icon-prompt.component.js +67 -0
- package/esm2015/lib/dashboard/gadget-group/gadget-pivot/gadget-pivot.component.js +4443 -0
- package/esm2015/lib/dashboard/gadget-group/gadget-pivot-chart/gadget-pivot.component.js +4293 -0
- package/esm2015/lib/dashboard/gadget-group/gadget-table/gadget-table.component.js +1553 -0
- package/esm2015/lib/dashboard/gadget-group/gadget-transpose/gadget-transpose.component.js +857 -0
- package/esm2015/lib/dashboard/pane-group-new.component.js +2930 -0
- package/esm2015/lib/dashboard/sidebar-iconlist/field-filter/field-filter.component.js +1016 -0
- package/esm2015/lib/dashboard/sidebar-iconlist/field-format/field-format.component.js +1003 -0
- package/esm2015/lib/dashboard/sidebar-iconlist/portlet-type-new/portlet-type-new.component.js +319 -0
- package/esm2015/lib/dashboard/sidebar-iconlist/sidebar-iconlist-new.component.js +1638 -0
- package/esm2015/lib/form/checkbox-group/index.component.js +60 -5
- package/esm2015/lib/raise-common-lib.module.js +56 -3
- package/esm2015/lib/service/InjectionToken.js +13 -0
- package/esm2015/public-api.js +3 -1
- package/esm2015/raise-common-lib.js +22 -6
- package/esm5/lib/dashboard/api.js +48 -0
- package/esm5/lib/dashboard/bar-charts/bar-charts.component.js +733 -0
- package/esm5/lib/dashboard/bar-charts/utils.js +45 -0
- package/esm5/lib/dashboard/dashboard-properties/data-mart-new/data-mart-new.component.js +772 -0
- package/esm5/lib/dashboard/dashboard.service.js +846 -0
- package/esm5/lib/dashboard/dashboardPorlets.service.js +3536 -0
- package/esm5/lib/dashboard/dialog-group/download/index.component.js +441 -0
- package/esm5/lib/dashboard/dialog-group/empty-icon-prompt/empty-icon-prompt.component.js +78 -0
- package/esm5/lib/dashboard/gadget-group/gadget-pivot/gadget-pivot.component.js +4940 -0
- package/esm5/lib/dashboard/gadget-group/gadget-pivot-chart/gadget-pivot.component.js +4751 -0
- package/esm5/lib/dashboard/gadget-group/gadget-table/gadget-table.component.js +1683 -0
- package/esm5/lib/dashboard/gadget-group/gadget-transpose/gadget-transpose.component.js +931 -0
- package/esm5/lib/dashboard/pane-group-new.component.js +3307 -0
- package/esm5/lib/dashboard/sidebar-iconlist/field-filter/field-filter.component.js +1138 -0
- package/esm5/lib/dashboard/sidebar-iconlist/field-format/field-format.component.js +1184 -0
- package/esm5/lib/dashboard/sidebar-iconlist/portlet-type-new/portlet-type-new.component.js +354 -0
- package/esm5/lib/dashboard/sidebar-iconlist/sidebar-iconlist-new.component.js +1792 -0
- package/esm5/lib/form/checkbox-group/index.component.js +74 -5
- package/esm5/lib/raise-common-lib.module.js +56 -3
- package/esm5/lib/service/InjectionToken.js +13 -0
- package/esm5/public-api.js +3 -1
- package/esm5/raise-common-lib.js +22 -6
- package/fesm2015/raise-common-lib.js +24747 -1110
- package/fesm2015/raise-common-lib.js.map +1 -1
- package/fesm5/raise-common-lib.js +27815 -1263
- package/fesm5/raise-common-lib.js.map +1 -1
- package/lib/dashboard/api.d.ts +21 -0
- package/lib/dashboard/bar-charts/bar-charts.component.d.ts +60 -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 +49 -0
- package/lib/dashboard/dashboard.service.d.ts +149 -0
- package/lib/dashboard/dashboardPorlets.service.d.ts +211 -0
- package/lib/dashboard/dialog-group/download/index.component.d.ts +33 -0
- package/lib/dashboard/dialog-group/empty-icon-prompt/empty-icon-prompt.component.d.ts +12 -0
- package/lib/dashboard/gadget-group/gadget-pivot/gadget-pivot.component.d.ts +125 -0
- package/lib/dashboard/gadget-group/gadget-pivot-chart/gadget-pivot.component.d.ts +128 -0
- package/lib/dashboard/gadget-group/gadget-table/gadget-table.component.d.ts +74 -0
- package/lib/dashboard/gadget-group/gadget-transpose/gadget-transpose.component.d.ts +44 -0
- package/lib/dashboard/pane-group-new.component.d.ts +165 -0
- package/lib/dashboard/sidebar-iconlist/field-filter/field-filter.component.d.ts +53 -0
- package/lib/dashboard/sidebar-iconlist/field-format/field-format.component.d.ts +59 -0
- package/lib/dashboard/sidebar-iconlist/portlet-type-new/portlet-type-new.component.d.ts +27 -0
- package/lib/dashboard/sidebar-iconlist/sidebar-iconlist-new.component.d.ts +147 -0
- package/lib/form/checkbox-group/index.component.d.ts +5 -0
- package/lib/service/InjectionToken.d.ts +4 -0
- package/package.json +1 -1
- package/public-api.d.ts +2 -0
- package/raise-common-lib.d.ts +20 -4
- package/raise-common-lib.metadata.json +1 -1
- package/src/assets/img/arrow_right.svg +4 -4
- package/src/assets/img/calendar-disabled.svg +6 -6
- package/src/assets/img/calendar.svg +6 -6
- package/src/assets/img/calendar_arrow_left.svg +3 -3
- package/src/assets/img/calendar_arrow_right.svg +3 -3
- package/src/assets/img/checked-vector.svg +3 -3
- 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
- package/src/assets/img/dialog-close.svg +4 -4
- package/src/assets/img/dialog-grow.svg +6 -6
- package/src/assets/img/dialog-shrink.svg +6 -6
- package/src/assets/img/plus.svg +4 -4
- package/src/assets/img/search.svg +4 -4
- package/src/assets/img/shrink-icon.svg +6 -6
- package/src/assets/img/time-disabled.svg +4 -4
- package/src/assets/img/time.svg +4 -4
- package/src/assets/img/toolbar-action-addFolder.svg +17 -17
- package/src/assets/img/toolbar-action-calculator.svg +11 -11
- package/src/assets/img/toolbar-action-collapse.svg +7 -7
- package/src/assets/img/toolbar-action-combine.svg +4 -4
- package/src/assets/img/toolbar-action-edit.svg +4 -4
- package/src/assets/img/toolbar-action-expand.svg +7 -7
- package/src/assets/img/toolbar-action-folderMove.svg +8 -8
- package/src/assets/img/toolbar-action-lock.svg +6 -6
- package/src/assets/img/toolbar-action-preview.svg +7 -7
- package/src/assets/img/toolbar-action-publish.svg +5 -5
- package/src/assets/img/toolbar-action-reminders.svg +10 -10
- package/src/assets/img/toolbar-action-rename.svg +7 -7
- package/src/assets/img/toolbar-action-saveSequence.svg +5 -5
- package/src/assets/img/toolbar-action-send-file.svg +5 -5
- package/src/assets/img/toolbar-action-settle.svg +7 -7
- package/src/assets/img/toolbar-action-share.svg +5 -5
- package/src/assets/img/toolbar-action-submitForApproval.svg +4 -4
- package/src/assets/img/toolbar-action-sync.svg +4 -4
- package/src/assets/img/toolbar-action-template.svg +6 -6
- package/src/assets/img/toolbar-action-workflow.svg +9 -9
- package/src/assets/style/reset/button.scss +0 -1
- package/src/assets/style/reset/checkbox.scss +8 -3
- package/src/assets/style/reset/mat-dialog.scss +11 -5
- package/src/assets/style/style.scss +14 -4
- package/src/assets/style/variables.scss +1 -0
|
@@ -0,0 +1,319 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @fileoverview added by tsickle
|
|
3
|
+
* Generated from: lib/dashboard/sidebar-iconlist/portlet-type-new/portlet-type-new.component.ts
|
|
4
|
+
* @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
|
|
5
|
+
*/
|
|
6
|
+
import { Component, Output, EventEmitter, ChangeDetectorRef, ChangeDetectionStrategy, Input, } from "@angular/core";
|
|
7
|
+
import { DashboardService } from "../../dashboard.service";
|
|
8
|
+
export class PortletTypeNewComponent {
|
|
9
|
+
/**
|
|
10
|
+
* @param {?} DashboardService
|
|
11
|
+
* @param {?} ref
|
|
12
|
+
*/
|
|
13
|
+
constructor(DashboardService, ref) {
|
|
14
|
+
this.DashboardService = DashboardService;
|
|
15
|
+
this.ref = ref;
|
|
16
|
+
this.dataMartCode = "";
|
|
17
|
+
this.portletType = new EventEmitter();
|
|
18
|
+
this.subscriptions = [];
|
|
19
|
+
this.portletList = [
|
|
20
|
+
{
|
|
21
|
+
portletName: "Table",
|
|
22
|
+
portletCode: "table",
|
|
23
|
+
},
|
|
24
|
+
{
|
|
25
|
+
portletName: "Transpose",
|
|
26
|
+
portletCode: "transpose",
|
|
27
|
+
},
|
|
28
|
+
{
|
|
29
|
+
portletName: "Pivot",
|
|
30
|
+
portletCode: "pivot",
|
|
31
|
+
},
|
|
32
|
+
{
|
|
33
|
+
portletName: "Pie",
|
|
34
|
+
portletCode: "pie",
|
|
35
|
+
},
|
|
36
|
+
{
|
|
37
|
+
portletName: "Bar",
|
|
38
|
+
portletCode: "bar",
|
|
39
|
+
},
|
|
40
|
+
{
|
|
41
|
+
portletName: "Column",
|
|
42
|
+
portletCode: "column",
|
|
43
|
+
},
|
|
44
|
+
{
|
|
45
|
+
portletName: "Line",
|
|
46
|
+
portletCode: "line",
|
|
47
|
+
},
|
|
48
|
+
{
|
|
49
|
+
portletName: "Area",
|
|
50
|
+
portletCode: "area",
|
|
51
|
+
},
|
|
52
|
+
{
|
|
53
|
+
portletName: "Radar",
|
|
54
|
+
portletCode: "radar",
|
|
55
|
+
},
|
|
56
|
+
];
|
|
57
|
+
this.portletList = this.portletList.concat([
|
|
58
|
+
{
|
|
59
|
+
portletName: "NewChart",
|
|
60
|
+
portletCode: "newchart",
|
|
61
|
+
},
|
|
62
|
+
{
|
|
63
|
+
portletName: "NewColumn",
|
|
64
|
+
portletCode: "newcolumn",
|
|
65
|
+
},
|
|
66
|
+
{
|
|
67
|
+
portletName: "NewLine",
|
|
68
|
+
portletCode: "newline",
|
|
69
|
+
},
|
|
70
|
+
{
|
|
71
|
+
portletName: "NewColumnLine",
|
|
72
|
+
portletCode: "newcolumnline",
|
|
73
|
+
},
|
|
74
|
+
// SMP2-17578/17654,仅 fund/company historical IRR 可选择
|
|
75
|
+
// TODO: 需要确定 fund/company historical IRR code
|
|
76
|
+
{
|
|
77
|
+
portletName: "HistoricalIRR",
|
|
78
|
+
portletCode: "historicalIRR",
|
|
79
|
+
},
|
|
80
|
+
]);
|
|
81
|
+
/** @type {?} */
|
|
82
|
+
const excludeList = ["Pie", "Bar", "Column", "Line", "Area", "Radar"];
|
|
83
|
+
this.portletList =
|
|
84
|
+
this.portletList.filter((/**
|
|
85
|
+
* @param {?} item
|
|
86
|
+
* @return {?}
|
|
87
|
+
*/
|
|
88
|
+
(item) => !excludeList.includes(item.portletName))) || [];
|
|
89
|
+
}
|
|
90
|
+
/**
|
|
91
|
+
* @return {?}
|
|
92
|
+
*/
|
|
93
|
+
ngOnInit() {
|
|
94
|
+
this.getInfo();
|
|
95
|
+
if (this.portlet && this.portlet.figureCode) {
|
|
96
|
+
/** @type {?} */
|
|
97
|
+
const configStr = this.portlet.config;
|
|
98
|
+
if (!configStr) {
|
|
99
|
+
return;
|
|
100
|
+
}
|
|
101
|
+
/** @type {?} */
|
|
102
|
+
const config = JSON.parse(configStr);
|
|
103
|
+
this.type = config.portletType;
|
|
104
|
+
}
|
|
105
|
+
this.datamart = JSON.parse(this.dashboard.config).datamartViewCode;
|
|
106
|
+
}
|
|
107
|
+
/**
|
|
108
|
+
* @return {?}
|
|
109
|
+
*/
|
|
110
|
+
ngAfterViewInit() {
|
|
111
|
+
this.subscriptions.push(this.DashboardService.getportletEdit().subscribe((/**
|
|
112
|
+
* @param {?} status
|
|
113
|
+
* @return {?}
|
|
114
|
+
*/
|
|
115
|
+
(status) => {
|
|
116
|
+
if (status && this.portlet) {
|
|
117
|
+
/** @type {?} */
|
|
118
|
+
const configStr = this.portlet.config;
|
|
119
|
+
if (!configStr) {
|
|
120
|
+
return;
|
|
121
|
+
}
|
|
122
|
+
/** @type {?} */
|
|
123
|
+
const config = JSON.parse(configStr);
|
|
124
|
+
this.type = config.portletType;
|
|
125
|
+
// this.portletType.emit(this.type);
|
|
126
|
+
this.datamart = config.datamartViewCode;
|
|
127
|
+
this.ref.markForCheck();
|
|
128
|
+
this.ref.detectChanges();
|
|
129
|
+
}
|
|
130
|
+
})));
|
|
131
|
+
//Michael 20200526 clear options data
|
|
132
|
+
this.subscriptions.push(this.DashboardService.getResetbtn().subscribe((/**
|
|
133
|
+
* @param {?} status
|
|
134
|
+
* @return {?}
|
|
135
|
+
*/
|
|
136
|
+
(status) => {
|
|
137
|
+
if (status) {
|
|
138
|
+
this.type = "";
|
|
139
|
+
this.portletType.emit(this.type);
|
|
140
|
+
this.ref.detectChanges();
|
|
141
|
+
}
|
|
142
|
+
})));
|
|
143
|
+
this.subscriptions.push(this.DashboardService.getPushbtn().subscribe((/**
|
|
144
|
+
* @param {?} id
|
|
145
|
+
* @return {?}
|
|
146
|
+
*/
|
|
147
|
+
(id) => {
|
|
148
|
+
if (this.dashboard && this.dashboard.id === id) {
|
|
149
|
+
this.type = "";
|
|
150
|
+
this.portletType.emit(this.type);
|
|
151
|
+
}
|
|
152
|
+
})));
|
|
153
|
+
}
|
|
154
|
+
/**
|
|
155
|
+
* @param {?} changes
|
|
156
|
+
* @return {?}
|
|
157
|
+
*/
|
|
158
|
+
ngOnChanges(changes) {
|
|
159
|
+
if (changes.dataMartCode) {
|
|
160
|
+
if (this.disabledHistoricalIRR && this.type === "historicalIRR") {
|
|
161
|
+
this.selectPortletType(null);
|
|
162
|
+
}
|
|
163
|
+
}
|
|
164
|
+
}
|
|
165
|
+
/**
|
|
166
|
+
* @return {?}
|
|
167
|
+
*/
|
|
168
|
+
ngOnDestroy() {
|
|
169
|
+
this.subscriptions.forEach((/**
|
|
170
|
+
* @param {?} sub
|
|
171
|
+
* @return {?}
|
|
172
|
+
*/
|
|
173
|
+
(sub) => sub.unsubscribe()));
|
|
174
|
+
}
|
|
175
|
+
/**
|
|
176
|
+
* @return {?}
|
|
177
|
+
*/
|
|
178
|
+
get disabledHistoricalIRR() {
|
|
179
|
+
return ![
|
|
180
|
+
"FundHistoricalCashflowIRR",
|
|
181
|
+
"FundHistoricalGrossIRR",
|
|
182
|
+
].includes(this.dataMartCode);
|
|
183
|
+
}
|
|
184
|
+
/**
|
|
185
|
+
* @param {?} item
|
|
186
|
+
* @return {?}
|
|
187
|
+
*/
|
|
188
|
+
setTooltip(item) {
|
|
189
|
+
if (!item)
|
|
190
|
+
return "";
|
|
191
|
+
switch (item.portletName) {
|
|
192
|
+
case "Table":
|
|
193
|
+
return this.translation.TABLE || ".TABLE";
|
|
194
|
+
case "Transpose":
|
|
195
|
+
return `${this.translation.TRANSPOSE || ".TRANSPOSE"} ${this.translation.TABLE || ".TABLE"}`;
|
|
196
|
+
case "Pivot":
|
|
197
|
+
return `${this.translation.PIVOT || ".PIVOT"} ${this.translation.TABLE || ".TABLE"}`;
|
|
198
|
+
case "NewChart":
|
|
199
|
+
return `${this.translation.PIVOT || ".PIVOT"} ${this.translation.COMPANY_CHART || ".COMPANY_CHART"}`;
|
|
200
|
+
case "NewColumn":
|
|
201
|
+
return `${this.translation.CLUSTERED_COLUMN || ".CLUSTERED_COLUMN"} ${this.translation.COMPANY_CHART || ".COMPANY_CHART"}`;
|
|
202
|
+
case "NewLine":
|
|
203
|
+
return `${this.translation.LINE || ".LINE"} ${this.translation.COMPANY_CHART || ".COMPANY_CHART"}`;
|
|
204
|
+
case "NewColumnLine":
|
|
205
|
+
return `${this.translation.LINE || ".LINE"} ${this.translation.AND || ".AND"} ${this.translation.CLUSTERED_COLUMN || ".CLUSTERED_COLUMN"} ${this.translation.COMPANY_CHART || ".COMPANY_CHART"}`;
|
|
206
|
+
case "HistoricalIRR":
|
|
207
|
+
return `${this.translation.HISTORICAL} ${this.translation.IRR}`;
|
|
208
|
+
default:
|
|
209
|
+
return "";
|
|
210
|
+
}
|
|
211
|
+
}
|
|
212
|
+
/**
|
|
213
|
+
* @param {?} portletCode
|
|
214
|
+
* @return {?}
|
|
215
|
+
*/
|
|
216
|
+
selectPortletType(portletCode) {
|
|
217
|
+
this.type = portletCode;
|
|
218
|
+
this.portletType.emit(portletCode);
|
|
219
|
+
}
|
|
220
|
+
/**
|
|
221
|
+
* @private
|
|
222
|
+
* @return {?}
|
|
223
|
+
*/
|
|
224
|
+
getInfo() {
|
|
225
|
+
this.translation = JSON.parse(localStorage.getItem("translation"));
|
|
226
|
+
this.userInfo = JSON.parse(localStorage.getItem("userInfo"));
|
|
227
|
+
}
|
|
228
|
+
/**
|
|
229
|
+
* @return {?}
|
|
230
|
+
*/
|
|
231
|
+
getFinancialType() {
|
|
232
|
+
if (this.datamart) {
|
|
233
|
+
return this.datamart.toLocaleLowerCase().indexOf("financial") > -1
|
|
234
|
+
? true
|
|
235
|
+
: false;
|
|
236
|
+
}
|
|
237
|
+
}
|
|
238
|
+
/**
|
|
239
|
+
* @param {?} code
|
|
240
|
+
* @return {?}
|
|
241
|
+
*/
|
|
242
|
+
getFPPType(code) {
|
|
243
|
+
/** @type {?} */
|
|
244
|
+
let type_ = [
|
|
245
|
+
"table",
|
|
246
|
+
"pivot",
|
|
247
|
+
"pie",
|
|
248
|
+
"bar",
|
|
249
|
+
"column",
|
|
250
|
+
"line",
|
|
251
|
+
"area",
|
|
252
|
+
"multiSeries",
|
|
253
|
+
"geo",
|
|
254
|
+
"radar",
|
|
255
|
+
];
|
|
256
|
+
return type_.indexOf(code) > -1 ? true : false;
|
|
257
|
+
}
|
|
258
|
+
}
|
|
259
|
+
PortletTypeNewComponent.decorators = [
|
|
260
|
+
{ type: Component, args: [{
|
|
261
|
+
selector: "kt-portlet-type-new",
|
|
262
|
+
template: "<div class=\"portlet-row row\">\r\n\t<ng-container *ngFor=\"let item of portletList\">\r\n\t\t<div\r\n\t\t\tclass=\"portlet-wrapper\"\r\n\t\t\t*ngIf=\"\r\n\t\t\t\titem.portletCode == 'financialTable' ? getFinancialType() : true\r\n\t\t\t\"\r\n\t\t>\r\n\t\t\t<div\r\n\t\t\t\tclass=\"portlet\"\r\n\t\t\t\t[class]=\"item.portletCode + '-type'\"\r\n\t\t\t\tmatTooltip=\"{{ setTooltip(item) }}\"\r\n\t\t\t\t[ngClass]=\"{\r\n\t\t\t\t\tenabled: item.portletCode !== type,\r\n\t\t\t\t\tselected: item.portletCode === type,\r\n\t\t\t\t\tdisabled:\r\n\t\t\t\t\t\tdisabledHistoricalIRR &&\r\n\t\t\t\t\t\titem.portletCode === 'historicalIRR'\r\n\t\t\t\t}\"\r\n\t\t\t\t(click)=\"selectPortletType(item.portletCode)\"\r\n\t\t\t></div>\r\n\t\t\t<div\r\n\t\t\t\t*ngIf=\"item.portletCode === 'newchart'\"\r\n\t\t\t\tstyle=\"position: relative; top: -4px\"\r\n\t\t\t\tclass=\"portlet-label\"\r\n\t\t\t></div>\r\n\t\t</div>\r\n\t</ng-container>\r\n</div>\r\n",
|
|
263
|
+
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
264
|
+
styles: [".portlet-row{display:flex;margin-bottom:10px;justify-content:left;padding:0 16px}.portlet-row .portlet-wrapper{width:20%;display:flex;flex-direction:column;align-items:center;cursor:pointer;margin-bottom:10px;margin-top:5px}.portlet-row .portlet-wrapper .portlet{width:32px;height:32px;background-color:#44566c}.portlet-row .portlet-wrapper .portlet.enabled{background-color:#fff}.portlet-row .portlet-wrapper .portlet.disabled{background-color:#fff;opacity:.4;pointer-events:none}.portlet-row .portlet-wrapper .portlet.selected{background-color:#5867dd;border:5px solid rgba(80,102,181,.5);border-radius:2px}.portlet-row .portlet-wrapper .portlet.selected.table-type{background-image:url(../../assets/img/dashboard_icon/table-3-white.svg);background-repeat:no-repeat;background-position:center;background-size:100% 100%}.portlet-row .portlet-wrapper .portlet.selected.transpose-type{background-image:url(../../assets/img/dashboard_icon/transpose-white.svg);background-repeat:no-repeat;background-position:center}.portlet-row .portlet-wrapper .portlet.selected.pivot-type{background-image:url(../../assets/img/dashboard_icon/pivot-white.svg);background-repeat:no-repeat;background-position:center}.portlet-row .portlet-wrapper .portlet.selected.newchart-type{background-image:url(../../assets/img/dashboard_icon/pivot-chart-active.svg);background-repeat:no-repeat;background-position:center}.portlet-row .portlet-wrapper .portlet.selected.geo-type{background-image:url(../../assets/img/dashboard_icon/geo-white.svg);background-repeat:no-repeat;background-position:center}.portlet-row .portlet-wrapper .portlet.selected.pie-type{background-image:url(../../assets/img/dashboard_icon/pie-white.svg);background-repeat:no-repeat;background-position:center}.portlet-row .portlet-wrapper .portlet.selected.bar-type{background-image:url(../../assets/img/dashboard_icon/bar-white.svg);background-repeat:no-repeat;background-position:center}.portlet-row .portlet-wrapper .portlet.selected.column-type{background-image:url(../../assets/img/dashboard_icon/pivot_column_active.svg);background-repeat:no-repeat;background-position:center}.portlet-row .portlet-wrapper .portlet.selected.newcolumn-type{background-image:url(../../assets/img/dashboard_icon/column-white.svg);background-repeat:no-repeat;background-position:center}.portlet-row .portlet-wrapper .portlet.selected.line-type{background-image:url(../../assets/img/dashboard_icon/pivot_line_active.svg);background-repeat:no-repeat;background-position:center}.portlet-row .portlet-wrapper .portlet.selected.newline-type{background-image:url(../../assets/img/dashboard_icon/trade-up-white.svg);background-repeat:no-repeat;background-position:center}.portlet-row .portlet-wrapper .portlet.selected.area-type{background-image:url(../../assets/img/dashboard_icon/area-white.svg);background-repeat:no-repeat;background-position:center}.portlet-row .portlet-wrapper .portlet.selected.multiSeries-type{background-image:url(../../assets/img/dashboard_icon/multi-series-white.svg);background-repeat:no-repeat;background-position:center}.portlet-row .portlet-wrapper .portlet.selected.radar-type{background-image:url(../../assets/img/dashboard_icon/radar-white.svg);background-repeat:no-repeat;background-position:center}.portlet-row .portlet-wrapper .portlet.selected.financialTable-type{background-image:url(../../assets/img/dashboard_icon/ftable-white.svg);background-repeat:no-repeat;background-position:center}.portlet-row .portlet-wrapper .portlet.selected.newcolumnline-type{background-image:url(../../assets/img/dashboard_icon/chart-combined-active.svg);background-repeat:no-repeat;background-position:center}.portlet-row .portlet-wrapper .portlet.selected.historicalIRR-type{background-image:url(../../assets/img/dashboard_icon/historic-IRR-white.svg);background-repeat:no-repeat;background-position:center}.portlet-row .portlet-wrapper .portlet.table-type{background-image:url(../../assets/img/dashboard_icon/table-3.svg);background-repeat:no-repeat;background-position:center;background-size:100% 100%}.portlet-row .portlet-wrapper .portlet.transpose-type{background-image:url(../../assets/img/dashboard_icon/transpose.svg);background-repeat:no-repeat;background-position:center;background-size:100% 100%}.portlet-row .portlet-wrapper .portlet.pivot-type{background-image:url(../../assets/img/dashboard_icon/pivot.svg);background-repeat:no-repeat;background-position:center;background-size:100% 100%;width:32px!important;height:32px!important;position:relative}.portlet-row .portlet-wrapper .portlet.newchart-type{background-image:url(../../assets/img/dashboard_icon/pivot-chart.svg);background-repeat:no-repeat;background-position:center;background-size:100% 100%;width:32px!important;height:32px!important;position:relative}.portlet-row .portlet-wrapper .portlet.geo-type{background-image:url(../../assets/img/dashboard_icon/geo.svg);background-repeat:no-repeat;background-position:center;background-size:100% 100%}.portlet-row .portlet-wrapper .portlet.pie-type{background-image:url(../../assets/img/dashboard_icon/pie.svg);background-repeat:no-repeat;background-position:center;background-size:100% 100%}.portlet-row .portlet-wrapper .portlet.bar-type{background-image:url(../../assets/img/dashboard_icon/bar.svg);background-repeat:no-repeat;background-position:center;background-size:100% 100%}.portlet-row .portlet-wrapper .portlet.column-type{background-image:url(../../assets/img/dashboard_icon/pivot_column.svg);background-repeat:no-repeat;background-position:center;background-size:100% 100%;width:28px!important;height:28px!important;position:relative;top:1px}.portlet-row .portlet-wrapper .portlet.newcolumn-type{background-image:url(../../assets/img/dashboard_icon/column.svg);background-repeat:no-repeat;background-position:center;background-size:100% 100%}.portlet-row .portlet-wrapper .portlet.line-type{background-image:url(../../assets/img/dashboard_icon/pivot_line.svg);background-repeat:no-repeat;background-position:center;background-size:100% 100%;width:28px!important;height:28px!important;position:relative;top:1px}.portlet-row .portlet-wrapper .portlet.newline-type{background-image:url(../../assets/img/dashboard_icon/trade-up.svg);background-repeat:no-repeat;background-position:center;background-size:100% 100%}.portlet-row .portlet-wrapper .portlet.area-type{background-image:url(../../assets/img/dashboard_icon/area.svg);background-repeat:no-repeat;background-position:center;background-size:100% 100%}.portlet-row .portlet-wrapper .portlet.multiSeries-type{background-image:url(../../assets/img/dashboard_icon/multi-series.svg);background-repeat:no-repeat;background-position:center;background-size:100% 100%}.portlet-row .portlet-wrapper .portlet.radar-type{background-image:url(../../assets/img/dashboard_icon/radar.svg);background-repeat:no-repeat;background-position:center;background-size:100% 100%}.portlet-row .portlet-wrapper .portlet.financialTable-type{background-image:url(../../assets/img/dashboard_icon/ftable.svg);background-repeat:no-repeat;background-position:center;background-size:100% 100%}.portlet-row .portlet-wrapper .portlet.newcolumnline-type{background-image:url(../../assets/img/dashboard_icon/chart-combined.svg);background-repeat:no-repeat;background-position:center}.portlet-row .portlet-wrapper .portlet.historicalIRR-type{background-image:url(../../assets/img/dashboard_icon/historic-IRR.svg);background-repeat:no-repeat;background-position:center}.portlet-row .portlet-wrapper .portlet-label{width:100%;text-align:center;font-weight:500;color:#44566c;font-size:12px}"]
|
|
265
|
+
}] }
|
|
266
|
+
];
|
|
267
|
+
/** @nocollapse */
|
|
268
|
+
PortletTypeNewComponent.ctorParameters = () => [
|
|
269
|
+
{ type: DashboardService },
|
|
270
|
+
{ type: ChangeDetectorRef }
|
|
271
|
+
];
|
|
272
|
+
PortletTypeNewComponent.propDecorators = {
|
|
273
|
+
dataMartCode: [{ type: Input, args: ["dataMartCode",] }],
|
|
274
|
+
portlet: [{ type: Input }],
|
|
275
|
+
dashboard: [{ type: Input }],
|
|
276
|
+
portletType: [{ type: Output }]
|
|
277
|
+
};
|
|
278
|
+
if (false) {
|
|
279
|
+
/** @type {?} */
|
|
280
|
+
PortletTypeNewComponent.prototype.dataMartCode;
|
|
281
|
+
/** @type {?} */
|
|
282
|
+
PortletTypeNewComponent.prototype.portlet;
|
|
283
|
+
/** @type {?} */
|
|
284
|
+
PortletTypeNewComponent.prototype.dashboard;
|
|
285
|
+
/** @type {?} */
|
|
286
|
+
PortletTypeNewComponent.prototype.portletType;
|
|
287
|
+
/**
|
|
288
|
+
* @type {?}
|
|
289
|
+
* @private
|
|
290
|
+
*/
|
|
291
|
+
PortletTypeNewComponent.prototype.datamart;
|
|
292
|
+
/** @type {?} */
|
|
293
|
+
PortletTypeNewComponent.prototype.translation;
|
|
294
|
+
/**
|
|
295
|
+
* @type {?}
|
|
296
|
+
* @private
|
|
297
|
+
*/
|
|
298
|
+
PortletTypeNewComponent.prototype.userInfo;
|
|
299
|
+
/** @type {?} */
|
|
300
|
+
PortletTypeNewComponent.prototype.portletList;
|
|
301
|
+
/** @type {?} */
|
|
302
|
+
PortletTypeNewComponent.prototype.type;
|
|
303
|
+
/**
|
|
304
|
+
* @type {?}
|
|
305
|
+
* @private
|
|
306
|
+
*/
|
|
307
|
+
PortletTypeNewComponent.prototype.subscriptions;
|
|
308
|
+
/**
|
|
309
|
+
* @type {?}
|
|
310
|
+
* @private
|
|
311
|
+
*/
|
|
312
|
+
PortletTypeNewComponent.prototype.DashboardService;
|
|
313
|
+
/**
|
|
314
|
+
* @type {?}
|
|
315
|
+
* @private
|
|
316
|
+
*/
|
|
317
|
+
PortletTypeNewComponent.prototype.ref;
|
|
318
|
+
}
|
|
319
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicG9ydGxldC10eXBlLW5ldy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9yYWlzZS1jb21tb24tbGliLyIsInNvdXJjZXMiOlsibGliL2Rhc2hib2FyZC9zaWRlYmFyLWljb25saXN0L3BvcnRsZXQtdHlwZS1uZXcvcG9ydGxldC10eXBlLW5ldy5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFBQSxPQUFPLEVBQ04sU0FBUyxFQUVULE1BQU0sRUFDTixZQUFZLEVBQ1osaUJBQWlCLEVBQ2pCLHVCQUF1QixFQUN2QixLQUFLLEdBR0wsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFTM0QsTUFBTSxPQUFPLHVCQUF1Qjs7Ozs7SUFZbkMsWUFDUyxnQkFBa0MsRUFDbEMsR0FBc0I7UUFEdEIscUJBQWdCLEdBQWhCLGdCQUFnQixDQUFrQjtRQUNsQyxRQUFHLEdBQUgsR0FBRyxDQUFtQjtRQWJSLGlCQUFZLEdBQUcsRUFBRSxDQUFDO1FBRy9CLGdCQUFXLEdBQUcsSUFBSSxZQUFZLEVBQUUsQ0FBQztRQU1uQyxrQkFBYSxHQUFtQixFQUFFLENBQUM7UUFNMUMsSUFBSSxDQUFDLFdBQVcsR0FBRztZQUNsQjtnQkFDQyxXQUFXLEVBQUUsT0FBTztnQkFDcEIsV0FBVyxFQUFFLE9BQU87YUFDcEI7WUFDRDtnQkFDQyxXQUFXLEVBQUUsV0FBVztnQkFDeEIsV0FBVyxFQUFFLFdBQVc7YUFDeEI7WUFDRDtnQkFDQyxXQUFXLEVBQUUsT0FBTztnQkFDcEIsV0FBVyxFQUFFLE9BQU87YUFDcEI7WUFDRDtnQkFDQyxXQUFXLEVBQUUsS0FBSztnQkFDbEIsV0FBVyxFQUFFLEtBQUs7YUFDbEI7WUFDRDtnQkFDQyxXQUFXLEVBQUUsS0FBSztnQkFDbEIsV0FBVyxFQUFFLEtBQUs7YUFDbEI7WUFDRDtnQkFDQyxXQUFXLEVBQUUsUUFBUTtnQkFDckIsV0FBVyxFQUFFLFFB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QU87U0FDUDtRQUNELE9BQU8sS0FBSyxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUM7SUFDaEQsQ0FBQzs7O1lBak9ELFNBQVMsU0FBQztnQkFDVixRQUFRLEVBQUUscUJBQXFCO2dCQUMvQix1N0JBQWdEO2dCQUVoRCxlQUFlLEVBQUUsdUJBQXVCLENBQUMsTUFBTTs7YUFDL0M7Ozs7WUFSUSxnQkFBZ0I7WUFOeEIsaUJBQWlCOzs7MkJBZ0JoQixLQUFLLFNBQUMsY0FBYztzQkFDcEIsS0FBSzt3QkFDTCxLQUFLOzBCQUNMLE1BQU07Ozs7SUFIUCwrQ0FBeUM7O0lBQ3pDLDBDQUFpQjs7SUFDakIsNENBQW1COztJQUNuQiw4Q0FBMkM7Ozs7O0lBQzNDLDJDQUFpQjs7SUFDakIsOENBQW1COzs7OztJQUNuQiwyQ0FBaUI7O0lBQ2pCLDhDQUFtQjs7SUFDbkIsdUNBQVk7Ozs7O0lBQ1osZ0RBQTJDOzs7OztJQUcxQyxtREFBMEM7Ozs7O0lBQzFDLHNDQUE4QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XHJcblx0Q29tcG9uZW50LFxyXG5cdE9uSW5pdCxcclxuXHRPdXRwdXQsXHJcblx0RXZlbnRFbWl0dGVyLFxyXG5cdENoYW5nZURldGVjdG9yUmVmLFxyXG5cdENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxyXG5cdElucHV0LFxyXG5cdE9uQ2hhbmdlcyxcclxuXHRTaW1wbGVDaGFuZ2VzLFxyXG59IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XHJcbmltcG9ydCB7IERhc2hib2FyZFNlcnZpY2UgfSBmcm9tIFwiLi4vLi4vZGFzaGJvYXJkLnNlcnZpY2VcIjtcclxuaW1wb3J0IHsgU3Vic2NyaXB0aW9uIH0gZnJvbSBcInJ4anNcIjtcclxuXHJcbkBDb21wb25lbnQoe1xyXG5cdHNlbGVjdG9yOiBcImt0LXBvcnRsZXQtdHlwZS1uZXdcIixcclxuXHR0ZW1wbGF0ZVVybDogXCIuL3BvcnRsZXQtdHlwZS1uZXcuY29tcG9uZW50Lmh0bWxcIixcclxuXHRzdHlsZVVybHM6IFtcIi4vcG9ydGxldC10eXBlLW5ldy5jb21wb25lbnQuc2Nzc1wiXSxcclxuXHRjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcclxufSlcclxuZXhwb3J0IGNsYXNzIFBvcnRsZXRUeXBlTmV3Q29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBPbkNoYW5nZXMge1xyXG5cdEBJbnB1dChcImRhdGFNYXJ0Q29kZVwiKSBkYXRhTWFydENvZGUgPSBcIlwiO1xyXG5cdEBJbnB1dCgpIHBvcnRsZXQ7XHJcblx0QElucHV0KCkgZGFzaGJvYXJkO1xyXG5cdEBPdXRwdXQoKSBwb3J0bGV0VHlwZSA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcclxuXHRwcml2YXRlIGRhdGFtYXJ0O1xyXG5cdHB1YmxpYyB0cmFuc2xhdGlvbjtcclxuXHRwcml2YXRlIHVzZXJJbmZvO1xyXG5cdHB1YmxpYyBwb3J0bGV0TGlzdDtcclxuXHRwdWJsaWMgdHlwZTtcclxuXHRwcml2YXRlIHN1YnNjcmlwdGlvbnM6IFN1YnNjcmlwdGlvbltdID0gW107XHJcblxyXG5cdGNvbnN0cnVjdG9yKFxyXG5cdFx0cHJpdmF0ZSBEYXNoYm9hcmRTZXJ2aWNlOiBEYXNoYm9hcmRTZXJ2aWNlLFxyXG5cdFx0cHJpdmF0ZSByZWY6IENoYW5nZURldGVjdG9yUmVmXHJcblx0KSB7XHJcblx0XHR0aGlzLnBvcnRsZXRMaXN0ID0gW1xyXG5cdFx0XHR7XHJcblx0XHRcdFx0cG9ydGxldE5hbWU6IFwiVGFibGVcIixcclxuXHRcdFx0XHRwb3J0bGV0Q29kZTogXCJ0YWJsZVwiLFxyXG5cdFx0XHR9LFxyXG5cdFx0XHR7XHJcblx0XHRcdFx0cG9ydGxldE5hbWU6IFwiVHJhbnNwb3NlXCIsXHJcblx0XHRcdFx0cG9ydGxldENvZGU6IFwidHJhbnNwb3NlXCIsXHJcblx0XHRcdH0sXHJcblx0XHRcdHtcclxuXHRcdFx0XHRwb3J0bGV0TmFtZTogXCJQaXZvdFwiLFxyXG5cdFx0XHRcdHBvcnRsZXRDb2RlOiBcInBpdm90XCIsXHJcblx0XHRcdH0sXHJcblx0XHRcdHtcclxuXHRcdFx0XHRwb3J0bGV0TmFtZTogXCJQaWVcIixcclxuXHRcdFx0XHRwb3J0bGV0Q29kZTogXCJwaWVcIixcclxuXHRcdFx0fSxcclxuXHRcdFx0e1xyXG5cdFx0XHRcdHBvcnRsZXROYW1lOiBcIkJhclwiLFxyXG5cdFx0XHRcdHBvcnRsZXRDb2RlOiBcImJhclwiLFxyXG5cdFx0XHR9LFxyXG5cdFx0XHR7XHJcblx0XHRcdFx0cG9ydGxldE5hbWU6IFwiQ29sdW1uXCIsXHJcblx0XHRcdFx0cG9ydGxldENvZGU6IFwiY29sdW1uXCIsXHJcblx0XHRcdH0sXHJcblx0XHRcdHtcclxuXHRcdFx0XHRwb3J0bGV0TmFtZTogXCJMaW5lXCIsXHJcblx0XHRcdFx0cG9ydGxldENvZGU6IFwibGluZVwiLFxyXG5cdFx0XHR9LFxyXG5cdFx0XHR7XHJcblx0XHRcdFx0cG9ydGxldE5hbWU6IFwiQXJlYVwiLFxyXG5cdFx0XHRcdHBvcnRsZXRDb2RlOiBcImFyZWFcIixcclxuXHRcdFx0fSxcclxuXHRcdFx0e1xyXG5cdFx0XHRcdHBvcnRsZXROYW1lOiBcIlJhZGFyXCIsXHJcblx0XHRcdFx0cG9ydGxldENvZGU6IFwicmFkYXJcIixcclxuXHRcdFx0fSxcclxuXHRcdF07XHJcblxyXG5cdFx0dGhpcy5wb3J0bGV0TGlzdCA9IHRoaXMucG9ydGxldExpc3QuY29uY2F0KFtcclxuXHRcdFx0e1xyXG5cdFx0XHRcdHBvcnRsZXROYW1lOiBcIk5ld0NoYXJ0XCIsXHJcblx0XHRcdFx0cG9ydGxldENvZGU6IFwibmV3Y2hhcnRcIixcclxuXHRcdFx0fSxcclxuXHRcdFx0e1xyXG5cdFx0XHRcdHBvcnRsZXROYW1lOiBcIk5ld0NvbHVtblwiLFxyXG5cdFx0XHRcdHBvcnRsZXRDb2RlOiBcIm5ld2NvbHVtblwiLFxyXG5cdFx0XHR9LFxyXG5cdFx0XHR7XHJcblx0XHRcdFx0cG9ydGxldE5hbWU6IFwiTmV3TGluZVwiLFxyXG5cdFx0XHRcdHBvcnRsZXRDb2RlOiBcIm5ld2xpbmVcIixcclxuXHRcdFx0fSxcclxuXHRcdFx0e1xyXG5cdFx0XHRcdHBvcnRsZXROYW1lOiBcIk5ld0NvbHVtbkxpbmVcIixcclxuXHRcdFx0XHRwb3J0bGV0Q29kZTogXCJuZXdjb2x1bW5saW5lXCIsXHJcblx0XHRcdH0sXHJcblx0XHRcdC8vIFNNUDItMTc1NzgvMTc2NTTvvIzku4UgZnVuZC9jb21wYW55IGhpc3RvcmljYWwgSVJSIOWPr+mAieaLqVxyXG5cdFx0XHQvLyBUT0RPOiDpnIDopoHnoa7lrpogZnVuZC9jb21wYW55IGhpc3RvcmljYWwgSVJSIGNvZGVcclxuXHRcdFx0e1xyXG5cdFx0XHRcdHBvcnRsZXROYW1lOiBcIkhpc3RvcmljYWxJUlJcIixcclxuXHRcdFx0XHRwb3J0bGV0Q29kZTogXCJoaXN0b3JpY2FsSVJSXCIsXHJcblx0XHRcdH0sXHJcblx0XHRdKTtcclxuXHRcdGNvbnN0IGV4Y2x1ZGVMaXN0ID0gW1wiUGllXCIsIFwiQmFyXCIsIFwiQ29sdW1uXCIsIFwiTGluZVwiLCBcIkFyZWFcIiwgXCJSYWRhclwiXTtcclxuXHRcdHRoaXMucG9ydGxldExpc3QgPVxyXG5cdFx0XHR0aGlzLnBvcnRsZXRMaXN0LmZpbHRlcihcclxuXHRcdFx0XHQoaXRlbSkgPT4gIWV4Y2x1ZGVMaXN0LmluY2x1ZGVzKGl0ZW0ucG9ydGxldE5hbWUpXHJcblx0XHRcdCkgfHwgW107XHJcblx0fVxyXG5cclxuXHRuZ09uSW5pdCgpIHtcclxuXHRcdHRoaXMuZ2V0SW5mbygpO1xyXG5cdFx0aWYgKHRoaXMucG9ydGxldCAmJiB0aGlzLnBvcnRsZXQuZmlndXJlQ29kZSkge1xyXG5cdFx0XHRjb25zdCBjb25maWdTdHIgPSB0aGlzLnBvcnRsZXQuY29uZmlnO1xyXG5cdFx0XHRpZiAoIWNvbmZpZ1N0cikge1xyXG5cdFx0XHRcdHJldHVybjtcclxuXHRcdFx0fVxyXG5cdFx0XHRjb25zdCBjb25maWcgPSBKU09OLnBhcnNlKGNvbmZpZ1N0cik7XHJcblx0XHRcdHRoaXMudHlwZSA9IGNvbmZpZy5wb3J0bGV0VHlwZTtcclxuXHRcdH1cclxuXHRcdHRoaXMuZGF0YW1hcnQgPSBKU09OLnBhcnNlKHRoaXMuZGFzaGJvYXJkLmNvbmZpZykuZGF0YW1hcnRWaWV3Q29kZTtcclxuXHR9XHJcblx0bmdBZnRlclZpZXdJbml0KCk6IHZvaWQge1xyXG5cdFx0dGhpcy5zdWJzY3JpcHRpb25zLnB1c2goXHJcblx0XHRcdHRoaXMuRGFzaGJvYXJkU2VydmljZS5nZXRwb3J0bGV0RWRpdCgpLnN1YnNjcmliZSgoc3RhdHVzKSA9PiB7XHJcblx0XHRcdFx0aWYgKHN0YXR1cyAmJiB0aGlzLnBvcnRsZXQpIHtcclxuXHRcdFx0XHRcdGNvbnN0IGNvbmZpZ1N0ciA9IHRoaXMucG9ydGxldC5jb25maWc7XHJcblx0XHRcdFx0XHRpZiAoIWNvbmZpZ1N0cikge1xyXG5cdFx0XHRcdFx0XHRyZXR1cm47XHJcblx0XHRcdFx0XHR9XHJcblx0XHRcdFx0XHRjb25zdCBjb25maWcgPSBKU09OLnBhcnNlKGNvbmZpZ1N0cik7XHJcblx0XHRcdFx0XHR0aGlzLnR5cGUgPSBjb25maWcucG9ydGxldFR5cGU7XHJcblx0XHRcdFx0XHQvLyB0aGlzLnBvcnRsZXRUeXBlLmVtaXQodGhpcy50eXBlKTtcclxuXHRcdFx0XHRcdHRoaXMuZGF0YW1hcnQgPSBjb25maWcuZGF0YW1hcnRWaWV3Q29kZTtcclxuXHRcdFx0XHRcdHRoaXMucmVmLm1hcmtGb3JDaGVjaygpO1xyXG5cdFx0XHRcdFx0dGhpcy5yZWYuZGV0ZWN0Q2hhbmdlcygpO1xyXG5cdFx0XHRcdH1cclxuXHRcdFx0fSlcclxuXHRcdCk7XHJcblx0XHQvL01pY2hhZWwgMjAyMDA1MjYgY2xlYXIgb3B0aW9ucyBkYXRhXHJcblx0XHR0aGlzLnN1YnNjcmlwdGlvbnMucHVzaChcclxuXHRcdFx0dGhpcy5EYXNoYm9hcmRTZXJ2aWNlLmdldFJlc2V0YnRuKCkuc3Vic2NyaWJlKChzdGF0dXMpID0+IHtcclxuXHRcdFx0XHRpZiAoc3RhdHVzKSB7XHJcblx0XHRcdFx0XHR0aGlzLnR5cGUgPSBcIlwiO1xyXG5cdFx0XHRcdFx0dGhpcy5wb3J0bGV0VHlwZS5lbWl0KHRoaXMudHlwZSk7XHJcblx0XHRcdFx0XHR0aGlzLnJlZi5kZXRlY3RDaGFuZ2VzKCk7XHJcblx0XHRcdFx0fVxyXG5cdFx0XHR9KVxyXG5cdFx0KTtcclxuXHRcdHRoaXMuc3Vic2NyaXB0aW9ucy5wdXNoKFxyXG5cdFx0XHR0aGlzLkRhc2hib2FyZFNlcnZpY2UuZ2V0UHVzaGJ0bigpLnN1YnNjcmliZSgoaWQpID0+IHtcclxuXHRcdFx0XHRpZiAodGhpcy5kYXNoYm9hcmQgJiYgdGhpcy5kYXNoYm9hcmQuaWQgPT09IGlkKSB7XHJcblx0XHRcdFx0XHR0aGlzLnR5cGUgPSBcIlwiO1xyXG5cdFx0XHRcdFx0dGhpcy5wb3J0bGV0VHlwZS5lbWl0KHRoaXMudHlwZSk7XHJcblx0XHRcdFx0fVxyXG5cdFx0XHR9KVxyXG5cdFx0KTtcclxuXHR9XHJcblx0bmdPbkNoYW5nZXMoY2hhbmdlczogU2ltcGxlQ2hhbmdlcyk6IHZvaWQge1xyXG5cdFx0aWYgKGNoYW5nZXMuZGF0YU1hcnRDb2RlKSB7XHJcblx0XHRcdGlmICh0aGlzLmRpc2FibGVkSGlzdG9yaWNhbElSUiAmJiB0aGlzLnR5cGUgPT09IFwiaGlzdG9yaWNhbElSUlwiKSB7XHJcblx0XHRcdFx0dGhpcy5zZWxlY3RQb3J0bGV0VHlwZShudWxsKTtcclxuXHRcdFx0fVxyXG5cdFx0fVxyXG5cdH1cclxuXHRuZ09uRGVzdHJveSgpOiB2b2lkIHtcclxuXHRcdHRoaXMuc3Vic2NyaXB0aW9ucy5mb3JFYWNoKChzdWIpID0+IHN1Yi51bnN1YnNjcmliZSgpKTtcclxuXHR9XHJcblxyXG5cdGdldCBkaXNhYmxlZEhpc3RvcmljYWxJUlIoKSB7XHJcblx0XHRyZXR1cm4gIVtcclxuXHRcdFx0XCJGdW5kSGlzdG9yaWNhbENhc2hmbG93SVJSXCIsXHJcblx0XHRcdFwiRnVuZEhpc3RvcmljYWxHcm9zc0lSUlwiLFxyXG5cdFx0XS5pbmNsdWRlcyh0aGlzLmRhdGFNYXJ0Q29kZSk7XHJcblx0fVxyXG5cclxuXHRwdWJsaWMgc2V0VG9vbHRpcChpdGVtKSB7XHJcblx0XHRpZiAoIWl0ZW0pIHJldHVybiBcIlwiO1xyXG5cdFx0c3dpdGNoIChpdGVtLnBvcnRsZXROYW1lKSB7XHJcblx0XHRcdGNhc2UgXCJUYWJsZVwiOlxyXG5cdFx0XHRcdHJldHVybiB0aGlzLnRyYW5zbGF0aW9uLlRBQkxFIHx8IFwiLlRBQkxFXCI7XHJcblx0XHRcdGNhc2UgXCJUcmFuc3Bvc2VcIjpcclxuXHRcdFx0XHRyZXR1cm4gYCR7dGhpcy50cmFuc2xhdGlvbi5UUkFOU1BPU0UgfHwgXCIuVFJBTlNQT1NFXCJ9ICR7XHJcblx0XHRcdFx0XHR0aGlzLnRyYW5zbGF0aW9uLlRBQkxFIHx8IFwiLlRBQkxFXCJcclxuXHRcdFx0XHR9YDtcclxuXHRcdFx0Y2FzZSBcIlBpdm90XCI6XHJcblx0XHRcdFx0cmV0dXJuIGAke3RoaXMudHJhbnNsYXRpb24uUElWT1QgfHwgXCIuUElWT1RcIn0gJHtcclxuXHRcdFx0XHRcdHRoaXMudHJhbnNsYXRpb24uVEFCTEUgfHwgXCIuVEFCTEVcIlxyXG5cdFx0XHRcdH1gO1xyXG5cdFx0XHRjYXNlIFwiTmV3Q2hhcnRcIjpcclxuXHRcdFx0XHRyZXR1cm4gYCR7dGhpcy50cmFuc2xhdGlvbi5QSVZPVCB8fCBcIi5QSVZPVFwifSAke1xyXG5cdFx0XHRcdFx0dGhpcy50cmFuc2xhdGlvbi5DT01QQU5ZX0NIQVJUIHx8IFwiLkNPTVBBTllfQ0hBUlRcIlxyXG5cdFx0XHRcdH1gO1xyXG5cdFx0XHRjYXNlIFwiTmV3Q29sdW1uXCI6XHJcblx0XHRcdFx0cmV0dXJuIGAke1xyXG5cdFx0XHRcdFx0dGhpcy50cmFuc2xhdGlvbi5DTFVTVEVSRURfQ09MVU1OIHx8IFwiLkNMVVNURVJFRF9DT0xVTU5cIlxyXG5cdFx0XHRcdH0gJHt0aGlzLnRyYW5zbGF0aW9uLkNPTVBBTllfQ0hBUlQgfHwgXCIuQ09NUEFOWV9DSEFSVFwifWA7XHJcblx0XHRcdGNhc2UgXCJOZXdMaW5lXCI6XHJcblx0XHRcdFx0cmV0dXJuIGAke3RoaXMudHJhbnNsYXRpb24uTElORSB8fCBcIi5MSU5FXCJ9ICR7XHJcblx0XHRcdFx0XHR0aGlzLnRyYW5zbGF0aW9uLkNPTVBBTllfQ0hBUlQgfHwgXCIuQ09NUEFOWV9DSEFSVFwiXHJcblx0XHRcdFx0fWA7XHJcblx0XHRcdGNhc2UgXCJOZXdDb2x1bW5MaW5lXCI6XHJcblx0XHRcdFx0cmV0dXJuIGAke3RoaXMudHJhbnNsYXRpb24uTElORSB8fCBcIi5MSU5FXCJ9ICR7XHJcblx0XHRcdFx0XHR0aGlzLnRyYW5zbGF0aW9uLkFORCB8fCBcIi5BTkRcIlxyXG5cdFx0XHRcdH0gJHt0aGlzLnRyYW5zbGF0aW9uLkNMVVNURVJFRF9DT0xVTU4gfHwgXCIuQ0xVU1RFUkVEX0NPTFVNTlwifSAke1xyXG5cdFx0XHRcdFx0dGhpcy50cmFuc2xhdGlvbi5DT01QQU5ZX0NIQVJUIHx8IFwiLkNPTVBBTllfQ0hBUlRcIlxyXG5cdFx0XHRcdH1gO1xyXG5cdFx0XHRjYXNlIFwiSGlzdG9yaWNhbElSUlwiOlxyXG5cdFx0XHRcdHJldHVybiBgJHt0aGlzLnRyYW5zbGF0aW9uLkhJU1RPUklDQUx9ICR7dGhpcy50cmFuc2xhdGlvbi5JUlJ9YDtcclxuXHRcdFx0ZGVmYXVsdDpcclxuXHRcdFx0XHRyZXR1cm4gXCJcIjtcclxuXHRcdH1cclxuXHR9XHJcblxyXG5cdHB1YmxpYyBzZWxlY3RQb3J0bGV0VHlwZShwb3J0bGV0Q29kZSkge1xyXG5cdFx0dGhpcy50eXBlID0gcG9ydGxldENvZGU7XHJcblx0XHR0aGlzLnBvcnRsZXRUeXBlLmVtaXQocG9ydGxldENvZGUpO1xyXG5cdH1cclxuXHRwcml2YXRlIGdldEluZm8oKSB7XHJcblx0XHR0aGlzLnRyYW5zbGF0aW9uID0gSlNPTi5wYXJzZShsb2NhbFN0b3JhZ2UuZ2V0SXRlbShcInRyYW5zbGF0aW9uXCIpKTtcclxuXHRcdHRoaXMudXNlckluZm8gPSBKU09OLnBhcnNlKGxvY2FsU3RvcmFnZS5nZXRJdGVtKFwidXNlckluZm9cIikpO1xyXG5cdH1cclxuXHRwdWJsaWMgZ2V0RmluYW5jaWFsVHlwZSgpIHtcclxuXHRcdGlmICh0aGlzLmRhdGFtYXJ0KSB7XHJcblx0XHRcdHJldHVybiB0aGlzLmRhdGFtYXJ0LnRvTG9jYWxlTG93ZXJDYXNlKCkuaW5kZXhPZihcImZpbmFuY2lhbFwiKSA+IC0xXHJcblx0XHRcdFx0PyB0cnVlXHJcblx0XHRcdFx0OiBmYWxzZTtcclxuXHRcdH1cclxuXHR9XHJcblx0cHVibGljIGdldEZQUFR5cGUoY29kZSkge1xyXG5cdFx0bGV0IHR5cGVfID0gW1xyXG5cdFx0XHRcInRhYmxlXCIsXHJcblx0XHRcdFwicGl2b3RcIixcclxuXHRcdFx0XCJwaWVcIixcclxuXHRcdFx0XCJiYXJcIixcclxuXHRcdFx0XCJjb2x1bW5cIixcclxuXHRcdFx0XCJsaW5lXCIsXHJcblx0XHRcdFwiYXJlYVwiLFxyXG5cdFx0XHRcIm11bHRpU2VyaWVzXCIsXHJcblx0XHRcdFwiZ2VvXCIsXHJcblx0XHRcdFwicmFkYXJcIixcclxuXHRcdF07XHJcblx0XHRyZXR1cm4gdHlwZV8uaW5kZXhPZihjb2RlKSA+IC0xID8gdHJ1ZSA6IGZhbHNlO1xyXG5cdH1cclxufVxyXG4iXX0=
|