@esfaenza/es-table 11.2.37 → 11.2.41

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 (127) hide show
  1. package/bundles/esfaenza-es-table.umd.js +884 -1146
  2. package/bundles/esfaenza-es-table.umd.js.map +1 -1
  3. package/bundles/esfaenza-es-table.umd.min.js +1 -1
  4. package/bundles/esfaenza-es-table.umd.min.js.map +1 -1
  5. package/esfaenza-es-table.d.ts +5 -6
  6. package/esfaenza-es-table.metadata.json +1 -1
  7. package/esm2015/esfaenza-es-table.js +6 -7
  8. package/esm2015/lib/components/es-table/es_table.component.js +55 -174
  9. package/esm2015/lib/components/es-td/es_td.component.js +1 -35
  10. package/esm2015/lib/core/handlers/ColumnMetadataHandler.js +669 -0
  11. package/esm2015/lib/core/handlers/DynamicModeHandler.js +63 -0
  12. package/esm2015/lib/core/handlers/ExportHandler.js +106 -0
  13. package/esm2015/lib/core/handlers/HierarchyModeHandler.js +136 -0
  14. package/esm2015/lib/core/handlers/ItemsHandler.js +112 -0
  15. package/esm2015/lib/core/handlers/ReportModeHandler.js +70 -0
  16. package/esm2015/lib/core/handlers/RowGroupingHandler.js +481 -0
  17. package/esm2015/lib/core/handlers/SelectionHandler.js +526 -0
  18. package/esm2015/lib/core/handlers/UtilitiesHandler.js +155 -0
  19. package/esm2015/lib/directives/es_th.directive.js +4 -1
  20. package/esm2015/lib/domain/configuration/EsTableDefaultable.js +1 -1
  21. package/esm2015/lib/domain/externals/CornerMenuOption.js +4 -0
  22. package/esm2015/lib/domain/externals/EsTableColumnsDefinition.js +31 -0
  23. package/esm2015/lib/domain/externals/EsTableOperationDefinition.js +22 -0
  24. package/esm2015/lib/domain/externals/appsearch/AppOrdering.js +16 -0
  25. package/esm2015/lib/domain/externals/appsearch/AppSearch.js +35 -0
  26. package/esm2015/lib/domain/externals/appsearch/GenericItem.js +11 -0
  27. package/esm2015/lib/domain/externals/appsearch/Group.js +17 -0
  28. package/esm2015/lib/domain/externals/appsearch/GroupAggregation.js +16 -0
  29. package/esm2015/lib/domain/externals/appsearch/GroupFilter.js +14 -0
  30. package/esm2015/lib/domain/externals/appsearch/GroupOrAggregation.js +16 -0
  31. package/esm2015/lib/domain/externals/appsearch/ItemsSelection.js +23 -0
  32. package/esm2015/lib/domain/externals/report/ReportColumn.js +4 -0
  33. package/esm2015/lib/domain/externals/report/ReportDefinition.js +4 -0
  34. package/esm2015/lib/domain/externals/report/ReportOrder.js +4 -0
  35. package/esm2015/lib/domain/externals/report/ReportParam.js +4 -0
  36. package/esm2015/lib/domain/externals/report/ReportResult.js +4 -0
  37. package/esm2015/lib/domain/externals/report/ReportRow.js +4 -0
  38. package/esm2015/lib/domain/internals/CacheTriptic.js +16 -0
  39. package/esm2015/lib/domain/internals/EsTableColumn.js +27 -0
  40. package/esm2015/lib/domain/internals/GroupPager.js +22 -0
  41. package/esm2015/lib/domain/internals/GroupRouteFragment.js +17 -0
  42. package/esm2015/lib/domain/internals/TdElement.js +2 -0
  43. package/esm2015/lib/domain/internals/ThAggregation.js +16 -0
  44. package/esm2015/lib/domain/internals/ThElement.js +2 -0
  45. package/esm2015/lib/es-table.module.js +2 -2
  46. package/esm2015/public-api.js +21 -7
  47. package/fesm2015/esfaenza-es-table.js +832 -1093
  48. package/fesm2015/esfaenza-es-table.js.map +1 -1
  49. package/lib/components/es-table/es_table.component.d.ts +32 -68
  50. package/lib/components/es-td/es_td.component.d.ts +0 -2
  51. package/lib/core/handlers/{classes/ColumnMetadataHandler.d.ts → ColumnMetadataHandler.d.ts} +24 -23
  52. package/lib/core/handlers/{classes/DynamicModeHandler.d.ts → DynamicModeHandler.d.ts} +2 -2
  53. package/lib/core/handlers/{classes/ExportHandler.d.ts → ExportHandler.d.ts} +1 -1
  54. package/lib/core/handlers/{classes/HierarchyModeHandler.d.ts → HierarchyModeHandler.d.ts} +1 -1
  55. package/lib/core/handlers/{classes/ItemsHandler.d.ts → ItemsHandler.d.ts} +1 -7
  56. package/lib/core/handlers/{classes/ReportModeHandler.d.ts → ReportModeHandler.d.ts} +2 -2
  57. package/lib/core/handlers/{classes/RowGroupingHandler.d.ts → RowGroupingHandler.d.ts} +10 -6
  58. package/lib/core/handlers/{classes/SelectionHandler.d.ts → SelectionHandler.d.ts} +3 -3
  59. package/lib/core/handlers/{classes/UtilitiesHandler.d.ts → UtilitiesHandler.d.ts} +0 -16
  60. package/lib/directives/es_th.directive.d.ts +3 -1
  61. package/lib/domain/configuration/EsTableDefaultable.d.ts +1 -0
  62. package/lib/domain/externals/{classes/CornerMenuOption.d.ts → CornerMenuOption.d.ts} +0 -0
  63. package/lib/domain/externals/{classes/EsTableColumnsDefinition.d.ts → EsTableColumnsDefinition.d.ts} +0 -0
  64. package/lib/domain/externals/{classes/EsTableOperationDefinition.d.ts → EsTableOperationDefinition.d.ts} +0 -0
  65. package/lib/domain/externals/{classes/appsearch → appsearch}/AppOrdering.d.ts +0 -0
  66. package/lib/domain/externals/{classes/appsearch → appsearch}/AppSearch.d.ts +0 -0
  67. package/lib/domain/externals/{classes/appsearch → appsearch}/GenericItem.d.ts +0 -0
  68. package/lib/domain/externals/{classes/appsearch → appsearch}/Group.d.ts +0 -0
  69. package/lib/domain/externals/{classes/appsearch → appsearch}/GroupAggregation.d.ts +0 -0
  70. package/lib/domain/externals/{classes/appsearch → appsearch}/GroupFilter.d.ts +0 -0
  71. package/lib/domain/externals/{classes/appsearch → appsearch}/GroupOrAggregation.d.ts +0 -0
  72. package/lib/domain/externals/{classes/appsearch → appsearch}/ItemsSelection.d.ts +1 -1
  73. package/lib/domain/externals/{classes/report → report}/ReportColumn.d.ts +0 -0
  74. package/lib/domain/externals/{classes/report → report}/ReportDefinition.d.ts +3 -1
  75. package/lib/domain/externals/{classes/report → report}/ReportOrder.d.ts +0 -0
  76. package/lib/domain/externals/{classes/report → report}/ReportParam.d.ts +0 -0
  77. package/lib/domain/externals/{classes/report → report}/ReportResult.d.ts +2 -1
  78. package/lib/domain/externals/{classes/report → report}/ReportRow.d.ts +0 -0
  79. package/lib/domain/internals/{classes/CacheTriptic.d.ts → CacheTriptic.d.ts} +0 -0
  80. package/lib/domain/internals/{classes/EsTableColumn.d.ts → EsTableColumn.d.ts} +2 -1
  81. package/lib/domain/internals/{classes/GroupPager.d.ts → GroupPager.d.ts} +4 -1
  82. package/lib/domain/internals/{classes/GroupRouteFragment.d.ts → GroupRouteFragment.d.ts} +0 -0
  83. package/lib/domain/internals/TdElement.d.ts +35 -0
  84. package/lib/domain/internals/{classes/ThAggregation.d.ts → ThAggregation.d.ts} +0 -0
  85. package/lib/domain/internals/{classes/ThElement.d.ts → ThElement.d.ts} +0 -0
  86. package/package.json +1 -1
  87. package/public-api.d.ts +20 -3
  88. package/esm2015/lib/core/handlers/classes/ColumnMetadataHandler.js +0 -719
  89. package/esm2015/lib/core/handlers/classes/DynamicModeHandler.js +0 -64
  90. package/esm2015/lib/core/handlers/classes/ExportHandler.js +0 -106
  91. package/esm2015/lib/core/handlers/classes/HierarchyModeHandler.js +0 -136
  92. package/esm2015/lib/core/handlers/classes/ItemsHandler.js +0 -130
  93. package/esm2015/lib/core/handlers/classes/ReportModeHandler.js +0 -70
  94. package/esm2015/lib/core/handlers/classes/RowGroupingHandler.js +0 -475
  95. package/esm2015/lib/core/handlers/classes/SelectionHandler.js +0 -527
  96. package/esm2015/lib/core/handlers/classes/UtilitiesHandler.js +0 -169
  97. package/esm2015/lib/core/handlers/index.js +0 -10
  98. package/esm2015/lib/domain/externals/classes/CornerMenuOption.js +0 -4
  99. package/esm2015/lib/domain/externals/classes/EsTableColumnsDefinition.js +0 -31
  100. package/esm2015/lib/domain/externals/classes/EsTableOperationDefinition.js +0 -22
  101. package/esm2015/lib/domain/externals/classes/appsearch/AppOrdering.js +0 -16
  102. package/esm2015/lib/domain/externals/classes/appsearch/AppSearch.js +0 -35
  103. package/esm2015/lib/domain/externals/classes/appsearch/GenericItem.js +0 -11
  104. package/esm2015/lib/domain/externals/classes/appsearch/Group.js +0 -17
  105. package/esm2015/lib/domain/externals/classes/appsearch/GroupAggregation.js +0 -16
  106. package/esm2015/lib/domain/externals/classes/appsearch/GroupFilter.js +0 -14
  107. package/esm2015/lib/domain/externals/classes/appsearch/GroupOrAggregation.js +0 -16
  108. package/esm2015/lib/domain/externals/classes/appsearch/ItemsSelection.js +0 -23
  109. package/esm2015/lib/domain/externals/classes/report/ReportColumn.js +0 -4
  110. package/esm2015/lib/domain/externals/classes/report/ReportDefinition.js +0 -4
  111. package/esm2015/lib/domain/externals/classes/report/ReportOrder.js +0 -4
  112. package/esm2015/lib/domain/externals/classes/report/ReportParam.js +0 -4
  113. package/esm2015/lib/domain/externals/classes/report/ReportResult.js +0 -4
  114. package/esm2015/lib/domain/externals/classes/report/ReportRow.js +0 -4
  115. package/esm2015/lib/domain/externals/index.js +0 -18
  116. package/esm2015/lib/domain/index.js +0 -3
  117. package/esm2015/lib/domain/internals/classes/CacheTriptic.js +0 -16
  118. package/esm2015/lib/domain/internals/classes/EsTableColumn.js +0 -26
  119. package/esm2015/lib/domain/internals/classes/GroupPager.js +0 -21
  120. package/esm2015/lib/domain/internals/classes/GroupRouteFragment.js +0 -17
  121. package/esm2015/lib/domain/internals/classes/ThAggregation.js +0 -16
  122. package/esm2015/lib/domain/internals/classes/ThElement.js +0 -2
  123. package/esm2015/lib/domain/internals/index.js +0 -7
  124. package/lib/core/handlers/index.d.ts +0 -9
  125. package/lib/domain/externals/index.d.ts +0 -17
  126. package/lib/domain/index.d.ts +0 -2
  127. package/lib/domain/internals/index.d.ts +0 -6
@@ -1,64 +0,0 @@
1
- // Dominio
2
- import { EsTableColumnsDefinition } from "../../../domain";
3
- /** Classe contenente le gestioni particolari della modalità dinamica dell'es-table */
4
- export class DynamicModeHandler {
5
- /** @ignore Costruttore*/
6
- constructor(est) {
7
- this.est = est;
8
- }
9
- /**
10
- * Metodo di supporto alla creazione di un router link parametrizzato all'oggetto corrente utilizzato nella modalità dinamica
11
- *
12
- * @param {string} path Path su cui navigare con eventuali parametri riferiti all'oggetto cotnestuale come {0}, {1}, ecc...
13
- * @param {string[]} parameterProps Lista posizionale delle proprietà a cui bindare i riferimenti del parametro **path**
14
- * Es. Il valore dela proprietà all'indice 0 di questo array verrà sostituita al valore {0} del parametro **path**
15
- * @param {GenericItem} item Oggetto generico collegato a questo contesto
16
- *
17
- * @returns {any} Router link generato in base al parametri
18
- */
19
- generateRouterLink(path, parameterProps, item) {
20
- if (this.est.DynamicTableRouterLinkCache[item._hash + path]) {
21
- return this.est.DynamicTableRouterLinkCache[item._hash + path];
22
- }
23
- else {
24
- let link = this.getRouterLink(path, parameterProps, item);
25
- this.est.DynamicTableRouterLinkCache[item._hash + path] = link;
26
- return link;
27
- }
28
- }
29
- /**
30
- * Crea un router link
31
- *
32
- * @param {string} path Path su cui navigare con eventuali parametri riferiti all'oggetto cotnestuale come {0}, {1}, ecc...
33
- * @param {string[]} pars Lista posizionale delle proprietà a cui bindare i riferimenti del parametro **path**
34
- * Es. Il valore dela proprietà all'indice 0 di questo array verrà sostituita al valore {0} del parametro **path**
35
- * @param {GenericItem} item Oggetto generico collegato a questo contesto
36
- *
37
- * @returns {any} Router link generato in base al parametri
38
- */
39
- getRouterLink(path, pars, item) {
40
- for (let i = 0; i < pars.length; i++)
41
- path = path.replace('{' + i + '}', item.properties[pars[i]]);
42
- path = path.replace(/'/g, '"').replace(/ /g, '');
43
- return JSON.parse(path);
44
- }
45
- /** Se non ho l'Input **DynamicRowColumnsDefinition** in modalità dinamica lo riempio con il default nome della colonna = testo della colonna */
46
- eventuallyReviewDynamicColumns() {
47
- // Senza oggetti esco
48
- if (!this.est.TMPBoundSource || this.est.TMPBoundSource.length == 0)
49
- return;
50
- var useGenericItems = !!this.est.TMPBoundSource[0]["properties"];
51
- if (!useGenericItems || (!this.est.FirstBind && this.est.DynamicRowColumnsDefinition && this.est.DynamicRowColumnsDefinition.length > 0))
52
- return;
53
- if ((!this.est.DynamicRowColumnsDefinition || this.est.DynamicRowColumnsDefinition.length == 0)) {
54
- var props = this.est.TMPBoundSource[0]["properties"];
55
- this.est.DynamicRowColumnsDefinition = [];
56
- for (let key in props)
57
- this.est.DynamicRowColumnsDefinition.push(new EsTableColumnsDefinition(key, key));
58
- this.est.UserDefinedDynamicCols = false;
59
- }
60
- else
61
- this.est.UserDefinedDynamicCols = true;
62
- }
63
- }
64
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiRHluYW1pY01vZGVIYW5kbGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZXMtdGFibGUvc3JjL2xpYi9jb3JlL2hhbmRsZXJzL2NsYXNzZXMvRHluYW1pY01vZGVIYW5kbGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUdBLFVBQVU7QUFDVixPQUFPLEVBQUUsd0JBQXdCLEVBQWUsTUFBTSxpQkFBaUIsQ0FBQztBQUV4RSxzRkFBc0Y7QUFDdEYsTUFBTSxPQUFPLGtCQUFrQjtJQUUzQix5QkFBeUI7SUFDekIsWUFBb0IsR0FBcUI7UUFBckIsUUFBRyxHQUFILEdBQUcsQ0FBa0I7SUFBSSxDQUFDO0lBRTlDOzs7Ozs7Ozs7T0FTRztJQUNJLGtCQUFrQixDQUFDLElBQVksRUFBRSxjQUF3QixFQUFFLElBQWlCO1FBQy9FLElBQUksSUFBSSxDQUFDLEdBQUcsQ0FBQywyQkFBMkIsQ0FBQyxJQUFJLENBQUMsS0FBSyxHQUFHLElBQUksQ0FBQyxFQUFFO1lBQ3pELE9BQU8sSUFBSSxDQUFDLEdBQUcsQ0FBQywyQkFBMkIsQ0FBQyxJQUFJLENBQUMsS0FBSyxHQUFHLElBQUksQ0FBQyxDQUFDO1NBQ2xFO2FBQU07WUFDSCxJQUFJLElBQUksR0FBRyxJQUFJLENBQUMsYUFBYSxDQUFDLElBQUksRUFBRSxjQUFjLEVBQUUsSUFBSSxDQUFDLENBQUM7WUFDMUQsSUFBSSxDQUFDLEdBQUcsQ0FBQywyQkFBMkIsQ0FBQyxJQUFJLENBQUMsS0FBSyxHQUFHLElBQUksQ0FBQyxHQUFHLElBQUksQ0FBQztZQUMvRCxPQUFPLElBQUksQ0FBQztTQUNmO0lBQ0wsQ0FBQztJQUVEOzs7Ozs7Ozs7T0FTRztJQUNLLGFBQWEsQ0FBQyxJQUFZLEVBQUUsSUFBYyxFQUFFLElBQWlCO1FBRWpFLEtBQUssSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsR0FBRyxJQUFJLENBQUMsTUFBTSxFQUFFLENBQUMsRUFBRTtZQUNoQyxJQUFJLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxHQUFHLEdBQUcsQ0FBQyxHQUFHLEdBQUcsRUFBRSxJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFFakUsSUFBSSxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxFQUFFLEdBQUcsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxJQUFJLEVBQUUsRUFBRSxDQUFDLENBQUM7UUFDakQsT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQzVCLENBQUM7SUFFRCxnSkFBZ0o7SUFDekksOEJBQThCO1FBQ2pDLHFCQUFxQjtRQUNyQixJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxjQUFjLElBQUksSUFBSSxDQUFDLEdBQUcsQ0FBQyxjQUFjLENBQUMsTUFBTSxJQUFJLENBQUM7WUFDL0QsT0FBTztRQUVYLElBQUksZUFBZSxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLGNBQWMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxZQUFZLENBQUMsQ0FBQztRQUNqRSxJQUFJLENBQUMsZUFBZSxJQUFJLENBQUMsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLFNBQVMsSUFBSSxJQUFJLENBQUMsR0FBRyxDQUFDLDJCQUEyQixJQUFJLElBQUksQ0FBQyxHQUFHLENBQUMsMkJBQTJCLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQztZQUNwSSxPQUFPO1FBRVgsSUFBSSxDQUFDLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQywyQkFBMkIsSUFBSSxJQUFJLENBQUMsR0FBRyxDQUFDLDJCQUEyQixDQUFDLE1BQU0sSUFBSSxDQUFDLENBQUMsRUFBRTtZQUM3RixJQUFJLEtBQUssR0FBMkIsSUFBSSxDQUFDLEdBQUcsQ0FBQyxjQUFjLENBQUMsQ0FBQyxDQUFDLENBQUMsWUFBWSxDQUFDLENBQUM7WUFDN0UsSUFBSSxDQUFDLEdBQUcsQ0FBQywyQkFBMkIsR0FBRyxFQUFFLENBQUM7WUFDMUMsS0FBSyxJQUFJLEdBQUcsSUFBSSxLQUFLO2dCQUNqQixJQUFJLENBQUMsR0FBRyxDQUFDLDJCQUEyQixDQUFDLElBQUksQ0FBQyxJQUFJLHdCQUF3QixDQUFDLEdBQUcsRUFBRSxHQUFHLENBQUMsQ0FBQyxDQUFDO1lBQ3RGLElBQUksQ0FBQyxHQUFHLENBQUMsc0JBQXNCLEdBQUcsS0FBSyxDQUFDO1NBQzNDOztZQUdHLElBQUksQ0FBQyxHQUFHLENBQUMsc0JBQXNCLEdBQUcsSUFBSSxDQUFDO0lBQy9DLENBQUM7Q0FFSiIsInNvdXJjZXNDb250ZW50IjpbIi8vIENvbXBvbmVudGlcclxuaW1wb3J0IHsgRXNUYWJsZUNvbXBvbmVudCB9IGZyb20gXCIuLi8uLi8uLi9jb21wb25lbnRzL2VzLXRhYmxlL2VzX3RhYmxlLmNvbXBvbmVudFwiXHJcblxyXG4vLyBEb21pbmlvXHJcbmltcG9ydCB7IEVzVGFibGVDb2x1bW5zRGVmaW5pdGlvbiwgR2VuZXJpY0l0ZW0gfSBmcm9tIFwiLi4vLi4vLi4vZG9tYWluXCI7XHJcblxyXG4vKiogQ2xhc3NlIGNvbnRlbmVudGUgbGUgZ2VzdGlvbmkgcGFydGljb2xhcmkgZGVsbGEgbW9kYWxpdMOgIGRpbmFtaWNhIGRlbGwnZXMtdGFibGUgKi9cclxuZXhwb3J0IGNsYXNzIER5bmFtaWNNb2RlSGFuZGxlciB7XHJcblxyXG4gICAgLyoqIEBpZ25vcmUgQ29zdHJ1dHRvcmUqL1xyXG4gICAgY29uc3RydWN0b3IocHJpdmF0ZSBlc3Q6IEVzVGFibGVDb21wb25lbnQpIHsgfVxyXG5cclxuICAgIC8qKlxyXG4gICAgICogTWV0b2RvIGRpIHN1cHBvcnRvIGFsbGEgY3JlYXppb25lIGRpIHVuIHJvdXRlciBsaW5rIHBhcmFtZXRyaXp6YXRvIGFsbCdvZ2dldHRvIGNvcnJlbnRlIHV0aWxpenphdG8gbmVsbGEgbW9kYWxpdMOgIGRpbmFtaWNhXHJcbiAgICAgKlxyXG4gICAgICogQHBhcmFtIHtzdHJpbmd9IHBhdGggUGF0aCBzdSBjdWkgbmF2aWdhcmUgY29uIGV2ZW50dWFsaSBwYXJhbWV0cmkgcmlmZXJpdGkgYWxsJ29nZ2V0dG8gY290bmVzdHVhbGUgY29tZSB7MH0sIHsxfSwgZWNjLi4uXHJcbiAgICAgKiBAcGFyYW0ge3N0cmluZ1tdfSBwYXJhbWV0ZXJQcm9wcyBMaXN0YSBwb3NpemlvbmFsZSBkZWxsZSBwcm9wcmlldMOgIGEgY3VpIGJpbmRhcmUgaSByaWZlcmltZW50aSBkZWwgcGFyYW1ldHJvICoqcGF0aCoqXHJcbiAgICAgKiBFcy4gSWwgdmFsb3JlIGRlbGEgcHJvcHJpZXTDoCBhbGwnaW5kaWNlIDAgZGkgcXVlc3RvIGFycmF5IHZlcnLDoCBzb3N0aXR1aXRhIGFsIHZhbG9yZSB7MH0gZGVsIHBhcmFtZXRybyAqKnBhdGgqKlxyXG4gICAgICogQHBhcmFtIHtHZW5lcmljSXRlbX0gaXRlbSBPZ2dldHRvIGdlbmVyaWNvIGNvbGxlZ2F0byBhIHF1ZXN0byBjb250ZXN0b1xyXG4gICAgICpcclxuICAgICAqIEByZXR1cm5zIHthbnl9IFJvdXRlciBsaW5rIGdlbmVyYXRvIGluIGJhc2UgYWwgcGFyYW1ldHJpXHJcbiAgICAgKi9cclxuICAgIHB1YmxpYyBnZW5lcmF0ZVJvdXRlckxpbmsocGF0aDogc3RyaW5nLCBwYXJhbWV0ZXJQcm9wczogc3RyaW5nW10sIGl0ZW06IEdlbmVyaWNJdGVtKTogYW55IHtcclxuICAgICAgICBpZiAodGhpcy5lc3QuRHluYW1pY1RhYmxlUm91dGVyTGlua0NhY2hlW2l0ZW0uX2hhc2ggKyBwYXRoXSkge1xyXG4gICAgICAgICAgICByZXR1cm4gdGhpcy5lc3QuRHluYW1pY1RhYmxlUm91dGVyTGlua0NhY2hlW2l0ZW0uX2hhc2ggKyBwYXRoXTtcclxuICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICBsZXQgbGluayA9IHRoaXMuZ2V0Um91dGVyTGluayhwYXRoLCBwYXJhbWV0ZXJQcm9wcywgaXRlbSk7XHJcbiAgICAgICAgICAgIHRoaXMuZXN0LkR5bmFtaWNUYWJsZVJvdXRlckxpbmtDYWNoZVtpdGVtLl9oYXNoICsgcGF0aF0gPSBsaW5rO1xyXG4gICAgICAgICAgICByZXR1cm4gbGluaztcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBDcmVhIHVuIHJvdXRlciBsaW5rXHJcbiAgICAgKlxyXG4gICAgICogQHBhcmFtIHtzdHJpbmd9IHBhdGggUGF0aCBzdSBjdWkgbmF2aWdhcmUgY29uIGV2ZW50dWFsaSBwYXJhbWV0cmkgcmlmZXJpdGkgYWxsJ29nZ2V0dG8gY290bmVzdHVhbGUgY29tZSB7MH0sIHsxfSwgZWNjLi4uXHJcbiAgICAgKiBAcGFyYW0ge3N0cmluZ1tdfSBwYXJzIExpc3RhIHBvc2l6aW9uYWxlIGRlbGxlIHByb3ByaWV0w6AgYSBjdWkgYmluZGFyZSBpIHJpZmVyaW1lbnRpIGRlbCBwYXJhbWV0cm8gKipwYXRoKipcclxuICAgICAqIEVzLiBJbCB2YWxvcmUgZGVsYSBwcm9wcmlldMOgIGFsbCdpbmRpY2UgMCBkaSBxdWVzdG8gYXJyYXkgdmVycsOgIHNvc3RpdHVpdGEgYWwgdmFsb3JlIHswfSBkZWwgcGFyYW1ldHJvICoqcGF0aCoqXHJcbiAgICAgKiBAcGFyYW0ge0dlbmVyaWNJdGVtfSBpdGVtIE9nZ2V0dG8gZ2VuZXJpY28gY29sbGVnYXRvIGEgcXVlc3RvIGNvbnRlc3RvXHJcbiAgICAgKlxyXG4gICAgICogQHJldHVybnMge2FueX0gUm91dGVyIGxpbmsgZ2VuZXJhdG8gaW4gYmFzZSBhbCBwYXJhbWV0cmlcclxuICAgICAqL1xyXG4gICAgcHJpdmF0ZSBnZXRSb3V0ZXJMaW5rKHBhdGg6IHN0cmluZywgcGFyczogc3RyaW5nW10sIGl0ZW06IEdlbmVyaWNJdGVtKTogYW55IHtcclxuXHJcbiAgICAgICAgZm9yIChsZXQgaSA9IDA7IGkgPCBwYXJzLmxlbmd0aDsgaSsrKVxyXG4gICAgICAgICAgICBwYXRoID0gcGF0aC5yZXBsYWNlKCd7JyArIGkgKyAnfScsIGl0ZW0ucHJvcGVydGllc1twYXJzW2ldXSk7XHJcblxyXG4gICAgICAgIHBhdGggPSBwYXRoLnJlcGxhY2UoLycvZywgJ1wiJykucmVwbGFjZSgvIC9nLCAnJyk7XHJcbiAgICAgICAgcmV0dXJuIEpTT04ucGFyc2UocGF0aCk7XHJcbiAgICB9XHJcblxyXG4gICAgLyoqIFNlIG5vbiBobyBsJ0lucHV0ICoqRHluYW1pY1Jvd0NvbHVtbnNEZWZpbml0aW9uKiogaW4gbW9kYWxpdMOgIGRpbmFtaWNhIGxvIHJpZW1waW8gY29uIGlsIGRlZmF1bHQgbm9tZSBkZWxsYSBjb2xvbm5hID0gdGVzdG8gZGVsbGEgY29sb25uYSAqL1xyXG4gICAgcHVibGljIGV2ZW50dWFsbHlSZXZpZXdEeW5hbWljQ29sdW1ucygpIHtcclxuICAgICAgICAvLyBTZW56YSBvZ2dldHRpIGVzY29cclxuICAgICAgICBpZiAoIXRoaXMuZXN0LlRNUEJvdW5kU291cmNlIHx8IHRoaXMuZXN0LlRNUEJvdW5kU291cmNlLmxlbmd0aCA9PSAwKVxyXG4gICAgICAgICAgICByZXR1cm47XHJcblxyXG4gICAgICAgIHZhciB1c2VHZW5lcmljSXRlbXMgPSAhIXRoaXMuZXN0LlRNUEJvdW5kU291cmNlWzBdW1wicHJvcGVydGllc1wiXTtcclxuICAgICAgICBpZiAoIXVzZUdlbmVyaWNJdGVtcyB8fCAoIXRoaXMuZXN0LkZpcnN0QmluZCAmJiB0aGlzLmVzdC5EeW5hbWljUm93Q29sdW1uc0RlZmluaXRpb24gJiYgdGhpcy5lc3QuRHluYW1pY1Jvd0NvbHVtbnNEZWZpbml0aW9uLmxlbmd0aCA+IDApKVxyXG4gICAgICAgICAgICByZXR1cm47XHJcblxyXG4gICAgICAgIGlmICgoIXRoaXMuZXN0LkR5bmFtaWNSb3dDb2x1bW5zRGVmaW5pdGlvbiB8fCB0aGlzLmVzdC5EeW5hbWljUm93Q29sdW1uc0RlZmluaXRpb24ubGVuZ3RoID09IDApKSB7XHJcbiAgICAgICAgICAgIHZhciBwcm9wcyA9IDxSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+PnRoaXMuZXN0LlRNUEJvdW5kU291cmNlWzBdW1wicHJvcGVydGllc1wiXTtcclxuICAgICAgICAgICAgdGhpcy5lc3QuRHluYW1pY1Jvd0NvbHVtbnNEZWZpbml0aW9uID0gW107XHJcbiAgICAgICAgICAgIGZvciAobGV0IGtleSBpbiBwcm9wcylcclxuICAgICAgICAgICAgICAgIHRoaXMuZXN0LkR5bmFtaWNSb3dDb2x1bW5zRGVmaW5pdGlvbi5wdXNoKG5ldyBFc1RhYmxlQ29sdW1uc0RlZmluaXRpb24oa2V5LCBrZXkpKTtcclxuICAgICAgICAgICAgdGhpcy5lc3QuVXNlckRlZmluZWREeW5hbWljQ29scyA9IGZhbHNlO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgZWxzZVxyXG4gICAgICAgICAgICB0aGlzLmVzdC5Vc2VyRGVmaW5lZER5bmFtaWNDb2xzID0gdHJ1ZTtcclxuICAgIH1cclxuXHJcbn1cclxuIl19
@@ -1,106 +0,0 @@
1
- import { __awaiter } from "tslib";
2
- /** Classe contenente la gestione delle importazioni */
3
- export class ExportHandler {
4
- /** @ignore Costruttore*/
5
- constructor(est, expExts, msgExts, utiExts, dateExts) {
6
- this.est = est;
7
- this.expExts = expExts;
8
- this.msgExts = msgExts;
9
- this.utiExts = utiExts;
10
- this.dateExts = dateExts;
11
- }
12
- /**
13
- * Effettua l'esportazione dei dati
14
- *
15
- * @param {string} format Formato di esportazione. Letto solo in modalità Report della tabella
16
- */
17
- tryExport(format) {
18
- if (!this.est.ExportFunction)
19
- return;
20
- if (this.est.reportMode)
21
- this.est.ExportFunction(format);
22
- else
23
- this.est.ExportFunction((data, cancel = false) => __awaiter(this, void 0, void 0, function* () {
24
- if (cancel)
25
- return;
26
- if (data.length == 0) {
27
- this.msgExts.simpleWarning(this.est.lc.loc("Cannot export an empty dataset"));
28
- return;
29
- }
30
- this.setupExport(data);
31
- if (format == "CSV") {
32
- this.est.cdr.detectChanges();
33
- setTimeout(() => { this.est.exportDownloader.nativeElement.click(); });
34
- }
35
- else if (format == "XLSX") {
36
- if (this.ExcelJS != null) {
37
- this.exportExcel();
38
- return;
39
- }
40
- try {
41
- this.ExcelJS = yield import("exceljs");
42
- this.exportExcel();
43
- }
44
- catch (_a) {
45
- throw "Impossibile caricare la libreria per l'esportazione in Excel";
46
- }
47
- }
48
- else
49
- throw "Formato di esportazione non riconosciuto";
50
- }));
51
- }
52
- /** Effettua l'esportazione del file Excel basandosi sul modulo **ExcelJS**, sugli header **this.est.headers** e sui dati **this.est.data** */
53
- exportExcel() {
54
- return __awaiter(this, void 0, void 0, function* () {
55
- let iFix = 1;
56
- let workbook = new this.ExcelJS.Workbook();
57
- workbook.creator = "Ema's big Es-Table";
58
- workbook.created = new Date();
59
- let sheet = workbook.addWorksheet('Data');
60
- let header = sheet.getRow(1);
61
- header.font = { bold: true };
62
- this.est.headers = this.est.headers.sort((a, b) => a.order - b.order);
63
- for (let i = 0; i < this.est.headers.length; i++) {
64
- let h = this.est.headers[i];
65
- header.getCell(i + iFix).value = h.label;
66
- }
67
- for (let i = 0; i < this.est.data.length; i++) {
68
- let row = sheet.getRow(i + iFix + 1);
69
- let item = this.est.data[i];
70
- for (let i = 0; i < this.est.headers.length; i++) {
71
- let h = this.est.headers[i];
72
- let cell = row.getCell(i + 1);
73
- let val = item[h.key];
74
- if (val == null || val == undefined)
75
- cell.value = "";
76
- else {
77
- switch (h.type) {
78
- case 'date':
79
- cell.value = this.dateExts.getDateConvertion(val).toDate();
80
- case 'number':
81
- cell.value = parseFloat(val.replace(',', '.'));
82
- default:
83
- cell.value = val;
84
- }
85
- }
86
- }
87
- }
88
- let buffer = yield workbook.xlsx.writeBuffer();
89
- let blob = new Blob([buffer], { type: "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet;" });
90
- let objectUrl = window.URL.createObjectURL(blob);
91
- let fn = this.est.ExportFileName;
92
- this.utiExts.fileDownload(objectUrl, fn.endsWith('.csv') ? fn.replace('.csv', '.xlsx') : fn.endsWith('.xlsx') ? fn : fn + ".xlsx");
93
- });
94
- }
95
- /**
96
- * Metodo che effettivamente genera gli header e i dati per l'esportazione con **ngx-csv**
97
- *
98
- * @param {any[]} items Oggetti da esportare
99
- */
100
- setupExport(items) {
101
- let drcd = this.est.DynamicRowColumnsDefinition;
102
- this.est.headers = drcd && drcd.length > 0 ? this.expExts.setupForGenericExport(items, drcd.map(t => { return { label: t.description, key: t.propertyName, order: t.columnOrder, type: 'string' }; })) : this.expExts.setupForExport(items);
103
- this.est.data = items;
104
- }
105
- }
106
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiRXhwb3J0SGFuZGxlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2VzLXRhYmxlL3NyYy9saWIvY29yZS9oYW5kbGVycy9jbGFzc2VzL0V4cG9ydEhhbmRsZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQU1BLHVEQUF1RDtBQUN2RCxNQUFNLE9BQU8sYUFBYTtJQUt0Qix5QkFBeUI7SUFDekIsWUFBb0IsR0FBcUIsRUFBVSxPQUFzQixFQUFVLE9BQXVCLEVBQVUsT0FBdUIsRUFBVSxRQUFxQjtRQUF0SixRQUFHLEdBQUgsR0FBRyxDQUFrQjtRQUFVLFlBQU8sR0FBUCxPQUFPLENBQWU7UUFBVSxZQUFPLEdBQVAsT0FBTyxDQUFnQjtRQUFVLFlBQU8sR0FBUCxPQUFPLENBQWdCO1FBQVUsYUFBUSxHQUFSLFFBQVEsQ0FBYTtJQUFJLENBQUM7SUFFL0s7Ozs7T0FJRztJQUNJLFNBQVMsQ0FBQyxNQUFlO1FBQzVCLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLGNBQWM7WUFDeEIsT0FBTztRQUVYLElBQUksSUFBSSxDQUFDLEdBQUcsQ0FBQyxVQUFVO1lBQ25CLElBQUksQ0FBQyxHQUFHLENBQUMsY0FBYyxDQUFDLE1BQU0sQ0FBQyxDQUFDOztZQUdoQyxJQUFJLENBQUMsR0FBRyxDQUFDLGNBQWMsQ0FBQyxDQUFPLElBQVcsRUFBRSxTQUFrQixLQUFLLEVBQUUsRUFBRTtnQkFDbkUsSUFBSSxNQUFNO29CQUNOLE9BQU87Z0JBRVgsSUFBSSxJQUFJLENBQUMsTUFBTSxJQUFJLENBQUMsRUFBRTtvQkFDbEIsSUFBSSxDQUFDLE9BQU8sQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsR0FBRyxDQUFDLGdDQUFnQyxDQUFDLENBQUMsQ0FBQztvQkFDOUUsT0FBTztpQkFDVjtnQkFFRCxJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxDQUFDO2dC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LENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLEdBQUcsT0FBTyxDQUFDLENBQUM7UUFDdkksQ0FBQztLQUFBO0lBRUQ7Ozs7T0FJRztJQUNLLFdBQVcsQ0FBQyxLQUFZO1FBQzVCLElBQUksSUFBSSxHQUFHLElBQUksQ0FBQyxHQUFHLENBQUMsMkJBQTJCLENBQUM7UUFFaEQsSUFBSSxDQUFDLEdBQUcsQ0FBQyxPQUFPLEdBQUcsSUFBSSxJQUFJLElBQUksQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLHFCQUFxQixDQUFDLEtBQUssRUFBRSxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLEdBQUcsT0FBTyxFQUFFLEtBQUssRUFBRSxDQUFDLENBQUMsV0FBVyxFQUFFLEdBQUcsRUFBRSxDQUFDLENBQUMsWUFBWSxFQUFFLEtBQUssRUFBRSxDQUFDLENBQUMsV0FBVyxFQUFFLElBQUksRUFBRSxRQUFRLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsY0FBYyxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQzVPLElBQUksQ0FBQyxHQUFHLENBQUMsSUFBSSxHQUFHLEtBQUssQ0FBQztJQUMxQixDQUFDO0NBQ0oiLCJzb3VyY2VzQ29udGVudCI6WyIvLyBMaWJyZXJpZVxyXG5pbXBvcnQgeyBDc3ZIZWFkZXJzLCBEYXRlU2VydmljZSwgRXhwb3J0U2VydmljZSwgTWVzc2FnZVNlcnZpY2UsIFV0aWxpdHlTZXJ2aWNlIH0gZnJvbSBcIkBlc2ZhZW56YS9leHRlbnNpb25zXCI7XHJcblxyXG4vLyBDb21wb25lbnRpXHJcbmltcG9ydCB7IEVzVGFibGVDb21wb25lbnQgfSBmcm9tIFwiLi4vLi4vLi4vY29tcG9uZW50cy9lcy10YWJsZS9lc190YWJsZS5jb21wb25lbnRcIlxyXG5cclxuLyoqIENsYXNzZSBjb250ZW5lbnRlIGxhIGdlc3Rpb25lIGRlbGxlIGltcG9ydGF6aW9uaSAqL1xyXG5leHBvcnQgY2xhc3MgRXhwb3J0SGFuZGxlciB7XHJcblxyXG4gICAgLyoqIENhY2hlIGRlbCBtb2R1bG8gcGVyIGwnZXNwb3J0YXppb25lIEV4Y2VsICovXHJcbiAgICBwcml2YXRlIEV4Y2VsSlM6IGFueTtcclxuXHJcbiAgICAvKiogQGlnbm9yZSBDb3N0cnV0dG9yZSovXHJcbiAgICBjb25zdHJ1Y3Rvcihwcml2YXRlIGVzdDogRXNUYWJsZUNvbXBvbmVudCwgcHJpdmF0ZSBleHBFeHRzOiBFeHBvcnRTZXJ2aWNlLCBwcml2YXRlIG1zZ0V4dHM6IE1lc3NhZ2VTZXJ2aWNlLCBwcml2YXRlIHV0aUV4dHM6IFV0aWxpdHlTZXJ2aWNlLCBwcml2YXRlIGRhdGVFeHRzOiBEYXRlU2VydmljZSkgeyB9XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBFZmZldHR1YSBsJ2VzcG9ydGF6aW9uZSBkZWkgZGF0aVxyXG4gICAgICpcclxuICAgICAqIEBwYXJhbSB7c3RyaW5nfSBmb3JtYXQgRm9ybWF0byBkaSBlc3BvcnRhemlvbmUuIExldHRvIHNvbG8gaW4gbW9kYWxpdMOgIFJlcG9ydCBkZWxsYSB0YWJlbGxhXHJcbiAgICAgKi9cclxuICAgIHB1YmxpYyB0cnlFeHBvcnQoZm9ybWF0Pzogc3RyaW5nKSB7XHJcbiAgICAgICAgaWYgKCF0aGlzLmVzdC5FeHBvcnRGdW5jdGlvbilcclxuICAgICAgICAgICAgcmV0dXJuO1xyXG5cclxuICAgICAgICBpZiAodGhpcy5lc3QucmVwb3J0TW9kZSlcclxuICAgICAgICAgICAgdGhpcy5lc3QuRXhwb3J0RnVuY3Rpb24oZm9ybWF0KTtcclxuXHJcbiAgICAgICAgZWxzZVxyXG4gICAgICAgICAgICB0aGlzLmVzdC5FeHBvcnRGdW5jdGlvbihhc3luYyAoZGF0YTogYW55W10sIGNhbmNlbDogYm9vbGVhbiA9IGZhbHNlKSA9PiB7XHJcbiAgICAgICAgICAgICAgICBpZiAoY2FuY2VsKVxyXG4gICAgICAgICAgICAgICAgICAgIHJldHVybjtcclxuXHJcbiAgICAgICAgICAgICAgICBpZiAoZGF0YS5sZW5ndGggPT0gMCkge1xyXG4gICAgICAgICAgICAgICAgICAgIHRoaXMubXNnRXh0cy5zaW1wbGVXYXJuaW5nKHRoaXMuZXN0LmxjLmxvYyhcIkNhbm5vdCBleHBvcnQgYW4gZW1wdHkgZGF0YXNldFwiKSk7XHJcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuO1xyXG4gICAgICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgICAgIHRoaXMuc2V0dXBFeHBvcnQoZGF0YSk7XHJcbiAgICAgICAgICAgICAgICBpZiAoZm9ybWF0ID09IFwiQ1NWXCIpIHtcclxuICAgICAgICAgICAgICAgICAgICB0aGlzLmVzdC5jZHIuZGV0ZWN0Q2hhbmdlcygpO1xyXG4gICAgICAgICAgICAgICAgICAgIHNldFRpbWVvdXQoKCkgPT4geyB0aGlzLmVzdC5leHBvcnREb3dubG9hZGVyLm5hdGl2ZUVsZW1lbnQuY2xpY2soKTsgfSk7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICBlbHNlIGlmIChmb3JtYXQgPT0gXCJYTFNYXCIpIHtcclxuICAgICAgICAgICAgICAgICAgICBpZiAodGhpcy5FeGNlbEpTICE9IG51bGwpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5leHBvcnRFeGNlbCgpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICByZXR1cm47XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgICAgICAgICB0cnkge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLkV4Y2VsSlMgPSBhd2FpdCBpbXBvcnQoXCJleGNlbGpzXCIpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLmV4cG9ydEV4Y2VsKCk7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgIGNhdGNoIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgdGhyb3cgXCJJbXBvc3NpYmlsZSBjYXJpY2FyZSBsYSBsaWJyZXJpYSBwZXIgbCdlc3BvcnRhemlvbmUgaW4gRXhjZWxcIjtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICBlbHNlXHJcbiAgICAgICAgICAgICAgICAgICAgdGhyb3cgXCJGb3JtYXRvIGRpIGVzcG9ydGF6aW9uZSBub24gcmljb25vc2NpdXRvXCI7XHJcbiAgICAgICAgICAgIH0pO1xyXG4gICAgfVxyXG5cclxuICAgIC8qKiBFZmZldHR1YSBsJ2VzcG9ydGF6aW9uZSBkZWwgZmlsZSBFeGNlbCBiYXNhbmRvc2kgc3VsIG1vZHVsbyAqKkV4Y2VsSlMqKiwgc3VnbGkgaGVhZGVyICoqdGhpcy5lc3QuaGVhZGVycyoqIGUgc3VpIGRhdGkgKip0aGlzLmVzdC5kYXRhKiogKi9cclxuICAgIHByaXZhdGUgYXN5bmMgZXhwb3J0RXhjZWwoKSB7XHJcbiAgICAgICAgbGV0IGlGaXggPSAxO1xyXG4gICAgICAgIGxldCB3b3JrYm9vayA9IG5ldyB0aGlzLkV4Y2VsSlMuV29ya2Jvb2soKTtcclxuICAgICAgICB3b3JrYm9vay5jcmVhdG9yID0gXCJFbWEncyBiaWcgRXMtVGFibGVcIjtcclxuICAgICAgICB3b3JrYm9vay5jcmVhdGVkID0gbmV3IERhdGUoKTtcclxuXHJcbiAgICAgICAgbGV0IHNoZWV0ID0gd29ya2Jvb2suYWRkV29ya3NoZWV0KCdEYXRhJyk7XHJcbiAgICAgICAgbGV0IGhlYWRlciA9IHNoZWV0LmdldFJvdygxKTtcclxuICAgICAgICBoZWFkZXIuZm9udCA9IHsgYm9sZDogdHJ1ZSB9O1xyXG4gICAgICAgIHRoaXMuZXN0LmhlYWRlcnMgPSB0aGlzLmVzdC5oZWFkZXJzLnNvcnQoKGE6IENzdkhlYWRlcnMsIGI6IENzdkhlYWRlcnMpID0+IGEub3JkZXIgLSBiLm9yZGVyKTtcclxuXHJcbiAgICAgICAgZm9yIChsZXQgaSA9IDA7IGkgPCB0aGlzLmVzdC5oZWFkZXJzLmxlbmd0aDsgaSsrKSB7XHJcbiAgICAgICAgICAgIGxldCBoID0gdGhpcy5lc3QuaGVhZGVyc1tpXTtcclxuICAgICAgICAgICAgaGVhZGVyLmdldENlbGwoaSArIGlGaXgpLnZhbHVlID0gaC5sYWJlbDtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIGZvciAobGV0IGkgPSAwOyBpIDwgdGhpcy5lc3QuZGF0YS5sZW5ndGg7IGkrKykge1xyXG4gICAgICAgICAgICBsZXQgcm93ID0gc2hlZXQuZ2V0Um93KGkgKyBpRml4ICsgMSk7XHJcbiAgICAgICAgICAgIGxldCBpdGVtID0gdGhpcy5lc3QuZGF0YVtpXTtcclxuICAgICAgICAgICAgZm9yIChsZXQgaSA9IDA7IGkgPCB0aGlzLmVzdC5oZWFkZXJzLmxlbmd0aDsgaSsrKSB7XHJcbiAgICAgICAgICAgICAgICBsZXQgaCA9IHRoaXMuZXN0LmhlYWRlcnNbaV07XHJcbiAgICAgICAgICAgICAgICBsZXQgY2VsbCA9IHJvdy5nZXRDZWxsKGkgKyAxKTtcclxuICAgICAgICAgICAgICAgIGxldCB2YWwgPSBpdGVtW2gua2V5XTtcclxuICAgICAgICAgICAgICAgIGlmICh2YWwgPT0gbnVsbCB8fCB2YWwgPT0gdW5kZWZpbmVkKVxyXG4gICAgICAgICAgICAgICAgICAgIGNlbGwudmFsdWUgPSBcIlwiO1xyXG4gICAgICAgICAgICAgICAgZWxzZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgc3dpdGNoIChoLnR5cGUpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgY2FzZSAnZGF0ZSc6XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjZWxsLnZhbHVlID0gdGhpcy5kYXRlRXh0cy5nZXREYXRlQ29udmVydGlvbih2YWwpLnRvRGF0ZSgpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBjYXNlICdudW1iZXInOlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY2VsbC52YWx1ZSA9IHBhcnNlRmxvYXQodmFsLnJlcGxhY2UoJywnLCAnLicpKTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgZGVmYXVsdDpcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNlbGwudmFsdWUgPSB2YWw7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBsZXQgYnVmZmVyID0gYXdhaXQgd29ya2Jvb2sueGxzeC53cml0ZUJ1ZmZlcigpO1xyXG4gICAgICAgIGxldCBibG9iID0gbmV3IEJsb2IoW2J1ZmZlcl0sIHt0eXBlOiBcImFwcGxpY2F0aW9uL3ZuZC5vcGVueG1sZm9ybWF0cy1vZmZpY2Vkb2N1bWVudC5zcHJlYWRzaGVldG1sLnNoZWV0O1wifSk7XHJcbiAgICAgICAgbGV0IG9iamVjdFVybCA9IHdpbmRvdy5VUkwuY3JlYXRlT2JqZWN0VVJMKGJsb2IpO1xyXG4gICAgICAgIGxldCBmbiA9IHRoaXMuZXN0LkV4cG9ydEZpbGVOYW1lO1xyXG4gICAgICAgIHRoaXMudXRpRXh0cy5maWxlRG93bmxvYWQob2JqZWN0VXJsLCBmbi5lbmRzV2l0aCgnLmNzdicpID8gZm4ucmVwbGFjZSgnLmNzdicsICcueGxzeCcpIDogZm4uZW5kc1dpdGgoJy54bHN4JykgPyBmbiA6IGZuICsgXCIueGxzeFwiKTtcclxuICAgIH1cclxuXHJcbiAgICAvKipcclxuICAgICAqIE1ldG9kbyBjaGUgZWZmZXR0aXZhbWVudGUgZ2VuZXJhIGdsaSBoZWFkZXIgZSBpIGRhdGkgcGVyIGwnZXNwb3J0YXppb25lIGNvbiAqKm5neC1jc3YqKlxyXG4gICAgICpcclxuICAgICAqIEBwYXJhbSB7YW55W119IGl0ZW1zIE9nZ2V0dGkgZGEgZXNwb3J0YXJlXHJcbiAgICAgKi9cclxuICAgIHByaXZhdGUgc2V0dXBFeHBvcnQoaXRlbXM6IGFueVtdKSB7XHJcbiAgICAgICAgbGV0IGRyY2QgPSB0aGlzLmVzdC5EeW5hbWljUm93Q29sdW1uc0RlZmluaXRpb247XHJcblxyXG4gICAgICAgIHRoaXMuZXN0LmhlYWRlcnMgPSBkcmNkICYmIGRyY2QubGVuZ3RoID4gMCA/IHRoaXMuZXhwRXh0cy5zZXR1cEZvckdlbmVyaWNFeHBvcnQoaXRlbXMsIGRyY2QubWFwKHQgPT4geyByZXR1cm4geyBsYWJlbDogdC5kZXNjcmlwdGlvbiwga2V5OiB0LnByb3BlcnR5TmFtZSwgb3JkZXI6IHQuY29sdW1uT3JkZXIsIHR5cGU6ICdzdHJpbmcnIH07IH0pKSA6IHRoaXMuZXhwRXh0cy5zZXR1cEZvckV4cG9ydChpdGVtcyk7XHJcbiAgICAgICAgdGhpcy5lc3QuZGF0YSA9IGl0ZW1zO1xyXG4gICAgfVxyXG59XHJcbiJdfQ==
@@ -1,136 +0,0 @@
1
- /** Classe contenente la gestione della modalità gerarchica */
2
- export class HierarchyModeHandler {
3
- /** @ignore Costruttore*/
4
- constructor(est) {
5
- this.est = est;
6
- }
7
- /**
8
- * Data una lista di oggetti assegno il livello gerarchico rispetto alla lista di oggetti passata
9
- *
10
- * @param {any[]} objs Lista di oggetti a cui aggiungere l'informazione del livello gerarchico
11
- */
12
- assignHierarchyLevels(objs) {
13
- // Casistica input nullo
14
- if (!objs || !objs.length)
15
- return;
16
- //Se mancano entrambe le info le cerco di valorizzare in automatico coi default "parentid" e "id" (posto che le props esistano nell'oggetto)
17
- if (!this.est.ParentKey && !this.est.OwnKey) {
18
- if (objs[0]['parentid'] !== undefined)
19
- this.est.ParentKey = 'parentid';
20
- if (objs[0]['id'] !== undefined)
21
- this.est.OwnKey = 'id';
22
- }
23
- //Check finale per assicurarmi che le props ci siano
24
- if (!this.est.ParentKey || !this.est.OwnKey) {
25
- console.error('Per utilizzare il sistema in modalità gerarchica è obbligatorio specificare sia ParentKey che OwnKey. Fallback a sistema non gerarchico');
26
- return;
27
- }
28
- // Valorizzazione campi level, expanded, e visible per ogni item
29
- let currentLevel = 1;
30
- let assigned = 0;
31
- do {
32
- assigned = this.assignLevel(objs, currentLevel);
33
- currentLevel++;
34
- } while (assigned > 0);
35
- // butto su lato html e poi me la gioco là con padding = 20 * (level - 1) per far capire il diverso livello
36
- }
37
- /**
38
- * Per ognuno degli oggetti passati gli assegna un livello di gerarchia in base a **ParentKey** e **OwnKey**
39
- *
40
- * @param {any[]} objs Oggetti a cui assegnare il livello di gerarchia
41
- * @param {number} levelToAssign Livello che sta assegnando attualmente questa iterazione (dato che è ricorsiva)
42
- *
43
- * @returns {number} Numero di oggetti a cui è stato assegnato un livello gerarchico
44
- */
45
- assignLevel(objs, levelToAssign) {
46
- let assigned = 0;
47
- for (let i = 0; i < objs.length; i++) {
48
- let obj = objs[i];
49
- // Se la parentKey non è valorizzata, questo è il livello 0 (1... perché gli 0 son perciolosi)
50
- if (!obj[this.est.ParentKey] && levelToAssign == 1) {
51
- obj._level = 1;
52
- obj._visible = true;
53
- obj._expanded = this.est.StartsExpanded;
54
- assigned++;
55
- continue;
56
- }
57
- // Per i livelli superiore al primo
58
- if (obj[this.est.ParentKey] && levelToAssign > 1) {
59
- // trovo il parent
60
- for (let p = 0; p < objs.length; p++) {
61
- let possibleParent = objs[p];
62
- // Trovato il parent dell'item, assegno all'item il livello giusto
63
- if (possibleParent[this.est.OwnKey] == obj[this.est.ParentKey] && possibleParent._level == levelToAssign - 1) {
64
- obj._level = levelToAssign;
65
- // So che questo item ha un parent. Ribadisco che il parent è espanso in base alle impostazione e stessa logica
66
- // per la visibilità del figlio
67
- possibleParent._expanded = this.est.StartsExpanded;
68
- possibleParent.parent = true;
69
- obj._visible = this.est.StartsExpanded;
70
- assigned++;
71
- break;
72
- }
73
- }
74
- }
75
- }
76
- return assigned;
77
- }
78
- /**
79
- * Funzione che permette di effettuare l'espansione di un parent quando la tabella funziona in modalità gerarchica
80
- *
81
- * @param {string} key Chiave del parent da espandere
82
- */
83
- expandParent(key) {
84
- for (let i = 0; i < this.est.boundSource.length; i++) {
85
- let obj = this.est.boundSource[i];
86
- // Trovo il parent con quell'id e lo espando
87
- if (obj[this.est.OwnKey] == key) {
88
- obj._expanded = true;
89
- for (let ic = 0; ic < this.est.boundSource.length; ic++) {
90
- let child = this.est.boundSource[ic];
91
- // Trovo tutti i child di quel parent e li rendo visibili
92
- if (child[this.est.ParentKey] == key)
93
- child._visible = true;
94
- }
95
- return;
96
- }
97
- }
98
- }
99
- /**
100
- * Funzione che permette di effettuare il collapse di un parent quando la tabella funziona in modalità gerarchica
101
- *
102
- * @param {string} key Chiave del parent da collassare
103
- */
104
- collapseParent(key) {
105
- for (let i = 0; i < this.est.boundSource.length; i++) {
106
- let obj = this.est.boundSource[i];
107
- // Trovo il parent con quell'id e lo collasso
108
- if (obj[this.est.OwnKey] == key) {
109
- obj._expanded = false;
110
- // Collasso/nascondo tutti i child del parent
111
- this.collapseChildOfParent(key);
112
- return;
113
- }
114
- }
115
- }
116
- /**
117
- * Collassa ricorsivamente tutti i figli di un parent identificato dalla **parentKey**
118
- *
119
- * @param {string} parentKey Chiave del parent di cui collassare i figli
120
- */
121
- collapseChildOfParent(parentKey) {
122
- for (let ic = 0; ic < this.est.boundSource.length; ic++) {
123
- let child = this.est.boundSource[ic];
124
- // Trovo tutti i child di quel parent e li rendo invisibili. Se il child trovato è a sua volta un parent,
125
- // lo collasso e vado in ricorsione sui figli
126
- if (child[this.est.ParentKey] == parentKey && !child.parent)
127
- child._visible = false;
128
- else if (child[this.est.ParentKey] == parentKey && child.parent) {
129
- child._expanded = false;
130
- child._visible = false;
131
- this.collapseChildOfParent(child[this.est.OwnKey]);
132
- }
133
- }
134
- }
135
- }
136
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiSGllcmFyY2h5TW9kZUhhbmRsZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9lcy10YWJsZS9zcmMvbGliL2NvcmUvaGFuZGxlcnMvY2xhc3Nlcy9IaWVyYXJjaHlNb2RlSGFuZGxlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFFQSw4REFBOEQ7QUFDOUQsTUFBTSxPQUFPLG9CQUFvQjtJQUU3Qix5QkFBeUI7SUFDekIsWUFBb0IsR0FBcUI7UUFBckIsUUFBRyxHQUFILEdBQUcsQ0FBa0I7SUFBSSxDQUFDO0lBRTlDOzs7O09BSUc7SUFDSSxxQkFBcUIsQ0FBQyxJQUFXO1FBQ3BDLHdCQUF3QjtRQUN4QixJQUFJLENBQUMsSUFBSSxJQUFJLENBQUMsSUFBSSxDQUFDLE1BQU07WUFDckIsT0FBTztRQUVYLDRJQUE0STtRQUM1SSxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxTQUFTLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLE1BQU0sRUFBRTtZQUN6QyxJQUFJLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxVQUFVLENBQUMsS0FBSyxTQUFTO2dCQUNqQyxJQUFJLENBQUMsR0FBRyxDQUFDLFNBQVMsR0FBRyxVQUFVLENBQUM7WUFDcEMsSUFBSSxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEtBQUssU0FBUztnQkFDM0IsSUFBSSxDQUFDLEdBQUcsQ0FBQyxNQUFNLEdBQUcsSUFBSSxDQUFDO1NBQzlCO1FBRUQsb0RBQW9EO1FBQ3BELElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLFNBQVMsSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsTUFBTSxFQUFFO1lBQ3pDLE9BQU8sQ0FBQyxLQUFLLENBQUMseUlBQXlJLENBQUMsQ0FBQztZQUN6SixPQUFPO1NBQ1Y7UUFFRCxnRUFBZ0U7UUFDaEUsSUFBSSxZQUFZLEdBQUcsQ0FBQyxDQUFD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QUFLLENBQUMsUUFBUSxHQUFHLEtBQUssQ0FBQztpQkFDdEIsSUFBSSxLQUFLLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxTQUFTLENBQUMsSUFBSSxTQUFTLElBQUksS0FBSyxDQUFDLE1BQU0sRUFBRTtnQkFDN0QsS0FBSyxDQUFDLFNBQVMsR0FBRyxLQUFLLENBQUM7Z0JBQ3hCLEtBQUssQ0FBQyxRQUFRLEdBQUcsS0FBSyxDQUFDO2dCQUN2QixJQUFJLENBQUMscUJBQXFCLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQzthQUN0RDtTQUNKO0lBQ0wsQ0FBQztDQUNKIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRXNUYWJsZUNvbXBvbmVudCB9IGZyb20gXCIuLi8uLi8uLi9jb21wb25lbnRzL2VzLXRhYmxlL2VzX3RhYmxlLmNvbXBvbmVudFwiXHJcblxyXG4vKiogQ2xhc3NlIGNvbnRlbmVudGUgbGEgZ2VzdGlvbmUgZGVsbGEgbW9kYWxpdMOgIGdlcmFyY2hpY2EgKi9cclxuZXhwb3J0IGNsYXNzIEhpZXJhcmNoeU1vZGVIYW5kbGVyIHtcclxuXHJcbiAgICAvKiogQGlnbm9yZSBDb3N0cnV0dG9yZSovXHJcbiAgICBjb25zdHJ1Y3Rvcihwcml2YXRlIGVzdDogRXNUYWJsZUNvbXBvbmVudCkgeyB9XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBEYXRhIHVuYSBsaXN0YSBkaSBvZ2dldHRpIGFzc2Vnbm8gaWwgbGl2ZWxsbyBnZXJhcmNoaWNvIHJpc3BldHRvIGFsbGEgbGlzdGEgZGkgb2dnZXR0aSBwYXNzYXRhXHJcbiAgICAgKlxyXG4gICAgICogQHBhcmFtIHthbnlbXX0gb2JqcyBMaXN0YSBkaSBvZ2dldHRpIGEgY3VpIGFnZ2l1bmdlcmUgbCdpbmZvcm1hemlvbmUgZGVsIGxpdmVsbG8gZ2VyYXJjaGljb1xyXG4gICAgICovXHJcbiAgICBwdWJsaWMgYXNzaWduSGllcmFyY2h5TGV2ZWxzKG9ianM6IGFueVtdKSB7XHJcbiAgICAgICAgLy8gQ2FzaXN0aWNhIGlucHV0IG51bGxvXHJcbiAgICAgICAgaWYgKCFvYmpzIHx8ICFvYmpzLmxlbmd0aClcclxuICAgICAgICAgICAgcmV0dXJuO1xyXG5cclxuICAgICAgICAvL1NlIG1hbmNhbm8gZW50cmFtYmUgbGUgaW5mbyBsZSBjZXJjbyBkaSB2YWxvcml6emFyZSBpbiBhdXRvbWF0aWNvIGNvaSBkZWZhdWx0IFwicGFyZW50aWRcIiBlIFwiaWRcIiAocG9zdG8gY2hlIGxlIHByb3BzIGVzaXN0YW5vIG5lbGwnb2dnZXR0bylcclxuICAgICAgICBpZiAoIXRoaXMuZXN0LlBhcmVudEtleSAmJiAhdGhpcy5lc3QuT3duS2V5KSB7XHJcbiAgICAgICAgICAgIGlmIChvYmpzWzBdWydwYXJlbnRpZCddICE9PSB1bmRlZmluZWQpXHJcbiAgICAgICAgICAgICAgICB0aGlzLmVzdC5QYXJlbnRLZXkgPSAncGFyZW50aWQnO1xyXG4gICAgICAgICAgICBpZiAob2Jqc1swXVsnaWQnXSAhPT0gdW5kZWZpbmVkKVxyXG4gICAgICAgICAgICAgICAgdGhpcy5lc3QuT3duS2V5ID0gJ2lkJztcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIC8vQ2hlY2sgZmluYWxlIHBlciBhc3NpY3VyYXJtaSBjaGUgbGUgcHJvcHMgY2kgc2lhbm9cclxuICAgICAgICBpZiAoIXRoaXMuZXN0LlBhcmVudEtleSB8fCAhdGhpcy5lc3QuT3duS2V5KSB7XHJcbiAgICAgICAgICAgIGNvbnNvbGUuZXJyb3IoJ1BlciB1dGlsaXp6YXJlIGlsIHNpc3RlbWEgaW4gbW9kYWxpdMOgIGdlcmFyY2hpY2Egw6ggb2JibGlnYXRvcmlvIHNwZWNpZmljYXJlIHNpYSBQYXJlbnRLZXkgY2hlIE93bktleS4gRmFsbGJhY2sgYSBzaXN0ZW1hIG5vbiBnZXJhcmNoaWNvJyk7XHJcbiAgICAgICAgICAgIHJldHVybjtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIC8vIFZhbG9yaXp6YXppb25lIGNhbXBpIGxldmVsLCBleHBhbmRlZCwgZSB2aXNpYmxlIHBlciBvZ25pIGl0ZW1cclxuICAgICAgICBsZXQgY3VycmVudExldmVsID0gMTtcclxuICAgICAgICBsZXQgYXNzaWduZWQgPSAwO1xyXG4gICAgICAgIGRvIHtcclxuICAgICAgICAgICAgYXNzaWduZWQgPSB0aGlzLmFzc2lnbkxldmVsKG9ianMsIGN1cnJlbnRMZXZlbCk7XHJcbiAgICAgICAgICAgIGN1cnJlbnRMZXZlbCsrO1xyXG4gICAgICAgIH0gd2hpbGUgKGFzc2lnbmVkID4gMCk7XHJcbiAgICAgICAgLy8gYnV0dG8gc3UgbGF0byBodG1sIGUgcG9pIG1lIGxhIGdpb2NvIGzDoCBjb24gcGFkZGluZyA9IDIwICogKGxldmVsIC0gMSkgcGVyIGZhciBjYXBpcmUgaWwgZGl2ZXJzbyBsaXZlbGxvXHJcbiAgICB9XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBQZXIgb2dudW5vIGRlZ2xpIG9nZ2V0dGkgcGFzc2F0aSBnbGkgYXNzZWduYSB1biBsaXZlbGxvIGRpIGdlcmFyY2hpYSBpbiBiYXNlIGEgKipQYXJlbnRLZXkqKiBlICoqT3duS2V5KipcclxuICAgICAqXHJcbiAgICAgKiBAcGFyYW0ge2FueVtdfSBvYmpzIE9nZ2V0dGkgYSBjdWkgYXNzZWduYXJlIGlsIGxpdmVsbG8gZGkgZ2VyYXJjaGlhXHJcbiAgICAgKiBAcGFyYW0ge251bWJlcn0gbGV2ZWxUb0Fzc2lnbiBMaXZlbGxvIGNoZSBzdGEgYXNzZWduYW5kbyBhdHR1YWxtZW50ZSBxdWVzdGEgaXRlcmF6aW9uZSAoZGF0byBjaGUgw6ggcmljb3JzaXZhKVxyXG4gICAgICpcclxuICAgICAqIEByZXR1cm5zIHtudW1iZXJ9IE51bWVybyBkaSBvZ2dldHRpIGEgY3VpIMOoIHN0YXRvIGFzc2VnbmF0byB1biBsaXZlbGxvIGdlcmFyY2hpY29cclxuICAgICAqL1xyXG4gICAgcHJpdmF0ZSBhc3NpZ25MZXZlbChvYmpzOiBhbnlbXSwgbGV2ZWxUb0Fzc2lnbjogbnVtYmVyKTogbnVtYmVyIHtcclxuICAgICAgICBsZXQgYXNzaWduZWQgPSAwO1xyXG4gICAgICAgIGZvciAobGV0IGkgPSAwOyBpIDwgb2Jqcy5sZW5ndGg7IGkrKykge1xyXG4gICAgICAgICAgICBsZXQgb2JqID0gb2Jqc1tpXTtcclxuXHJcbiAgICAgICAgICAgIC8vIFNlIGxhIHBhcmVudEtleSBub24gw6ggdmFsb3JpenphdGEsIHF1ZXN0byDDqCBpbCBsaXZlbGxvIDAgKDEuLi4gcGVyY2jDqSBnbGkgMCBzb24gcGVyY2lvbG9zaSlcclxuICAgICAgICAgICAgaWYgKCFvYmpbdGhpcy5lc3QuUGFyZW50S2V5XSAmJiBsZXZlbFRvQXNzaWduID09IDEpIHtcclxuICAgICAgICAgICAgICAgIG9iai5fbGV2ZWwgPSAxO1xyXG4gICAgICAgICAgICAgICAgb2JqLl92aXNpYmxlID0gdHJ1ZTtcclxuICAgICAgICAgICAgICAgIG9iai5fZXhwYW5kZWQgPSB0aGlzLmVzdC5TdGFydHNFeHBhbmRlZDtcclxuICAgICAgICAgICAgICAgIGFzc2lnbmVkKys7XHJcbiAgICAgICAgICAgICAgICBjb250aW51ZTtcclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgLy8gUGVyIGkgbGl2ZWxsaSBzdXBlcmlvcmUgYWwgcHJpbW9cclxuICAgICAgICAgICAgaWYgKG9ialt0aGlzLmVzdC5QYXJlbnRLZXldICYmIGxldmVsVG9Bc3NpZ24gPiAxKSB7XHJcbiAgICAgICAgICAgICAgICAvLyB0cm92byBpbCBwYXJlbnRcclxuICAgICAgICAgICAgICAgIGZvciAobGV0IHAgPSAwOyBwIDwgb2Jqcy5sZW5ndGg7IHArKykge1xyXG4gICAgICAgICAgICAgICAgICAgIGxldCBwb3NzaWJsZVBhcmVudCA9IG9ianNbcF07XHJcblxyXG4gICAgICAgICAgICAgICAgICAgIC8vIFRyb3ZhdG8gaWwgcGFyZW50IGRlbGwnaXRlbSwgYXNzZWdubyBhbGwnaXRlbSBpbCBsaXZlbGxvIGdpdXN0b1xyXG4gICAgICAgICAgICAgICAgICAgIGlmIChwb3NzaWJsZVBhcmVudFt0aGlzLmVzdC5Pd25LZXldID09IG9ialt0aGlzLmVzdC5QYXJlbnRLZXldICYmIHBvc3NpYmxlUGFyZW50Ll9sZXZlbCA9PSBsZXZlbFRvQXNzaWduIC0gMSkge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBvYmouX2xldmVsID0gbGV2ZWxUb0Fzc2lnbjtcclxuXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIC8vIFNvIGNoZSBxdWVzdG8gaXRlbSBoYSB1biBwYXJlbnQuIFJpYmFkaXNjbyBjaGUgaWwgcGFyZW50IMOoIGVzcGFuc28gaW4gYmFzZSBhbGxlIGltcG9zdGF6aW9uZSBlIHN0ZXNzYSBsb2dpY2FcclxuICAgICAgICAgICAgICAgICAgICAgICAgLy8gcGVyIGxhIHZpc2liaWxpdMOgIGRlbCBmaWdsaW9cclxuICAgICAgICAgICAgICAgICAgICAgICAgcG9zc2libGVQYXJlbnQuX2V4cGFuZGVkID0gdGhpcy5lc3QuU3RhcnRzRXhwYW5kZWQ7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHBvc3NpYmxlUGFyZW50LnBhcmVudCA9IHRydWU7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIG9iai5fdmlzaWJsZSA9IHRoaXMuZXN0LlN0YXJ0c0V4cGFuZGVkO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBhc3NpZ25lZCsrO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBicmVhaztcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgcmV0dXJuIGFzc2lnbmVkO1xyXG4gICAgfVxyXG5cclxuICAgIC8qKlxyXG4gICAgICogRnVuemlvbmUgY2hlIHBlcm1ldHRlIGRpIGVmZmV0dHVhcmUgbCdlc3BhbnNpb25lIGRpIHVuIHBhcmVudCBxdWFuZG8gbGEgdGFiZWxsYSBmdW56aW9uYSBpbiBtb2RhbGl0w6AgZ2VyYXJjaGljYVxyXG4gICAgICpcclxuICAgICAqIEBwYXJhbSB7c3RyaW5nfSBrZXkgQ2hpYXZlIGRlbCBwYXJlbnQgZGEgZXNwYW5kZXJlXHJcbiAgICAgKi9cclxuICAgIHB1YmxpYyBleHBhbmRQYXJlbnQoa2V5OiBzdHJpbmcpIHtcclxuICAgICAgICBmb3IgKGxldCBpID0gMDsgaSA8IHRoaXMuZXN0LmJvdW5kU291cmNlLmxlbmd0aDsgaSsrKSB7XHJcbiAgICAgICAgICAgIGxldCBvYmogPSB0aGlzLmVzdC5ib3VuZFNvdXJjZVtpXTtcclxuXHJcbiAgICAgICAgICAgIC8vIFRyb3ZvIGlsIHBhcmVudCBjb24gcXVlbGwnaWQgZSBsbyBlc3BhbmRvXHJcbiAgICAgICAgICAgIGlmIChvYmpbdGhpcy5lc3QuT3duS2V5XSA9PSBrZXkpIHtcclxuICAgICAgICAgICAgICAgIG9iai5fZXhwYW5kZWQgPSB0cnVlO1xyXG5cclxuICAgICAgICAgICAgICAgIGZvciAobGV0IGljID0gMDsgaWMgPCB0aGlzLmVzdC5ib3VuZFNvdXJjZS5sZW5ndGg7IGljKyspIHtcclxuICAgICAgICAgICAgICAgICAgICBsZXQgY2hpbGQgPSB0aGlzLmVzdC5ib3VuZFNvdXJjZVtpY107XHJcblxyXG4gICAgICAgICAgICAgICAgICAgIC8vIFRyb3ZvIHR1dHRpIGkgY2hpbGQgZGkgcXVlbCBwYXJlbnQgZSBsaSByZW5kbyB2aXNpYmlsaVxyXG4gICAgICAgICAgICAgICAgICAgIGlmIChjaGlsZFt0aGlzLmVzdC5QYXJlbnRLZXldID09IGtleSlcclxuICAgICAgICAgICAgICAgICAgICAgICAgY2hpbGQuX3Zpc2libGUgPSB0cnVlO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgcmV0dXJuO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIC8qKlxyXG4gICAgICogRnVuemlvbmUgY2hlIHBlcm1ldHRlIGRpIGVmZmV0dHVhcmUgaWwgY29sbGFwc2UgZGkgdW4gcGFyZW50IHF1YW5kbyBsYSB0YWJlbGxhIGZ1bnppb25hIGluIG1vZGFsaXTDoCBnZXJhcmNoaWNhXHJcbiAgICAgKlxyXG4gICAgICogQHBhcmFtIHtzdHJpbmd9IGtleSBDaGlhdmUgZGVsIHBhcmVudCBkYSBjb2xsYXNzYXJlXHJcbiAgICAgKi9cclxuICAgIHB1YmxpYyBjb2xsYXBzZVBhcmVudChrZXk6IHN0cmluZykge1xyXG4gICAgICAgIGZvciAobGV0IGkgPSAwOyBpIDwgdGhpcy5lc3QuYm91bmRTb3VyY2UubGVuZ3RoOyBpKyspIHtcclxuICAgICAgICAgICAgbGV0IG9iaiA9IHRoaXMuZXN0LmJvdW5kU291cmNlW2ldO1xyXG5cclxuICAgICAgICAgICAgLy8gVHJvdm8gaWwgcGFyZW50IGNvbiBxdWVsbCdpZCBlIGxvIGNvbGxhc3NvXHJcbiAgICAgICAgICAgIGlmIChvYmpbdGhpcy5lc3QuT3duS2V5XSA9PSBrZXkpIHtcclxuICAgICAgICAgICAgICAgIG9iai5fZXhwYW5kZWQgPSBmYWxzZTtcclxuXHJcbiAgICAgICAgICAgICAgICAvLyBDb2xsYXNzby9uYXNjb25kbyB0dXR0aSBpIGNoaWxkIGRlbCBwYXJlbnRcclxuICAgICAgICAgICAgICAgIHRoaXMuY29sbGFwc2VDaGlsZE9mUGFyZW50KGtleSk7XHJcbiAgICAgICAgICAgICAgICByZXR1cm47XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBDb2xsYXNzYSByaWNvcnNpdmFtZW50ZSB0dXR0aSBpIGZpZ2xpIGRpIHVuIHBhcmVudCBpZGVudGlmaWNhdG8gZGFsbGEgKipwYXJlbnRLZXkqKlxyXG4gICAgICpcclxuICAgICAqIEBwYXJhbSB7c3RyaW5nfSBwYXJlbnRLZXkgQ2hpYXZlIGRlbCBwYXJlbnQgZGkgY3VpIGNvbGxhc3NhcmUgaSBmaWdsaVxyXG4gICAgICovXHJcbiAgICBwcml2YXRlIGNvbGxhcHNlQ2hpbGRPZlBhcmVudChwYXJlbnRLZXk6IHN0cmluZykge1xyXG4gICAgICAgIGZvciAobGV0IGljID0gMDsgaWMgPCB0aGlzLmVzdC5ib3VuZFNvdXJjZS5sZW5ndGg7IGljKyspIHtcclxuICAgICAgICAgICAgbGV0IGNoaWxkID0gdGhpcy5lc3QuYm91bmRTb3VyY2VbaWNdO1xyXG5cclxuICAgICAgICAgICAgLy8gVHJvdm8gdHV0dGkgaSBjaGlsZCBkaSBxdWVsIHBhcmVudCBlIGxpIHJlbmRvIGludmlzaWJpbGkuIFNlIGlsIGNoaWxkIHRyb3ZhdG8gw6ggYSBzdWEgdm9sdGEgdW4gcGFyZW50LFxyXG4gICAgICAgICAgICAvLyBsbyBjb2xsYXNzbyBlIHZhZG8gaW4gcmljb3JzaW9uZSBzdWkgZmlnbGlcclxuICAgICAgICAgICAgaWYgKGNoaWxkW3RoaXMuZXN0LlBhcmVudEtleV0gPT0gcGFyZW50S2V5ICYmICFjaGlsZC5wYXJlbnQpXHJcbiAgICAgICAgICAgICAgICBjaGlsZC5fdmlzaWJsZSA9IGZhbHNlO1xyXG4gICAgICAgICAgICBlbHNlIGlmIChjaGlsZFt0aGlzLmVzdC5QYXJlbnRLZXldID09IHBhcmVudEtleSAmJiBjaGlsZC5wYXJlbnQpIHtcclxuICAgICAgICAgICAgICAgIGNoaWxkLl9leHBhbmRlZCA9IGZhbHNlO1xyXG4gICAgICAgICAgICAgICAgY2hpbGQuX3Zpc2libGUgPSBmYWxzZTtcclxuICAgICAgICAgICAgICAgIHRoaXMuY29sbGFwc2VDaGlsZE9mUGFyZW50KGNoaWxkW3RoaXMuZXN0Lk93bktleV0pO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcbiJdfQ==
@@ -1,130 +0,0 @@
1
- // Modelli
2
- import { AppSearch } from "../../../domain";
3
- /** Classe che si occupa della gestione del recupero degli oggetti, paginazione e tutto ciò in cui gli elementi caricati vengono manipolati direttamente */
4
- export class ItemsHandler {
5
- /** @ignore Costruttore */
6
- constructor(est, utilities) {
7
- this.est = est;
8
- this.utilities = utilities;
9
- }
10
- /**
11
- * In base alla modalità specificata (ArrayMode, ViewMode, ecc...) questo metodo recupera l'array di oggetti da bindare ad interfaccia
12
- *
13
- * @param {boolean} onlyselected [false] Indica di prendere solo gli oggetti selezionati
14
- * @param {boolean} refreshPaging [false] Indica se aggiornare le informazioni di paginazione o meno
15
- * @param {boolean} allIfPossible [false] Indica se prendere tutti gli oggetti quaora possibile, usato solo in ArrayMode
16
- *
17
- * @returns {any[]} Lista degli oggetti su cui effettuare il bind lato interfaccia
18
- */
19
- getItemsByMode(onlyselected = false, refreshPaging = false, allIfPossible = false) {
20
- let items = [];
21
- if ((this.est.viewMode && this.est.View instanceof AppSearch)) {
22
- items = this.getViewItemsBySource();
23
- }
24
- else if (this.est.arrayMode) {
25
- this.est.View.forEach(itm => { itm._item = true; });
26
- // Se faccio dei raggruppamenti ignoro la paginazione
27
- if (this.est.UseArrayModePaging && !allIfPossible) {
28
- // Se sono in modalità array ma la ricerca dipende da una view devo riallineare gli itemperpage
29
- if (this.est.SearchView) {
30
- this.est.ArraymodeItemsPerPage = this.est.SearchView.itemsperpageoverride;
31
- this.est.arraymodePage = this.est.SearchView.page;
32
- this.est.arraymodePages = this.est.SearchView.pages;
33
- }
34
- // Devo chiamare il refresh page solo se vengo richiamato da un binding esterno
35
- else if (refreshPaging)
36
- this.refreshPaging(this.est.ArraymodeItemsPerPage);
37
- items = this.adaptViewToPaging();
38
- }
39
- else {
40
- items = this.est.View;
41
- }
42
- }
43
- // Se voglio solo i selezionati filtro
44
- if (onlyselected)
45
- return items.filter(t => t._selected);
46
- return items;
47
- }
48
- /**
49
- * Metodo per effettuare il refresh della paginazione sul cambiamento degli oggetti da visualizzare in una singola pagina.
50
- *
51
- * Vale solo per la modalità Array
52
- *
53
- * @param {number} pageSize Dimensione della pagina
54
- */
55
- refreshPaging(pageSize) {
56
- this.est.ArraymodeItemsPerPage = pageSize;
57
- this.est.arraymodePages = Math.ceil(this.est.View.length / this.est.ArraymodeItemsPerPage);
58
- this.est.arraymodePage = 1;
59
- // Riforzo il writevalue in modo che il codice passi dalla gestione come se fosse fatta ripartire una ricerca
60
- this.est.internalWriteValue();
61
- }
62
- /**
63
- * Ottiene gli oggetti in base alla sorgente
64
- */
65
- getViewItemsBySource() {
66
- var _a, _b;
67
- let castedView = this.est.View;
68
- let groupKeys = castedView.groupings ? castedView.groupings.filter(t => !t.aggregation).length : 0;
69
- //Gruppi intermedi
70
- if ((((_a = castedView.requestedgroups) === null || _a === void 0 ? void 0 : _a.length) != groupKeys || ((_b = castedView.requestedgroups) === null || _b === void 0 ? void 0 : _b.length) == 0) && groupKeys > 0) {
71
- let ret = castedView.groups;
72
- ret.forEach(itm => {
73
- // Setto variabile interna per capire che questo è in realtà un gruppo
74
- itm._group = true;
75
- // Le informazioni passate come lista le metto dentro a una cache per velocizzarne l'accesso quando devo tirare fuori il display della proprietà
76
- this.utilities.cacheAggregations(itm);
77
- });
78
- return ret;
79
- }
80
- else {
81
- let ret = this.est.SecondarySource ? this.est.View.items2 : this.est.TertiarySource ? this.est.View.items3 : this.est.View.items;
82
- if (!ret)
83
- ret = [];
84
- // Setto variabile interna per specificare che questo è un elemento normale, non un gruppo o altro
85
- ret.forEach(itm => { itm._item = true; });
86
- return ret;
87
- }
88
- }
89
- /** Genera le informazioni di paginazione e taglia la View in modalità array per mostrare solo gli oggetti della pagina specificata */
90
- adaptViewToPaging() {
91
- let tmpItems = [];
92
- // Se ho una search view l'array pulsanti viene calcolato da lei, non devo prendere quello della modalità array,
93
- // inoltre non ho bisogno di fare ragionamenti su quanti elementi ci sono e sulla pagina, dato che viene tutto gestito esternamente,
94
- // unendo al risultato della view tutti gli oggetti addizionali
95
- if (!this.est.SearchView)
96
- this.est.arrayPulsanti = this.utilities.getPagesArray(6, this.est.arraymodePage, this.est.arraymodePages);
97
- else
98
- return this.est.View;
99
- // Poi per tutti i valori dopo compresi fra la pagina - 1 e la pagina
100
- for (let i = ((this.est.arraymodePage - 1) * this.est.ArraymodeItemsPerPage); i < this.est.arraymodePage * this.est.ArraymodeItemsPerPage; i++) {
101
- if (i <= this.est.View.length - 1)
102
- tmpItems.push(this.est.View[i]);
103
- }
104
- return tmpItems;
105
- }
106
- /**
107
- * Metodo che prende tutti gli oggetti di cui dispone divisi in bucket da 100 elementi
108
- *
109
- * @returns {any[][]} Matrice di array Nx100
110
- */
111
- getItemSlices() {
112
- // Se sono qui di sicuro non ho rowgrouping
113
- let items = this.getItemsByMode();
114
- if (!items)
115
- return [];
116
- let arrayBy100 = [];
117
- let slices = Math.ceil(items.length / this.est.SliceSize);
118
- for (let i = 0; i < slices; i++) {
119
- let arraySlice = items.slice(i * this.est.SliceSize, i * this.est.SliceSize + this.est.SliceSize);
120
- arrayBy100.push(arraySlice);
121
- }
122
- return arrayBy100;
123
- }
124
- /** Se in modalità array applica gli ordinamenti ASC-DESC delle colonne */
125
- arrayModeReviewOrderings() {
126
- if (this.est.arrayOrders.length > 0)
127
- this.est.arrayOrders.forEach(t => { this.est.boundSource = this.est.boundSource.sort((a, b) => (a[t.id] > b[t.id] ? 1 : -1) * (t.order == 'DESC' ? -1 : 1)); });
128
- }
129
- }
130
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiSXRlbXNIYW5kbGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZXMtdGFibGUvc3JjL2xpYi9jb3JlL2hhbmRsZXJzL2NsYXNzZXMvSXRlbXNIYW5kbGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUdBLFVBQVU7QUFDVixPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFLNUMsMkpBQTJKO0FBQzNKLE1BQU0sT0FBTyxZQUFZO0lBRXJCLDBCQUEwQjtJQUMxQixZQUFvQixHQUFxQixFQUFVLFNBQTJCO1FBQTFELFFBQUcsR0FBSCxHQUFHLENBQWtCO1FBQVUsY0FBUyxHQUFULFNBQVMsQ0FBa0I7SUFBSSxDQUFDO0lBRW5GOzs7Ozs7OztPQVFHO0lBQ0ksY0FBYyxDQUFDLGVBQXdCLEtBQUssRUFBRSxnQkFBeUIsS0FBSyxFQUFFLGdCQUF5QixLQUFLO1FBQy9HLElBQUksS0FBSyxHQUFVLEVBQUUsQ0FBQztRQUV0QixJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxRQUFRLElBQUksSUFBSSxDQUFDLEdBQUcsQ0FBQyxJQUFJLFlBQVksU0FBUyxDQUFDLEVBQUU7WUFDM0QsS0FBSyxHQUFHLElBQUksQ0FBQyxvQkFBb0IsRUFBRSxDQUFDO1NBQ3ZDO2FBQ0ksSUFBSSxJQUFJLENBQUMsR0FBRyxDQUFDLFNBQVMsRUFBRTtZQUN6QixJQUFJLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLEVBQUUsR0FBRyxHQUFHLENBQUMsS0FBSyxHQUFHLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO1lBRXBELHFEQUFxRDtZQUNyRCxJQUFJLElBQUksQ0FBQyxHQUFHLENBQUMsa0JBQWtCLElBQUksQ0FBQyxhQUFhLEVBQUU7Z0JBRS9DLCtGQUErRjtnQkFDL0YsSUFBSSxJQUFJLENBQUMsR0FBRyxDQUFDLFVBQVUsRUFDdkI7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QyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsS0FBSyxJQUFJLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUN4SyxDQUFDO0NBQ0oiLCJzb3VyY2VzQ29udGVudCI6WyIvLyBDb21wb25lbnRpXHJcbmltcG9ydCB7IEVzVGFibGVDb21wb25lbnQgfSBmcm9tIFwiLi4vLi4vLi4vY29tcG9uZW50cy9lcy10YWJsZS9lc190YWJsZS5jb21wb25lbnRcIlxyXG5cclxuLy8gTW9kZWxsaVxyXG5pbXBvcnQgeyBBcHBTZWFyY2ggfSBmcm9tIFwiLi4vLi4vLi4vZG9tYWluXCI7XHJcblxyXG4vLyBVdGlsaXRpZXNcclxuaW1wb3J0IHsgVXRpbGl0aWVzSGFuZGxlciB9IGZyb20gXCIuL1V0aWxpdGllc0hhbmRsZXJcIjtcclxuXHJcbi8qKiBDbGFzc2UgY2hlIHNpIG9jY3VwYSBkZWxsYSBnZXN0aW9uZSBkZWwgcmVjdXBlcm8gZGVnbGkgb2dnZXR0aSwgcGFnaW5hemlvbmUgZSB0dXR0byBjacOyIGluIGN1aSBnbGkgZWxlbWVudGkgY2FyaWNhdGkgdmVuZ29ubyBtYW5pcG9sYXRpIGRpcmV0dGFtZW50ZSAqL1xyXG5leHBvcnQgY2xhc3MgSXRlbXNIYW5kbGVyIHtcclxuXHJcbiAgICAvKiogQGlnbm9yZSBDb3N0cnV0dG9yZSAqL1xyXG4gICAgY29uc3RydWN0b3IocHJpdmF0ZSBlc3Q6IEVzVGFibGVDb21wb25lbnQsIHByaXZhdGUgdXRpbGl0aWVzOiBVdGlsaXRpZXNIYW5kbGVyKSB7IH1cclxuXHJcbiAgICAvKipcclxuICAgICAqIEluIGJhc2UgYWxsYSBtb2RhbGl0w6Agc3BlY2lmaWNhdGEgKEFycmF5TW9kZSwgVmlld01vZGUsIGVjYy4uLikgcXVlc3RvIG1ldG9kbyByZWN1cGVyYSBsJ2FycmF5IGRpIG9nZ2V0dGkgZGEgYmluZGFyZSBhZCBpbnRlcmZhY2NpYVxyXG4gICAgICpcclxuICAgICAqIEBwYXJhbSB7Ym9vbGVhbn0gb25seXNlbGVjdGVkIFtmYWxzZV0gSW5kaWNhIGRpIHByZW5kZXJlIHNvbG8gZ2xpIG9nZ2V0dGkgc2VsZXppb25hdGlcclxuICAgICAqIEBwYXJhbSB7Ym9vbGVhbn0gcmVmcmVzaFBhZ2luZyBbZmFsc2VdIEluZGljYSBzZSBhZ2dpb3JuYXJlIGxlIGluZm9ybWF6aW9uaSBkaSBwYWdpbmF6aW9uZSBvIG1lbm9cclxuICAgICAqIEBwYXJhbSB7Ym9vbGVhbn0gYWxsSWZQb3NzaWJsZSBbZmFsc2VdIEluZGljYSBzZSBwcmVuZGVyZSB0dXR0aSBnbGkgb2dnZXR0aSBxdWFvcmEgcG9zc2liaWxlLCB1c2F0byBzb2xvIGluIEFycmF5TW9kZVxyXG4gICAgICpcclxuICAgICAqIEByZXR1cm5zIHthbnlbXX0gTGlzdGEgZGVnbGkgb2dnZXR0aSBzdSBjdWkgZWZmZXR0dWFyZSBpbCBiaW5kIGxhdG8gaW50ZXJmYWNjaWFcclxuICAgICAqL1xyXG4gICAgcHVibGljIGdldEl0ZW1zQnlNb2RlKG9ubHlzZWxlY3RlZDogYm9vbGVhbiA9IGZhbHNlLCByZWZyZXNoUGFnaW5nOiBib29sZWFuID0gZmFsc2UsIGFsbElmUG9zc2libGU6IGJvb2xlYW4gPSBmYWxzZSk6IGFueVtdIHtcclxuICAgICAgICBsZXQgaXRlbXM6IGFueVtdID0gW107XHJcblxyXG4gICAgICAgIGlmICgodGhpcy5lc3Qudmlld01vZGUgJiYgdGhpcy5lc3QuVmlldyBpbnN0YW5jZW9mIEFwcFNlYXJjaCkpIHtcclxuICAgICAgICAgICAgaXRlbXMgPSB0aGlzLmdldFZpZXdJdGVtc0J5U291cmNlKCk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGVsc2UgaWYgKHRoaXMuZXN0LmFycmF5TW9kZSkge1xyXG4gICAgICAgICAgICB0aGlzLmVzdC5WaWV3LmZvckVhY2goaXRtID0+IHsgaXRtLl9pdGVtID0gdHJ1ZTsgfSk7XHJcblxyXG4gICAgICAgICAgICAvLyBTZSBmYWNjaW8gZGVpIHJhZ2dydXBwYW1lbnRpIGlnbm9ybyBsYSBwYWdpbmF6aW9uZVxyXG4gICAgICAgICAgICBpZiAodGhpcy5lc3QuVXNlQXJyYXlNb2RlUGFnaW5nICYmICFhbGxJZlBvc3NpYmxlKSB7XHJcblxyXG4gICAgICAgICAgICAgICAgLy8gU2Ugc29ubyBpbiBtb2RhbGl0w6AgYXJyYXkgbWEgbGEgcmljZXJjYSBkaXBlbmRlIGRhIHVuYSB2aWV3IGRldm8gcmlhbGxpbmVhcmUgZ2xpIGl0ZW1wZXJwYWdlXHJcbiAgICAgICAgICAgICAgICBpZiAodGhpcy5lc3QuU2VhcmNoVmlldylcclxuICAgICAgICAgICAgICAgIHtcclxuICAgICAgICAgICAgICAgICAgICB0aGlzLmVzdC5BcnJheW1vZGVJdGVtc1BlclBhZ2UgPSB0aGlzLmVzdC5TZWFyY2hWaWV3Lml0ZW1zcGVycGFnZW92ZXJyaWRlO1xyXG4gICAgICAgICAgICAgICAgICAgIHRoaXMuZXN0LmFycmF5bW9kZVBhZ2UgPSB0aGlzLmVzdC5TZWFyY2hWaWV3LnBhZ2U7XHJcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5lc3QuYXJyYXltb2RlUGFnZXMgPSB0aGlzLmVzdC5TZWFyY2hWaWV3LnBhZ2VzO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgLy8gRGV2byBjaGlhbWFyZSBpbCByZWZyZXNoIHBhZ2Ugc29sbyBzZSB2ZW5nbyByaWNoaWFtYXRvIGRhIHVuIGJpbmRpbmcgZXN0ZXJub1xyXG4gICAgICAgICAgICAgICAgZWxzZSBpZiAocmVmcmVzaFBhZ2luZylcclxuICAgICAgICAgICAgICAgICAgICB0aGlzLnJlZnJlc2hQYWdpbmcodGhpcy5lc3QuQXJyYXltb2RlSXRlbXNQZXJQYWdlKTtcclxuXHJcbiAgICAgICAgICAgICAgICBpdGVtcyA9IHRoaXMuYWRhcHRWaWV3VG9QYWdpbmcoKTtcclxuICAgICAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgICAgIGl0ZW1zID0gdGhpcy5lc3QuVmlldyBhcyBhbnlbXTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgLy8gU2Ugdm9nbGlvIHNvbG8gaSBzZWxlemlvbmF0aSBmaWx0cm9cclxuICAgICAgICBpZiAob25seXNlbGVjdGVkKVxyXG4gICAgICAgICAgICByZXR1cm4gaXRlbXMuZmlsdGVyKHQgPT4gdC5fc2VsZWN0ZWQpO1xyXG5cclxuICAgICAgICByZXR1cm4gaXRlbXM7XHJcbiAgICB9XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBNZXRvZG8gcGVyIGVmZmV0dHVhcmUgaWwgcmVmcmVzaCBkZWxsYSBwYWdpbmF6aW9uZSBzdWwgY2FtYmlhbWVudG8gZGVnbGkgb2dnZXR0aSBkYSB2aXN1YWxpenphcmUgaW4gdW5hIHNpbmdvbGEgcGFnaW5hLlxyXG4gICAgICpcclxuICAgICAqIFZhbGUgc29sbyBwZXIgbGEgbW9kYWxpdMOgIEFycmF5XHJcbiAgICAgKlxyXG4gICAgICogQHBhcmFtIHtudW1iZXJ9IHBhZ2VTaXplIERpbWVuc2lvbmUgZGVsbGEgcGFnaW5hXHJcbiAgICAgKi9cclxuICAgIHB1YmxpYyByZWZyZXNoUGFnaW5nKHBhZ2VTaXplOiBudW1iZXIpIHtcclxuICAgICAgICB0aGlzLmVzdC5BcnJheW1vZGVJdGVtc1BlclBhZ2UgPSBwYWdlU2l6ZTtcclxuICAgICAgICB0aGlzLmVzdC5hcnJheW1vZGVQYWdlcyA9IE1hdGguY2VpbCgodGhpcy5lc3QuVmlldyBhcyBhbnlbXSkubGVuZ3RoIC8gdGhpcy5lc3QuQXJyYXltb2RlSXRlbXNQZXJQYWdlKTtcclxuICAgICAgICB0aGlzLmVzdC5hcnJheW1vZGVQYWdlID0gMTtcclxuXHJcbiAgICAgICAgLy8gUmlmb3J6byBpbCB3cml0ZXZhbHVlIGluIG1vZG8gY2hlIGlsIGNvZGljZSBwYXNzaSBkYWxsYSBnZXN0aW9uZSBjb21lIHNlIGZvc3NlIGZhdHRhIHJpcGFydGlyZSB1bmEgcmljZXJjYVxyXG4gICAgICAgIHRoaXMuZXN0LmludGVybmFsV3JpdGVWYWx1ZSgpO1xyXG4gICAgfVxyXG5cclxuICAgIC8qKlxyXG4gICAgICogT3R0aWVuZSBnbGkgb2dnZXR0aSBpbiBiYXNlIGFsbGEgc29yZ2VudGVcclxuICAgICAqL1xyXG4gICAgcHJpdmF0ZSBnZXRWaWV3SXRlbXNCeVNvdXJjZSgpOiBhbnlbXSB7XHJcbiAgICAgICAgbGV0IGNhc3RlZFZpZXcgPSB0aGlzLmVzdC5WaWV3IGFzIEFwcFNlYXJjaDxhbnk+O1xyXG4gICAgICAgIGxldCBncm91cEtleXMgPSBjYXN0ZWRWaWV3Lmdyb3VwaW5ncyA/IGNhc3RlZFZpZXcuZ3JvdXBpbmdzLmZpbHRlcih0ID0+ICF0LmFnZ3JlZ2F0aW9uKS5sZW5ndGggOiAwO1xyXG5cclxuICAgICAgICAvL0dydXBwaSBpbnRlcm1lZGlcclxuICAgICAgICBpZiAoKGNhc3RlZFZpZXcucmVxdWVzdGVkZ3JvdXBzPy5sZW5ndGggIT0gZ3JvdXBLZXlzIHx8IGNhc3RlZFZpZXcucmVxdWVzdGVkZ3JvdXBzPy5sZW5ndGggPT0gMCkgJiYgZ3JvdXBLZXlzID4gMCkge1xyXG4gICAgICAgICAgICBsZXQgcmV0ID0gY2FzdGVkVmlldy5ncm91cHM7XHJcbiAgICAgICAgICAgIHJldC5mb3JFYWNoKGl0bSA9PiB7XHJcblxyXG4gICAgICAgICAgICAgICAgLy8gU2V0dG8gdmFyaWFiaWxlIGludGVybmEgcGVyIGNhcGlyZSBjaGUgcXVlc3RvIMOoIGluIHJlYWx0w6AgdW4gZ3J1cHBvXHJcbiAgICAgICAgICAgICAgICAoPGFueT5pdG0pLl9ncm91cCA9IHRydWU7XHJcblxyXG4gICAgICAgICAgICAgICAgLy8gTGUgaW5mb3JtYXppb25pIHBhc3NhdGUgY29tZSBsaXN0YSBsZSBtZXR0byBkZW50cm8gYSB1bmEgY2FjaGUgcGVyIHZlbG9jaXp6YXJuZSBsJ2FjY2Vzc28gcXVhbmRvIGRldm8gdGlyYXJlIGZ1b3JpIGlsIGRpc3BsYXkgZGVsbGEgcHJvcHJpZXTDoFxyXG4gICAgICAgICAgICAgICAgdGhpcy51dGlsaXRpZXMuY2FjaGVBZ2dyZWdhdGlvbnMoaXRtKTtcclxuICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgICAgIHJldHVybiByZXQ7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGVsc2Uge1xyXG4gICAgICAgICAgICBsZXQgcmV0ID0gdGhpcy5lc3QuU2Vjb25kYXJ5U291cmNlID8gKHRoaXMuZXN0LlZpZXcgYXMgYW55KS5pdGVtczIgOiB0aGlzLmVzdC5UZXJ0aWFyeVNvdXJjZSA/ICh0aGlzLmVzdC5WaWV3IGFzIGFueSkuaXRlbXMzIDogKHRoaXMuZXN0LlZpZXcgYXMgYW55KS5pdGVtcztcclxuICAgICAgICAgICAgaWYgKCFyZXQpIHJldCA9IFtdO1xyXG4gICAgICAgICAgICAvLyBTZXR0byB2YXJpYWJpbGUgaW50ZXJuYSBwZXIgc3BlY2lmaWNhcmUgY2hlIHF1ZXN0byDDqCB1biBlbGVtZW50byBub3JtYWxlLCBub24gdW4gZ3J1cHBvIG8gYWx0cm9cclxuICAgICAgICAgICAgcmV0LmZvckVhY2goaXRtID0+IHsgKDxhbnk+aXRtKS5faXRlbSA9IHRydWU7IH0pO1xyXG4gICAgICAgICAgICByZXR1cm4gcmV0O1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAvKiogR2VuZXJhIGxlIGluZm9ybWF6aW9uaSBkaSBwYWdpbmF6aW9uZSBlIHRhZ2xpYSBsYSBWaWV3IGluIG1vZGFsaXTDoCBhcnJheSBwZXIgbW9zdHJhcmUgc29sbyBnbGkgb2dnZXR0aSBkZWxsYSBwYWdpbmEgc3BlY2lmaWNhdGEgKi9cclxuICAgIHByaXZhdGUgYWRhcHRWaWV3VG9QYWdpbmcoKSB7XHJcbiAgICAgICAgbGV0IHRtcEl0ZW1zOiBhbnlbXSA9IFtdO1xyXG5cclxuICAgICAgICAvLyBTZSBobyB1bmEgc2VhcmNoIHZpZXcgbCdhcnJheSBwdWxzYW50aSB2aWVuZSBjYWxjb2xhdG8gZGEgbGVpLCBub24gZGV2byBwcmVuZGVyZSBxdWVsbG8gZGVsbGEgbW9kYWxpdMOgIGFycmF5LFxyXG4gICAgICAgIC8vIGlub2x0cmUgbm9uIGhvIGJpc29nbm8gZGkgZmFyZSByYWdpb25hbWVudGkgc3UgcXVhbnRpIGVsZW1lbnRpIGNpIHNvbm8gZSBzdWxsYSBwYWdpbmEsIGRhdG8gY2hlIHZpZW5lIHR1dHRvIGdlc3RpdG8gZXN0ZXJuYW1lbnRlLCBcclxuICAgICAgICAvLyB1bmVuZG8gYWwgcmlzdWx0YXRvIGRlbGxhIHZpZXcgdHV0dGkgZ2xpIG9nZ2V0dGkgYWRkaXppb25hbGlcclxuICAgICAgICBpZiAoIXRoaXMuZXN0LlNlYXJjaFZpZXcpXHJcbiAgICAgICAgICAgIHRoaXMuZXN0LmFycmF5UHVsc2FudGkgPSB0aGlzLnV0aWxpdGllcy5nZXRQYWdlc0FycmF5KDYsIHRoaXMuZXN0LmFycmF5bW9kZVBhZ2UsIHRoaXMuZXN0LmFycmF5bW9kZVBhZ2VzKTtcclxuICAgICAgICBlbHNlXHJcbiAgICAgICAgICAgIHJldHVybiB0aGlzLmVzdC5WaWV3IGFzIGFueVtdO1xyXG5cclxuICAgICAgICAvLyBQb2kgcGVyIHR1dHRpIGkgdmFsb3JpIGRvcG8gY29tcHJlc2kgZnJhIGxhIHBhZ2luYSAtIDEgZSBsYSBwYWdpbmFcclxuICAgICAgICBmb3IgKGxldCBpID0gKCh0aGlzLmVzdC5hcnJheW1vZGVQYWdlIC0gMSkgKiB0aGlzLmVzdC5BcnJheW1vZGVJdGVtc1BlclBhZ2UpOyBpIDwgdGhpcy5lc3QuYXJyYXltb2RlUGFnZSAqIHRoaXMuZXN0LkFycmF5bW9kZUl0ZW1zUGVyUGFnZTsgaSsrKSB7XHJcbiAgICAgICAgICAgIGlmIChpIDw9ICh0aGlzLmVzdC5WaWV3IGFzIGFueVtdKS5sZW5ndGggLSAxKVxyXG4gICAgICAgICAgICAgICAgdG1wSXRlbXMucHVzaCgodGhpcy5lc3QuVmlldyBhcyBhbnlbXSlbaV0pO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgcmV0dXJuIHRtcEl0ZW1zO1xyXG4gICAgfVxyXG5cclxuICAgIC8qKlxyXG4gICAgICogTWV0b2RvIGNoZSBwcmVuZGUgdHV0dGkgZ2xpIG9nZ2V0dGkgZGkgY3VpIGRpc3BvbmUgZGl2aXNpIGluIGJ1Y2tldCBkYSAxMDAgZWxlbWVudGlcclxuICAgICAqXHJcbiAgICAgKiBAcmV0dXJucyB7YW55W11bXX0gTWF0cmljZSBkaSBhcnJheSBOeDEwMFxyXG4gICAgICovXHJcbiAgICBwdWJsaWMgZ2V0SXRlbVNsaWNlcygpOiBhbnlbXVtdIHtcclxuICAgICAgICAvLyBTZSBzb25vIHF1aSBkaSBzaWN1cm8gbm9uIGhvIHJvd2dyb3VwaW5nXHJcbiAgICAgICAgbGV0IGl0ZW1zID0gdGhpcy5nZXRJdGVtc0J5TW9kZSgpO1xyXG4gICAgICAgIGlmICghaXRlbXMpXHJcbiAgICAgICAgICAgIHJldHVybiBbXTtcclxuXHJcbiAgICAgICAgbGV0IGFycmF5QnkxMDAgPSBbXTtcclxuICAgICAgICBsZXQgc2xpY2VzID0gTWF0aC5jZWlsKGl0ZW1zLmxlbmd0aCAvIHRoaXMuZXN0LlNsaWNlU2l6ZSk7XHJcbiAgICAgICAgZm9yIChsZXQgaSA9IDA7IGkgPCBzbGljZXM7IGkrKykge1xyXG4gICAgICAgICAgICBsZXQgYXJyYXlTbGljZSA9IGl0ZW1zLnNsaWNlKGkgKiB0aGlzLmVzdC5TbGljZVNpemUsIGkgKiB0aGlzLmVzdC5TbGljZVNpemUgKyB0aGlzLmVzdC5TbGljZVNpemUpO1xyXG4gICAgICAgICAgICBhcnJheUJ5MTAwLnB1c2goYXJyYXlTbGljZSk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHJldHVybiBhcnJheUJ5MTAwO1xyXG4gICAgfVxyXG5cclxuICAgIC8qKiBTZSBpbiBtb2RhbGl0w6AgYXJyYXkgYXBwbGljYSBnbGkgb3JkaW5hbWVudGkgQVNDLURFU0MgZGVsbGUgY29sb25uZSAqL1xyXG4gICAgcHVibGljIGFycmF5TW9kZVJldmlld09yZGVyaW5ncygpIHtcclxuICAgICAgICBpZiAodGhpcy5lc3QuYXJyYXlPcmRlcnMubGVuZ3RoID4gMClcclxuICAgICAgICAgICAgdGhpcy5lc3QuYXJyYXlPcmRlcnMuZm9yRWFjaCh0ID0+IHsgdGhpcy5lc3QuYm91bmRTb3VyY2UgPSB0aGlzLmVzdC5ib3VuZFNvdXJjZS5zb3J0KChhLCBiKSA9PiAoYVt0LmlkXSA+IGJbdC5pZF0gPyAxIDogLTEpICogKHQub3JkZXIgPT0gJ0RFU0MnID8gLTEgOiAxKSk7IH0pO1xyXG4gICAgfVxyXG59XHJcbiJdfQ==
@@ -1,70 +0,0 @@
1
- // Modelli
2
- import { ReportDefinition, ReportOrder } from "../../../domain";
3
- /** Classe che gestisce la modalità Report dell'es-table utilizzata nel Metering */
4
- export class ReportModeHandler {
5
- /** @ignore Costruttore */
6
- constructor(est, utilities) {
7
- this.est = est;
8
- this.utilities = utilities;
9
- }
10
- /**
11
- * Sul click dell'Header di una colonna questo metodo si occupa di applicare l'ordinamento successivo e di notificare con **emitSearchRequest**
12
- * il bisogno di aggiornare i dati da parte del componente che utilizza la tabella
13
- *
14
- * Utilizzato solo in modalità REport
15
- *
16
- * @param {ReportColumn} clm Colonna del report per cui ordinare
17
- */
18
- setupNextOrderAndSearch(clm) {
19
- if (!(this.est.View instanceof ReportDefinition)) {
20
- console.error('View diversa da reportdefinition entrata nel metodo setupNextOrderAndSearch');
21
- return;
22
- }
23
- let orderNext = { NONE: 'DESC', DESC: 'ASC', ASC: null };
24
- let nextOrder = orderNext[clm.order || 'NONE'];
25
- clm.order = nextOrder;
26
- let order;
27
- let clmOrder = this.est.View.orders ? this.est.View.orders.filter(t => t.column == clm.id) : [];
28
- if (clmOrder.length == 0 && clm.order) {
29
- order = new ReportOrder();
30
- order.column = clm.id;
31
- order.order = clm.order;
32
- if (!this.est.View.orders)
33
- this.est.View.orders = [];
34
- this.est.View.orders.push(order);
35
- }
36
- else if (clmOrder.length == 1) {
37
- // Rimuovo l'ordinamento o aggiorno quello già esistente
38
- if (!clm.order)
39
- clmOrder = [];
40
- else
41
- clmOrder[0].order = clm.order;
42
- }
43
- else
44
- console.warn('Impossibile settare ordinamento. Colonna ' + clm.id + ' direttive di ordinamento ' + clmOrder.length + ' ordinamento scelto ' + clm.order);
45
- // Dopo aver aggiornato l'ordinamento rilancio la ricerca
46
- this.est.emitSearchRequest(false);
47
- }
48
- /** Metodo che si occupa di gestire la grafica della tabella in base alle informazioni di ordinamento colonne e paginazione contenuti nel modello */
49
- reviewReportBindings() {
50
- if (!(this.est.View instanceof ReportDefinition)) {
51
- console.error('View diversa da reportdefinition entrata nel metodo reviewReportBindings');
52
- return;
53
- }
54
- // Allineo le informazioni su eventuali ordinamenti fatti precedentemente
55
- if (this.est.View.orders && this.est.View.orders.length > 0) {
56
- this.est.View.orders.forEach(t => {
57
- this.est.ReportValues.columns.filter(c => c.id == t.column)[0].order = t.order;
58
- });
59
- }
60
- // Recupero il count precedente se serve
61
- if (this.est.ReportValues.count != -2)
62
- this.est.previousCount = this.est.ReportValues.count;
63
- else if (this.est.ReportValues.count == -2)
64
- this.est.ReportValues.count = this.est.previousCount;
65
- let ipp = (this.est.View.itemsperpageoverride || 15);
66
- this.est.View.pages = Math.ceil(this.est.ReportValues.count / ipp);
67
- this.est.arrayPulsanti = this.utilities.getPagesArray(6, this.est.View.page, this.est.View.pages);
68
- }
69
- }
70
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiUmVwb3J0TW9kZUhhbmRsZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9lcy10YWJsZS9zcmMvbGliL2NvcmUvaGFuZGxlcnMvY2xhc3Nlcy9SZXBvcnRNb2RlSGFuZGxlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFNQSxVQUFVO0FBQ1YsT0FBTyxFQUFnQixnQkFBZ0IsRUFBRSxXQUFXLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUU5RSxtRkFBbUY7QUFDbkYsTUFBTSxPQUFPLGlCQUFpQjtJQUUxQiwwQkFBMEI7SUFDMUIsWUFBb0IsR0FBcUIsRUFBVSxTQUEyQjtRQUExRCxRQUFHLEdBQUgsR0FBRyxDQUFrQjtRQUFVLGNBQVMsR0FBVCxTQUFTLENBQWtCO0lBQUksQ0FBQztJQUVuRjs7Ozs7OztPQU9HO0lBQ0ksdUJBQXVCLENBQUMsR0FBaUI7UUFDNUMsSUFBSSxDQUFDLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxJQUFJLFlBQVksZ0JBQWdCLENBQUMsRUFBRTtZQUM5QyxPQUFPLENBQUMsS0FBSyxDQUFDLDZFQUE2RSxDQUFDLENBQUM7WUFDN0YsT0FBTztTQUNWO1FBRUQsSUFBSSxTQUFTLEdBQUcsRUFBRSxJQUFJLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRSxLQUFLLEVBQUUsR0FBRyxFQUFFLElBQUksRUFBRSxDQUFDO1FBQ3pELElBQUksU0FBUyxHQUFHLFNBQVMsQ0FBQyxHQUFHLENBQUMsS0FBSyxJQUFJLE1BQU0sQ0FBQyxDQUFDO1FBQy9DLEdBQUcsQ0FBQyxLQUFLLEdBQUcsU0FBUyxDQUFDO1FBRXRCLElBQUksS0FBa0IsQ0FBQztRQUN2QixJQUFJLFFBQVEsR0FBRyxJQUFJLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsQ0FBQyxD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QUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxZQUFZLENBQUMsS0FBSyxHQUFHLEdBQUcsQ0FBQyxDQUFDO1FBQ25FLElBQUksQ0FBQyxHQUFHLENBQUMsYUFBYSxHQUFHLElBQUksQ0FBQyxTQUFTLENBQUMsYUFBYSxDQUFDLENBQUMsRUFBRSxJQUFJLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxJQUFJLEVBQUUsSUFBSSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDdEcsQ0FBQztDQUNKIiwic291cmNlc0NvbnRlbnQiOlsiLy8gSGFuZGxlcnNcclxuaW1wb3J0IHsgVXRpbGl0aWVzSGFuZGxlciB9IGZyb20gXCIuL1V0aWxpdGllc0hhbmRsZXJcIjtcclxuXHJcbi8vIENvbXBvbmVudGlcclxuaW1wb3J0IHsgRXNUYWJsZUNvbXBvbmVudCB9IGZyb20gXCIuLi8uLi8uLi9jb21wb25lbnRzL2VzLXRhYmxlL2VzX3RhYmxlLmNvbXBvbmVudFwiXHJcblxyXG4vLyBNb2RlbGxpXHJcbmltcG9ydCB7IFJlcG9ydENvbHVtbiwgUmVwb3J0RGVmaW5pdGlvbiwgUmVwb3J0T3JkZXIgfSBmcm9tIFwiLi4vLi4vLi4vZG9tYWluXCI7XHJcblxyXG4vKiogQ2xhc3NlIGNoZSBnZXN0aXNjZSBsYSBtb2RhbGl0w6AgUmVwb3J0IGRlbGwnZXMtdGFibGUgdXRpbGl6emF0YSBuZWwgTWV0ZXJpbmcgKi9cclxuZXhwb3J0IGNsYXNzIFJlcG9ydE1vZGVIYW5kbGVyIHtcclxuXHJcbiAgICAvKiogQGlnbm9yZSBDb3N0cnV0dG9yZSAqL1xyXG4gICAgY29uc3RydWN0b3IocHJpdmF0ZSBlc3Q6IEVzVGFibGVDb21wb25lbnQsIHByaXZhdGUgdXRpbGl0aWVzOiBVdGlsaXRpZXNIYW5kbGVyKSB7IH1cclxuXHJcbiAgICAvKipcclxuICAgICAqIFN1bCBjbGljayBkZWxsJ0hlYWRlciBkaSB1bmEgY29sb25uYSBxdWVzdG8gbWV0b2RvIHNpIG9jY3VwYSBkaSBhcHBsaWNhcmUgbCdvcmRpbmFtZW50byBzdWNjZXNzaXZvIGUgZGkgbm90aWZpY2FyZSBjb24gKiplbWl0U2VhcmNoUmVxdWVzdCoqXHJcbiAgICAgKiBpbCBiaXNvZ25vIGRpIGFnZ2lvcm5hcmUgaSBkYXRpIGRhIHBhcnRlIGRlbCBjb21wb25lbnRlIGNoZSB1dGlsaXp6YSBsYSB0YWJlbGxhXHJcbiAgICAgKlxyXG4gICAgICogVXRpbGl6emF0byBzb2xvIGluIG1vZGFsaXTDoCBSRXBvcnRcclxuICAgICAqXHJcbiAgICAgKiBAcGFyYW0ge1JlcG9ydENvbHVtbn0gY2xtIENvbG9ubmEgZGVsIHJlcG9ydCBwZXIgY3VpIG9yZGluYXJlXHJcbiAgICAgKi9cclxuICAgIHB1YmxpYyBzZXR1cE5leHRPcmRlckFuZFNlYXJjaChjbG06IFJlcG9ydENvbHVtbikge1xyXG4gICAgICAgIGlmICghKHRoaXMuZXN0LlZpZXcgaW5zdGFuY2VvZiBSZXBvcnREZWZpbml0aW9uKSkge1xyXG4gICAgICAgICAgICBjb25zb2xlLmVycm9yKCdWaWV3IGRpdmVyc2EgZGEgcmVwb3J0ZGVmaW5pdGlvbiBlbnRyYXRhIG5lbCBtZXRvZG8gc2V0dXBOZXh0T3JkZXJBbmRTZWFyY2gnKTtcclxuICAgICAgICAgICAgcmV0dXJuO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgbGV0IG9yZGVyTmV4dCA9IHsgTk9ORTogJ0RFU0MnLCBERVNDOiAnQVNDJywgQVNDOiBudWxsIH07XHJcbiAgICAgICAgbGV0IG5leHRPcmRlciA9IG9yZGVyTmV4dFtjbG0ub3JkZXIgfHwgJ05PTkUnXTtcclxuICAgICAgICBjbG0ub3JkZXIgPSBuZXh0T3JkZXI7XHJcblxyXG4gICAgICAgIGxldCBvcmRlcjogUmVwb3J0T3JkZXI7XHJcbiAgICAgICAgbGV0IGNsbU9yZGVyID0gdGhpcy5lc3QuVmlldy5vcmRlcnMgPyB0aGlzLmVzdC5WaWV3Lm9yZGVycy5maWx0ZXIodCA9PiB0LmNvbHVtbiA9PSBjbG0uaWQpIDogW107XHJcbiAgICAgICAgaWYgKGNsbU9yZGVyLmxlbmd0aCA9PSAwICYmIGNsbS5vcmRlcikge1xyXG4gICAgICAgICAgICBvcmRlciA9IG5ldyBSZXBvcnRPcmRlcigpO1xyXG4gICAgICAgICAgICBvcmRlci5jb2x1bW4gPSBjbG0uaWQ7XHJcbiAgICAgICAgICAgIG9yZGVyLm9yZGVyID0gY2xtLm9yZGVyO1xyXG4gICAgICAgICAgICBpZiAoIXRoaXMuZXN0LlZpZXcub3JkZXJzKVxyXG4gICAgICAgICAgICAgICAgdGhpcy5lc3QuVmlldy5vcmRlcnMgPSBbXTtcclxuXHJcbiAgICAgICAgICAgIHRoaXMuZXN0LlZpZXcub3JkZXJzLnB1c2gob3JkZXIpO1xyXG4gICAgICAgIH1cclxuICAgICAgICBlbHNlIGlmIChjbG1PcmRlci5sZW5ndGggPT0gMSkge1xyXG4gICAgICAgICAgICAvLyBSaW11b3ZvIGwnb3JkaW5hbWVudG8gbyBhZ2dpb3JubyBxdWVsbG8gZ2nDoCBlc2lzdGVudGVcclxuICAgICAgICAgICAgaWYgKCFjbG0ub3JkZXIpXHJcbiAgICAgICAgICAgICAgICBjbG1PcmRlciA9IFtdO1xyXG5cclxuICAgICAgICAgICAgZWxzZVxyXG4gICAgICAgICAgICAgICAgY2xtT3JkZXJbMF0ub3JkZXIgPSBjbG0ub3JkZXI7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBlbHNlXHJcbiAgICAgICAgICAgIGNvbnNvbGUud2FybignSW1wb3NzaWJpbGUgc2V0dGFyZSBvcmRpbmFtZW50by4gQ29sb25uYSAnICsgY2xtLmlkICsgJyBkaXJldHRpdmUgZGkgb3JkaW5hbWVudG8gJyArIGNsbU9yZGVyLmxlbmd0aCArICcgb3JkaW5hbWVudG8gc2NlbHRvICcgKyBjbG0ub3JkZXIpO1xyXG5cclxuICAgICAgICAvLyBEb3BvIGF2ZXIgYWdnaW9ybmF0byBsJ29yZGluYW1lbnRvIHJpbGFuY2lvIGxhIHJpY2VyY2FcclxuICAgICAgICB0aGlzLmVzdC5lbWl0U2VhcmNoUmVxdWVzdChmYWxzZSk7XHJcbiAgICB9XHJcblxyXG4gICAgLyoqIE1ldG9kbyBjaGUgc2kgb2NjdXBhIGRpIGdlc3RpcmUgbGEgZ3JhZmljYSBkZWxsYSB0YWJlbGxhIGluIGJhc2UgYWxsZSBpbmZvcm1hemlvbmkgZGkgb3JkaW5hbWVudG8gY29sb25uZSBlIHBhZ2luYXppb25lIGNvbnRlbnV0aSBuZWwgbW9kZWxsbyAqL1xyXG4gICAgcHVibGljIHJldmlld1JlcG9ydEJpbmRpbmdzKCkge1xyXG4gICAgICAgIGlmICghKHRoaXMuZXN0LlZpZXcgaW5zdGFuY2VvZiBSZXBvcnREZWZpbml0aW9uKSkge1xyXG4gICAgICAgICAgICBjb25zb2xlLmVycm9yKCdWaWV3IGRpdmVyc2EgZGEgcmVwb3J0ZGVmaW5pdGlvbiBlbnRyYXRhIG5lbCBtZXRvZG8gcmV2aWV3UmVwb3J0QmluZGluZ3MnKTtcclxuICAgICAgICAgICAgcmV0dXJuO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgLy8gQWxsaW5lbyBsZSBpbmZvcm1hemlvbmkgc3UgZXZlbnR1YWxpIG9yZGluYW1lbnRpIGZhdHRpIHByZWNlZGVudGVtZW50ZVxyXG4gICAgICAgIGlmICh0aGlzLmVzdC5WaWV3Lm9yZGVycyAmJiB0aGlzLmVzdC5WaWV3Lm9yZGVycy5sZW5ndGggPiAwKSB7XHJcbiAgICAgICAgICAgIHRoaXMuZXN0LlZpZXcub3JkZXJzLmZvckVhY2godCA9PiB7XHJcbiAgICAgICAgICAgICAgICB0aGlzLmVzdC5SZXBvcnRWYWx1ZXMuY29sdW1ucy5maWx0ZXIoYyA9PiBjLmlkID09IHQuY29sdW1uKVswXS5vcmRlciA9IHQub3JkZXI7XHJcbiAgICAgICAgICAgIH0pO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgLy8gUmVjdXBlcm8gaWwgY291bnQgcHJlY2VkZW50ZSBzZSBzZXJ2ZVxyXG4gICAgICAgIGlmICh0aGlzLmVzdC5SZXBvcnRWYWx1ZXMuY291bnQgIT0gLTIpXHJcbiAgICAgICAgICAgIHRoaXMuZXN0LnByZXZpb3VzQ291bnQgPSB0aGlzLmVzdC5SZXBvcnRWYWx1ZXMuY291bnQ7XHJcbiAgICAgICAgZWxzZSBpZiAodGhpcy5lc3QuUmVwb3J0VmFsdWVzLmNvdW50ID09IC0yKVxyXG4gICAgICAgICAgICB0aGlzLmVzdC5SZXBvcnRWYWx1ZXMuY291bnQgPSB0aGlzLmVzdC5wcmV2aW91c0NvdW50O1xyXG5cclxuICAgICAgICBsZXQgaXBwID0gKHRoaXMuZXN0LlZpZXcuaXRlbXNwZXJwYWdlb3ZlcnJpZGUgfHwgMTUpO1xyXG4gICAgICAgIHRoaXMuZXN0LlZpZXcucGFnZXMgPSBNYXRoLmNlaWwodGhpcy5lc3QuUmVwb3J0VmFsdWVzLmNvdW50IC8gaXBwKTtcclxuICAgICAgICB0aGlzLmVzdC5hcnJheVB1bHNhbnRpID0gdGhpcy51dGlsaXRpZXMuZ2V0UGFnZXNBcnJheSg2LCB0aGlzLmVzdC5WaWV3LnBhZ2UsIHRoaXMuZXN0LlZpZXcucGFnZXMpO1xyXG4gICAgfVxyXG59XHJcbiJdfQ==