aril 0.0.69 → 0.0.71

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 (190) hide show
  1. package/esm2022/boot/config/plugins/src/plugins.service.mjs +10 -4
  2. package/esm2022/http/src/serviceStateMethods.mjs +2 -2
  3. package/esm2022/theme/layout/app/layout/app.layout.component.mjs +3 -3
  4. package/esm2022/ui/calendar/src/calendar.component.mjs +3 -3
  5. package/esm2022/ui/dxField/src/dx-field.component.mjs +3 -3
  6. package/esm2022/ui/number/src/number.component.mjs +4 -3
  7. package/esm2022/ui/panel/src/panel.component.mjs +3 -3
  8. package/esm2022/ui/table/src/table.component.mjs +3 -3
  9. package/fesm2022/aril-boot-config-plugins.mjs +9 -3
  10. package/fesm2022/aril-boot-config-plugins.mjs.map +1 -1
  11. package/fesm2022/aril-http.mjs +1 -1
  12. package/fesm2022/aril-http.mjs.map +1 -1
  13. package/fesm2022/aril-theme-layout.mjs +2 -2
  14. package/fesm2022/aril-theme-layout.mjs.map +1 -1
  15. package/fesm2022/aril-ui-calendar.mjs +2 -2
  16. package/fesm2022/aril-ui-calendar.mjs.map +1 -1
  17. package/fesm2022/aril-ui-dxField.mjs +2 -2
  18. package/fesm2022/aril-ui-dxField.mjs.map +1 -1
  19. package/fesm2022/aril-ui-number.mjs +3 -2
  20. package/fesm2022/aril-ui-number.mjs.map +1 -1
  21. package/fesm2022/aril-ui-panel.mjs +2 -2
  22. package/fesm2022/aril-ui-panel.mjs.map +1 -1
  23. package/fesm2022/aril-ui-table.mjs +2 -2
  24. package/fesm2022/aril-ui-table.mjs.map +1 -1
  25. package/package.json +70 -70
  26. package/styles/ui/ui.common.scss +19 -1
  27. package/theme/fonts/Inter/Inter_18pt-Black.ttf +0 -0
  28. package/theme/fonts/Inter/Inter_18pt-BlackItalic.ttf +0 -0
  29. package/theme/fonts/Inter/Inter_18pt-Bold.ttf +0 -0
  30. package/theme/fonts/Inter/Inter_18pt-BoldItalic.ttf +0 -0
  31. package/theme/fonts/Inter/Inter_18pt-ExtraBold.ttf +0 -0
  32. package/theme/fonts/Inter/Inter_18pt-ExtraBoldItalic.ttf +0 -0
  33. package/theme/fonts/Inter/Inter_18pt-ExtraLight.ttf +0 -0
  34. package/theme/fonts/Inter/Inter_18pt-ExtraLightItalic.ttf +0 -0
  35. package/theme/fonts/Inter/Inter_18pt-Italic.ttf +0 -0
  36. package/theme/fonts/Inter/Inter_18pt-Light.ttf +0 -0
  37. package/theme/fonts/Inter/Inter_18pt-LightItalic.ttf +0 -0
  38. package/theme/fonts/Inter/Inter_18pt-Medium.ttf +0 -0
  39. package/theme/fonts/Inter/Inter_18pt-MediumItalic.ttf +0 -0
  40. package/theme/fonts/Inter/Inter_18pt-Regular.ttf +0 -0
  41. package/theme/fonts/Inter/Inter_18pt-SemiBold.ttf +0 -0
  42. package/theme/fonts/Inter/Inter_18pt-SemiBoldItalic.ttf +0 -0
  43. package/theme/fonts/Inter/Inter_18pt-Thin.ttf +0 -0
  44. package/theme/fonts/Inter/Inter_18pt-ThinItalic.ttf +0 -0
  45. package/theme/fonts/Inter/Inter_24pt-Black.ttf +0 -0
  46. package/theme/fonts/Inter/Inter_24pt-BlackItalic.ttf +0 -0
  47. package/theme/fonts/Inter/Inter_24pt-Bold.ttf +0 -0
  48. package/theme/fonts/Inter/Inter_24pt-BoldItalic.ttf +0 -0
  49. package/theme/fonts/Inter/Inter_24pt-ExtraBold.ttf +0 -0
  50. package/theme/fonts/Inter/Inter_24pt-ExtraBoldItalic.ttf +0 -0
  51. package/theme/fonts/Inter/Inter_24pt-ExtraLight.ttf +0 -0
  52. package/theme/fonts/Inter/Inter_24pt-ExtraLightItalic.ttf +0 -0
  53. package/theme/fonts/Inter/Inter_24pt-Italic.ttf +0 -0
  54. package/theme/fonts/Inter/Inter_24pt-Light.ttf +0 -0
  55. package/theme/fonts/Inter/Inter_24pt-LightItalic.ttf +0 -0
  56. package/theme/fonts/Inter/Inter_24pt-Medium.ttf +0 -0
  57. package/theme/fonts/Inter/Inter_24pt-MediumItalic.ttf +0 -0
  58. package/theme/fonts/Inter/Inter_24pt-Regular.ttf +0 -0
  59. package/theme/fonts/Inter/Inter_24pt-SemiBold.ttf +0 -0
  60. package/theme/fonts/Inter/Inter_24pt-SemiBoldItalic.ttf +0 -0
  61. package/theme/fonts/Inter/Inter_24pt-Thin.ttf +0 -0
  62. package/theme/fonts/Inter/Inter_24pt-ThinItalic.ttf +0 -0
  63. package/theme/fonts/Inter/Inter_28pt-Black.ttf +0 -0
  64. package/theme/fonts/Inter/Inter_28pt-BlackItalic.ttf +0 -0
  65. package/theme/fonts/Inter/Inter_28pt-Bold.ttf +0 -0
  66. package/theme/fonts/Inter/Inter_28pt-BoldItalic.ttf +0 -0
  67. package/theme/fonts/Inter/Inter_28pt-ExtraBold.ttf +0 -0
  68. package/theme/fonts/Inter/Inter_28pt-ExtraBoldItalic.ttf +0 -0
  69. package/theme/fonts/Inter/Inter_28pt-ExtraLight.ttf +0 -0
  70. package/theme/fonts/Inter/Inter_28pt-ExtraLightItalic.ttf +0 -0
  71. package/theme/fonts/Inter/Inter_28pt-Italic.ttf +0 -0
  72. package/theme/fonts/Inter/Inter_28pt-Light.ttf +0 -0
  73. package/theme/fonts/Inter/Inter_28pt-LightItalic.ttf +0 -0
  74. package/theme/fonts/Inter/Inter_28pt-Medium.ttf +0 -0
  75. package/theme/fonts/Inter/Inter_28pt-MediumItalic.ttf +0 -0
  76. package/theme/fonts/Inter/Inter_28pt-Regular.ttf +0 -0
  77. package/theme/fonts/Inter/Inter_28pt-SemiBold.ttf +0 -0
  78. package/theme/fonts/Inter/Inter_28pt-SemiBoldItalic.ttf +0 -0
  79. package/theme/fonts/Inter/Inter_28pt-Thin.ttf +0 -0
  80. package/theme/fonts/Inter/Inter_28pt-ThinItalic.ttf +0 -0
  81. package/theme/fonts/Inter/woff/Inter18pt-Black.woff +0 -0
  82. package/theme/fonts/Inter/woff/Inter18pt-Black.woff2 +0 -0
  83. package/theme/fonts/Inter/woff/Inter18pt-BlackItalic.woff +0 -0
  84. package/theme/fonts/Inter/woff/Inter18pt-BlackItalic.woff2 +0 -0
  85. package/theme/fonts/Inter/woff/Inter18pt-Bold.woff +0 -0
  86. package/theme/fonts/Inter/woff/Inter18pt-Bold.woff2 +0 -0
  87. package/theme/fonts/Inter/woff/Inter18pt-BoldItalic.woff +0 -0
  88. package/theme/fonts/Inter/woff/Inter18pt-BoldItalic.woff2 +0 -0
  89. package/theme/fonts/Inter/woff/Inter18pt-ExtraBold.woff +0 -0
  90. package/theme/fonts/Inter/woff/Inter18pt-ExtraBold.woff2 +0 -0
  91. package/theme/fonts/Inter/woff/Inter18pt-ExtraBoldItalic.woff +0 -0
  92. package/theme/fonts/Inter/woff/Inter18pt-ExtraBoldItalic.woff2 +0 -0
  93. package/theme/fonts/Inter/woff/Inter18pt-ExtraLight.woff +0 -0
  94. package/theme/fonts/Inter/woff/Inter18pt-ExtraLight.woff2 +0 -0
  95. package/theme/fonts/Inter/woff/Inter18pt-ExtraLightItalic.woff +0 -0
  96. package/theme/fonts/Inter/woff/Inter18pt-ExtraLightItalic.woff2 +0 -0
  97. package/theme/fonts/Inter/woff/Inter18pt-Italic.woff +0 -0
  98. package/theme/fonts/Inter/woff/Inter18pt-Italic.woff2 +0 -0
  99. package/theme/fonts/Inter/woff/Inter18pt-Light.woff +0 -0
  100. package/theme/fonts/Inter/woff/Inter18pt-Light.woff2 +0 -0
  101. package/theme/fonts/Inter/woff/Inter18pt-LightItalic.woff +0 -0
  102. package/theme/fonts/Inter/woff/Inter18pt-LightItalic.woff2 +0 -0
  103. package/theme/fonts/Inter/woff/Inter18pt-Medium.woff +0 -0
  104. package/theme/fonts/Inter/woff/Inter18pt-Medium.woff2 +0 -0
  105. package/theme/fonts/Inter/woff/Inter18pt-MediumItalic.woff +0 -0
  106. package/theme/fonts/Inter/woff/Inter18pt-MediumItalic.woff2 +0 -0
  107. package/theme/fonts/Inter/woff/Inter18pt-Regular.woff +0 -0
  108. package/theme/fonts/Inter/woff/Inter18pt-Regular.woff2 +0 -0
  109. package/theme/fonts/Inter/woff/Inter18pt-SemiBold.woff +0 -0
  110. package/theme/fonts/Inter/woff/Inter18pt-SemiBold.woff2 +0 -0
  111. package/theme/fonts/Inter/woff/Inter18pt-SemiBoldItalic.woff +0 -0
  112. package/theme/fonts/Inter/woff/Inter18pt-SemiBoldItalic.woff2 +0 -0
  113. package/theme/fonts/Inter/woff/Inter18pt-Thin.woff +0 -0
  114. package/theme/fonts/Inter/woff/Inter18pt-Thin.woff2 +0 -0
  115. package/theme/fonts/Inter/woff/Inter18pt-ThinItalic.woff +0 -0
  116. package/theme/fonts/Inter/woff/Inter18pt-ThinItalic.woff2 +0 -0
  117. package/theme/fonts/Inter/woff/Inter24pt-Black.woff +0 -0
  118. package/theme/fonts/Inter/woff/Inter24pt-Black.woff2 +0 -0
  119. package/theme/fonts/Inter/woff/Inter24pt-BlackItalic.woff +0 -0
  120. package/theme/fonts/Inter/woff/Inter24pt-BlackItalic.woff2 +0 -0
  121. package/theme/fonts/Inter/woff/Inter24pt-Bold.woff +0 -0
  122. package/theme/fonts/Inter/woff/Inter24pt-Bold.woff2 +0 -0
  123. package/theme/fonts/Inter/woff/Inter24pt-BoldItalic.woff +0 -0
  124. package/theme/fonts/Inter/woff/Inter24pt-BoldItalic.woff2 +0 -0
  125. package/theme/fonts/Inter/woff/Inter24pt-ExtraBold.woff +0 -0
  126. package/theme/fonts/Inter/woff/Inter24pt-ExtraBold.woff2 +0 -0
  127. package/theme/fonts/Inter/woff/Inter24pt-ExtraBoldItalic.woff +0 -0
  128. package/theme/fonts/Inter/woff/Inter24pt-ExtraBoldItalic.woff2 +0 -0
  129. package/theme/fonts/Inter/woff/Inter24pt-ExtraLight.woff +0 -0
  130. package/theme/fonts/Inter/woff/Inter24pt-ExtraLight.woff2 +0 -0
  131. package/theme/fonts/Inter/woff/Inter24pt-ExtraLightItalic.woff +0 -0
  132. package/theme/fonts/Inter/woff/Inter24pt-ExtraLightItalic.woff2 +0 -0
  133. package/theme/fonts/Inter/woff/Inter24pt-Italic.woff +0 -0
  134. package/theme/fonts/Inter/woff/Inter24pt-Italic.woff2 +0 -0
  135. package/theme/fonts/Inter/woff/Inter24pt-LightItalic.woff +0 -0
  136. package/theme/fonts/Inter/woff/Inter24pt-LightItalic.woff2 +0 -0
  137. package/theme/fonts/Inter/woff/Inter24pt-Medium.woff +0 -0
  138. package/theme/fonts/Inter/woff/Inter24pt-Medium.woff2 +0 -0
  139. package/theme/fonts/Inter/woff/Inter24pt-MediumItalic.woff +0 -0
  140. package/theme/fonts/Inter/woff/Inter24pt-MediumItalic.woff2 +0 -0
  141. package/theme/fonts/Inter/woff/Inter24pt-Regular.woff +0 -0
  142. package/theme/fonts/Inter/woff/Inter24pt-Regular.woff2 +0 -0
  143. package/theme/fonts/Inter/woff/Inter24pt-SemiBold.woff +0 -0
  144. package/theme/fonts/Inter/woff/Inter24pt-SemiBold.woff2 +0 -0
  145. package/theme/fonts/Inter/woff/Inter24pt-SemiBoldItalic.woff +0 -0
  146. package/theme/fonts/Inter/woff/Inter24pt-SemiBoldItalic.woff2 +0 -0
  147. package/theme/fonts/Inter/woff/Inter24pt-Thin.woff +0 -0
  148. package/theme/fonts/Inter/woff/Inter24pt-Thin.woff2 +0 -0
  149. package/theme/fonts/Inter/woff/Inter24pt-ThinItalic.woff +0 -0
  150. package/theme/fonts/Inter/woff/Inter24pt-ThinItalic.woff2 +0 -0
  151. package/theme/fonts/Inter/woff/Inter28pt-Black.woff +0 -0
  152. package/theme/fonts/Inter/woff/Inter28pt-Black.woff2 +0 -0
  153. package/theme/fonts/Inter/woff/Inter28pt-BlackItalic.woff +0 -0
  154. package/theme/fonts/Inter/woff/Inter28pt-BlackItalic.woff2 +0 -0
  155. package/theme/fonts/Inter/woff/Inter28pt-Bold.woff +0 -0
  156. package/theme/fonts/Inter/woff/Inter28pt-Bold.woff2 +0 -0
  157. package/theme/fonts/Inter/woff/Inter28pt-BoldItalic.woff +0 -0
  158. package/theme/fonts/Inter/woff/Inter28pt-BoldItalic.woff2 +0 -0
  159. package/theme/fonts/Inter/woff/Inter28pt-ExtraBoldItalic.woff +0 -0
  160. package/theme/fonts/Inter/woff/Inter28pt-ExtraBoldItalic.woff2 +0 -0
  161. package/theme/fonts/Inter/woff/Inter28pt-ExtraLightItalic.woff +0 -0
  162. package/theme/fonts/Inter/woff/Inter28pt-ExtraLightItalic.woff2 +0 -0
  163. package/theme/fonts/Inter/woff/Inter28pt-Italic.woff +0 -0
  164. package/theme/fonts/Inter/woff/Inter28pt-Italic.woff2 +0 -0
  165. package/theme/fonts/Inter/woff/Inter28pt-Light.woff +0 -0
  166. package/theme/fonts/Inter/woff/Inter28pt-Light.woff2 +0 -0
  167. package/theme/fonts/Inter/woff/Inter28pt-LightItalic.woff +0 -0
  168. package/theme/fonts/Inter/woff/Inter28pt-LightItalic.woff2 +0 -0
  169. package/theme/fonts/Inter/woff/Inter28pt-Medium.woff +0 -0
  170. package/theme/fonts/Inter/woff/Inter28pt-Medium.woff2 +0 -0
  171. package/theme/fonts/Inter/woff/Inter28pt-MediumItalic.woff +0 -0
  172. package/theme/fonts/Inter/woff/Inter28pt-MediumItalic.woff2 +0 -0
  173. package/theme/fonts/Inter/woff/Inter28pt-Regular.woff +0 -0
  174. package/theme/fonts/Inter/woff/Inter28pt-Regular.woff2 +0 -0
  175. package/theme/fonts/Inter/woff/Inter28pt-SemiBold.woff +0 -0
  176. package/theme/fonts/Inter/woff/Inter28pt-SemiBold.woff2 +0 -0
  177. package/theme/fonts/Inter/woff/Inter28pt-Thin.woff +0 -0
  178. package/theme/fonts/Inter/woff/Inter28pt-Thin.woff2 +0 -0
  179. package/theme/fonts/Inter/woff/Inter28pt-ThinItalic.woff +0 -0
  180. package/theme/fonts/Inter/woff/Inter28pt-ThinItalic.woff2 +0 -0
  181. package/theme/layout/app/layout/app.layout.component.html +1 -1
  182. package/theme/styles/layout/_fonts.scss +55 -2
  183. package/theme/styles/layout/_topbar.scss +8 -3
  184. package/theme/styles/layout/preloading.scss +7 -7
  185. package/theme/styles/theme/base/_common.scss +2 -0
  186. package/theme/styles/theme/base/components/data/_datatable.scss +4 -4
  187. package/theme/styles/theme/base/components/input/_autocomplete.scss +5 -0
  188. package/theme/styles/theme/dark/_variables.scss +3 -3
  189. package/theme/styles/theme/light/_variables.scss +8 -6
  190. package/ui/number/src/number.component.d.ts +2 -1
@@ -78,11 +78,11 @@ export class TableComponent {
78
78
  doc.save(`${this.exportFileName}_export_${new Date().getTime()}.pdf`);
79
79
  }
80
80
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.2", ngImport: i0, type: TableComponent, deps: [{ token: i1.PrimeNGConfig }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component }); }
81
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.1.2", type: TableComponent, selector: "aril-table", inputs: { kebabMenuItems: { classPropertyName: "kebabMenuItems", publicName: "kebabMenuItems", isSignal: false, isRequired: false, transformFunction: null }, data: { classPropertyName: "data", publicName: "data", isSignal: true, isRequired: true, transformFunction: null }, checkboxSelection: { classPropertyName: "checkboxSelection", publicName: "checkboxSelection", isSignal: true, isRequired: false, transformFunction: null }, pageSize: { classPropertyName: "pageSize", publicName: "pageSize", isSignal: true, isRequired: false, transformFunction: null }, proxy: { classPropertyName: "proxy", publicName: "proxy", isSignal: true, isRequired: false, transformFunction: null }, showFooter: { classPropertyName: "showFooter", publicName: "showFooter", isSignal: true, isRequired: false, transformFunction: null }, tAlign: { classPropertyName: "tAlign", publicName: "tAlign", isSignal: true, isRequired: false, transformFunction: null }, selectionMode: { classPropertyName: "selectionMode", publicName: "selectionMode", isSignal: true, isRequired: false, transformFunction: null }, showSearchTool: { classPropertyName: "showSearchTool", publicName: "showSearchTool", isSignal: true, isRequired: false, transformFunction: null }, showExportTool: { classPropertyName: "showExportTool", publicName: "showExportTool", isSignal: true, isRequired: false, transformFunction: null }, exportFileName: { classPropertyName: "exportFileName", publicName: "exportFileName", isSignal: true, isRequired: false, transformFunction: null }, noDataFoundLabel: { classPropertyName: "noDataFoundLabel", publicName: "noDataFoundLabel", isSignal: true, isRequired: false, transformFunction: null }, tableHeader: { classPropertyName: "tableHeader", publicName: "tableHeader", isSignal: true, isRequired: false, transformFunction: null }, showTableHeader: { classPropertyName: "showTableHeader", publicName: "showTableHeader", isSignal: true, isRequired: false, transformFunction: null }, isFirstRowSelected: { classPropertyName: "isFirstRowSelected", publicName: "isFirstRowSelected", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { onPageEvent: "onPageEvent", selectionEvent: "selectionEvent" }, queries: [{ propertyName: "columns", predicate: TableColumnComponent }], ngImport: i0, template: "\r\n<p-table\r\n\t#ref\r\n\t[value]=\"data()\"\r\n\t[columns]=\"columns._results\"\r\n\t[rows]=\"pageSize()\"\r\n\t[rowHover]=\"true\"\r\n\t[paginator]=\"true\"\r\n\t[rowsPerPageOptions]=\"[10, 20, 50, 100]\"\r\n\t[filterDelay]=\"0\"\r\n\tsortMode=\"multiple\"\r\n\t[(selection)]=\"selectedRows\"\r\n\t(onPage)=\"onPageEvent.emit($event)\"\r\n\t(selectionChange)=\"selectionEvent.emit(selectedRows)\"\r\n\t[showCurrentPageReport]=\"true\"\r\n\t[selectionMode]=\"selectionMode()\"\r\n\tcurrentPageReportTemplate=\"Toplam : {totalRecords} kay\u0131t | Sayfa : {currentPage} / {totalPages}\"\r\n\tstyleClass=\"p-datatable-sm\">\r\n\t<!--@if (tableHeader() || showSearchTool() || showExportTool()) {\r\n\t\t<ng-template pTemplate=\"caption\">\r\n\t\t\t<div class=\"flex space-between\">\r\n\t\t\t\t<div style=\"flex: auto\">\r\n\t\t\t\t\t@if (tableHeader().length) {\r\n\t\t\t\t\t\t<div class=\"table-header\">\r\n\t\t\t\t\t\t\t{{ tableHeader() }}\r\n\t\t\t\t\t\t</div>\r\n\t\t\t\t\t}\r\n\t\t\t\t</div>\r\n\t\t\t\t<div style=\"flex: auto\">\r\n\t\t\t\t\t<div class=\"flex justify-content-end align-items-center\">\r\n\t\t\t\t\t\t@if (false) {\r\n\t\t\t\t\t\t\t<aril-text\r\n\t\t\t\t\t\t\t\ticon=\"SEARCH\"\r\n\t\t\t\t\t\t\t\ticonPos=\"left\"\r\n\t\t\t\t\t\t\t\tplaceholder=\"Arama\"\r\n\t\t\t\t\t\t\t\t[ngModel]=\"filterText\"\r\n\t\t\t\t\t\t\t\tclass=\"mr-1\"\r\n\t\t\t\t\t\t\t\t(ngModelChange)=\"ref.filterGlobal($event.target.value, 'contains')\">\r\n\t\t\t\t\t\t\t</aril-text>\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\t@if (false) {\r\n\t\t\t\t\t\t\t<aril-button\r\n\t\t\t\t\t\t\t\tsize=\"sm\"\r\n\t\t\t\t\t\t\t\ticon=\"FILE_EXCEL\"\r\n\t\t\t\t\t\t\t\tcolor=\"primary\"\r\n\t\t\t\t\t\t\t\tpTooltip=\"XLS\"\r\n\t\t\t\t\t\t\t\ttooltipPosition=\"top\"\r\n\t\t\t\t\t\t\t\t(clickEvent)=\"excelExport()\"\r\n\t\t\t\t\t\t\t\tclass=\"mr-1\">\r\n\t\t\t\t\t\t\t</aril-button>\r\n\t\t\t\t\t\t\t<aril-button\r\n\t\t\t\t\t\t\t\tsize=\"sm\"\r\n\t\t\t\t\t\t\t\ticon=\"FILE_PDF\"\r\n\t\t\t\t\t\t\t\tcolor=\"primary\"\r\n\t\t\t\t\t\t\t\tpTooltip=\"PDF\"\r\n\t\t\t\t\t\t\t\ttooltipPosition=\"top\"\r\n\t\t\t\t\t\t\t\t(clickEvent)=\"exportPdf()\">\r\n\t\t\t\t\t\t\t</aril-button>\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\t@if (data() && kebabMenuItems.length > 0 ) {\r\n\t\t\t\t\t\t\t<div tools style=\"padding: 4px;margin-left: 4px;border:1px solid #6366f1;border-radius: 6px;background-color: #6366f1; color: white;\" >\r\n\t\t\t\t\t\t\t\t<i\r\n\t\t\t\t\t\t\t\t\t[attr.role]=\"'none'\"\r\n\t\t\t\t\t\t\t\t\tclass=\"pi mr-1 header-icon pi-ellipsis-v\"\r\n\t\t\t\t\t\t\t\t\t(click)=\"bulkOperations.toggle($event);\"></i>\r\n\t\t\t\t\t\t\t\t<p-menu\r\n\t\t\t\t\t\t\t\t\t#bulkOperations\r\n\t\t\t\t\t\t\t\t\t[popup]=\"true\"\r\n\t\t\t\t\t\t\t\t\t[model]=\"kebabMenuItems\"\r\n\t\t\t\t\t\t\t\t\tstyleClass=\"z-index: 9998899;\"\r\n\t\t\t\t\t\t\t\t\tappendTo=\"body\"></p-menu>\r\n\t\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t</div>\r\n\t\t\t\t\t\r\n\t\t\t\t</div>\r\n\t\t\t</div>\r\n\t\t</ng-template>\r\n\t}-->\r\n\t<ng-template pTemplate=\"header\" let-columns>\r\n\t\t<tr>\r\n\t\t\t@if (checkboxSelection()) {\r\n\t\t\t\t<th>\r\n\t\t\t\t\t<!--<p-tableHeaderCheckbox></p-tableHeaderCheckbox>-->\r\n\t\t\t\t</th>\r\n\t\t\t}\r\n\t\t\t@for (column of columns; track $index) {\r\n\t\t\t\t@if (column.type() === 'operations') {\r\n\t\t\t\t\t<th>\r\n\t\t\t\t\t\t<div class=\"flex justify-content-center\">\u0130\u015Flemler</div>\r\n\t\t\t\t\t</th>\r\n\t\t\t\t} @else {\r\n\t\t\t\t\t<th [pSortableColumn]=\"column.field()\">\r\n\t\t\t\t\t\t<div class=\"flex justify-content-between align-items-center\">\r\n\t\t\t\t\t\t\t{{ column.header() }}\r\n\t\t\t\t\t\t\t<div class=\"flex\">\r\n\t\t\t\t\t\t\t\t@if (column.isShowHeaderTooltip()) {\r\n\t\t\t\t\t\t\t\t\t<i style=\"color: var(--primary-color); padding-top: 4px; padding-left: 4px;\" class=\"pi pi-question-circle\" [pTooltip]=\"column.tooltipTemplate()\" tooltipPosition=\"top\"></i>\r\n\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t<p-sortIcon [field]=\"column.field()\"></p-sortIcon>\r\n\t\t\t\t\t\t\t\t<!--<p-columnFilter\r\n\t\t\t\t\t\t\t\t\tdisplay=\"menu\"\r\n\t\t\t\t\t\t\t\t\t[type]=\"column.type()\"\r\n\t\t\t\t\t\t\t\t\t[field]=\"column.field()\"\r\n\t\t\t\t\t\t\t\t\t[showMatchModes]=\"true\"\r\n\t\t\t\t\t\t\t\t\t[showOperator]=\"false\"\r\n\t\t\t\t\t\t\t\t\t[showAddButton]=\"true\">\r\n\t\t\t\t\t\t\t\t</p-columnFilter>-->\r\n\t\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t\t<!-- custom filter for (date etc.)-->\r\n\t\t\t\t\t\t\t<!-- <p-columnFilter type=\"text\" [field]=\"col.field\" [matchModeOptions]=\"matchModeOptions\" [matchMode]=\"'custom-equals'\"></p-columnFilter> -->\r\n\t\t\t\t\t\t</div>\r\n\t\t\t\t\t</th>\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t</tr>\r\n\t</ng-template>\r\n\t<ng-template pTemplate=\"body\" let-item let-columns=\"columns\">\r\n\t\t@if (selectionMode()) {\r\n\t\t\t<tr [pSelectableRow]=\"item\">\r\n\t\t\t\t@for (column of columns; track $index) {\r\n\t\t\t\t\t<td [ngStyle]=\"{ 'text-align': column.type() === 'operations' ? 'center' : column.tAlign() || tAlign() }\">\r\n\t\t\t\t\t\t<ng-template ngFor [ngForOf]=\"[item]\" [ngForTemplate]=\"column.template\"></ng-template>\r\n\t\t\t\t\t</td>\r\n\t\t\t\t}\r\n\t\t\t</tr>\r\n\t\t} @else {\r\n\t\t\t<tr>\r\n\t\t\t\t@if (checkboxSelection()) {\r\n\t\t\t\t\t<td>\r\n\t\t\t\t\t\t<p-tableCheckbox [value]=\"item\"></p-tableCheckbox>\r\n\t\t\t\t\t</td>\r\n\t\t\t\t}\r\n\r\n\t\t\t\t@for (column of columns; track $index) {\r\n\t\t\t\t\t<td [ngStyle]=\"{ 'text-align': column.type() === 'operations' ? 'center' : column.tAlign() || tAlign() }\">\r\n\t\t\t\t\t\t<ng-template ngFor [ngForOf]=\"[item]\" [ngForTemplate]=\"column.template\"></ng-template>\r\n\t\t\t\t\t</td>\r\n\t\t\t\t}\r\n\t\t\t</tr>\r\n\t\t}\r\n\t</ng-template>\r\n\r\n\t@if (showFooter()) {\r\n\t\t<ng-template pTemplate=\"summary\">\r\n\t\t\t<ng-content select=\"[footer]\"></ng-content>\r\n\t\t</ng-template>\r\n\t}\r\n\r\n\t<ng-template pTemplate=\"emptymessage\">\r\n\t\t<tr>\r\n\t\t\t<td [attr.colspan]=\"columns._results.length\">{{ noDataFoundLabel() }}</td>\r\n\t\t</tr>\r\n\t</ng-template>\r\n</p-table>\r\n", dependencies: [{ kind: "component", type: i2.Table, selector: "p-table", inputs: ["frozenColumns", "frozenValue", "style", "styleClass", "tableStyle", "tableStyleClass", "paginator", "pageLinks", "rowsPerPageOptions", "alwaysShowPaginator", "paginatorPosition", "paginatorStyleClass", "paginatorDropdownAppendTo", "paginatorDropdownScrollHeight", "currentPageReportTemplate", "showCurrentPageReport", "showJumpToPageDropdown", "showJumpToPageInput", "showFirstLastIcon", "showPageLinks", "defaultSortOrder", "sortMode", "resetPageOnSort", "selectionMode", "selectionPageOnly", "contextMenuSelection", "contextMenuSelectionMode", "dataKey", "metaKeySelection", "rowSelectable", "rowTrackBy", "lazy", "lazyLoadOnInit", "compareSelectionBy", "csvSeparator", "exportFilename", "filters", "globalFilterFields", "filterDelay", "filterLocale", "expandedRowKeys", "editingRowKeys", "rowExpandMode", "scrollable", "scrollDirection", "rowGroupMode", "scrollHeight", "virtualScroll", "virtualScrollItemSize", "virtualScrollOptions", "virtualScrollDelay", "frozenWidth", "responsive", "contextMenu", "resizableColumns", "columnResizeMode", "reorderableColumns", "loading", "loadingIcon", "showLoader", "rowHover", "customSort", "showInitialSortBadge", "autoLayout", "exportFunction", "exportHeader", "stateKey", "stateStorage", "editMode", "groupRowsBy", "groupRowsByOrder", "responsiveLayout", "breakpoint", "paginatorLocale", "value", "columns", "first", "rows", "totalRecords", "sortField", "sortOrder", "multiSortMeta", "selection", "selectAll", "virtualRowHeight"], outputs: ["contextMenuSelectionChange", "selectAllChange", "selectionChange", "onRowSelect", "onRowUnselect", "onPage", "onSort", "onFilter", "onLazyLoad", "onRowExpand", "onRowCollapse", "onContextMenuSelect", "onColResize", "onColReorder", "onRowReorder", "onEditInit", "onEditComplete", "onEditCancel", "onHeaderCheckboxToggle", "sortFunction", "firstChange", "rowsChange", "onStateSave", "onStateRestore"] }, { kind: "directive", type: i1.PrimeTemplate, selector: "[pTemplate]", inputs: ["type", "pTemplate"] }, { kind: "directive", type: i2.SortableColumn, selector: "[pSortableColumn]", inputs: ["pSortableColumn", "pSortableColumnDisabled"] }, { kind: "directive", type: i2.SelectableRow, selector: "[pSelectableRow]", inputs: ["pSelectableRow", "pSelectableRowIndex", "pSelectableRowDisabled"] }, { kind: "component", type: i2.SortIcon, selector: "p-sortIcon", inputs: ["field"] }, { kind: "component", type: i2.TableCheckbox, selector: "p-tableCheckbox", inputs: ["disabled", "value", "index", "inputId", "name", "required", "ariaLabel"] }, { kind: "directive", type: i3.Tooltip, selector: "[pTooltip]", inputs: ["tooltipPosition", "tooltipEvent", "appendTo", "positionStyle", "tooltipStyleClass", "tooltipZIndex", "escape", "showDelay", "hideDelay", "life", "positionTop", "positionLeft", "autoHide", "fitContent", "hideOnEscape", "pTooltip", "tooltipDisabled", "tooltipOptions"] }, { kind: "directive", type: i4.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i4.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }] }); }
81
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.1.2", type: TableComponent, selector: "aril-table", inputs: { kebabMenuItems: { classPropertyName: "kebabMenuItems", publicName: "kebabMenuItems", isSignal: false, isRequired: false, transformFunction: null }, data: { classPropertyName: "data", publicName: "data", isSignal: true, isRequired: true, transformFunction: null }, checkboxSelection: { classPropertyName: "checkboxSelection", publicName: "checkboxSelection", isSignal: true, isRequired: false, transformFunction: null }, pageSize: { classPropertyName: "pageSize", publicName: "pageSize", isSignal: true, isRequired: false, transformFunction: null }, proxy: { classPropertyName: "proxy", publicName: "proxy", isSignal: true, isRequired: false, transformFunction: null }, showFooter: { classPropertyName: "showFooter", publicName: "showFooter", isSignal: true, isRequired: false, transformFunction: null }, tAlign: { classPropertyName: "tAlign", publicName: "tAlign", isSignal: true, isRequired: false, transformFunction: null }, selectionMode: { classPropertyName: "selectionMode", publicName: "selectionMode", isSignal: true, isRequired: false, transformFunction: null }, showSearchTool: { classPropertyName: "showSearchTool", publicName: "showSearchTool", isSignal: true, isRequired: false, transformFunction: null }, showExportTool: { classPropertyName: "showExportTool", publicName: "showExportTool", isSignal: true, isRequired: false, transformFunction: null }, exportFileName: { classPropertyName: "exportFileName", publicName: "exportFileName", isSignal: true, isRequired: false, transformFunction: null }, noDataFoundLabel: { classPropertyName: "noDataFoundLabel", publicName: "noDataFoundLabel", isSignal: true, isRequired: false, transformFunction: null }, tableHeader: { classPropertyName: "tableHeader", publicName: "tableHeader", isSignal: true, isRequired: false, transformFunction: null }, showTableHeader: { classPropertyName: "showTableHeader", publicName: "showTableHeader", isSignal: true, isRequired: false, transformFunction: null }, isFirstRowSelected: { classPropertyName: "isFirstRowSelected", publicName: "isFirstRowSelected", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { onPageEvent: "onPageEvent", selectionEvent: "selectionEvent" }, queries: [{ propertyName: "columns", predicate: TableColumnComponent }], ngImport: i0, template: "\r\n<p-table\r\n\t#ref\r\n\t[value]=\"data()\"\r\n\t[columns]=\"columns._results\"\r\n\t[rows]=\"pageSize()\"\r\n\t[rowHover]=\"true\"\r\n\t[paginator]=\"true\"\r\n\t[rowsPerPageOptions]=\"[10, 20, 50, 100]\"\r\n\t[filterDelay]=\"0\"\r\n\tsortMode=\"multiple\"\r\n\t[(selection)]=\"selectedRows\"\r\n\t(onPage)=\"onPageEvent.emit($event)\"\r\n\t(selectionChange)=\"selectionEvent.emit(selectedRows)\"\r\n\t[showCurrentPageReport]=\"true\"\r\n\t[selectionMode]=\"selectionMode()\"\r\n\tcurrentPageReportTemplate=\"Toplam : {totalRecords} kay\u0131t | Sayfa : {currentPage} / {totalPages}\"\r\n\tstyleClass=\"p-datatable-sm\">\r\n\t<!--@if (tableHeader() || showSearchTool() || showExportTool()) {\r\n\t\t<ng-template pTemplate=\"caption\">\r\n\t\t\t<div class=\"flex space-between\">\r\n\t\t\t\t<div style=\"flex: auto\">\r\n\t\t\t\t\t@if (tableHeader().length) {\r\n\t\t\t\t\t\t<div class=\"table-header\">\r\n\t\t\t\t\t\t\t{{ tableHeader() }}\r\n\t\t\t\t\t\t</div>\r\n\t\t\t\t\t}\r\n\t\t\t\t</div>\r\n\t\t\t\t<div style=\"flex: auto\">\r\n\t\t\t\t\t<div class=\"flex justify-content-end align-items-center\">\r\n\t\t\t\t\t\t@if (false) {\r\n\t\t\t\t\t\t\t<aril-text\r\n\t\t\t\t\t\t\t\ticon=\"SEARCH\"\r\n\t\t\t\t\t\t\t\ticonPos=\"left\"\r\n\t\t\t\t\t\t\t\tplaceholder=\"Arama\"\r\n\t\t\t\t\t\t\t\t[ngModel]=\"filterText\"\r\n\t\t\t\t\t\t\t\tclass=\"mr-1\"\r\n\t\t\t\t\t\t\t\t(ngModelChange)=\"ref.filterGlobal($event.target.value, 'contains')\">\r\n\t\t\t\t\t\t\t</aril-text>\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\t@if (false) {\r\n\t\t\t\t\t\t\t<aril-button\r\n\t\t\t\t\t\t\t\tsize=\"sm\"\r\n\t\t\t\t\t\t\t\ticon=\"FILE_EXCEL\"\r\n\t\t\t\t\t\t\t\tcolor=\"primary\"\r\n\t\t\t\t\t\t\t\tpTooltip=\"XLS\"\r\n\t\t\t\t\t\t\t\ttooltipPosition=\"top\"\r\n\t\t\t\t\t\t\t\t(clickEvent)=\"excelExport()\"\r\n\t\t\t\t\t\t\t\tclass=\"mr-1\">\r\n\t\t\t\t\t\t\t</aril-button>\r\n\t\t\t\t\t\t\t<aril-button\r\n\t\t\t\t\t\t\t\tsize=\"sm\"\r\n\t\t\t\t\t\t\t\ticon=\"FILE_PDF\"\r\n\t\t\t\t\t\t\t\tcolor=\"primary\"\r\n\t\t\t\t\t\t\t\tpTooltip=\"PDF\"\r\n\t\t\t\t\t\t\t\ttooltipPosition=\"top\"\r\n\t\t\t\t\t\t\t\t(clickEvent)=\"exportPdf()\">\r\n\t\t\t\t\t\t\t</aril-button>\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\t@if (data() && kebabMenuItems.length > 0 ) {\r\n\t\t\t\t\t\t\t<div tools style=\"padding: 4px;margin-left: 4px;border:1px solid #6366f1;border-radius: 6px;background-color: #6366f1; color: white;\" >\r\n\t\t\t\t\t\t\t\t<i\r\n\t\t\t\t\t\t\t\t\t[attr.role]=\"'none'\"\r\n\t\t\t\t\t\t\t\t\tclass=\"pi mr-1 header-icon pi-ellipsis-v\"\r\n\t\t\t\t\t\t\t\t\t(click)=\"bulkOperations.toggle($event);\"></i>\r\n\t\t\t\t\t\t\t\t<p-menu\r\n\t\t\t\t\t\t\t\t\t#bulkOperations\r\n\t\t\t\t\t\t\t\t\t[popup]=\"true\"\r\n\t\t\t\t\t\t\t\t\t[model]=\"kebabMenuItems\"\r\n\t\t\t\t\t\t\t\t\tstyleClass=\"z-index: 9998899;\"\r\n\t\t\t\t\t\t\t\t\tappendTo=\"body\"></p-menu>\r\n\t\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t</div>\r\n\t\t\t\t\t\r\n\t\t\t\t</div>\r\n\t\t\t</div>\r\n\t\t</ng-template>\r\n\t}-->\r\n\t<ng-template pTemplate=\"header\" let-columns>\r\n\t\t<tr>\r\n\t\t\t@if (checkboxSelection()) {\r\n\t\t\t\t<th>\r\n\t\t\t\t\t<!--<p-tableHeaderCheckbox></p-tableHeaderCheckbox>-->\r\n\t\t\t\t</th>\r\n\t\t\t}\r\n\t\t\t@for (column of columns; track $index) {\r\n\t\t\t\t@if (column.type() === 'operations') {\r\n\t\t\t\t\t<th>\r\n\t\t\t\t\t\t<div class=\"flex justify-content-center\">\u0130\u015Flemler</div>\r\n\t\t\t\t\t</th>\r\n\t\t\t\t} @else {\r\n\t\t\t\t\t<th [pSortableColumn]=\"column.field()\">\r\n\t\t\t\t\t\t<div class=\"flex justify-content-between align-items-center\">\r\n\t\t\t\t\t\t\t{{ column.header() }}\r\n\t\t\t\t\t\t\t<div class=\"flex\">\r\n\t\t\t\t\t\t\t\t@if (column.isShowHeaderTooltip()) {\r\n\t\t\t\t\t\t\t\t\t<i style=\"color: var(--primary-color); padding-top: 4px; padding-left: 4px;\" class=\"pi pi-question-circle\" [pTooltip]=\"column.tooltipTemplate()\" tooltipPosition=\"top\"></i>\r\n\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t<p-sortIcon [field]=\"column.field()\"></p-sortIcon>\r\n\t\t\t\t\t\t\t\t<!--<p-columnFilter\r\n\t\t\t\t\t\t\t\t\tdisplay=\"menu\"\r\n\t\t\t\t\t\t\t\t\t[type]=\"column.type()\"\r\n\t\t\t\t\t\t\t\t\t[field]=\"column.field()\"\r\n\t\t\t\t\t\t\t\t\t[showMatchModes]=\"true\"\r\n\t\t\t\t\t\t\t\t\t[showOperator]=\"false\"\r\n\t\t\t\t\t\t\t\t\t[showAddButton]=\"true\">\r\n\t\t\t\t\t\t\t\t</p-columnFilter>-->\r\n\t\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t\t<!-- custom filter for (date etc.)-->\r\n\t\t\t\t\t\t\t<!-- <p-columnFilter type=\"text\" [field]=\"col.field\" [matchModeOptions]=\"matchModeOptions\" [matchMode]=\"'custom-equals'\"></p-columnFilter> -->\r\n\t\t\t\t\t\t</div>\r\n\t\t\t\t\t</th>\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t</tr>\r\n\t</ng-template>\r\n\t<ng-template pTemplate=\"body\" let-item let-columns=\"columns\">\r\n\t\t@if (selectionMode()) {\r\n\t\t\t<tr [pSelectableRow]=\"item\">\r\n\t\t\t\t@for (column of columns; track $index) {\r\n\t\t\t\t\t<td [ngStyle]=\"{ 'text-align': column.type() === 'operations' ? 'center' : column.tAlign() || tAlign() }\">\r\n\t\t\t\t\t\t<ng-template ngFor [ngForOf]=\"[item]\" [ngForTemplate]=\"column.template\"></ng-template>\r\n\t\t\t\t\t</td>\r\n\t\t\t\t}\r\n\t\t\t</tr>\r\n\t\t} @else {\r\n\t\t\t<tr>\r\n\t\t\t\t@if (checkboxSelection()) {\r\n\t\t\t\t\t<td>\r\n\t\t\t\t\t\t<p-tableCheckbox [value]=\"item\"></p-tableCheckbox>\r\n\t\t\t\t\t</td>\r\n\t\t\t\t}\r\n\r\n\t\t\t\t@for (column of columns; track $index) {\r\n\t\t\t\t\t<td [ngStyle]=\"{ 'text-align': column.type() === 'operations' ? 'center' : column.tAlign() || tAlign() }\">\r\n\t\t\t\t\t\t<ng-template ngFor [ngForOf]=\"[item]\" [ngForTemplate]=\"column.template\"></ng-template>\r\n\t\t\t\t\t</td>\r\n\t\t\t\t}\r\n\t\t\t</tr>\r\n\t\t}\r\n\t</ng-template>\r\n\r\n\t@if (showFooter()) {\r\n\t\t<ng-template pTemplate=\"summary\">\r\n\t\t\t<ng-content select=\"[footer]\"></ng-content>\r\n\t\t</ng-template>\r\n\t}\r\n\r\n\t<ng-template pTemplate=\"emptymessage\">\r\n\t\t<tr>\r\n\t\t\t<td [attr.colspan]=\"columns._results.length\">{{ noDataFoundLabel() }}</td>\r\n\t\t</tr>\r\n\t</ng-template>\r\n</p-table>\r\n", styles: [".justify-content-between{justify-content:initial!important}p-sorticon.p-element{padding-left:7px!important}.flex.justify-content-between.align-items-center{//padding: 4px !important}\n"], dependencies: [{ kind: "component", type: i2.Table, selector: "p-table", inputs: ["frozenColumns", "frozenValue", "style", "styleClass", "tableStyle", "tableStyleClass", "paginator", "pageLinks", "rowsPerPageOptions", "alwaysShowPaginator", "paginatorPosition", "paginatorStyleClass", "paginatorDropdownAppendTo", "paginatorDropdownScrollHeight", "currentPageReportTemplate", "showCurrentPageReport", "showJumpToPageDropdown", "showJumpToPageInput", "showFirstLastIcon", "showPageLinks", "defaultSortOrder", "sortMode", "resetPageOnSort", "selectionMode", "selectionPageOnly", "contextMenuSelection", "contextMenuSelectionMode", "dataKey", "metaKeySelection", "rowSelectable", "rowTrackBy", "lazy", "lazyLoadOnInit", "compareSelectionBy", "csvSeparator", "exportFilename", "filters", "globalFilterFields", "filterDelay", "filterLocale", "expandedRowKeys", "editingRowKeys", "rowExpandMode", "scrollable", "scrollDirection", "rowGroupMode", "scrollHeight", "virtualScroll", "virtualScrollItemSize", "virtualScrollOptions", "virtualScrollDelay", "frozenWidth", "responsive", "contextMenu", "resizableColumns", "columnResizeMode", "reorderableColumns", "loading", "loadingIcon", "showLoader", "rowHover", "customSort", "showInitialSortBadge", "autoLayout", "exportFunction", "exportHeader", "stateKey", "stateStorage", "editMode", "groupRowsBy", "groupRowsByOrder", "responsiveLayout", "breakpoint", "paginatorLocale", "value", "columns", "first", "rows", "totalRecords", "sortField", "sortOrder", "multiSortMeta", "selection", "selectAll", "virtualRowHeight"], outputs: ["contextMenuSelectionChange", "selectAllChange", "selectionChange", "onRowSelect", "onRowUnselect", "onPage", "onSort", "onFilter", "onLazyLoad", "onRowExpand", "onRowCollapse", "onContextMenuSelect", "onColResize", "onColReorder", "onRowReorder", "onEditInit", "onEditComplete", "onEditCancel", "onHeaderCheckboxToggle", "sortFunction", "firstChange", "rowsChange", "onStateSave", "onStateRestore"] }, { kind: "directive", type: i1.PrimeTemplate, selector: "[pTemplate]", inputs: ["type", "pTemplate"] }, { kind: "directive", type: i2.SortableColumn, selector: "[pSortableColumn]", inputs: ["pSortableColumn", "pSortableColumnDisabled"] }, { kind: "directive", type: i2.SelectableRow, selector: "[pSelectableRow]", inputs: ["pSelectableRow", "pSelectableRowIndex", "pSelectableRowDisabled"] }, { kind: "component", type: i2.SortIcon, selector: "p-sortIcon", inputs: ["field"] }, { kind: "component", type: i2.TableCheckbox, selector: "p-tableCheckbox", inputs: ["disabled", "value", "index", "inputId", "name", "required", "ariaLabel"] }, { kind: "directive", type: i3.Tooltip, selector: "[pTooltip]", inputs: ["tooltipPosition", "tooltipEvent", "appendTo", "positionStyle", "tooltipStyleClass", "tooltipZIndex", "escape", "showDelay", "hideDelay", "life", "positionTop", "positionLeft", "autoHide", "fitContent", "hideOnEscape", "pTooltip", "tooltipDisabled", "tooltipOptions"] }, { kind: "directive", type: i4.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i4.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }] }); }
82
82
  }
83
83
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.2", ngImport: i0, type: TableComponent, decorators: [{
84
84
  type: Component,
85
- args: [{ selector: 'aril-table', template: "\r\n<p-table\r\n\t#ref\r\n\t[value]=\"data()\"\r\n\t[columns]=\"columns._results\"\r\n\t[rows]=\"pageSize()\"\r\n\t[rowHover]=\"true\"\r\n\t[paginator]=\"true\"\r\n\t[rowsPerPageOptions]=\"[10, 20, 50, 100]\"\r\n\t[filterDelay]=\"0\"\r\n\tsortMode=\"multiple\"\r\n\t[(selection)]=\"selectedRows\"\r\n\t(onPage)=\"onPageEvent.emit($event)\"\r\n\t(selectionChange)=\"selectionEvent.emit(selectedRows)\"\r\n\t[showCurrentPageReport]=\"true\"\r\n\t[selectionMode]=\"selectionMode()\"\r\n\tcurrentPageReportTemplate=\"Toplam : {totalRecords} kay\u0131t | Sayfa : {currentPage} / {totalPages}\"\r\n\tstyleClass=\"p-datatable-sm\">\r\n\t<!--@if (tableHeader() || showSearchTool() || showExportTool()) {\r\n\t\t<ng-template pTemplate=\"caption\">\r\n\t\t\t<div class=\"flex space-between\">\r\n\t\t\t\t<div style=\"flex: auto\">\r\n\t\t\t\t\t@if (tableHeader().length) {\r\n\t\t\t\t\t\t<div class=\"table-header\">\r\n\t\t\t\t\t\t\t{{ tableHeader() }}\r\n\t\t\t\t\t\t</div>\r\n\t\t\t\t\t}\r\n\t\t\t\t</div>\r\n\t\t\t\t<div style=\"flex: auto\">\r\n\t\t\t\t\t<div class=\"flex justify-content-end align-items-center\">\r\n\t\t\t\t\t\t@if (false) {\r\n\t\t\t\t\t\t\t<aril-text\r\n\t\t\t\t\t\t\t\ticon=\"SEARCH\"\r\n\t\t\t\t\t\t\t\ticonPos=\"left\"\r\n\t\t\t\t\t\t\t\tplaceholder=\"Arama\"\r\n\t\t\t\t\t\t\t\t[ngModel]=\"filterText\"\r\n\t\t\t\t\t\t\t\tclass=\"mr-1\"\r\n\t\t\t\t\t\t\t\t(ngModelChange)=\"ref.filterGlobal($event.target.value, 'contains')\">\r\n\t\t\t\t\t\t\t</aril-text>\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\t@if (false) {\r\n\t\t\t\t\t\t\t<aril-button\r\n\t\t\t\t\t\t\t\tsize=\"sm\"\r\n\t\t\t\t\t\t\t\ticon=\"FILE_EXCEL\"\r\n\t\t\t\t\t\t\t\tcolor=\"primary\"\r\n\t\t\t\t\t\t\t\tpTooltip=\"XLS\"\r\n\t\t\t\t\t\t\t\ttooltipPosition=\"top\"\r\n\t\t\t\t\t\t\t\t(clickEvent)=\"excelExport()\"\r\n\t\t\t\t\t\t\t\tclass=\"mr-1\">\r\n\t\t\t\t\t\t\t</aril-button>\r\n\t\t\t\t\t\t\t<aril-button\r\n\t\t\t\t\t\t\t\tsize=\"sm\"\r\n\t\t\t\t\t\t\t\ticon=\"FILE_PDF\"\r\n\t\t\t\t\t\t\t\tcolor=\"primary\"\r\n\t\t\t\t\t\t\t\tpTooltip=\"PDF\"\r\n\t\t\t\t\t\t\t\ttooltipPosition=\"top\"\r\n\t\t\t\t\t\t\t\t(clickEvent)=\"exportPdf()\">\r\n\t\t\t\t\t\t\t</aril-button>\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\t@if (data() && kebabMenuItems.length > 0 ) {\r\n\t\t\t\t\t\t\t<div tools style=\"padding: 4px;margin-left: 4px;border:1px solid #6366f1;border-radius: 6px;background-color: #6366f1; color: white;\" >\r\n\t\t\t\t\t\t\t\t<i\r\n\t\t\t\t\t\t\t\t\t[attr.role]=\"'none'\"\r\n\t\t\t\t\t\t\t\t\tclass=\"pi mr-1 header-icon pi-ellipsis-v\"\r\n\t\t\t\t\t\t\t\t\t(click)=\"bulkOperations.toggle($event);\"></i>\r\n\t\t\t\t\t\t\t\t<p-menu\r\n\t\t\t\t\t\t\t\t\t#bulkOperations\r\n\t\t\t\t\t\t\t\t\t[popup]=\"true\"\r\n\t\t\t\t\t\t\t\t\t[model]=\"kebabMenuItems\"\r\n\t\t\t\t\t\t\t\t\tstyleClass=\"z-index: 9998899;\"\r\n\t\t\t\t\t\t\t\t\tappendTo=\"body\"></p-menu>\r\n\t\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t</div>\r\n\t\t\t\t\t\r\n\t\t\t\t</div>\r\n\t\t\t</div>\r\n\t\t</ng-template>\r\n\t}-->\r\n\t<ng-template pTemplate=\"header\" let-columns>\r\n\t\t<tr>\r\n\t\t\t@if (checkboxSelection()) {\r\n\t\t\t\t<th>\r\n\t\t\t\t\t<!--<p-tableHeaderCheckbox></p-tableHeaderCheckbox>-->\r\n\t\t\t\t</th>\r\n\t\t\t}\r\n\t\t\t@for (column of columns; track $index) {\r\n\t\t\t\t@if (column.type() === 'operations') {\r\n\t\t\t\t\t<th>\r\n\t\t\t\t\t\t<div class=\"flex justify-content-center\">\u0130\u015Flemler</div>\r\n\t\t\t\t\t</th>\r\n\t\t\t\t} @else {\r\n\t\t\t\t\t<th [pSortableColumn]=\"column.field()\">\r\n\t\t\t\t\t\t<div class=\"flex justify-content-between align-items-center\">\r\n\t\t\t\t\t\t\t{{ column.header() }}\r\n\t\t\t\t\t\t\t<div class=\"flex\">\r\n\t\t\t\t\t\t\t\t@if (column.isShowHeaderTooltip()) {\r\n\t\t\t\t\t\t\t\t\t<i style=\"color: var(--primary-color); padding-top: 4px; padding-left: 4px;\" class=\"pi pi-question-circle\" [pTooltip]=\"column.tooltipTemplate()\" tooltipPosition=\"top\"></i>\r\n\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t<p-sortIcon [field]=\"column.field()\"></p-sortIcon>\r\n\t\t\t\t\t\t\t\t<!--<p-columnFilter\r\n\t\t\t\t\t\t\t\t\tdisplay=\"menu\"\r\n\t\t\t\t\t\t\t\t\t[type]=\"column.type()\"\r\n\t\t\t\t\t\t\t\t\t[field]=\"column.field()\"\r\n\t\t\t\t\t\t\t\t\t[showMatchModes]=\"true\"\r\n\t\t\t\t\t\t\t\t\t[showOperator]=\"false\"\r\n\t\t\t\t\t\t\t\t\t[showAddButton]=\"true\">\r\n\t\t\t\t\t\t\t\t</p-columnFilter>-->\r\n\t\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t\t<!-- custom filter for (date etc.)-->\r\n\t\t\t\t\t\t\t<!-- <p-columnFilter type=\"text\" [field]=\"col.field\" [matchModeOptions]=\"matchModeOptions\" [matchMode]=\"'custom-equals'\"></p-columnFilter> -->\r\n\t\t\t\t\t\t</div>\r\n\t\t\t\t\t</th>\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t</tr>\r\n\t</ng-template>\r\n\t<ng-template pTemplate=\"body\" let-item let-columns=\"columns\">\r\n\t\t@if (selectionMode()) {\r\n\t\t\t<tr [pSelectableRow]=\"item\">\r\n\t\t\t\t@for (column of columns; track $index) {\r\n\t\t\t\t\t<td [ngStyle]=\"{ 'text-align': column.type() === 'operations' ? 'center' : column.tAlign() || tAlign() }\">\r\n\t\t\t\t\t\t<ng-template ngFor [ngForOf]=\"[item]\" [ngForTemplate]=\"column.template\"></ng-template>\r\n\t\t\t\t\t</td>\r\n\t\t\t\t}\r\n\t\t\t</tr>\r\n\t\t} @else {\r\n\t\t\t<tr>\r\n\t\t\t\t@if (checkboxSelection()) {\r\n\t\t\t\t\t<td>\r\n\t\t\t\t\t\t<p-tableCheckbox [value]=\"item\"></p-tableCheckbox>\r\n\t\t\t\t\t</td>\r\n\t\t\t\t}\r\n\r\n\t\t\t\t@for (column of columns; track $index) {\r\n\t\t\t\t\t<td [ngStyle]=\"{ 'text-align': column.type() === 'operations' ? 'center' : column.tAlign() || tAlign() }\">\r\n\t\t\t\t\t\t<ng-template ngFor [ngForOf]=\"[item]\" [ngForTemplate]=\"column.template\"></ng-template>\r\n\t\t\t\t\t</td>\r\n\t\t\t\t}\r\n\t\t\t</tr>\r\n\t\t}\r\n\t</ng-template>\r\n\r\n\t@if (showFooter()) {\r\n\t\t<ng-template pTemplate=\"summary\">\r\n\t\t\t<ng-content select=\"[footer]\"></ng-content>\r\n\t\t</ng-template>\r\n\t}\r\n\r\n\t<ng-template pTemplate=\"emptymessage\">\r\n\t\t<tr>\r\n\t\t\t<td [attr.colspan]=\"columns._results.length\">{{ noDataFoundLabel() }}</td>\r\n\t\t</tr>\r\n\t</ng-template>\r\n</p-table>\r\n" }]
85
+ args: [{ selector: 'aril-table', template: "\r\n<p-table\r\n\t#ref\r\n\t[value]=\"data()\"\r\n\t[columns]=\"columns._results\"\r\n\t[rows]=\"pageSize()\"\r\n\t[rowHover]=\"true\"\r\n\t[paginator]=\"true\"\r\n\t[rowsPerPageOptions]=\"[10, 20, 50, 100]\"\r\n\t[filterDelay]=\"0\"\r\n\tsortMode=\"multiple\"\r\n\t[(selection)]=\"selectedRows\"\r\n\t(onPage)=\"onPageEvent.emit($event)\"\r\n\t(selectionChange)=\"selectionEvent.emit(selectedRows)\"\r\n\t[showCurrentPageReport]=\"true\"\r\n\t[selectionMode]=\"selectionMode()\"\r\n\tcurrentPageReportTemplate=\"Toplam : {totalRecords} kay\u0131t | Sayfa : {currentPage} / {totalPages}\"\r\n\tstyleClass=\"p-datatable-sm\">\r\n\t<!--@if (tableHeader() || showSearchTool() || showExportTool()) {\r\n\t\t<ng-template pTemplate=\"caption\">\r\n\t\t\t<div class=\"flex space-between\">\r\n\t\t\t\t<div style=\"flex: auto\">\r\n\t\t\t\t\t@if (tableHeader().length) {\r\n\t\t\t\t\t\t<div class=\"table-header\">\r\n\t\t\t\t\t\t\t{{ tableHeader() }}\r\n\t\t\t\t\t\t</div>\r\n\t\t\t\t\t}\r\n\t\t\t\t</div>\r\n\t\t\t\t<div style=\"flex: auto\">\r\n\t\t\t\t\t<div class=\"flex justify-content-end align-items-center\">\r\n\t\t\t\t\t\t@if (false) {\r\n\t\t\t\t\t\t\t<aril-text\r\n\t\t\t\t\t\t\t\ticon=\"SEARCH\"\r\n\t\t\t\t\t\t\t\ticonPos=\"left\"\r\n\t\t\t\t\t\t\t\tplaceholder=\"Arama\"\r\n\t\t\t\t\t\t\t\t[ngModel]=\"filterText\"\r\n\t\t\t\t\t\t\t\tclass=\"mr-1\"\r\n\t\t\t\t\t\t\t\t(ngModelChange)=\"ref.filterGlobal($event.target.value, 'contains')\">\r\n\t\t\t\t\t\t\t</aril-text>\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\t@if (false) {\r\n\t\t\t\t\t\t\t<aril-button\r\n\t\t\t\t\t\t\t\tsize=\"sm\"\r\n\t\t\t\t\t\t\t\ticon=\"FILE_EXCEL\"\r\n\t\t\t\t\t\t\t\tcolor=\"primary\"\r\n\t\t\t\t\t\t\t\tpTooltip=\"XLS\"\r\n\t\t\t\t\t\t\t\ttooltipPosition=\"top\"\r\n\t\t\t\t\t\t\t\t(clickEvent)=\"excelExport()\"\r\n\t\t\t\t\t\t\t\tclass=\"mr-1\">\r\n\t\t\t\t\t\t\t</aril-button>\r\n\t\t\t\t\t\t\t<aril-button\r\n\t\t\t\t\t\t\t\tsize=\"sm\"\r\n\t\t\t\t\t\t\t\ticon=\"FILE_PDF\"\r\n\t\t\t\t\t\t\t\tcolor=\"primary\"\r\n\t\t\t\t\t\t\t\tpTooltip=\"PDF\"\r\n\t\t\t\t\t\t\t\ttooltipPosition=\"top\"\r\n\t\t\t\t\t\t\t\t(clickEvent)=\"exportPdf()\">\r\n\t\t\t\t\t\t\t</aril-button>\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\t@if (data() && kebabMenuItems.length > 0 ) {\r\n\t\t\t\t\t\t\t<div tools style=\"padding: 4px;margin-left: 4px;border:1px solid #6366f1;border-radius: 6px;background-color: #6366f1; color: white;\" >\r\n\t\t\t\t\t\t\t\t<i\r\n\t\t\t\t\t\t\t\t\t[attr.role]=\"'none'\"\r\n\t\t\t\t\t\t\t\t\tclass=\"pi mr-1 header-icon pi-ellipsis-v\"\r\n\t\t\t\t\t\t\t\t\t(click)=\"bulkOperations.toggle($event);\"></i>\r\n\t\t\t\t\t\t\t\t<p-menu\r\n\t\t\t\t\t\t\t\t\t#bulkOperations\r\n\t\t\t\t\t\t\t\t\t[popup]=\"true\"\r\n\t\t\t\t\t\t\t\t\t[model]=\"kebabMenuItems\"\r\n\t\t\t\t\t\t\t\t\tstyleClass=\"z-index: 9998899;\"\r\n\t\t\t\t\t\t\t\t\tappendTo=\"body\"></p-menu>\r\n\t\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t</div>\r\n\t\t\t\t\t\r\n\t\t\t\t</div>\r\n\t\t\t</div>\r\n\t\t</ng-template>\r\n\t}-->\r\n\t<ng-template pTemplate=\"header\" let-columns>\r\n\t\t<tr>\r\n\t\t\t@if (checkboxSelection()) {\r\n\t\t\t\t<th>\r\n\t\t\t\t\t<!--<p-tableHeaderCheckbox></p-tableHeaderCheckbox>-->\r\n\t\t\t\t</th>\r\n\t\t\t}\r\n\t\t\t@for (column of columns; track $index) {\r\n\t\t\t\t@if (column.type() === 'operations') {\r\n\t\t\t\t\t<th>\r\n\t\t\t\t\t\t<div class=\"flex justify-content-center\">\u0130\u015Flemler</div>\r\n\t\t\t\t\t</th>\r\n\t\t\t\t} @else {\r\n\t\t\t\t\t<th [pSortableColumn]=\"column.field()\">\r\n\t\t\t\t\t\t<div class=\"flex justify-content-between align-items-center\">\r\n\t\t\t\t\t\t\t{{ column.header() }}\r\n\t\t\t\t\t\t\t<div class=\"flex\">\r\n\t\t\t\t\t\t\t\t@if (column.isShowHeaderTooltip()) {\r\n\t\t\t\t\t\t\t\t\t<i style=\"color: var(--primary-color); padding-top: 4px; padding-left: 4px;\" class=\"pi pi-question-circle\" [pTooltip]=\"column.tooltipTemplate()\" tooltipPosition=\"top\"></i>\r\n\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t<p-sortIcon [field]=\"column.field()\"></p-sortIcon>\r\n\t\t\t\t\t\t\t\t<!--<p-columnFilter\r\n\t\t\t\t\t\t\t\t\tdisplay=\"menu\"\r\n\t\t\t\t\t\t\t\t\t[type]=\"column.type()\"\r\n\t\t\t\t\t\t\t\t\t[field]=\"column.field()\"\r\n\t\t\t\t\t\t\t\t\t[showMatchModes]=\"true\"\r\n\t\t\t\t\t\t\t\t\t[showOperator]=\"false\"\r\n\t\t\t\t\t\t\t\t\t[showAddButton]=\"true\">\r\n\t\t\t\t\t\t\t\t</p-columnFilter>-->\r\n\t\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t\t<!-- custom filter for (date etc.)-->\r\n\t\t\t\t\t\t\t<!-- <p-columnFilter type=\"text\" [field]=\"col.field\" [matchModeOptions]=\"matchModeOptions\" [matchMode]=\"'custom-equals'\"></p-columnFilter> -->\r\n\t\t\t\t\t\t</div>\r\n\t\t\t\t\t</th>\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t</tr>\r\n\t</ng-template>\r\n\t<ng-template pTemplate=\"body\" let-item let-columns=\"columns\">\r\n\t\t@if (selectionMode()) {\r\n\t\t\t<tr [pSelectableRow]=\"item\">\r\n\t\t\t\t@for (column of columns; track $index) {\r\n\t\t\t\t\t<td [ngStyle]=\"{ 'text-align': column.type() === 'operations' ? 'center' : column.tAlign() || tAlign() }\">\r\n\t\t\t\t\t\t<ng-template ngFor [ngForOf]=\"[item]\" [ngForTemplate]=\"column.template\"></ng-template>\r\n\t\t\t\t\t</td>\r\n\t\t\t\t}\r\n\t\t\t</tr>\r\n\t\t} @else {\r\n\t\t\t<tr>\r\n\t\t\t\t@if (checkboxSelection()) {\r\n\t\t\t\t\t<td>\r\n\t\t\t\t\t\t<p-tableCheckbox [value]=\"item\"></p-tableCheckbox>\r\n\t\t\t\t\t</td>\r\n\t\t\t\t}\r\n\r\n\t\t\t\t@for (column of columns; track $index) {\r\n\t\t\t\t\t<td [ngStyle]=\"{ 'text-align': column.type() === 'operations' ? 'center' : column.tAlign() || tAlign() }\">\r\n\t\t\t\t\t\t<ng-template ngFor [ngForOf]=\"[item]\" [ngForTemplate]=\"column.template\"></ng-template>\r\n\t\t\t\t\t</td>\r\n\t\t\t\t}\r\n\t\t\t</tr>\r\n\t\t}\r\n\t</ng-template>\r\n\r\n\t@if (showFooter()) {\r\n\t\t<ng-template pTemplate=\"summary\">\r\n\t\t\t<ng-content select=\"[footer]\"></ng-content>\r\n\t\t</ng-template>\r\n\t}\r\n\r\n\t<ng-template pTemplate=\"emptymessage\">\r\n\t\t<tr>\r\n\t\t\t<td [attr.colspan]=\"columns._results.length\">{{ noDataFoundLabel() }}</td>\r\n\t\t</tr>\r\n\t</ng-template>\r\n</p-table>\r\n", styles: [".justify-content-between{justify-content:initial!important}p-sorticon.p-element{padding-left:7px!important}.flex.justify-content-between.align-items-center{//padding: 4px !important}\n"] }]
86
86
  }], ctorParameters: () => [{ type: i1.PrimeNGConfig }, { type: i0.ChangeDetectorRef }], propDecorators: { onPageEvent: [{
87
87
  type: Output
88
88
  }], selectionEvent: [{
@@ -93,4 +93,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.2", ngImpor
93
93
  }], kebabMenuItems: [{
94
94
  type: Input
95
95
  }] } });
96
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFibGUuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYXJpbC91aS90YWJsZS9zcmMvdGFibGUuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYXJpbC91aS90YWJsZS9zcmMvdGFibGUuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUdOLFNBQVMsRUFDVCxlQUFlLEVBQ2YsWUFBWSxFQUNaLEtBQUssRUFDTCxNQUFNLEVBQ04sTUFBTSxFQUNOLEtBQUssRUFDTCxNQUFNLGVBQWUsQ0FBQztBQUl2QixPQUFPLEtBQUssU0FBUyxNQUFNLFlBQVksQ0FBQztBQUN4QyxPQUFPLEtBQUssTUFBTSxPQUFPLENBQUM7QUFDMUIsT0FBTyxTQUFTLE1BQU0saUJBQWlCLENBQUM7QUFFeEMsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLFdBQVcsQ0FBQztBQUV2QyxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sUUFBUSxDQUFDO0FBQ3JDLE9BQU8sRUFBYyxvQkFBb0IsRUFBZ0IsTUFBTSwwQkFBMEIsQ0FBQzs7Ozs7O0FBRTFGOzs7OztHQUtHO0FBQ0gsTUFBTSxXQUFXLEdBQUcsQ0FBQyxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxHQUFHLENBQVUsQ0FBQztBQWMvQyxNQUFNLE9BQU8sY0FBYztJQXlCMUIsWUFDUyxhQUE0QixFQUM1QixHQUFzQjtRQUR0QixrQkFBYSxHQUFiLGFBQWEsQ0FBZTtRQUM1QixRQUFHLEdBQUgsR0FBRyxDQUFtQjtRQTFCckIsZ0JBQVcsR0FBc0IsSUFBSSxZQUFZLEVBQU8sQ0FBQztRQUN6RCxtQkFBYyxHQUFzQixJQUFJLFlBQVksRUFBTyxDQUFDO1FBRTdELG1CQUFjLEdBQWUsRUFBRSxDQUFDO1FBRXpDLFNBQUksR0FBRyxLQUFLLENBQUMsUUFBUSxFQUFTLENBQUM7UUFDL0Isc0JBQWlC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SUFBSSxFQUFFLFVBQVU7U0FDaEIsQ0FBQyxDQUFDO1FBQ0gsU0FBUyxDQUFDLE1BQU0sQ0FBQyxJQUFJLEVBQUUsUUFBUSxHQUFHLFVBQVUsR0FBRyxJQUFJLElBQUksRUFBRSxDQUFDLE9BQU8sRUFBRSxHQUFHLGVBQWUsQ0FBQyxDQUFDO0lBQ3hGLENBQUM7SUFFRCxLQUFLLENBQUMsU0FBUztRQUNkLE1BQU0sR0FBRyxHQUFHLElBQUksS0FBSyxDQUFDLFVBQVUsRUFBRSxJQUFJLEVBQUUsSUFBSSxDQUFDLENBQUM7UUFDOUMsU0FBUyxDQUFDLEdBQUcsRUFBRTtZQUNkLE9BQU8sRUFBRSxJQUFJLENBQUMsYUFBYTtZQUMzQixJQUFJLEVBQUUsSUFBSSxDQUFDLElBQUksRUFBRTtTQUNqQixDQUFDLENBQUM7UUFDSCxHQUFHLENBQUMsSUFBSSxDQUFDLEdBQUcsSUFBSSxDQUFDLGNBQWMsV0FBVyxJQUFJLElBQUksRUFBRSxDQUFDLE9BQU8sRUFBRSxNQUFNLENBQUMsQ0FBQztJQUN2RSxDQUFDOzhHQXhFVyxjQUFjO2tHQUFkLGNBQWMsaXVFQUdULG9CQUFvQiw2QkM5Q3RDLDg2TEEySkE7OzJGRGhIYSxjQUFjO2tCQUoxQixTQUFTOytCQUNDLFlBQVk7a0hBSVosV0FBVztzQkFBcEIsTUFBTTtnQkFDRyxjQUFjO3NCQUF2QixNQUFNO2dCQUNnQyxPQUFPO3NCQUE3QyxlQUFlO3VCQUFDLG9CQUFvQjtnQkFDNUIsY0FBYztzQkFBdEIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XHJcblx0QWZ0ZXJWaWV3SW5pdCxcclxuXHRDaGFuZ2VEZXRlY3RvclJlZixcclxuXHRDb21wb25lbnQsXHJcblx0Q29udGVudENoaWxkcmVuLFxyXG5cdEV2ZW50RW1pdHRlcixcclxuXHRJbnB1dCxcclxuXHRPdXRwdXQsXHJcblx0ZWZmZWN0LFxyXG5cdGlucHV0XHJcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcblxyXG5pbXBvcnQgeyBNZW51SXRlbSwgUHJpbWVOR0NvbmZpZyB9IGZyb20gJ3ByaW1lbmcvYXBpJztcclxuXHJcbmltcG9ydCAqIGFzIEZpbGVTYXZlciBmcm9tICdmaWxlLXNhdmVyJztcclxuaW1wb3J0IGpzUERGIGZyb20gJ2pzcGRmJztcclxuaW1wb3J0IGF1dG9UYWJsZSBmcm9tICdqc3BkZi1hdXRvdGFibGUnO1xyXG5cclxuaW1wb3J0IHsgUHJveHlUeXBlcyB9IGZyb20gJ2FyaWwvaHR0cCc7XHJcblxyXG5pbXBvcnQgeyB0cmFubGF0aW9ucyB9IGZyb20gJy4vaTE4bic7XHJcbmltcG9ydCB7IEFsaWduVHlwZXMsIFRhYmxlQ29sdW1uQ29tcG9uZW50LCBUYWJsZUNvbHVtbnMgfSBmcm9tICcuL3RhYmxlLWNvbHVtbi5jb21wb25lbnQnO1xyXG5cclxuLyogVE9ETyA6XHJcbiAqIHNlcnZlci1zaWRlLXByb3h5IChQcm94eVR5cGVzLlNlcnZlclNpZGUpXHJcbiAqIHNlYXJjaCAmIGNvbHVtIGZpbHRlciAmIHNvcnRcclxuICogcGFnaW5hdGlvbiBvcGVyYXRpb25cclxuICogUXVlcnkgU2lnbmFsc1xyXG4gKi9cclxuY29uc3QgcGFnZU9wdGlvbnMgPSBbMTAsIDIwLCA1MCwgMTAwXSBhcyBjb25zdDtcclxuXHJcbnR5cGUgU2VsZWN0aW9uVHlwZXMgPSAnc2luZ2xlJyB8ICdtdWx0aXBsZSc7XHJcblxyXG5pbnRlcmZhY2UgSUtlYmFiTWVudUl0ZW0ge1xyXG5cdGljb246IHN0cmluZztcclxuXHRsYWJlbDogc3RyaW5nO1xyXG5cdG9uQ2xpY2s6IChldmVudDogTW91c2VFdmVudCkgPT4gdm9pZDtcclxufVxyXG5cclxuQENvbXBvbmVudCh7XHJcblx0c2VsZWN0b3I6ICdhcmlsLXRhYmxlJyxcclxuXHR0ZW1wbGF0ZVVybDogJy4vdGFibGUuY29tcG9uZW50Lmh0bWwnXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBUYWJsZUNvbXBvbmVudCBpbXBsZW1lbnRzIEFmdGVyVmlld0luaXQge1xyXG5cdEBPdXRwdXQoKSBvblBhZ2VFdmVudDogRXZlbnRFbWl0dGVyPGFueT4gPSBuZXcgRXZlbnRFbWl0dGVyPGFueT4oKTtcclxuXHRAT3V0cHV0KCkgc2VsZWN0aW9uRXZlbnQ6IEV2ZW50RW1pdHRlcjxhbnk+ID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KCk7XHJcblx0QENvbnRlbnRDaGlsZHJlbihUYWJsZUNvbHVtbkNvbXBvbmVudCkgY29sdW1ucyE6IFRhYmxlQ29sdW1ucztcclxuXHRASW5wdXQoKSBrZWJhYk1lbnVJdGVtcyA6TWVudUl0ZW1bXSA9IFtdO1xyXG5cclxuXHRkYXRhID0gaW5wdXQucmVxdWlyZWQ8YW55W10+KCk7XHJcblx0Y2hlY2tib3hTZWxlY3Rpb24gPSBpbnB1dDxib29sZWFuPigpO1xyXG5cdHBhZ2VTaXplID0gaW5wdXQ8KHR5cGVvZiBwYWdlT3B0aW9ucylbbnVtYmVyXT4oMTApO1xyXG5cdHByb3h5ID0gaW5wdXQ8UHJveHlUeXBlcz4oUHJveHlUeXBlcy5OYXRpdmUpO1xyXG5cdHNob3dGb290ZXIgPSBpbnB1dDxib29sZWFuPihmYWxzZSk7XHJcblx0dEFsaWduID0gaW5wdXQ8QWxpZ25UeXBlcz4oJ2xlZnQnKTtcclxuXHRzZWxlY3Rpb25Nb2RlID0gaW5wdXQ8U2VsZWN0aW9uVHlwZXM+KCk7XHJcblx0c2hvd1NlYXJjaFRvb2wgPSBpbnB1dDxib29sZWFuPih0cnVlKTtcclxuXHRzaG93RXhwb3J0VG9vbCA9IGlucHV0PGJvb2xlYW4+KHRydWUpO1xyXG5cdGV4cG9ydEZpbGVOYW1lID0gaW5wdXQ8c3RyaW5nPignJyk7XHJcblx0bm9EYXRhRm91bmRMYWJlbCA9IGlucHV0PHN0cmluZz4oJ05vIERhdGEgRm91bmQnKTtcclxuXHR0YWJsZUhlYWRlciA9IGlucHV0PHN0cmluZz4oJycpO1xyXG5cdHNob3dUYWJsZUhlYWRlciA9IGlucHV0PGJvb2xlYW4+KGZhbHNlKTtcclxuXHRpc0ZpcnN0Um93U2VsZWN0ZWQgPSBpbnB1dDxib29sZWFuPihmYWxzZSk7XHJcblx0ZmlsdGVyVGV4dCE6IHN0cmluZztcclxuXHRzZWxlY3RlZFJvd3M6IGFueTtcclxuXHRwYWdlT3B0aW9ucyA9IHBhZ2VPcHRpb25zO1xyXG5cdGV4cG9ydENvbHVtbnM6IEFycmF5PHsgdGl0bGU6IHN0cmluZzsgZGF0YUtleTogc3RyaW5nIH0+ID0gW107XHJcblxyXG5cdGNvbnN0cnVjdG9yKFxyXG5cdFx0cHJpdmF0ZSBwcmltZW5nQ29uZmlnOiBQcmltZU5HQ29uZmlnLFxyXG5cdFx0cHJpdmF0ZSBjZHI6IENoYW5nZURldGVjdG9yUmVmXHJcblx0KSB7XHJcblx0XHR0aGlzLnByaW1lbmdDb25maWcuc2V0VHJhbnNsYXRpb24odHJhbmxhdGlvbnMpO1xyXG5cclxuXHRcdGVmZmVjdCgoKSA9PiB7XHJcblx0XHRcdGlmICh0aGlzLmlzRmlyc3RSb3dTZWxlY3RlZCgpICYmIHRoaXMuZGF0YSgpKSB7XHJcblx0XHRcdFx0dGhpcy5zZWxlY3RlZFJvd3MgPSB0aGlzLmRhdGEoKVswXTtcclxuXHRcdFx0XHR0aGlzLnNlbGVjdGlvbkV2ZW50LmVtaXQodGhpcy5zZWxlY3RlZFJvd3MpO1xyXG5cdFx0XHR9XHJcblx0XHR9KTtcclxuXHJcblx0fVxyXG5cclxuXHJcblx0bmdBZnRlclZpZXdJbml0KCk6IHZvaWQge1xyXG5cdFx0aWYgKHRoaXMuY29sdW1ucykge1xyXG5cdFx0XHR0aGlzLmV4cG9ydENvbHVtbnMgPSB0aGlzLmNvbHVtbnMuX3Jlc3VsdHMubWFwKChjb2wpID0+ICh7IHRpdGxlOiBjb2wuaGVhZGVyLCBkYXRhS2V5OiBjb2wuZmllbGQgfSkpO1xyXG5cdFx0fVxyXG5cdH1cclxuXHJcblx0ZXhjZWxFeHBvcnQoKSB7XHJcblx0XHRpbXBvcnQoJ3hsc3gnKS50aGVuKCh4bHN4KSA9PiB7XHJcblx0XHRcdGNvbnN0IHdvcmtzaGVldCA9IHhsc3gudXRpbHMuanNvbl90b19zaGVldCh0aGlzLmRhdGEoKSk7XHJcblx0XHRcdGNvbnN0IHdvcmtib29rID0geyBTaGVldHM6IHsgZGF0YTogd29ya3NoZWV0IH0sIFNoZWV0TmFtZXM6IFsnZGF0YSddIH07XHJcblx0XHRcdGNvbnN0IGV4Y2VsQnVmZmVyOiBhbnkgPSB4bHN4LndyaXRlKHdvcmtib29rLCB7IGJvb2tUeXBlOiAneGxzeCcsIHR5cGU6ICdhcnJheScgfSk7XHJcblx0XHRcdHRoaXMuc2F2ZUFzRXhjZWxGaWxlKGV4Y2VsQnVmZmVyLCAhdGhpcy5leHBvcnRGaWxlTmFtZSA/IHRoaXMuZXhwb3J0RmlsZU5hbWUgOiAnZXhjZWxfd29ya3NoZWV0Jyk7XHJcblx0XHR9KTtcclxuXHR9XHJcblxyXG5cdHNhdmVBc0V4Y2VsRmlsZShidWZmZXI6IGFueSwgZmlsZU5hbWU6IHN0cmluZyk6IHZvaWQge1xyXG5cdFx0Y29uc3QgRVhDRUxfVFlQRSA9ICdhcHBsaWNhdGlvbi92bmQub3BlbnhtbGZvcm1hdHMtb2ZmaWNlZG9jdW1lbnQuc3ByZWFkc2hlZXRtbC5zaGVldDtjaGFyc2V0PVVURi04JztcclxuXHRcdGNvbnN0IEVYQ0VMX0VYVEVOU0lPTiA9ICcueGxzeCc7XHJcblx0XHRjb25zdCBkYXRhOiBCbG9iID0gbmV3IEJsb2IoW2J1ZmZlcl0sIHtcclxuXHRcdFx0dHlwZTogRVhDRUxfVFlQRVxyXG5cdFx0fSk7XHJcblx0XHRGaWxlU2F2ZXIuc2F2ZUFzKGRhdGEsIGZpbGVOYW1lICsgJ19leHBvcnRfJyArIG5ldyBEYXRlKCkuZ2V0VGltZSgpICsgRVhDRUxfRVhURU5TSU9OKTtcclxuXHR9XHJcblxyXG5cdGFzeW5jIGV4cG9ydFBkZigpIHtcclxuXHRcdGNvbnN0IGRvYyA9IG5ldyBqc1BERigncG9ydHJhaXQnLCAncHgnLCAnYTQnKTtcclxuXHRcdGF1dG9UYWJsZShkb2MsIHtcclxuXHRcdFx0Y29sdW1uczogdGhpcy5leHBvcnRDb2x1bW5zLFxyXG5cdFx0XHRib2R5OiB0aGlzLmRhdGEoKVxyXG5cdFx0fSk7XHJcblx0XHRkb2Muc2F2ZShgJHt0aGlzLmV4cG9ydEZpbGVOYW1lfV9leHBvcnRfJHtuZXcgRGF0ZSgpLmdldFRpbWUoKX0ucGRmYCk7XHJcblx0fVxyXG5cclxuXHJcbn1cclxuIiwiXHJcbjxwLXRhYmxlXHJcblx0I3JlZlxyXG5cdFt2YWx1ZV09XCJkYXRhKClcIlxyXG5cdFtjb2x1bW5zXT1cImNvbHVtbnMuX3Jlc3VsdHNcIlxyXG5cdFtyb3dzXT1cInBhZ2VTaXplKClcIlxyXG5cdFtyb3dIb3Zlcl09XCJ0cnVlXCJcclxuXHRbcGFnaW5hdG9yXT1cInRydWVcIlxyXG5cdFtyb3dzUGVyUGFnZU9wdGlvbnNdPVwiWzEwLCAyMCwgNTAsIDEwMF1cIlxyXG5cdFtmaWx0ZXJEZWxheV09XCIwXCJcclxuXHRzb3J0TW9kZT1cIm11bHRpcGxlXCJcclxuXHRbKHNlbGVjdGlvbildPVwic2VsZWN0ZWRSb3dzXCJcclxuXHQob25QYWdlKT1cIm9uUGFnZUV2ZW50LmVtaXQoJGV2ZW50KVwiXHJcblx0KHNlbGVjdGlvbkNoYW5nZSk9XCJzZWxlY3Rpb25FdmVudC5lbWl0KHNlbGVjdGVkUm93cylcIlxyXG5cdFtzaG93Q3VycmVudFBhZ2VSZXBvcnRdPVwidHJ1ZVwiXHJcblx0W3NlbGVjdGlvbk1vZGVdPVwic2VsZWN0aW9uTW9kZSgpXCJcclxuXHRjdXJyZW50UGFnZVJlcG9ydFRlbXBsYXRlPVwiVG9wbGFtIDoge3RvdGFsUmVjb3Jkc30ga2F5xLF0IHwgU2F5ZmEgOiB7Y3VycmVudFBhZ2V9IC8ge3RvdGFsUGFnZXN9XCJcclxuXHRzdHlsZUNsYXNzPVwicC1kYXRhdGFibGUtc21cIj5cclxuXHQ8IS0tQGlmICh0YWJsZUhlYWRlcigpIHx8IHNob3dTZWFyY2hUb29sKCkgfHwgc2hvd0V4cG9ydFRvb2woKSkge1xyXG5cdFx0PG5nLXRlbXBsYXRlIHBUZW1wbGF0ZT1cImNhcHRpb25cIj5cclxuXHRcdFx0PGRpdiBjbGFzcz1cImZsZXggc3BhY2UtYmV0d2VlblwiPlxyXG5cdFx0XHRcdDxkaXYgc3R5bGU9XCJmbGV4OiBhdXRvXCI+XHJcblx0XHRcdFx0XHRAaWYgKHRhYmxlSGVhZGVyKCkubGVuZ3RoKSB7XHJcblx0XHRcdFx0XHRcdDxkaXYgY2xhc3M9XCJ0YWJsZS1oZWFkZXJcIj5cclxuXHRcdFx0XHRcdFx0XHR7eyB0YWJsZUhlYWRlcigpIH19XHJcblx0XHRcdFx0XHRcdDwvZGl2PlxyXG5cdFx0XHRcdFx0fVxyXG5cdFx0XHRcdDwvZGl2PlxyXG5cdFx0XHRcdDxkaXYgc3R5bGU9XCJmbGV4OiBhdXRvXCI+XHJcblx0XHRcdFx0XHQ8ZGl2IGNsYXNzPVwiZmxleCBqdXN0aWZ5LWNvbnRlbnQtZW5kIGFsaWduLWl0ZW1zLWNlbnRlclwiPlxyXG5cdFx0XHRcdFx0XHRAaWYgKGZhbHNlKSB7XHJcblx0XHRcdFx0XHRcdFx0PGFyaWwtdGV4dFxyXG5cdFx0XHRcdFx0XHRcdFx0aWNvbj1cIlNFQVJDSFwiXHJcblx0XHRcdFx0XHRcdFx0XHRpY29uUG9zPVwibGVmdFwiXHJcblx0XHRcdFx0XHRcdFx0XHRwbGFjZWhvbGRlcj1cIkFyYW1hXCJcclxuXHRcdFx0XHRcdFx0XHRcdFtuZ01vZGVsXT1cImZpbHRlclRleHRcIlxyXG5cdFx0XHRcdFx0XHRcdFx0Y2xhc3M9XCJtci0xXCJcclxuXHRcdFx0XHRcdFx0XHRcdChuZ01vZGVsQ2hhbmdlKT1cInJlZi5maWx0ZXJHbG9iYWwoJGV2ZW50LnRhcmdldC52YWx1ZSwgJ2NvbnRhaW5zJylcIj5cclxuXHRcdFx0XHRcdFx0XHQ8L2FyaWwtdGV4dD5cclxuXHRcdFx0XHRcdFx0fVxyXG5cdFx0XHRcdFx0XHRAaWYgKGZhbHNlKSB7XHJcblx0XHRcdFx0XHRcdFx0PGFyaWwtYnV0dG9uXHJcblx0XHRcdFx0XHRcdFx0XHRzaXplPVwic21cIlxyXG5cdFx0XHRcdFx0XHRcdFx0aWNvbj1cIkZJTEVfRVhDRUxcIlxyXG5cdFx0XHRcdFx0XHRcdFx0Y29sb3I9XCJwcmltYXJ5XCJcclxuXHRcdFx0XHRcdFx0XHRcdHBUb29sdGlwPVwiWExTXCJcclxuXHRcdFx0XHRcdFx0XHRcdHRvb2x0aXBQb3NpdGlvbj1cInRvcFwiXHJcblx0XHRcdFx0XHRcdFx0XHQoY2xpY2tFdmVudCk9XCJleGNlbEV4cG9ydCgpXCJcclxuXHRcdFx0XHRcdFx0XHRcdGNsYXNzPVwibXItMVwiPlxyXG5cdFx0XHRcdFx0XHRcdDwvYXJpbC1idXR0b24+XHJcblx0XHRcdFx0XHRcdFx0PGFyaWwtYnV0dG9uXHJcblx0XHRcdFx0XHRcdFx0XHRzaXplPVwic21cIlxyXG5cdFx0XHRcdFx0XHRcdFx0aWNvbj1cIkZJTEVfUERGXCJcclxuXHRcdFx0XHRcdFx0XHRcdGNvbG9yPVwicHJpbWFyeVwiXHJcblx0XHRcdFx0XHRcdFx0XHRwVG9vbHRpcD1cIlBERlwiXHJcblx0XHRcdFx0XHRcdFx0XHR0b29sdGlwUG9zaXRpb249XCJ0b3BcIlxyXG5cdFx0XHRcdFx0XHRcdFx0KGNsaWNrRXZlbnQpPVwiZXhwb3J0UGRmKClcIj5cclxuXHRcdFx0XHRcdFx0XHQ8L2FyaWwtYnV0dG9uPlxyXG5cdFx0XHRcdFx0XHR9XHJcblx0XHRcdFx0XHRcdEBpZiAoZGF0YSgpICYmIGtlYmFiTWVudUl0ZW1zLmxlbmd0aCA+IDAgKSB7XHJcblx0XHRcdFx0XHRcdFx0PGRpdiB0b29scyBzdHlsZT1cInBhZGRpbmc6IDRweDttYXJnaW4tbGVmdDogNHB4O2JvcmRlcjoxcHggc29saWQgIzYzNjZmMTtib3JkZXItcmFkaXVzOiA2cHg7YmFja2dyb3VuZC1jb2xvcjogIzYzNjZmMTsgY29sb3I6IHdoaXRlO1wiID5cclxuXHRcdFx0XHRcdFx0XHRcdDxpXHJcblx0XHRcdFx0XHRcdFx0XHRcdFthdHRyLnJvbGVdPVwiJ25vbmUnXCJcclxuXHRcdFx0XHRcdFx0XHRcdFx0Y2xhc3M9XCJwaSBtci0xIGhlYWRlci1pY29uIHBpLWVsbGlwc2lzLXZcIlxyXG5cdFx0XHRcdFx0XHRcdFx0XHQoY2xpY2spPVwiYnVsa09wZXJhdGlvbnMudG9nZ2xlKCRldmVudCk7XCI+PC9pPlxyXG5cdFx0XHRcdFx0XHRcdFx0PHAtbWVudVxyXG5cdFx0XHRcdFx0XHRcdFx0XHQjYnVsa09wZXJhdGlvbnNcclxuXHRcdFx0XHRcdFx0XHRcdFx0W3BvcHVwXT1cInRydWVcIlxyXG5cdFx0XHRcdFx0XHRcdFx0XHRbbW9kZWxdPVwia2ViYWJNZW51SXRlbXNcIlxyXG5cdFx0XHRcdFx0XHRcdFx0XHRzdHlsZUNsYXNzPVwiei1pbmRleDogOTk5ODg5OTtcIlxyXG5cdFx0XHRcdFx0XHRcdFx0XHRhcHBlbmRUbz1cImJvZHlcIj48L3AtbWVudT5cclxuXHRcdFx0XHRcdFx0XHQ8L2Rpdj5cclxuXHRcdFx0XHRcdFx0fVxyXG5cdFx0XHRcdFx0PC9kaXY+XHJcblx0XHRcdFx0XHRcclxuXHRcdFx0XHQ8L2Rpdj5cclxuXHRcdFx0PC9kaXY+XHJcblx0XHQ8L25nLXRlbXBsYXRlPlxyXG5cdH0tLT5cclxuXHQ8bmctdGVtcGxhdGUgcFRlbXBsYXRlPVwiaGVhZGVyXCIgbGV0LWNvbHVtbnM+XHJcblx0XHQ8dHI+XHJcblx0XHRcdEBpZiAoY2hlY2tib3hTZWxlY3Rpb24oKSkge1xyXG5cdFx0XHRcdDx0aD5cclxuXHRcdFx0XHRcdDwhLS08cC10YWJsZUhlYWRlckNoZWNrYm94PjwvcC10YWJsZUhlYWRlckNoZWNrYm94Pi0tPlxyXG5cdFx0XHRcdDwvdGg+XHJcblx0XHRcdH1cclxuXHRcdFx0QGZvciAoY29sdW1uIG9mIGNvbHVtbnM7IHRyYWNrICRpbmRleCkge1xyXG5cdFx0XHRcdEBpZiAoY29sdW1uLnR5cGUoKSA9PT0gJ29wZXJhdGlvbnMnKSB7XHJcblx0XHRcdFx0XHQ8dGg+XHJcblx0XHRcdFx0XHRcdDxkaXYgY2xhc3M9XCJmbGV4IGp1c3RpZnktY29udGVudC1jZW50ZXJcIj7EsMWfbGVtbGVyPC9kaXY+XHJcblx0XHRcdFx0XHQ8L3RoPlxyXG5cdFx0XHRcdH0gQGVsc2Uge1xyXG5cdFx0XHRcdFx0PHRoIFtwU29ydGFibGVDb2x1bW5dPVwiY29sdW1uLmZpZWxkKClcIj5cclxuXHRcdFx0XHRcdFx0PGRpdiBjbGFzcz1cImZsZXgganVzdGlmeS1jb250ZW50LWJldHdlZW4gYWxpZ24taXRlbXMtY2VudGVyXCI+XHJcblx0XHRcdFx0XHRcdFx0e3sgY29sdW1uLmhlYWRlcigpIH19XHJcblx0XHRcdFx0XHRcdFx0PGRpdiBjbGFzcz1cImZsZXhcIj5cclxuXHRcdFx0XHRcdFx0XHRcdEBpZiAoY29sdW1uLmlzU2hvd0hlYWRlclRvb2x0aXAoKSkge1xyXG5cdFx0XHRcdFx0XHRcdFx0XHQ8aSBzdHlsZT1cImNvbG9yOiB2YXIoLS1wcmltYXJ5LWNvbG9yKTsgcGFkZGluZy10b3A6IDRweDsgcGFkZGluZy1sZWZ0OiA0cHg7XCIgY2xhc3M9XCJwaSBwaS1xdWVzdGlvbi1jaXJjbGVcIiBbcFRvb2x0aXBdPVwiY29sdW1uLnRvb2x0aXBUZW1wbGF0ZSgpXCIgdG9vbHRpcFBvc2l0aW9uPVwidG9wXCI+PC9pPlxyXG5cdFx0XHRcdFx0XHRcdFx0fVxyXG5cdFx0XHRcdFx0XHRcdFx0PHAtc29ydEljb24gW2ZpZWxkXT1cImNvbHVtbi5maWVsZCgpXCI+PC9wLXNvcnRJY29uPlxyXG5cdFx0XHRcdFx0XHRcdFx0PCEtLTxwLWNvbHVtbkZpbHRlclxyXG5cdFx0XHRcdFx0XHRcdFx0XHRkaXNwbGF5PVwibWVudVwiXHJcblx0XHRcdFx0XHRcdFx0XHRcdFt0eXBlXT1cImNvbHVtbi50eXBlKClcIlxyXG5cdFx0XHRcdFx0XHRcdFx0XHRbZmllbGRdPVwiY29sdW1uLmZpZWxkKClcIlxyXG5cdFx0XHRcdFx0XHRcdFx0XHRbc2hvd01hdGNoTW9kZXNdPVwidHJ1ZVwiXHJcblx0XHRcdFx0XHRcdFx0XHRcdFtzaG93T3BlcmF0b3JdPVwiZmFsc2VcIlxyXG5cdFx0XHRcdFx0XHRcdFx0XHRbc2hvd0FkZEJ1dHRvbl09XCJ0cnVlXCI+XHJcblx0XHRcdFx0XHRcdFx0XHQ8L3AtY29sdW1uRmlsdGVyPi0tPlxyXG5cdFx0XHRcdFx0XHRcdDwvZGl2PlxyXG5cdFx0XHRcdFx0XHRcdDwhLS0gY3VzdG9tIGZpbHRlciBmb3IgKGRhdGUgZXRjLiktLT5cclxuXHRcdFx0XHRcdFx0XHQ8IS0tIDxwLWNvbHVtbkZpbHRlciB0eXBlPVwidGV4dFwiIFtmaWVsZF09XCJjb2wuZmllbGRcIiBbbWF0Y2hNb2RlT3B0aW9uc109XCJtYXRjaE1vZGVPcHRpb25zXCIgW21hdGNoTW9kZV09XCInY3VzdG9tLWVxdWFscydcIj48L3AtY29sdW1uRmlsdGVyPiAtLT5cclxuXHRcdFx0XHRcdFx0PC9kaXY+XHJcblx0XHRcdFx0XHQ8L3RoPlxyXG5cdFx0XHRcdH1cclxuXHRcdFx0fVxyXG5cdFx0PC90cj5cclxuXHQ8L25nLXRlbXBsYXRlPlxyXG5cdDxuZy10ZW1wbGF0ZSBwVGVtcGxhdGU9XCJib2R5XCIgbGV0LWl0ZW0gbGV0LWNvbHVtbnM9XCJjb2x1bW5zXCI+XHJcblx0XHRAaWYgKHNlbGVjdGlvbk1vZGUoKSkge1xyXG5cdFx0XHQ8dHIgW3BTZWxlY3RhYmxlUm93XT1cIml0ZW1cIj5cclxuXHRcdFx0XHRAZm9yIChjb2x1bW4gb2YgY29sdW1uczsgdHJhY2sgJGluZGV4KSB7XHJcblx0XHRcdFx0XHQ8dGQgW25nU3R5bGVdPVwieyAndGV4dC1hbGlnbic6IGNvbHVtbi50eXBlKCkgPT09ICdvcGVyYXRpb25zJyA/ICdjZW50ZXInIDogY29sdW1uLnRBbGlnbigpIHx8IHRBbGlnbigpIH1cIj5cclxuXHRcdFx0XHRcdFx0PG5nLXRlbXBsYXRlIG5nRm9yIFtuZ0Zvck9mXT1cIltpdGVtXVwiIFtuZ0ZvclRlbXBsYXRlXT1cImNvbHVtbi50ZW1wbGF0ZVwiPjwvbmctdGVtcGxhdGU+XHJcblx0XHRcdFx0XHQ8L3RkPlxyXG5cdFx0XHRcdH1cclxuXHRcdFx0PC90cj5cclxuXHRcdH0gQGVsc2Uge1xyXG5cdFx0XHQ8dHI+XHJcblx0XHRcdFx0QGlmIChjaGVja2JveFNlbGVjdGlvbigpKSB7XHJcblx0XHRcdFx0XHQ8dGQ+XHJcblx0XHRcdFx0XHRcdDxwLXRhYmxlQ2hlY2tib3ggW3ZhbHVlXT1cIml0ZW1cIj48L3AtdGFibGVDaGVja2JveD5cclxuXHRcdFx0XHRcdDwvdGQ+XHJcblx0XHRcdFx0fVxyXG5cclxuXHRcdFx0XHRAZm9yIChjb2x1bW4gb2YgY29sdW1uczsgdHJhY2sgJGluZGV4KSB7XHJcblx0XHRcdFx0XHQ8dGQgW25nU3R5bGVdPVwieyAndGV4dC1hbGlnbic6IGNvbHVtbi50eXBlKCkgPT09ICdvcGVyYXRpb25zJyA/ICdjZW50ZXInIDogY29sdW1uLnRBbGlnbigpIHx8IHRBbGlnbigpIH1cIj5cclxuXHRcdFx0XHRcdFx0PG5nLXRlbXBsYXRlIG5nRm9yIFtuZ0Zvck9mXT1cIltpdGVtXVwiIFtuZ0ZvclRlbXBsYXRlXT1cImNvbHVtbi50ZW1wbGF0ZVwiPjwvbmctdGVtcGxhdGU+XHJcblx0XHRcdFx0XHQ8L3RkPlxyXG5cdFx0XHRcdH1cclxuXHRcdFx0PC90cj5cclxuXHRcdH1cclxuXHQ8L25nLXRlbXBsYXRlPlxyXG5cclxuXHRAaWYgKHNob3dGb290ZXIoKSkge1xyXG5cdFx0PG5nLXRlbXBsYXRlIHBUZW1wbGF0ZT1cInN1bW1hcnlcIj5cclxuXHRcdFx0PG5nLWNvbnRlbnQgc2VsZWN0PVwiW2Zvb3Rlcl1cIj48L25nLWNvbnRlbnQ+XHJcblx0XHQ8L25nLXRlbXBsYXRlPlxyXG5cdH1cclxuXHJcblx0PG5nLXRlbXBsYXRlIHBUZW1wbGF0ZT1cImVtcHR5bWVzc2FnZVwiPlxyXG5cdFx0PHRyPlxyXG5cdFx0XHQ8dGQgW2F0dHIuY29sc3Bhbl09XCJjb2x1bW5zLl9yZXN1bHRzLmxlbmd0aFwiPnt7IG5vRGF0YUZvdW5kTGFiZWwoKSB9fTwvdGQ+XHJcblx0XHQ8L3RyPlxyXG5cdDwvbmctdGVtcGxhdGU+XHJcbjwvcC10YWJsZT5cclxuIl19
96
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFibGUuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYXJpbC91aS90YWJsZS9zcmMvdGFibGUuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYXJpbC91aS90YWJsZS9zcmMvdGFibGUuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUdOLFNBQVMsRUFDVCxlQUFlLEVBQ2YsWUFBWSxFQUNaLEtBQUssRUFDTCxNQUFNLEVBQ04sTUFBTSxFQUNOLEtBQUssRUFDTCxNQUFNLGVBQWUsQ0FBQztBQUl2QixPQUFPLEtBQUssU0FBUyxNQUFNLFlBQVksQ0FBQztBQUN4QyxPQUFPLEtBQUssTUFBTSxPQUFPLENBQUM7QUFDMUIsT0FBTyxTQUFTLE1BQU0saUJBQWlCLENBQUM7QUFFeEMsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLFdBQVcsQ0FBQztBQUV2QyxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sUUFBUSxDQUFDO0FBQ3JDLE9BQU8sRUFBYyxvQkFBb0IsRUFBZ0IsTUFBTSwwQkFBMEIsQ0FBQzs7Ozs7O0FBRTFGOzs7OztHQUtHO0FBQ0gsTUFBTSxXQUFXLEdBQUcsQ0FBQyxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxHQUFHLENBQVUsQ0FBQztBQTJCL0MsTUFBTSxPQUFPLGNBQWM7SUF5QjFCLFlBQ1MsYUFBNEIsRUFDNUIsR0FBc0I7UUFEdEIsa0JBQWEsR0FBYixhQUFhLENBQWU7UUFDNUIsUUFBRyxHQUFILEdBQUcsQ0FBbUI7UUExQnJCLGdCQUFXLEdBQXNCLElBQUksWUFBWSxFQUFPLENBQUM7UUFDekQsbUJBQWMsR0FBc0IsSUFBSSxZQUFZLEVBQU8sQ0FBQztRQUU3RCxtQkFBYyxHQUFlLEVBQUUsQ0FBQztRQUV6QyxTQUFJLEdBQUcsS0FBSyxDQUFDLFFBQVEsRUFBUyxDQUFDO1FBQy9CLHNCQUFp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LElBQUksRUFBRSxVQUFVO1NBQ2hCLENBQUMsQ0FBQztRQUNILFNBQVMsQ0FBQyxNQUFNLENBQUMsSUFBSSxFQUFFLFFBQVEsR0FBRyxVQUFVLEdBQUcsSUFBSSxJQUFJLEVBQUUsQ0FBQyxPQUFPLEVBQUUsR0FBRyxlQUFlLENBQUMsQ0FBQztJQUN4RixDQUFDO0lBRUQsS0FBSyxDQUFDLFNBQVM7UUFDZCxNQUFNLEdBQUcsR0FBRyxJQUFJLEtBQUssQ0FBQyxVQUFVLEVBQUUsSUFBSSxFQUFFLElBQUksQ0FBQyxDQUFDO1FBQzlDLFNBQVMsQ0FBQyxHQUFHLEVBQUU7WUFDZCxPQUFPLEVBQUUsSUFBSSxDQUFDLGFBQWE7WUFDM0IsSUFBSSxFQUFFLElBQUksQ0FBQyxJQUFJLEVBQUU7U0FDakIsQ0FBQyxDQUFDO1FBQ0gsR0FBRyxDQUFDLElBQUksQ0FBQyxHQUFHLElBQUksQ0FBQyxjQUFjLFdBQVcsSUFBSSxJQUFJLEVBQUUsQ0FBQyxPQUFPLEVBQUUsTUFBTSxDQUFDLENBQUM7SUFDdkUsQ0FBQzs4R0F0RVcsY0FBYztrR0FBZCxjQUFjLGl1RUFHVCxvQkFBb0IsNkJDM0R0Qyw4NkxBMkpBOzsyRkRuR2EsY0FBYztrQkFqQjFCLFNBQVM7K0JBQ0MsWUFBWTtrSEFpQlosV0FBVztzQkFBcEIsTUFBTTtnQkFDRyxjQUFjO3NCQUF2QixNQUFNO2dCQUNnQyxPQUFPO3NCQUE3QyxlQUFlO3VCQUFDLG9CQUFvQjtnQkFDNUIsY0FBYztzQkFBdEIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XHJcblx0QWZ0ZXJWaWV3SW5pdCxcclxuXHRDaGFuZ2VEZXRlY3RvclJlZixcclxuXHRDb21wb25lbnQsXHJcblx0Q29udGVudENoaWxkcmVuLFxyXG5cdEV2ZW50RW1pdHRlcixcclxuXHRJbnB1dCxcclxuXHRPdXRwdXQsXHJcblx0ZWZmZWN0LFxyXG5cdGlucHV0XHJcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcblxyXG5pbXBvcnQgeyBNZW51SXRlbSwgUHJpbWVOR0NvbmZpZyB9IGZyb20gJ3ByaW1lbmcvYXBpJztcclxuXHJcbmltcG9ydCAqIGFzIEZpbGVTYXZlciBmcm9tICdmaWxlLXNhdmVyJztcclxuaW1wb3J0IGpzUERGIGZyb20gJ2pzcGRmJztcclxuaW1wb3J0IGF1dG9UYWJsZSBmcm9tICdqc3BkZi1hdXRvdGFibGUnO1xyXG5cclxuaW1wb3J0IHsgUHJveHlUeXBlcyB9IGZyb20gJ2FyaWwvaHR0cCc7XHJcblxyXG5pbXBvcnQgeyB0cmFubGF0aW9ucyB9IGZyb20gJy4vaTE4bic7XHJcbmltcG9ydCB7IEFsaWduVHlwZXMsIFRhYmxlQ29sdW1uQ29tcG9uZW50LCBUYWJsZUNvbHVtbnMgfSBmcm9tICcuL3RhYmxlLWNvbHVtbi5jb21wb25lbnQnO1xyXG5cclxuLyogVE9ETyA6XHJcbiAqIHNlcnZlci1zaWRlLXByb3h5IChQcm94eVR5cGVzLlNlcnZlclNpZGUpXHJcbiAqIHNlYXJjaCAmIGNvbHVtIGZpbHRlciAmIHNvcnRcclxuICogcGFnaW5hdGlvbiBvcGVyYXRpb25cclxuICogUXVlcnkgU2lnbmFsc1xyXG4gKi9cclxuY29uc3QgcGFnZU9wdGlvbnMgPSBbMTAsIDIwLCA1MCwgMTAwXSBhcyBjb25zdDtcclxuXHJcbnR5cGUgU2VsZWN0aW9uVHlwZXMgPSAnc2luZ2xlJyB8ICdtdWx0aXBsZSc7XHJcblxyXG5pbnRlcmZhY2UgSUtlYmFiTWVudUl0ZW0ge1xyXG5cdGljb246IHN0cmluZztcclxuXHRsYWJlbDogc3RyaW5nO1xyXG5cdG9uQ2xpY2s6IChldmVudDogTW91c2VFdmVudCkgPT4gdm9pZDtcclxufVxyXG5cclxuQENvbXBvbmVudCh7XHJcblx0c2VsZWN0b3I6ICdhcmlsLXRhYmxlJyxcclxuXHR0ZW1wbGF0ZVVybDogJy4vdGFibGUuY29tcG9uZW50Lmh0bWwnLFxyXG5cdHN0eWxlczogW1xyXG5cdFx0YFxyXG5cdFx0XHQuanVzdGlmeS1jb250ZW50LWJldHdlZW4ge1xyXG5cdFx0XHRcdGp1c3RpZnktY29udGVudDogaW5pdGlhbCAhaW1wb3J0YW50O1xyXG5cdFx0XHR9XHJcblx0XHRcdHAtc29ydGljb24ucC1lbGVtZW50IHtcclxuXHRcdFx0XHRwYWRkaW5nLWxlZnQ6N3B4ICFpbXBvcnRhbnQ7XHJcblx0XHRcdH1cclxuXHRcdFx0LmZsZXguanVzdGlmeS1jb250ZW50LWJldHdlZW4uYWxpZ24taXRlbXMtY2VudGVyIHtcclxuICAgXHRcdFx0XHQgLy9wYWRkaW5nOiA0cHggIWltcG9ydGFudDtcclxuXHRcdFx0fVx0XHRcdFx0XHJcblx0XHRgXHJcblx0XVxyXG59KVxyXG5leHBvcnQgY2xhc3MgVGFibGVDb21wb25lbnQgaW1wbGVtZW50cyBBZnRlclZpZXdJbml0IHtcclxuXHRAT3V0cHV0KCkgb25QYWdlRXZlbnQ6IEV2ZW50RW1pdHRlcjxhbnk+ID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KCk7XHJcblx0QE91dHB1dCgpIHNlbGVjdGlvbkV2ZW50OiBFdmVudEVtaXR0ZXI8YW55PiA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpO1xyXG5cdEBDb250ZW50Q2hpbGRyZW4oVGFibGVDb2x1bW5Db21wb25lbnQpIGNvbHVtbnMhOiBUYWJsZUNvbHVtbnM7XHJcblx0QElucHV0KCkga2ViYWJNZW51SXRlbXM6IE1lbnVJdGVtW10gPSBbXTtcclxuXHJcblx0ZGF0YSA9IGlucHV0LnJlcXVpcmVkPGFueVtdPigpO1xyXG5cdGNoZWNrYm94U2VsZWN0aW9uID0gaW5wdXQ8Ym9vbGVhbj4oKTtcclxuXHRwYWdlU2l6ZSA9IGlucHV0PCh0eXBlb2YgcGFnZU9wdGlvbnMpW251bWJlcl0+KDEwKTtcclxuXHRwcm94eSA9IGlucHV0PFByb3h5VHlwZXM+KFByb3h5VHlwZXMuTmF0aXZlKTtcclxuXHRzaG93Rm9vdGVyID0gaW5wdXQ8Ym9vbGVhbj4oZmFsc2UpO1xyXG5cdHRBbGlnbiA9IGlucHV0PEFsaWduVHlwZXM+KCdsZWZ0Jyk7XHJcblx0c2VsZWN0aW9uTW9kZSA9IGlucHV0PFNlbGVjdGlvblR5cGVzPigpO1xyXG5cdHNob3dTZWFyY2hUb29sID0gaW5wdXQ8Ym9vbGVhbj4odHJ1ZSk7XHJcblx0c2hvd0V4cG9ydFRvb2wgPSBpbnB1dDxib29sZWFuPih0cnVlKTtcclxuXHRleHBvcnRGaWxlTmFtZSA9IGlucHV0PHN0cmluZz4oJycpO1xyXG5cdG5vRGF0YUZvdW5kTGFiZWwgPSBpbnB1dDxzdHJpbmc+KCdObyBEYXRhIEZvdW5kJyk7XHJcblx0dGFibGVIZWFkZXIgPSBpbnB1dDxzdHJpbmc+KCcnKTtcclxuXHRzaG93VGFibGVIZWFkZXIgPSBpbnB1dDxib29sZWFuPihmYWxzZSk7XHJcblx0aXNGaXJzdFJvd1NlbGVjdGVkID0gaW5wdXQ8Ym9vbGVhbj4oZmFsc2UpO1xyXG5cdGZpbHRlclRleHQhOiBzdHJpbmc7XHJcblx0c2VsZWN0ZWRSb3dzOiBhbnk7XHJcblx0cGFnZU9wdGlvbnMgPSBwYWdlT3B0aW9ucztcclxuXHRleHBvcnRDb2x1bW5zOiBBcnJheTx7IHRpdGxlOiBzdHJpbmc7IGRhdGFLZXk6IHN0cmluZyB9PiA9IFtdO1xyXG5cclxuXHRjb25zdHJ1Y3RvcihcclxuXHRcdHByaXZhdGUgcHJpbWVuZ0NvbmZpZzogUHJpbWVOR0NvbmZpZyxcclxuXHRcdHByaXZhdGUgY2RyOiBDaGFuZ2VEZXRlY3RvclJlZlxyXG5cdCkge1xyXG5cdFx0dGhpcy5wcmltZW5nQ29uZmlnLnNldFRyYW5zbGF0aW9uKHRyYW5sYXRpb25zKTtcclxuXHJcblx0XHRlZmZlY3QoKCkgPT4ge1xyXG5cdFx0XHRpZiAodGhpcy5pc0ZpcnN0Um93U2VsZWN0ZWQoKSAmJiB0aGlzLmRhdGEoKSkge1xyXG5cdFx0XHRcdHRoaXMuc2VsZWN0ZWRSb3dzID0gdGhpcy5kYXRhKClbMF07XHJcblx0XHRcdFx0dGhpcy5zZWxlY3Rpb25FdmVudC5lbWl0KHRoaXMuc2VsZWN0ZWRSb3dzKTtcclxuXHRcdFx0fVxyXG5cdFx0fSk7XHJcblx0fVxyXG5cclxuXHRuZ0FmdGVyVmlld0luaXQoKTogdm9pZCB7XHJcblx0XHRpZiAodGhpcy5jb2x1bW5zKSB7XHJcblx0XHRcdHRoaXMuZXhwb3J0Q29sdW1ucyA9IHRoaXMuY29sdW1ucy5fcmVzdWx0cy5tYXAoKGNvbCkgPT4gKHsgdGl0bGU6IGNvbC5oZWFkZXIsIGRhdGFLZXk6IGNvbC5maWVsZCB9KSk7XHJcblx0XHR9XHJcblx0fVxyXG5cclxuXHRleGNlbEV4cG9ydCgpIHtcclxuXHRcdGltcG9ydCgneGxzeCcpLnRoZW4oKHhsc3gpID0+IHtcclxuXHRcdFx0Y29uc3Qgd29ya3NoZWV0ID0geGxzeC51dGlscy5qc29uX3RvX3NoZWV0KHRoaXMuZGF0YSgpKTtcclxuXHRcdFx0Y29uc3Qgd29ya2Jvb2sgPSB7IFNoZWV0czogeyBkYXRhOiB3b3Jrc2hlZXQgfSwgU2hlZXROYW1lczogWydkYXRhJ10gfTtcclxuXHRcdFx0Y29uc3QgZXhjZWxCdWZmZXI6IGFueSA9IHhsc3gud3JpdGUod29ya2Jvb2ssIHsgYm9va1R5cGU6ICd4bHN4JywgdHlwZTogJ2FycmF5JyB9KTtcclxuXHRcdFx0dGhpcy5zYXZlQXNFeGNlbEZpbGUoZXhjZWxCdWZmZXIsICF0aGlzLmV4cG9ydEZpbGVOYW1lID8gdGhpcy5leHBvcnRGaWxlTmFtZSA6ICdleGNlbF93b3Jrc2hlZXQnKTtcclxuXHRcdH0pO1xyXG5cdH1cclxuXHJcblx0c2F2ZUFzRXhjZWxGaWxlKGJ1ZmZlcjogYW55LCBmaWxlTmFtZTogc3RyaW5nKTogdm9pZCB7XHJcblx0XHRjb25zdCBFWENFTF9UWVBFID0gJ2FwcGxpY2F0aW9uL3ZuZC5vcGVueG1sZm9ybWF0cy1vZmZpY2Vkb2N1bWVudC5zcHJlYWRzaGVldG1sLnNoZWV0O2NoYXJzZXQ9VVRGLTgnO1xyXG5cdFx0Y29uc3QgRVhDRUxfRVhURU5TSU9OID0gJy54bHN4JztcclxuXHRcdGNvbnN0IGRhdGE6IEJsb2IgPSBuZXcgQmxvYihbYnVmZmVyXSwge1xyXG5cdFx0XHR0eXBlOiBFWENFTF9UWVBFXHJcblx0XHR9KTtcclxuXHRcdEZpbGVTYXZlci5zYXZlQXMoZGF0YSwgZmlsZU5hbWUgKyAnX2V4cG9ydF8nICsgbmV3IERhdGUoKS5nZXRUaW1lKCkgKyBFWENFTF9FWFRFTlNJT04pO1xyXG5cdH1cclxuXHJcblx0YXN5bmMgZXhwb3J0UGRmKCkge1xyXG5cdFx0Y29uc3QgZG9jID0gbmV3IGpzUERGKCdwb3J0cmFpdCcsICdweCcsICdhNCcpO1xyXG5cdFx0YXV0b1RhYmxlKGRvYywge1xyXG5cdFx0XHRjb2x1bW5zOiB0aGlzLmV4cG9ydENvbHVtbnMsXHJcblx0XHRcdGJvZHk6IHRoaXMuZGF0YSgpXHJcblx0XHR9KTtcclxuXHRcdGRvYy5zYXZlKGAke3RoaXMuZXhwb3J0RmlsZU5hbWV9X2V4cG9ydF8ke25ldyBEYXRlKCkuZ2V0VGltZSgpfS5wZGZgKTtcclxuXHR9XHJcbn1cclxuIiwiXHJcbjxwLXRhYmxlXHJcblx0I3JlZlxyXG5cdFt2YWx1ZV09XCJkYXRhKClcIlxyXG5cdFtjb2x1bW5zXT1cImNvbHVtbnMuX3Jlc3VsdHNcIlxyXG5cdFtyb3dzXT1cInBhZ2VTaXplKClcIlxyXG5cdFtyb3dIb3Zlcl09XCJ0cnVlXCJcclxuXHRbcGFnaW5hdG9yXT1cInRydWVcIlxyXG5cdFtyb3dzUGVyUGFnZU9wdGlvbnNdPVwiWzEwLCAyMCwgNTAsIDEwMF1cIlxyXG5cdFtmaWx0ZXJEZWxheV09XCIwXCJcclxuXHRzb3J0TW9kZT1cIm11bHRpcGxlXCJcclxuXHRbKHNlbGVjdGlvbildPVwic2VsZWN0ZWRSb3dzXCJcclxuXHQob25QYWdlKT1cIm9uUGFnZUV2ZW50LmVtaXQoJGV2ZW50KVwiXHJcblx0KHNlbGVjdGlvbkNoYW5nZSk9XCJzZWxlY3Rpb25FdmVudC5lbWl0KHNlbGVjdGVkUm93cylcIlxyXG5cdFtzaG93Q3VycmVudFBhZ2VSZXBvcnRdPVwidHJ1ZVwiXHJcblx0W3NlbGVjdGlvbk1vZGVdPVwic2VsZWN0aW9uTW9kZSgpXCJcclxuXHRjdXJyZW50UGFnZVJlcG9ydFRlbXBsYXRlPVwiVG9wbGFtIDoge3RvdGFsUmVjb3Jkc30ga2F5xLF0IHwgU2F5ZmEgOiB7Y3VycmVudFBhZ2V9IC8ge3RvdGFsUGFnZXN9XCJcclxuXHRzdHlsZUNsYXNzPVwicC1kYXRhdGFibGUtc21cIj5cclxuXHQ8IS0tQGlmICh0YWJsZUhlYWRlcigpIHx8IHNob3dTZWFyY2hUb29sKCkgfHwgc2hvd0V4cG9ydFRvb2woKSkge1xyXG5cdFx0PG5nLXRlbXBsYXRlIHBUZW1wbGF0ZT1cImNhcHRpb25cIj5cclxuXHRcdFx0PGRpdiBjbGFzcz1cImZsZXggc3BhY2UtYmV0d2VlblwiPlxyXG5cdFx0XHRcdDxkaXYgc3R5bGU9XCJmbGV4OiBhdXRvXCI+XHJcblx0XHRcdFx0XHRAaWYgKHRhYmxlSGVhZGVyKCkubGVuZ3RoKSB7XHJcblx0XHRcdFx0XHRcdDxkaXYgY2xhc3M9XCJ0YWJsZS1oZWFkZXJcIj5cclxuXHRcdFx0XHRcdFx0XHR7eyB0YWJsZUhlYWRlcigpIH19XHJcblx0XHRcdFx0XHRcdDwvZGl2PlxyXG5cdFx0XHRcdFx0fVxyXG5cdFx0XHRcdDwvZGl2PlxyXG5cdFx0XHRcdDxkaXYgc3R5bGU9XCJmbGV4OiBhdXRvXCI+XHJcblx0XHRcdFx0XHQ8ZGl2IGNsYXNzPVwiZmxleCBqdXN0aWZ5LWNvbnRlbnQtZW5kIGFsaWduLWl0ZW1zLWNlbnRlclwiPlxyXG5cdFx0XHRcdFx0XHRAaWYgKGZhbHNlKSB7XHJcblx0XHRcdFx0XHRcdFx0PGFyaWwtdGV4dFxyXG5cdFx0XHRcdFx0XHRcdFx0aWNvbj1cIlNFQVJDSFwiXHJcblx0XHRcdFx0XHRcdFx0XHRpY29uUG9zPVwibGVmdFwiXHJcblx0XHRcdFx0XHRcdFx0XHRwbGFjZWhvbGRlcj1cIkFyYW1hXCJcclxuXHRcdFx0XHRcdFx0XHRcdFtuZ01vZGVsXT1cImZpbHRlclRleHRcIlxyXG5cdFx0XHRcdFx0XHRcdFx0Y2xhc3M9XCJtci0xXCJcclxuXHRcdFx0XHRcdFx0XHRcdChuZ01vZGVsQ2hhbmdlKT1cInJlZi5maWx0ZXJHbG9iYWwoJGV2ZW50LnRhcmdldC52YWx1ZSwgJ2NvbnRhaW5zJylcIj5cclxuXHRcdFx0XHRcdFx0XHQ8L2FyaWwtdGV4dD5cclxuXHRcdFx0XHRcdFx0fVxyXG5cdFx0XHRcdFx0XHRAaWYgKGZhbHNlKSB7XHJcblx0XHRcdFx0XHRcdFx0PGFyaWwtYnV0dG9uXHJcblx0XHRcdFx0XHRcdFx0XHRzaXplPVwic21cIlxyXG5cdFx0XHRcdFx0XHRcdFx0aWNvbj1cIkZJTEVfRVhDRUxcIlxyXG5cdFx0XHRcdFx0XHRcdFx0Y29sb3I9XCJwcmltYXJ5XCJcclxuXHRcdFx0XHRcdFx0XHRcdHBUb29sdGlwPVwiWExTXCJcclxuXHRcdFx0XHRcdFx0XHRcdHRvb2x0aXBQb3NpdGlvbj1cInRvcFwiXHJcblx0XHRcdFx0XHRcdFx0XHQoY2xpY2tFdmVudCk9XCJleGNlbEV4cG9ydCgpXCJcclxuXHRcdFx0XHRcdFx0XHRcdGNsYXNzPVwibXItMVwiPlxyXG5cdFx0XHRcdFx0XHRcdDwvYXJpbC1idXR0b24+XHJcblx0XHRcdFx0XHRcdFx0PGFyaWwtYnV0dG9uXHJcblx0XHRcdFx0XHRcdFx0XHRzaXplPVwic21cIlxyXG5cdFx0XHRcdFx0XHRcdFx0aWNvbj1cIkZJTEVfUERGXCJcclxuXHRcdFx0XHRcdFx0XHRcdGNvbG9yPVwicHJpbWFyeVwiXHJcblx0XHRcdFx0XHRcdFx0XHRwVG9vbHRpcD1cIlBERlwiXHJcblx0XHRcdFx0XHRcdFx0XHR0b29sdGlwUG9zaXRpb249XCJ0b3BcIlxyXG5cdFx0XHRcdFx0XHRcdFx0KGNsaWNrRXZlbnQpPVwiZXhwb3J0UGRmKClcIj5cclxuXHRcdFx0XHRcdFx0XHQ8L2FyaWwtYnV0dG9uPlxyXG5cdFx0XHRcdFx0XHR9XHJcblx0XHRcdFx0XHRcdEBpZiAoZGF0YSgpICYmIGtlYmFiTWVudUl0ZW1zLmxlbmd0aCA+IDAgKSB7XHJcblx0XHRcdFx0XHRcdFx0PGRpdiB0b29scyBzdHlsZT1cInBhZGRpbmc6IDRweDttYXJnaW4tbGVmdDogNHB4O2JvcmRlcjoxcHggc29saWQgIzYzNjZmMTtib3JkZXItcmFkaXVzOiA2cHg7YmFja2dyb3VuZC1jb2xvcjogIzYzNjZmMTsgY29sb3I6IHdoaXRlO1wiID5cclxuXHRcdFx0XHRcdFx0XHRcdDxpXHJcblx0XHRcdFx0XHRcdFx0XHRcdFthdHRyLnJvbGVdPVwiJ25vbmUnXCJcclxuXHRcdFx0XHRcdFx0XHRcdFx0Y2xhc3M9XCJwaSBtci0xIGhlYWRlci1pY29uIHBpLWVsbGlwc2lzLXZcIlxyXG5cdFx0XHRcdFx0XHRcdFx0XHQoY2xpY2spPVwiYnVsa09wZXJhdGlvbnMudG9nZ2xlKCRldmVudCk7XCI+PC9pPlxyXG5cdFx0XHRcdFx0XHRcdFx0PHAtbWVudVxyXG5cdFx0XHRcdFx0XHRcdFx0XHQjYnVsa09wZXJhdGlvbnNcclxuXHRcdFx0XHRcdFx0XHRcdFx0W3BvcHVwXT1cInRydWVcIlxyXG5cdFx0XHRcdFx0XHRcdFx0XHRbbW9kZWxdPVwia2ViYWJNZW51SXRlbXNcIlxyXG5cdFx0XHRcdFx0XHRcdFx0XHRzdHlsZUNsYXNzPVwiei1pbmRleDogOTk5ODg5OTtcIlxyXG5cdFx0XHRcdFx0XHRcdFx0XHRhcHBlbmRUbz1cImJvZHlcIj48L3AtbWVudT5cclxuXHRcdFx0XHRcdFx0XHQ8L2Rpdj5cclxuXHRcdFx0XHRcdFx0fVxyXG5cdFx0XHRcdFx0PC9kaXY+XHJcblx0XHRcdFx0XHRcclxuXHRcdFx0XHQ8L2Rpdj5cclxuXHRcdFx0PC9kaXY+XHJcblx0XHQ8L25nLXRlbXBsYXRlPlxyXG5cdH0tLT5cclxuXHQ8bmctdGVtcGxhdGUgcFRlbXBsYXRlPVwiaGVhZGVyXCIgbGV0LWNvbHVtbnM+XHJcblx0XHQ8dHI+XHJcblx0XHRcdEBpZiAoY2hlY2tib3hTZWxlY3Rpb24oKSkge1xyXG5cdFx0XHRcdDx0aD5cclxuXHRcdFx0XHRcdDwhLS08cC10YWJsZUhlYWRlckNoZWNrYm94PjwvcC10YWJsZUhlYWRlckNoZWNrYm94Pi0tPlxyXG5cdFx0XHRcdDwvdGg+XHJcblx0XHRcdH1cclxuXHRcdFx0QGZvciAoY29sdW1uIG9mIGNvbHVtbnM7IHRyYWNrICRpbmRleCkge1xyXG5cdFx0XHRcdEBpZiAoY29sdW1uLnR5cGUoKSA9PT0gJ29wZXJhdGlvbnMnKSB7XHJcblx0XHRcdFx0XHQ8dGg+XHJcblx0XHRcdFx0XHRcdDxkaXYgY2xhc3M9XCJmbGV4IGp1c3RpZnktY29udGVudC1jZW50ZXJcIj7EsMWfbGVtbGVyPC9kaXY+XHJcblx0XHRcdFx0XHQ8L3RoPlxyXG5cdFx0XHRcdH0gQGVsc2Uge1xyXG5cdFx0XHRcdFx0PHRoIFtwU29ydGFibGVDb2x1bW5dPVwiY29sdW1uLmZpZWxkKClcIj5cclxuXHRcdFx0XHRcdFx0PGRpdiBjbGFzcz1cImZsZXgganVzdGlmeS1jb250ZW50LWJldHdlZW4gYWxpZ24taXRlbXMtY2VudGVyXCI+XHJcblx0XHRcdFx0XHRcdFx0e3sgY29sdW1uLmhlYWRlcigpIH19XHJcblx0XHRcdFx0XHRcdFx0PGRpdiBjbGFzcz1cImZsZXhcIj5cclxuXHRcdFx0XHRcdFx0XHRcdEBpZiAoY29sdW1uLmlzU2hvd0hlYWRlclRvb2x0aXAoKSkge1xyXG5cdFx0XHRcdFx0XHRcdFx0XHQ8aSBzdHlsZT1cImNvbG9yOiB2YXIoLS1wcmltYXJ5LWNvbG9yKTsgcGFkZGluZy10b3A6IDRweDsgcGFkZGluZy1sZWZ0OiA0cHg7XCIgY2xhc3M9XCJwaSBwaS1xdWVzdGlvbi1jaXJjbGVcIiBbcFRvb2x0aXBdPVwiY29sdW1uLnRvb2x0aXBUZW1wbGF0ZSgpXCIgdG9vbHRpcFBvc2l0aW9uPVwidG9wXCI+PC9pPlxyXG5cdFx0XHRcdFx0XHRcdFx0fVxyXG5cdFx0XHRcdFx0XHRcdFx0PHAtc29ydEljb24gW2ZpZWxkXT1cImNvbHVtbi5maWVsZCgpXCI+PC9wLXNvcnRJY29uPlxyXG5cdFx0XHRcdFx0XHRcdFx0PCEtLTxwLWNvbHVtbkZpbHRlclxyXG5cdFx0XHRcdFx0XHRcdFx0XHRkaXNwbGF5PVwibWVudVwiXHJcblx0XHRcdFx0XHRcdFx0XHRcdFt0eXBlXT1cImNvbHVtbi50eXBlKClcIlxyXG5cdFx0XHRcdFx0XHRcdFx0XHRbZmllbGRdPVwiY29sdW1uLmZpZWxkKClcIlxyXG5cdFx0XHRcdFx0XHRcdFx0XHRbc2hvd01hdGNoTW9kZXNdPVwidHJ1ZVwiXHJcblx0XHRcdFx0XHRcdFx0XHRcdFtzaG93T3BlcmF0b3JdPVwiZmFsc2VcIlxyXG5cdFx0XHRcdFx0XHRcdFx0XHRbc2hvd0FkZEJ1dHRvbl09XCJ0cnVlXCI+XHJcblx0XHRcdFx0XHRcdFx0XHQ8L3AtY29sdW1uRmlsdGVyPi0tPlxyXG5cdFx0XHRcdFx0XHRcdDwvZGl2PlxyXG5cdFx0XHRcdFx0XHRcdDwhLS0gY3VzdG9tIGZpbHRlciBmb3IgKGRhdGUgZXRjLiktLT5cclxuXHRcdFx0XHRcdFx0XHQ8IS0tIDxwLWNvbHVtbkZpbHRlciB0eXBlPVwidGV4dFwiIFtmaWVsZF09XCJjb2wuZmllbGRcIiBbbWF0Y2hNb2RlT3B0aW9uc109XCJtYXRjaE1vZGVPcHRpb25zXCIgW21hdGNoTW9kZV09XCInY3VzdG9tLWVxdWFscydcIj48L3AtY29sdW1uRmlsdGVyPiAtLT5cclxuXHRcdFx0XHRcdFx0PC9kaXY+XHJcblx0XHRcdFx0XHQ8L3RoPlxyXG5cdFx0XHRcdH1cclxuXHRcdFx0fVxyXG5cdFx0PC90cj5cclxuXHQ8L25nLXRlbXBsYXRlPlxyXG5cdDxuZy10ZW1wbGF0ZSBwVGVtcGxhdGU9XCJib2R5XCIgbGV0LWl0ZW0gbGV0LWNvbHVtbnM9XCJjb2x1bW5zXCI+XHJcblx0XHRAaWYgKHNlbGVjdGlvbk1vZGUoKSkge1xyXG5cdFx0XHQ8dHIgW3BTZWxlY3RhYmxlUm93XT1cIml0ZW1cIj5cclxuXHRcdFx0XHRAZm9yIChjb2x1bW4gb2YgY29sdW1uczsgdHJhY2sgJGluZGV4KSB7XHJcblx0XHRcdFx0XHQ8dGQgW25nU3R5bGVdPVwieyAndGV4dC1hbGlnbic6IGNvbHVtbi50eXBlKCkgPT09ICdvcGVyYXRpb25zJyA/ICdjZW50ZXInIDogY29sdW1uLnRBbGlnbigpIHx8IHRBbGlnbigpIH1cIj5cclxuXHRcdFx0XHRcdFx0PG5nLXRlbXBsYXRlIG5nRm9yIFtuZ0Zvck9mXT1cIltpdGVtXVwiIFtuZ0ZvclRlbXBsYXRlXT1cImNvbHVtbi50ZW1wbGF0ZVwiPjwvbmctdGVtcGxhdGU+XHJcblx0XHRcdFx0XHQ8L3RkPlxyXG5cdFx0XHRcdH1cclxuXHRcdFx0PC90cj5cclxuXHRcdH0gQGVsc2Uge1xyXG5cdFx0XHQ8dHI+XHJcblx0XHRcdFx0QGlmIChjaGVja2JveFNlbGVjdGlvbigpKSB7XHJcblx0XHRcdFx0XHQ8dGQ+XHJcblx0XHRcdFx0XHRcdDxwLXRhYmxlQ2hlY2tib3ggW3ZhbHVlXT1cIml0ZW1cIj48L3AtdGFibGVDaGVja2JveD5cclxuXHRcdFx0XHRcdDwvdGQ+XHJcblx0XHRcdFx0fVxyXG5cclxuXHRcdFx0XHRAZm9yIChjb2x1bW4gb2YgY29sdW1uczsgdHJhY2sgJGluZGV4KSB7XHJcblx0XHRcdFx0XHQ8dGQgW25nU3R5bGVdPVwieyAndGV4dC1hbGlnbic6IGNvbHVtbi50eXBlKCkgPT09ICdvcGVyYXRpb25zJyA/ICdjZW50ZXInIDogY29sdW1uLnRBbGlnbigpIHx8IHRBbGlnbigpIH1cIj5cclxuXHRcdFx0XHRcdFx0PG5nLXRlbXBsYXRlIG5nRm9yIFtuZ0Zvck9mXT1cIltpdGVtXVwiIFtuZ0ZvclRlbXBsYXRlXT1cImNvbHVtbi50ZW1wbGF0ZVwiPjwvbmctdGVtcGxhdGU+XHJcblx0XHRcdFx0XHQ8L3RkPlxyXG5cdFx0XHRcdH1cclxuXHRcdFx0PC90cj5cclxuXHRcdH1cclxuXHQ8L25nLXRlbXBsYXRlPlxyXG5cclxuXHRAaWYgKHNob3dGb290ZXIoKSkge1xyXG5cdFx0PG5nLXRlbXBsYXRlIHBUZW1wbGF0ZT1cInN1bW1hcnlcIj5cclxuXHRcdFx0PG5nLWNvbnRlbnQgc2VsZWN0PVwiW2Zvb3Rlcl1cIj48L25nLWNvbnRlbnQ+XHJcblx0XHQ8L25nLXRlbXBsYXRlPlxyXG5cdH1cclxuXHJcblx0PG5nLXRlbXBsYXRlIHBUZW1wbGF0ZT1cImVtcHR5bWVzc2FnZVwiPlxyXG5cdFx0PHRyPlxyXG5cdFx0XHQ8dGQgW2F0dHIuY29sc3Bhbl09XCJjb2x1bW5zLl9yZXN1bHRzLmxlbmd0aFwiPnt7IG5vRGF0YUZvdW5kTGFiZWwoKSB9fTwvdGQ+XHJcblx0XHQ8L3RyPlxyXG5cdDwvbmctdGVtcGxhdGU+XHJcbjwvcC10YWJsZT5cclxuIl19
@@ -61,9 +61,15 @@ async function bootPlugin(selector, component) {
61
61
  API_CONFIGS.api = globalThis.hostAPI;
62
62
  }
63
63
  else {
64
- const pathArray = window.location.href.split('/');
65
- const dynamicPart = pathArray[4];
66
- API_CONFIGS.api = `${window.location.origin}/${dynamicPart}/v1`;
64
+ if (globalThis.activeHost) {
65
+ API_CONFIGS.api = `${window.location.origin}/host/v1`;
66
+ return;
67
+ }
68
+ else {
69
+ const pathArray = window.location.href.split('/');
70
+ const dynamicPart = pathArray[4];
71
+ API_CONFIGS.api = `${window.location.origin}/${dynamicPart}/v1`;
72
+ }
67
73
  }
68
74
  };
69
75
  },
@@ -1 +1 @@
1
- {"version":3,"file":"aril-boot-config-plugins.mjs","sources":["../../projects/aril/boot/config/plugins/src/getNgZone.ts","../../projects/aril/boot/config/plugins/src/interfaces.ts","../../projects/aril/boot/config/plugins/src/plugins.service.ts","../../projects/aril/boot/config/plugins/aril-boot-config-plugins.ts"],"sourcesContent":["import { NgZone } from '@angular/core';\r\n\r\nexport const getNgZone = () => {\r\n\tif ((<any>globalThis).hostZone) {\r\n\t\treturn { provide: NgZone, useValue: (<any>globalThis).hostZone };\r\n\t} else if ((<any>globalThis).mfeZone) {\r\n\t\treturn { provide: NgZone, useValue: (<any>globalThis).mfeZone };\r\n\t} else return [];\r\n};\r\n","import { LoadRemoteModuleScriptOptions } from '@angular-architects/module-federation';\r\n\r\ninterface PluginItem {\r\n\toptions: LoadRemoteModuleScriptOptions & { elementName: string };\r\n\tprops: { [key in string]: any };\r\n\tevents: { [key in string]: Function };\r\n}\r\n\r\nexport type PluginConfigs = { [key in string]: PluginItem };\r\n\r\nexport class FactoryClass {}\r\n","import { HttpClient, provideHttpClient, withInterceptors } from '@angular/common/http';\r\nimport { APP_INITIALIZER, ApplicationConfig, Type, importProvidersFrom, isDevMode } from '@angular/core';\r\nimport { createCustomElement } from '@angular/elements';\r\nimport { createApplication } from '@angular/platform-browser';\r\nimport { provideAnimations } from '@angular/platform-browser/animations';\r\n\r\nimport { ConfirmationService, MessageService } from 'primeng/api';\r\nimport { ConfirmDialogModule } from 'primeng/confirmdialog';\r\nimport { ConfirmPopupModule } from 'primeng/confirmpopup';\r\nimport { DialogModule } from 'primeng/dialog';\r\nimport { MessagesModule } from 'primeng/messages';\r\nimport { ToastModule } from 'primeng/toast';\r\n\r\nimport { KeycloakAngularModule } from 'keycloak-angular';\r\nimport { Observable, catchError, of, tap } from 'rxjs';\r\n\r\nimport { API_CONFIGS } from 'aril/boot/config/api';\r\nimport { i18nFolderName, i18nModule } from 'aril/i18n';\r\nimport { authInterceptor } from 'aril/keycloak';\r\n\r\nimport { getNgZone } from './getNgZone';\r\nimport { FactoryClass, PluginConfigs } from './interfaces';\r\n\r\nexport const PLUGINS = new FactoryClass() as FactoryClass & PluginConfigs;\r\n\r\nexport function loadPlugins(httpBackend: { httpClient: HttpClient }): () => Observable<any> {\r\n\treturn () => {\r\n\t\treturn httpBackend.httpClient\r\n\t\t\t.get<PluginConfigs>(isDevMode() ? './assets/local-configs/plugin.local.json' : './assets/plugin.json')\r\n\t\t\t.pipe(\r\n\t\t\t\ttap((configs) => {\r\n\t\t\t\t\tObject.assign(PLUGINS, { ...configs });\r\n\t\t\t\t}),\r\n\t\t\t\tcatchError((err) => {\r\n\t\t\t\t\tconsole.log('Error Plugins Loading', err);\r\n\t\t\t\t\treturn of();\r\n\t\t\t\t})\r\n\t\t\t);\r\n\t};\r\n}\r\n\r\nexport async function bootPlugin(selector: string, component: Type<any>) {\r\n\tif (customElements.get(selector)) return;\r\n\r\n\tconst config: ApplicationConfig = {\r\n\t\tproviders: [\r\n\t\t\tprovideAnimations(),\r\n\t\t\tprovideHttpClient(withInterceptors([authInterceptor])),\r\n\t\t\timportProvidersFrom(\r\n\t\t\t\ti18nModule,\r\n\t\t\t\tKeycloakAngularModule,\r\n\t\t\t\tConfirmDialogModule,\r\n\t\t\t\tConfirmPopupModule,\r\n\t\t\t\tDialogModule,\r\n\t\t\t\tMessagesModule,\r\n\t\t\t\tToastModule\r\n\t\t\t),\r\n\t\t\tgetNgZone(),\r\n\t\t\tMessageService,\r\n\t\t\tConfirmationService,\r\n\t\t\t{\r\n\t\t\t\tprovide: APP_INITIALIZER,\r\n\t\t\t\tuseFactory: () => {\r\n\t\t\t\t\treturn () => {\r\n\t\t\t\t\t\tif (isDevMode()) {\r\n\t\t\t\t\t\t\tAPI_CONFIGS.api = (<any>globalThis).hostAPI \r\n\t\t\t\t\t\t} else{\r\n\t\t\t\t\t\t\tconst pathArray = window.location.href.split('/');\r\n\t\t\t\t\t\t\tconst dynamicPart = pathArray[4]; \r\n\t\t\t\t\t\t\tAPI_CONFIGS.api = `${window.location.origin}/${dynamicPart}/v1`;\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t};\r\n\t\t\t\t},\r\n\t\t\t\tmulti: true\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\tprovide: i18nFolderName,\r\n\t\t\t\tuseValue: 'host'\r\n\t\t\t}\r\n\t\t]\r\n\t};\r\n\r\n\tconst appRef = await createApplication(config);\r\n\tconst plugin = createCustomElement(component, { injector: appRef.injector });\r\n\r\n\tcustomElements.define(selector, plugin);\r\n}\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAEO,MAAM,SAAS,GAAG,MAAK;AAC7B,IAAA,IAAU,UAAW,CAAC,QAAQ,EAAE;QAC/B,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAQ,UAAW,CAAC,QAAQ,EAAE,CAAC;KACjE;AAAM,SAAA,IAAU,UAAW,CAAC,OAAO,EAAE;QACrC,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAQ,UAAW,CAAC,OAAO,EAAE,CAAC;KAChE;;AAAM,QAAA,OAAO,EAAE,CAAC;AAClB;;MCEa,YAAY,CAAA;AAAG;;ACaf,MAAA,OAAO,GAAG,IAAI,YAAY,GAAmC;AAEpE,SAAU,WAAW,CAAC,WAAuC,EAAA;AAClE,IAAA,OAAO,MAAK;QACX,OAAO,WAAW,CAAC,UAAU;aAC3B,GAAG,CAAgB,SAAS,EAAE,GAAG,0CAA0C,GAAG,sBAAsB,CAAC;AACrG,aAAA,IAAI,CACJ,GAAG,CAAC,CAAC,OAAO,KAAI;YACf,MAAM,CAAC,MAAM,CAAC,OAAO,EAAE,EAAE,GAAG,OAAO,EAAE,CAAC,CAAC;AACxC,SAAC,CAAC,EACF,UAAU,CAAC,CAAC,GAAG,KAAI;AAClB,YAAA,OAAO,CAAC,GAAG,CAAC,uBAAuB,EAAE,GAAG,CAAC,CAAC;YAC1C,OAAO,EAAE,EAAE,CAAC;SACZ,CAAC,CACF,CAAC;AACJ,KAAC,CAAC;AACH,CAAC;AAEM,eAAe,UAAU,CAAC,QAAgB,EAAE,SAAoB,EAAA;AACtE,IAAA,IAAI,cAAc,CAAC,GAAG,CAAC,QAAQ,CAAC;QAAE,OAAO;AAEzC,IAAA,MAAM,MAAM,GAAsB;AACjC,QAAA,SAAS,EAAE;AACV,YAAA,iBAAiB,EAAE;AACnB,YAAA,iBAAiB,CAAC,gBAAgB,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC;AACtD,YAAA,mBAAmB,CAClB,UAAU,EACV,qBAAqB,EACrB,mBAAmB,EACnB,kBAAkB,EAClB,YAAY,EACZ,cAAc,EACd,WAAW,CACX;AACD,YAAA,SAAS,EAAE;YACX,cAAc;YACd,mBAAmB;AACnB,YAAA;AACC,gBAAA,OAAO,EAAE,eAAe;gBACxB,UAAU,EAAE,MAAK;AAChB,oBAAA,OAAO,MAAK;wBACX,IAAI,SAAS,EAAE,EAAE;AAChB,4BAAA,WAAW,CAAC,GAAG,GAAS,UAAW,CAAC,OAAO,CAAA;yBAC3C;6BAAK;AACL,4BAAA,MAAM,SAAS,GAAG,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;AAClD,4BAAA,MAAM,WAAW,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC;AACjC,4BAAA,WAAW,CAAC,GAAG,GAAG,CAAA,EAAG,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAA,CAAA,EAAI,WAAW,CAAA,GAAA,CAAK,CAAC;yBAChE;AACF,qBAAC,CAAC;iBACF;AACD,gBAAA,KAAK,EAAE,IAAI;AACX,aAAA;AACD,YAAA;AACC,gBAAA,OAAO,EAAE,cAAc;AACvB,gBAAA,QAAQ,EAAE,MAAM;AAChB,aAAA;AACD,SAAA;KACD,CAAC;AAEF,IAAA,MAAM,MAAM,GAAG,MAAM,iBAAiB,CAAC,MAAM,CAAC,CAAC;AAC/C,IAAA,MAAM,MAAM,GAAG,mBAAmB,CAAC,SAAS,EAAE,EAAE,QAAQ,EAAE,MAAM,CAAC,QAAQ,EAAE,CAAC,CAAC;AAE7E,IAAA,cAAc,CAAC,MAAM,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;AACzC;;ACtFA;;AAEG;;;;"}
1
+ {"version":3,"file":"aril-boot-config-plugins.mjs","sources":["../../projects/aril/boot/config/plugins/src/getNgZone.ts","../../projects/aril/boot/config/plugins/src/interfaces.ts","../../projects/aril/boot/config/plugins/src/plugins.service.ts","../../projects/aril/boot/config/plugins/aril-boot-config-plugins.ts"],"sourcesContent":["import { NgZone } from '@angular/core';\r\n\r\nexport const getNgZone = () => {\r\n\tif ((<any>globalThis).hostZone) {\r\n\t\treturn { provide: NgZone, useValue: (<any>globalThis).hostZone };\r\n\t} else if ((<any>globalThis).mfeZone) {\r\n\t\treturn { provide: NgZone, useValue: (<any>globalThis).mfeZone };\r\n\t} else return [];\r\n};\r\n","import { LoadRemoteModuleScriptOptions } from '@angular-architects/module-federation';\r\n\r\ninterface PluginItem {\r\n\toptions: LoadRemoteModuleScriptOptions & { elementName: string };\r\n\tprops: { [key in string]: any };\r\n\tevents: { [key in string]: Function };\r\n}\r\n\r\nexport type PluginConfigs = { [key in string]: PluginItem };\r\n\r\nexport class FactoryClass {}\r\n","import { HttpClient, provideHttpClient, withInterceptors } from '@angular/common/http';\r\nimport { APP_INITIALIZER, ApplicationConfig, Type, importProvidersFrom, isDevMode } from '@angular/core';\r\nimport { createCustomElement } from '@angular/elements';\r\nimport { createApplication } from '@angular/platform-browser';\r\nimport { provideAnimations } from '@angular/platform-browser/animations';\r\n\r\nimport { ConfirmationService, MessageService } from 'primeng/api';\r\nimport { ConfirmDialogModule } from 'primeng/confirmdialog';\r\nimport { ConfirmPopupModule } from 'primeng/confirmpopup';\r\nimport { DialogModule } from 'primeng/dialog';\r\nimport { MessagesModule } from 'primeng/messages';\r\nimport { ToastModule } from 'primeng/toast';\r\n\r\nimport { KeycloakAngularModule } from 'keycloak-angular';\r\nimport { Observable, catchError, of, tap } from 'rxjs';\r\n\r\nimport { API_CONFIGS } from 'aril/boot/config/api';\r\nimport { i18nFolderName, i18nModule } from 'aril/i18n';\r\nimport { authInterceptor } from 'aril/keycloak';\r\n\r\nimport { getNgZone } from './getNgZone';\r\nimport { FactoryClass, PluginConfigs } from './interfaces';\r\n\r\nexport const PLUGINS = new FactoryClass() as FactoryClass & PluginConfigs;\r\n\r\nexport function loadPlugins(httpBackend: { httpClient: HttpClient }): () => Observable<any> {\r\n\treturn () => {\r\n\t\treturn httpBackend.httpClient\r\n\t\t\t.get<PluginConfigs>(isDevMode() ? './assets/local-configs/plugin.local.json' : './assets/plugin.json')\r\n\t\t\t.pipe(\r\n\t\t\t\ttap((configs) => {\r\n\t\t\t\t\tObject.assign(PLUGINS, { ...configs });\r\n\t\t\t\t}),\r\n\t\t\t\tcatchError((err) => {\r\n\t\t\t\t\tconsole.log('Error Plugins Loading', err);\r\n\t\t\t\t\treturn of();\r\n\t\t\t\t})\r\n\t\t\t);\r\n\t};\r\n}\r\n\r\nexport async function bootPlugin(selector: string, component: Type<any>) {\r\n\tif (customElements.get(selector)) return;\r\n\r\n\tconst config: ApplicationConfig = {\r\n\t\tproviders: [\r\n\t\t\tprovideAnimations(),\r\n\t\t\tprovideHttpClient(withInterceptors([authInterceptor])),\r\n\t\t\timportProvidersFrom(\r\n\t\t\t\ti18nModule,\r\n\t\t\t\tKeycloakAngularModule,\r\n\t\t\t\tConfirmDialogModule,\r\n\t\t\t\tConfirmPopupModule,\r\n\t\t\t\tDialogModule,\r\n\t\t\t\tMessagesModule,\r\n\t\t\t\tToastModule\r\n\t\t\t),\r\n\t\t\tgetNgZone(),\r\n\t\t\tMessageService,\r\n\t\t\tConfirmationService,\r\n\t\t\t{\r\n\t\t\t\tprovide: APP_INITIALIZER,\r\n\t\t\t\tuseFactory: () => {\r\n\t\t\t\t\treturn () => {\r\n\t\t\t\t\t\tif (isDevMode()) {\r\n\t\t\t\t\t\t\tAPI_CONFIGS.api = (<any>globalThis).hostAPI \r\n\t\t\t\t\t\t} else{\r\n\t\t\t\t\t\t\tif((<any>globalThis).activeHost){\r\n\t\t\t\t\t\t\t\tAPI_CONFIGS.api =`${window.location.origin}/host/v1`;\r\n\t\t\t\t\t\t\t\treturn;\r\n\t\t\t\t\t\t\t}else{\r\n\t\t\t\t\t\t\t\tconst pathArray = window.location.href.split('/');\r\n\t\t\t\t\t\t\t\tconst dynamicPart = pathArray[4]; \r\n\t\t\t\t\t\t\t\tAPI_CONFIGS.api = `${window.location.origin}/${dynamicPart}/v1`;\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t};\r\n\t\t\t\t},\r\n\t\t\t\tmulti: true\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\tprovide: i18nFolderName,\r\n\t\t\t\tuseValue: 'host'\r\n\t\t\t}\r\n\t\t]\r\n\t};\r\n\r\n\tconst appRef = await createApplication(config);\r\n\tconst plugin = createCustomElement(component, { injector: appRef.injector });\r\n\r\n\tcustomElements.define(selector, plugin);\r\n}\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
@@ -177,7 +177,7 @@ const errorState = (states, serviceName, error, translocoService, messageService
177
177
  summary: httpError,
178
178
  detail: error?.error?.display ?
179
179
  error?.error?.display
180
- : `${error?.error?.message} ${error.error.details?.map((detail) => detail.reason).join(' ')}`
180
+ : `${error?.error?.message} ${(error.error.details?.map((detail) => detail.reason) ?? []).join(' ')}`
181
181
  });
182
182
  if (message?.error) {
183
183
  messageService.add({
@@ -1 +1 @@
1
- {"version":3,"file":"aril-http.mjs","sources":["../../projects/aril/http/lib/enums.ts","../../projects/aril/http/lib/interfaces.ts","../../projects/aril/http/src/httpBackend.ts","../../projects/aril/http/src/httpClient.ts","../../projects/aril/http/src/serviceRequest.ts","../../projects/aril/http/src/serviceStateMethods.ts","../../projects/aril/http/src/serviceBase.ts","../../projects/aril/http/src/serviceMockBase.ts","../../projects/aril/http/src/interceptor/state-machine.interceptor.ts","../../projects/aril/http/index.ts","../../projects/aril/http/aril-http.ts"],"sourcesContent":["export enum HTTPMethods {\r\n\tGET = 'GET',\r\n\tGETBYPARAMS = 'GETBYPARAMS',\r\n\tGETBYDYNAMICPATH = 'GETBYDYNAMICPATH',\r\n\tPOST = 'POST',\r\n\tPOSTBYPARAMS = 'POSTBYPARAMS',\r\n\tPOSTBYDYNAMICPATH = 'POSTBYDYNAMICPATH',\r\n\tPUT = 'PUT',\r\n\tDELETE = 'DELETE',\r\n\tDELETEBYPARAMS = 'DELETEBYPARAMS',\r\n\tDELETEBYDYNAMICPATH = 'DELETEBYDYNAMICPATH'\r\n}\r\nexport enum ProxyTypes {\r\n\tNative,\r\n\tServerSide,\r\n\tClientSide\r\n}\r\n","/* eslint-disable @typescript-eslint/no-explicit-any */\r\n\r\n/* eslint-disable @typescript-eslint/ban-types */\r\nimport { HttpErrorResponse } from '@angular/common/http';\r\n\r\nimport { ProxyTypes } from './enums';\r\n\r\nexport interface ServiceCallStates {\r\n\tserviceCalled: boolean;\r\n\twaitingForResponse: boolean;\r\n\tresponseIsRecieved: boolean;\r\n\tserviceCallFailed: boolean;\r\n}\r\n\r\nexport type ServiceCallStateMap<T> = {\r\n\t[K in keyof T]?: T[K] extends Function ? ServiceCallStates : never;\r\n};\r\n\r\nexport class ErrorResponse {\r\n\terror: HttpErrorResponse | undefined;\r\n\r\n\tconstructor(err: HttpErrorResponse | undefined) {\r\n\t\tthis.error = err;\r\n\t}\r\n}\r\n\r\nexport class ServiceResponse<T> extends ErrorResponse {\r\n\trequest: any;\r\n\tresponse: T;\r\n\tproxy: ProxyTypes;\r\n\r\n\tconstructor(request: any, response: T, proxy: ProxyTypes) {\r\n\t\tsuper(undefined);\r\n\t\tthis.request = request;\r\n\t\tthis.response = response;\r\n\t\tthis.proxy = proxy;\r\n\t}\r\n}\r\n\r\nexport interface ErrorDetail {\r\n\tfieldName: string;\r\n\treason: string;\r\n\tdescription: string;\r\n}\r\n","import { HttpBackend, HttpClient } from '@angular/common/http';\r\nimport { Injectable } from '@angular/core';\r\n\r\n// WithoutInterceptorHttpClient\r\n@Injectable({ providedIn: 'root' })\r\nexport class HttpBackendService {\r\n\tpublic httpClient: HttpClient;\r\n\r\n\tconstructor(handler: HttpBackend) {\r\n\t\tthis.httpClient = new HttpClient(handler);\r\n\t}\r\n}\r\n","/* eslint-disable @typescript-eslint/no-explicit-any */\r\nimport { HttpClient } from '@angular/common/http';\r\nimport { Injector, inject } from '@angular/core';\r\n\r\nimport { MessageService } from 'primeng/api';\r\n\r\nimport { TranslocoService } from '@ngneat/transloco';\r\n\r\n// import { KeycloakService } from 'keycloak-angular';\r\nimport { ServiceCallStateMap } from '../lib/interfaces';\r\n\r\nexport abstract class RestClient {\r\n\tprivate readonly httpClient = inject(HttpClient);\r\n\tprivate readonly injector = inject(Injector);\r\n\tprivate readonly messageService = inject(MessageService);\r\n\tprivate readonly translocoService = inject(TranslocoService);\r\n\t// private readonly keycloak = inject(KeycloakService);\r\n\r\n\tabstract states: ServiceCallStateMap<any>;\r\n}\r\n","import { HttpParams } from '@angular/common/http';\r\n\r\nimport { Interfaces } from 'aril/util/lib';\r\n\r\nimport { HTTPMethods } from '../lib/enums';\r\n\r\nexport function getRequest(httpMethod: HTTPMethods, args: any[]): HttpParams | Interfaces.MapStringAny | undefined {\r\n\tif (!args.length) return undefined;\r\n\r\n\tswitch (httpMethod) {\r\n\t\tcase HTTPMethods.PUT:\r\n\t\t\treturn args[1];\r\n\t\tcase HTTPMethods.POSTBYPARAMS:\r\n\t\tcase HTTPMethods.GETBYPARAMS:\r\n\t\tcase HTTPMethods.DELETEBYPARAMS:\r\n\t\t\tconst dto = httpMethod === HTTPMethods.POSTBYPARAMS ? args[0].queryParams : args[0];\r\n\t\t\tlet queryParams = new HttpParams();\r\n\r\n\t\t\tfor (const [key, value] of Object.entries(dto)) {\r\n\t\t\t\tqueryParams = queryParams.append(key, value as any);\r\n\t\t\t}\r\n\r\n\t\t\treturn queryParams;\r\n\t\tdefault:\r\n\t\t\treturn args[0];\r\n\t}\r\n}\r\n","/* eslint-disable @typescript-eslint/no-explicit-any */\r\nimport { HttpErrorResponse } from '@angular/common/http';\r\n\r\nimport { MessageService } from 'primeng/api';\r\n\r\nimport { TranslocoService } from '@ngneat/transloco';\r\n\r\nimport { ErrorDetail, ServiceCallStateMap } from '../lib/interfaces';\r\n\r\nexport const callState = (states: ServiceCallStateMap<any>, serviceName: any): void => {\r\n\tstates[serviceName] = {\r\n\t\tserviceCalled: true,\r\n\t\twaitingForResponse: true,\r\n\t\tresponseIsRecieved: false,\r\n\t\tserviceCallFailed: false\r\n\t};\r\n};\r\n\r\nexport const successState = (\r\n\tstates: ServiceCallStateMap<any>,\r\n\tserviceName: any,\r\n\ttranslocoService: TranslocoService,\r\n\tmessageService: MessageService,\r\n\tmessage?: { success?: string; error?: string },\r\n\tresponse?: any\r\n): void => {\r\n\tstates[serviceName] = {\r\n\t\tserviceCalled: true,\r\n\t\twaitingForResponse: false,\r\n\t\tresponseIsRecieved: true,\r\n\t\tserviceCallFailed: false\r\n\t};\r\n\r\n\tif (message?.success) {\r\n\t\tmessageService.add({\r\n\t\t\tkey: 'toast-root',\r\n\t\t\tseverity: 'success',\r\n\t\t\tsummary: getTranslatedMessage(<string>message.success, translocoService, response)\r\n\t\t});\r\n\t}\r\n};\r\n\r\nexport const errorState = (\r\n\tstates: ServiceCallStateMap<any>,\r\n\tserviceName: any,\r\n\terror: HttpErrorResponse,\r\n\ttranslocoService: TranslocoService,\r\n\tmessageService: MessageService,\r\n\tmessage?: { success?: string; error?: string; display?: string }\r\n): void => {\r\n\tstates[serviceName] = {\r\n\t\tserviceCalled: true,\r\n\t\twaitingForResponse: false,\r\n\t\tresponseIsRecieved: true,\r\n\t\tserviceCallFailed: true\r\n\t};\r\n\r\n\tlet httpError: string;\r\n\r\n\tswitch (error.status) {\r\n\t\tcase 400:\r\n\t\t\thttpError = 'Hatalı İstek';\r\n\t\t\tbreak;\r\n\t\tcase 401:\r\n\t\t\thttpError = 'Yetkisiz Erişim';\r\n\t\t\tbreak;\r\n\t\tcase 403:\r\n\t\t\thttpError = 'Erişim Engellendi';\r\n\t\t\tbreak;\r\n\t\tcase 404:\r\n\t\t\thttpError = 'Kaynak Bulunamadı';\r\n\t\t\tbreak;\r\n\t\tcase 405:\r\n\t\t\thttpError = 'İzin Verilmeyen Metod';\r\n\t\t\tbreak;\r\n\t\tcase 406:\r\n\t\t\thttpError = 'Kabul Edilemez Başlık';\r\n\t\t\tbreak;\r\n\t\tcase 408:\r\n\t\t\thttpError = 'Zaman Aşımı';\r\n\t\t\tbreak;\r\n\t\tcase 409:\r\n\t\t\thttpError = 'Çakışma';\r\n\t\t\tbreak;\r\n\t\tcase 500:\r\n\t\t\thttpError = 'Sunucu Hatası';\r\n\t\t\tbreak;\r\n\t\tcase 501:\r\n\t\t\thttpError = 'Sunucu Yapılandırma Hatası';\r\n\t\t\tbreak;\r\n\t\tcase 502:\r\n\t\t\thttpError = 'Geçersiz Ağ Geçidi';\r\n\t\t\tbreak;\r\n\t\tcase 503:\r\n\t\t\thttpError = 'Sunucu Hizmet Vermiyor';\r\n\t\t\tbreak;\r\n\t\tcase 504:\r\n\t\t\thttpError = 'Ağ Geçidi Zaman Aşımı';\r\n\t\t\tbreak;\r\n\t\tcase 505:\r\n\t\t\thttpError = 'HTTP Protokol Desteklenmiyor';\r\n\t\t\tbreak;\r\n\t\tcase 511:\r\n\t\t\thttpError = 'Ağ Kimlik Doğrulaması Gerekli';\r\n\t\t\tbreak;\r\n\t\tcase 599:\r\n\t\t\thttpError = 'Ağ Bağlantısı Zaman Aşımı';\r\n\t\t\tbreak;\r\n\t\tdefault:\r\n\t\t\thttpError = error?.error?.message;\r\n\t\t\tbreak;\r\n\t}\r\n\r\n\tmessageService.add({\r\n\t\tkey: 'toast-root',\r\n\t\tseverity: 'error',\r\n\t\tsummary: httpError,\r\n\t\tdetail:\r\n\t\t\terror?.error?.display ?\r\n\t\t\t\terror?.error?.display\r\n\t\t\t:\t`${error?.error?.message} ${error.error.details?.map((detail: ErrorDetail) => detail.reason).join(' ')}`\r\n\t});\r\n\r\n\tif (message?.error) {\r\n\t\tmessageService.add({\r\n\t\t\tkey: 'toast-root',\r\n\t\t\tseverity: 'error',\r\n\t\t\tsummary:\r\n\t\t\t\terror?.error?.display ? error?.error?.display : getTranslatedMessage(<string>message.error, translocoService)\r\n\t\t});\r\n\t}\r\n};\r\n\r\nconst getTranslatedMessage = (messageCode: string, translocoService: TranslocoService, response?: any): string => {\r\n\tconst translateObject = translocoService.getTranslation().get(translocoService.getActiveLang());\r\n\tlet translatedMessage = translateObject?.[messageCode] ?? messageCode;\r\n\r\n\tconst paramStartSymbol = '{{';\r\n\tconst paramEndSymbol = '}}';\r\n\r\n\tif (response && translatedMessage.includes(paramStartSymbol) && translatedMessage.includes(paramEndSymbol)) {\r\n\t\tdo {\r\n\t\t\tlet paramStartIndex = translatedMessage.indexOf(paramStartSymbol);\r\n\t\t\tlet paramEndIndex = translatedMessage.indexOf(paramEndSymbol);\r\n\t\t\tlet paramKey = translatedMessage.slice(paramStartIndex + paramStartSymbol.length, paramEndIndex);\r\n\r\n\t\t\t// Splitting the key to get nested object values\r\n\t\t\tlet paramKeyList = paramKey.split('.');\r\n\t\t\tlet paramValue;\r\n\r\n\t\t\tfor (let key of paramKeyList) {\r\n\t\t\t\tparamValue = paramValue ? paramValue[key] : response[key];\r\n\t\t\t}\r\n\r\n\t\t\tlet replacePattern = `${paramStartSymbol}${paramKey}${paramEndSymbol}`;\r\n\t\t\ttranslatedMessage = translatedMessage.replace(replacePattern, paramValue);\r\n\t\t} while (translatedMessage.includes(paramStartSymbol));\r\n\t}\r\n\r\n\treturn translatedMessage;\r\n};\r\n","/* eslint-disable @typescript-eslint/no-explicit-any */\r\nimport { HttpClient, HttpErrorResponse, HttpParams } from '@angular/common/http';\r\nimport { runInInjectionContext } from '@angular/core';\r\nimport { takeUntilDestroyed } from '@angular/core/rxjs-interop';\r\n\r\nimport { Observable, of } from 'rxjs';\r\nimport { catchError, map, tap } from 'rxjs/operators';\r\n\r\nimport { API_CONFIGS } from 'aril/boot/config/api';\r\n\r\nimport { HTTPMethods, ProxyTypes } from '../lib/enums';\r\nimport { ErrorResponse, ServiceCallStateMap, ServiceResponse } from '../lib/interfaces';\r\nimport { getRequest } from './serviceRequest';\r\nimport { callState, errorState, successState } from './serviceStateMethods';\r\n\r\nexport function ServiceCall(\r\n\thttpMethod: HTTPMethods,\r\n\tproxy: ProxyTypes,\r\n\tserviceURL: string,\r\n\tmessage?: { success?: string; error?: string },\r\n\tremoteAPI?: string,\r\n\tisMockAPI = false\r\n): MethodDecorator {\r\n\treturn function (serviceClass: object, serviceName: string | symbol, descriptor: PropertyDescriptor) {\r\n\t\t// const originalFunction = descriptor.value;\r\n\r\n\t\tdescriptor.value = function (...args: any[]) {\r\n\t\t\treturn runInInjectionContext((<any>this).injector, () => {\r\n\t\t\t\tconst httpClient: HttpClient = (<any>this).httpClient;\r\n\r\n\t\t\t\tlet api = '';\r\n\t\t\t\tif (isMockAPI) api = <string>remoteAPI;\r\n\t\t\t\telse if (remoteAPI) {\r\n\t\t\t\t\tconst url = new URL(API_CONFIGS.api);\r\n\t\t\t\t\tapi = url.origin + '/' + remoteAPI;\r\n\t\t\t\t} else api = API_CONFIGS.api;\r\n\r\n\t\t\t\tconst endPoint = api + '/' + serviceURL;\r\n\t\t\t\tconst request = getRequest(httpMethod, args);\r\n\t\t\t\tconst states: ServiceCallStateMap<any> = (<any>this).states;\r\n\r\n\t\t\t\tcallState(states, serviceName);\r\n\r\n\t\t\t\tlet observable: Observable<any> = new Observable<any>();\r\n\r\n\t\t\t\tswitch (httpMethod) {\r\n\t\t\t\t\tcase HTTPMethods.GET:\r\n\t\t\t\t\t\tlet getReq = args.length ? '/' + args[0] : '';\r\n\t\t\t\t\t\tobservable = httpClient.get<any>(endPoint + getReq, { responseType: 'json' });\r\n\t\t\t\t\t\tbreak;\r\n\t\t\t\t\tcase HTTPMethods.GETBYPARAMS:\r\n\t\t\t\t\t\tobservable = httpClient.get<any>(endPoint, { params: request as HttpParams, responseType: 'json' });\r\n\t\t\t\t\t\tbreak;\r\n\t\t\t\t\tcase HTTPMethods.GETBYDYNAMICPATH:\r\n\t\t\t\t\t\targs.forEach((arg) => {\r\n\t\t\t\t\t\t\tserviceURL = serviceURL.replace('$', arg);\r\n\t\t\t\t\t\t});\r\n\t\t\t\t\t\tobservable = httpClient.get<any>(api + '/' + serviceURL, { responseType: 'json' });\r\n\t\t\t\t\t\tbreak;\r\n\t\t\t\t\tcase HTTPMethods.POST:\r\n\t\t\t\t\t\tobservable = httpClient.post<any>(endPoint, args[0], { responseType: 'json' });\r\n\t\t\t\t\t\tbreak;\r\n\t\t\t\t\tcase HTTPMethods.POSTBYPARAMS:\r\n\t\t\t\t\t\tobservable = httpClient.post<any>(endPoint, args[0].body, { params: request, responseType: 'json' });\r\n\t\t\t\t\t\tbreak;\r\n\t\t\t\t\tcase HTTPMethods.POSTBYDYNAMICPATH:\r\n\t\t\t\t\t\tlet body = {};\r\n\t\t\t\t\t\targs.forEach((arg) => {\r\n\t\t\t\t\t\t\tif (typeof arg === 'object') body = arg;\r\n\t\t\t\t\t\t\telse serviceURL = serviceURL.replace('$', arg);\r\n\t\t\t\t\t\t});\r\n\t\t\t\t\t\tobservable = httpClient.post<any>(api + '/' + serviceURL, body, { responseType: 'json' });\r\n\t\t\t\t\t\tbreak;\r\n\t\t\t\t\tcase HTTPMethods.PUT:\r\n\t\t\t\t\t\tobservable = httpClient.put<any>(endPoint + '/' + args[0], request, { responseType: 'json' });\r\n\t\t\t\t\t\tbreak;\r\n\t\t\t\t\tcase HTTPMethods.DELETE:\r\n\t\t\t\t\t\tobservable = httpClient.delete<any>(endPoint + '/' + args[0], { responseType: 'json' });\r\n\t\t\t\t\t\tbreak;\r\n\t\t\t\t\tcase HTTPMethods.DELETEBYPARAMS:\r\n\t\t\t\t\t\tobservable = httpClient.delete<any>(endPoint, { params: request as HttpParams, responseType: 'json' });\r\n\t\t\t\t\t\tbreak;\r\n\t\t\t\t\tcase HTTPMethods.DELETEBYDYNAMICPATH:\r\n\t\t\t\t\t\targs.forEach((arg) => {\r\n\t\t\t\t\t\t\tserviceURL = serviceURL.replace('$', arg);\r\n\t\t\t\t\t\t});\r\n\r\n\t\t\t\t\t\tobservable = httpClient.delete<any>(api + '/' + serviceURL, { responseType: 'json' });\r\n\t\t\t\t\t\tbreak;\r\n\t\t\t\t}\r\n\r\n\t\t\t\tobservable = observable.pipe(\r\n\t\t\t\t\tmap((response) => new ServiceResponse(request, response, proxy)),\r\n\t\t\t\t\ttap((resp) =>\r\n\t\t\t\t\t\tsuccessState(\r\n\t\t\t\t\t\t\tstates,\r\n\t\t\t\t\t\t\tserviceName,\r\n\t\t\t\t\t\t\t(<any>this).translocoService,\r\n\t\t\t\t\t\t\t(<any>this).messageService,\r\n\t\t\t\t\t\t\tmessage,\r\n\t\t\t\t\t\t\tresp.response\r\n\t\t\t\t\t\t)\r\n\t\t\t\t\t),\r\n\t\t\t\t\tcatchError((error: HttpErrorResponse) => {\r\n\t\t\t\t\t\terrorState(states, serviceName, error, (<any>this).translocoService, (<any>this).messageService, message);\r\n\t\t\t\t\t\treturn of(new ErrorResponse(error));\r\n\t\t\t\t\t}),\r\n\t\t\t\t\ttakeUntilDestroyed()\r\n\t\t\t\t);\r\n\r\n\t\t\t\treturn observable;\r\n\t\t\t});\r\n\t\t};\r\n\t};\r\n}\r\n","import { HTTPMethods, ProxyTypes } from '../lib/enums';\r\nimport { ServiceCall } from './serviceBase';\r\n\r\nexport function ServiceCallMock(\r\n\thttpMethod: HTTPMethods,\r\n\tproxy: ProxyTypes,\r\n\tserviceURL: string,\r\n\tmockAPI: string,\r\n\tmessage?: { success?: string; error?: string; useDefault: boolean }\r\n) {\r\n\treturn ServiceCall(httpMethod, proxy, serviceURL, message, mockAPI, true);\r\n}\r\n","import { HttpHandlerFn, HttpInterceptorFn, HttpRequest } from '@angular/common/http';\r\n\r\nexport const stateMachineInterceptor: HttpInterceptorFn = (req: HttpRequest<unknown>, next: HttpHandlerFn) => {\r\n\tlet clone = req;\r\n\tif (req.url.includes('state-machine/v1')) {\r\n\t\tclone = req.clone({ url: req.url.split('/host/v1').join('') });\r\n\t}\r\n\treturn next(clone);\r\n};\r\n","/* lib */\r\nexport * from './lib/enums';\r\nexport * from './lib/interfaces';\r\n\r\n/* src */\r\nexport * from './src/httpBackend';\r\nexport * from './src/httpClient';\r\nexport * from './src/serviceBase';\r\nexport * from './src/serviceMockBase';\r\nexport * from './src/serviceStateMethods';\r\n\r\n/* interceptor */\r\nexport * from './src/interceptor/state-machine.interceptor';\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"aril-http.mjs","sources":["../../projects/aril/http/lib/enums.ts","../../projects/aril/http/lib/interfaces.ts","../../projects/aril/http/src/httpBackend.ts","../../projects/aril/http/src/httpClient.ts","../../projects/aril/http/src/serviceRequest.ts","../../projects/aril/http/src/serviceStateMethods.ts","../../projects/aril/http/src/serviceBase.ts","../../projects/aril/http/src/serviceMockBase.ts","../../projects/aril/http/src/interceptor/state-machine.interceptor.ts","../../projects/aril/http/index.ts","../../projects/aril/http/aril-http.ts"],"sourcesContent":["export enum HTTPMethods {\r\n\tGET = 'GET',\r\n\tGETBYPARAMS = 'GETBYPARAMS',\r\n\tGETBYDYNAMICPATH = 'GETBYDYNAMICPATH',\r\n\tPOST = 'POST',\r\n\tPOSTBYPARAMS = 'POSTBYPARAMS',\r\n\tPOSTBYDYNAMICPATH = 'POSTBYDYNAMICPATH',\r\n\tPUT = 'PUT',\r\n\tDELETE = 'DELETE',\r\n\tDELETEBYPARAMS = 'DELETEBYPARAMS',\r\n\tDELETEBYDYNAMICPATH = 'DELETEBYDYNAMICPATH'\r\n}\r\nexport enum ProxyTypes {\r\n\tNative,\r\n\tServerSide,\r\n\tClientSide\r\n}\r\n","/* eslint-disable @typescript-eslint/no-explicit-any */\r\n\r\n/* eslint-disable @typescript-eslint/ban-types */\r\nimport { HttpErrorResponse } from '@angular/common/http';\r\n\r\nimport { ProxyTypes } from './enums';\r\n\r\nexport interface ServiceCallStates {\r\n\tserviceCalled: boolean;\r\n\twaitingForResponse: boolean;\r\n\tresponseIsRecieved: boolean;\r\n\tserviceCallFailed: boolean;\r\n}\r\n\r\nexport type ServiceCallStateMap<T> = {\r\n\t[K in keyof T]?: T[K] extends Function ? ServiceCallStates : never;\r\n};\r\n\r\nexport class ErrorResponse {\r\n\terror: HttpErrorResponse | undefined;\r\n\r\n\tconstructor(err: HttpErrorResponse | undefined) {\r\n\t\tthis.error = err;\r\n\t}\r\n}\r\n\r\nexport class ServiceResponse<T> extends ErrorResponse {\r\n\trequest: any;\r\n\tresponse: T;\r\n\tproxy: ProxyTypes;\r\n\r\n\tconstructor(request: any, response: T, proxy: ProxyTypes) {\r\n\t\tsuper(undefined);\r\n\t\tthis.request = request;\r\n\t\tthis.response = response;\r\n\t\tthis.proxy = proxy;\r\n\t}\r\n}\r\n\r\nexport interface ErrorDetail {\r\n\tfieldName: string;\r\n\treason: string;\r\n\tdescription: string;\r\n}\r\n","import { HttpBackend, HttpClient } from '@angular/common/http';\r\nimport { Injectable } from '@angular/core';\r\n\r\n// WithoutInterceptorHttpClient\r\n@Injectable({ providedIn: 'root' })\r\nexport class HttpBackendService {\r\n\tpublic httpClient: HttpClient;\r\n\r\n\tconstructor(handler: HttpBackend) {\r\n\t\tthis.httpClient = new HttpClient(handler);\r\n\t}\r\n}\r\n","/* eslint-disable @typescript-eslint/no-explicit-any */\r\nimport { HttpClient } from '@angular/common/http';\r\nimport { Injector, inject } from '@angular/core';\r\n\r\nimport { MessageService } from 'primeng/api';\r\n\r\nimport { TranslocoService } from '@ngneat/transloco';\r\n\r\n// import { KeycloakService } from 'keycloak-angular';\r\nimport { ServiceCallStateMap } from '../lib/interfaces';\r\n\r\nexport abstract class RestClient {\r\n\tprivate readonly httpClient = inject(HttpClient);\r\n\tprivate readonly injector = inject(Injector);\r\n\tprivate readonly messageService = inject(MessageService);\r\n\tprivate readonly translocoService = inject(TranslocoService);\r\n\t// private readonly keycloak = inject(KeycloakService);\r\n\r\n\tabstract states: ServiceCallStateMap<any>;\r\n}\r\n","import { HttpParams } from '@angular/common/http';\r\n\r\nimport { Interfaces } from 'aril/util/lib';\r\n\r\nimport { HTTPMethods } from '../lib/enums';\r\n\r\nexport function getRequest(httpMethod: HTTPMethods, args: any[]): HttpParams | Interfaces.MapStringAny | undefined {\r\n\tif (!args.length) return undefined;\r\n\r\n\tswitch (httpMethod) {\r\n\t\tcase HTTPMethods.PUT:\r\n\t\t\treturn args[1];\r\n\t\tcase HTTPMethods.POSTBYPARAMS:\r\n\t\tcase HTTPMethods.GETBYPARAMS:\r\n\t\tcase HTTPMethods.DELETEBYPARAMS:\r\n\t\t\tconst dto = httpMethod === HTTPMethods.POSTBYPARAMS ? args[0].queryParams : args[0];\r\n\t\t\tlet queryParams = new HttpParams();\r\n\r\n\t\t\tfor (const [key, value] of Object.entries(dto)) {\r\n\t\t\t\tqueryParams = queryParams.append(key, value as any);\r\n\t\t\t}\r\n\r\n\t\t\treturn queryParams;\r\n\t\tdefault:\r\n\t\t\treturn args[0];\r\n\t}\r\n}\r\n","/* eslint-disable @typescript-eslint/no-explicit-any */\r\nimport { HttpErrorResponse } from '@angular/common/http';\r\n\r\nimport { MessageService } from 'primeng/api';\r\n\r\nimport { TranslocoService } from '@ngneat/transloco';\r\n\r\nimport { ErrorDetail, ServiceCallStateMap } from '../lib/interfaces';\r\n\r\nexport const callState = (states: ServiceCallStateMap<any>, serviceName: any): void => {\r\n\tstates[serviceName] = {\r\n\t\tserviceCalled: true,\r\n\t\twaitingForResponse: true,\r\n\t\tresponseIsRecieved: false,\r\n\t\tserviceCallFailed: false\r\n\t};\r\n};\r\n\r\nexport const successState = (\r\n\tstates: ServiceCallStateMap<any>,\r\n\tserviceName: any,\r\n\ttranslocoService: TranslocoService,\r\n\tmessageService: MessageService,\r\n\tmessage?: { success?: string; error?: string },\r\n\tresponse?: any\r\n): void => {\r\n\tstates[serviceName] = {\r\n\t\tserviceCalled: true,\r\n\t\twaitingForResponse: false,\r\n\t\tresponseIsRecieved: true,\r\n\t\tserviceCallFailed: false\r\n\t};\r\n\r\n\tif (message?.success) {\r\n\t\tmessageService.add({\r\n\t\t\tkey: 'toast-root',\r\n\t\t\tseverity: 'success',\r\n\t\t\tsummary: getTranslatedMessage(<string>message.success, translocoService, response)\r\n\t\t});\r\n\t}\r\n};\r\n\r\nexport const errorState = (\r\n\tstates: ServiceCallStateMap<any>,\r\n\tserviceName: any,\r\n\terror: HttpErrorResponse,\r\n\ttranslocoService: TranslocoService,\r\n\tmessageService: MessageService,\r\n\tmessage?: { success?: string; error?: string; display?: string }\r\n): void => {\r\n\tstates[serviceName] = {\r\n\t\tserviceCalled: true,\r\n\t\twaitingForResponse: false,\r\n\t\tresponseIsRecieved: true,\r\n\t\tserviceCallFailed: true\r\n\t};\r\n\r\n\tlet httpError: string;\r\n\r\n\tswitch (error.status) {\r\n\t\tcase 400:\r\n\t\t\thttpError = 'Hatalı İstek';\r\n\t\t\tbreak;\r\n\t\tcase 401:\r\n\t\t\thttpError = 'Yetkisiz Erişim';\r\n\t\t\tbreak;\r\n\t\tcase 403:\r\n\t\t\thttpError = 'Erişim Engellendi';\r\n\t\t\tbreak;\r\n\t\tcase 404:\r\n\t\t\thttpError = 'Kaynak Bulunamadı';\r\n\t\t\tbreak;\r\n\t\tcase 405:\r\n\t\t\thttpError = 'İzin Verilmeyen Metod';\r\n\t\t\tbreak;\r\n\t\tcase 406:\r\n\t\t\thttpError = 'Kabul Edilemez Başlık';\r\n\t\t\tbreak;\r\n\t\tcase 408:\r\n\t\t\thttpError = 'Zaman Aşımı';\r\n\t\t\tbreak;\r\n\t\tcase 409:\r\n\t\t\thttpError = 'Çakışma';\r\n\t\t\tbreak;\r\n\t\tcase 500:\r\n\t\t\thttpError = 'Sunucu Hatası';\r\n\t\t\tbreak;\r\n\t\tcase 501:\r\n\t\t\thttpError = 'Sunucu Yapılandırma Hatası';\r\n\t\t\tbreak;\r\n\t\tcase 502:\r\n\t\t\thttpError = 'Geçersiz Ağ Geçidi';\r\n\t\t\tbreak;\r\n\t\tcase 503:\r\n\t\t\thttpError = 'Sunucu Hizmet Vermiyor';\r\n\t\t\tbreak;\r\n\t\tcase 504:\r\n\t\t\thttpError = 'Ağ Geçidi Zaman Aşımı';\r\n\t\t\tbreak;\r\n\t\tcase 505:\r\n\t\t\thttpError = 'HTTP Protokol Desteklenmiyor';\r\n\t\t\tbreak;\r\n\t\tcase 511:\r\n\t\t\thttpError = 'Ağ Kimlik Doğrulaması Gerekli';\r\n\t\t\tbreak;\r\n\t\tcase 599:\r\n\t\t\thttpError = 'Ağ Bağlantısı Zaman Aşımı';\r\n\t\t\tbreak;\r\n\t\tdefault:\r\n\t\t\thttpError = error?.error?.message;\r\n\t\t\tbreak;\r\n\t}\r\n\r\n\tmessageService.add({\r\n\t\tkey: 'toast-root',\r\n\t\tseverity: 'error',\r\n\t\tsummary: httpError,\r\n\t\tdetail:\r\n\t\t\terror?.error?.display ?\r\n\t\t\t\terror?.error?.display\r\n\t\t\t:\t`${error?.error?.message} ${(error.error.details?.map((detail: ErrorDetail) => detail.reason) ?? []).join(' ')}`\r\n\t});\r\n\r\n\tif (message?.error) {\r\n\t\tmessageService.add({\r\n\t\t\tkey: 'toast-root',\r\n\t\t\tseverity: 'error',\r\n\t\t\tsummary:\r\n\t\t\t\terror?.error?.display ? error?.error?.display : getTranslatedMessage(<string>message.error, translocoService)\r\n\t\t});\r\n\t}\r\n};\r\n\r\nconst getTranslatedMessage = (messageCode: string, translocoService: TranslocoService, response?: any): string => {\r\n\tconst translateObject = translocoService.getTranslation().get(translocoService.getActiveLang());\r\n\tlet translatedMessage = translateObject?.[messageCode] ?? messageCode;\r\n\r\n\tconst paramStartSymbol = '{{';\r\n\tconst paramEndSymbol = '}}';\r\n\r\n\tif (response && translatedMessage.includes(paramStartSymbol) && translatedMessage.includes(paramEndSymbol)) {\r\n\t\tdo {\r\n\t\t\tlet paramStartIndex = translatedMessage.indexOf(paramStartSymbol);\r\n\t\t\tlet paramEndIndex = translatedMessage.indexOf(paramEndSymbol);\r\n\t\t\tlet paramKey = translatedMessage.slice(paramStartIndex + paramStartSymbol.length, paramEndIndex);\r\n\r\n\t\t\t// Splitting the key to get nested object values\r\n\t\t\tlet paramKeyList = paramKey.split('.');\r\n\t\t\tlet paramValue;\r\n\r\n\t\t\tfor (let key of paramKeyList) {\r\n\t\t\t\tparamValue = paramValue ? paramValue[key] : response[key];\r\n\t\t\t}\r\n\r\n\t\t\tlet replacePattern = `${paramStartSymbol}${paramKey}${paramEndSymbol}`;\r\n\t\t\ttranslatedMessage = translatedMessage.replace(replacePattern, paramValue);\r\n\t\t} while (translatedMessage.includes(paramStartSymbol));\r\n\t}\r\n\r\n\treturn translatedMessage;\r\n};\r\n","/* eslint-disable @typescript-eslint/no-explicit-any */\r\nimport { HttpClient, HttpErrorResponse, HttpParams } from '@angular/common/http';\r\nimport { runInInjectionContext } from '@angular/core';\r\nimport { takeUntilDestroyed } from '@angular/core/rxjs-interop';\r\n\r\nimport { Observable, of } from 'rxjs';\r\nimport { catchError, map, tap } from 'rxjs/operators';\r\n\r\nimport { API_CONFIGS } from 'aril/boot/config/api';\r\n\r\nimport { HTTPMethods, ProxyTypes } from '../lib/enums';\r\nimport { ErrorResponse, ServiceCallStateMap, ServiceResponse } from '../lib/interfaces';\r\nimport { getRequest } from './serviceRequest';\r\nimport { callState, errorState, successState } from './serviceStateMethods';\r\n\r\nexport function ServiceCall(\r\n\thttpMethod: HTTPMethods,\r\n\tproxy: ProxyTypes,\r\n\tserviceURL: string,\r\n\tmessage?: { success?: string; error?: string },\r\n\tremoteAPI?: string,\r\n\tisMockAPI = false\r\n): MethodDecorator {\r\n\treturn function (serviceClass: object, serviceName: string | symbol, descriptor: PropertyDescriptor) {\r\n\t\t// const originalFunction = descriptor.value;\r\n\r\n\t\tdescriptor.value = function (...args: any[]) {\r\n\t\t\treturn runInInjectionContext((<any>this).injector, () => {\r\n\t\t\t\tconst httpClient: HttpClient = (<any>this).httpClient;\r\n\r\n\t\t\t\tlet api = '';\r\n\t\t\t\tif (isMockAPI) api = <string>remoteAPI;\r\n\t\t\t\telse if (remoteAPI) {\r\n\t\t\t\t\tconst url = new URL(API_CONFIGS.api);\r\n\t\t\t\t\tapi = url.origin + '/' + remoteAPI;\r\n\t\t\t\t} else api = API_CONFIGS.api;\r\n\r\n\t\t\t\tconst endPoint = api + '/' + serviceURL;\r\n\t\t\t\tconst request = getRequest(httpMethod, args);\r\n\t\t\t\tconst states: ServiceCallStateMap<any> = (<any>this).states;\r\n\r\n\t\t\t\tcallState(states, serviceName);\r\n\r\n\t\t\t\tlet observable: Observable<any> = new Observable<any>();\r\n\r\n\t\t\t\tswitch (httpMethod) {\r\n\t\t\t\t\tcase HTTPMethods.GET:\r\n\t\t\t\t\t\tlet getReq = args.length ? '/' + args[0] : '';\r\n\t\t\t\t\t\tobservable = httpClient.get<any>(endPoint + getReq, { responseType: 'json' });\r\n\t\t\t\t\t\tbreak;\r\n\t\t\t\t\tcase HTTPMethods.GETBYPARAMS:\r\n\t\t\t\t\t\tobservable = httpClient.get<any>(endPoint, { params: request as HttpParams, responseType: 'json' });\r\n\t\t\t\t\t\tbreak;\r\n\t\t\t\t\tcase HTTPMethods.GETBYDYNAMICPATH:\r\n\t\t\t\t\t\targs.forEach((arg) => {\r\n\t\t\t\t\t\t\tserviceURL = serviceURL.replace('$', arg);\r\n\t\t\t\t\t\t});\r\n\t\t\t\t\t\tobservable = httpClient.get<any>(api + '/' + serviceURL, { responseType: 'json' });\r\n\t\t\t\t\t\tbreak;\r\n\t\t\t\t\tcase HTTPMethods.POST:\r\n\t\t\t\t\t\tobservable = httpClient.post<any>(endPoint, args[0], { responseType: 'json' });\r\n\t\t\t\t\t\tbreak;\r\n\t\t\t\t\tcase HTTPMethods.POSTBYPARAMS:\r\n\t\t\t\t\t\tobservable = httpClient.post<any>(endPoint, args[0].body, { params: request, responseType: 'json' });\r\n\t\t\t\t\t\tbreak;\r\n\t\t\t\t\tcase HTTPMethods.POSTBYDYNAMICPATH:\r\n\t\t\t\t\t\tlet body = {};\r\n\t\t\t\t\t\targs.forEach((arg) => {\r\n\t\t\t\t\t\t\tif (typeof arg === 'object') body = arg;\r\n\t\t\t\t\t\t\telse serviceURL = serviceURL.replace('$', arg);\r\n\t\t\t\t\t\t});\r\n\t\t\t\t\t\tobservable = httpClient.post<any>(api + '/' + serviceURL, body, { responseType: 'json' });\r\n\t\t\t\t\t\tbreak;\r\n\t\t\t\t\tcase HTTPMethods.PUT:\r\n\t\t\t\t\t\tobservable = httpClient.put<any>(endPoint + '/' + args[0], request, { responseType: 'json' });\r\n\t\t\t\t\t\tbreak;\r\n\t\t\t\t\tcase HTTPMethods.DELETE:\r\n\t\t\t\t\t\tobservable = httpClient.delete<any>(endPoint + '/' + args[0], { responseType: 'json' });\r\n\t\t\t\t\t\tbreak;\r\n\t\t\t\t\tcase HTTPMethods.DELETEBYPARAMS:\r\n\t\t\t\t\t\tobservable = httpClient.delete<any>(endPoint, { params: request as HttpParams, responseType: 'json' });\r\n\t\t\t\t\t\tbreak;\r\n\t\t\t\t\tcase HTTPMethods.DELETEBYDYNAMICPATH:\r\n\t\t\t\t\t\targs.forEach((arg) => {\r\n\t\t\t\t\t\t\tserviceURL = serviceURL.replace('$', arg);\r\n\t\t\t\t\t\t});\r\n\r\n\t\t\t\t\t\tobservable = httpClient.delete<any>(api + '/' + serviceURL, { responseType: 'json' });\r\n\t\t\t\t\t\tbreak;\r\n\t\t\t\t}\r\n\r\n\t\t\t\tobservable = observable.pipe(\r\n\t\t\t\t\tmap((response) => new ServiceResponse(request, response, proxy)),\r\n\t\t\t\t\ttap((resp) =>\r\n\t\t\t\t\t\tsuccessState(\r\n\t\t\t\t\t\t\tstates,\r\n\t\t\t\t\t\t\tserviceName,\r\n\t\t\t\t\t\t\t(<any>this).translocoService,\r\n\t\t\t\t\t\t\t(<any>this).messageService,\r\n\t\t\t\t\t\t\tmessage,\r\n\t\t\t\t\t\t\tresp.response\r\n\t\t\t\t\t\t)\r\n\t\t\t\t\t),\r\n\t\t\t\t\tcatchError((error: HttpErrorResponse) => {\r\n\t\t\t\t\t\terrorState(states, serviceName, error, (<any>this).translocoService, (<any>this).messageService, message);\r\n\t\t\t\t\t\treturn of(new ErrorResponse(error));\r\n\t\t\t\t\t}),\r\n\t\t\t\t\ttakeUntilDestroyed()\r\n\t\t\t\t);\r\n\r\n\t\t\t\treturn observable;\r\n\t\t\t});\r\n\t\t};\r\n\t};\r\n}\r\n","import { HTTPMethods, ProxyTypes } from '../lib/enums';\r\nimport { ServiceCall } from './serviceBase';\r\n\r\nexport function ServiceCallMock(\r\n\thttpMethod: HTTPMethods,\r\n\tproxy: ProxyTypes,\r\n\tserviceURL: string,\r\n\tmockAPI: string,\r\n\tmessage?: { success?: string; error?: string; useDefault: boolean }\r\n) {\r\n\treturn ServiceCall(httpMethod, proxy, serviceURL, message, mockAPI, true);\r\n}\r\n","import { HttpHandlerFn, HttpInterceptorFn, HttpRequest } from '@angular/common/http';\r\n\r\nexport const stateMachineInterceptor: HttpInterceptorFn = (req: HttpRequest<unknown>, next: HttpHandlerFn) => {\r\n\tlet clone = req;\r\n\tif (req.url.includes('state-machine/v1')) {\r\n\t\tclone = req.clone({ url: req.url.split('/host/v1').join('') });\r\n\t}\r\n\treturn next(clone);\r\n};\r\n","/* lib */\r\nexport * from './lib/enums';\r\nexport * from './lib/interfaces';\r\n\r\n/* src */\r\nexport * from './src/httpBackend';\r\nexport * from './src/httpClient';\r\nexport * from './src/serviceBase';\r\nexport * from './src/serviceMockBase';\r\nexport * from './src/serviceStateMethods';\r\n\r\n/* interceptor */\r\nexport * from './src/interceptor/state-machine.interceptor';\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
@@ -1014,7 +1014,7 @@ class AppLayoutComponent {
1014
1014
  }
1015
1015
  }
1016
1016
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.2", ngImport: i0, type: AppLayoutComponent, deps: [{ token: AppMenuService }, { token: LayoutService }, { token: i0.Renderer2 }, { token: i1.Router }], target: i0.ɵɵFactoryTarget.Component }); }
1017
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.1.2", type: AppLayoutComponent, isStandalone: true, selector: "app-layout", viewQueries: [{ propertyName: "appSidebar", first: true, predicate: AppSidebarComponent, descendants: true }, { propertyName: "appTopbar", first: true, predicate: AppTopbarComponent, descendants: true }], ngImport: i0, template: "<div class=\"layout-container\" [ngClass]=\"containerClass\">\r\n\t<app-sidebar></app-sidebar>\r\n\t<div class=\"layout-content-wrapper\">\r\n\t\t<app-topbar></app-topbar>\r\n\t\t<div class=\"layout-content\" style=\"margin: 1rem;\">\r\n\t\t\t<router-outlet></router-outlet>\r\n\t\t</div>\r\n\t</div>\r\n\t<app-profilemenu></app-profilemenu>\r\n\t<!-- <app-config></app-config> -->\r\n\t<div class=\"layout-mask\"></div>\r\n</div>\r\n\r\n<p-toast key=\"toast-root\"></p-toast>\r\n<p-dialog key=\"dialog-root\"></p-dialog>\r\n<p-messages key=\"messages-root\"></p-messages>\r\n<p-confirmPopup key=\"confirmPopup-root\"></p-confirmPopup>\r\n<p-confirmDialog key=\"confirmDialog-root\"></p-confirmDialog>\r\n", dependencies: [{ kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: RouterOutlet, selector: "router-outlet", inputs: ["name"], outputs: ["activate", "deactivate", "attach", "detach"], exportAs: ["outlet"] }, { kind: "ngmodule", type: ConfirmDialogModule }, { kind: "component", type: i4$2.ConfirmDialog, selector: "p-confirmDialog", inputs: ["header", "icon", "message", "style", "styleClass", "maskStyleClass", "acceptIcon", "acceptLabel", "closeAriaLabel", "acceptAriaLabel", "acceptVisible", "rejectIcon", "rejectLabel", "rejectAriaLabel", "rejectVisible", "acceptButtonStyleClass", "rejectButtonStyleClass", "closeOnEscape", "dismissableMask", "blockScroll", "rtl", "closable", "appendTo", "key", "autoZIndex", "baseZIndex", "transitionOptions", "focusTrap", "defaultFocus", "breakpoints", "visible", "position"], outputs: ["onHide"] }, { kind: "ngmodule", type: ConfirmPopupModule }, { kind: "component", type: i5$2.ConfirmPopup, selector: "p-confirmPopup", inputs: ["key", "defaultFocus", "showTransitionOptions", "hideTransitionOptions", "autoZIndex", "baseZIndex", "style", "styleClass", "visible"] }, { kind: "ngmodule", type: DialogModule }, { kind: "component", type: i6$1.Dialog, selector: "p-dialog", inputs: ["header", "draggable", "resizable", "positionLeft", "positionTop", "contentStyle", "contentStyleClass", "modal", "closeOnEscape", "dismissableMask", "rtl", "closable", "responsive", "appendTo", "breakpoints", "styleClass", "maskStyleClass", "maskStyle", "showHeader", "breakpoint", "blockScroll", "autoZIndex", "baseZIndex", "minX", "minY", "focusOnShow", "maximizable", "keepInViewport", "focusTrap", "transitionOptions", "closeIcon", "closeAriaLabel", "closeTabindex", "minimizeIcon", "maximizeIcon", "visible", "style", "position"], outputs: ["onShow", "onHide", "visibleChange", "onResizeInit", "onResizeEnd", "onDragEnd", "onMaximize"] }, { kind: "ngmodule", type: MessagesModule }, { kind: "component", type: i7$1.Messages, selector: "p-messages", inputs: ["value", "closable", "style", "styleClass", "enableService", "key", "escape", "severity", "showTransitionOptions", "hideTransitionOptions"], outputs: ["valueChange", "onClose"] }, { kind: "ngmodule", type: ToastModule }, { kind: "component", type: i8.Toast, selector: "p-toast", inputs: ["key", "autoZIndex", "baseZIndex", "life", "style", "styleClass", "position", "preventOpenDuplicates", "preventDuplicates", "showTransformOptions", "hideTransformOptions", "showTransitionOptions", "hideTransitionOptions", "breakpoints"], outputs: ["onClose"] }, { kind: "component", type: AppSidebarComponent, selector: "app-sidebar" }, { kind: "component", type: AppTopbarComponent, selector: "app-topbar" }, { kind: "component", type: AppProfileSidebarComponent, selector: "app-profilemenu" }] }); }
1017
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.1.2", type: AppLayoutComponent, isStandalone: true, selector: "app-layout", viewQueries: [{ propertyName: "appSidebar", first: true, predicate: AppSidebarComponent, descendants: true }, { propertyName: "appTopbar", first: true, predicate: AppTopbarComponent, descendants: true }], ngImport: i0, template: "<div class=\"layout-container\" [ngClass]=\"containerClass\">\r\n\t<app-sidebar></app-sidebar>\r\n\t<div class=\"layout-content-wrapper\">\r\n\t\t<app-topbar></app-topbar>\r\n\t\t<div class=\"layout-content card border-round-top-md min-h-screen border-noround-bottom\" style=\"margin: 1rem;\">\r\n\t\t\t<router-outlet></router-outlet>\r\n\t\t</div>\r\n\t</div>\r\n\t<app-profilemenu></app-profilemenu>\r\n\t<!-- <app-config></app-config> -->\r\n\t<div class=\"layout-mask\"></div>\r\n</div>\r\n\r\n<p-toast key=\"toast-root\"></p-toast>\r\n<p-dialog key=\"dialog-root\"></p-dialog>\r\n<p-messages key=\"messages-root\"></p-messages>\r\n<p-confirmPopup key=\"confirmPopup-root\"></p-confirmPopup>\r\n<p-confirmDialog key=\"confirmDialog-root\"></p-confirmDialog>\r\n", dependencies: [{ kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: RouterOutlet, selector: "router-outlet", inputs: ["name"], outputs: ["activate", "deactivate", "attach", "detach"], exportAs: ["outlet"] }, { kind: "ngmodule", type: ConfirmDialogModule }, { kind: "component", type: i4$2.ConfirmDialog, selector: "p-confirmDialog", inputs: ["header", "icon", "message", "style", "styleClass", "maskStyleClass", "acceptIcon", "acceptLabel", "closeAriaLabel", "acceptAriaLabel", "acceptVisible", "rejectIcon", "rejectLabel", "rejectAriaLabel", "rejectVisible", "acceptButtonStyleClass", "rejectButtonStyleClass", "closeOnEscape", "dismissableMask", "blockScroll", "rtl", "closable", "appendTo", "key", "autoZIndex", "baseZIndex", "transitionOptions", "focusTrap", "defaultFocus", "breakpoints", "visible", "position"], outputs: ["onHide"] }, { kind: "ngmodule", type: ConfirmPopupModule }, { kind: "component", type: i5$2.ConfirmPopup, selector: "p-confirmPopup", inputs: ["key", "defaultFocus", "showTransitionOptions", "hideTransitionOptions", "autoZIndex", "baseZIndex", "style", "styleClass", "visible"] }, { kind: "ngmodule", type: DialogModule }, { kind: "component", type: i6$1.Dialog, selector: "p-dialog", inputs: ["header", "draggable", "resizable", "positionLeft", "positionTop", "contentStyle", "contentStyleClass", "modal", "closeOnEscape", "dismissableMask", "rtl", "closable", "responsive", "appendTo", "breakpoints", "styleClass", "maskStyleClass", "maskStyle", "showHeader", "breakpoint", "blockScroll", "autoZIndex", "baseZIndex", "minX", "minY", "focusOnShow", "maximizable", "keepInViewport", "focusTrap", "transitionOptions", "closeIcon", "closeAriaLabel", "closeTabindex", "minimizeIcon", "maximizeIcon", "visible", "style", "position"], outputs: ["onShow", "onHide", "visibleChange", "onResizeInit", "onResizeEnd", "onDragEnd", "onMaximize"] }, { kind: "ngmodule", type: MessagesModule }, { kind: "component", type: i7$1.Messages, selector: "p-messages", inputs: ["value", "closable", "style", "styleClass", "enableService", "key", "escape", "severity", "showTransitionOptions", "hideTransitionOptions"], outputs: ["valueChange", "onClose"] }, { kind: "ngmodule", type: ToastModule }, { kind: "component", type: i8.Toast, selector: "p-toast", inputs: ["key", "autoZIndex", "baseZIndex", "life", "style", "styleClass", "position", "preventOpenDuplicates", "preventDuplicates", "showTransformOptions", "hideTransformOptions", "showTransitionOptions", "hideTransitionOptions", "breakpoints"], outputs: ["onClose"] }, { kind: "component", type: AppSidebarComponent, selector: "app-sidebar" }, { kind: "component", type: AppTopbarComponent, selector: "app-topbar" }, { kind: "component", type: AppProfileSidebarComponent, selector: "app-profilemenu" }] }); }
1018
1018
  }
1019
1019
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.2", ngImport: i0, type: AppLayoutComponent, decorators: [{
1020
1020
  type: Component,
@@ -1031,7 +1031,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.2", ngImpor
1031
1031
  AppBreadcrumbComponent,
1032
1032
  AppProfileSidebarComponent,
1033
1033
  AppConfigComponent
1034
- ], template: "<div class=\"layout-container\" [ngClass]=\"containerClass\">\r\n\t<app-sidebar></app-sidebar>\r\n\t<div class=\"layout-content-wrapper\">\r\n\t\t<app-topbar></app-topbar>\r\n\t\t<div class=\"layout-content\" style=\"margin: 1rem;\">\r\n\t\t\t<router-outlet></router-outlet>\r\n\t\t</div>\r\n\t</div>\r\n\t<app-profilemenu></app-profilemenu>\r\n\t<!-- <app-config></app-config> -->\r\n\t<div class=\"layout-mask\"></div>\r\n</div>\r\n\r\n<p-toast key=\"toast-root\"></p-toast>\r\n<p-dialog key=\"dialog-root\"></p-dialog>\r\n<p-messages key=\"messages-root\"></p-messages>\r\n<p-confirmPopup key=\"confirmPopup-root\"></p-confirmPopup>\r\n<p-confirmDialog key=\"confirmDialog-root\"></p-confirmDialog>\r\n" }]
1034
+ ], template: "<div class=\"layout-container\" [ngClass]=\"containerClass\">\r\n\t<app-sidebar></app-sidebar>\r\n\t<div class=\"layout-content-wrapper\">\r\n\t\t<app-topbar></app-topbar>\r\n\t\t<div class=\"layout-content card border-round-top-md min-h-screen border-noround-bottom\" style=\"margin: 1rem;\">\r\n\t\t\t<router-outlet></router-outlet>\r\n\t\t</div>\r\n\t</div>\r\n\t<app-profilemenu></app-profilemenu>\r\n\t<!-- <app-config></app-config> -->\r\n\t<div class=\"layout-mask\"></div>\r\n</div>\r\n\r\n<p-toast key=\"toast-root\"></p-toast>\r\n<p-dialog key=\"dialog-root\"></p-dialog>\r\n<p-messages key=\"messages-root\"></p-messages>\r\n<p-confirmPopup key=\"confirmPopup-root\"></p-confirmPopup>\r\n<p-confirmDialog key=\"confirmDialog-root\"></p-confirmDialog>\r\n" }]
1035
1035
  }], ctorParameters: () => [{ type: AppMenuService }, { type: LayoutService }, { type: i0.Renderer2 }, { type: i1.Router }], propDecorators: { appSidebar: [{
1036
1036
  type: ViewChild,
1037
1037
  args: [AppSidebarComponent]