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.
Files changed (266) hide show
  1. package/README.md +57 -57
  2. package/bundles/raise-common-lib.umd.js +28020 -1275
  3. package/bundles/raise-common-lib.umd.js.map +1 -1
  4. package/bundles/raise-common-lib.umd.min.js +1 -1
  5. package/bundles/raise-common-lib.umd.min.js.map +1 -1
  6. package/esm2015/lib/dashboard/api.js +46 -0
  7. package/esm2015/lib/dashboard/bar-charts/bar-charts.component.js +638 -0
  8. package/esm2015/lib/dashboard/bar-charts/utils.js +40 -0
  9. package/esm2015/lib/dashboard/dashboard-properties/data-mart-new/data-mart-new.component.js +700 -0
  10. package/esm2015/lib/dashboard/dashboard.service.js +650 -0
  11. package/esm2015/lib/dashboard/dashboardPorlets.service.js +3107 -0
  12. package/esm2015/lib/dashboard/dialog-group/download/index.component.js +358 -0
  13. package/esm2015/lib/dashboard/dialog-group/empty-icon-prompt/empty-icon-prompt.component.js +67 -0
  14. package/esm2015/lib/dashboard/gadget-group/gadget-pivot/gadget-pivot.component.js +4443 -0
  15. package/esm2015/lib/dashboard/gadget-group/gadget-pivot-chart/gadget-pivot.component.js +4293 -0
  16. package/esm2015/lib/dashboard/gadget-group/gadget-table/gadget-table.component.js +1553 -0
  17. package/esm2015/lib/dashboard/gadget-group/gadget-transpose/gadget-transpose.component.js +857 -0
  18. package/esm2015/lib/dashboard/pane-group-new.component.js +2930 -0
  19. package/esm2015/lib/dashboard/sidebar-iconlist/field-filter/field-filter.component.js +1016 -0
  20. package/esm2015/lib/dashboard/sidebar-iconlist/field-format/field-format.component.js +1003 -0
  21. package/esm2015/lib/dashboard/sidebar-iconlist/portlet-type-new/portlet-type-new.component.js +319 -0
  22. package/esm2015/lib/dashboard/sidebar-iconlist/sidebar-iconlist-new.component.js +1638 -0
  23. package/esm2015/lib/form/checkbox-group/index.component.js +60 -5
  24. package/esm2015/lib/raise-common-lib.module.js +56 -3
  25. package/esm2015/lib/service/InjectionToken.js +13 -0
  26. package/esm2015/public-api.js +3 -1
  27. package/esm2015/raise-common-lib.js +22 -6
  28. package/esm5/lib/dashboard/api.js +48 -0
  29. package/esm5/lib/dashboard/bar-charts/bar-charts.component.js +733 -0
  30. package/esm5/lib/dashboard/bar-charts/utils.js +45 -0
  31. package/esm5/lib/dashboard/dashboard-properties/data-mart-new/data-mart-new.component.js +772 -0
  32. package/esm5/lib/dashboard/dashboard.service.js +846 -0
  33. package/esm5/lib/dashboard/dashboardPorlets.service.js +3536 -0
  34. package/esm5/lib/dashboard/dialog-group/download/index.component.js +441 -0
  35. package/esm5/lib/dashboard/dialog-group/empty-icon-prompt/empty-icon-prompt.component.js +78 -0
  36. package/esm5/lib/dashboard/gadget-group/gadget-pivot/gadget-pivot.component.js +4940 -0
  37. package/esm5/lib/dashboard/gadget-group/gadget-pivot-chart/gadget-pivot.component.js +4751 -0
  38. package/esm5/lib/dashboard/gadget-group/gadget-table/gadget-table.component.js +1683 -0
  39. package/esm5/lib/dashboard/gadget-group/gadget-transpose/gadget-transpose.component.js +931 -0
  40. package/esm5/lib/dashboard/pane-group-new.component.js +3307 -0
  41. package/esm5/lib/dashboard/sidebar-iconlist/field-filter/field-filter.component.js +1138 -0
  42. package/esm5/lib/dashboard/sidebar-iconlist/field-format/field-format.component.js +1184 -0
  43. package/esm5/lib/dashboard/sidebar-iconlist/portlet-type-new/portlet-type-new.component.js +354 -0
  44. package/esm5/lib/dashboard/sidebar-iconlist/sidebar-iconlist-new.component.js +1792 -0
  45. package/esm5/lib/form/checkbox-group/index.component.js +74 -5
  46. package/esm5/lib/raise-common-lib.module.js +56 -3
  47. package/esm5/lib/service/InjectionToken.js +13 -0
  48. package/esm5/public-api.js +3 -1
  49. package/esm5/raise-common-lib.js +22 -6
  50. package/fesm2015/raise-common-lib.js +24747 -1110
  51. package/fesm2015/raise-common-lib.js.map +1 -1
  52. package/fesm5/raise-common-lib.js +27815 -1263
  53. package/fesm5/raise-common-lib.js.map +1 -1
  54. package/lib/dashboard/api.d.ts +21 -0
  55. package/lib/dashboard/bar-charts/bar-charts.component.d.ts +60 -0
  56. package/lib/dashboard/bar-charts/utils.d.ts +1 -0
  57. package/lib/dashboard/dashboard-properties/data-mart-new/data-mart-new.component.d.ts +49 -0
  58. package/lib/dashboard/dashboard.service.d.ts +149 -0
  59. package/lib/dashboard/dashboardPorlets.service.d.ts +211 -0
  60. package/lib/dashboard/dialog-group/download/index.component.d.ts +33 -0
  61. package/lib/dashboard/dialog-group/empty-icon-prompt/empty-icon-prompt.component.d.ts +12 -0
  62. package/lib/dashboard/gadget-group/gadget-pivot/gadget-pivot.component.d.ts +125 -0
  63. package/lib/dashboard/gadget-group/gadget-pivot-chart/gadget-pivot.component.d.ts +128 -0
  64. package/lib/dashboard/gadget-group/gadget-table/gadget-table.component.d.ts +74 -0
  65. package/lib/dashboard/gadget-group/gadget-transpose/gadget-transpose.component.d.ts +44 -0
  66. package/lib/dashboard/pane-group-new.component.d.ts +165 -0
  67. package/lib/dashboard/sidebar-iconlist/field-filter/field-filter.component.d.ts +53 -0
  68. package/lib/dashboard/sidebar-iconlist/field-format/field-format.component.d.ts +59 -0
  69. package/lib/dashboard/sidebar-iconlist/portlet-type-new/portlet-type-new.component.d.ts +27 -0
  70. package/lib/dashboard/sidebar-iconlist/sidebar-iconlist-new.component.d.ts +147 -0
  71. package/lib/form/checkbox-group/index.component.d.ts +5 -0
  72. package/lib/service/InjectionToken.d.ts +4 -0
  73. package/package.json +1 -1
  74. package/public-api.d.ts +2 -0
  75. package/raise-common-lib.d.ts +20 -4
  76. package/raise-common-lib.metadata.json +1 -1
  77. package/src/assets/img/arrow_right.svg +4 -4
  78. package/src/assets/img/calendar-disabled.svg +6 -6
  79. package/src/assets/img/calendar.svg +6 -6
  80. package/src/assets/img/calendar_arrow_left.svg +3 -3
  81. package/src/assets/img/calendar_arrow_right.svg +3 -3
  82. package/src/assets/img/checked-vector.svg +3 -3
  83. package/src/assets/img/dashboard_icon/AddPerson.svg +4 -0
  84. package/src/assets/img/dashboard_icon/Angle-double-left.svg +12 -0
  85. package/src/assets/img/dashboard_icon/Angle-double-right.svg +12 -0
  86. package/src/assets/img/dashboard_icon/Arrow_collapse.svg +3 -0
  87. package/src/assets/img/dashboard_icon/Arrow_expand.svg +3 -0
  88. package/src/assets/img/dashboard_icon/Close.svg +4 -0
  89. package/src/assets/img/dashboard_icon/Edit_label.svg +3 -0
  90. package/src/assets/img/dashboard_icon/RemoveMini.svg +3 -0
  91. package/src/assets/img/dashboard_icon/ShareTo.svg +3 -0
  92. package/src/assets/img/dashboard_icon/add-dashboard.svg +4 -0
  93. package/src/assets/img/dashboard_icon/add-tab.svg +4 -0
  94. package/src/assets/img/dashboard_icon/angle-left.svg +12 -0
  95. package/src/assets/img/dashboard_icon/angle-right.svg +12 -0
  96. package/src/assets/img/dashboard_icon/area-white.svg +3 -0
  97. package/src/assets/img/dashboard_icon/area.svg +3 -0
  98. package/src/assets/img/dashboard_icon/bar-white.svg +14 -0
  99. package/src/assets/img/dashboard_icon/bar.svg +14 -0
  100. package/src/assets/img/dashboard_icon/basic-icon-filter.svg +14 -0
  101. package/src/assets/img/dashboard_icon/chart-combined-active.svg +7 -0
  102. package/src/assets/img/dashboard_icon/chart-combined.svg +7 -0
  103. package/src/assets/img/dashboard_icon/column-white.svg +14 -0
  104. package/src/assets/img/dashboard_icon/column.svg +26 -0
  105. package/src/assets/img/dashboard_icon/customize.png +0 -0
  106. package/src/assets/img/dashboard_icon/dashboard-description.svg +18 -0
  107. package/src/assets/img/dashboard_icon/dashboard-download.svg +18 -0
  108. package/src/assets/img/dashboard_icon/dashboard-drag.svg +28 -0
  109. package/src/assets/img/dashboard_icon/dashboard-duplicate.svg +24 -0
  110. package/src/assets/img/dashboard_icon/dashboard-icon.svg +12 -0
  111. package/src/assets/img/dashboard_icon/dashboard-properties.svg +18 -0
  112. package/src/assets/img/dashboard_icon/dashboard-rename.svg +18 -0
  113. package/src/assets/img/dashboard_icon/dashboard-share.svg +20 -0
  114. package/src/assets/img/dashboard_icon/dashboard-tab-delete.svg +4 -0
  115. package/src/assets/img/dashboard_icon/dashboard_Share.svg +3 -0
  116. package/src/assets/img/dashboard_icon/dashboard_ToolsHide.svg +4 -0
  117. package/src/assets/img/dashboard_icon/datamart_.svg +5 -0
  118. package/src/assets/img/dashboard_icon/datamart_Admin.svg +3 -0
  119. package/src/assets/img/dashboard_icon/datamart_Asset Portfolio.svg +4 -0
  120. package/src/assets/img/dashboard_icon/datamart_Bank.svg +3 -0
  121. package/src/assets/img/dashboard_icon/datamart_CRM.svg +6 -0
  122. package/src/assets/img/dashboard_icon/datamart_Company.svg +6 -0
  123. package/src/assets/img/dashboard_icon/datamart_Compliance.svg +3 -0
  124. package/src/assets/img/dashboard_icon/datamart_Contact.svg +3 -0
  125. package/src/assets/img/dashboard_icon/datamart_DASHBOARD.svg +4 -0
  126. package/src/assets/img/dashboard_icon/datamart_DOCX.svg +4 -0
  127. package/src/assets/img/dashboard_icon/datamart_ESG.svg +4 -0
  128. package/src/assets/img/dashboard_icon/datamart_Financials - Company.svg +3 -0
  129. package/src/assets/img/dashboard_icon/datamart_Fund.svg +4 -0
  130. package/src/assets/img/dashboard_icon/datamart_FundFinancial.svg +4 -0
  131. package/src/assets/img/dashboard_icon/datamart_HTML.svg +4 -0
  132. package/src/assets/img/dashboard_icon/datamart_Logs.svg +8 -0
  133. package/src/assets/img/dashboard_icon/datamart_PDF.svg +5 -0
  134. package/src/assets/img/dashboard_icon/datamart_Project.svg +3 -0
  135. package/src/assets/img/dashboard_icon/datamart_Templates.svg +7 -0
  136. package/src/assets/img/dashboard_icon/datamart_Track Change.svg +3 -0
  137. package/src/assets/img/dashboard_icon/datamart_VirtualGroup.svg +5 -0
  138. package/src/assets/img/dashboard_icon/datamart_XLS.svg +4 -0
  139. package/src/assets/img/dashboard_icon/desktop_selected.svg +10 -0
  140. package/src/assets/img/dashboard_icon/desktop_unselected.svg +10 -0
  141. package/src/assets/img/dashboard_icon/favourite-grey.svg +3 -0
  142. package/src/assets/img/dashboard_icon/favourite-yellow.svg +3 -0
  143. package/src/assets/img/dashboard_icon/forms-checkbox-square-tick.svg +3 -0
  144. package/src/assets/img/dashboard_icon/ftable-white.svg +24 -0
  145. package/src/assets/img/dashboard_icon/ftable.svg +24 -0
  146. package/src/assets/img/dashboard_icon/gadget-basic-arrow-down.svg +14 -0
  147. package/src/assets/img/dashboard_icon/gadget-basic-format.svg +21 -0
  148. package/src/assets/img/dashboard_icon/gadget-basic-sub-total.svg +18 -0
  149. package/src/assets/img/dashboard_icon/gadget-basic-total-1.svg +9 -0
  150. package/src/assets/img/dashboard_icon/gadget-basic-total.svg +16 -0
  151. package/src/assets/img/dashboard_icon/gadget-columns.svg +12 -0
  152. package/src/assets/img/dashboard_icon/gadget-delete.svg +18 -0
  153. package/src/assets/img/dashboard_icon/gadget-download.svg +18 -0
  154. package/src/assets/img/dashboard_icon/gadget-duplicate.svg +24 -0
  155. package/src/assets/img/dashboard_icon/gadget-edit.svg +18 -0
  156. package/src/assets/img/dashboard_icon/gadget-filters-light.svg +9 -0
  157. package/src/assets/img/dashboard_icon/gadget-filters.svg +9 -0
  158. package/src/assets/img/dashboard_icon/gadget-format-0.svg +8 -0
  159. package/src/assets/img/dashboard_icon/gadget-format-1.svg +8 -0
  160. package/src/assets/img/dashboard_icon/gadget-format.svg +19 -0
  161. package/src/assets/img/dashboard_icon/gadget-fullscreen.svg +30 -0
  162. package/src/assets/img/dashboard_icon/gadget-settings.svg +18 -0
  163. package/src/assets/img/dashboard_icon/gadget-sub-total-0.svg +18 -0
  164. package/src/assets/img/dashboard_icon/gadget-sub-total-1.svg +18 -0
  165. package/src/assets/img/dashboard_icon/gadget-thumbnail.svg +12 -0
  166. package/src/assets/img/dashboard_icon/gadget-type-light.svg +15 -0
  167. package/src/assets/img/dashboard_icon/gadget-type.svg +16 -0
  168. package/src/assets/img/dashboard_icon/geo-white.svg +14 -0
  169. package/src/assets/img/dashboard_icon/geo.svg +14 -0
  170. package/src/assets/img/dashboard_icon/historic-IRR-white.svg +9 -0
  171. package/src/assets/img/dashboard_icon/historic-IRR.svg +5 -0
  172. package/src/assets/img/dashboard_icon/information-1.png +0 -0
  173. package/src/assets/img/dashboard_icon/information-grey.svg +4 -0
  174. package/src/assets/img/dashboard_icon/menu-change-group.svg +3 -0
  175. package/src/assets/img/dashboard_icon/menu-close.svg +20 -0
  176. package/src/assets/img/dashboard_icon/menu-delete.svg +18 -0
  177. package/src/assets/img/dashboard_icon/menu-description.svg +19 -0
  178. package/src/assets/img/dashboard_icon/menu-download.svg +24 -0
  179. package/src/assets/img/dashboard_icon/menu-drag.svg +28 -0
  180. package/src/assets/img/dashboard_icon/menu-duplicate.svg +26 -0
  181. package/src/assets/img/dashboard_icon/menu-properties.svg +18 -0
  182. package/src/assets/img/dashboard_icon/menu-rename.svg +23 -0
  183. package/src/assets/img/dashboard_icon/menu-share.svg +20 -0
  184. package/src/assets/img/dashboard_icon/menu-toolbar.svg +10 -0
  185. package/src/assets/img/dashboard_icon/mobile_selected.svg +10 -0
  186. package/src/assets/img/dashboard_icon/mobile_unselected.svg +10 -0
  187. package/src/assets/img/dashboard_icon/more_Save.svg +3 -0
  188. package/src/assets/img/dashboard_icon/more_View.svg +3 -0
  189. package/src/assets/img/dashboard_icon/multi-series-white.svg +20 -0
  190. package/src/assets/img/dashboard_icon/multi-series.svg +6 -0
  191. package/src/assets/img/dashboard_icon/paint-bucket.svg +6 -0
  192. package/src/assets/img/dashboard_icon/pie-white.svg +16 -0
  193. package/src/assets/img/dashboard_icon/pie.svg +16 -0
  194. package/src/assets/img/dashboard_icon/pivot-chart-active.svg +8 -0
  195. package/src/assets/img/dashboard_icon/pivot-chart.svg +8 -0
  196. package/src/assets/img/dashboard_icon/pivot-white.svg +8 -0
  197. package/src/assets/img/dashboard_icon/pivot.svg +8 -0
  198. package/src/assets/img/dashboard_icon/pivot_column.svg +9 -0
  199. package/src/assets/img/dashboard_icon/pivot_column_active.svg +9 -0
  200. package/src/assets/img/dashboard_icon/pivot_line.svg +12 -0
  201. package/src/assets/img/dashboard_icon/pivot_line_active.svg +12 -0
  202. package/src/assets/img/dashboard_icon/print-A2.svg +3 -0
  203. package/src/assets/img/dashboard_icon/radar-white.svg +19 -0
  204. package/src/assets/img/dashboard_icon/radar.svg +19 -0
  205. package/src/assets/img/dashboard_icon/saveAs.svg +3 -0
  206. package/src/assets/img/dashboard_icon/search_input.svg +4 -0
  207. package/src/assets/img/dashboard_icon/table-3-white.svg +16 -0
  208. package/src/assets/img/dashboard_icon/table-3.svg +16 -0
  209. package/src/assets/img/dashboard_icon/table-filter-off.svg +5 -0
  210. package/src/assets/img/dashboard_icon/table-filter-on.svg +5 -0
  211. package/src/assets/img/dashboard_icon/tag_dashboard_selected.svg +3 -0
  212. package/src/assets/img/dashboard_icon/tag_dashboard_unselected.svg +3 -0
  213. package/src/assets/img/dashboard_icon/tag_share_selected.svg +3 -0
  214. package/src/assets/img/dashboard_icon/tag_share_unselected.svg +3 -0
  215. package/src/assets/img/dashboard_icon/tick.svg +26 -0
  216. package/src/assets/img/dashboard_icon/toolbar_AddDashboard.svg +5 -0
  217. package/src/assets/img/dashboard_icon/toolbar_AddGroup.svg +3 -0
  218. package/src/assets/img/dashboard_icon/toolbar_AddReport.svg +3 -0
  219. package/src/assets/img/dashboard_icon/toolbar_CollapseAll.svg +3 -0
  220. package/src/assets/img/dashboard_icon/toolbar_Customize.svg +3 -0
  221. package/src/assets/img/dashboard_icon/toolbar_DeleteDark.svg +3 -0
  222. package/src/assets/img/dashboard_icon/toolbar_Duplicate.svg +3 -0
  223. package/src/assets/img/dashboard_icon/toolbar_Edit.svg +3 -0
  224. package/src/assets/img/dashboard_icon/toolbar_ExpandAll.svg +3 -0
  225. package/src/assets/img/dashboard_icon/toolbar_Search.svg +3 -0
  226. package/src/assets/img/dashboard_icon/topbar-menu.svg +33 -0
  227. package/src/assets/img/dashboard_icon/topbar-refresh.svg +17 -0
  228. package/src/assets/img/dashboard_icon/topbar-tool-off.svg +12 -0
  229. package/src/assets/img/dashboard_icon/topbar-tool-on.svg +12 -0
  230. package/src/assets/img/dashboard_icon/trade-up-white.svg +14 -0
  231. package/src/assets/img/dashboard_icon/trade-up.svg +14 -0
  232. package/src/assets/img/dashboard_icon/transpose-white.svg +16 -0
  233. package/src/assets/img/dashboard_icon/transpose.svg +16 -0
  234. package/src/assets/img/dialog-close.svg +4 -4
  235. package/src/assets/img/dialog-grow.svg +6 -6
  236. package/src/assets/img/dialog-shrink.svg +6 -6
  237. package/src/assets/img/plus.svg +4 -4
  238. package/src/assets/img/search.svg +4 -4
  239. package/src/assets/img/shrink-icon.svg +6 -6
  240. package/src/assets/img/time-disabled.svg +4 -4
  241. package/src/assets/img/time.svg +4 -4
  242. package/src/assets/img/toolbar-action-addFolder.svg +17 -17
  243. package/src/assets/img/toolbar-action-calculator.svg +11 -11
  244. package/src/assets/img/toolbar-action-collapse.svg +7 -7
  245. package/src/assets/img/toolbar-action-combine.svg +4 -4
  246. package/src/assets/img/toolbar-action-edit.svg +4 -4
  247. package/src/assets/img/toolbar-action-expand.svg +7 -7
  248. package/src/assets/img/toolbar-action-folderMove.svg +8 -8
  249. package/src/assets/img/toolbar-action-lock.svg +6 -6
  250. package/src/assets/img/toolbar-action-preview.svg +7 -7
  251. package/src/assets/img/toolbar-action-publish.svg +5 -5
  252. package/src/assets/img/toolbar-action-reminders.svg +10 -10
  253. package/src/assets/img/toolbar-action-rename.svg +7 -7
  254. package/src/assets/img/toolbar-action-saveSequence.svg +5 -5
  255. package/src/assets/img/toolbar-action-send-file.svg +5 -5
  256. package/src/assets/img/toolbar-action-settle.svg +7 -7
  257. package/src/assets/img/toolbar-action-share.svg +5 -5
  258. package/src/assets/img/toolbar-action-submitForApproval.svg +4 -4
  259. package/src/assets/img/toolbar-action-sync.svg +4 -4
  260. package/src/assets/img/toolbar-action-template.svg +6 -6
  261. package/src/assets/img/toolbar-action-workflow.svg +9 -9
  262. package/src/assets/style/reset/button.scss +0 -1
  263. package/src/assets/style/reset/checkbox.scss +8 -3
  264. package/src/assets/style/reset/mat-dialog.scss +11 -5
  265. package/src/assets/style/style.scss +14 -4
  266. 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=