aril 1.1.57 → 1.1.59
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/esm2022/ui/table/src/table.component.mjs +1 -1
- package/esm2022/ui/value/src/value.component.mjs +6 -3
- package/esm2022/ui-business/detailed-overlay-panel/src/detailed-overlay-panel.component.mjs +13 -14
- package/esm2022/ui-business/notification-templates-dialog/src/notification-templates-dialog.component.mjs +1 -1
- package/esm2022/ui-business/ref-value/src/ref-value.component.mjs +2 -2
- package/fesm2022/aril-ui-business-detailed-overlay-panel.mjs +12 -13
- package/fesm2022/aril-ui-business-detailed-overlay-panel.mjs.map +1 -1
- package/fesm2022/aril-ui-business-notification-templates-dialog.mjs +1 -1
- package/fesm2022/aril-ui-business-notification-templates-dialog.mjs.map +1 -1
- package/fesm2022/aril-ui-business-ref-value.mjs +1 -1
- package/fesm2022/aril-ui-business-ref-value.mjs.map +1 -1
- package/fesm2022/aril-ui-table.mjs +1 -1
- package/fesm2022/aril-ui-table.mjs.map +1 -1
- package/fesm2022/aril-ui-value.mjs +6 -3
- package/fesm2022/aril-ui-value.mjs.map +1 -1
- package/package.json +54 -54
- package/ui/value/src/value.component.d.ts +3 -1
- package/ui-business/detailed-overlay-panel/src/detailed-overlay-panel.component.d.ts +3 -1
|
@@ -304,7 +304,7 @@ export class TableComponent {
|
|
|
304
304
|
}
|
|
305
305
|
}
|
|
306
306
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.2", ngImport: i0, type: TableComponent, deps: [{ token: i1.TranslocoService }, { token: i2.SelectionGroupService }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
307
|
-
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 }, expandableFields: { classPropertyName: "expandableFields", publicName: "expandableFields", 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 }, radioButtonSelection: { classPropertyName: "radioButtonSelection", publicName: "radioButtonSelection", isSignal: true, isRequired: false, transformFunction: null }, headerCheckboxSelection: { classPropertyName: "headerCheckboxSelection", publicName: "headerCheckboxSelection", 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 }, dataKey: { classPropertyName: "dataKey", publicName: "dataKey", isSignal: true, isRequired: false, transformFunction: null }, selectedRowsInput: { classPropertyName: "selectedRowsInput", publicName: "selectedRowsInput", isSignal: true, isRequired: false, transformFunction: null }, isLazy: { classPropertyName: "isLazy", publicName: "isLazy", isSignal: true, isRequired: false, transformFunction: null }, totalRecords: { classPropertyName: "totalRecords", publicName: "totalRecords", isSignal: true, isRequired: false, transformFunction: null }, paginator: { classPropertyName: "paginator", publicName: "paginator", isSignal: true, isRequired: false, transformFunction: null }, paginatorDropdownAppendTo: { classPropertyName: "paginatorDropdownAppendTo", publicName: "paginatorDropdownAppendTo", isSignal: true, isRequired: false, transformFunction: null }, isColumnExpandMode: { classPropertyName: "isColumnExpandMode", publicName: "isColumnExpandMode", isSignal: true, isRequired: false, transformFunction: null }, isResizableColumns: { classPropertyName: "isResizableColumns", publicName: "isResizableColumns", isSignal: true, isRequired: false, transformFunction: null }, isSortable: { classPropertyName: "isSortable", publicName: "isSortable", isSignal: true, isRequired: false, transformFunction: null }, scrollable: { classPropertyName: "scrollable", publicName: "scrollable", isSignal: true, isRequired: false, transformFunction: null }, scrollHeight: { classPropertyName: "scrollHeight", publicName: "scrollHeight", isSignal: true, isRequired: false, transformFunction: null }, sortMode: { classPropertyName: "sortMode", publicName: "sortMode", isSignal: true, isRequired: false, transformFunction: null }, showFirstLastIcon: { classPropertyName: "showFirstLastIcon", publicName: "showFirstLastIcon", isSignal: true, isRequired: false, transformFunction: null }, rowSelectable: { classPropertyName: "rowSelectable", publicName: "rowSelectable", isSignal: true, isRequired: false, transformFunction: null }, isShowNoDataFoundMessage: { classPropertyName: "isShowNoDataFoundMessage", publicName: "isShowNoDataFoundMessage", isSignal: true, isRequired: false, transformFunction: null }, reorderableColumns: { classPropertyName: "reorderableColumns", publicName: "reorderableColumns", isSignal: true, isRequired: false, transformFunction: null }, reorderField: { classPropertyName: "reorderField", publicName: "reorderField", isSignal: true, isRequired: false, transformFunction: null }, showColumnFilters: { classPropertyName: "showColumnFilters", publicName: "showColumnFilters", isSignal: true, isRequired: false, transformFunction: null }, selectionPageOnly: { classPropertyName: "selectionPageOnly", publicName: "selectionPageOnly", isSignal: true, isRequired: false, transformFunction: null }, openSelectionOnSidebar: { classPropertyName: "openSelectionOnSidebar", publicName: "openSelectionOnSidebar", isSignal: true, isRequired: false, transformFunction: null }, exportConfig: { classPropertyName: "exportConfig", publicName: "exportConfig", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { onPageEvent: "onPageEvent", selectionEvent: "selectionEvent", lazyLoadEvent: "lazyLoadEvent", rowReorderEvent: "rowReorderEvent" }, queries: [{ propertyName: "columns", predicate: TableColumnComponent }], viewQueries: [{ propertyName: "exportOp", first: true, predicate: ExportOverlayPanelComponent, descendants: true }, { propertyName: "tableRef", first: true, predicate: Table, descendants: true }], usesOnChanges: true, ngImport: i0, template: "<p-table\r\n\t#ref\r\n\t[value]=\"data()\"\r\n\t[dataKey]=\"dataKey()\"\r\n\t[columns]=\"columns._results\"\r\n\t[rows]=\"pageSize()\"\r\n\t[rowHover]=\"true\"\r\n\t[paginator]=\"!this.isLazy() || this.totalRecords() > 10 ? this.paginator() : false\"\r\n\t[lazy]=\"isLazy()\"\r\n\t[lazyLoadOnInit]=\"false\"\r\n\t[totalRecords]=\"totalRecords()\"\r\n\t[rowsPerPageOptions]=\"[5, 10, 20, 50, 100]\"\r\n\t[rowSelectable]=\"rowSelectable()\"\r\n\t[filterDelay]=\"0\"\r\n\t[sortMode]=\"sortMode()\"\r\n\t[(selection)]=\"selectedRows\"\r\n\t(onPage)=\"onPageEvent.emit($event)\"\r\n\t(onSort)=\"onTableSort($event)\"\r\n\t(onLazyLoad)=\"handleLazyLoadEvent($event)\"\r\n\t(selectionChange)=\"selectionEvent.emit(selectedRows)\"\r\n\t(onRowSelect)=\"sidebarVisible = true\"\r\n\t(onRowUnselect)=\"sidebarVisible = false\"\r\n\t[showCurrentPageReport]=\"true\"\r\n\t[selectionMode]=\"selectionMode()\"\r\n\t[selectionPageOnly]=\"selectionPageOnly()\"\r\n\t[columnResizeMode]=\"isColumnExpandMode() ? 'expand' : ''\"\r\n\t[resizableColumns]=\"isResizableColumns()\"\r\n\t[currentPageReportTemplate]=\"currentPageReportText\"\r\n\tstyleClass=\"p-datatable-sm\"\r\n\t[paginatorDropdownAppendTo]=\"paginatorDropdownAppendTo()\"\r\n\t[scrollable]=\"scrollable()\"\r\n\t[scrollHeight]=\"scrollHeight()\"\r\n\t[showFirstLastIcon]=\"showFirstLastIcon()\"\r\n\t[reorderableColumns]=\"reorderableColumns()\"\r\n\t(onRowReorder)=\"rowReorder($event)\">\r\n\t<ng-template pTemplate=\"groupheader\" let-item let-rowIndex=\"rowIndex\" let-expanded=\"expanded\">\r\n\t\t<tr pRowGroupHeader style=\"background-color: #f8fafc\">\r\n\t\t\t<td [attr.colspan]=\"columns._results.length\">\r\n\t\t\t\t<span class=\"font-bold ml-2\" style=\"color: #6b7280\">{{ item.groupName }}</span>\r\n\t\t\t</td>\r\n\t\t</tr>\r\n\t</ng-template>\r\n\r\n\t<ng-template pTemplate=\"header\" let-columns>\r\n\t\t<tr>\r\n\t\t\t@if (reorderableColumns() || radioButtonSelection()) {\r\n\t\t\t\t<th style=\"width: 3rem !important\"></th>\r\n\t\t\t}\r\n\r\n\t\t\t@if (checkboxSelection()) {\r\n\t\t\t\t<th>\r\n\t\t\t\t\t@if (headerCheckboxSelection()) {\r\n\t\t\t\t\t\t<p-tableHeaderCheckbox></p-tableHeaderCheckbox>\r\n\t\t\t\t\t}\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@if (isResizableColumns()) {\r\n\t\t\t\t\t\t<th [ngStyle]=\"{ width: column.width() ? column.width() : 'auto' }\" pResizableColumn>\r\n\t\t\t\t\t\t\t<div class=\"flex justify-content-between align-items-center gap-2\">\r\n\t\t\t\t\t\t\t\t<span \r\n\t\t\t\t\t\t\t\t\tclass=\"no-wrap-word\"\r\n\t\t\t\t\t\t\t\t\t[pTooltip]=\"column.header().length > 50 ? column.header() : ''\"\r\n\t\t\t\t\t\t\t\t\ttooltipPosition=\"top\">\r\n\t\t\t\t\t\t\t\t\t{{ column.header().length > 50 ? (column.header() | slice:0:50) + '...' : column.header() }}\r\n\t\t\t\t\t\t\t\t </span>\r\n\t\t\t\t\t\t\t\t<div class=\"flex\">\r\n\t\t\t\t\t\t\t\t\t@if (column.isShowHeaderTooltip()) {\r\n\t\t\t\t\t\t\t\t\t\t<i\r\n\t\t\t\t\t\t\t\t\t\t\tstyle=\"color: green; padding-top: 4px; padding-left: 4px\"\r\n\t\t\t\t\t\t\t\t\t\t\tclass=\"pi pi-info-circle\"\r\n\t\t\t\t\t\t\t\t\t\t\t[pTooltip]=\"column.tooltipTemplate()\"\r\n\t\t\t\t\t\t\t\t\t\t\ttooltipPosition=\"top\"></i>\r\n\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t</th>\r\n\t\t\t\t\t} @else {\r\n\t\t\t\t\t\t@if (isLazy() && isSortable()) {\r\n\t\t\t\t\t\t\t<th\r\n\t\t\t\t\t\t\t\t[pSortableColumn]=\"column.field()\"\r\n\t\t\t\t\t\t\t\t[ngStyle]=\"{ width: column.width() ? column.width() : 'auto' }\"\r\n\t\t\t\t\t\t\t\tstyle=\"min-width: 170px\">\r\n\t\t\t\t\t\t\t\t<div class=\"flex justify-content-between align-items-center gap-2\">\r\n\t\t\t\t\t\t\t\t\t<span \r\n\t\t\t\t\t\t\t\t\t\tclass=\"no-wrap-word\"\r\n\t\t\t\t\t\t\t\t\t\t[pTooltip]=\"column.header().length > 50 ? column.header() : ''\"\r\n\t\t\t\t\t\t\t\t\t\ttooltipPosition=\"top\">\r\n\t\t\t\t\t\t\t\t\t\t{{ column.header().length > 50 ? (column.header() | slice:0:50) + '...' : column.header() }}\r\n\t\t\t\t\t\t\t\t </span>\r\n\t\t\t\t\t\t\t\t\t<div class=\"flex justify-content-center align-items-center\">\r\n\t\t\t\t\t\t\t\t\t\t@if (column.type() !== 'operations') {\r\n\t\t\t\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\t\t}\r\n\t\t\t\t\t\t\t\t\t\t@if (showColumnFilters() && column.showFilter() && column.type() !== 'operations') {\r\n\t\t\t\t\t\t\t\t\t\t\t@switch (column.filterType()) {\r\n\t\t\t\t\t\t\t\t\t\t\t\t@case (ColumnFilterTypeEnum.TEXT) {\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t<p-columnFilter\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\ttype=\"text\"\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t[field]=\"column.field()\"\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tdisplay=\"menu\"\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t[maxConstraints]=\"1\"\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tclass=\"mt-2\" />\r\n\t\t\t\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t\t\t\t\t@case (ColumnFilterTypeEnum.NUMERIC) {\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t<p-columnFilter\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\ttype=\"numeric\"\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t[field]=\"column.field()\"\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tdisplay=\"menu\"\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t[showApplyButton]=\"false\"\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t[showClearButton]=\"false\"\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t[maxConstraints]=\"1\"\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tclass=\"mt-2\">\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<ng-template pTemplate=\"filter\" let-filter=\"filterCallback\" let-value>\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<aril-number\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t[maxDigits]=\"6\"\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t[ngModel]=\"getFilterValue(column.field())\"\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t(ngModelChange)=\"onFilterChange($event, filter, column.field())\"\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tclass=\"w-full\" />\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<div class=\"flex justify-content-between align-items-end mt-5\">\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<aril-button\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsize=\"sm\"\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tcolor=\"secondary\"\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t[label]=\"'Temizle'\"\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t(clickEvent)=\"clearFilter(filter, column.field())\" />\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<aril-button\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsize=\"sm\"\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tcolor=\"primary\"\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t[label]=\"'Uygula'\"\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t(clickEvent)=\"applyFilter(filter, column.field())\" />\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t</ng-template>\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t</p-columnFilter>\r\n\t\t\t\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t\t\t\t\t@case (ColumnFilterTypeEnum.DATE) {\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t@if (column.showTimeInDateFilters()) {\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<p-columnFilter\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t[field]=\"column.field()\"\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\ttype=\"date\"\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tdisplay=\"menu\"\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t[maxConstraints]=\"1\"\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t[showApplyButton]=\"false\"\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t[showClearButton]=\"false\"\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tclass=\"mt-2\">\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<ng-template pTemplate=\"filter\" let-filter=\"filterCallback\" let-value>\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<aril-calendar\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t[ngModel]=\"getFilterValue(column.field())\"\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t(ngModelChange)=\"onFilterChange($event, filter, column.field())\"\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tclass=\"w-6\"\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t[showTime]=\"true\"\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t[appendTo]=\"null\" />\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<div class=\"flex justify-content-between align-items-end mt-5\">\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<aril-button\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsize=\"sm\"\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tcolor=\"secondary\"\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t[label]=\"'Temizle'\"\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t(clickEvent)=\"clearFilter(filter, column.field())\" />\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<aril-button\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsize=\"sm\"\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tcolor=\"primary\"\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t[label]=\"'Uygula'\"\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t(clickEvent)=\"applyFilter(filter, column.field())\" />\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t</ng-template>\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t</p-columnFilter>\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t} @else {\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<p-columnFilter\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\ttype=\"date\"\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t[field]=\"column.field()\"\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tdisplay=\"menu\"\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t[maxConstraints]=\"1\"\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tclass=\"mt-2\">\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<ng-template pTemplate=\"filter\" let-filter=\"filterCallback\">\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<aril-calendar [(ngModel)]=\"filter.value\" class=\"w-6\" [appendTo]=\"null\" />\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t</ng-template>\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t</p-columnFilter>\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t\t\t\t\t@case (ColumnFilterTypeEnum.BOOLEAN) {\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t<p-columnFilter [field]=\"column.field()\" type=\"boolean\" display=\"menu\" class=\"mt-2\" />\r\n\t\t\t\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t\t\t\t\t@case (ColumnFilterTypeEnum.ENUM) {\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t<p-columnFilter\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t[field]=\"column.field()\"\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\ttype=\"text\"\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tdisplay=\"menu\"\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t[showClearButton]=\"false\"\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t[showApplyButton]=\"false\"\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t[maxConstraints]=\"1\"\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t[matchModeOptions]=\"[\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t{ label: 'E\u015Fittir', value: 'equals' },\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t{ label: 'E\u015Fit De\u011Fildir', value: 'notEquals' },\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t{ label: '\u0130\u00E7erir', value: 'contains' },\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t{ label: '\u0130\u00E7ermez', value: 'notContains' }\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t]\"\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tclass=\"mt-2\">\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<ng-template pTemplate=\"filter\" let-filter=\"filterCallback\" let-value>\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<p-dropdown\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t[options]=\"getEnumOptions(column.enumGroupName(), 'ALL')\"\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t[ngModel]=\"getFilterValue(column.field())\"\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t(onChange)=\"onFilterChange($event.value, filter, column.field())\"\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tappendTo=\"self\"\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t[showClear]=\"true\"\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tstyleClass=\"w-full\"></p-dropdown>\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<div class=\"flex justify-content-between align-items-end mt-5\">\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<aril-button\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsize=\"sm\"\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tcolor=\"secondary\"\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t[label]=\"'Temizle'\"\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t(clickEvent)=\"clearFilter(filter, column.field())\" />\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<aril-button\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsize=\"sm\"\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tcolor=\"primary\"\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t[label]=\"'Uygula'\"\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t(clickEvent)=\"applyFilter(filter, column.field())\" />\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t</ng-template>\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t</p-columnFilter>\r\n\t\t\t\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t\t\t@if (column.isShowHeaderTooltip()) {\r\n\t\t\t\t\t\t\t\t\t\t\t<i\r\n\t\t\t\t\t\t\t\t\t\t\t\tstyle=\"color: green\"\r\n\t\t\t\t\t\t\t\t\t\t\t\tclass=\"pi pi-info-circle mt-1\"\r\n\t\t\t\t\t\t\t\t\t\t\t\t[pTooltip]=\"column.tooltipTemplate()\"\r\n\t\t\t\t\t\t\t\t\t\t\t\ttooltipPosition=\"top\"></i>\r\n\t\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t\t</th>\r\n\t\t\t\t\t\t} @else {\r\n\t\t\t\t\t\t\t<th [ngStyle]=\"{ width: column.width() ? column.width() : 'auto' }\" style=\"min-width: 170px\">\r\n\t\t\t\t\t\t\t\t<div class=\"flex justify-content-between align-items-center gap-2\">\r\n\t\t\t\t\t\t\t\t\t<span \r\n\t\t\t\t\t\t\t\t\t\tclass=\"no-wrap-word\"\r\n\t\t\t\t\t\t\t\t\t\t[pTooltip]=\"column.header().length > 50 ? column.header() : ''\"\r\n\t\t\t\t\t\t\t\t\t\ttooltipPosition=\"top\">\r\n\t\t\t\t\t\t\t\t\t\t{{ column.header().length > 50 ? (column.header() | slice:0:50) + '...' : column.header() }}\r\n\t\t\t\t\t\t\t\t </span>\r\n\t\t\t\t\t\t\t\t\t<div class=\"flex justify-content-center align-items-center\">\r\n\t\t\t\t\t\t\t\t\t\t@if (column.isShowHeaderTooltip()) {\r\n\t\t\t\t\t\t\t\t\t\t\t<i\r\n\t\t\t\t\t\t\t\t\t\t\t\tstyle=\"color: green\"\r\n\t\t\t\t\t\t\t\t\t\t\t\tclass=\"pi pi-info-circle mt-1\"\r\n\t\t\t\t\t\t\t\t\t\t\t\t[pTooltip]=\"column.tooltipTemplate()\"\r\n\t\t\t\t\t\t\t\t\t\t\t\ttooltipPosition=\"top\"></i>\r\n\t\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t\t</th>\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}\r\n\t\t</tr>\r\n\t</ng-template>\r\n\r\n\t<ng-template pTemplate=\"body\" let-item let-columns=\"columns\" let-index=\"rowIndex\">\r\n\t\t@if (handledSelectionMode) {\r\n\t\t\t<tr\r\n\t\t\t\t[pSelectableRow]=\"item\"\r\n\t\t\t\t[ngStyle]=\"{ 'background-color': item?.rowColor ? item?.rowColor : null }\"\r\n\t\t\t\t[pReorderableRow]=\"index\">\r\n\t\t\t\t@if (reorderableColumns()) {\r\n\t\t\t\t\t<td>\r\n\t\t\t\t\t\t<span class=\"pi pi-bars\" pReorderableRowHandle></span>\r\n\t\t\t\t\t</td>\r\n\t\t\t\t}\r\n\r\n\t\t\t\t@if (radioButtonSelection()) {\r\n\t\t\t\t\t<td>\r\n\t\t\t\t\t\t<p-tableRadioButton [value]=\"item\"></p-tableRadioButton>\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} @else {\r\n\t\t\t<tr [ngStyle]=\"{ 'background-color': item?.rowColor ? item?.rowColor : null }\" [pReorderableRow]=\"index\">\r\n\t\t\t\t@if (reorderableColumns()) {\r\n\t\t\t\t\t<td>\r\n\t\t\t\t\t\t<span class=\"pi pi-bars\" pReorderableRowHandle></span>\r\n\t\t\t\t\t</td>\r\n\t\t\t\t}\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@if (radioButtonSelection()) {\r\n\t\t\t\t\t<td>\r\n\t\t\t\t\t\t<p-tableRadioButton [value]=\"item\"></p-tableRadioButton>\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\r\n<aril-export-overlay-panel [exportConfig]=\"exportConfig()!\" [columns]=\"columns\" />\r\n\r\n<p-toast key=\"export-toast\">\r\n\t<ng-template let-message pTemplate=\"message\">\r\n\t\t<span class=\"p-toast-message-icon\">\r\n\t\t\t<CheckIcon />\r\n\t\t</span>\r\n\t\t<div class=\"p-toast-message-text\">\r\n\t\t\t<div class=\"p-toast-summary\">{{ message.summary }}</div>\r\n\t\t\t<div class=\"p-toast-detail\" [innerHTML]=\"message.detail | safe: 'html'\"></div>\r\n\t\t</div>\r\n\t</ng-template>\r\n</p-toast>\r\n\r\n@if (openSelectionOnSidebar() && selectionMode() === 'single') {\r\n\t<p-sidebar\r\n\t\t[(visible)]=\"sidebarVisible\"\r\n\t\tposition=\"right\"\r\n\t\t[style]=\"{ 'max-width': '800px', width: '100%' }\"\r\n\t\t(onHide)=\"selectedRows = undefined\"\r\n\t\t[modal]=\"false\">\r\n\t\t<ng-template pTemplate=\"header\">\r\n\t\t\t<span class=\"font-semibold text-xl\">{{ translocoService.translate('table.sidebarDetailHeader') }}</span>\r\n\t\t</ng-template>\r\n\r\n\t\t@if (sidebarVisible) {\r\n\t\t\t<p-table [value]=\"selectedRows | keyvalue\" [paginator]=\"false\" styleClass=\"p-datatable-sm\">\r\n\t\t\t\t<ng-template pTemplate=\"header\">\r\n\t\t\t\t\t<tr>\r\n\t\t\t\t\t\t<th>{{ translocoService.translate('table.field') }}</th>\r\n\t\t\t\t\t\t<th>{{ translocoService.translate('table.value') }}</th>\r\n\t\t\t\t\t</tr>\r\n\t\t\t\t</ng-template>\r\n\r\n\t\t\t\t<ng-template pTemplate=\"body\" let-item let-index=\"rowIndex\">\r\n\t\t\t\t\t<tr>\r\n\t\t\t\t\t\t@if (columns | getColumnByField: item.key; as column) {\r\n\t\t\t\t\t\t\t<td [width]=\"'120px'\">{{ column.header() }}</td>\r\n\t\t\t\t\t\t\t<td>\r\n\t\t\t\t\t\t\t\t@if (column.type() === 'json' && item.value) {\r\n\t\t\t\t\t\t\t\t\t<div [ngStyle]=\"{ display: 'grid' }\">\r\n\t\t\t\t\t\t\t\t\t\t<pre\r\n\t\t\t\t\t\t\t\t\t\t\tclass=\"overflow-y-auto max-h-30rem border-300 border-1 border-round my-2 p-3\"><code>{{item.value | parse | json}}</code></pre>\r\n\t\t\t\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t\t\t} @else if (column.type() === 'long-text' && item.value) {\r\n\t\t\t\t\t\t\t\t\t<aril-value type=\"text\" [model]=\"item.value\" />\r\n\t\t\t\t\t\t\t\t} @else {\r\n\t\t\t\t\t\t\t\t\t<ng-template ngFor [ngForOf]=\"[selectedRows]\" [ngForTemplate]=\"column.template\" />\r\n\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t</td>\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t</tr>\r\n\t\t\t\t</ng-template>\r\n\t\t\t</p-table>\r\n\t\t}\r\n\r\n\t\t<ng-template pTemplate=\"footer\">\r\n\t\t\t<div class=\"flex align-items-center justify-content-between\">\r\n\t\t\t\t<aril-button\r\n\t\t\t\t\tsize=\"sm\"\r\n\t\t\t\t\ticon=\"ARROW_LEFT\"\r\n\t\t\t\t\tcolor=\"primary\"\r\n\t\t\t\t\t[label]=\"translocoService.translate('table.prevRecord')\"\r\n\t\t\t\t\t(clickEvent)=\"prevRecord()\" />\r\n\r\n\t\t\t\t<aril-button\r\n\t\t\t\t\tsize=\"sm\"\r\n\t\t\t\t\ticon=\"ARROW_RIGHT\"\r\n\t\t\t\t\ticonPos=\"right\"\r\n\t\t\t\t\tcolor=\"primary\"\r\n\t\t\t\t\t[label]=\"translocoService.translate('table.nextRecord')\"\r\n\t\t\t\t\t(clickEvent)=\"nextRecord()\" />\r\n\t\t\t</div>\r\n\t\t</ng-template>\r\n\t</p-sidebar>\r\n}\r\n", styles: ["::ng-deep aril-table th{min-width:0px!important}::ng-deep .p-datatable .p-datatable-tbody>tr.p-highlight{background-color:#e3f2fd!important;color:#475569!important}.no-wrap-word{display:inline-block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}\n"], dependencies: [{ kind: "component", type: i3.ButtonComponent, selector: "aril-button:not([click])", inputs: ["label", "loading", "disabled", "raised", "rounded", "text", "outlined", "badge", "size", "icon", "iconPos", "color"], outputs: ["clickEvent"] }, { kind: "directive", type: i4.PrimeTemplate, selector: "[pTemplate]", inputs: ["type", "pTemplate"] }, { kind: "component", type: i5.CalendarComponent, selector: "aril-calendar[ngModel], aril-calendar[formControl], aril-calendar[formControlName]", inputs: ["minDate", "maxDate", "inputStyle", "inputStyleClass", "autoZIndex", "inline", "showIcon", "showTime", "showWeek", "showSeconds", "disabledDates", "numberOfMonthToShow", "appendTo", "dataType", "placeholder", "view", "selectionMode", "rangeConfig", "tabindex", "showOnFocus", "timeOnly", "keepInvalid"] }, { kind: "component", type: i6.CheckIcon, selector: "CheckIcon" }, { kind: "component", type: i7.Dropdown, selector: "p-dropdown", inputs: ["id", "scrollHeight", "filter", "name", "style", "panelStyle", "styleClass", "panelStyleClass", "readonly", "required", "editable", "appendTo", "tabindex", "placeholder", "loadingIcon", "filterPlaceholder", "filterLocale", "variant", "inputId", "dataKey", "filterBy", "filterFields", "autofocus", "resetFilterOnHide", "checkmark", "dropdownIcon", "loading", "optionLabel", "optionValue", "optionDisabled", "optionGroupLabel", "optionGroupChildren", "autoDisplayFirst", "group", "showClear", "emptyFilterMessage", "emptyMessage", "lazy", "virtualScroll", "virtualScrollItemSize", "virtualScrollOptions", "overlayOptions", "ariaFilterLabel", "ariaLabel", "ariaLabelledBy", "filterMatchMode", "maxlength", "tooltip", "tooltipPosition", "tooltipPositionStyle", "tooltipStyleClass", "focusOnHover", "selectOnFocus", "autoOptionFocus", "autofocusFilter", "disabled", "itemSize", "autoZIndex", "baseZIndex", "showTransitionOptions", "hideTransitionOptions", "filterValue", "options"], outputs: ["onChange", "onFilter", "onFocus", "onBlur", "onClick", "onShow", "onHide", "onClear", "onLazyLoad"] }, { kind: "directive", type: i8.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i8.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: i9.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: i10.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i10.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "component", type: i11.NumberComponent, selector: "aril-number[ngModel], aril-number[formControl], aril-number[formControlName]", inputs: ["min", "max", "showButtons", "placeholder", "prefix", "locale", "suffix", "maxlength", "showClear", "useGrouping", "maxDigits", "minDigits", "tabindex", "inputStyle", "buttonLayout"] }, { kind: "component", type: i12.Sidebar, selector: "p-sidebar", inputs: ["appendTo", "blockScroll", "style", "styleClass", "ariaCloseLabel", "autoZIndex", "baseZIndex", "modal", "dismissible", "showCloseIcon", "closeOnEscape", "transitionOptions", "visible", "position", "fullScreen"], outputs: ["onShow", "onHide", "visibleChange"] }, { kind: "component", type: i13.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: i13.SortableColumn, selector: "[pSortableColumn]", inputs: ["pSortableColumn", "pSortableColumnDisabled"] }, { kind: "directive", type: i13.RowGroupHeader, selector: "[pRowGroupHeader]" }, { kind: "directive", type: i13.SelectableRow, selector: "[pSelectableRow]", inputs: ["pSelectableRow", "pSelectableRowIndex", "pSelectableRowDisabled"] }, { kind: "directive", type: i13.ResizableColumn, selector: "[pResizableColumn]", inputs: ["pResizableColumnDisabled"] }, { kind: "component", type: i13.SortIcon, selector: "p-sortIcon", inputs: ["field"] }, { kind: "component", type: i13.TableRadioButton, selector: "p-tableRadioButton", inputs: ["disabled", "value", "index", "inputId", "name", "ariaLabel"] }, { kind: "component", type: i13.TableCheckbox, selector: "p-tableCheckbox", inputs: ["disabled", "value", "index", "inputId", "name", "required", "ariaLabel"] }, { kind: "component", type: i13.TableHeaderCheckbox, selector: "p-tableHeaderCheckbox", inputs: ["disabled", "inputId", "name", "ariaLabel"] }, { kind: "directive", type: i13.ReorderableRowHandle, selector: "[pReorderableRowHandle]" }, { kind: "directive", type: i13.ReorderableRow, selector: "[pReorderableRow]", inputs: ["pReorderableRow", "pReorderableRowDisabled"] }, { kind: "component", type: i13.ColumnFilter, selector: "p-columnFilter", inputs: ["field", "type", "display", "showMenu", "matchMode", "operator", "showOperator", "showClearButton", "showApplyButton", "showMatchModes", "showAddButton", "hideOnClear", "placeholder", "matchModeOptions", "maxConstraints", "minFractionDigits", "maxFractionDigits", "prefix", "suffix", "locale", "localeMatcher", "currency", "currencyDisplay", "useGrouping", "showButtons", "ariaLabel"], outputs: ["onShow", "onHide"] }, { kind: "component", type: i14.Toast, selector: "p-toast", inputs: ["key", "autoZIndex", "baseZIndex", "life", "style", "styleClass", "position", "preventOpenDuplicates", "preventDuplicates", "showTransformOptions", "hideTransformOptions", "showTransitionOptions", "hideTransitionOptions", "breakpoints"], outputs: ["onClose"] }, { kind: "component", type: i15.ValueComponent, selector: "aril-value", inputs: ["model", "type", "format", "isClickable", "groupName", "parentSelectionKey", "isTextClamp", "textClampCharacters", "style", "copyable", "arrayTypeDisplayName", "arrayTypeMaxBadgeCount", "bigDecimalRoundingMode", "bigDecimalScale"] }, { kind: "component", type: i16.ExportOverlayPanelComponent, selector: "aril-export-overlay-panel", inputs: ["exportConfig", "columns"] }, { kind: "pipe", type: i17.GetColumnByFieldPipe, name: "getColumnByField" }, { kind: "pipe", type: i10.JsonPipe, name: "json" }, { kind: "pipe", type: i10.KeyValuePipe, name: "keyvalue" }, { kind: "pipe", type: i17.ParsePipe, name: "parse" }, { kind: "pipe", type: i17.SafePipe, name: "safe" }, { kind: "pipe", type: i10.SlicePipe, name: "slice" }] }); }
|
|
307
|
+
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 }, expandableFields: { classPropertyName: "expandableFields", publicName: "expandableFields", 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 }, radioButtonSelection: { classPropertyName: "radioButtonSelection", publicName: "radioButtonSelection", isSignal: true, isRequired: false, transformFunction: null }, headerCheckboxSelection: { classPropertyName: "headerCheckboxSelection", publicName: "headerCheckboxSelection", 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 }, dataKey: { classPropertyName: "dataKey", publicName: "dataKey", isSignal: true, isRequired: false, transformFunction: null }, selectedRowsInput: { classPropertyName: "selectedRowsInput", publicName: "selectedRowsInput", isSignal: true, isRequired: false, transformFunction: null }, isLazy: { classPropertyName: "isLazy", publicName: "isLazy", isSignal: true, isRequired: false, transformFunction: null }, totalRecords: { classPropertyName: "totalRecords", publicName: "totalRecords", isSignal: true, isRequired: false, transformFunction: null }, paginator: { classPropertyName: "paginator", publicName: "paginator", isSignal: true, isRequired: false, transformFunction: null }, paginatorDropdownAppendTo: { classPropertyName: "paginatorDropdownAppendTo", publicName: "paginatorDropdownAppendTo", isSignal: true, isRequired: false, transformFunction: null }, isColumnExpandMode: { classPropertyName: "isColumnExpandMode", publicName: "isColumnExpandMode", isSignal: true, isRequired: false, transformFunction: null }, isResizableColumns: { classPropertyName: "isResizableColumns", publicName: "isResizableColumns", isSignal: true, isRequired: false, transformFunction: null }, isSortable: { classPropertyName: "isSortable", publicName: "isSortable", isSignal: true, isRequired: false, transformFunction: null }, scrollable: { classPropertyName: "scrollable", publicName: "scrollable", isSignal: true, isRequired: false, transformFunction: null }, scrollHeight: { classPropertyName: "scrollHeight", publicName: "scrollHeight", isSignal: true, isRequired: false, transformFunction: null }, sortMode: { classPropertyName: "sortMode", publicName: "sortMode", isSignal: true, isRequired: false, transformFunction: null }, showFirstLastIcon: { classPropertyName: "showFirstLastIcon", publicName: "showFirstLastIcon", isSignal: true, isRequired: false, transformFunction: null }, rowSelectable: { classPropertyName: "rowSelectable", publicName: "rowSelectable", isSignal: true, isRequired: false, transformFunction: null }, isShowNoDataFoundMessage: { classPropertyName: "isShowNoDataFoundMessage", publicName: "isShowNoDataFoundMessage", isSignal: true, isRequired: false, transformFunction: null }, reorderableColumns: { classPropertyName: "reorderableColumns", publicName: "reorderableColumns", isSignal: true, isRequired: false, transformFunction: null }, reorderField: { classPropertyName: "reorderField", publicName: "reorderField", isSignal: true, isRequired: false, transformFunction: null }, showColumnFilters: { classPropertyName: "showColumnFilters", publicName: "showColumnFilters", isSignal: true, isRequired: false, transformFunction: null }, selectionPageOnly: { classPropertyName: "selectionPageOnly", publicName: "selectionPageOnly", isSignal: true, isRequired: false, transformFunction: null }, openSelectionOnSidebar: { classPropertyName: "openSelectionOnSidebar", publicName: "openSelectionOnSidebar", isSignal: true, isRequired: false, transformFunction: null }, exportConfig: { classPropertyName: "exportConfig", publicName: "exportConfig", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { onPageEvent: "onPageEvent", selectionEvent: "selectionEvent", lazyLoadEvent: "lazyLoadEvent", rowReorderEvent: "rowReorderEvent" }, queries: [{ propertyName: "columns", predicate: TableColumnComponent }], viewQueries: [{ propertyName: "exportOp", first: true, predicate: ExportOverlayPanelComponent, descendants: true }, { propertyName: "tableRef", first: true, predicate: Table, descendants: true }], usesOnChanges: true, ngImport: i0, template: "<p-table\r\n\t#ref\r\n\t[value]=\"data()\"\r\n\t[dataKey]=\"dataKey()\"\r\n\t[columns]=\"columns._results\"\r\n\t[rows]=\"pageSize()\"\r\n\t[rowHover]=\"true\"\r\n\t[paginator]=\"!this.isLazy() || this.totalRecords() > 10 ? this.paginator() : false\"\r\n\t[lazy]=\"isLazy()\"\r\n\t[lazyLoadOnInit]=\"false\"\r\n\t[totalRecords]=\"totalRecords()\"\r\n\t[rowsPerPageOptions]=\"[5, 10, 20, 50, 100]\"\r\n\t[rowSelectable]=\"rowSelectable()\"\r\n\t[filterDelay]=\"0\"\r\n\t[sortMode]=\"sortMode()\"\r\n\t[(selection)]=\"selectedRows\"\r\n\t(onPage)=\"onPageEvent.emit($event)\"\r\n\t(onSort)=\"onTableSort($event)\"\r\n\t(onLazyLoad)=\"handleLazyLoadEvent($event)\"\r\n\t(selectionChange)=\"selectionEvent.emit(selectedRows)\"\r\n\t(onRowSelect)=\"sidebarVisible = true\"\r\n\t(onRowUnselect)=\"sidebarVisible = false\"\r\n\t[showCurrentPageReport]=\"true\"\r\n\t[selectionMode]=\"selectionMode()\"\r\n\t[selectionPageOnly]=\"selectionPageOnly()\"\r\n\t[columnResizeMode]=\"isColumnExpandMode() ? 'expand' : ''\"\r\n\t[resizableColumns]=\"isResizableColumns()\"\r\n\t[currentPageReportTemplate]=\"currentPageReportText\"\r\n\tstyleClass=\"p-datatable-sm\"\r\n\t[paginatorDropdownAppendTo]=\"paginatorDropdownAppendTo()\"\r\n\t[scrollable]=\"scrollable()\"\r\n\t[scrollHeight]=\"scrollHeight()\"\r\n\t[showFirstLastIcon]=\"showFirstLastIcon()\"\r\n\t[reorderableColumns]=\"reorderableColumns()\"\r\n\t(onRowReorder)=\"rowReorder($event)\">\r\n\t<ng-template pTemplate=\"groupheader\" let-item let-rowIndex=\"rowIndex\" let-expanded=\"expanded\">\r\n\t\t<tr pRowGroupHeader style=\"background-color: #f8fafc\">\r\n\t\t\t<td [attr.colspan]=\"columns._results.length\">\r\n\t\t\t\t<span class=\"font-bold ml-2\" style=\"color: #6b7280\">{{ item.groupName }}</span>\r\n\t\t\t</td>\r\n\t\t</tr>\r\n\t</ng-template>\r\n\r\n\t<ng-template pTemplate=\"header\" let-columns>\r\n\t\t<tr>\r\n\t\t\t@if (reorderableColumns() || radioButtonSelection()) {\r\n\t\t\t\t<th style=\"width: 3rem !important\"></th>\r\n\t\t\t}\r\n\r\n\t\t\t@if (checkboxSelection()) {\r\n\t\t\t\t<th>\r\n\t\t\t\t\t@if (headerCheckboxSelection()) {\r\n\t\t\t\t\t\t<p-tableHeaderCheckbox></p-tableHeaderCheckbox>\r\n\t\t\t\t\t}\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@if (isResizableColumns()) {\r\n\t\t\t\t\t\t<th [ngStyle]=\"{ width: column.width() ? column.width() : 'auto' }\" pResizableColumn>\r\n\t\t\t\t\t\t\t<div class=\"flex justify-content-between align-items-center gap-2\">\r\n\t\t\t\t\t\t\t\t<span \r\n\t\t\t\t\t\t\t\t\tclass=\"no-wrap-word\"\r\n\t\t\t\t\t\t\t\t\t[pTooltip]=\"column.header().length > 50 ? column.header() : ''\"\r\n\t\t\t\t\t\t\t\t\ttooltipPosition=\"top\">\r\n\t\t\t\t\t\t\t\t\t{{ column.header().length > 50 ? (column.header() | slice:0:50) + '...' : column.header() }}\r\n\t\t\t\t\t\t\t\t </span>\r\n\t\t\t\t\t\t\t\t<div class=\"flex\">\r\n\t\t\t\t\t\t\t\t\t@if (column.isShowHeaderTooltip()) {\r\n\t\t\t\t\t\t\t\t\t\t<i\r\n\t\t\t\t\t\t\t\t\t\t\tstyle=\"color: green; padding-top: 4px; padding-left: 4px\"\r\n\t\t\t\t\t\t\t\t\t\t\tclass=\"pi pi-info-circle\"\r\n\t\t\t\t\t\t\t\t\t\t\t[pTooltip]=\"column.tooltipTemplate()\"\r\n\t\t\t\t\t\t\t\t\t\t\ttooltipPosition=\"top\"></i>\r\n\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t</th>\r\n\t\t\t\t\t} @else {\r\n\t\t\t\t\t\t@if (isLazy() && isSortable()) {\r\n\t\t\t\t\t\t\t<th\r\n\t\t\t\t\t\t\t\t[pSortableColumn]=\"column.field()\"\r\n\t\t\t\t\t\t\t\t[ngStyle]=\"{ width: column.width() ? column.width() : 'auto' }\"\r\n\t\t\t\t\t\t\t\tstyle=\"min-width: 170px\">\r\n\t\t\t\t\t\t\t\t<div class=\"flex justify-content-between align-items-center gap-2\">\r\n\t\t\t\t\t\t\t\t\t<span \r\n\t\t\t\t\t\t\t\t\t\tclass=\"no-wrap-word\"\r\n\t\t\t\t\t\t\t\t\t\t[pTooltip]=\"column.header().length > 50 ? column.header() : ''\"\r\n\t\t\t\t\t\t\t\t\t\ttooltipPosition=\"top\">\r\n\t\t\t\t\t\t\t\t\t\t{{ column.header().length > 50 ? (column.header() | slice:0:50) + '...' : column.header() }}\r\n\t\t\t\t\t\t\t\t </span>\r\n\t\t\t\t\t\t\t\t\t<div class=\"flex justify-content-center align-items-center\">\r\n\t\t\t\t\t\t\t\t\t\t@if (column.type() !== 'operations') {\r\n\t\t\t\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\t\t}\r\n\t\t\t\t\t\t\t\t\t\t@if (showColumnFilters() && column.showFilter() && column.type() !== 'operations') {\r\n\t\t\t\t\t\t\t\t\t\t\t@switch (column.filterType()) {\r\n\t\t\t\t\t\t\t\t\t\t\t\t@case (ColumnFilterTypeEnum.TEXT) {\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t<p-columnFilter\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\ttype=\"text\"\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t[field]=\"column.field()\"\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tdisplay=\"menu\"\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t[maxConstraints]=\"1\"\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tclass=\"mt-2\" />\r\n\t\t\t\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t\t\t\t\t@case (ColumnFilterTypeEnum.NUMERIC) {\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t<p-columnFilter\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\ttype=\"numeric\"\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t[field]=\"column.field()\"\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tdisplay=\"menu\"\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t[showApplyButton]=\"false\"\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t[showClearButton]=\"false\"\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t[maxConstraints]=\"1\"\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tclass=\"mt-2\">\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<ng-template pTemplate=\"filter\" let-filter=\"filterCallback\" let-value>\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<aril-number\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t[maxDigits]=\"6\"\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t[ngModel]=\"getFilterValue(column.field())\"\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t(ngModelChange)=\"onFilterChange($event, filter, column.field())\"\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tclass=\"w-full\" />\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<div class=\"flex justify-content-between align-items-end mt-5\">\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<aril-button\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsize=\"sm\"\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tcolor=\"secondary\"\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t[label]=\"'Temizle'\"\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t(clickEvent)=\"clearFilter(filter, column.field())\" />\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<aril-button\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsize=\"sm\"\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tcolor=\"primary\"\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t[label]=\"'Uygula'\"\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t(clickEvent)=\"applyFilter(filter, column.field())\" />\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t</ng-template>\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t</p-columnFilter>\r\n\t\t\t\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t\t\t\t\t@case (ColumnFilterTypeEnum.DATE) {\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t@if (column.showTimeInDateFilters()) {\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<p-columnFilter\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t[field]=\"column.field()\"\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\ttype=\"date\"\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tdisplay=\"menu\"\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t[maxConstraints]=\"1\"\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t[showApplyButton]=\"false\"\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t[showClearButton]=\"false\"\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tclass=\"mt-2\">\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<ng-template pTemplate=\"filter\" let-filter=\"filterCallback\" let-value>\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<aril-calendar\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t[ngModel]=\"getFilterValue(column.field())\"\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t(ngModelChange)=\"onFilterChange($event, filter, column.field())\"\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tclass=\"w-6\"\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t[showTime]=\"true\"\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t[appendTo]=\"null\" />\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<div class=\"flex justify-content-between align-items-end mt-5\">\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<aril-button\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsize=\"sm\"\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tcolor=\"secondary\"\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t[label]=\"'Temizle'\"\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t(clickEvent)=\"clearFilter(filter, column.field())\" />\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<aril-button\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsize=\"sm\"\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tcolor=\"primary\"\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t[label]=\"'Uygula'\"\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t(clickEvent)=\"applyFilter(filter, column.field())\" />\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t</ng-template>\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t</p-columnFilter>\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t} @else {\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<p-columnFilter\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\ttype=\"date\"\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t[field]=\"column.field()\"\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tdisplay=\"menu\"\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t[maxConstraints]=\"1\"\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tclass=\"mt-2\">\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<ng-template pTemplate=\"filter\" let-filter=\"filterCallback\">\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<aril-calendar [(ngModel)]=\"filter.value\" class=\"w-6\" [appendTo]=\"null\" />\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t</ng-template>\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t</p-columnFilter>\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t\t\t\t\t@case (ColumnFilterTypeEnum.BOOLEAN) {\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t<p-columnFilter [field]=\"column.field()\" type=\"boolean\" display=\"menu\" class=\"mt-2\" />\r\n\t\t\t\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t\t\t\t\t@case (ColumnFilterTypeEnum.ENUM) {\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t<p-columnFilter\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t[field]=\"column.field()\"\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\ttype=\"text\"\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tdisplay=\"menu\"\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t[showClearButton]=\"false\"\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t[showApplyButton]=\"false\"\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t[maxConstraints]=\"1\"\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t[matchModeOptions]=\"[\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t{ label: 'E\u015Fittir', value: 'equals' },\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t{ label: 'E\u015Fit De\u011Fildir', value: 'notEquals' },\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t{ label: '\u0130\u00E7erir', value: 'contains' },\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t{ label: '\u0130\u00E7ermez', value: 'notContains' }\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t]\"\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tclass=\"mt-2\">\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<ng-template pTemplate=\"filter\" let-filter=\"filterCallback\" let-value>\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<p-dropdown\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t[options]=\"getEnumOptions(column.enumGroupName(), 'ALL')\"\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t[ngModel]=\"getFilterValue(column.field())\"\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t(onChange)=\"onFilterChange($event.value, filter, column.field())\"\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tappendTo=\"self\"\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t[showClear]=\"true\"\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tstyleClass=\"w-full\"></p-dropdown>\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<div class=\"flex justify-content-between align-items-end mt-5\">\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<aril-button\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsize=\"sm\"\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tcolor=\"secondary\"\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t[label]=\"'Temizle'\"\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t(clickEvent)=\"clearFilter(filter, column.field())\" />\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<aril-button\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsize=\"sm\"\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tcolor=\"primary\"\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t[label]=\"'Uygula'\"\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t(clickEvent)=\"applyFilter(filter, column.field())\" />\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t</ng-template>\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t</p-columnFilter>\r\n\t\t\t\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t\t\t@if (column.isShowHeaderTooltip()) {\r\n\t\t\t\t\t\t\t\t\t\t\t<i\r\n\t\t\t\t\t\t\t\t\t\t\t\tstyle=\"color: green\"\r\n\t\t\t\t\t\t\t\t\t\t\t\tclass=\"pi pi-info-circle mt-1\"\r\n\t\t\t\t\t\t\t\t\t\t\t\t[pTooltip]=\"column.tooltipTemplate()\"\r\n\t\t\t\t\t\t\t\t\t\t\t\ttooltipPosition=\"top\"></i>\r\n\t\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t\t</th>\r\n\t\t\t\t\t\t} @else {\r\n\t\t\t\t\t\t\t<th [ngStyle]=\"{ width: column.width() ? column.width() : 'auto' }\" style=\"min-width: 170px\">\r\n\t\t\t\t\t\t\t\t<div class=\"flex justify-content-between align-items-center gap-2\">\r\n\t\t\t\t\t\t\t\t\t<span \r\n\t\t\t\t\t\t\t\t\t\tclass=\"no-wrap-word\"\r\n\t\t\t\t\t\t\t\t\t\t[pTooltip]=\"column.header().length > 50 ? column.header() : ''\"\r\n\t\t\t\t\t\t\t\t\t\ttooltipPosition=\"top\">\r\n\t\t\t\t\t\t\t\t\t\t{{ column.header().length > 50 ? (column.header() | slice:0:50) + '...' : column.header() }}\r\n\t\t\t\t\t\t\t\t </span>\r\n\t\t\t\t\t\t\t\t\t<div class=\"flex justify-content-center align-items-center\">\r\n\t\t\t\t\t\t\t\t\t\t@if (column.isShowHeaderTooltip()) {\r\n\t\t\t\t\t\t\t\t\t\t\t<i\r\n\t\t\t\t\t\t\t\t\t\t\t\tstyle=\"color: green\"\r\n\t\t\t\t\t\t\t\t\t\t\t\tclass=\"pi pi-info-circle mt-1\"\r\n\t\t\t\t\t\t\t\t\t\t\t\t[pTooltip]=\"column.tooltipTemplate()\"\r\n\t\t\t\t\t\t\t\t\t\t\t\ttooltipPosition=\"top\"></i>\r\n\t\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t\t</th>\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}\r\n\t\t</tr>\r\n\t</ng-template>\r\n\r\n\t<ng-template pTemplate=\"body\" let-item let-columns=\"columns\" let-index=\"rowIndex\">\r\n\t\t@if (handledSelectionMode) {\r\n\t\t\t<tr\r\n\t\t\t\t[pSelectableRow]=\"item\"\r\n\t\t\t\t[ngStyle]=\"{ 'background-color': item?.rowColor ? item?.rowColor : null }\"\r\n\t\t\t\t[pReorderableRow]=\"index\">\r\n\t\t\t\t@if (reorderableColumns()) {\r\n\t\t\t\t\t<td>\r\n\t\t\t\t\t\t<span class=\"pi pi-bars\" pReorderableRowHandle></span>\r\n\t\t\t\t\t</td>\r\n\t\t\t\t}\r\n\r\n\t\t\t\t@if (radioButtonSelection()) {\r\n\t\t\t\t\t<td>\r\n\t\t\t\t\t\t<p-tableRadioButton [value]=\"item\"></p-tableRadioButton>\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} @else {\r\n\t\t\t<tr [ngStyle]=\"{ 'background-color': item?.rowColor ? item?.rowColor : null }\" [pReorderableRow]=\"index\">\r\n\t\t\t\t@if (reorderableColumns()) {\r\n\t\t\t\t\t<td>\r\n\t\t\t\t\t\t<span class=\"pi pi-bars\" pReorderableRowHandle></span>\r\n\t\t\t\t\t</td>\r\n\t\t\t\t}\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@if (radioButtonSelection()) {\r\n\t\t\t\t\t<td>\r\n\t\t\t\t\t\t<p-tableRadioButton [value]=\"item\"></p-tableRadioButton>\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\r\n<aril-export-overlay-panel [exportConfig]=\"exportConfig()!\" [columns]=\"columns\" />\r\n\r\n<p-toast key=\"export-toast\">\r\n\t<ng-template let-message pTemplate=\"message\">\r\n\t\t<span class=\"p-toast-message-icon\">\r\n\t\t\t<CheckIcon />\r\n\t\t</span>\r\n\t\t<div class=\"p-toast-message-text\">\r\n\t\t\t<div class=\"p-toast-summary\">{{ message.summary }}</div>\r\n\t\t\t<div class=\"p-toast-detail\" [innerHTML]=\"message.detail | safe: 'html'\"></div>\r\n\t\t</div>\r\n\t</ng-template>\r\n</p-toast>\r\n\r\n@if (openSelectionOnSidebar() && selectionMode() === 'single') {\r\n\t<p-sidebar\r\n\t\t[(visible)]=\"sidebarVisible\"\r\n\t\tposition=\"right\"\r\n\t\t[style]=\"{ 'max-width': '800px', width: '100%' }\"\r\n\t\t(onHide)=\"selectedRows = undefined\"\r\n\t\t[modal]=\"false\">\r\n\t\t<ng-template pTemplate=\"header\">\r\n\t\t\t<span class=\"font-semibold text-xl\">{{ translocoService.translate('table.sidebarDetailHeader') }}</span>\r\n\t\t</ng-template>\r\n\r\n\t\t@if (sidebarVisible) {\r\n\t\t\t<p-table [value]=\"selectedRows | keyvalue\" [paginator]=\"false\" styleClass=\"p-datatable-sm\">\r\n\t\t\t\t<ng-template pTemplate=\"header\">\r\n\t\t\t\t\t<tr>\r\n\t\t\t\t\t\t<th>{{ translocoService.translate('table.field') }}</th>\r\n\t\t\t\t\t\t<th>{{ translocoService.translate('table.value') }}</th>\r\n\t\t\t\t\t</tr>\r\n\t\t\t\t</ng-template>\r\n\r\n\t\t\t\t<ng-template pTemplate=\"body\" let-item let-index=\"rowIndex\">\r\n\t\t\t\t\t<tr>\r\n\t\t\t\t\t\t@if (columns | getColumnByField: item.key; as column) {\r\n\t\t\t\t\t\t\t<td [width]=\"'120px'\">{{ column.header() }}</td>\r\n\t\t\t\t\t\t\t<td>\r\n\t\t\t\t\t\t\t\t@if (column.type() === 'json' && item.value) {\r\n\t\t\t\t\t\t\t\t\t<div [ngStyle]=\"{ display: 'grid' }\">\r\n\t\t\t\t\t\t\t\t\t\t<pre\r\n\t\t\t\t\t\t\t\t\t\t\tclass=\"overflow-y-auto max-h-30rem border-300 border-1 border-round my-2 p-3\"><code>{{item.value | parse | json}}</code></pre>\r\n\t\t\t\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t\t\t} @else if (column.type() === 'long-text' && item.value) {\r\n\t\t\t\t\t\t\t\t\t<aril-value type=\"text\" [model]=\"item.value\" />\r\n\t\t\t\t\t\t\t\t} @else {\r\n\t\t\t\t\t\t\t\t\t<ng-template ngFor [ngForOf]=\"[selectedRows]\" [ngForTemplate]=\"column.template\" />\r\n\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t</td>\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t</tr>\r\n\t\t\t\t</ng-template>\r\n\t\t\t</p-table>\r\n\t\t}\r\n\r\n\t\t<ng-template pTemplate=\"footer\">\r\n\t\t\t<div class=\"flex align-items-center justify-content-between\">\r\n\t\t\t\t<aril-button\r\n\t\t\t\t\tsize=\"sm\"\r\n\t\t\t\t\ticon=\"ARROW_LEFT\"\r\n\t\t\t\t\tcolor=\"primary\"\r\n\t\t\t\t\t[label]=\"translocoService.translate('table.prevRecord')\"\r\n\t\t\t\t\t(clickEvent)=\"prevRecord()\" />\r\n\r\n\t\t\t\t<aril-button\r\n\t\t\t\t\tsize=\"sm\"\r\n\t\t\t\t\ticon=\"ARROW_RIGHT\"\r\n\t\t\t\t\ticonPos=\"right\"\r\n\t\t\t\t\tcolor=\"primary\"\r\n\t\t\t\t\t[label]=\"translocoService.translate('table.nextRecord')\"\r\n\t\t\t\t\t(clickEvent)=\"nextRecord()\" />\r\n\t\t\t</div>\r\n\t\t</ng-template>\r\n\t</p-sidebar>\r\n}\r\n", styles: ["::ng-deep aril-table th{min-width:0px!important}::ng-deep .p-datatable .p-datatable-tbody>tr.p-highlight{background-color:#e3f2fd!important;color:#475569!important}.no-wrap-word{display:inline-block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}\n"], dependencies: [{ kind: "component", type: i3.ButtonComponent, selector: "aril-button:not([click])", inputs: ["label", "loading", "disabled", "raised", "rounded", "text", "outlined", "badge", "size", "icon", "iconPos", "color"], outputs: ["clickEvent"] }, { kind: "directive", type: i4.PrimeTemplate, selector: "[pTemplate]", inputs: ["type", "pTemplate"] }, { kind: "component", type: i5.CalendarComponent, selector: "aril-calendar[ngModel], aril-calendar[formControl], aril-calendar[formControlName]", inputs: ["minDate", "maxDate", "inputStyle", "inputStyleClass", "autoZIndex", "inline", "showIcon", "showTime", "showWeek", "showSeconds", "disabledDates", "numberOfMonthToShow", "appendTo", "dataType", "placeholder", "view", "selectionMode", "rangeConfig", "tabindex", "showOnFocus", "timeOnly", "keepInvalid"] }, { kind: "component", type: i6.CheckIcon, selector: "CheckIcon" }, { kind: "component", type: i7.Dropdown, selector: "p-dropdown", inputs: ["id", "scrollHeight", "filter", "name", "style", "panelStyle", "styleClass", "panelStyleClass", "readonly", "required", "editable", "appendTo", "tabindex", "placeholder", "loadingIcon", "filterPlaceholder", "filterLocale", "variant", "inputId", "dataKey", "filterBy", "filterFields", "autofocus", "resetFilterOnHide", "checkmark", "dropdownIcon", "loading", "optionLabel", "optionValue", "optionDisabled", "optionGroupLabel", "optionGroupChildren", "autoDisplayFirst", "group", "showClear", "emptyFilterMessage", "emptyMessage", "lazy", "virtualScroll", "virtualScrollItemSize", "virtualScrollOptions", "overlayOptions", "ariaFilterLabel", "ariaLabel", "ariaLabelledBy", "filterMatchMode", "maxlength", "tooltip", "tooltipPosition", "tooltipPositionStyle", "tooltipStyleClass", "focusOnHover", "selectOnFocus", "autoOptionFocus", "autofocusFilter", "disabled", "itemSize", "autoZIndex", "baseZIndex", "showTransitionOptions", "hideTransitionOptions", "filterValue", "options"], outputs: ["onChange", "onFilter", "onFocus", "onBlur", "onClick", "onShow", "onHide", "onClear", "onLazyLoad"] }, { kind: "directive", type: i8.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i8.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: i9.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: i10.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i10.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "component", type: i11.NumberComponent, selector: "aril-number[ngModel], aril-number[formControl], aril-number[formControlName]", inputs: ["min", "max", "showButtons", "placeholder", "prefix", "locale", "suffix", "maxlength", "showClear", "useGrouping", "maxDigits", "minDigits", "tabindex", "inputStyle", "buttonLayout"] }, { kind: "component", type: i12.Sidebar, selector: "p-sidebar", inputs: ["appendTo", "blockScroll", "style", "styleClass", "ariaCloseLabel", "autoZIndex", "baseZIndex", "modal", "dismissible", "showCloseIcon", "closeOnEscape", "transitionOptions", "visible", "position", "fullScreen"], outputs: ["onShow", "onHide", "visibleChange"] }, { kind: "component", type: i13.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: i13.SortableColumn, selector: "[pSortableColumn]", inputs: ["pSortableColumn", "pSortableColumnDisabled"] }, { kind: "directive", type: i13.RowGroupHeader, selector: "[pRowGroupHeader]" }, { kind: "directive", type: i13.SelectableRow, selector: "[pSelectableRow]", inputs: ["pSelectableRow", "pSelectableRowIndex", "pSelectableRowDisabled"] }, { kind: "directive", type: i13.ResizableColumn, selector: "[pResizableColumn]", inputs: ["pResizableColumnDisabled"] }, { kind: "component", type: i13.SortIcon, selector: "p-sortIcon", inputs: ["field"] }, { kind: "component", type: i13.TableRadioButton, selector: "p-tableRadioButton", inputs: ["disabled", "value", "index", "inputId", "name", "ariaLabel"] }, { kind: "component", type: i13.TableCheckbox, selector: "p-tableCheckbox", inputs: ["disabled", "value", "index", "inputId", "name", "required", "ariaLabel"] }, { kind: "component", type: i13.TableHeaderCheckbox, selector: "p-tableHeaderCheckbox", inputs: ["disabled", "inputId", "name", "ariaLabel"] }, { kind: "directive", type: i13.ReorderableRowHandle, selector: "[pReorderableRowHandle]" }, { kind: "directive", type: i13.ReorderableRow, selector: "[pReorderableRow]", inputs: ["pReorderableRow", "pReorderableRowDisabled"] }, { kind: "component", type: i13.ColumnFilter, selector: "p-columnFilter", inputs: ["field", "type", "display", "showMenu", "matchMode", "operator", "showOperator", "showClearButton", "showApplyButton", "showMatchModes", "showAddButton", "hideOnClear", "placeholder", "matchModeOptions", "maxConstraints", "minFractionDigits", "maxFractionDigits", "prefix", "suffix", "locale", "localeMatcher", "currency", "currencyDisplay", "useGrouping", "showButtons", "ariaLabel"], outputs: ["onShow", "onHide"] }, { kind: "component", type: i14.Toast, selector: "p-toast", inputs: ["key", "autoZIndex", "baseZIndex", "life", "style", "styleClass", "position", "preventOpenDuplicates", "preventDuplicates", "showTransformOptions", "hideTransformOptions", "showTransitionOptions", "hideTransitionOptions", "breakpoints"], outputs: ["onClose"] }, { kind: "component", type: i15.ValueComponent, selector: "aril-value", inputs: ["model", "type", "format", "isClickable", "groupName", "parentSelectionKey", "isTextClamp", "textClampCharacters", "style", "copyable", "shouldShowCopyForClampedText", "arrayTypeDisplayName", "arrayTypeMaxBadgeCount", "bigDecimalRoundingMode", "bigDecimalScale"] }, { kind: "component", type: i16.ExportOverlayPanelComponent, selector: "aril-export-overlay-panel", inputs: ["exportConfig", "columns"] }, { kind: "pipe", type: i17.GetColumnByFieldPipe, name: "getColumnByField" }, { kind: "pipe", type: i10.JsonPipe, name: "json" }, { kind: "pipe", type: i10.KeyValuePipe, name: "keyvalue" }, { kind: "pipe", type: i17.ParsePipe, name: "parse" }, { kind: "pipe", type: i17.SafePipe, name: "safe" }, { kind: "pipe", type: i10.SlicePipe, name: "slice" }] }); }
|
|
308
308
|
}
|
|
309
309
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.2", ngImport: i0, type: TableComponent, decorators: [{
|
|
310
310
|
type: Component,
|
|
@@ -29,6 +29,9 @@ export class ValueComponent {
|
|
|
29
29
|
this.textClampCharacters = input(50);
|
|
30
30
|
this.style = input();
|
|
31
31
|
this.copyable = input(false);
|
|
32
|
+
this.shouldShowCopyForClampedText = input(false);
|
|
33
|
+
this.showCopyIcon = computed(() => (!this.shouldShowCopyForClampedText() && this.copyable()) ||
|
|
34
|
+
(this.shouldShowCopyForClampedText() && this.model().length > this.textClampCharacters()));
|
|
32
35
|
// only for array type
|
|
33
36
|
this.arrayTypeDisplayName = input('valueDesc');
|
|
34
37
|
this.arrayTypeMaxBadgeCount = input(3);
|
|
@@ -185,7 +188,7 @@ export class ValueComponent {
|
|
|
185
188
|
});
|
|
186
189
|
}
|
|
187
190
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.2", ngImport: i0, type: ValueComponent, deps: [{ token: i1.TranslocoService }, { token: i2.SelectionGroupService }, { token: i3.MessageService }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
188
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.1.2", type: ValueComponent, isStandalone: true, selector: "aril-value", inputs: { model: { classPropertyName: "model", publicName: "model", isSignal: true, isRequired: true, transformFunction: null }, type: { classPropertyName: "type", publicName: "type", isSignal: true, isRequired: false, transformFunction: null }, format: { classPropertyName: "format", publicName: "format", isSignal: true, isRequired: false, transformFunction: null }, isClickable: { classPropertyName: "isClickable", publicName: "isClickable", isSignal: true, isRequired: false, transformFunction: null }, groupName: { classPropertyName: "groupName", publicName: "groupName", isSignal: true, isRequired: false, transformFunction: null }, parentSelectionKey: { classPropertyName: "parentSelectionKey", publicName: "parentSelectionKey", isSignal: true, isRequired: false, transformFunction: null }, isTextClamp: { classPropertyName: "isTextClamp", publicName: "isTextClamp", isSignal: true, isRequired: false, transformFunction: null }, textClampCharacters: { classPropertyName: "textClampCharacters", publicName: "textClampCharacters", isSignal: true, isRequired: false, transformFunction: null }, style: { classPropertyName: "style", publicName: "style", isSignal: true, isRequired: false, transformFunction: null }, copyable: { classPropertyName: "copyable", publicName: "copyable", isSignal: true, isRequired: false, transformFunction: null }, arrayTypeDisplayName: { classPropertyName: "arrayTypeDisplayName", publicName: "arrayTypeDisplayName", isSignal: true, isRequired: false, transformFunction: null }, arrayTypeMaxBadgeCount: { classPropertyName: "arrayTypeMaxBadgeCount", publicName: "arrayTypeMaxBadgeCount", isSignal: true, isRequired: false, transformFunction: null }, bigDecimalRoundingMode: { classPropertyName: "bigDecimalRoundingMode", publicName: "bigDecimalRoundingMode", isSignal: true, isRequired: false, transformFunction: null }, bigDecimalScale: { classPropertyName: "bigDecimalScale", publicName: "bigDecimalScale", isSignal: true, isRequired: false, transformFunction: null } }, providers: [DialogService, DecimalPipe], ngImport: i0, template: "@if (model() == undefined || model() == null) {\r\n\t<i\r\n\t\tclass=\"pi pi-minus\"\r\n\t\tstyle=\"color: red\"\r\n\t\t[pTooltip]=\"this.translocoService.translate('validations.noItemToShow')\"></i>\r\n} @else {\r\n\t@if (type() == 'bool') {\r\n\t\t@if (!!model()) {\r\n\t\t\t<i class=\"pi pi-check\" style=\"color: green\"></i>\r\n\t\t} @else {\r\n\t\t\t<i class=\"pi pi-times\" style=\"color: crimson\"></i>\r\n\t\t}\r\n\t} @else if (type() === 'enum') {\r\n\t\t@if (isModelArray()) {\r\n\t\t\t<div class=\"flex align-items-center gap-1\">\r\n\t\t\t\t@for (display of enumArrayDisplays().slice(0, 2); track display; let i = $index) {\r\n\t\t\t\t\t<aril-badge [background]=\"enumArrayBackgroundColors()[i]\" [value]=\"display\" />\r\n\t\t\t\t}\r\n\t\t\t\t@if (enumArrayDisplays().length > 2) {\r\n\t\t\t\t\t<i class=\"pi pi-ellipsis-v cursor-pointer\" (click)=\"enumOp.toggle($event)\"></i>\r\n\r\n\t\t\t\t\t<p-overlayPanel #enumOp class=\"shadow-4\" appendTo=\"body\">\r\n\t\t\t\t\t\t<div class=\"flex flex-column gap-2 max-w-30rem max-h-20rem pr-3 overflow-y-auto\">\r\n\t\t\t\t\t\t\t@for (display of enumArrayDisplays() | slice: 2; track display; let i = $index) {\r\n\t\t\t\t\t\t\t\t<aril-badge [background]=\"enumArrayBackgroundColors()[i + 2]\" [value]=\"display\" />\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t</div>\r\n\t\t\t\t\t</p-overlayPanel>\r\n\t\t\t\t}\r\n\t\t\t</div>\r\n\t\t} @else {\r\n\t\t\t<aril-badge [background]=\"enumBadgeBackgroundColor()\" [value]=\"enumSelectionDisplay()\" />\r\n\t\t}\r\n\t} @else if (type() === 'array') {\r\n\t\t<div class=\"flex align-items-center gap-1\">\r\n\t\t\t@for (item of model().slice(0, arrayTypeMaxBadgeCount()); track item) {\r\n\t\t\t\t<aril-badge [background]=\"getArrayItemValue(item) || '' | enumColorPicker\" [value]=\"getArrayItemValue(item)\" />\r\n\t\t\t}\r\n\t\t\t@if (model().length > arrayTypeMaxBadgeCount()) {\r\n\t\t\t\t<i class=\"pi pi-ellipsis-v cursor-pointer\" (click)=\"op.toggle($event)\"></i>\r\n\r\n\t\t\t\t<p-overlayPanel #op class=\"shadow-4\" appendTo=\"body\">\r\n\t\t\t\t\t<div class=\"flex flex-column gap-2 max-w-30rem max-h-20rem pr-3 overflow-y-auto\">\r\n\t\t\t\t\t\t@for (item of model() | slice: arrayTypeMaxBadgeCount(); track item) {\r\n\t\t\t\t\t\t\t<aril-badge\r\n\t\t\t\t\t\t\t\t[background]=\"getArrayItemValue(item) || '' | enumColorPicker\"\r\n\t\t\t\t\t\t\t\t[value]=\"getArrayItemValue(item)\" />\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t</div>\r\n\t\t\t\t</p-overlayPanel>\r\n\t\t\t}\r\n\t\t</div>\r\n\t} @else {\r\n\t\t@if (display() == undefined) {\r\n\t\t\t<i\r\n\t\t\t\tclass=\"pi pi-exclamation-circle\"\r\n\t\t\t\tstyle=\"color: red\"\r\n\t\t\t\t[pTooltip]=\"this.translocoService.translate('validations.invalidDataFormat')\">\r\n\t\t\t</i>\r\n\t\t} @else {\r\n\t\t\t<span class=\"flex align-items-center gap-2\">\r\n\t\t\t\t@if (
|
|
191
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.1.2", type: ValueComponent, isStandalone: true, selector: "aril-value", inputs: { model: { classPropertyName: "model", publicName: "model", isSignal: true, isRequired: true, transformFunction: null }, type: { classPropertyName: "type", publicName: "type", isSignal: true, isRequired: false, transformFunction: null }, format: { classPropertyName: "format", publicName: "format", isSignal: true, isRequired: false, transformFunction: null }, isClickable: { classPropertyName: "isClickable", publicName: "isClickable", isSignal: true, isRequired: false, transformFunction: null }, groupName: { classPropertyName: "groupName", publicName: "groupName", isSignal: true, isRequired: false, transformFunction: null }, parentSelectionKey: { classPropertyName: "parentSelectionKey", publicName: "parentSelectionKey", isSignal: true, isRequired: false, transformFunction: null }, isTextClamp: { classPropertyName: "isTextClamp", publicName: "isTextClamp", isSignal: true, isRequired: false, transformFunction: null }, textClampCharacters: { classPropertyName: "textClampCharacters", publicName: "textClampCharacters", isSignal: true, isRequired: false, transformFunction: null }, style: { classPropertyName: "style", publicName: "style", isSignal: true, isRequired: false, transformFunction: null }, copyable: { classPropertyName: "copyable", publicName: "copyable", isSignal: true, isRequired: false, transformFunction: null }, shouldShowCopyForClampedText: { classPropertyName: "shouldShowCopyForClampedText", publicName: "shouldShowCopyForClampedText", isSignal: true, isRequired: false, transformFunction: null }, arrayTypeDisplayName: { classPropertyName: "arrayTypeDisplayName", publicName: "arrayTypeDisplayName", isSignal: true, isRequired: false, transformFunction: null }, arrayTypeMaxBadgeCount: { classPropertyName: "arrayTypeMaxBadgeCount", publicName: "arrayTypeMaxBadgeCount", isSignal: true, isRequired: false, transformFunction: null }, bigDecimalRoundingMode: { classPropertyName: "bigDecimalRoundingMode", publicName: "bigDecimalRoundingMode", isSignal: true, isRequired: false, transformFunction: null }, bigDecimalScale: { classPropertyName: "bigDecimalScale", publicName: "bigDecimalScale", isSignal: true, isRequired: false, transformFunction: null } }, providers: [DialogService, DecimalPipe], ngImport: i0, template: "@if (model() == undefined || model() == null) {\r\n\t<i\r\n\t\tclass=\"pi pi-minus\"\r\n\t\tstyle=\"color: red\"\r\n\t\t[pTooltip]=\"this.translocoService.translate('validations.noItemToShow')\"></i>\r\n} @else {\r\n\t@if (type() == 'bool') {\r\n\t\t@if (!!model()) {\r\n\t\t\t<i class=\"pi pi-check\" style=\"color: green\"></i>\r\n\t\t} @else {\r\n\t\t\t<i class=\"pi pi-times\" style=\"color: crimson\"></i>\r\n\t\t}\r\n\t} @else if (type() === 'enum') {\r\n\t\t@if (isModelArray()) {\r\n\t\t\t<div class=\"flex align-items-center gap-1\">\r\n\t\t\t\t@for (display of enumArrayDisplays().slice(0, 2); track display; let i = $index) {\r\n\t\t\t\t\t<aril-badge [background]=\"enumArrayBackgroundColors()[i]\" [value]=\"display\" />\r\n\t\t\t\t}\r\n\t\t\t\t@if (enumArrayDisplays().length > 2) {\r\n\t\t\t\t\t<i class=\"pi pi-ellipsis-v cursor-pointer\" (click)=\"enumOp.toggle($event)\"></i>\r\n\r\n\t\t\t\t\t<p-overlayPanel #enumOp class=\"shadow-4\" appendTo=\"body\">\r\n\t\t\t\t\t\t<div class=\"flex flex-column gap-2 max-w-30rem max-h-20rem pr-3 overflow-y-auto\">\r\n\t\t\t\t\t\t\t@for (display of enumArrayDisplays() | slice: 2; track display; let i = $index) {\r\n\t\t\t\t\t\t\t\t<aril-badge [background]=\"enumArrayBackgroundColors()[i + 2]\" [value]=\"display\" />\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t</div>\r\n\t\t\t\t\t</p-overlayPanel>\r\n\t\t\t\t}\r\n\t\t\t</div>\r\n\t\t} @else {\r\n\t\t\t<aril-badge [background]=\"enumBadgeBackgroundColor()\" [value]=\"enumSelectionDisplay()\" />\r\n\t\t}\r\n\t} @else if (type() === 'array') {\r\n\t\t<div class=\"flex align-items-center gap-1\">\r\n\t\t\t@for (item of model().slice(0, arrayTypeMaxBadgeCount()); track item) {\r\n\t\t\t\t<aril-badge [background]=\"getArrayItemValue(item) || '' | enumColorPicker\" [value]=\"getArrayItemValue(item)\" />\r\n\t\t\t}\r\n\t\t\t@if (model().length > arrayTypeMaxBadgeCount()) {\r\n\t\t\t\t<i class=\"pi pi-ellipsis-v cursor-pointer\" (click)=\"op.toggle($event)\"></i>\r\n\r\n\t\t\t\t<p-overlayPanel #op class=\"shadow-4\" appendTo=\"body\">\r\n\t\t\t\t\t<div class=\"flex flex-column gap-2 max-w-30rem max-h-20rem pr-3 overflow-y-auto\">\r\n\t\t\t\t\t\t@for (item of model() | slice: arrayTypeMaxBadgeCount(); track item) {\r\n\t\t\t\t\t\t\t<aril-badge\r\n\t\t\t\t\t\t\t\t[background]=\"getArrayItemValue(item) || '' | enumColorPicker\"\r\n\t\t\t\t\t\t\t\t[value]=\"getArrayItemValue(item)\" />\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t</div>\r\n\t\t\t\t</p-overlayPanel>\r\n\t\t\t}\r\n\t\t</div>\r\n\t} @else {\r\n\t\t@if (display() == undefined) {\r\n\t\t\t<i\r\n\t\t\t\tclass=\"pi pi-exclamation-circle\"\r\n\t\t\t\tstyle=\"color: red\"\r\n\t\t\t\t[pTooltip]=\"this.translocoService.translate('validations.invalidDataFormat')\">\r\n\t\t\t</i>\r\n\t\t} @else {\r\n\t\t\t<span class=\"flex align-items-center gap-2\">\r\n\t\t\t\t@if (showCopyIcon()) {\r\n\t\t\t\t\t<i\r\n\t\t\t\t\t\tclass=\"pi pi-copy cursor-pointer\"\r\n\t\t\t\t\t\t(click)=\"copyToClipboard(display()?.toString()); $event.stopPropagation()\"\r\n\t\t\t\t\t\tstyle=\"font-size: 1rem; color: green\"></i>\r\n\t\t\t\t}\r\n\t\t\t\t<span\r\n\t\t\t\t\t[pTooltip]=\"\r\n\t\t\t\t\t\ttype() === 'text' && isTextClamp() && display()?.toString().length > textClampCharacters() ?\r\n\t\t\t\t\t\t\tdisplay()?.toString()\r\n\t\t\t\t\t\t:\t''\r\n\t\t\t\t\t\"\r\n\t\t\t\t\ttooltipPosition=\"top\"\r\n\t\t\t\t\t[class.text-no-wrap]=\"isTextClamp()\"\r\n\t\t\t\t\t[style]=\"isClickable() ? { 'text-decoration': 'underline', color: '#0000EE', cursor: 'pointer' } : ''\">\r\n\t\t\t\t\t@if (type() === 'number' || type() === 'decimal') {\r\n\t\t\t\t\t\t{{ model() | number: getNumberFormat() : 'tr-TR' }}\r\n\t\t\t\t\t} @else if (type() === 'big_decimal') {\r\n\t\t\t\t\t\t{{ model() | roundNumber: bigDecimalScale() : bigDecimalRoundingMode() : 'tr-TR' }}\r\n\t\t\t\t\t} @else if (type() === 'currency') {\r\n\t\t\t\t\t\t{{ model() | currency: format() ?? 'TRY' : 'symbol' : '1.0-2' }}\r\n\t\t\t\t\t} @else if (type() === 'text' && isTextClamp()) {\r\n\t\t\t\t\t\t{{\r\n\t\t\t\t\t\t\tdisplay().length > textClampCharacters() ? display().slice(0, textClampCharacters()) + '...' : display()\r\n\t\t\t\t\t\t}}\r\n\t\t\t\t\t} @else {\r\n\t\t\t\t\t\t{{ display() }}\r\n\t\t\t\t\t}\r\n\t\t\t\t</span>\r\n\t\t\t</span>\r\n\t\t}\r\n\t}\r\n}\r\n", styles: [".text-no-wrap{display:inline-block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}\n"], dependencies: [{ kind: "component", type: BadgeComponent, selector: "aril-badge", inputs: ["icon", "value", "severity", "rounded", "background", "styleClass", "textColor", "borderColor"] }, { kind: "ngmodule", type: TooltipModule }, { kind: "directive", type: i4.Tooltip, selector: "[pTooltip]", inputs: ["tooltipPosition", "tooltipEvent", "appendTo", "positionStyle", "tooltipStyleClass", "tooltipZIndex", "escape", "showDelay", "hideDelay", "life", "positionTop", "positionLeft", "autoHide", "fitContent", "hideOnEscape", "pTooltip", "tooltipDisabled", "tooltipOptions"] }, { kind: "ngmodule", type: TranslocoModule }, { kind: "ngmodule", type: OverlayPanelModule }, { kind: "component", type: i5.OverlayPanel, selector: "p-overlayPanel", inputs: ["ariaLabel", "ariaLabelledBy", "dismissable", "showCloseIcon", "style", "styleClass", "appendTo", "autoZIndex", "ariaCloseLabel", "baseZIndex", "focusOnShow", "showTransitionOptions", "hideTransitionOptions"], outputs: ["onShow", "onHide"] }, { kind: "pipe", type: EnumColorPickerPipe, name: "enumColorPicker" }, { kind: "pipe", type: SlicePipe, name: "slice" }, { kind: "pipe", type: DecimalPipe, name: "number" }, { kind: "pipe", type: CurrencyPipe, name: "currency" }, { kind: "pipe", type: RoundNumberPipe, name: "roundNumber" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
189
192
|
}
|
|
190
193
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.2", ngImport: i0, type: ValueComponent, decorators: [{
|
|
191
194
|
type: Component,
|
|
@@ -199,6 +202,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.2", ngImpor
|
|
|
199
202
|
DecimalPipe,
|
|
200
203
|
CurrencyPipe,
|
|
201
204
|
RoundNumberPipe
|
|
202
|
-
], changeDetection: ChangeDetectionStrategy.OnPush, providers: [DialogService, DecimalPipe], template: "@if (model() == undefined || model() == null) {\r\n\t<i\r\n\t\tclass=\"pi pi-minus\"\r\n\t\tstyle=\"color: red\"\r\n\t\t[pTooltip]=\"this.translocoService.translate('validations.noItemToShow')\"></i>\r\n} @else {\r\n\t@if (type() == 'bool') {\r\n\t\t@if (!!model()) {\r\n\t\t\t<i class=\"pi pi-check\" style=\"color: green\"></i>\r\n\t\t} @else {\r\n\t\t\t<i class=\"pi pi-times\" style=\"color: crimson\"></i>\r\n\t\t}\r\n\t} @else if (type() === 'enum') {\r\n\t\t@if (isModelArray()) {\r\n\t\t\t<div class=\"flex align-items-center gap-1\">\r\n\t\t\t\t@for (display of enumArrayDisplays().slice(0, 2); track display; let i = $index) {\r\n\t\t\t\t\t<aril-badge [background]=\"enumArrayBackgroundColors()[i]\" [value]=\"display\" />\r\n\t\t\t\t}\r\n\t\t\t\t@if (enumArrayDisplays().length > 2) {\r\n\t\t\t\t\t<i class=\"pi pi-ellipsis-v cursor-pointer\" (click)=\"enumOp.toggle($event)\"></i>\r\n\r\n\t\t\t\t\t<p-overlayPanel #enumOp class=\"shadow-4\" appendTo=\"body\">\r\n\t\t\t\t\t\t<div class=\"flex flex-column gap-2 max-w-30rem max-h-20rem pr-3 overflow-y-auto\">\r\n\t\t\t\t\t\t\t@for (display of enumArrayDisplays() | slice: 2; track display; let i = $index) {\r\n\t\t\t\t\t\t\t\t<aril-badge [background]=\"enumArrayBackgroundColors()[i + 2]\" [value]=\"display\" />\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t</div>\r\n\t\t\t\t\t</p-overlayPanel>\r\n\t\t\t\t}\r\n\t\t\t</div>\r\n\t\t} @else {\r\n\t\t\t<aril-badge [background]=\"enumBadgeBackgroundColor()\" [value]=\"enumSelectionDisplay()\" />\r\n\t\t}\r\n\t} @else if (type() === 'array') {\r\n\t\t<div class=\"flex align-items-center gap-1\">\r\n\t\t\t@for (item of model().slice(0, arrayTypeMaxBadgeCount()); track item) {\r\n\t\t\t\t<aril-badge [background]=\"getArrayItemValue(item) || '' | enumColorPicker\" [value]=\"getArrayItemValue(item)\" />\r\n\t\t\t}\r\n\t\t\t@if (model().length > arrayTypeMaxBadgeCount()) {\r\n\t\t\t\t<i class=\"pi pi-ellipsis-v cursor-pointer\" (click)=\"op.toggle($event)\"></i>\r\n\r\n\t\t\t\t<p-overlayPanel #op class=\"shadow-4\" appendTo=\"body\">\r\n\t\t\t\t\t<div class=\"flex flex-column gap-2 max-w-30rem max-h-20rem pr-3 overflow-y-auto\">\r\n\t\t\t\t\t\t@for (item of model() | slice: arrayTypeMaxBadgeCount(); track item) {\r\n\t\t\t\t\t\t\t<aril-badge\r\n\t\t\t\t\t\t\t\t[background]=\"getArrayItemValue(item) || '' | enumColorPicker\"\r\n\t\t\t\t\t\t\t\t[value]=\"getArrayItemValue(item)\" />\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t</div>\r\n\t\t\t\t</p-overlayPanel>\r\n\t\t\t}\r\n\t\t</div>\r\n\t} @else {\r\n\t\t@if (display() == undefined) {\r\n\t\t\t<i\r\n\t\t\t\tclass=\"pi pi-exclamation-circle\"\r\n\t\t\t\tstyle=\"color: red\"\r\n\t\t\t\t[pTooltip]=\"this.translocoService.translate('validations.invalidDataFormat')\">\r\n\t\t\t</i>\r\n\t\t} @else {\r\n\t\t\t<span class=\"flex align-items-center gap-2\">\r\n\t\t\t\t@if (
|
|
205
|
+
], changeDetection: ChangeDetectionStrategy.OnPush, providers: [DialogService, DecimalPipe], template: "@if (model() == undefined || model() == null) {\r\n\t<i\r\n\t\tclass=\"pi pi-minus\"\r\n\t\tstyle=\"color: red\"\r\n\t\t[pTooltip]=\"this.translocoService.translate('validations.noItemToShow')\"></i>\r\n} @else {\r\n\t@if (type() == 'bool') {\r\n\t\t@if (!!model()) {\r\n\t\t\t<i class=\"pi pi-check\" style=\"color: green\"></i>\r\n\t\t} @else {\r\n\t\t\t<i class=\"pi pi-times\" style=\"color: crimson\"></i>\r\n\t\t}\r\n\t} @else if (type() === 'enum') {\r\n\t\t@if (isModelArray()) {\r\n\t\t\t<div class=\"flex align-items-center gap-1\">\r\n\t\t\t\t@for (display of enumArrayDisplays().slice(0, 2); track display; let i = $index) {\r\n\t\t\t\t\t<aril-badge [background]=\"enumArrayBackgroundColors()[i]\" [value]=\"display\" />\r\n\t\t\t\t}\r\n\t\t\t\t@if (enumArrayDisplays().length > 2) {\r\n\t\t\t\t\t<i class=\"pi pi-ellipsis-v cursor-pointer\" (click)=\"enumOp.toggle($event)\"></i>\r\n\r\n\t\t\t\t\t<p-overlayPanel #enumOp class=\"shadow-4\" appendTo=\"body\">\r\n\t\t\t\t\t\t<div class=\"flex flex-column gap-2 max-w-30rem max-h-20rem pr-3 overflow-y-auto\">\r\n\t\t\t\t\t\t\t@for (display of enumArrayDisplays() | slice: 2; track display; let i = $index) {\r\n\t\t\t\t\t\t\t\t<aril-badge [background]=\"enumArrayBackgroundColors()[i + 2]\" [value]=\"display\" />\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t</div>\r\n\t\t\t\t\t</p-overlayPanel>\r\n\t\t\t\t}\r\n\t\t\t</div>\r\n\t\t} @else {\r\n\t\t\t<aril-badge [background]=\"enumBadgeBackgroundColor()\" [value]=\"enumSelectionDisplay()\" />\r\n\t\t}\r\n\t} @else if (type() === 'array') {\r\n\t\t<div class=\"flex align-items-center gap-1\">\r\n\t\t\t@for (item of model().slice(0, arrayTypeMaxBadgeCount()); track item) {\r\n\t\t\t\t<aril-badge [background]=\"getArrayItemValue(item) || '' | enumColorPicker\" [value]=\"getArrayItemValue(item)\" />\r\n\t\t\t}\r\n\t\t\t@if (model().length > arrayTypeMaxBadgeCount()) {\r\n\t\t\t\t<i class=\"pi pi-ellipsis-v cursor-pointer\" (click)=\"op.toggle($event)\"></i>\r\n\r\n\t\t\t\t<p-overlayPanel #op class=\"shadow-4\" appendTo=\"body\">\r\n\t\t\t\t\t<div class=\"flex flex-column gap-2 max-w-30rem max-h-20rem pr-3 overflow-y-auto\">\r\n\t\t\t\t\t\t@for (item of model() | slice: arrayTypeMaxBadgeCount(); track item) {\r\n\t\t\t\t\t\t\t<aril-badge\r\n\t\t\t\t\t\t\t\t[background]=\"getArrayItemValue(item) || '' | enumColorPicker\"\r\n\t\t\t\t\t\t\t\t[value]=\"getArrayItemValue(item)\" />\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t</div>\r\n\t\t\t\t</p-overlayPanel>\r\n\t\t\t}\r\n\t\t</div>\r\n\t} @else {\r\n\t\t@if (display() == undefined) {\r\n\t\t\t<i\r\n\t\t\t\tclass=\"pi pi-exclamation-circle\"\r\n\t\t\t\tstyle=\"color: red\"\r\n\t\t\t\t[pTooltip]=\"this.translocoService.translate('validations.invalidDataFormat')\">\r\n\t\t\t</i>\r\n\t\t} @else {\r\n\t\t\t<span class=\"flex align-items-center gap-2\">\r\n\t\t\t\t@if (showCopyIcon()) {\r\n\t\t\t\t\t<i\r\n\t\t\t\t\t\tclass=\"pi pi-copy cursor-pointer\"\r\n\t\t\t\t\t\t(click)=\"copyToClipboard(display()?.toString()); $event.stopPropagation()\"\r\n\t\t\t\t\t\tstyle=\"font-size: 1rem; color: green\"></i>\r\n\t\t\t\t}\r\n\t\t\t\t<span\r\n\t\t\t\t\t[pTooltip]=\"\r\n\t\t\t\t\t\ttype() === 'text' && isTextClamp() && display()?.toString().length > textClampCharacters() ?\r\n\t\t\t\t\t\t\tdisplay()?.toString()\r\n\t\t\t\t\t\t:\t''\r\n\t\t\t\t\t\"\r\n\t\t\t\t\ttooltipPosition=\"top\"\r\n\t\t\t\t\t[class.text-no-wrap]=\"isTextClamp()\"\r\n\t\t\t\t\t[style]=\"isClickable() ? { 'text-decoration': 'underline', color: '#0000EE', cursor: 'pointer' } : ''\">\r\n\t\t\t\t\t@if (type() === 'number' || type() === 'decimal') {\r\n\t\t\t\t\t\t{{ model() | number: getNumberFormat() : 'tr-TR' }}\r\n\t\t\t\t\t} @else if (type() === 'big_decimal') {\r\n\t\t\t\t\t\t{{ model() | roundNumber: bigDecimalScale() : bigDecimalRoundingMode() : 'tr-TR' }}\r\n\t\t\t\t\t} @else if (type() === 'currency') {\r\n\t\t\t\t\t\t{{ model() | currency: format() ?? 'TRY' : 'symbol' : '1.0-2' }}\r\n\t\t\t\t\t} @else if (type() === 'text' && isTextClamp()) {\r\n\t\t\t\t\t\t{{\r\n\t\t\t\t\t\t\tdisplay().length > textClampCharacters() ? display().slice(0, textClampCharacters()) + '...' : display()\r\n\t\t\t\t\t\t}}\r\n\t\t\t\t\t} @else {\r\n\t\t\t\t\t\t{{ display() }}\r\n\t\t\t\t\t}\r\n\t\t\t\t</span>\r\n\t\t\t</span>\r\n\t\t}\r\n\t}\r\n}\r\n", styles: [".text-no-wrap{display:inline-block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}\n"] }]
|
|
203
206
|
}], ctorParameters: () => [{ type: i1.TranslocoService }, { type: i2.SelectionGroupService }, { type: i3.MessageService }] });
|
|
204
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmFsdWUuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYXJpbC91aS92YWx1ZS9zcmMvdmFsdWUuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYXJpbC91aS92YWx1ZS9zcmMvdmFsdWUuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFlBQVksRUFBRSxXQUFXLEVBQUUsU0FBUyxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDdkUsT0FBTyxFQUFFLHVCQUF1QixFQUFFLFNBQVMsRUFBRSxRQUFRLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUc1RixPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDdEQsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDMUQsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBRWhELE9BQU8sRUFBRSxlQUFlLEVBQW9CLE1BQU0sbUJBQW1CLENBQUM7QUFHdEUsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMvQyxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFFbEQsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ2xELE9BQU8sZ0NBQWdDLENBQUM7Ozs7Ozs7QUFrQ3hDLE1BQU0sT0FBTyxjQUFjO0lBb0IxQixZQUNRLGdCQUFrQyxFQUN4QixxQkFBNEMsRUFDNUMsY0FBOEI7UUFGeEMscUJBQWdCLEdBQWhCLGdCQUFnQixDQUFrQjtRQUN4QiwwQkFBcUIsR0FBckIscUJBQXFCLENBQXVCO1FBQzVDLG1CQUFjLEdBQWQsY0FBYyxDQUFnQjtRQXRCaEQsVUFBSyxHQUFHLEtBQUssQ0FBQyxRQUFRLEVBQW1DLENBQUM7UUFD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b0MsQ0FBQztnQkFDOUUsTUFBTSxFQUFFLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxTQUFTLENBQUMsK0JBQStCLENBQUM7Z0JBQ3hFLEdBQUcsRUFBRSxZQUFZO2FBQ2pCLENBQUMsQ0FBQztRQUNKLENBQUMsQ0FDRCxDQUFDO0lBQ0gsQ0FBQzs4R0FuTlcsY0FBYztrR0FBZCxjQUFjLCtnRUFGZixDQUFDLGFBQWEsRUFBRSxXQUFXLENBQUMsMEJDL0N4QywrcUlBOEZBLHlKRDFERSxjQUFjLGdLQUNkLGFBQWEscVhBQ2IsZUFBZSw4QkFDZixrQkFBa0IsOFZBQ2xCLG1CQUFtQixtREFDbkIsU0FBUyx5Q0FDVCxXQUFXLDBDQUNYLFlBQVksNENBQ1osZUFBZTs7MkZBS0osY0FBYztrQkFuQjFCLFNBQVM7aUNBQ0csSUFBSSxZQUNOLFlBQVksV0FHYjt3QkFDUixjQUFjO3dCQUNkLGFBQWE7d0JBQ2IsZUFBZTt3QkFDZixrQkFBa0I7d0JBQ2xCLG1CQUFtQjt3QkFDbkIsU0FBUzt3QkFDVCxXQUFXO3dCQUNYLFlBQVk7d0JBQ1osZUFBZTtxQkFDZixtQkFDZ0IsdUJBQXVCLENBQUMsTUFBTSxhQUNwQyxDQUFDLGFBQWEsRUFBRSxXQUFXLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDdXJyZW5jeVBpcGUsIERlY2ltYWxQaXBlLCBTbGljZVBpcGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xyXG5pbXBvcnQgeyBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ29tcG9uZW50LCBjb21wdXRlZCwgaW5wdXQsIHNpZ25hbCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5cclxuaW1wb3J0IHsgTWVzc2FnZVNlcnZpY2UgfSBmcm9tICdwcmltZW5nL2FwaSc7XHJcbmltcG9ydCB7IERpYWxvZ1NlcnZpY2UgfSBmcm9tICdwcmltZW5nL2R5bmFtaWNkaWFsb2cnO1xyXG5pbXBvcnQgeyBPdmVybGF5UGFuZWxNb2R1bGUgfSBmcm9tICdwcmltZW5nL292ZXJsYXlwYW5lbCc7XHJcbmltcG9ydCB7IFRvb2x0aXBNb2R1bGUgfSBmcm9tICdwcmltZW5nL3Rvb2x0aXAnO1xyXG5cclxuaW1wb3J0IHsgVHJhbnNsb2NvTW9kdWxlLCBUcmFuc2xvY29TZXJ2aWNlIH0gZnJvbSAnQG5nbmVhdC90cmFuc2xvY28nO1xyXG5cclxuaW1wb3J0IHsgU2VsZWN0aW9uR3JvdXBTZXJ2aWNlIH0gZnJvbSAnYXJpbC90aGVtZS9sYXlvdXQnO1xyXG5pbXBvcnQgeyBCYWRnZUNvbXBvbmVudCB9IGZyb20gJ2FyaWwvdWkvYmFkZ2UnO1xyXG5pbXBvcnQgeyBFbnVtQ29sb3JQaWNrZXJQaXBlIH0gZnJvbSAnYXJpbC91aS9saWInO1xyXG5pbXBvcnQgeyBEZWNpbWFsUm91bmRpbmdUeXBlIH0gZnJvbSAnYXJpbC91dGlsL2xpYic7XHJcbmltcG9ydCB7IFJvdW5kTnVtYmVyUGlwZSB9IGZyb20gJ2FyaWwvdXRpbC9waXBlcyc7XHJcbmltcG9ydCAnYXJpbC91dGlsL3ByaW1pdGl2ZS1leHRlbnNpb25zJztcclxuXHJcbnR5cGUgVmFsdWVUeXBlcyA9XHJcblx0fCAndGV4dCdcclxuXHR8ICdudW1iZXInXHJcblx0fCAnYm9vbCdcclxuXHR8ICdkZWNpbWFsJ1xyXG5cdHwgJ2JpZ19kZWNpbWFsJ1xyXG5cdHwgJ2RhdGUnXHJcblx0fCAncGFzc3dvcmQnXHJcblx0fCAnZW51bSdcclxuXHR8ICdhcnJheSdcclxuXHR8ICdpc29EYXRlJ1xyXG5cdHwgJ2N1cnJlbmN5JztcclxuXHJcbkBDb21wb25lbnQoe1xyXG5cdHN0YW5kYWxvbmU6IHRydWUsXHJcblx0c2VsZWN0b3I6ICdhcmlsLXZhbHVlJyxcclxuXHR0ZW1wbGF0ZVVybDogJy4vdmFsdWUuY29tcG9uZW50Lmh0bWwnLFxyXG5cdHN0eWxlVXJsOiAnLi92YWx1ZS5jb21wb25lbnQuc2NzcycsXHJcblx0aW1wb3J0czogW1xyXG5cdFx0QmFkZ2VDb21wb25lbnQsXHJcblx0XHRUb29sdGlwTW9kdWxlLFxyXG5cdFx0VHJhbnNsb2NvTW9kdWxlLFxyXG5cdFx0T3ZlcmxheVBhbmVsTW9kdWxlLFxyXG5cdFx0RW51bUNvbG9yUGlja2VyUGlwZSxcclxuXHRcdFNsaWNlUGlwZSxcclxuXHRcdERlY2ltYWxQaXBlLFxyXG5cdFx0Q3VycmVuY3lQaXBlLFxyXG5cdFx0Um91bmROdW1iZXJQaXBlXHJcblx0XSxcclxuXHRjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcclxuXHRwcm92aWRlcnM6IFtEaWFsb2dTZXJ2aWNlLCBEZWNpbWFsUGlwZV1cclxufSlcclxuZXhwb3J0IGNsYXNzIFZhbHVlQ29tcG9uZW50IHtcclxuXHRtb2RlbCA9IGlucHV0LnJlcXVpcmVkPHN0cmluZyB8IG51bWJlciB8IGJvb2xlYW4gfCBhbnk+KCk7XHJcblx0dHlwZSA9IGlucHV0PFZhbHVlVHlwZXM+KCd0ZXh0Jyk7XHJcblx0Zm9ybWF0ID0gaW5wdXQ8c3RyaW5nPigpO1xyXG5cdGlzQ2xpY2thYmxlID0gaW5wdXQ8Ym9vbGVhbj4oZmFsc2UpO1xyXG5cdGdyb3VwTmFtZSA9IGlucHV0PHN0cmluZz4oKTtcclxuXHRwYXJlbnRTZWxlY3Rpb25LZXkgPSBpbnB1dDxzdHJpbmc+KCdBTEwnKTtcclxuXHRpc1RleHRDbGFtcCA9IGlucHV0PGJvb2xlYW4+KHRydWUpO1xyXG5cdHRleHRDbGFtcENoYXJhY3RlcnMgPSBpbnB1dDxudW1iZXI+KDUwKTtcclxuXHRzdHlsZSA9IGlucHV0PHN0cmluZz4oKTtcclxuXHRjb3B5YWJsZSA9IGlucHV0PGJvb2xlYW4+KGZhbHNlKTtcclxuXHJcblx0Ly8gb25seSBmb3IgYXJyYXkgdHlwZVxyXG5cdGFycmF5VHlwZURpc3BsYXlOYW1lID0gaW5wdXQ8c3RyaW5nPigndmFsdWVEZXNjJyk7XHJcblx0YXJyYXlUeXBlTWF4QmFkZ2VDb3VudCA9IGlucHV0PG51bWJlcj4oMyk7XHJcblxyXG5cdC8vIG9ubHkgZm9yIGJpZ19kZWNpbWFsIHR5cGVcclxuXHRiaWdEZWNpbWFsUm91bmRpbmdNb2RlID0gaW5wdXQ8RGVjaW1hbFJvdW5kaW5nVHlwZT4oKTtcclxuXHRiaWdEZWNpbWFsU2NhbGUgPSBpbnB1dDxudW1iZXI+KCk7XHJcblxyXG5cdGNvbnN0cnVjdG9yKFxyXG5cdFx0cHVibGljIHRyYW5zbG9jb1NlcnZpY2U6IFRyYW5zbG9jb1NlcnZpY2UsXHJcblx0XHRwcml2YXRlIHJlYWRvbmx5IHNlbGVjdGlvbkdyb3VwU2VydmljZTogU2VsZWN0aW9uR3JvdXBTZXJ2aWNlLFxyXG5cdFx0cHJpdmF0ZSByZWFkb25seSBtZXNzYWdlU2VydmljZTogTWVzc2FnZVNlcnZpY2VcclxuXHQpIHtcclxuXHRcdHRoaXMudHJhbnNsb2NvU2VydmljZS5sYW5nQ2hhbmdlcyQuc3Vic2NyaWJlKChsYW5nKSA9PiB7XHJcblx0XHRcdHRoaXMubGFuZ1NpZ25hbC5zZXQobGFuZyk7XHJcblx0XHR9KTtcclxuXHR9XHJcblxyXG5cdGxhbmdTaWduYWwgPSBzaWduYWwodGhpcy50cmFuc2xvY29TZXJ2aWNlLmdldEFjdGl2ZUxhbmcoKSk7XHJcblxyXG5cdGdldE51bWJlckZvcm1hdCgpOiBzdHJpbmcge1xyXG5cdFx0aWYgKHRoaXMudHlwZSgpID09PSAnbnVtYmVyJykgcmV0dXJuICcxLjAtMCc7XHJcblx0XHRlbHNlIGlmICh0aGlzLnR5cGUoKSA9PT0gJ2RlY2ltYWwnKSB7XHJcblx0XHRcdGNvbnN0IGZvcm1hdCA9IHRoaXMuZm9ybWF0KCk7XHJcblxyXG5cdFx0XHRpZiAoIWZvcm1hdCkgcmV0dXJuICcxLjAtMyc7XHJcblxyXG5cdFx0XHQvLyBFxJ9lciBmb3JtYXQgQW5ndWxhciBEZWNpbWFsUGlwZSBmb3JtYXTEsW5kYXlzYSBkaXJla3Qga3VsbGFuXHJcblx0XHRcdGlmIChmb3JtYXQgJiYgdHlwZW9mIGZvcm1hdCA9PT0gJ3N0cmluZycgJiYgZm9ybWF0Lm1hdGNoKC9eXFxkK1xcLlxcZCstXFxkKyQvKSkge1xyXG5cdFx0XHRcdHJldHVybiBmb3JtYXQ7XHJcblx0XHRcdH1cclxuXHRcdFx0Ly8gRcSfZXIgZXNraSBmb3JtYXQgc3RyaW5nJ2kgdmFyc2EgKMO2cm46ICMuMDApIG9udSDDp2V2aXJcclxuXHRcdFx0aWYgKGZvcm1hdCAmJiB0eXBlb2YgZm9ybWF0ID09PSAnc3RyaW5nJyAmJiBmb3JtYXQuaW5jbHVkZXMoJy4nKSkge1xyXG5cdFx0XHRcdGNvbnN0IGRlY2ltYWxQbGFjZXMgPSBmb3JtYXQuc3BsaXQoJy4nKVsxXS5sZW5ndGg7XHJcblx0XHRcdFx0cmV0dXJuIGAxLiR7ZGVjaW1hbFBsYWNlc30tJHtkZWNpbWFsUGxhY2VzfWA7XHJcblx0XHRcdH1cclxuXHRcdH1cclxuXHRcdHJldHVybiAnJztcclxuXHR9XHJcblxyXG5cdGNvbG9yTGlzdCA9IFtcclxuXHRcdCcjMTg5MEZGJyxcclxuXHRcdCcjRkFBRDE0JyxcclxuXHRcdCcjNTJDNDFBJyxcclxuXHRcdCcjNUQ2RDdFJyxcclxuXHRcdCcjRkY2QjZCJyxcclxuXHRcdCcjMTNDMkMyJyxcclxuXHRcdCcjNThENjhEJyxcclxuXHRcdCcjNzIyRUQxJyxcclxuXHRcdCcjODVDMUU5JyxcclxuXHRcdCcjYzQ5ZTA1ZmYnXHJcblx0XTtcclxuXHJcblx0ZGlzcGxheSA9IGNvbXB1dGVkKCgpID0+IHtcclxuXHRcdHN3aXRjaCAodGhpcy50eXBlKCkpIHtcclxuXHRcdFx0Y2FzZSAndGV4dCc6XHJcblx0XHRcdGNhc2UgJ251bWJlcic6XHJcblx0XHRcdGNhc2UgJ2RlY2ltYWwnOlxyXG5cdFx0XHRjYXNlICdjdXJyZW5jeSc6XHJcblx0XHRcdGNhc2UgJ2JpZ19kZWNpbWFsJzpcclxuXHRcdFx0XHRyZXR1cm4gdGhpcy5tb2RlbCgpO1xyXG5cdFx0XHRjYXNlICdkYXRlJzpcclxuXHRcdFx0XHRyZXR1cm4gKDxudW1iZXI+dGhpcy5tb2RlbCgpKS5sb25nVG9TdHJpbmcodGhpcy5mb3JtYXQoKSA/PyAndGltZScpO1xyXG5cdFx0XHRjYXNlICdwYXNzd29yZCc6XHJcblx0XHRcdFx0cmV0dXJuICg8c3RyaW5nPnRoaXMubW9kZWwoKSkucmVwbGFjZSgvLi9nLCAnKicpO1xyXG5cdFx0XHRkZWZhdWx0OlxyXG5cdFx0XHRcdGNvbnNvbGUuZXJyb3IoXCJJbnZhbGlkIHR5cGU6ICdcIiArIHRoaXMudHlwZSgpICsgXCInXCIpO1xyXG5cdFx0XHRcdHJldHVybiAnJztcclxuXHRcdH1cclxuXHR9KTtcclxuXHJcblx0ZW51bVNlbGVjdGlvbkRpc3BsYXkgPSBjb21wdXRlZCgoKSA9PiB7XHJcblx0XHRjb25zdCBjdXJyZW50TGFuZyA9IHRoaXMubGFuZ1NpZ25hbCgpO1xyXG5cclxuXHRcdGNvbnN0IHNlbGVjdGlvbkdyb3VwID1cclxuXHRcdFx0dGhpcy5zZWxlY3Rpb25Hcm91cFNlcnZpY2Uuc2VsZWN0aW9uR3JvdXBzKClbYCR7dGhpcy5ncm91cE5hbWUoKSF9fiR7dGhpcy5wYXJlbnRTZWxlY3Rpb25LZXkoKSF9YF07XHJcblxyXG5cdFx0aWYgKCFzZWxlY3Rpb25Hcm91cCkge1xyXG5cdFx0XHR0aGlzLnNlbGVjdGlvbkdyb3VwU2VydmljZS5mZXRjaEVudW0odGhpcy5ncm91cE5hbWUoKSEsIHRoaXMucGFyZW50U2VsZWN0aW9uS2V5KCkhKTtcclxuXHRcdFx0cmV0dXJuIHRoaXMubW9kZWwoKTtcclxuXHRcdH1cclxuXHJcblx0XHRjb25zdCByYXdNb2RlbCA9IHRoaXMubW9kZWwoKTtcclxuXHRcdGNvbnN0IGtleSA9XHJcblx0XHRcdHR5cGVvZiByYXdNb2RlbCA9PT0gJ29iamVjdCcgJiYgcmF3TW9kZWwgIT09IG51bGwgJiYgJ3ZhbHVlJyBpbiByYXdNb2RlbCA/IHJhd01vZGVsLnZhbHVlXHJcblx0XHRcdDogdHlwZW9mIHJhd01vZGVsID09PSAnYm9vbGVhbicgPyBTdHJpbmcocmF3TW9kZWwpXHJcblx0XHRcdDogcmF3TW9kZWw7XHJcblxyXG5cdFx0Y29uc3Qgc2VsZWN0aW9uSXRlbSA9IHNlbGVjdGlvbkdyb3VwLnNlbGVjdGlvbkl0ZW1zLmZpbmQoKHQpID0+IHQuc2VsZWN0aW9uS2V5ID09PSBrZXkpIGFzIHtcclxuXHRcdFx0c2VsZWN0aW9uTXVsdGlMYW5ndWFnZURpc3BsYXlzPzogeyBbbGFuZzogc3RyaW5nXTogc3RyaW5nIH07XHJcblx0XHRcdHNlbGVjdGlvbkRpc3BsYXk/OiBzdHJpbmc7XHJcblx0XHR9O1xyXG5cclxuXHRcdGlmICghc2VsZWN0aW9uSXRlbSkgcmV0dXJuIGtleTtcclxuXHJcblx0XHRyZXR1cm4gc2VsZWN0aW9uSXRlbS5zZWxlY3Rpb25NdWx0aUxhbmd1YWdlRGlzcGxheXM/LltjdXJyZW50TGFuZ10gPz8gc2VsZWN0aW9uSXRlbS5zZWxlY3Rpb25EaXNwbGF5ID8/IGtleTtcclxuXHR9KTtcclxuXHJcblx0ZW51bUJhZGdlQmFja2dyb3VuZENvbG9yID0gY29tcHV0ZWQoKCkgPT4ge1xyXG5cdFx0aWYgKHR5cGVvZiB0aGlzLm1vZGVsKCkgPT09ICdib29sZWFuJykge1xyXG5cdFx0XHRyZXR1cm4gdGhpcy5tb2RlbCgpID8gJyMyMmM1NWUnIDogJyNlZjQ0NDQnOyAvLyB0cnVlIGnDp2luIHllxZ9pbCwgZmFsc2UgacOnaW4ga8Sxcm3EsXrEsVxyXG5cdFx0fVxyXG5cclxuXHRcdGNvbnN0IHNlbGVjdGlvbkdyb3VwID1cclxuXHRcdFx0dGhpcy5zZWxlY3Rpb25Hcm91cFNlcnZpY2Uuc2VsZWN0aW9uR3JvdXBzKClbYCR7dGhpcy5ncm91cE5hbWUoKSF9fiR7dGhpcy5wYXJlbnRTZWxlY3Rpb25LZXkoKSF9YF07XHJcblx0XHRjb25zdCBzZWxlY3Rpb25JdGVtcyA9IHNlbGVjdGlvbkdyb3VwPy5zZWxlY3Rpb25JdGVtcyA/PyBbXTtcclxuXHJcblx0XHRjb25zdCBzZWxlY3Rpb25JdGVtID0gc2VsZWN0aW9uSXRlbXMuZmluZCgodCkgPT4gdC5zZWxlY3Rpb25LZXkgPT09IHRoaXMubW9kZWwoKSk7XHJcblxyXG5cdFx0aWYgKCFzZWxlY3Rpb25JdGVtKSB7XHJcblx0XHRcdHJldHVybiAnIzE4OTBGRic7XHJcblx0XHR9IGVsc2UgaWYgKHRoaXMuY29sb3JMaXN0W3NlbGVjdGlvbkl0ZW0uc2hvd09yZGVyXSAhPT0gdW5kZWZpbmVkKSB7XHJcblx0XHRcdHJldHVybiB0aGlzLmNvbG9yTGlzdFtzZWxlY3Rpb25JdGVtLnNob3dPcmRlcl07XHJcblx0XHR9XHJcblx0XHRyZXR1cm4gJyNBMkFGRkYnO1xyXG5cdH0pO1xyXG5cclxuXHRnZXRBcnJheUl0ZW1WYWx1ZShpdGVtOiBhbnkpOiBhbnkge1xyXG5cdFx0cmV0dXJuIGl0ZW1bdGhpcy5hcnJheVR5cGVEaXNwbGF5TmFtZSgpXTtcclxuXHR9XHJcblxyXG5cdGlzTW9kZWxBcnJheSA9IGNvbXB1dGVkKCgpID0+IHtcclxuXHRcdHJldHVybiBBcnJheS5pc0FycmF5KHRoaXMubW9kZWwoKSk7XHJcblx0fSk7XHJcblxyXG5cdC8vIEdldCBlbnVtIGRpc3BsYXkgZm9yIGFycmF5IGl0ZW1zXHJcblx0ZW51bUFycmF5RGlzcGxheXMgPSBjb21wdXRlZCgoKSA9PiB7XHJcblx0XHRpZiAoIXRoaXMuaXNNb2RlbEFycmF5KCkgfHwgIUFycmF5LmlzQXJyYXkodGhpcy5tb2RlbCgpKSkgcmV0dXJuIFtdO1xyXG5cclxuXHRcdGNvbnN0IGN1cnJlbnRMYW5nID0gdGhpcy5sYW5nU2lnbmFsKCk7XHJcblx0XHRjb25zdCBzZWxlY3Rpb25Hcm91cCA9XHJcblx0XHRcdHRoaXMuc2VsZWN0aW9uR3JvdXBTZXJ2aWNlLnNlbGVjdGlvbkdyb3VwcygpW2Ake3RoaXMuZ3JvdXBOYW1lKCkhfX4ke3RoaXMucGFyZW50U2VsZWN0aW9uS2V5KCkhfWBdO1xyXG5cclxuXHRcdGlmICghc2VsZWN0aW9uR3JvdXApIHtcclxuXHRcdFx0dGhpcy5zZWxlY3Rpb25Hcm91cFNlcnZpY2UuZmV0Y2hFbnVtKHRoaXMuZ3JvdXBOYW1lKCkhLCB0aGlzLnBhcmVudFNlbGVjdGlvbktleSgpISk7XHJcblx0XHRcdHJldHVybiB0aGlzLm1vZGVsKCkgYXMgc3RyaW5nW107XHJcblx0XHR9XHJcblxyXG5cdFx0cmV0dXJuIHRoaXMubW9kZWwoKS5tYXAoKGl0ZW06IGFueSkgPT4ge1xyXG5cdFx0XHRjb25zdCBrZXkgPVxyXG5cdFx0XHRcdHR5cGVvZiBpdGVtID09PSAnb2JqZWN0JyAmJiBpdGVtICE9PSBudWxsICYmICd2YWx1ZScgaW4gaXRlbSA/IGl0ZW0udmFsdWVcclxuXHRcdFx0XHQ6IHR5cGVvZiBpdGVtID09PSAnYm9vbGVhbicgPyBTdHJpbmcoaXRlbSlcclxuXHRcdFx0XHQ6IGl0ZW07XHJcblxyXG5cdFx0XHRjb25zdCBzZWxlY3Rpb25JdGVtID0gc2VsZWN0aW9uR3JvdXAuc2VsZWN0aW9uSXRlbXMuZmluZCgodCkgPT4gdC5zZWxlY3Rpb25LZXkgPT09IGtleSkgYXMge1xyXG5cdFx0XHRcdHNlbGVjdGlvbk11bHRpTGFuZ3VhZ2VEaXNwbGF5cz86IHsgW2xhbmc6IHN0cmluZ106IHN0cmluZyB9O1xyXG5cdFx0XHRcdHNlbGVjdGlvbkRpc3BsYXk/OiBzdHJpbmc7XHJcblx0XHRcdH07XHJcblxyXG5cdFx0XHRpZiAoIXNlbGVjdGlvbkl0ZW0pIHJldHVybiBrZXk7XHJcblxyXG5cdFx0XHRyZXR1cm4gc2VsZWN0aW9uSXRlbS5zZWxlY3Rpb25NdWx0aUxhbmd1YWdlRGlzcGxheXM/LltjdXJyZW50TGFuZ10gPz8gc2VsZWN0aW9uSXRlbS5zZWxlY3Rpb25EaXNwbGF5ID8/IGtleTtcclxuXHRcdH0pIGFzIHN0cmluZ1tdO1xyXG5cdH0pO1xyXG5cclxuXHQvLyBHZXQgZW51bSBiYWNrZ3JvdW5kIGNvbG9ycyBmb3IgYXJyYXkgaXRlbXNcclxuXHRlbnVtQXJyYXlCYWNrZ3JvdW5kQ29sb3JzID0gY29tcHV0ZWQoKCkgPT4ge1xyXG5cdFx0aWYgKCF0aGlzLmlzTW9kZWxBcnJheSgpIHx8ICFBcnJheS5pc0FycmF5KHRoaXMubW9kZWwoKSkpIHJldHVybiBbXTtcclxuXHJcblx0XHRjb25zdCBzZWxlY3Rpb25Hcm91cCA9XHJcblx0XHRcdHRoaXMuc2VsZWN0aW9uR3JvdXBTZXJ2aWNlLnNlbGVjdGlvbkdyb3VwcygpW2Ake3RoaXMuZ3JvdXBOYW1lKCkhfX4ke3RoaXMucGFyZW50U2VsZWN0aW9uS2V5KCkhfWBdO1xyXG5cdFx0Y29uc3Qgc2VsZWN0aW9uSXRlbXMgPSBzZWxlY3Rpb25Hcm91cD8uc2VsZWN0aW9uSXRlbXMgPz8gW107XHJcblxyXG5cdFx0cmV0dXJuIHRoaXMubW9kZWwoKS5tYXAoKGl0ZW06IGFueSkgPT4ge1xyXG5cdFx0XHRpZiAodHlwZW9mIGl0ZW0gPT09ICdib29sZWFuJykge1xyXG5cdFx0XHRcdHJldHVybiBpdGVtID8gJyMyMmM1NWUnIDogJyNlZjQ0NDQnO1xyXG5cdFx0XHR9XHJcblxyXG5cdFx0XHRjb25zdCBzZWxlY3Rpb25JdGVtID0gc2VsZWN0aW9uSXRlbXMuZmluZCgodCkgPT4gdC5zZWxlY3Rpb25LZXkgPT09IGl0ZW0pO1xyXG5cclxuXHRcdFx0aWYgKCFzZWxlY3Rpb25JdGVtKSB7XHJcblx0XHRcdFx0cmV0dXJuICcjMTg5MEZGJztcclxuXHRcdFx0fSBlbHNlIGlmICh0aGlzLmNvbG9yTGlzdFtzZWxlY3Rpb25JdGVtLnNob3dPcmRlcl0gIT09IHVuZGVmaW5lZCkge1xyXG5cdFx0XHRcdHJldHVybiB0aGlzLmNvbG9yTGlzdFtzZWxlY3Rpb25JdGVtLnNob3dPcmRlcl07XHJcblx0XHRcdH1cclxuXHRcdFx0cmV0dXJuICcjQTJBRkZGJztcclxuXHRcdH0pO1xyXG5cdH0pO1xyXG5cclxuXHRjb3B5VG9DbGlwYm9hcmQodmFsdWU6IHN0cmluZyB8IHVuZGVmaW5lZCkge1xyXG5cdFx0aWYgKCF2YWx1ZSkgcmV0dXJuO1xyXG5cdFx0bmF2aWdhdG9yLmNsaXBib2FyZC53cml0ZVRleHQodmFsdWUpLnRoZW4oXHJcblx0XHRcdCgpID0+IHtcclxuXHRcdFx0XHR0aGlzLm1lc3NhZ2VTZXJ2aWNlLmFkZCh7XHJcblx0XHRcdFx0XHRzZXZlcml0eTogJ3N1Y2Nlc3MnLFxyXG5cdFx0XHRcdFx0c3VtbWFyeTogdGhpcy50cmFuc2xvY29TZXJ2aWNlLnRyYW5zbGF0ZSgnbWVzc2FnZXMuc3VjY2Vzc01lc3NhZ2VIZWFkZXInKSxcclxuXHRcdFx0XHRcdGRldGFpbDogdGhpcy50cmFuc2xvY29TZXJ2aWNlLnRyYW5zbGF0ZSgnbWVzc2FnZXMuY29weVRvQ2xpcGJvYXJkU3VjY2VzcycpLFxyXG5cdFx0XHRcdFx0a2V5OiAndG9hc3Qtcm9vdCdcclxuXHRcdFx0XHR9KTtcclxuXHRcdFx0fSxcclxuXHRcdFx0KGVycikgPT4ge1xyXG5cdFx0XHRcdHRoaXMubWVzc2FnZVNlcnZpY2UuYWRkKHtcclxuXHRcdFx0XHRcdHNldmVyaXR5OiAnZXJyb3InLFxyXG5cdFx0XHRcdFx0c3VtbWFyeTogdGhpcy50cmFuc2xvY29TZXJ2aWNlLnRyYW5zbGF0ZSgnbWVzc2FnZXMudW5zdWNjZXNzZnVsTWVzc2FnZUhlYWRlcicpLFxyXG5cdFx0XHRcdFx0ZGV0YWlsOiB0aGlzLnRyYW5zbG9jb1NlcnZpY2UudHJhbnNsYXRlKCdtZXNzYWdlcy5jb3B5VG9DbGlwYm9hcmRFcnJvcicpLFxyXG5cdFx0XHRcdFx0a2V5OiAndG9hc3Qtcm9vdCdcclxuXHRcdFx0XHR9KTtcclxuXHRcdFx0fVxyXG5cdFx0KTtcclxuXHR9XHJcbn1cclxuIiwiQGlmIChtb2RlbCgpID09IHVuZGVmaW5lZCB8fCBtb2RlbCgpID09IG51bGwpIHtcclxuXHQ8aVxyXG5cdFx0Y2xhc3M9XCJwaSBwaS1taW51c1wiXHJcblx0XHRzdHlsZT1cImNvbG9yOiByZWRcIlxyXG5cdFx0W3BUb29sdGlwXT1cInRoaXMudHJhbnNsb2NvU2VydmljZS50cmFuc2xhdGUoJ3ZhbGlkYXRpb25zLm5vSXRlbVRvU2hvdycpXCI+PC9pPlxyXG59IEBlbHNlIHtcclxuXHRAaWYgKHR5cGUoKSA9PSAnYm9vbCcpIHtcclxuXHRcdEBpZiAoISFtb2RlbCgpKSB7XHJcblx0XHRcdDxpIGNsYXNzPVwicGkgcGktY2hlY2tcIiBzdHlsZT1cImNvbG9yOiBncmVlblwiPjwvaT5cclxuXHRcdH0gQGVsc2Uge1xyXG5cdFx0XHQ8aSBjbGFzcz1cInBpIHBpLXRpbWVzXCIgc3R5bGU9XCJjb2xvcjogY3JpbXNvblwiPjwvaT5cclxuXHRcdH1cclxuXHR9IEBlbHNlIGlmICh0eXBlKCkgPT09ICdlbnVtJykge1xyXG5cdFx0QGlmIChpc01vZGVsQXJyYXkoKSkge1xyXG5cdFx0XHQ8ZGl2IGNsYXNzPVwiZmxleCBhbGlnbi1pdGVtcy1jZW50ZXIgZ2FwLTFcIj5cclxuXHRcdFx0XHRAZm9yIChkaXNwbGF5IG9mIGVudW1BcnJheURpc3BsYXlzKCkuc2xpY2UoMCwgMik7IHRyYWNrIGRpc3BsYXk7IGxldCBpID0gJGluZGV4KSB7XHJcblx0XHRcdFx0XHQ8YXJpbC1iYWRnZSBbYmFja2dyb3VuZF09XCJlbnVtQXJyYXlCYWNrZ3JvdW5kQ29sb3JzKClbaV1cIiBbdmFsdWVdPVwiZGlzcGxheVwiIC8+XHJcblx0XHRcdFx0fVxyXG5cdFx0XHRcdEBpZiAoZW51bUFycmF5RGlzcGxheXMoKS5sZW5ndGggPiAyKSB7XHJcblx0XHRcdFx0XHQ8aSBjbGFzcz1cInBpIHBpLWVsbGlwc2lzLXYgY3Vyc29yLXBvaW50ZXJcIiAoY2xpY2spPVwiZW51bU9wLnRvZ2dsZSgkZXZlbnQpXCI+PC9pPlxyXG5cclxuXHRcdFx0XHRcdDxwLW92ZXJsYXlQYW5lbCAjZW51bU9wIGNsYXNzPVwic2hhZG93LTRcIiBhcHBlbmRUbz1cImJvZHlcIj5cclxuXHRcdFx0XHRcdFx0PGRpdiBjbGFzcz1cImZsZXggZmxleC1jb2x1bW4gZ2FwLTIgbWF4LXctMzByZW0gbWF4LWgtMjByZW0gcHItMyBvdmVyZmxvdy15LWF1dG9cIj5cclxuXHRcdFx0XHRcdFx0XHRAZm9yIChkaXNwbGF5IG9mIGVudW1BcnJheURpc3BsYXlzKCkgfCBzbGljZTogMjsgdHJhY2sgZGlzcGxheTsgbGV0IGkgPSAkaW5kZXgpIHtcclxuXHRcdFx0XHRcdFx0XHRcdDxhcmlsLWJhZGdlIFtiYWNrZ3JvdW5kXT1cImVudW1BcnJheUJhY2tncm91bmRDb2xvcnMoKVtpICsgMl1cIiBbdmFsdWVdPVwiZGlzcGxheVwiIC8+XHJcblx0XHRcdFx0XHRcdFx0fVxyXG5cdFx0XHRcdFx0XHQ8L2Rpdj5cclxuXHRcdFx0XHRcdDwvcC1vdmVybGF5UGFuZWw+XHJcblx0XHRcdFx0fVxyXG5cdFx0XHQ8L2Rpdj5cclxuXHRcdH0gQGVsc2Uge1xyXG5cdFx0XHQ8YXJpbC1iYWRnZSBbYmFja2dyb3VuZF09XCJlbnVtQmFkZ2VCYWNrZ3JvdW5kQ29sb3IoKVwiIFt2YWx1ZV09XCJlbnVtU2VsZWN0aW9uRGlzcGxheSgpXCIgLz5cclxuXHRcdH1cclxuXHR9IEBlbHNlIGlmICh0eXBlKCkgPT09ICdhcnJheScpIHtcclxuXHRcdDxkaXYgY2xhc3M9XCJmbGV4IGFsaWduLWl0ZW1zLWNlbnRlciBnYXAtMVwiPlxyXG5cdFx0XHRAZm9yIChpdGVtIG9mIG1vZGVsKCkuc2xpY2UoMCwgYXJyYXlUeXBlTWF4QmFkZ2VDb3VudCgpKTsgdHJhY2sgaXRlbSkge1xyXG5cdFx0XHRcdDxhcmlsLWJhZGdlIFtiYWNrZ3JvdW5kXT1cImdldEFycmF5SXRlbVZhbHVlKGl0ZW0pIHx8ICcnIHwgZW51bUNvbG9yUGlja2VyXCIgW3ZhbHVlXT1cImdldEFycmF5SXRlbVZhbHVlKGl0ZW0pXCIgLz5cclxuXHRcdFx0fVxyXG5cdFx0XHRAaWYgKG1vZGVsKCkubGVuZ3RoID4gYXJyYXlUeXBlTWF4QmFkZ2VDb3VudCgpKSB7XHJcblx0XHRcdFx0PGkgY2xhc3M9XCJwaSBwaS1lbGxpcHNpcy12IGN1cnNvci1wb2ludGVyXCIgKGNsaWNrKT1cIm9wLnRvZ2dsZSgkZXZlbnQpXCI+PC9pPlxyXG5cclxuXHRcdFx0XHQ8cC1vdmVybGF5UGFuZWwgI29wIGNsYXNzPVwic2hhZG93LTRcIiBhcHBlbmRUbz1cImJvZHlcIj5cclxuXHRcdFx0XHRcdDxkaXYgY2xhc3M9XCJmbGV4IGZsZXgtY29sdW1uIGdhcC0yIG1heC13LTMwcmVtIG1heC1oLTIwcmVtIHByLTMgb3ZlcmZsb3cteS1hdXRvXCI+XHJcblx0XHRcdFx0XHRcdEBmb3IgKGl0ZW0gb2YgbW9kZWwoKSB8IHNsaWNlOiBhcnJheVR5cGVNYXhCYWRnZUNvdW50KCk7IHRyYWNrIGl0ZW0pIHtcclxuXHRcdFx0XHRcdFx0XHQ8YXJpbC1iYWRnZVxyXG5cdFx0XHRcdFx0XHRcdFx0W2JhY2tncm91bmRdPVwiZ2V0QXJyYXlJdGVtVmFsdWUoaXRlbSkgfHwgJycgfCBlbnVtQ29sb3JQaWNrZXJcIlxyXG5cdFx0XHRcdFx0XHRcdFx0W3ZhbHVlXT1cImdldEFycmF5SXRlbVZhbHVlKGl0ZW0pXCIgLz5cclxuXHRcdFx0XHRcdFx0fVxyXG5cdFx0XHRcdFx0PC9kaXY+XHJcblx0XHRcdFx0PC9wLW92ZXJsYXlQYW5lbD5cclxuXHRcdFx0fVxyXG5cdFx0PC9kaXY+XHJcblx0fSBAZWxzZSB7XHJcblx0XHRAaWYgKGRpc3BsYXkoKSA9PSB1bmRlZmluZWQpIHtcclxuXHRcdFx0PGlcclxuXHRcdFx0XHRjbGFzcz1cInBpIHBpLWV4Y2xhbWF0aW9uLWNpcmNsZVwiXHJcblx0XHRcdFx0c3R5bGU9XCJjb2xvcjogcmVkXCJcclxuXHRcdFx0XHRbcFRvb2x0aXBdPVwidGhpcy50cmFuc2xvY29TZXJ2aWNlLnRyYW5zbGF0ZSgndmFsaWRhdGlvbnMuaW52YWxpZERhdGFGb3JtYXQnKVwiPlxyXG5cdFx0XHQ8L2k+XHJcblx0XHR9IEBlbHNlIHtcclxuXHRcdFx0PHNwYW4gY2xhc3M9XCJmbGV4IGFsaWduLWl0ZW1zLWNlbnRlciBnYXAtMlwiPlxyXG5cdFx0XHRcdEBpZiAoY29weWFibGUoKSkge1xyXG5cdFx0XHRcdFx0PGlcclxuXHRcdFx0XHRcdFx0Y2xhc3M9XCJwaSBwaS1jb3B5IGN1cnNvci1wb2ludGVyXCJcclxuXHRcdFx0XHRcdFx0KGNsaWNrKT1cImNvcHlUb0NsaXBib2FyZChkaXNwbGF5KCk/LnRvU3RyaW5nKCkpOyAkZXZlbnQuc3RvcFByb3BhZ2F0aW9uKClcIlxyXG5cdFx0XHRcdFx0XHRzdHlsZT1cImZvbnQtc2l6ZTogMXJlbTsgY29sb3I6IGdyZWVuXCI+PC9pPlxyXG5cdFx0XHRcdH1cclxuXHRcdFx0XHQ8c3BhblxyXG5cdFx0XHRcdFx0W3BUb29sdGlwXT1cIlxyXG5cdFx0XHRcdFx0XHR0eXBlKCkgPT09ICd0ZXh0JyAmJiBpc1RleHRDbGFtcCgpICYmIGRpc3BsYXkoKT8udG9TdHJpbmcoKS5sZW5ndGggPiB0ZXh0Q2xhbXBDaGFyYWN0ZXJzKCkgP1xyXG5cdFx0XHRcdFx0XHRcdGRpc3BsYXkoKT8udG9TdHJpbmcoKVxyXG5cdFx0XHRcdFx0XHQ6XHQnJ1xyXG5cdFx0XHRcdFx0XCJcclxuXHRcdFx0XHRcdHRvb2x0aXBQb3NpdGlvbj1cInRvcFwiXHJcblx0XHRcdFx0XHRbY2xhc3MudGV4dC1uby13cmFwXT1cImlzVGV4dENsYW1wKClcIlxyXG5cdFx0XHRcdFx0W3N0eWxlXT1cImlzQ2xpY2thYmxlKCkgPyB7ICd0ZXh0LWRlY29yYXRpb24nOiAndW5kZXJsaW5lJywgY29sb3I6ICcjMDAwMEVFJywgY3Vyc29yOiAncG9pbnRlcicgfSA6ICcnXCI+XHJcblx0XHRcdFx0XHRAaWYgKHR5cGUoKSA9PT0gJ251bWJlcicgfHwgdHlwZSgpID09PSAnZGVjaW1hbCcpIHtcclxuXHRcdFx0XHRcdFx0e3sgbW9kZWwoKSB8IG51bWJlcjogZ2V0TnVtYmVyRm9ybWF0KCkgOiAndHItVFInIH19XHJcblx0XHRcdFx0XHR9IEBlbHNlIGlmICh0eXBlKCkgPT09ICdiaWdfZGVjaW1hbCcpIHtcclxuXHRcdFx0XHRcdFx0e3sgbW9kZWwoKSB8IHJvdW5kTnVtYmVyOiBiaWdEZWNpbWFsU2NhbGUoKSA6IGJpZ0RlY2ltYWxSb3VuZGluZ01vZGUoKSA6ICd0ci1UUicgfX1cclxuXHRcdFx0XHRcdH0gQGVsc2UgaWYgKHR5cGUoKSA9PT0gJ2N1cnJlbmN5Jykge1xyXG5cdFx0XHRcdFx0XHR7eyBtb2RlbCgpIHwgY3VycmVuY3k6IGZvcm1hdCgpID8/ICdUUlknIDogJ3N5bWJvbCcgOiAnMS4wLTInIH19XHJcblx0XHRcdFx0XHR9IEBlbHNlIGlmICh0eXBlKCkgPT09ICd0ZXh0JyAmJiBpc1RleHRDbGFtcCgpKSB7XHJcblx0XHRcdFx0XHRcdHt7XHJcblx0XHRcdFx0XHRcdFx0ZGlzcGxheSgpLmxlbmd0aCA+IHRleHRDbGFtcENoYXJhY3RlcnMoKSA/IGRpc3BsYXkoKS5zbGljZSgwLCB0ZXh0Q2xhbXBDaGFyYWN0ZXJzKCkpICsgJy4uLicgOiBkaXNwbGF5KClcclxuXHRcdFx0XHRcdFx0fX1cclxuXHRcdFx0XHRcdH0gQGVsc2Uge1xyXG5cdFx0XHRcdFx0XHR7eyBkaXNwbGF5KCkgfX1cclxuXHRcdFx0XHRcdH1cclxuXHRcdFx0XHQ8L3NwYW4+XHJcblx0XHRcdDwvc3Bhbj5cclxuXHRcdH1cclxuXHR9XHJcbn1cclxuIl19
|
|
207
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmFsdWUuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYXJpbC91aS92YWx1ZS9zcmMvdmFsdWUuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYXJpbC91aS92YWx1ZS9zcmMvdmFsdWUuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFlBQVksRUFBRSxXQUFXLEVBQUUsU0FBUyxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDdkUsT0FBTyxFQUFFLHVCQUF1QixFQUFFLFNBQVMsRUFBRSxRQUFRLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUc1RixPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDdEQsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDMUQsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBRWhELE9BQU8sRUFBRSxlQUFlLEVBQW9CLE1BQU0sbUJBQW1CLENBQUM7QUFHdEUsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMvQyxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFFbEQsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ2xELE9BQU8sZ0NBQWdDLENBQUM7Ozs7Ozs7QUFrQ3hDLE1BQU0sT0FBTyxjQUFjO0lBMEIxQixZQUNRLGdCQUFrQyxFQUN4QixxQkFBNEMsRUFDNUMsY0FBOEI7UUFGeEMscUJBQWdCLEdBQWhCLGdCQUFnQixDQUFrQjtRQUN4QiwwQkFBcUIsR0FBckIscUJBQXFCLENBQXVCO1FBQzVDLG1CQUFjLEdBQWQsY0FBYyxDQUFnQjtRQTVCaEQsVUFBSyxHQUFHLEtBQUssQ0FBQyxRQUFRLEVBQW1DLENBQUM7UUFD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QywrQkFBK0IsQ0FBQztnQkFDekUsTUFBTSxFQUFFLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxTQUFTLENBQUMsaUNBQWlDLENBQUM7Z0JBQzFFLEdBQUcsRUFBRSxZQUFZO2FBQ2pCLENBQUMsQ0FBQztRQUNKLENBQUMsRUFDRCxDQUFDLEdBQUcsRUFBRSxFQUFFO1lBQ1AsSUFBSSxDQUFDLGNBQWMsQ0FBQyxHQUFHLENBQUM7Z0JBQ3ZCLFFBQVEsRUFBRSxPQUFPO2dCQUNqQixPQUFPLEVBQUUsSUFBSSxDQUFDLGdCQUFnQixDQUFDLFNBQVMsQ0FBQyxvQ0FBb0MsQ0FBQztnQkFDOUUsTUFBTSxFQUFFLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxTQUFTLENBQUMsK0JBQStCLENBQUM7Z0JBQ3hFLEdBQUcsRUFBRSxZQUFZO2FBQ2pCLENBQUMsQ0FBQztRQUNKLENBQUMsQ0FDRCxDQUFDO0lBQ0gsQ0FBQzs4R0F6TlcsY0FBYztrR0FBZCxjQUFjLDRzRUFGZixDQUFDLGFBQWEsRUFBRSxXQUFXLENBQUMsMEJDL0N4QyxtcklBOEZBLHlKRDFERSxjQUFjLGdLQUNkLGFBQWEscVhBQ2IsZUFBZSw4QkFDZixrQkFBa0IsOFZBQ2xCLG1CQUFtQixtREFDbkIsU0FBUyx5Q0FDVCxXQUFXLDBDQUNYLFlBQVksNENBQ1osZUFBZTs7MkZBS0osY0FBYztrQkFuQjFCLFNBQVM7aUNBQ0csSUFBSSxZQUNOLFlBQVksV0FHYjt3QkFDUixjQUFjO3dCQUNkLGFBQWE7d0JBQ2IsZUFBZTt3QkFDZixrQkFBa0I7d0JBQ2xCLG1CQUFtQjt3QkFDbkIsU0FBUzt3QkFDVCxXQUFXO3dCQUNYLFlBQVk7d0JBQ1osZUFBZTtxQkFDZixtQkFDZ0IsdUJBQXVCLENBQUMsTUFBTSxhQUNwQyxDQUFDLGFBQWEsRUFBRSxXQUFXLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDdXJyZW5jeVBpcGUsIERlY2ltYWxQaXBlLCBTbGljZVBpcGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xyXG5pbXBvcnQgeyBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ29tcG9uZW50LCBjb21wdXRlZCwgaW5wdXQsIHNpZ25hbCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5cclxuaW1wb3J0IHsgTWVzc2FnZVNlcnZpY2UgfSBmcm9tICdwcmltZW5nL2FwaSc7XHJcbmltcG9ydCB7IERpYWxvZ1NlcnZpY2UgfSBmcm9tICdwcmltZW5nL2R5bmFtaWNkaWFsb2cnO1xyXG5pbXBvcnQgeyBPdmVybGF5UGFuZWxNb2R1bGUgfSBmcm9tICdwcmltZW5nL292ZXJsYXlwYW5lbCc7XHJcbmltcG9ydCB7IFRvb2x0aXBNb2R1bGUgfSBmcm9tICdwcmltZW5nL3Rvb2x0aXAnO1xyXG5cclxuaW1wb3J0IHsgVHJhbnNsb2NvTW9kdWxlLCBUcmFuc2xvY29TZXJ2aWNlIH0gZnJvbSAnQG5nbmVhdC90cmFuc2xvY28nO1xyXG5cclxuaW1wb3J0IHsgU2VsZWN0aW9uR3JvdXBTZXJ2aWNlIH0gZnJvbSAnYXJpbC90aGVtZS9sYXlvdXQnO1xyXG5pbXBvcnQgeyBCYWRnZUNvbXBvbmVudCB9IGZyb20gJ2FyaWwvdWkvYmFkZ2UnO1xyXG5pbXBvcnQgeyBFbnVtQ29sb3JQaWNrZXJQaXBlIH0gZnJvbSAnYXJpbC91aS9saWInO1xyXG5pbXBvcnQgeyBEZWNpbWFsUm91bmRpbmdUeXBlIH0gZnJvbSAnYXJpbC91dGlsL2xpYic7XHJcbmltcG9ydCB7IFJvdW5kTnVtYmVyUGlwZSB9IGZyb20gJ2FyaWwvdXRpbC9waXBlcyc7XHJcbmltcG9ydCAnYXJpbC91dGlsL3ByaW1pdGl2ZS1leHRlbnNpb25zJztcclxuXHJcbnR5cGUgVmFsdWVUeXBlcyA9XHJcblx0fCAndGV4dCdcclxuXHR8ICdudW1iZXInXHJcblx0fCAnYm9vbCdcclxuXHR8ICdkZWNpbWFsJ1xyXG5cdHwgJ2JpZ19kZWNpbWFsJ1xyXG5cdHwgJ2RhdGUnXHJcblx0fCAncGFzc3dvcmQnXHJcblx0fCAnZW51bSdcclxuXHR8ICdhcnJheSdcclxuXHR8ICdpc29EYXRlJ1xyXG5cdHwgJ2N1cnJlbmN5JztcclxuXHJcbkBDb21wb25lbnQoe1xyXG5cdHN0YW5kYWxvbmU6IHRydWUsXHJcblx0c2VsZWN0b3I6ICdhcmlsLXZhbHVlJyxcclxuXHR0ZW1wbGF0ZVVybDogJy4vdmFsdWUuY29tcG9uZW50Lmh0bWwnLFxyXG5cdHN0eWxlVXJsOiAnLi92YWx1ZS5jb21wb25lbnQuc2NzcycsXHJcblx0aW1wb3J0czogW1xyXG5cdFx0QmFkZ2VDb21wb25lbnQsXHJcblx0XHRUb29sdGlwTW9kdWxlLFxyXG5cdFx0VHJhbnNsb2NvTW9kdWxlLFxyXG5cdFx0T3ZlcmxheVBhbmVsTW9kdWxlLFxyXG5cdFx0RW51bUNvbG9yUGlja2VyUGlwZSxcclxuXHRcdFNsaWNlUGlwZSxcclxuXHRcdERlY2ltYWxQaXBlLFxyXG5cdFx0Q3VycmVuY3lQaXBlLFxyXG5cdFx0Um91bmROdW1iZXJQaXBlXHJcblx0XSxcclxuXHRjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcclxuXHRwcm92aWRlcnM6IFtEaWFsb2dTZXJ2aWNlLCBEZWNpbWFsUGlwZV1cclxufSlcclxuZXhwb3J0IGNsYXNzIFZhbHVlQ29tcG9uZW50IHtcclxuXHRtb2RlbCA9IGlucHV0LnJlcXVpcmVkPHN0cmluZyB8IG51bWJlciB8IGJvb2xlYW4gfCBhbnk+KCk7XHJcblx0dHlwZSA9IGlucHV0PFZhbHVlVHlwZXM+KCd0ZXh0Jyk7XHJcblx0Zm9ybWF0ID0gaW5wdXQ8c3RyaW5nPigpO1xyXG5cdGlzQ2xpY2thYmxlID0gaW5wdXQ8Ym9vbGVhbj4oZmFsc2UpO1xyXG5cdGdyb3VwTmFtZSA9IGlucHV0PHN0cmluZz4oKTtcclxuXHRwYXJlbnRTZWxlY3Rpb25LZXkgPSBpbnB1dDxzdHJpbmc+KCdBTEwnKTtcclxuXHRpc1RleHRDbGFtcCA9IGlucHV0PGJvb2xlYW4+KHRydWUpO1xyXG5cdHRleHRDbGFtcENoYXJhY3RlcnMgPSBpbnB1dDxudW1iZXI+KDUwKTtcclxuXHRzdHlsZSA9IGlucHV0PHN0cmluZz4oKTtcclxuXHRjb3B5YWJsZSA9IGlucHV0PGJvb2xlYW4+KGZhbHNlKTtcclxuXHRzaG91bGRTaG93Q29weUZvckNsYW1wZWRUZXh0ID0gaW5wdXQ8Ym9vbGVhbj4oZmFsc2UpO1xyXG5cdHNob3dDb3B5SWNvbiA9IGNvbXB1dGVkKFxyXG5cdFx0KCkgPT5cclxuXHRcdFx0KCF0aGlzLnNob3VsZFNob3dDb3B5Rm9yQ2xhbXBlZFRleHQoKSAmJiB0aGlzLmNvcHlhYmxlKCkpIHx8XHJcblx0XHRcdCh0aGlzLnNob3VsZFNob3dDb3B5Rm9yQ2xhbXBlZFRleHQoKSAmJiB0aGlzLm1vZGVsKCkubGVuZ3RoID4gdGhpcy50ZXh0Q2xhbXBDaGFyYWN0ZXJzKCkpXHJcblx0KTtcclxuXHJcblx0Ly8gb25seSBmb3IgYXJyYXkgdHlwZVxyXG5cdGFycmF5VHlwZURpc3BsYXlOYW1lID0gaW5wdXQ8c3RyaW5nPigndmFsdWVEZXNjJyk7XHJcblx0YXJyYXlUeXBlTWF4QmFkZ2VDb3VudCA9IGlucHV0PG51bWJlcj4oMyk7XHJcblxyXG5cdC8vIG9ubHkgZm9yIGJpZ19kZWNpbWFsIHR5cGVcclxuXHRiaWdEZWNpbWFsUm91bmRpbmdNb2RlID0gaW5wdXQ8RGVjaW1hbFJvdW5kaW5nVHlwZT4oKTtcclxuXHRiaWdEZWNpbWFsU2NhbGUgPSBpbnB1dDxudW1iZXI+KCk7XHJcblxyXG5cdGNvbnN0cnVjdG9yKFxyXG5cdFx0cHVibGljIHRyYW5zbG9jb1NlcnZpY2U6IFRyYW5zbG9jb1NlcnZpY2UsXHJcblx0XHRwcml2YXRlIHJlYWRvbmx5IHNlbGVjdGlvbkdyb3VwU2VydmljZTogU2VsZWN0aW9uR3JvdXBTZXJ2aWNlLFxyXG5cdFx0cHJpdmF0ZSByZWFkb25seSBtZXNzYWdlU2VydmljZTogTWVzc2FnZVNlcnZpY2VcclxuXHQpIHtcclxuXHRcdHRoaXMudHJhbnNsb2NvU2VydmljZS5sYW5nQ2hhbmdlcyQuc3Vic2NyaWJlKChsYW5nKSA9PiB7XHJcblx0XHRcdHRoaXMubGFuZ1NpZ25hbC5zZXQobGFuZyk7XHJcblx0XHR9KTtcclxuXHR9XHJcblxyXG5cdGxhbmdTaWduYWwgPSBzaWduYWwodGhpcy50cmFuc2xvY29TZXJ2aWNlLmdldEFjdGl2ZUxhbmcoKSk7XHJcblxyXG5cdGdldE51bWJlckZvcm1hdCgpOiBzdHJpbmcge1xyXG5cdFx0aWYgKHRoaXMudHlwZSgpID09PSAnbnVtYmVyJykgcmV0dXJuICcxLjAtMCc7XHJcblx0XHRlbHNlIGlmICh0aGlzLnR5cGUoKSA9PT0gJ2RlY2ltYWwnKSB7XHJcblx0XHRcdGNvbnN0IGZvcm1hdCA9IHRoaXMuZm9ybWF0KCk7XHJcblxyXG5cdFx0XHRpZiAoIWZvcm1hdCkgcmV0dXJuICcxLjAtMyc7XHJcblxyXG5cdFx0XHQvLyBFxJ9lciBmb3JtYXQgQW5ndWxhciBEZWNpbWFsUGlwZSBmb3JtYXTEsW5kYXlzYSBkaXJla3Qga3VsbGFuXHJcblx0XHRcdGlmIChmb3JtYXQgJiYgdHlwZW9mIGZvcm1hdCA9PT0gJ3N0cmluZycgJiYgZm9ybWF0Lm1hdGNoKC9eXFxkK1xcLlxcZCstXFxkKyQvKSkge1xyXG5cdFx0XHRcdHJldHVybiBmb3JtYXQ7XHJcblx0XHRcdH1cclxuXHRcdFx0Ly8gRcSfZXIgZXNraSBmb3JtYXQgc3RyaW5nJ2kgdmFyc2EgKMO2cm46ICMuMDApIG9udSDDp2V2aXJcclxuXHRcdFx0aWYgKGZvcm1hdCAmJiB0eXBlb2YgZm9ybWF0ID09PSAnc3RyaW5nJyAmJiBmb3JtYXQuaW5jbHVkZXMoJy4nKSkge1xyXG5cdFx0XHRcdGNvbnN0IGRlY2ltYWxQbGFjZXMgPSBmb3JtYXQuc3BsaXQoJy4nKVsxXS5sZW5ndGg7XHJcblx0XHRcdFx0cmV0dXJuIGAxLiR7ZGVjaW1hbFBsYWNlc30tJHtkZWNpbWFsUGxhY2VzfWA7XHJcblx0XHRcdH1cclxuXHRcdH1cclxuXHRcdHJldHVybiAnJztcclxuXHR9XHJcblxyXG5cdGNvbG9yTGlzdCA9IFtcclxuXHRcdCcjMTg5MEZGJyxcclxuXHRcdCcjRkFBRDE0JyxcclxuXHRcdCcjNTJDNDFBJyxcclxuXHRcdCcjNUQ2RDdFJyxcclxuXHRcdCcjRkY2QjZCJyxcclxuXHRcdCcjMTNDMkMyJyxcclxuXHRcdCcjNThENjhEJyxcclxuXHRcdCcjNzIyRUQxJyxcclxuXHRcdCcjODVDMUU5JyxcclxuXHRcdCcjYzQ5ZTA1ZmYnXHJcblx0XTtcclxuXHJcblx0ZGlzcGxheSA9IGNvbXB1dGVkKCgpID0+IHtcclxuXHRcdHN3aXRjaCAodGhpcy50eXBlKCkpIHtcclxuXHRcdFx0Y2FzZSAndGV4dCc6XHJcblx0XHRcdGNhc2UgJ251bWJlcic6XHJcblx0XHRcdGNhc2UgJ2RlY2ltYWwnOlxyXG5cdFx0XHRjYXNlICdjdXJyZW5jeSc6XHJcblx0XHRcdGNhc2UgJ2JpZ19kZWNpbWFsJzpcclxuXHRcdFx0XHRyZXR1cm4gdGhpcy5tb2RlbCgpO1xyXG5cdFx0XHRjYXNlICdkYXRlJzpcclxuXHRcdFx0XHRyZXR1cm4gKDxudW1iZXI+dGhpcy5tb2RlbCgpKS5sb25nVG9TdHJpbmcodGhpcy5mb3JtYXQoKSA/PyAndGltZScpO1xyXG5cdFx0XHRjYXNlICdwYXNzd29yZCc6XHJcblx0XHRcdFx0cmV0dXJuICg8c3RyaW5nPnRoaXMubW9kZWwoKSkucmVwbGFjZSgvLi9nLCAnKicpO1xyXG5cdFx0XHRkZWZhdWx0OlxyXG5cdFx0XHRcdGNvbnNvbGUuZXJyb3IoXCJJbnZhbGlkIHR5cGU6ICdcIiArIHRoaXMudHlwZSgpICsgXCInXCIpO1xyXG5cdFx0XHRcdHJldHVybiAnJztcclxuXHRcdH1cclxuXHR9KTtcclxuXHJcblx0ZW51bVNlbGVjdGlvbkRpc3BsYXkgPSBjb21wdXRlZCgoKSA9PiB7XHJcblx0XHRjb25zdCBjdXJyZW50TGFuZyA9IHRoaXMubGFuZ1NpZ25hbCgpO1xyXG5cclxuXHRcdGNvbnN0IHNlbGVjdGlvbkdyb3VwID1cclxuXHRcdFx0dGhpcy5zZWxlY3Rpb25Hcm91cFNlcnZpY2Uuc2VsZWN0aW9uR3JvdXBzKClbYCR7dGhpcy5ncm91cE5hbWUoKSF9fiR7dGhpcy5wYXJlbnRTZWxlY3Rpb25LZXkoKSF9YF07XHJcblxyXG5cdFx0aWYgKCFzZWxlY3Rpb25Hcm91cCkge1xyXG5cdFx0XHR0aGlzLnNlbGVjdGlvbkdyb3VwU2VydmljZS5mZXRjaEVudW0odGhpcy5ncm91cE5hbWUoKSEsIHRoaXMucGFyZW50U2VsZWN0aW9uS2V5KCkhKTtcclxuXHRcdFx0cmV0dXJuIHRoaXMubW9kZWwoKTtcclxuXHRcdH1cclxuXHJcblx0XHRjb25zdCByYXdNb2RlbCA9IHRoaXMubW9kZWwoKTtcclxuXHRcdGNvbnN0IGtleSA9XHJcblx0XHRcdHR5cGVvZiByYXdNb2RlbCA9PT0gJ29iamVjdCcgJiYgcmF3TW9kZWwgIT09IG51bGwgJiYgJ3ZhbHVlJyBpbiByYXdNb2RlbCA/IHJhd01vZGVsLnZhbHVlXHJcblx0XHRcdDogdHlwZW9mIHJhd01vZGVsID09PSAnYm9vbGVhbicgPyBTdHJpbmcocmF3TW9kZWwpXHJcblx0XHRcdDogcmF3TW9kZWw7XHJcblxyXG5cdFx0Y29uc3Qgc2VsZWN0aW9uSXRlbSA9IHNlbGVjdGlvbkdyb3VwLnNlbGVjdGlvbkl0ZW1zLmZpbmQoKHQpID0+IHQuc2VsZWN0aW9uS2V5ID09PSBrZXkpIGFzIHtcclxuXHRcdFx0c2VsZWN0aW9uTXVsdGlMYW5ndWFnZURpc3BsYXlzPzogeyBbbGFuZzogc3RyaW5nXTogc3RyaW5nIH07XHJcblx0XHRcdHNlbGVjdGlvbkRpc3BsYXk/OiBzdHJpbmc7XHJcblx0XHR9O1xyXG5cclxuXHRcdGlmICghc2VsZWN0aW9uSXRlbSkgcmV0dXJuIGtleTtcclxuXHJcblx0XHRyZXR1cm4gc2VsZWN0aW9uSXRlbS5zZWxlY3Rpb25NdWx0aUxhbmd1YWdlRGlzcGxheXM/LltjdXJyZW50TGFuZ10gPz8gc2VsZWN0aW9uSXRlbS5zZWxlY3Rpb25EaXNwbGF5ID8/IGtleTtcclxuXHR9KTtcclxuXHJcblx0ZW51bUJhZGdlQmFja2dyb3VuZENvbG9yID0gY29tcHV0ZWQoKCkgPT4ge1xyXG5cdFx0aWYgKHR5cGVvZiB0aGlzLm1vZGVsKCkgPT09ICdib29sZWFuJykge1xyXG5cdFx0XHRyZXR1cm4gdGhpcy5tb2RlbCgpID8gJyMyMmM1NWUnIDogJyNlZjQ0NDQnOyAvLyB0cnVlIGnDp2luIHllxZ9pbCwgZmFsc2UgacOnaW4ga8Sxcm3EsXrEsVxyXG5cdFx0fVxyXG5cclxuXHRcdGNvbnN0IHNlbGVjdGlvbkdyb3VwID1cclxuXHRcdFx0dGhpcy5zZWxlY3Rpb25Hcm91cFNlcnZpY2Uuc2VsZWN0aW9uR3JvdXBzKClbYCR7dGhpcy5ncm91cE5hbWUoKSF9fiR7dGhpcy5wYXJlbnRTZWxlY3Rpb25LZXkoKSF9YF07XHJcblx0XHRjb25zdCBzZWxlY3Rpb25JdGVtcyA9IHNlbGVjdGlvbkdyb3VwPy5zZWxlY3Rpb25JdGVtcyA/PyBbXTtcclxuXHJcblx0XHRjb25zdCBzZWxlY3Rpb25JdGVtID0gc2VsZWN0aW9uSXRlbXMuZmluZCgodCkgPT4gdC5zZWxlY3Rpb25LZXkgPT09IHRoaXMubW9kZWwoKSk7XHJcblxyXG5cdFx0aWYgKCFzZWxlY3Rpb25JdGVtKSB7XHJcblx0XHRcdHJldHVybiAnIzE4OTBGRic7XHJcblx0XHR9IGVsc2UgaWYgKHRoaXMuY29sb3JMaXN0W3NlbGVjdGlvbkl0ZW0uc2hvd09yZGVyXSAhPT0gdW5kZWZpbmVkKSB7XHJcblx0XHRcdHJldHVybiB0aGlzLmNvbG9yTGlzdFtzZWxlY3Rpb25JdGVtLnNob3dPcmRlcl07XHJcblx0XHR9XHJcblx0XHRyZXR1cm4gJyNBMkFGRkYnO1xyXG5cdH0pO1xyXG5cclxuXHRnZXRBcnJheUl0ZW1WYWx1ZShpdGVtOiBhbnkpOiBhbnkge1xyXG5cdFx0cmV0dXJuIGl0ZW1bdGhpcy5hcnJheVR5cGVEaXNwbGF5TmFtZSgpXTtcclxuXHR9XHJcblxyXG5cdGlzTW9kZWxBcnJheSA9IGNvbXB1dGVkKCgpID0+IHtcclxuXHRcdHJldHVybiBBcnJheS5pc0FycmF5KHRoaXMubW9kZWwoKSk7XHJcblx0fSk7XHJcblxyXG5cdC8vIEdldCBlbnVtIGRpc3BsYXkgZm9yIGFycmF5IGl0ZW1zXHJcblx0ZW51bUFycmF5RGlzcGxheXMgPSBjb21wdXRlZCgoKSA9PiB7XHJcblx0XHRpZiAoIXRoaXMuaXNNb2RlbEFycmF5KCkgfHwgIUFycmF5LmlzQXJyYXkodGhpcy5tb2RlbCgpKSkgcmV0dXJuIFtdO1xyXG5cclxuXHRcdGNvbnN0IGN1cnJlbnRMYW5nID0gdGhpcy5sYW5nU2lnbmFsKCk7XHJcblx0XHRjb25zdCBzZWxlY3Rpb25Hcm91cCA9XHJcblx0XHRcdHRoaXMuc2VsZWN0aW9uR3JvdXBTZXJ2aWNlLnNlbGVjdGlvbkdyb3VwcygpW2Ake3RoaXMuZ3JvdXBOYW1lKCkhfX4ke3RoaXMucGFyZW50U2VsZWN0aW9uS2V5KCkhfWBdO1xyXG5cclxuXHRcdGlmICghc2VsZWN0aW9uR3JvdXApIHtcclxuXHRcdFx0dGhpcy5zZWxlY3Rpb25Hcm91cFNlcnZpY2UuZmV0Y2hFbnVtKHRoaXMuZ3JvdXBOYW1lKCkhLCB0aGlzLnBhcmVudFNlbGVjdGlvbktleSgpISk7XHJcblx0XHRcdHJldHVybiB0aGlzLm1vZGVsKCkgYXMgc3RyaW5nW107XHJcblx0XHR9XHJcblxyXG5cdFx0cmV0dXJuIHRoaXMubW9kZWwoKS5tYXAoKGl0ZW06IGFueSkgPT4ge1xyXG5cdFx0XHRjb25zdCBrZXkgPVxyXG5cdFx0XHRcdHR5cGVvZiBpdGVtID09PSAnb2JqZWN0JyAmJiBpdGVtICE9PSBudWxsICYmICd2YWx1ZScgaW4gaXRlbSA/IGl0ZW0udmFsdWVcclxuXHRcdFx0XHQ6IHR5cGVvZiBpdGVtID09PSAnYm9vbGVhbicgPyBTdHJpbmcoaXRlbSlcclxuXHRcdFx0XHQ6IGl0ZW07XHJcblxyXG5cdFx0XHRjb25zdCBzZWxlY3Rpb25JdGVtID0gc2VsZWN0aW9uR3JvdXAuc2VsZWN0aW9uSXRlbXMuZmluZCgodCkgPT4gdC5zZWxlY3Rpb25LZXkgPT09IGtleSkgYXMge1xyXG5cdFx0XHRcdHNlbGVjdGlvbk11bHRpTGFuZ3VhZ2VEaXNwbGF5cz86IHsgW2xhbmc6IHN0cmluZ106IHN0cmluZyB9O1xyXG5cdFx0XHRcdHNlbGVjdGlvbkRpc3BsYXk/OiBzdHJpbmc7XHJcblx0XHRcdH07XHJcblxyXG5cdFx0XHRpZiAoIXNlbGVjdGlvbkl0ZW0pIHJldHVybiBrZXk7XHJcblxyXG5cdFx0XHRyZXR1cm4gc2VsZWN0aW9uSXRlbS5zZWxlY3Rpb25NdWx0aUxhbmd1YWdlRGlzcGxheXM/LltjdXJyZW50TGFuZ10gPz8gc2VsZWN0aW9uSXRlbS5zZWxlY3Rpb25EaXNwbGF5ID8/IGtleTtcclxuXHRcdH0pIGFzIHN0cmluZ1tdO1xyXG5cdH0pO1xyXG5cclxuXHQvLyBHZXQgZW51bSBiYWNrZ3JvdW5kIGNvbG9ycyBmb3IgYXJyYXkgaXRlbXNcclxuXHRlbnVtQXJyYXlCYWNrZ3JvdW5kQ29sb3JzID0gY29tcHV0ZWQoKCkgPT4ge1xyXG5cdFx0aWYgKCF0aGlzLmlzTW9kZWxBcnJheSgpIHx8ICFBcnJheS5pc0FycmF5KHRoaXMubW9kZWwoKSkpIHJldHVybiBbXTtcclxuXHJcblx0XHRjb25zdCBzZWxlY3Rpb25Hcm91cCA9XHJcblx0XHRcdHRoaXMuc2VsZWN0aW9uR3JvdXBTZXJ2aWNlLnNlbGVjdGlvbkdyb3VwcygpW2Ake3RoaXMuZ3JvdXBOYW1lKCkhfX4ke3RoaXMucGFyZW50U2VsZWN0aW9uS2V5KCkhfWBdO1xyXG5cdFx0Y29uc3Qgc2VsZWN0aW9uSXRlbXMgPSBzZWxlY3Rpb25Hcm91cD8uc2VsZWN0aW9uSXRlbXMgPz8gW107XHJcblxyXG5cdFx0cmV0dXJuIHRoaXMubW9kZWwoKS5tYXAoKGl0ZW06IGFueSkgPT4ge1xyXG5cdFx0XHRpZiAodHlwZW9mIGl0ZW0gPT09ICdib29sZWFuJykge1xyXG5cdFx0XHRcdHJldHVybiBpdGVtID8gJyMyMmM1NWUnIDogJyNlZjQ0NDQnO1xyXG5cdFx0XHR9XHJcblxyXG5cdFx0XHRjb25zdCBzZWxlY3Rpb25JdGVtID0gc2VsZWN0aW9uSXRlbXMuZmluZCgodCkgPT4gdC5zZWxlY3Rpb25LZXkgPT09IGl0ZW0pO1xyXG5cclxuXHRcdFx0aWYgKCFzZWxlY3Rpb25JdGVtKSB7XHJcblx0XHRcdFx0cmV0dXJuICcjMTg5MEZGJztcclxuXHRcdFx0fSBlbHNlIGlmICh0aGlzLmNvbG9yTGlzdFtzZWxlY3Rpb25JdGVtLnNob3dPcmRlcl0gIT09IHVuZGVmaW5lZCkge1xyXG5cdFx0XHRcdHJldHVybiB0aGlzLmNvbG9yTGlzdFtzZWxlY3Rpb25JdGVtLnNob3dPcmRlcl07XHJcblx0XHRcdH1cclxuXHRcdFx0cmV0dXJuICcjQTJBRkZGJztcclxuXHRcdH0pO1xyXG5cdH0pO1xyXG5cclxuXHRjb3B5VG9DbGlwYm9hcmQodmFsdWU6IHN0cmluZyB8IHVuZGVmaW5lZCkge1xyXG5cdFx0aWYgKCF2YWx1ZSkgcmV0dXJuO1xyXG5cdFx0bmF2aWdhdG9yLmNsaXBib2FyZC53cml0ZVRleHQodmFsdWUpLnRoZW4oXHJcblx0XHRcdCgpID0+IHtcclxuXHRcdFx0XHR0aGlzLm1lc3NhZ2VTZXJ2aWNlLmFkZCh7XHJcblx0XHRcdFx0XHRzZXZlcml0eTogJ3N1Y2Nlc3MnLFxyXG5cdFx0XHRcdFx0c3VtbWFyeTogdGhpcy50cmFuc2xvY29TZXJ2aWNlLnRyYW5zbGF0ZSgnbWVzc2FnZXMuc3VjY2Vzc01lc3NhZ2VIZWFkZXInKSxcclxuXHRcdFx0XHRcdGRldGFpbDogdGhpcy50cmFuc2xvY29TZXJ2aWNlLnRyYW5zbGF0ZSgnbWVzc2FnZXMuY29weVRvQ2xpcGJvYXJkU3VjY2VzcycpLFxyXG5cdFx0XHRcdFx0a2V5OiAndG9hc3Qtcm9vdCdcclxuXHRcdFx0XHR9KTtcclxuXHRcdFx0fSxcclxuXHRcdFx0KGVycikgPT4ge1xyXG5cdFx0XHRcdHRoaXMubWVzc2FnZVNlcnZpY2UuYWRkKHtcclxuXHRcdFx0XHRcdHNldmVyaXR5OiAnZXJyb3InLFxyXG5cdFx0XHRcdFx0c3VtbWFyeTogdGhpcy50cmFuc2xvY29TZXJ2aWNlLnRyYW5zbGF0ZSgnbWVzc2FnZXMudW5zdWNjZXNzZnVsTWVzc2FnZUhlYWRlcicpLFxyXG5cdFx0XHRcdFx0ZGV0YWlsOiB0aGlzLnRyYW5zbG9jb1NlcnZpY2UudHJhbnNsYXRlKCdtZXNzYWdlcy5jb3B5VG9DbGlwYm9hcmRFcnJvcicpLFxyXG5cdFx0XHRcdFx0a2V5OiAndG9hc3Qtcm9vdCdcclxuXHRcdFx0XHR9KTtcclxuXHRcdFx0fVxyXG5cdFx0KTtcclxuXHR9XHJcbn1cclxuIiwiQGlmIChtb2RlbCgpID09IHVuZGVmaW5lZCB8fCBtb2RlbCgpID09IG51bGwpIHtcclxuXHQ8aVxyXG5cdFx0Y2xhc3M9XCJwaSBwaS1taW51c1wiXHJcblx0XHRzdHlsZT1cImNvbG9yOiByZWRcIlxyXG5cdFx0W3BUb29sdGlwXT1cInRoaXMudHJhbnNsb2NvU2VydmljZS50cmFuc2xhdGUoJ3ZhbGlkYXRpb25zLm5vSXRlbVRvU2hvdycpXCI+PC9pPlxyXG59IEBlbHNlIHtcclxuXHRAaWYgKHR5cGUoKSA9PSAnYm9vbCcpIHtcclxuXHRcdEBpZiAoISFtb2RlbCgpKSB7XHJcblx0XHRcdDxpIGNsYXNzPVwicGkgcGktY2hlY2tcIiBzdHlsZT1cImNvbG9yOiBncmVlblwiPjwvaT5cclxuXHRcdH0gQGVsc2Uge1xyXG5cdFx0XHQ8aSBjbGFzcz1cInBpIHBpLXRpbWVzXCIgc3R5bGU9XCJjb2xvcjogY3JpbXNvblwiPjwvaT5cclxuXHRcdH1cclxuXHR9IEBlbHNlIGlmICh0eXBlKCkgPT09ICdlbnVtJykge1xyXG5cdFx0QGlmIChpc01vZGVsQXJyYXkoKSkge1xyXG5cdFx0XHQ8ZGl2IGNsYXNzPVwiZmxleCBhbGlnbi1pdGVtcy1jZW50ZXIgZ2FwLTFcIj5cclxuXHRcdFx0XHRAZm9yIChkaXNwbGF5IG9mIGVudW1BcnJheURpc3BsYXlzKCkuc2xpY2UoMCwgMik7IHRyYWNrIGRpc3BsYXk7IGxldCBpID0gJGluZGV4KSB7XHJcblx0XHRcdFx0XHQ8YXJpbC1iYWRnZSBbYmFja2dyb3VuZF09XCJlbnVtQXJyYXlCYWNrZ3JvdW5kQ29sb3JzKClbaV1cIiBbdmFsdWVdPVwiZGlzcGxheVwiIC8+XHJcblx0XHRcdFx0fVxyXG5cdFx0XHRcdEBpZiAoZW51bUFycmF5RGlzcGxheXMoKS5sZW5ndGggPiAyKSB7XHJcblx0XHRcdFx0XHQ8aSBjbGFzcz1cInBpIHBpLWVsbGlwc2lzLXYgY3Vyc29yLXBvaW50ZXJcIiAoY2xpY2spPVwiZW51bU9wLnRvZ2dsZSgkZXZlbnQpXCI+PC9pPlxyXG5cclxuXHRcdFx0XHRcdDxwLW92ZXJsYXlQYW5lbCAjZW51bU9wIGNsYXNzPVwic2hhZG93LTRcIiBhcHBlbmRUbz1cImJvZHlcIj5cclxuXHRcdFx0XHRcdFx0PGRpdiBjbGFzcz1cImZsZXggZmxleC1jb2x1bW4gZ2FwLTIgbWF4LXctMzByZW0gbWF4LWgtMjByZW0gcHItMyBvdmVyZmxvdy15LWF1dG9cIj5cclxuXHRcdFx0XHRcdFx0XHRAZm9yIChkaXNwbGF5IG9mIGVudW1BcnJheURpc3BsYXlzKCkgfCBzbGljZTogMjsgdHJhY2sgZGlzcGxheTsgbGV0IGkgPSAkaW5kZXgpIHtcclxuXHRcdFx0XHRcdFx0XHRcdDxhcmlsLWJhZGdlIFtiYWNrZ3JvdW5kXT1cImVudW1BcnJheUJhY2tncm91bmRDb2xvcnMoKVtpICsgMl1cIiBbdmFsdWVdPVwiZGlzcGxheVwiIC8+XHJcblx0XHRcdFx0XHRcdFx0fVxyXG5cdFx0XHRcdFx0XHQ8L2Rpdj5cclxuXHRcdFx0XHRcdDwvcC1vdmVybGF5UGFuZWw+XHJcblx0XHRcdFx0fVxyXG5cdFx0XHQ8L2Rpdj5cclxuXHRcdH0gQGVsc2Uge1xyXG5cdFx0XHQ8YXJpbC1iYWRnZSBbYmFja2dyb3VuZF09XCJlbnVtQmFkZ2VCYWNrZ3JvdW5kQ29sb3IoKVwiIFt2YWx1ZV09XCJlbnVtU2VsZWN0aW9uRGlzcGxheSgpXCIgLz5cclxuXHRcdH1cclxuXHR9IEBlbHNlIGlmICh0eXBlKCkgPT09ICdhcnJheScpIHtcclxuXHRcdDxkaXYgY2xhc3M9XCJmbGV4IGFsaWduLWl0ZW1zLWNlbnRlciBnYXAtMVwiPlxyXG5cdFx0XHRAZm9yIChpdGVtIG9mIG1vZGVsKCkuc2xpY2UoMCwgYXJyYXlUeXBlTWF4QmFkZ2VDb3VudCgpKTsgdHJhY2sgaXRlbSkge1xyXG5cdFx0XHRcdDxhcmlsLWJhZGdlIFtiYWNrZ3JvdW5kXT1cImdldEFycmF5SXRlbVZhbHVlKGl0ZW0pIHx8ICcnIHwgZW51bUNvbG9yUGlja2VyXCIgW3ZhbHVlXT1cImdldEFycmF5SXRlbVZhbHVlKGl0ZW0pXCIgLz5cclxuXHRcdFx0fVxyXG5cdFx0XHRAaWYgKG1vZGVsKCkubGVuZ3RoID4gYXJyYXlUeXBlTWF4QmFkZ2VDb3VudCgpKSB7XHJcblx0XHRcdFx0PGkgY2xhc3M9XCJwaSBwaS1lbGxpcHNpcy12IGN1cnNvci1wb2ludGVyXCIgKGNsaWNrKT1cIm9wLnRvZ2dsZSgkZXZlbnQpXCI+PC9pPlxyXG5cclxuXHRcdFx0XHQ8cC1vdmVybGF5UGFuZWwgI29wIGNsYXNzPVwic2hhZG93LTRcIiBhcHBlbmRUbz1cImJvZHlcIj5cclxuXHRcdFx0XHRcdDxkaXYgY2xhc3M9XCJmbGV4IGZsZXgtY29sdW1uIGdhcC0yIG1heC13LTMwcmVtIG1heC1oLTIwcmVtIHByLTMgb3ZlcmZsb3cteS1hdXRvXCI+XHJcblx0XHRcdFx0XHRcdEBmb3IgKGl0ZW0gb2YgbW9kZWwoKSB8IHNsaWNlOiBhcnJheVR5cGVNYXhCYWRnZUNvdW50KCk7IHRyYWNrIGl0ZW0pIHtcclxuXHRcdFx0XHRcdFx0XHQ8YXJpbC1iYWRnZVxyXG5cdFx0XHRcdFx0XHRcdFx0W2JhY2tncm91bmRdPVwiZ2V0QXJyYXlJdGVtVmFsdWUoaXRlbSkgfHwgJycgfCBlbnVtQ29sb3JQaWNrZXJcIlxyXG5cdFx0XHRcdFx0XHRcdFx0W3ZhbHVlXT1cImdldEFycmF5SXRlbVZhbHVlKGl0ZW0pXCIgLz5cclxuXHRcdFx0XHRcdFx0fVxyXG5cdFx0XHRcdFx0PC9kaXY+XHJcblx0XHRcdFx0PC9wLW92ZXJsYXlQYW5lbD5cclxuXHRcdFx0fVxyXG5cdFx0PC9kaXY+XHJcblx0fSBAZWxzZSB7XHJcblx0XHRAaWYgKGRpc3BsYXkoKSA9PSB1bmRlZmluZWQpIHtcclxuXHRcdFx0PGlcclxuXHRcdFx0XHRjbGFzcz1cInBpIHBpLWV4Y2xhbWF0aW9uLWNpcmNsZVwiXHJcblx0XHRcdFx0c3R5bGU9XCJjb2xvcjogcmVkXCJcclxuXHRcdFx0XHRbcFRvb2x0aXBdPVwidGhpcy50cmFuc2xvY29TZXJ2aWNlLnRyYW5zbGF0ZSgndmFsaWRhdGlvbnMuaW52YWxpZERhdGFGb3JtYXQnKVwiPlxyXG5cdFx0XHQ8L2k+XHJcblx0XHR9IEBlbHNlIHtcclxuXHRcdFx0PHNwYW4gY2xhc3M9XCJmbGV4IGFsaWduLWl0ZW1zLWNlbnRlciBnYXAtMlwiPlxyXG5cdFx0XHRcdEBpZiAoc2hvd0NvcHlJY29uKCkpIHtcclxuXHRcdFx0XHRcdDxpXHJcblx0XHRcdFx0XHRcdGNsYXNzPVwicGkgcGktY29weSBjdXJzb3ItcG9pbnRlclwiXHJcblx0XHRcdFx0XHRcdChjbGljayk9XCJjb3B5VG9DbGlwYm9hcmQoZGlzcGxheSgpPy50b1N0cmluZygpKTsgJGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpXCJcclxuXHRcdFx0XHRcdFx0c3R5bGU9XCJmb250LXNpemU6IDFyZW07IGNvbG9yOiBncmVlblwiPjwvaT5cclxuXHRcdFx0XHR9XHJcblx0XHRcdFx0PHNwYW5cclxuXHRcdFx0XHRcdFtwVG9vbHRpcF09XCJcclxuXHRcdFx0XHRcdFx0dHlwZSgpID09PSAndGV4dCcgJiYgaXNUZXh0Q2xhbXAoKSAmJiBkaXNwbGF5KCk/LnRvU3RyaW5nKCkubGVuZ3RoID4gdGV4dENsYW1wQ2hhcmFjdGVycygpID9cclxuXHRcdFx0XHRcdFx0XHRkaXNwbGF5KCk/LnRvU3RyaW5nKClcclxuXHRcdFx0XHRcdFx0Olx0JydcclxuXHRcdFx0XHRcdFwiXHJcblx0XHRcdFx0XHR0b29sdGlwUG9zaXRpb249XCJ0b3BcIlxyXG5cdFx0XHRcdFx0W2NsYXNzLnRleHQtbm8td3JhcF09XCJpc1RleHRDbGFtcCgpXCJcclxuXHRcdFx0XHRcdFtzdHlsZV09XCJpc0NsaWNrYWJsZSgpID8geyAndGV4dC1kZWNvcmF0aW9uJzogJ3VuZGVybGluZScsIGNvbG9yOiAnIzAwMDBFRScsIGN1cnNvcjogJ3BvaW50ZXInIH0gOiAnJ1wiPlxyXG5cdFx0XHRcdFx0QGlmICh0eXBlKCkgPT09ICdudW1iZXInIHx8IHR5cGUoKSA9PT0gJ2RlY2ltYWwnKSB7XHJcblx0XHRcdFx0XHRcdHt7IG1vZGVsKCkgfCBudW1iZXI6IGdldE51bWJlckZvcm1hdCgpIDogJ3RyLVRSJyB9fVxyXG5cdFx0XHRcdFx0fSBAZWxzZSBpZiAodHlwZSgpID09PSAnYmlnX2RlY2ltYWwnKSB7XHJcblx0XHRcdFx0XHRcdHt7IG1vZGVsKCkgfCByb3VuZE51bWJlcjogYmlnRGVjaW1hbFNjYWxlKCkgOiBiaWdEZWNpbWFsUm91bmRpbmdNb2RlKCkgOiAndHItVFInIH19XHJcblx0XHRcdFx0XHR9IEBlbHNlIGlmICh0eXBlKCkgPT09ICdjdXJyZW5jeScpIHtcclxuXHRcdFx0XHRcdFx0e3sgbW9kZWwoKSB8IGN1cnJlbmN5OiBmb3JtYXQoKSA/PyAnVFJZJyA6ICdzeW1ib2wnIDogJzEuMC0yJyB9fVxyXG5cdFx0XHRcdFx0fSBAZWxzZSBpZiAodHlwZSgpID09PSAndGV4dCcgJiYgaXNUZXh0Q2xhbXAoKSkge1xyXG5cdFx0XHRcdFx0XHR7e1xyXG5cdFx0XHRcdFx0XHRcdGRpc3BsYXkoKS5sZW5ndGggPiB0ZXh0Q2xhbXBDaGFyYWN0ZXJzKCkgPyBkaXNwbGF5KCkuc2xpY2UoMCwgdGV4dENsYW1wQ2hhcmFjdGVycygpKSArICcuLi4nIDogZGlzcGxheSgpXHJcblx0XHRcdFx0XHRcdH19XHJcblx0XHRcdFx0XHR9IEBlbHNlIHtcclxuXHRcdFx0XHRcdFx0e3sgZGlzcGxheSgpIH19XHJcblx0XHRcdFx0XHR9XHJcblx0XHRcdFx0PC9zcGFuPlxyXG5cdFx0XHQ8L3NwYW4+XHJcblx0XHR9XHJcblx0fVxyXG59XHJcbiJdfQ==
|
|
@@ -1,5 +1,4 @@
|
|
|
1
|
-
import { Component, input } from '@angular/core';
|
|
2
|
-
import { OverlayPanelModule } from 'primeng/overlaypanel';
|
|
1
|
+
import { ChangeDetectionStrategy, Component, input } from '@angular/core';
|
|
3
2
|
import { ProgressSpinnerModule } from 'primeng/progressspinner';
|
|
4
3
|
import { TooltipModule } from 'primeng/tooltip';
|
|
5
4
|
import { firstValueFrom } from 'rxjs';
|
|
@@ -7,17 +6,18 @@ import { API_CONFIGS } from 'aril/boot/config/api';
|
|
|
7
6
|
import { ValueComponent } from 'aril/ui/value';
|
|
8
7
|
import * as i0 from "@angular/core";
|
|
9
8
|
import * as i1 from "@angular/common/http";
|
|
10
|
-
import * as i2 from "primeng/
|
|
11
|
-
import * as i3 from "primeng/
|
|
9
|
+
import * as i2 from "primeng/tooltip";
|
|
10
|
+
import * as i3 from "primeng/progressspinner";
|
|
12
11
|
/**
|
|
13
12
|
* A component to display detailed tooltips with configurable position, event triggers, and delays.
|
|
14
13
|
*/
|
|
15
14
|
export class DetailedOverlayPanelComponent {
|
|
16
|
-
constructor(http) {
|
|
15
|
+
constructor(http, cdr) {
|
|
17
16
|
this.http = http;
|
|
17
|
+
this.cdr = cdr;
|
|
18
18
|
this.assetId = input.required();
|
|
19
19
|
this.style = input({});
|
|
20
|
-
this.styleClass = input('
|
|
20
|
+
this.styleClass = input('');
|
|
21
21
|
this.columns = input([]);
|
|
22
22
|
this.tableData = {};
|
|
23
23
|
this.loading = false;
|
|
@@ -39,20 +39,19 @@ export class DetailedOverlayPanelComponent {
|
|
|
39
39
|
this.tableData = result;
|
|
40
40
|
this.infoAttributes = result.attributes;
|
|
41
41
|
}
|
|
42
|
+
this.loading = false;
|
|
43
|
+
this.cdr.markForCheck();
|
|
42
44
|
}
|
|
43
45
|
catch (error) {
|
|
44
46
|
console.error('Error fetching asset detail:', error);
|
|
45
47
|
this.loading = false;
|
|
46
48
|
}
|
|
47
|
-
finally {
|
|
48
|
-
this.loading = false;
|
|
49
|
-
}
|
|
50
49
|
}
|
|
51
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.2", ngImport: i0, type: DetailedOverlayPanelComponent, deps: [{ token: i1.HttpClient }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
52
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.1.2", type: DetailedOverlayPanelComponent, isStandalone: true, selector: "aril-detailed-oveylay-panel", inputs: { assetId: { classPropertyName: "assetId", publicName: "assetId", isSignal: true, isRequired: true, transformFunction: null }, style: { classPropertyName: "style", publicName: "style", isSignal: true, isRequired: false, transformFunction: null }, styleClass: { classPropertyName: "styleClass", publicName: "styleClass", isSignal: true, isRequired: false, transformFunction: null }, columns: { classPropertyName: "columns", publicName: "columns", isSignal: true, isRequired: false, transformFunction: null } }, ngImport: i0, template: "<
|
|
50
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.2", ngImport: i0, type: DetailedOverlayPanelComponent, deps: [{ token: i1.HttpClient }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
51
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.1.2", type: DetailedOverlayPanelComponent, isStandalone: true, selector: "aril-detailed-oveylay-panel", inputs: { assetId: { classPropertyName: "assetId", publicName: "assetId", isSignal: true, isRequired: true, transformFunction: null }, style: { classPropertyName: "style", publicName: "style", isSignal: true, isRequired: false, transformFunction: null }, styleClass: { classPropertyName: "styleClass", publicName: "styleClass", isSignal: true, isRequired: false, transformFunction: null }, columns: { classPropertyName: "columns", publicName: "columns", isSignal: true, isRequired: false, transformFunction: null } }, ngImport: i0, template: "<span\r\n\t#spanRef\r\n\t(mouseenter)=\"onHover()\"\r\n\t[pTooltip]=\"tooltipContent\"\r\n\t[autoHide]=\"false\"\r\n\ttooltipStyleClass=\"detailed-overlay-tooltip\">\r\n\t<ng-content />\r\n</span>\r\n\r\n<ng-template #tooltipContent>\r\n\t@if (loading) {\r\n\t\t<p-progressSpinner styleClass=\"w-4rem h-4rem\" strokeWidth=\"8\" />\r\n\t} @else {\r\n\t\t<div class=\"w-full mb-2\">\r\n\t\t\t<p class=\"font-semibold\">{{ tableData.assetDefinitionName }} / {{ tableData.assetDefinitionCode }}</p>\r\n\t\t</div>\r\n\t\t<table class=\"w-full\">\r\n\t\t\t@for (infoAttribute of infoAttributes; track infoAttribute) {\r\n\t\t\t\t<tr>\r\n\t\t\t\t\t<td>\r\n\t\t\t\t\t\t{{ infoAttribute.attribute.attributeName }}\r\n\t\t\t\t\t</td>\r\n\t\t\t\t\t<td>\r\n\t\t\t\t\t\t<p class=\"font-bold m-0\">\r\n\t\t\t\t\t\t\t@switch (infoAttribute.attribute.attributeType) {\r\n\t\t\t\t\t\t\t\t@case ('DATE') {\r\n\t\t\t\t\t\t\t\t\t<aril-value type=\"date\" [model]=\"infoAttribute?.value\" format=\"day\" />\r\n\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t@case ('DATE_TIME') {\r\n\t\t\t\t\t\t\t\t\t<aril-value type=\"date\" [model]=\"infoAttribute?.value\" format=\"second\" />\r\n\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t@case ('BOOLEAN') {\r\n\t\t\t\t\t\t\t\t\t@if (infoAttribute.value === 'true') {\r\n\t\t\t\t\t\t\t\t\t\t<aril-value type=\"text\" model=\"Var\" />\r\n\t\t\t\t\t\t\t\t\t} @else {\r\n\t\t\t\t\t\t\t\t\t\t<aril-value type=\"text\" model=\"Yok\" />\r\n\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t@default {\r\n\t\t\t\t\t\t\t\t\t<aril-value\r\n\t\t\t\t\t\t\t\t\t\ttype=\"text\"\r\n\t\t\t\t\t\t\t\t\t\t[model]=\"infoAttribute.valueDesc ? infoAttribute.valueDesc : infoAttribute.value\"\r\n\t\t\t\t\t\t\t\t\t\t[shouldShowCopyForClampedText]=\"true\" />\r\n\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t</p>\r\n\t\t\t\t\t</td>\r\n\t\t\t\t</tr>\r\n\t\t\t}\r\n\t\t</table>\r\n\t}\r\n</ng-template>\r\n", styles: ["table{width:100%;border-collapse:collapse}th,td{padding:8px;border:1px solid #ddd}::ng-deep .detailed-overlay-tooltip .p-tooltip-text{background:#fff;color:var(--text-color);width:max-content}\n"], dependencies: [{ kind: "ngmodule", type: TooltipModule }, { kind: "directive", type: i2.Tooltip, selector: "[pTooltip]", inputs: ["tooltipPosition", "tooltipEvent", "appendTo", "positionStyle", "tooltipStyleClass", "tooltipZIndex", "escape", "showDelay", "hideDelay", "life", "positionTop", "positionLeft", "autoHide", "fitContent", "hideOnEscape", "pTooltip", "tooltipDisabled", "tooltipOptions"] }, { kind: "ngmodule", type: ProgressSpinnerModule }, { kind: "component", type: i3.ProgressSpinner, selector: "p-progressSpinner", inputs: ["styleClass", "style", "strokeWidth", "fill", "animationDuration", "ariaLabel"] }, { kind: "component", type: ValueComponent, selector: "aril-value", inputs: ["model", "type", "format", "isClickable", "groupName", "parentSelectionKey", "isTextClamp", "textClampCharacters", "style", "copyable", "shouldShowCopyForClampedText", "arrayTypeDisplayName", "arrayTypeMaxBadgeCount", "bigDecimalRoundingMode", "bigDecimalScale"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
53
52
|
}
|
|
54
53
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.2", ngImport: i0, type: DetailedOverlayPanelComponent, decorators: [{
|
|
55
54
|
type: Component,
|
|
56
|
-
args: [{ selector: 'aril-detailed-oveylay-panel', standalone: true, imports: [TooltipModule, ProgressSpinnerModule,
|
|
57
|
-
}], ctorParameters: () => [{ type: i1.HttpClient }] });
|
|
58
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
55
|
+
args: [{ selector: 'aril-detailed-oveylay-panel', standalone: true, imports: [TooltipModule, ProgressSpinnerModule, ValueComponent, TooltipModule], changeDetection: ChangeDetectionStrategy.OnPush, template: "<span\r\n\t#spanRef\r\n\t(mouseenter)=\"onHover()\"\r\n\t[pTooltip]=\"tooltipContent\"\r\n\t[autoHide]=\"false\"\r\n\ttooltipStyleClass=\"detailed-overlay-tooltip\">\r\n\t<ng-content />\r\n</span>\r\n\r\n<ng-template #tooltipContent>\r\n\t@if (loading) {\r\n\t\t<p-progressSpinner styleClass=\"w-4rem h-4rem\" strokeWidth=\"8\" />\r\n\t} @else {\r\n\t\t<div class=\"w-full mb-2\">\r\n\t\t\t<p class=\"font-semibold\">{{ tableData.assetDefinitionName }} / {{ tableData.assetDefinitionCode }}</p>\r\n\t\t</div>\r\n\t\t<table class=\"w-full\">\r\n\t\t\t@for (infoAttribute of infoAttributes; track infoAttribute) {\r\n\t\t\t\t<tr>\r\n\t\t\t\t\t<td>\r\n\t\t\t\t\t\t{{ infoAttribute.attribute.attributeName }}\r\n\t\t\t\t\t</td>\r\n\t\t\t\t\t<td>\r\n\t\t\t\t\t\t<p class=\"font-bold m-0\">\r\n\t\t\t\t\t\t\t@switch (infoAttribute.attribute.attributeType) {\r\n\t\t\t\t\t\t\t\t@case ('DATE') {\r\n\t\t\t\t\t\t\t\t\t<aril-value type=\"date\" [model]=\"infoAttribute?.value\" format=\"day\" />\r\n\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t@case ('DATE_TIME') {\r\n\t\t\t\t\t\t\t\t\t<aril-value type=\"date\" [model]=\"infoAttribute?.value\" format=\"second\" />\r\n\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t@case ('BOOLEAN') {\r\n\t\t\t\t\t\t\t\t\t@if (infoAttribute.value === 'true') {\r\n\t\t\t\t\t\t\t\t\t\t<aril-value type=\"text\" model=\"Var\" />\r\n\t\t\t\t\t\t\t\t\t} @else {\r\n\t\t\t\t\t\t\t\t\t\t<aril-value type=\"text\" model=\"Yok\" />\r\n\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t@default {\r\n\t\t\t\t\t\t\t\t\t<aril-value\r\n\t\t\t\t\t\t\t\t\t\ttype=\"text\"\r\n\t\t\t\t\t\t\t\t\t\t[model]=\"infoAttribute.valueDesc ? infoAttribute.valueDesc : infoAttribute.value\"\r\n\t\t\t\t\t\t\t\t\t\t[shouldShowCopyForClampedText]=\"true\" />\r\n\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t</p>\r\n\t\t\t\t\t</td>\r\n\t\t\t\t</tr>\r\n\t\t\t}\r\n\t\t</table>\r\n\t}\r\n</ng-template>\r\n", styles: ["table{width:100%;border-collapse:collapse}th,td{padding:8px;border:1px solid #ddd}::ng-deep .detailed-overlay-tooltip .p-tooltip-text{background:#fff;color:var(--text-color);width:max-content}\n"] }]
|
|
56
|
+
}], ctorParameters: () => [{ type: i1.HttpClient }, { type: i0.ChangeDetectorRef }] });
|
|
57
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGV0YWlsZWQtb3ZlcmxheS1wYW5lbC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hcmlsL3VpLWJ1c2luZXNzL2RldGFpbGVkLW92ZXJsYXktcGFuZWwvc3JjL2RldGFpbGVkLW92ZXJsYXktcGFuZWwuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYXJpbC91aS1idXNpbmVzcy9kZXRhaWxlZC1vdmVybGF5LXBhbmVsL3NyYy9kZXRhaWxlZC1vdmVybGF5LXBhbmVsLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBRSx1QkFBdUIsRUFBcUIsU0FBUyxFQUFFLEtBQUssRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUU3RixPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUNoRSxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFFaEQsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUV0QyxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDbkQsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLGVBQWUsQ0FBQzs7Ozs7QUFJL0M7O0dBRUc7QUFTSCxNQUFNLE9BQU8sNkJBQTZCO0lBVXpDLFlBQ2tCLElBQWdCLEVBQ2hCLEdBQXNCO1FBRHRCLFNBQUksR0FBSixJQUFJLENBQVk7UUFDaEIsUUFBRyxHQUFILEdBQUcsQ0FBbUI7UUFYeEMsWUFBTyxHQUFHLEtBQUssQ0FBQyxRQUFRLEVBQU8sQ0FBQztRQUNoQyxVQUFLLEdBQUcsS0FBSyxDQUFNLEVBQUUsQ0FBQyxDQUFDO1FBQ3ZCLGVBQVUsR0FBRyxLQUFLLENBQVMsRUFBRSxDQUFDLENBQUM7UUFDL0IsWUFBTyxHQUFHLEtBQUssQ0FBc0MsRUFBRSxDQUFDLENBQUM7UUFDekQsY0FBUyxHQUFtQixFQUFvQixDQUFDO1FBQ2pELFlBQU8sR0FBRyxLQUFLLENBQUM7UUFDaEIsbUJBQWMsR0FBdUIsRUFBRSxDQUFDO1FBQ3hDLG1CQUFjLEdBQTBDLEVBQUUsQ0FBQztJQUt4RCxDQUFDO0lBRUosS0FBSyxDQUFDLE9BQU87UUFDWixJQUFJLElBQUksQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFDLEVBQUUsQ0FBQztZQUN6QyxJQUFJLENBQUMsU0FBUyxHQUFHLElBQUksQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFDLENBQUM7WUFDckQsSUFBSSxDQUFDLGNBQWMsR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDLFVBQVUsQ0FBQztZQUNoRCxPQUFPO1FBQ1IsQ0FBQztRQUNELElBQUksQ0FBQyxPQUFPLEdBQUcsSUFBSSxDQUFDO1FBQ3BCLElBQUksQ0FBQztZQUNKLE1BQU0sT0FBTyxHQUFHLFdBQVcsQ0FBQyxHQUFHLENBQUMsT0FBTyxDQUFDLGNBQWMsRUFBRSxVQUFVLENBQUMsQ0FBQztZQUNwRSxNQUFNLE1BQU0sR0FBRyxNQUFNLGNBQWMsQ0FDbEMsSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQWlCLEdBQUcsT0FBTyxnQkFBZ0IsSUFBSSxDQUFDLE9BQU8sRUFBRSxRQUFRLENBQUMsQ0FDL0UsQ0FBQztZQUVGLElBQUksTUFBTSxFQUFFLENBQUM7Z0JBQ1osSUFBSSxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUMsT0FBTyxFQUFFLENBQUMsR0FBRyxNQUFNLENBQUM7Z0JBQzdDLElBQUksQ0FBQyxTQUFTLEdBQUcsTUFBTSxDQUFDO2dCQUN4QixJQUFJLENBQUMsY0FBYyxHQUFHLE1BQU0sQ0FBQyxVQUFVLENBQUM7WUFDekMsQ0FBQztZQUNELElBQUksQ0FBQyxPQUFPLEdBQUcsS0FBSyxDQUFDO1lBQ3JCLElBQUksQ0FBQyxHQUFHLENBQUMsWUFBWSxFQUFFLENBQUM7UUFDekIsQ0FBQztRQUFDLE9BQU8sS0FBSyxFQUFFLENBQUM7WUFDaEIsT0FBTyxDQUFDLEtBQUssQ0FBQyw4QkFBOEIsRUFBRSxLQUFLLENBQUMsQ0FBQztZQUNyRCxJQUFJLENBQUMsT0FBTyxHQUFHLEtBQUssQ0FBQztRQUN0QixDQUFDO0lBQ0YsQ0FBQzs4R0F2Q1csNkJBQTZCO2tHQUE3Qiw2QkFBNkIsNmxCQ3hCMUMsODJEQW9EQSwyUERqQ1csYUFBYSxxWEFBRSxxQkFBcUIseU1BQUUsY0FBYzs7MkZBS2xELDZCQUE2QjtrQkFSekMsU0FBUzsrQkFDQyw2QkFBNkIsY0FDM0IsSUFBSSxXQUNQLENBQUMsYUFBYSxFQUFFLHFCQUFxQixFQUFFLGNBQWMsRUFBRSxhQUFhLENBQUMsbUJBRzdELHVCQUF1QixDQUFDLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBIdHRwQ2xpZW50IH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xyXG5pbXBvcnQgeyBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ2hhbmdlRGV0ZWN0b3JSZWYsIENvbXBvbmVudCwgaW5wdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuXHJcbmltcG9ydCB7IFByb2dyZXNzU3Bpbm5lck1vZHVsZSB9IGZyb20gJ3ByaW1lbmcvcHJvZ3Jlc3NzcGlubmVyJztcclxuaW1wb3J0IHsgVG9vbHRpcE1vZHVsZSB9IGZyb20gJ3ByaW1lbmcvdG9vbHRpcCc7XHJcblxyXG5pbXBvcnQgeyBmaXJzdFZhbHVlRnJvbSB9IGZyb20gJ3J4anMnO1xyXG5cclxuaW1wb3J0IHsgQVBJX0NPTkZJR1MgfSBmcm9tICdhcmlsL2Jvb3QvY29uZmlnL2FwaSc7XHJcbmltcG9ydCB7IFZhbHVlQ29tcG9uZW50IH0gZnJvbSAnYXJpbC91aS92YWx1ZSc7XHJcblxyXG5pbXBvcnQgeyBBc3NldEFnZ3JlZ2F0ZSwgQXR0cmlidXRlRWxlbWVudCB9IGZyb20gJy4vaW50ZXJmYWNlJztcclxuXHJcbi8qKlxyXG4gKiBBIGNvbXBvbmVudCB0byBkaXNwbGF5IGRldGFpbGVkIHRvb2x0aXBzIHdpdGggY29uZmlndXJhYmxlIHBvc2l0aW9uLCBldmVudCB0cmlnZ2VycywgYW5kIGRlbGF5cy5cclxuICovXHJcbkBDb21wb25lbnQoe1xyXG5cdHNlbGVjdG9yOiAnYXJpbC1kZXRhaWxlZC1vdmV5bGF5LXBhbmVsJyxcclxuXHRzdGFuZGFsb25lOiB0cnVlLFxyXG5cdGltcG9ydHM6IFtUb29sdGlwTW9kdWxlLCBQcm9ncmVzc1NwaW5uZXJNb2R1bGUsIFZhbHVlQ29tcG9uZW50LCBUb29sdGlwTW9kdWxlXSxcclxuXHR0ZW1wbGF0ZVVybDogJy4vZGV0YWlsZWQtb3ZlcmxheS1wYW5lbC5jb21wb25lbnQuaHRtbCcsXHJcblx0c3R5bGVVcmw6ICcuL2RldGFpbGVkLW92ZXJsYXktcGFuZWwuY29tcG9uZW50LnNjc3MnLFxyXG5cdGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBEZXRhaWxlZE92ZXJsYXlQYW5lbENvbXBvbmVudCB7XHJcblx0YXNzZXRJZCA9IGlucHV0LnJlcXVpcmVkPGFueT4oKTtcclxuXHRzdHlsZSA9IGlucHV0PGFueT4oe30pO1xyXG5cdHN0eWxlQ2xhc3MgPSBpbnB1dDxzdHJpbmc+KCcnKTtcclxuXHRjb2x1bW5zID0gaW5wdXQ8eyBmaWVsZDogc3RyaW5nOyBoZWFkZXI6IHN0cmluZyB9W10+KFtdKTtcclxuXHR0YWJsZURhdGE6IEFzc2V0QWdncmVnYXRlID0ge30gYXMgQXNzZXRBZ2dyZWdhdGU7XHJcblx0bG9hZGluZyA9IGZhbHNlO1xyXG5cdGluZm9BdHRyaWJ1dGVzOiBBdHRyaWJ1dGVFbGVtZW50W10gPSBbXTtcclxuXHR0YWJsZURhdGFDYWNoZTogeyBbYXNzZXRJZDogc3RyaW5nXTogQXNzZXRBZ2dyZWdhdGUgfSA9IHt9O1xyXG5cclxuXHRjb25zdHJ1Y3RvcihcclxuXHRcdHByaXZhdGUgcmVhZG9ubHkgaHR0cDogSHR0cENsaWVudCxcclxuXHRcdHByaXZhdGUgcmVhZG9ubHkgY2RyOiBDaGFuZ2VEZXRlY3RvclJlZlxyXG5cdCkge31cclxuXHJcblx0YXN5bmMgb25Ib3ZlcigpIHtcclxuXHRcdGlmICh0aGlzLnRhYmxlRGF0YUNhY2hlW3RoaXMuYXNzZXRJZCgpXSkge1xyXG5cdFx0XHR0aGlzLnRhYmxlRGF0YSA9IHRoaXMudGFibGVEYXRhQ2FjaGVbdGhpcy5hc3NldElkKCldO1xyXG5cdFx0XHR0aGlzLmluZm9BdHRyaWJ1dGVzID0gdGhpcy50YWJsZURhdGEuYXR0cmlidXRlcztcclxuXHRcdFx0cmV0dXJuO1xyXG5cdFx0fVxyXG5cdFx0dGhpcy5sb2FkaW5nID0gdHJ1ZTtcclxuXHRcdHRyeSB7XHJcblx0XHRcdGNvbnN0IGhvc3RBcGkgPSBBUElfQ09ORklHUy5hcGkucmVwbGFjZSgvXFwvW14vXStcXC92MSQvLCBgL2hvc3QvdjFgKTtcclxuXHRcdFx0Y29uc3QgcmVzdWx0ID0gYXdhaXQgZmlyc3RWYWx1ZUZyb20oXHJcblx0XHRcdFx0dGhpcy5odHRwLmdldDxBc3NldEFnZ3JlZ2F0ZT4oYCR7aG9zdEFwaX0vbWFzdGVyLWRhdGEvJHt0aGlzLmFzc2V0SWQoKX0vaG92ZXJgKVxyXG5cdFx0XHQpO1xyXG5cclxuXHRcdFx0aWYgKHJlc3VsdCkge1xyXG5cdFx0XHRcdHRoaXMudGFibGVEYXRhQ2FjaGVbdGhpcy5hc3NldElkKCldID0gcmVzdWx0O1xyXG5cdFx0XHRcdHRoaXMudGFibGVEYXRhID0gcmVzdWx0O1xyXG5cdFx0XHRcdHRoaXMuaW5mb0F0dHJpYnV0ZXMgPSByZXN1bHQuYXR0cmlidXRlcztcclxuXHRcdFx0fVxyXG5cdFx0XHR0aGlzLmxvYWRpbmcgPSBmYWxzZTtcclxuXHRcdFx0dGhpcy5jZHIubWFya0ZvckNoZWNrKCk7XHJcblx0XHR9IGNhdGNoIChlcnJvcikge1xyXG5cdFx0XHRjb25zb2xlLmVycm9yKCdFcnJvciBmZXRjaGluZyBhc3NldCBkZXRhaWw6JywgZXJyb3IpO1xyXG5cdFx0XHR0aGlzLmxvYWRpbmcgPSBmYWxzZTtcclxuXHRcdH1cclxuXHR9XHJcbn1cclxuIiwiPHNwYW5cclxuXHQjc3BhblJlZlxyXG5cdChtb3VzZWVudGVyKT1cIm9uSG92ZXIoKVwiXHJcblx0W3BUb29sdGlwXT1cInRvb2x0aXBDb250ZW50XCJcclxuXHRbYXV0b0hpZGVdPVwiZmFsc2VcIlxyXG5cdHRvb2x0aXBTdHlsZUNsYXNzPVwiZGV0YWlsZWQtb3ZlcmxheS10b29sdGlwXCI+XHJcblx0PG5nLWNvbnRlbnQgLz5cclxuPC9zcGFuPlxyXG5cclxuPG5nLXRlbXBsYXRlICN0b29sdGlwQ29udGVudD5cclxuXHRAaWYgKGxvYWRpbmcpIHtcclxuXHRcdDxwLXByb2dyZXNzU3Bpbm5lciBzdHlsZUNsYXNzPVwidy00cmVtIGgtNHJlbVwiIHN0cm9rZVdpZHRoPVwiOFwiIC8+XHJcblx0fSBAZWxzZSB7XHJcblx0XHQ8ZGl2IGNsYXNzPVwidy1mdWxsIG1iLTJcIj5cclxuXHRcdFx0PHAgY2xhc3M9XCJmb250LXNlbWlib2xkXCI+e3sgdGFibGVEYXRhLmFzc2V0RGVmaW5pdGlvbk5hbWUgfX0gLyB7eyB0YWJsZURhdGEuYXNzZXREZWZpbml0aW9uQ29kZSB9fTwvcD5cclxuXHRcdDwvZGl2PlxyXG5cdFx0PHRhYmxlIGNsYXNzPVwidy1mdWxsXCI+XHJcblx0XHRcdEBmb3IgKGluZm9BdHRyaWJ1dGUgb2YgaW5mb0F0dHJpYnV0ZXM7IHRyYWNrIGluZm9BdHRyaWJ1dGUpIHtcclxuXHRcdFx0XHQ8dHI+XHJcblx0XHRcdFx0XHQ8dGQ+XHJcblx0XHRcdFx0XHRcdHt7IGluZm9BdHRyaWJ1dGUuYXR0cmlidXRlLmF0dHJpYnV0ZU5hbWUgfX1cclxuXHRcdFx0XHRcdDwvdGQ+XHJcblx0XHRcdFx0XHQ8dGQ+XHJcblx0XHRcdFx0XHRcdDxwIGNsYXNzPVwiZm9udC1ib2xkIG0tMFwiPlxyXG5cdFx0XHRcdFx0XHRcdEBzd2l0Y2ggKGluZm9BdHRyaWJ1dGUuYXR0cmlidXRlLmF0dHJpYnV0ZVR5cGUpIHtcclxuXHRcdFx0XHRcdFx0XHRcdEBjYXNlICgnREFURScpIHtcclxuXHRcdFx0XHRcdFx0XHRcdFx0PGFyaWwtdmFsdWUgdHlwZT1cImRhdGVcIiBbbW9kZWxdPVwiaW5mb0F0dHJpYnV0ZT8udmFsdWVcIiBmb3JtYXQ9XCJkYXlcIiAvPlxyXG5cdFx0XHRcdFx0XHRcdFx0fVxyXG5cdFx0XHRcdFx0XHRcdFx0QGNhc2UgKCdEQVRFX1RJTUUnKSB7XHJcblx0XHRcdFx0XHRcdFx0XHRcdDxhcmlsLXZhbHVlIHR5cGU9XCJkYXRlXCIgW21vZGVsXT1cImluZm9BdHRyaWJ1dGU/LnZhbHVlXCIgZm9ybWF0PVwic2Vjb25kXCIgLz5cclxuXHRcdFx0XHRcdFx0XHRcdH1cclxuXHRcdFx0XHRcdFx0XHRcdEBjYXNlICgnQk9PTEVBTicpIHtcclxuXHRcdFx0XHRcdFx0XHRcdFx0QGlmIChpbmZvQXR0cmlidXRlLnZhbHVlID09PSAndHJ1ZScpIHtcclxuXHRcdFx0XHRcdFx0XHRcdFx0XHQ8YXJpbC12YWx1ZSB0eXBlPVwidGV4dFwiIG1vZGVsPVwiVmFyXCIgLz5cclxuXHRcdFx0XHRcdFx0XHRcdFx0fSBAZWxzZSB7XHJcblx0XHRcdFx0XHRcdFx0XHRcdFx0PGFyaWwtdmFsdWUgdHlwZT1cInRleHRcIiBtb2RlbD1cIllva1wiIC8+XHJcblx0XHRcdFx0XHRcdFx0XHRcdH1cclxuXHRcdFx0XHRcdFx0XHRcdH1cclxuXHRcdFx0XHRcdFx0XHRcdEBkZWZhdWx0IHtcclxuXHRcdFx0XHRcdFx0XHRcdFx0PGFyaWwtdmFsdWVcclxuXHRcdFx0XHRcdFx0XHRcdFx0XHR0eXBlPVwidGV4dFwiXHJcblx0XHRcdFx0XHRcdFx0XHRcdFx0W21vZGVsXT1cImluZm9BdHRyaWJ1dGUudmFsdWVEZXNjID8gaW5mb0F0dHJpYnV0ZS52YWx1ZURlc2MgOiBpbmZvQXR0cmlidXRlLnZhbHVlXCJcclxuXHRcdFx0XHRcdFx0XHRcdFx0XHRbc2hvdWxkU2hvd0NvcHlGb3JDbGFtcGVkVGV4dF09XCJ0cnVlXCIgLz5cclxuXHRcdFx0XHRcdFx0XHRcdH1cclxuXHRcdFx0XHRcdFx0XHR9XHJcblx0XHRcdFx0XHRcdDwvcD5cclxuXHRcdFx0XHRcdDwvdGQ+XHJcblx0XHRcdFx0PC90cj5cclxuXHRcdFx0fVxyXG5cdFx0PC90YWJsZT5cclxuXHR9XHJcbjwvbmctdGVtcGxhdGU+XHJcbiJdfQ==
|