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,354 @@
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
+ var PortletTypeNewComponent = /** @class */ (function () {
9
+ function PortletTypeNewComponent(DashboardService, ref) {
10
+ this.DashboardService = DashboardService;
11
+ this.ref = ref;
12
+ this.dataMartCode = "";
13
+ this.portletType = new EventEmitter();
14
+ this.subscriptions = [];
15
+ this.portletList = [
16
+ {
17
+ portletName: "Table",
18
+ portletCode: "table",
19
+ },
20
+ {
21
+ portletName: "Transpose",
22
+ portletCode: "transpose",
23
+ },
24
+ {
25
+ portletName: "Pivot",
26
+ portletCode: "pivot",
27
+ },
28
+ {
29
+ portletName: "Pie",
30
+ portletCode: "pie",
31
+ },
32
+ {
33
+ portletName: "Bar",
34
+ portletCode: "bar",
35
+ },
36
+ {
37
+ portletName: "Column",
38
+ portletCode: "column",
39
+ },
40
+ {
41
+ portletName: "Line",
42
+ portletCode: "line",
43
+ },
44
+ {
45
+ portletName: "Area",
46
+ portletCode: "area",
47
+ },
48
+ {
49
+ portletName: "Radar",
50
+ portletCode: "radar",
51
+ },
52
+ ];
53
+ this.portletList = this.portletList.concat([
54
+ {
55
+ portletName: "NewChart",
56
+ portletCode: "newchart",
57
+ },
58
+ {
59
+ portletName: "NewColumn",
60
+ portletCode: "newcolumn",
61
+ },
62
+ {
63
+ portletName: "NewLine",
64
+ portletCode: "newline",
65
+ },
66
+ {
67
+ portletName: "NewColumnLine",
68
+ portletCode: "newcolumnline",
69
+ },
70
+ // SMP2-17578/17654,仅 fund/company historical IRR 可选择
71
+ // TODO: 需要确定 fund/company historical IRR code
72
+ {
73
+ portletName: "HistoricalIRR",
74
+ portletCode: "historicalIRR",
75
+ },
76
+ ]);
77
+ /** @type {?} */
78
+ var excludeList = ["Pie", "Bar", "Column", "Line", "Area", "Radar"];
79
+ this.portletList =
80
+ this.portletList.filter((/**
81
+ * @param {?} item
82
+ * @return {?}
83
+ */
84
+ function (item) { return !excludeList.includes(item.portletName); })) || [];
85
+ }
86
+ /**
87
+ * @return {?}
88
+ */
89
+ PortletTypeNewComponent.prototype.ngOnInit = /**
90
+ * @return {?}
91
+ */
92
+ function () {
93
+ this.getInfo();
94
+ if (this.portlet && this.portlet.figureCode) {
95
+ /** @type {?} */
96
+ var configStr = this.portlet.config;
97
+ if (!configStr) {
98
+ return;
99
+ }
100
+ /** @type {?} */
101
+ var config = JSON.parse(configStr);
102
+ this.type = config.portletType;
103
+ }
104
+ this.datamart = JSON.parse(this.dashboard.config).datamartViewCode;
105
+ };
106
+ /**
107
+ * @return {?}
108
+ */
109
+ PortletTypeNewComponent.prototype.ngAfterViewInit = /**
110
+ * @return {?}
111
+ */
112
+ function () {
113
+ var _this = this;
114
+ this.subscriptions.push(this.DashboardService.getportletEdit().subscribe((/**
115
+ * @param {?} status
116
+ * @return {?}
117
+ */
118
+ function (status) {
119
+ if (status && _this.portlet) {
120
+ /** @type {?} */
121
+ var configStr = _this.portlet.config;
122
+ if (!configStr) {
123
+ return;
124
+ }
125
+ /** @type {?} */
126
+ var config = JSON.parse(configStr);
127
+ _this.type = config.portletType;
128
+ // this.portletType.emit(this.type);
129
+ _this.datamart = config.datamartViewCode;
130
+ _this.ref.markForCheck();
131
+ _this.ref.detectChanges();
132
+ }
133
+ })));
134
+ //Michael 20200526 clear options data
135
+ this.subscriptions.push(this.DashboardService.getResetbtn().subscribe((/**
136
+ * @param {?} status
137
+ * @return {?}
138
+ */
139
+ function (status) {
140
+ if (status) {
141
+ _this.type = "";
142
+ _this.portletType.emit(_this.type);
143
+ _this.ref.detectChanges();
144
+ }
145
+ })));
146
+ this.subscriptions.push(this.DashboardService.getPushbtn().subscribe((/**
147
+ * @param {?} id
148
+ * @return {?}
149
+ */
150
+ function (id) {
151
+ if (_this.dashboard && _this.dashboard.id === id) {
152
+ _this.type = "";
153
+ _this.portletType.emit(_this.type);
154
+ }
155
+ })));
156
+ };
157
+ /**
158
+ * @param {?} changes
159
+ * @return {?}
160
+ */
161
+ PortletTypeNewComponent.prototype.ngOnChanges = /**
162
+ * @param {?} changes
163
+ * @return {?}
164
+ */
165
+ function (changes) {
166
+ if (changes.dataMartCode) {
167
+ if (this.disabledHistoricalIRR && this.type === "historicalIRR") {
168
+ this.selectPortletType(null);
169
+ }
170
+ }
171
+ };
172
+ /**
173
+ * @return {?}
174
+ */
175
+ PortletTypeNewComponent.prototype.ngOnDestroy = /**
176
+ * @return {?}
177
+ */
178
+ function () {
179
+ this.subscriptions.forEach((/**
180
+ * @param {?} sub
181
+ * @return {?}
182
+ */
183
+ function (sub) { return sub.unsubscribe(); }));
184
+ };
185
+ Object.defineProperty(PortletTypeNewComponent.prototype, "disabledHistoricalIRR", {
186
+ get: /**
187
+ * @return {?}
188
+ */
189
+ function () {
190
+ return ![
191
+ "FundHistoricalCashflowIRR",
192
+ "FundHistoricalGrossIRR",
193
+ ].includes(this.dataMartCode);
194
+ },
195
+ enumerable: true,
196
+ configurable: true
197
+ });
198
+ /**
199
+ * @param {?} item
200
+ * @return {?}
201
+ */
202
+ PortletTypeNewComponent.prototype.setTooltip = /**
203
+ * @param {?} item
204
+ * @return {?}
205
+ */
206
+ function (item) {
207
+ if (!item)
208
+ return "";
209
+ switch (item.portletName) {
210
+ case "Table":
211
+ return this.translation.TABLE || ".TABLE";
212
+ case "Transpose":
213
+ return (this.translation.TRANSPOSE || ".TRANSPOSE") + " " + (this.translation.TABLE || ".TABLE");
214
+ case "Pivot":
215
+ return (this.translation.PIVOT || ".PIVOT") + " " + (this.translation.TABLE || ".TABLE");
216
+ case "NewChart":
217
+ return (this.translation.PIVOT || ".PIVOT") + " " + (this.translation.COMPANY_CHART || ".COMPANY_CHART");
218
+ case "NewColumn":
219
+ return (this.translation.CLUSTERED_COLUMN || ".CLUSTERED_COLUMN") + " " + (this.translation.COMPANY_CHART || ".COMPANY_CHART");
220
+ case "NewLine":
221
+ return (this.translation.LINE || ".LINE") + " " + (this.translation.COMPANY_CHART || ".COMPANY_CHART");
222
+ case "NewColumnLine":
223
+ return (this.translation.LINE || ".LINE") + " " + (this.translation.AND || ".AND") + " " + (this.translation.CLUSTERED_COLUMN || ".CLUSTERED_COLUMN") + " " + (this.translation.COMPANY_CHART || ".COMPANY_CHART");
224
+ case "HistoricalIRR":
225
+ return this.translation.HISTORICAL + " " + this.translation.IRR;
226
+ default:
227
+ return "";
228
+ }
229
+ };
230
+ /**
231
+ * @param {?} portletCode
232
+ * @return {?}
233
+ */
234
+ PortletTypeNewComponent.prototype.selectPortletType = /**
235
+ * @param {?} portletCode
236
+ * @return {?}
237
+ */
238
+ function (portletCode) {
239
+ this.type = portletCode;
240
+ this.portletType.emit(portletCode);
241
+ };
242
+ /**
243
+ * @private
244
+ * @return {?}
245
+ */
246
+ PortletTypeNewComponent.prototype.getInfo = /**
247
+ * @private
248
+ * @return {?}
249
+ */
250
+ function () {
251
+ this.translation = JSON.parse(localStorage.getItem("translation"));
252
+ this.userInfo = JSON.parse(localStorage.getItem("userInfo"));
253
+ };
254
+ /**
255
+ * @return {?}
256
+ */
257
+ PortletTypeNewComponent.prototype.getFinancialType = /**
258
+ * @return {?}
259
+ */
260
+ function () {
261
+ if (this.datamart) {
262
+ return this.datamart.toLocaleLowerCase().indexOf("financial") > -1
263
+ ? true
264
+ : false;
265
+ }
266
+ };
267
+ /**
268
+ * @param {?} code
269
+ * @return {?}
270
+ */
271
+ PortletTypeNewComponent.prototype.getFPPType = /**
272
+ * @param {?} code
273
+ * @return {?}
274
+ */
275
+ function (code) {
276
+ /** @type {?} */
277
+ var type_ = [
278
+ "table",
279
+ "pivot",
280
+ "pie",
281
+ "bar",
282
+ "column",
283
+ "line",
284
+ "area",
285
+ "multiSeries",
286
+ "geo",
287
+ "radar",
288
+ ];
289
+ return type_.indexOf(code) > -1 ? true : false;
290
+ };
291
+ PortletTypeNewComponent.decorators = [
292
+ { type: Component, args: [{
293
+ selector: "kt-portlet-type-new",
294
+ 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",
295
+ changeDetection: ChangeDetectionStrategy.OnPush,
296
+ 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}"]
297
+ }] }
298
+ ];
299
+ /** @nocollapse */
300
+ PortletTypeNewComponent.ctorParameters = function () { return [
301
+ { type: DashboardService },
302
+ { type: ChangeDetectorRef }
303
+ ]; };
304
+ PortletTypeNewComponent.propDecorators = {
305
+ dataMartCode: [{ type: Input, args: ["dataMartCode",] }],
306
+ portlet: [{ type: Input }],
307
+ dashboard: [{ type: Input }],
308
+ portletType: [{ type: Output }]
309
+ };
310
+ return PortletTypeNewComponent;
311
+ }());
312
+ export { PortletTypeNewComponent };
313
+ if (false) {
314
+ /** @type {?} */
315
+ PortletTypeNewComponent.prototype.dataMartCode;
316
+ /** @type {?} */
317
+ PortletTypeNewComponent.prototype.portlet;
318
+ /** @type {?} */
319
+ PortletTypeNewComponent.prototype.dashboard;
320
+ /** @type {?} */
321
+ PortletTypeNewComponent.prototype.portletType;
322
+ /**
323
+ * @type {?}
324
+ * @private
325
+ */
326
+ PortletTypeNewComponent.prototype.datamart;
327
+ /** @type {?} */
328
+ PortletTypeNewComponent.prototype.translation;
329
+ /**
330
+ * @type {?}
331
+ * @private
332
+ */
333
+ PortletTypeNewComponent.prototype.userInfo;
334
+ /** @type {?} */
335
+ PortletTypeNewComponent.prototype.portletList;
336
+ /** @type {?} */
337
+ PortletTypeNewComponent.prototype.type;
338
+ /**
339
+ * @type {?}
340
+ * @private
341
+ */
342
+ PortletTypeNewComponent.prototype.subscriptions;
343
+ /**
344
+ * @type {?}
345
+ * @private
346
+ */
347
+ PortletTypeNewComponent.prototype.DashboardService;
348
+ /**
349
+ * @type {?}
350
+ * @private
351
+ */
352
+ PortletTypeNewComponent.prototype.ref;
353
+ }
354
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicG9ydGxldC10eXBlLW5ldy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9yYWlzZS1jb21tb24tbGliLyIsInNvdXJjZXMiOlsibGliL2Rhc2hib2FyZC9zaWRlYmFyLWljb25saXN0L3BvcnRsZXQtdHlwZS1uZXcvcG9ydGxldC10eXBlLW5ldy5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFBQSxPQUFPLEVBQ04sU0FBUyxFQUVULE1BQU0sRUFDTixZQUFZLEVBQ1osaUJBQWlCLEVBQ2pCLHVCQUF1QixFQUN2QixLQUFLLEdBR0wsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFHM0Q7SUFrQkMsaUNBQ1MsZ0JBQWtDLEVBQ2xDLEdBQXNCO1FBRHRCLHFCQUFnQixHQUFoQixnQkFBZ0IsQ0FBa0I7UUFDbEMsUUFBRyxHQUFILEdBQUcsQ0FBbUI7UUFiUixpQkFBWSxHQUFHLEVBQUUsQ0FBQztRQUcvQixnQkFBVyxHQUFHLElBQUksWUFBWSxFQUFFLENBQUM7UUFNbkMsa0JBQWEsR0FBbUIsRUFBRSxDQUFDO1FBTTFDLElBQUksQ0FBQyxXQUFXLEdBQUc7WUFDbEI7Z0JBQ0MsV0FBVyxFQUFFLE9BQU87Z0JBQ3BCLFdBQVcsRUFBRSxPQUFPO2FBQ3BCO1lBQ0Q7Z0JBQ0MsV0FBVyxFQUFFLFdBQVc7Z0JBQ3hCLFdBQVcsRUFBRSxXQUFXO2FBQ3hCO1lBQ0Q7Z0JBQ0MsV0FBVyxFQUFFLE9BQU87Z0JBQ3BCLFdBQVcsRUFBRSxPQUFPO2FBQ3BCO1lBQ0Q7Z0JBQ0MsV0FBVyxFQUFFLEtBQUs7Z0JBQ2xCLFdBQVcsRUFBRSxLQUFLO2FBQ2xCO1lBQ0Q7Z0JBQ0MsV0FBVyxFQUFFLEtBQUs7Z0JBQ2xCLFdBQVcsRUFBRSxLQUFLO2FBQ2xCO1lBQ0Q7Z0JBQ0MsV0FBVyxFQUFFLFFBQVE7Z0JBQ3JCLFdBQVcsRUFBRSxRQUFRO2FBQ3JCO1lBQ0Q7Z0JBQ0Ms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WUFDTCxLQUFLO1lBQ0wsUUFBUTtZQUNSLE1BQU07WUFDTixNQUFNO1lBQ04sYUFBYTtZQUNiLEtBQUs7WUFDTCxPQUFPO1NBQ1A7UUFDRCxPQUFPLEtBQUssQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDO0lBQ2hELENBQUM7O2dCQWpPRCxTQUFTLFNBQUM7b0JBQ1YsUUFBUSxFQUFFLHFCQUFxQjtvQkFDL0IsdTdCQUFnRDtvQkFFaEQsZUFBZSxFQUFFLHVCQUF1QixDQUFDLE1BQU07O2lCQUMvQzs7OztnQkFSUSxnQkFBZ0I7Z0JBTnhCLGlCQUFpQjs7OytCQWdCaEIsS0FBSyxTQUFDLGNBQWM7MEJBQ3BCLEtBQUs7NEJBQ0wsS0FBSzs4QkFDTCxNQUFNOztJQXdOUiw4QkFBQztDQUFBLEFBbE9ELElBa09DO1NBNU5ZLHVCQUF1Qjs7O0lBQ25DLCtDQUF5Qzs7SUFDekMsMENBQWlCOztJQUNqQiw0Q0FBbUI7O0lBQ25CLDhDQUEyQzs7Ozs7SUFDM0MsMkNBQWlCOztJQUNqQiw4Q0FBbUI7Ozs7O0lBQ25CLDJDQUFpQjs7SUFDakIsOENBQW1COztJQUNuQix1Q0FBWTs7Ozs7SUFDWixnREFBMkM7Ozs7O0lBRzFDLG1EQUEwQzs7Ozs7SUFDMUMsc0NBQThCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcclxuXHRDb21wb25lbnQsXHJcblx0T25Jbml0LFxyXG5cdE91dHB1dCxcclxuXHRFdmVudEVtaXR0ZXIsXHJcblx0Q2hhbmdlRGV0ZWN0b3JSZWYsXHJcblx0Q2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXHJcblx0SW5wdXQsXHJcblx0T25DaGFuZ2VzLFxyXG5cdFNpbXBsZUNoYW5nZXMsXHJcbn0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcclxuaW1wb3J0IHsgRGFzaGJvYXJkU2VydmljZSB9IGZyb20gXCIuLi8uLi9kYXNoYm9hcmQuc2VydmljZVwiO1xyXG5pbXBvcnQgeyBTdWJzY3JpcHRpb24gfSBmcm9tIFwicnhqc1wiO1xyXG5cclxuQENvbXBvbmVudCh7XHJcblx0c2VsZWN0b3I6IFwia3QtcG9ydGxldC10eXBlLW5ld1wiLFxyXG5cdHRlbXBsYXRlVXJsOiBcIi4vcG9ydGxldC10eXBlLW5ldy5jb21wb25lbnQuaHRtbFwiLFxyXG5cdHN0eWxlVXJsczogW1wiLi9wb3J0bGV0LXR5cGUtbmV3LmNvbXBvbmVudC5zY3NzXCJdLFxyXG5cdGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgUG9ydGxldFR5cGVOZXdDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIE9uQ2hhbmdlcyB7XHJcblx0QElucHV0KFwiZGF0YU1hcnRDb2RlXCIpIGRhdGFNYXJ0Q29kZSA9IFwiXCI7XHJcblx0QElucHV0KCkgcG9ydGxldDtcclxuXHRASW5wdXQoKSBkYXNoYm9hcmQ7XHJcblx0QE91dHB1dCgpIHBvcnRsZXRUeXBlID0gbmV3IEV2ZW50RW1pdHRlcigpO1xyXG5cdHByaXZhdGUgZGF0YW1hcnQ7XHJcblx0cHVibGljIHRyYW5zbGF0aW9uO1xyXG5cdHByaXZhdGUgdXNlckluZm87XHJcblx0cHVibGljIHBvcnRsZXRMaXN0O1xyXG5cdHB1YmxpYyB0eXBlO1xyXG5cdHByaXZhdGUgc3Vic2NyaXB0aW9uczogU3Vic2NyaXB0aW9uW10gPSBbXTtcclxuXHJcblx0Y29uc3RydWN0b3IoXHJcblx0XHRwcml2YXRlIERhc2hib2FyZFNlcnZpY2U6IERhc2hib2FyZFNlcnZpY2UsXHJcblx0XHRwcml2YXRlIHJlZjogQ2hhbmdlRGV0ZWN0b3JSZWZcclxuXHQpIHtcclxuXHRcdHRoaXMucG9ydGxldExpc3QgPSBbXHJcblx0XHRcdHtcclxuXHRcdFx0XHRwb3J0bGV0TmFtZTogXCJUYWJsZVwiLFxyXG5cdFx0XHRcdHBvcnRsZXRDb2RlOiBcInRhYmxlXCIsXHJcblx0XHRcdH0sXHJcblx0XHRcdHtcclxuXHRcdFx0XHRwb3J0bGV0TmFtZTogXCJUcmFuc3Bvc2VcIixcclxuXHRcdFx0XHRwb3J0bGV0Q29kZTogXCJ0cmFuc3Bvc2VcIixcclxuXHRcdFx0fSxcclxuXHRcdFx0e1xyXG5cdFx0XHRcdHBvcnRsZXROYW1lOiBcIlBpdm90XCIsXHJcblx0XHRcdFx0cG9ydGxldENvZGU6IFwicGl2b3RcIixcclxuXHRcdFx0fSxcclxuXHRcdFx0e1xyXG5cdFx0XHRcdHBvcnRsZXROYW1lOiBcIlBpZVwiLFxyXG5cdFx0XHRcdHBvcnRsZXRDb2RlOiBcInBpZVwiLFxyXG5cdFx0XHR9LFxyXG5cdFx0XHR7XHJcblx0XHRcdFx0cG9ydGxldE5hbWU6IFwiQmFyXCIsXHJcblx0XHRcdFx0cG9ydGxldENvZGU6IFwiYmFyXCIsXHJcblx0XHRcdH0sXHJcblx0XHRcdHtcclxuXHRcdFx0XHRwb3J0bGV0TmFtZTogXCJDb2x1bW5cIixcclxuXHRcdFx0XHRwb3J0bGV0Q29kZTogXCJjb2x1bW5cIixcclxuXHRcdFx0fSxcclxuXHRcdFx0e1xyXG5cdFx0XHRcdHBvcnRsZXROYW1lOiBcIkxpbmVcIixcclxuXHRcdFx0XHRwb3J0bGV0Q29kZTogXCJsaW5lXCIsXHJcblx0XHRcdH0sXHJcblx0XHRcdHtcclxuXHRcdFx0XHRwb3J0bGV0TmFtZTogXCJBcmVhXCIsXHJcblx0XHRcdFx0cG9ydGxldENvZGU6IFwiYXJlYVwiLFxyXG5cdFx0XHR9LFxyXG5cdFx0XHR7XHJcblx0XHRcdFx0cG9ydGxldE5hbWU6IFwiUmFkYXJcIixcclxuXHRcdFx0XHRwb3J0bGV0Q29kZTogXCJyYWRhclwiLFxyXG5cdFx0XHR9LFxyXG5cdFx0XTtcclxuXHJcblx0XHR0aGlzLnBvcnRsZXRMaXN0ID0gdGhpcy5wb3J0bGV0TGlzdC5jb25jYXQoW1xyXG5cdFx0XHR7XHJcblx0XHRcdFx0cG9ydGxldE5hbWU6IFwiTmV3Q2hhcnRcIixcclxuXHRcdFx0XHRwb3J0bGV0Q29kZTogXCJuZXdjaGFydFwiLFxyXG5cdFx0XHR9LFxyXG5cdFx0XHR7XHJcblx0XHRcdFx0cG9ydGxldE5hbWU6IFwiTmV3Q29sdW1uXCIsXHJcblx0XHRcdFx0cG9ydGxldENvZGU6IFwibmV3Y29sdW1uXCIsXHJcblx0XHRcdH0sXHJcblx0XHRcdHtcclxuXHRcdFx0XHRwb3J0bGV0TmFtZTogXCJOZXdMaW5lXCIsXHJcblx0XHRcdFx0cG9ydGxldENvZGU6IFwibmV3bGluZVwiLFxyXG5cdFx0XHR9LFxyXG5cdFx0XHR7XHJcblx0XHRcdFx0cG9ydGxldE5hbWU6IFwiTmV3Q29sdW1uTGluZVwiLFxyXG5cdFx0XHRcdHBvcnRsZXRDb2RlOiBcIm5ld2NvbHVtbmxpbmVcIixcclxuXHRcdFx0fSxcclxuXHRcdFx0Ly8gU01QMi0xNzU3OC8xNzY1NO+8jOS7hSBmdW5kL2NvbXBhbnkgaGlzdG9yaWNhbCBJUlIg5Y+v6YCJ5oupXHJcblx0XHRcdC8vIFRPRE86IOmcgOimgeehruWumiBmdW5kL2NvbXBhbnkgaGlzdG9yaWNhbCBJUlIgY29kZVxyXG5cdFx0XHR7XHJcblx0XHRcdFx0cG9ydGxldE5hbWU6IFwiSGlzdG9yaWNhbElSUlwiLFxyXG5cdFx0XHRcdHBvcnRsZXRDb2RlOiBcImhpc3RvcmljYWxJUlJcIixcclxuXHRcdFx0fSxcclxuXHRcdF0pO1xyXG5cdFx0Y29uc3QgZXhjbHVkZUxpc3QgPSBbXCJQaWVcIiwgXCJCYXJcIiwgXCJDb2x1bW5cIiwgXCJMaW5lXCIsIFwiQXJlYVwiLCBcIlJhZGFyXCJdO1xyXG5cdFx0dGhpcy5wb3J0bGV0TGlzdCA9XHJcblx0XHRcdHRoaXMucG9ydGxldExpc3QuZmlsdGVyKFxyXG5cdFx0XHRcdChpdGVtKSA9PiAhZXhjbHVkZUxpc3QuaW5jbHVkZXMoaXRlbS5wb3J0bGV0TmFtZSlcclxuXHRcdFx0KSB8fCBbXTtcclxuXHR9XHJcblxyXG5cdG5nT25Jbml0KCkge1xyXG5cdFx0dGhpcy5nZXRJbmZvKCk7XHJcblx0XHRpZiAodGhpcy5wb3J0bGV0ICYmIHRoaXMucG9ydGxldC5maWd1cmVDb2RlKSB7XHJcblx0XHRcdGNvbnN0IGNvbmZpZ1N0ciA9IHRoaXMucG9ydGxldC5jb25maWc7XHJcblx0XHRcdGlmICghY29uZmlnU3RyKSB7XHJcblx0XHRcdFx0cmV0dXJuO1xyXG5cdFx0XHR9XHJcblx0XHRcdGNvbnN0IGNvbmZpZyA9IEpTT04ucGFyc2UoY29uZmlnU3RyKTtcclxuXHRcdFx0dGhpcy50eXBlID0gY29uZmlnLnBvcnRsZXRUeXBlO1xyXG5cdFx0fVxyXG5cdFx0dGhpcy5kYXRhbWFydCA9IEpTT04ucGFyc2UodGhpcy5kYXNoYm9hcmQuY29uZmlnKS5kYXRhbWFydFZpZXdDb2RlO1xyXG5cdH1cclxuXHRuZ0FmdGVyVmlld0luaXQoKTogdm9pZCB7XHJcblx0XHR0aGlzLnN1YnNjcmlwdGlvbnMucHVzaChcclxuXHRcdFx0dGhpcy5EYXNoYm9hcmRTZXJ2aWNlLmdldHBvcnRsZXRFZGl0KCkuc3Vic2NyaWJlKChzdGF0dXMpID0+IHtcclxuXHRcdFx0XHRpZiAoc3RhdHVzICYmIHRoaXMucG9ydGxldCkge1xyXG5cdFx0XHRcdFx0Y29uc3QgY29uZmlnU3RyID0gdGhpcy5wb3J0bGV0LmNvbmZpZztcclxuXHRcdFx0XHRcdGlmICghY29uZmlnU3RyKSB7XHJcblx0XHRcdFx0XHRcdHJldHVybjtcclxuXHRcdFx0XHRcdH1cclxuXHRcdFx0XHRcdGNvbnN0IGNvbmZpZyA9IEpTT04ucGFyc2UoY29uZmlnU3RyKTtcclxuXHRcdFx0XHRcdHRoaXMudHlwZSA9IGNvbmZpZy5wb3J0bGV0VHlwZTtcclxuXHRcdFx0XHRcdC8vIHRoaXMucG9ydGxldFR5cGUuZW1pdCh0aGlzLnR5cGUpO1xyXG5cdFx0XHRcdFx0dGhpcy5kYXRhbWFydCA9IGNvbmZpZy5kYXRhbWFydFZpZXdDb2RlO1xyXG5cdFx0XHRcdFx0dGhpcy5yZWYubWFya0ZvckNoZWNrKCk7XHJcblx0XHRcdFx0XHR0aGlzLnJlZi5kZXRlY3RDaGFuZ2VzKCk7XHJcblx0XHRcdFx0fVxyXG5cdFx0XHR9KVxyXG5cdFx0KTtcclxuXHRcdC8vTWljaGFlbCAyMDIwMDUyNiBjbGVhciBvcHRpb25zIGRhdGFcclxuXHRcdHRoaXMuc3Vic2NyaXB0aW9ucy5wdXNoKFxyXG5cdFx0XHR0aGlzLkRhc2hib2FyZFNlcnZpY2UuZ2V0UmVzZXRidG4oKS5zdWJzY3JpYmUoKHN0YXR1cykgPT4ge1xyXG5cdFx0XHRcdGlmIChzdGF0dXMpIHtcclxuXHRcdFx0XHRcdHRoaXMudHlwZSA9IFwiXCI7XHJcblx0XHRcdFx0XHR0aGlzLnBvcnRsZXRUeXBlLmVtaXQodGhpcy50eXBlKTtcclxuXHRcdFx0XHRcdHRoaXMucmVmLmRldGVjdENoYW5nZXMoKTtcclxuXHRcdFx0XHR9XHJcblx0XHRcdH0pXHJcblx0XHQpO1xyXG5cdFx0dGhpcy5zdWJzY3JpcHRpb25zLnB1c2goXHJcblx0XHRcdHRoaXMuRGFzaGJvYXJkU2VydmljZS5nZXRQdXNoYnRuKCkuc3Vic2NyaWJlKChpZCkgPT4ge1xyXG5cdFx0XHRcdGlmICh0aGlzLmRhc2hib2FyZCAmJiB0aGlzLmRhc2hib2FyZC5pZCA9PT0gaWQpIHtcclxuXHRcdFx0XHRcdHRoaXMudHlwZSA9IFwiXCI7XHJcblx0XHRcdFx0XHR0aGlzLnBvcnRsZXRUeXBlLmVtaXQodGhpcy50eXBlKTtcclxuXHRcdFx0XHR9XHJcblx0XHRcdH0pXHJcblx0XHQpO1xyXG5cdH1cclxuXHRuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKTogdm9pZCB7XHJcblx0XHRpZiAoY2hhbmdlcy5kYXRhTWFydENvZGUpIHtcclxuXHRcdFx0aWYgKHRoaXMuZGlzYWJsZWRIaXN0b3JpY2FsSVJSICYmIHRoaXMudHlwZSA9PT0gXCJoaXN0b3JpY2FsSVJSXCIpIHtcclxuXHRcdFx0XHR0aGlzLnNlbGVjdFBvcnRsZXRUeXBlKG51bGwpO1xyXG5cdFx0XHR9XHJcblx0XHR9XHJcblx0fVxyXG5cdG5nT25EZXN0cm95KCk6IHZvaWQge1xyXG5cdFx0dGhpcy5zdWJzY3JpcHRpb25zLmZvckVhY2goKHN1YikgPT4gc3ViLnVuc3Vic2NyaWJlKCkpO1xyXG5cdH1cclxuXHJcblx0Z2V0IGRpc2FibGVkSGlzdG9yaWNhbElSUigpIHtcclxuXHRcdHJldHVybiAhW1xyXG5cdFx0XHRcIkZ1bmRIaXN0b3JpY2FsQ2FzaGZsb3dJUlJcIixcclxuXHRcdFx0XCJGdW5kSGlzdG9yaWNhbEdyb3NzSVJSXCIsXHJcblx0XHRdLmluY2x1ZGVzKHRoaXMuZGF0YU1hcnRDb2RlKTtcclxuXHR9XHJcblxyXG5cdHB1YmxpYyBzZXRUb29sdGlwKGl0ZW0pIHtcclxuXHRcdGlmICghaXRlbSkgcmV0dXJuIFwiXCI7XHJcblx0XHRzd2l0Y2ggKGl0ZW0ucG9ydGxldE5hbWUpIHtcclxuXHRcdFx0Y2FzZSBcIlRhYmxlXCI6XHJcblx0XHRcdFx0cmV0dXJuIHRoaXMudHJhbnNsYXRpb24uVEFCTEUgfHwgXCIuVEFCTEVcIjtcclxuXHRcdFx0Y2FzZSBcIlRyYW5zcG9zZVwiOlxyXG5cdFx0XHRcdHJldHVybiBgJHt0aGlzLnRyYW5zbGF0aW9uLlRSQU5TUE9TRSB8fCBcIi5UUkFOU1BPU0VcIn0gJHtcclxuXHRcdFx0XHRcdHRoaXMudHJhbnNsYXRpb24uVEFCTEUgfHwgXCIuVEFCTEVcIlxyXG5cdFx0XHRcdH1gO1xyXG5cdFx0XHRjYXNlIFwiUGl2b3RcIjpcclxuXHRcdFx0XHRyZXR1cm4gYCR7dGhpcy50cmFuc2xhdGlvbi5QSVZPVCB8fCBcIi5QSVZPVFwifSAke1xyXG5cdFx0XHRcdFx0dGhpcy50cmFuc2xhdGlvbi5UQUJMRSB8fCBcIi5UQUJMRVwiXHJcblx0XHRcdFx0fWA7XHJcblx0XHRcdGNhc2UgXCJOZXdDaGFydFwiOlxyXG5cdFx0XHRcdHJldHVybiBgJHt0aGlzLnRyYW5zbGF0aW9uLlBJVk9UIHx8IFwiLlBJVk9UXCJ9ICR7XHJcblx0XHRcdFx0XHR0aGlzLnRyYW5zbGF0aW9uLkNPTVBBTllfQ0hBUlQgfHwgXCIuQ09NUEFOWV9DSEFSVFwiXHJcblx0XHRcdFx0fWA7XHJcblx0XHRcdGNhc2UgXCJOZXdDb2x1bW5cIjpcclxuXHRcdFx0XHRyZXR1cm4gYCR7XHJcblx0XHRcdFx0XHR0aGlzLnRyYW5zbGF0aW9uLkNMVVNURVJFRF9DT0xVTU4gfHwgXCIuQ0xVU1RFUkVEX0NPTFVNTlwiXHJcblx0XHRcdFx0fSAke3RoaXMudHJhbnNsYXRpb24uQ09NUEFOWV9DSEFSVCB8fCBcIi5DT01QQU5ZX0NIQVJUXCJ9YDtcclxuXHRcdFx0Y2FzZSBcIk5ld0xpbmVcIjpcclxuXHRcdFx0XHRyZXR1cm4gYCR7dGhpcy50cmFuc2xhdGlvbi5MSU5FIHx8IFwiLkxJTkVcIn0gJHtcclxuXHRcdFx0XHRcdHRoaXMudHJhbnNsYXRpb24uQ09NUEFOWV9DSEFSVCB8fCBcIi5DT01QQU5ZX0NIQVJUXCJcclxuXHRcdFx0XHR9YDtcclxuXHRcdFx0Y2FzZSBcIk5ld0NvbHVtbkxpbmVcIjpcclxuXHRcdFx0XHRyZXR1cm4gYCR7dGhpcy50cmFuc2xhdGlvbi5MSU5FIHx8IFwiLkxJTkVcIn0gJHtcclxuXHRcdFx0XHRcdHRoaXMudHJhbnNsYXRpb24uQU5EIHx8IFwiLkFORFwiXHJcblx0XHRcdFx0fSAke3RoaXMudHJhbnNsYXRpb24uQ0xVU1RFUkVEX0NPTFVNTiB8fCBcIi5DTFVTVEVSRURfQ09MVU1OXCJ9ICR7XHJcblx0XHRcdFx0XHR0aGlzLnRyYW5zbGF0aW9uLkNPTVBBTllfQ0hBUlQgfHwgXCIuQ09NUEFOWV9DSEFSVFwiXHJcblx0XHRcdFx0fWA7XHJcblx0XHRcdGNhc2UgXCJIaXN0b3JpY2FsSVJSXCI6XHJcblx0XHRcdFx0cmV0dXJuIGAke3RoaXMudHJhbnNsYXRpb24uSElTVE9SSUNBTH0gJHt0aGlzLnRyYW5zbGF0aW9uLklSUn1gO1xyXG5cdFx0XHRkZWZhdWx0OlxyXG5cdFx0XHRcdHJldHVybiBcIlwiO1xyXG5cdFx0fVxyXG5cdH1cclxuXHJcblx0cHVibGljIHNlbGVjdFBvcnRsZXRUeXBlKHBvcnRsZXRDb2RlKSB7XHJcblx0XHR0aGlzLnR5cGUgPSBwb3J0bGV0Q29kZTtcclxuXHRcdHRoaXMucG9ydGxldFR5cGUuZW1pdChwb3J0bGV0Q29kZSk7XHJcblx0fVxyXG5cdHByaXZhdGUgZ2V0SW5mbygpIHtcclxuXHRcdHRoaXMudHJhbnNsYXRpb24gPSBKU09OLnBhcnNlKGxvY2FsU3RvcmFnZS5nZXRJdGVtKFwidHJhbnNsYXRpb25cIikpO1xyXG5cdFx0dGhpcy51c2VySW5mbyA9IEpTT04ucGFyc2UobG9jYWxTdG9yYWdlLmdldEl0ZW0oXCJ1c2VySW5mb1wiKSk7XHJcblx0fVxyXG5cdHB1YmxpYyBnZXRGaW5hbmNpYWxUeXBlKCkge1xyXG5cdFx0aWYgKHRoaXMuZGF0YW1hcnQpIHtcclxuXHRcdFx0cmV0dXJuIHRoaXMuZGF0YW1hcnQudG9Mb2NhbGVMb3dlckNhc2UoKS5pbmRleE9mKFwiZmluYW5jaWFsXCIpID4gLTFcclxuXHRcdFx0XHQ/IHRydWVcclxuXHRcdFx0XHQ6IGZhbHNlO1xyXG5cdFx0fVxyXG5cdH1cclxuXHRwdWJsaWMgZ2V0RlBQVHlwZShjb2RlKSB7XHJcblx0XHRsZXQgdHlwZV8gPSBbXHJcblx0XHRcdFwidGFibGVcIixcclxuXHRcdFx0XCJwaXZvdFwiLFxyXG5cdFx0XHRcInBpZVwiLFxyXG5cdFx0XHRcImJhclwiLFxyXG5cdFx0XHRcImNvbHVtblwiLFxyXG5cdFx0XHRcImxpbmVcIixcclxuXHRcdFx0XCJhcmVhXCIsXHJcblx0XHRcdFwibXVsdGlTZXJpZXNcIixcclxuXHRcdFx0XCJnZW9cIixcclxuXHRcdFx0XCJyYWRhclwiLFxyXG5cdFx0XTtcclxuXHRcdHJldHVybiB0eXBlXy5pbmRleE9mKGNvZGUpID4gLTEgPyB0cnVlIDogZmFsc2U7XHJcblx0fVxyXG59XHJcbiJdfQ==