aril 1.1.74 → 1.1.76
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/theme/layout/app/layout/app.layout.component.mjs +3 -5
- package/esm2022/ui/lib/src/input/input-error-message.pipe.mjs +7 -1
- package/esm2022/ui/table/src/table.component.mjs +18 -9
- package/esm2022/ui-business/notification-templates-dialog/src/notification-templates-dialog.component.mjs +2 -2
- package/esm2022/util/lib/index.mjs +2 -1
- package/esm2022/util/lib/src/validators/identity.validator.mjs +91 -0
- package/esm2022/util/lib/src/validators/index.mjs +2 -1
- package/esm2022/util/lib/src/validators/validators.mjs +17 -2
- package/fesm2022/aril-theme-layout.mjs +15 -139
- package/fesm2022/aril-theme-layout.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-lib.mjs +6 -0
- package/fesm2022/aril-ui-lib.mjs.map +1 -1
- package/fesm2022/aril-ui-table.mjs +16 -7
- package/fesm2022/aril-ui-table.mjs.map +1 -1
- package/fesm2022/aril-util-lib.mjs +107 -1
- package/fesm2022/aril-util-lib.mjs.map +1 -1
- package/package.json +137 -137
- package/theme/layout/app/layout/app.layout.component.html +0 -1
- package/theme/layout/app/layout/app.layout.component.ts +0 -2
- package/theme/styles/layout/_breadcrumb.scss +1 -1
- package/theme/styles/theme/base/components/panel/_tabview.scss +1 -1
- package/ui/table/src/table.component.d.ts +4 -3
- package/util/lib/index.d.ts +1 -0
- package/util/lib/src/validators/identity.validator.d.ts +33 -0
- package/util/lib/src/validators/index.d.ts +1 -0
- package/util/lib/src/validators/validators.d.ts +5 -0
- package/esm2022/theme/layout/app/chatbot/app.chatbot.component.mjs +0 -140
- package/theme/layout/app/chatbot/app.chatbot.component.d.ts +0 -35
- package/theme/layout/app/chatbot/app.chatbot.component.html +0 -108
- package/theme/layout/app/chatbot/app.chatbot.component.scss +0 -35
- package/theme/layout/app/chatbot/app.chatbot.component.ts +0 -151
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"aril-ui-table.mjs","sources":["../../projects/aril/ui/table/src/interfaces.ts","../../projects/aril/ui/table/src/export-overlay-panel.component.ts","../../projects/aril/ui/table/src/table-column.component.ts","../../projects/aril/ui/table/src/table.component.ts","../../projects/aril/ui/table/src/table.component.html","../../projects/aril/ui/table/index.ts","../../projects/aril/ui/table/aril-ui-table.ts"],"sourcesContent":["import { InputSignal, TemplateRef } from '@angular/core';\r\nimport { FormArray, FormControl, FormGroup } from '@angular/forms';\r\n\r\nimport { Apps } from 'aril/boot/config/apps';\r\n\r\n/**\r\n * `exportLabel` dosya ismi\r\n *\r\n * `route` service path\r\n *\r\n * `params` service payload\r\n *\r\n * `dateColumnFormatMap` column value Date ise format verilmeli {@link DateFormat}\r\n *\r\n * `computedColumnMap` jsonPath ({@link https://github.com/json-path/JsonPath}) formatında yeni field tanımlamak için kullanılır.\r\n *\r\n * `excludedFields` export edilmemesi istenen field'lar\r\n *\r\n * @see {@link https://aril.atlassian.net/wiki/spaces/NTD/pages/842203139/Batch+Excel+CSV+Export+From+Controllers}\r\n *\r\n * @usageNotes\r\n * ### Kullanım Örneği\r\n *\r\n * ```\r\n * <i role=\"button\" class=\"pi pi-file-export\" (click)=\"tableRef.toggleExport($event)\"></i>\r\n *\r\n * <aril-table\r\n * #tableRef\r\n * [exportConfig]=\"{\r\n *\t\t\texportLabel: 'Tüketim Listesi',\r\n *\t\t\troute: 'consumptions/search',\r\n *\t\t\tparams: [form.value],\r\n *\t\t\texcludedFields: ['id']\r\n *\t\t\tdateColumnFormatMap: { startDate: DateFormat.Year, endDate: DateFormat.Hour },\r\n *\t\t\tcolumnFieldValueMap: { status: { groupName: 'InvoiceStatus' } }\r\n * }\">\r\n * ```\r\n */\r\nexport interface ExportOptions extends Omit<ExportRequest, 'exportType'> {\r\n\texcludedFields?: string[];\r\n}\r\n\r\nexport enum DateFormat {\r\n\tHour = 'HH:mm',\r\n\tTime = 'dd/MMMM/yyyy HH:mm',\r\n\tSecond = 'dd/MMMM/yyyy HH:mm:ss',\r\n\tMinute = 'dd/MMMM/yyyy HH:mm',\r\n\tDay = 'dd/MMMM/yyyy',\r\n\tOnlyDay = 'dd',\r\n\tMonth = 'MMMM/yyyy',\r\n\tMonthInt = 'MM/yyyy',\r\n\tOnlyMonth = 'MMMM',\r\n\tYear = 'yyyy'\r\n}\r\n\r\nexport enum ExportType {\r\n\tCsv = 'CSV',\r\n\tExcel = 'EXCEL'\r\n}\r\n\r\nexport interface ExportRequest {\r\n\tcustomReqUrl?: Apps; //is added externally\r\n\texportType: ExportType;\r\n\texportLabel: string;\r\n\troute: string;\r\n\ttreeChildName?: string;\r\n\tpageSize?: number;\r\n\tparams: Array<any>;\r\n\theaderNames: string[];\r\n\toutputFields: string[];\r\n\tcolumnFieldValueMap?: ColumnFieldValueMap;\r\n\tdateColumnFormatMap?: DateColumnFormatMap;\r\n\tcomputedColumnMap?: ComputedColumnMap;\r\n\tnumberColumnScaleMap?: NumberColumnScaleValue;\r\n}\r\n\r\nexport interface ExportForm {\r\n\texportType: FormControl<ExportType>;\r\n\texportLabel: FormControl<string>;\r\n\tcolumns: FormArray<FormGroup<ColForm>>;\r\n}\r\n\r\nexport interface ColForm {\r\n\tchecked: FormControl<boolean>;\r\n\ttitle: FormControl<string>;\r\n\tdataKey: FormControl<string>;\r\n}\r\n\r\nexport interface ColumnFieldValueMap {\r\n\t[key: string]: ColumnFieldValueMapValue;\r\n}\r\n\r\ninterface ColumnFieldValueMapValue {\r\n\tgroupName: string;\r\n\tparentSelectionKey?: string;\r\n}\r\n\r\ninterface ComputedColumnMap {\r\n\t[key: string]: string;\r\n}\r\n\r\ninterface DateColumnFormatMap {\r\n\t[key: string]: DateFormat;\r\n}\r\n\r\nexport interface NumberColumnScaleValue {\r\n\t[key: string]: NumberColumnScaleMapValue;\r\n}\r\nexport interface NumberColumnScaleMapValue {\r\n\troundingMode: 'UP' | 'DOWN' | 'CEILING' | 'FLOOR' | 'HALF_UP' | 'HALF_DOWN' | 'HALF_EVEN'; // roundingMode değerleri\r\n\tscale: number;\r\n}\r\n\r\nexport interface ArilfieldFilter {\r\n\tfieldId: number | string;\r\n\toperand: FilterOperand;\r\n\tvalue: any;\r\n}\r\n\r\nexport enum FilterOperand {\r\n\tEQ = 'EQ',\r\n\tNOT_EQ = 'NOT_EQ',\r\n\tIS_NULL = 'IS_NULL',\r\n\tIS_NOT_NULL = 'IS_NOT_NULL',\r\n\tIN = 'IN',\r\n\tNOT_IN = 'NOT_IN',\r\n\tLT = 'LT',\r\n\tGT = 'GT',\r\n\tLTE = 'LTE',\r\n\tGTE = 'GTE',\r\n\tSTARTS = 'STARTS',\r\n\tENDS = 'ENDS',\r\n\tLIKE = 'LIKE',\r\n\tNOT_LIKE = 'NOT_LIKE'\r\n}\r\n\r\nexport enum ColumnFilterTypeEnum {\r\n\tTEXT = 'text',\r\n\tNUMERIC = 'numeric',\r\n\tDATE = 'date',\r\n\tBOOLEAN = 'boolean',\r\n\tENUM = 'enum'\r\n}\r\n\r\nexport interface TableColumns {\r\n\t[x: string]: any;\r\n\t_results: Array<TableColumn>;\r\n}\r\n\r\nexport interface TableColumn {\r\n\tfield: InputSignal<string>;\r\n\theader: InputSignal<string>;\r\n\ttype: InputSignal<ValueTypes>;\r\n\tisOperation?: boolean;\r\n\tisShowHeaderTooltip?: boolean;\r\n\ttooltipTemplate?: TemplateRef<any>;\r\n\ttemplate: TemplateRef<any>;\r\n\twidth?: string;\r\n}\r\n\r\nexport type ValueTypes = 'text' | 'numeric' | 'date' | 'boolean' | 'custom' | 'operations' | 'json' | 'long-text';\r\nexport type AlignTypes = 'left' | 'right' | 'center';\r\n","import { HttpClient } from '@angular/common/http';\r\nimport { Component, ViewChild, effect, input, signal } from '@angular/core';\r\nimport { FormGroup, FormsModule, NonNullableFormBuilder, ReactiveFormsModule, Validators } from '@angular/forms';\r\n\r\nimport { MessageService } from 'primeng/api';\r\nimport { OrderListModule } from 'primeng/orderlist';\r\nimport { OverlayPanel, OverlayPanelModule } from 'primeng/overlaypanel';\r\nimport { ToastModule } from 'primeng/toast';\r\nimport { TooltipModule } from 'primeng/tooltip';\r\n\r\nimport { TranslocoService } from '@ngneat/transloco';\r\nimport { saveAs } from 'file-saver';\r\nimport {\r\n\tcatchError,\r\n\tconcatMap,\r\n\tfilter,\r\n\tfinalize,\r\n\tfirstValueFrom,\r\n\tfrom,\r\n\tinterval,\r\n\tmap,\r\n\tswitchMap,\r\n\ttake,\r\n\tthrowError,\r\n\ttoArray\r\n} from 'rxjs';\r\n\r\nimport { API_CONFIGS } from 'aril/boot/config/api';\r\nimport { SelectionGroupService } from 'aril/theme/layout';\r\nimport { ButtonComponent } from 'aril/ui/button';\r\nimport { CheckboxComponent } from 'aril/ui/checkbox';\r\nimport { FieldComponent } from 'aril/ui/field';\r\nimport { ARiLFormModule } from 'aril/ui/form';\r\nimport { RadioButtonComponent } from 'aril/ui/radioButton';\r\nimport { TextComponent } from 'aril/ui/text';\r\n\r\nimport {\r\n\tColForm,\r\n\tColumnFieldValueMap,\r\n\tExportForm,\r\n\tExportOptions,\r\n\tExportRequest,\r\n\tExportType,\r\n\tTableColumns\r\n} from './interfaces';\r\n\r\n@Component({\r\n\tstandalone: true,\r\n\tselector: 'aril-export-overlay-panel',\r\n\timports: [\r\n\t\tARiLFormModule,\r\n\t\tButtonComponent,\r\n\t\tCheckboxComponent,\r\n\t\tFieldComponent,\r\n\t\tFormsModule,\r\n\t\tOrderListModule,\r\n\t\tOverlayPanelModule,\r\n\t\tRadioButtonComponent,\r\n\t\tReactiveFormsModule,\r\n\t\tTextComponent,\r\n\t\tToastModule,\r\n\t\tTooltipModule\r\n\t],\r\n\ttemplate: `\r\n\t\t<p-overlayPanel styleClass=\"export-overlay-panel\" [baseZIndex]=\"1101\">\r\n\t\t\t@if (exportForm) {\r\n\t\t\t\t<aril-form [formGroup]=\"exportForm\" class=\"w-20rem\">\r\n\t\t\t\t\t<aril-field [label]=\"'Dosya Tipi'\" [cols]=\"{ default: 12 }\">\r\n\t\t\t\t\t\t<aril-radio-button formControlName=\"exportType\" [options]=\"exportTypeOptions\" />\r\n\t\t\t\t\t</aril-field>\r\n\r\n\t\t\t\t\t<aril-field [label]=\"'Dosya İsmi'\" [cols]=\"{ default: 12 }\">\r\n\t\t\t\t\t\t<aril-text class=\"w-full\" formControlName=\"exportLabel\" />\r\n\t\t\t\t\t</aril-field>\r\n\r\n\t\t\t\t\t@if (exportForm.controls.columns.length) {\r\n\t\t\t\t\t\t<ng-container formArrayName=\"columns\">\r\n\t\t\t\t\t\t\t<p-orderList\r\n\t\t\t\t\t\t\t\t#orderListRef\r\n\t\t\t\t\t\t\t\tclass=\"col-12\"\r\n\t\t\t\t\t\t\t\t[value]=\"exportForm.controls.columns.controls\"\r\n\t\t\t\t\t\t\t\t[listStyle]=\"{ 'max-height': '20rem' }\"\r\n\t\t\t\t\t\t\t\tfilterBy=\"value.title\"\r\n\t\t\t\t\t\t\t\t[disabled]=\"isLoadingForExport()\">\r\n\t\t\t\t\t\t\t\t<ng-template pTemplate=\"filter\">\r\n\t\t\t\t\t\t\t\t\t<div class=\"flex align-items-center gap-3\">\r\n\t\t\t\t\t\t\t\t\t\t<aril-checkbox\r\n\t\t\t\t\t\t\t\t\t\t\t[label]=\"''\"\r\n\t\t\t\t\t\t\t\t\t\t\t[ngModel]=\"isAllSelected\"\r\n\t\t\t\t\t\t\t\t\t\t\t[ngModelOptions]=\"{ standalone: true }\"\r\n\t\t\t\t\t\t\t\t\t\t\t(ngModelChange)=\"onSelectAll($event)\"\r\n\t\t\t\t\t\t\t\t\t\t\t[disabled]=\"isLoadingForExport()\" />\r\n\r\n\t\t\t\t\t\t\t\t\t\t<div class=\"p-orderlist-filter\" [attr.data-pc-section]=\"'filter'\">\r\n\t\t\t\t\t\t\t\t\t\t\t<input\r\n\t\t\t\t\t\t\t\t\t\t\t\t#filter\r\n\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\trole=\"textbox\"\r\n\t\t\t\t\t\t\t\t\t\t\t\t(keyup)=\"orderListRef.onFilterKeyup($event)\"\r\n\t\t\t\t\t\t\t\t\t\t\t\t[disabled]=\"orderListRef.disabled\"\r\n\t\t\t\t\t\t\t\t\t\t\t\tclass=\"p-orderlist-filter-input p-inputtext p-component\" />\r\n\t\t\t\t\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t\t\t</ng-template>\r\n\t\t\t\t\t\t\t\t<ng-template let-col pTemplate=\"item\">\r\n\t\t\t\t\t\t\t\t\t<aril-checkbox [label]=\"col.value.title\" [formControl]=\"col.controls.checked\" />\r\n\t\t\t\t\t\t\t\t</ng-template>\r\n\t\t\t\t\t\t\t</p-orderList>\r\n\t\t\t\t\t\t</ng-container>\r\n\t\t\t\t\t}\r\n\r\n\t\t\t\t\t<aril-button\r\n\t\t\t\t\t\tclass=\"col-12\"\r\n\t\t\t\t\t\t[label]=\"translocoService.translate('navigateToExportRequests')\"\r\n\t\t\t\t\t\tcolor=\"secondary\"\r\n\t\t\t\t\t\t(clickEvent)=\"nativateToExportRequests()\" />\r\n\r\n\t\t\t\t\t<aril-button\r\n\t\t\t\t\t\tclass=\"col-12\"\r\n\t\t\t\t\t\t[label]=\"translocoService.translate('messages.export')\"\r\n\t\t\t\t\t\tcolor=\"primary\"\r\n\t\t\t\t\t\t(clickEvent)=\"export()\"\r\n\t\t\t\t\t\t[disabled]=\"isLoadingForExport()\" />\r\n\t\t\t\t</aril-form>\r\n\t\t\t}\r\n\t\t</p-overlayPanel>\r\n\t`\r\n})\r\nexport class ExportOverlayPanelComponent {\r\n\t@ViewChild(OverlayPanel) op!: OverlayPanel;\r\n\r\n\t/**\r\n\t * @see {@link ExportOptions}\r\n\t */\r\n\texportConfig = input.required<ExportOptions>();\r\n\tcolumns = input<TableColumns>();\r\n\r\n\texportForm!: FormGroup<ExportForm>;\r\n\texportTypeOptions = [\r\n\t\t{ key: ExportType.Excel, label: 'Excel', fileExtension: '.xlsx' },\r\n\t\t{ key: ExportType.Csv, label: 'Csv', fileExtension: '.csv' }\r\n\t];\r\n\tisLoadingForExport = signal<boolean>(false);\r\n\tisAllSelected = true;\r\n\r\n\tconstructor(\r\n\t\tprivate http: HttpClient,\r\n\t\tprivate fb: NonNullableFormBuilder,\r\n\t\tprivate messageService: MessageService,\r\n\t\tpublic translocoService: TranslocoService,\r\n\t\tprivate selectionGroupService: SelectionGroupService\r\n\t) {\r\n\t\teffect(() => {\r\n\t\t\tif (this.exportConfig()) {\r\n\t\t\t\tthis.createExportForm();\r\n\t\t\t}\r\n\t\t});\r\n\t}\r\n\r\n\tprivate createExportForm(): void {\r\n\t\tconst { exportLabel } = this.exportConfig()!;\r\n\r\n\t\tthis.exportForm = this.fb.group<ExportForm>({\r\n\t\t\texportType: this.fb.control(ExportType.Excel, Validators.required),\r\n\t\t\texportLabel: this.fb.control(exportLabel, Validators.required),\r\n\t\t\tcolumns: this.fb.array<FormGroup<ColForm>>([])\r\n\t\t});\r\n\r\n\t\tthis.columns()\r\n\t\t\t?._results.filter((col) => col.type() !== 'operations')\r\n\t\t\t.filter((col) => {\r\n\t\t\t\tconst exportConfig = this.exportConfig();\r\n\t\t\t\tconst excludedFields = exportConfig?.excludedFields ?? [];\r\n\r\n\t\t\t\treturn !excludedFields.includes(col.field());\r\n\t\t\t})\r\n\t\t\t.forEach((col) => {\r\n\t\t\t\tconst colGroup = this.fb.group<ColForm>({\r\n\t\t\t\t\tchecked: this.fb.control(true),\r\n\t\t\t\t\ttitle: this.fb.control(col.header()),\r\n\t\t\t\t\tdataKey: this.fb.control(col.field())\r\n\t\t\t\t});\r\n\r\n\t\t\t\tthis.exportForm.controls.columns.push(colGroup);\r\n\t\t\t});\r\n\r\n\t\tthis.exportForm.controls.columns.valueChanges.subscribe((t) => (this.isAllSelected = t.every((a) => a.checked)));\r\n\t}\r\n\r\n\tget hostUrl(): string {\r\n\t\treturn `${globalThis.location.protocol}//${globalThis.location.host}`;\r\n\t}\r\n\r\n\tget currentPageReportText(): string {\r\n\t\tconst total = this.translocoService.translate('table.total');\r\n\t\tconst record = this.translocoService.translate('table.records');\r\n\t\tconst page = this.translocoService.translate('table.page');\r\n\t\treturn `${total} : {totalRecords} ${record} | ${page} : {currentPage} / {totalPages}`;\r\n\t}\r\n\r\n\tasync export() {\r\n\t\tconst { exportType, exportLabel, columns } = this.exportForm.value;\r\n\t\tconst {\r\n\t\t\troute,\r\n\t\t\tparams,\r\n\t\t\tpageSize,\r\n\t\t\tcolumnFieldValueMap,\r\n\t\t\tdateColumnFormatMap,\r\n\t\t\tcomputedColumnMap,\r\n\t\t\tcustomReqUrl,\r\n\t\t\tnumberColumnScaleMap,\r\n\t\t\ttreeChildName,\r\n\t\t\theaderNames,\r\n\t\t\toutputFields\r\n\t\t} = this.exportConfig()!;\r\n\r\n\t\tconst checkedColumns = columns!.filter((t) => t.checked);\r\n\t\tconst fileExtension = this.exportTypeOptions.find((t) => t.key === exportType)?.fileExtension;\r\n\r\n\t\tlet columnFieldValueMapObj: ColumnFieldValueMap | undefined;\r\n\r\n\t\tthis.isLoadingForExport.set(true);\r\n\t\tthis.exportForm.disable();\r\n\r\n\t\tthis.messageService.add({\r\n\t\t\tseverity: 'success',\r\n\t\t\tkey: 'export-toast',\r\n\t\t\tsummary: this.translocoService.translate('messages.exporting'),\r\n\t\t\tdetail: this.translocoService.translate('messages.exportingDetail', {\r\n\t\t\t\turl: `${this.hostUrl}/#/mng/control-management/export-requests`\r\n\t\t\t}),\r\n\t\t\tlife: 10 * 1000\r\n\t\t});\r\n\t\tthis.op?.hide();\r\n\r\n\t\tif (columnFieldValueMap) {\r\n\t\t\tconst tempObj = {} as ColumnFieldValueMap;\r\n\r\n\t\t\tawait firstValueFrom(\r\n\t\t\t\tfrom(Object.entries(columnFieldValueMap)).pipe(\r\n\t\t\t\t\tconcatMap(([fieldName, value]) => {\r\n\t\t\t\t\t\tif (\r\n\t\t\t\t\t\t\t!this.selectionGroupService.selectionGroups()[`${value.groupName}~${value.parentSelectionKey ?? 'ALL'}`]\r\n\t\t\t\t\t\t) {\r\n\t\t\t\t\t\t\tthis.selectionGroupService.fetchEnum(value.groupName, value.parentSelectionKey);\r\n\t\t\t\t\t\t}\r\n\r\n\t\t\t\t\t\tconst key = value.groupName + '~' + (value.parentSelectionKey ?? 'ALL');\r\n\r\n\t\t\t\t\t\treturn interval(10).pipe(\r\n\t\t\t\t\t\t\tfilter(() => !this.selectionGroupService.isLoading(key)),\r\n\t\t\t\t\t\t\ttake(1),\r\n\t\t\t\t\t\t\tmap(() => {\r\n\t\t\t\t\t\t\t\tconst selectionGroup = this.selectionGroupService.selectionGroups()[key];\r\n\t\t\t\t\t\t\t\tif (selectionGroup) {\r\n\t\t\t\t\t\t\t\t\ttempObj[fieldName] = selectionGroup.selectionItems.reduce((acc: Record<string, string>, item) => {\r\n\t\t\t\t\t\t\t\t\t\tacc[item.selectionKey] = item.selectionDisplay;\r\n\t\t\t\t\t\t\t\t\t\treturn acc;\r\n\t\t\t\t\t\t\t\t\t\t// eslint-disable-next-line @typescript-eslint/no-explicit-any\r\n\t\t\t\t\t\t\t\t\t}, {}) as any;\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);\r\n\t\t\t\t\t}),\r\n\t\t\t\t\ttoArray(),\r\n\t\t\t\t\tfinalize(() => {\r\n\t\t\t\t\t\tcolumnFieldValueMapObj = tempObj;\r\n\t\t\t\t\t})\r\n\t\t\t\t)\r\n\t\t\t);\r\n\t\t}\r\n\r\n\t\tconst request: ExportRequest = {\r\n\t\t\troute: route!,\r\n\t\t\tparams: params!,\r\n\t\t\tpageSize: pageSize!,\r\n\t\t\texportType: exportType!,\r\n\t\t\texportLabel: exportLabel!,\r\n\t\t\tcomputedColumnMap: computedColumnMap!,\r\n\t\t\tdateColumnFormatMap: dateColumnFormatMap!,\r\n\t\t\tcolumnFieldValueMap: columnFieldValueMapObj!,\r\n\t\t\tnumberColumnScaleMap: numberColumnScaleMap ?? {},\r\n\t\t\theaderNames: headerNames ?? checkedColumns.map((col) => col.title!),\r\n\t\t\toutputFields: outputFields ?? checkedColumns.map((col) => col.dataKey!),\r\n\t\t\ttreeChildName: treeChildName!\r\n\t\t};\r\n\r\n\t\tconst apiUrl = customReqUrl ? API_CONFIGS.api.replace(/\\/[^\\/]+\\/v1$/, `/${customReqUrl}/v1`) : API_CONFIGS.api;\r\n\t\tconst response = await firstValueFrom(\r\n\t\t\tthis.http.post<{ success: boolean; url: string }>(`${apiUrl}/batch-exporters/export`, request).pipe(\r\n\t\t\t\tswitchMap((res) =>\r\n\t\t\t\t\tthis.http.get(`${apiUrl}/bucket-objects/download`, {\r\n\t\t\t\t\t\tparams: { url: res.url },\r\n\t\t\t\t\t\tresponseType: 'blob'\r\n\t\t\t\t\t})\r\n\t\t\t\t),\r\n\t\t\t\tcatchError((error) => {\r\n\t\t\t\t\tthis.isLoadingForExport.set(false);\r\n\t\t\t\t\tthis.exportForm.enable();\r\n\t\t\t\t\tif (error?.status === 400 || error?.status === 500) {\r\n\t\t\t\t\t\tthis.messageService.add({\r\n\t\t\t\t\t\t\tseverity: 'error',\r\n\t\t\t\t\t\t\tsummary: this.translocoService.translate('messages.exportUrlNotFound'),\r\n\t\t\t\t\t\t\tkey: 'toast-root'\r\n\t\t\t\t\t\t});\r\n\t\t\t\t\t}\r\n\t\t\t\t\treturn throwError(() => error);\r\n\t\t\t\t})\r\n\t\t\t)\r\n\t\t);\r\n\r\n\t\tsaveAs(response, `${exportLabel}-${new Date().getTime()}${fileExtension}`);\r\n\t\tthis.isLoadingForExport.set(false);\r\n\t\tthis.exportForm.enable();\r\n\t\tthis.exportForm.reset();\r\n\t}\r\n\r\n\tonSelectAll(value: boolean): void {\r\n\t\tfor (let i = 0; i < this.exportForm.controls.columns.length; i++) {\r\n\t\t\tconst formGroup = this.exportForm.controls.columns.at(i);\r\n\t\t\tformGroup.controls.checked.setValue(value);\r\n\t\t}\r\n\t}\r\n\r\n\tnativateToExportRequests() {\r\n\t\twindow.location.href = `${this.hostUrl}/#/mng/control-management/export-requests`;\r\n\t}\r\n\r\n\ttoggleExport = (event: Event): void => this.op.toggle(event);\r\n}\r\n","import { Component, ContentChild, TemplateRef, input } from '@angular/core';\r\n\r\nimport { AlignTypes, ColumnFilterTypeEnum, ValueTypes } from './interfaces';\r\n\r\n@Component({\r\n\tselector: 'aril-table-column',\r\n\ttemplate: `<ng-content />`\r\n})\r\nexport class TableColumnComponent {\r\n\ttype = input<ValueTypes>('text');\r\n\tfield = input.required<string | number>();\r\n\theader = input.required<string>();\r\n\ttAlign = input<AlignTypes>();\r\n\tisShowHeaderTooltip = input<boolean>(false);\r\n\ttooltipTemplate = input<TemplateRef<any>>();\r\n\twidth = input<string>();\r\n\tshowFilter = input<boolean>(false);\r\n\tfilterType = input<ColumnFilterTypeEnum>(ColumnFilterTypeEnum.TEXT);\r\n\tshowTimeInDateFilters = input<boolean>(false);\r\n\tenumGroupName = input<string>('');\r\n\t@ContentChild(TemplateRef) template: any;\r\n}\r\n","import {\r\n\tComponent,\r\n\tContentChildren,\r\n\tEventEmitter,\r\n\tInput,\r\n\tOutput,\r\n\tSimpleChanges,\r\n\tViewChild,\r\n\teffect,\r\n\tinput\r\n} from '@angular/core';\r\n\r\nimport { MenuItem } from 'primeng/api';\r\nimport { Table, TableRowReorderEvent } from 'primeng/table';\r\n\r\nimport { TranslocoService } from '@ngneat/transloco';\r\n\r\nimport { ProxyTypes } from 'aril/http';\r\nimport { SelectionGroupService } from 'aril/theme/layout';\r\n\r\nimport { ExportOverlayPanelComponent } from './export-overlay-panel.component';\r\nimport {\r\n\tAlignTypes,\r\n\tArilfieldFilter,\r\n\tColumnFilterTypeEnum,\r\n\tExportOptions,\r\n\tFilterOperand,\r\n\tTableColumns\r\n} from './interfaces';\r\nimport { TableColumnComponent } from './table-column.component';\r\n\r\n/* TODO :\r\n * server-side-proxy (ProxyTypes.ServerSide)\r\n * search & colum filter & sort\r\n * pagination operation\r\n * Query Signals\r\n */\r\nconst pageOptions = [5, 10, 20, 50, 100] as const;\r\n\r\ntype SelectionTypes = 'single' | 'multiple' | null;\r\n\r\n@Component({\r\n\tselector: 'aril-table',\r\n\ttemplateUrl: './table.component.html',\r\n\tstyleUrl: './table.component.scss'\r\n})\r\nexport class TableComponent {\r\n\t@Output() onPageEvent: EventEmitter<any> = new EventEmitter<any>();\r\n\t@Output() selectionEvent: EventEmitter<any> = new EventEmitter<any>();\r\n\t@Output() lazyLoadEvent: EventEmitter<any> = new EventEmitter<any>();\r\n\t@Output() rowReorderEvent = new EventEmitter<TableRowReorderEvent>();\r\n\t@ContentChildren(TableColumnComponent) columns!: TableColumns;\r\n\t@ViewChild(ExportOverlayPanelComponent) exportOp!: ExportOverlayPanelComponent;\r\n\t@ViewChild(Table) tableRef!: Table;\r\n\t@Input() kebabMenuItems: MenuItem[] = [];\r\n\t@Input() expandableFields!: string;\r\n\r\n\tdata = input.required<any[]>();\r\n\tcheckboxSelection = input<boolean>();\r\n\tradioButtonSelection = input<boolean>();\r\n\theaderCheckboxSelection = input<boolean>();\r\n\tpageSize = input<(typeof pageOptions)[number]>(10);\r\n\tproxy = input<ProxyTypes>(ProxyTypes.Native);\r\n\tshowFooter = input<boolean>(false);\r\n\ttAlign = input<AlignTypes>('left');\r\n\tselectionMode = input<SelectionTypes>('single');\r\n\tshowSearchTool = input<boolean>(true);\r\n\tshowExportTool = input<boolean>(true);\r\n\texportFileName = input<string>('');\r\n\tnoDataFoundLabel = input<string>('No Data Found');\r\n\ttableHeader = input<string>('');\r\n\tshowTableHeader = input<boolean>(false);\r\n\tisFirstRowSelected = input<boolean>(false);\r\n\tdataKey = input<string>('');\r\n\tselectedRowsInput = input<any>([]);\r\n\tisLazy = input<boolean>(true);\r\n\ttotalRecords = input<number>(0);\r\n\tpaginator = input<boolean>(true);\r\n\tpaginatorDropdownAppendTo = input<string>('body'); // 'body'| 'myDiv'\r\n\tisColumnExpandMode = input<boolean>(false);\r\n\tisResizableColumns = input<boolean>(false);\r\n\tisSortable = input<boolean>(false);\r\n\thandledSelectionMode: SelectionTypes = 'single';\r\n\tscrollable = input<boolean>(true);\r\n\tscrollHeight = input<string>('460px');\r\n\tsortMode = input<'single' | 'multiple'>('multiple');\r\n\tshowFirstLastIcon = input<boolean>(true);\r\n\trowSelectable = input<(rowData: any) => boolean>(() => true);\r\n\tisShowNoDataFoundMessage = input<boolean>(true);\r\n\treorderableColumns = input<boolean>(false);\r\n\treorderField = input<string>();\r\n\tshowColumnFilters = input<boolean>(false);\r\n\tselectionPageOnly = input<boolean>(false);\r\n\topenSelectionOnSidebar = input<boolean>(false);\r\n\r\n\t// Keeps last clicked sort field and its cycles to enable ASC -> DESC -> NONE\r\n\tprivate lastSortedField: string | null = null;\r\n\tprivate lastSortOrder: 1 | -1 | 0 = 0; // 1: asc, -1: desc, 0: none / we send 2 for desc to backend but primeng keeps -1\r\n\r\n\t/**\r\n\t * @see {@link ExportOptions}\r\n\t */\r\n\texportConfig = input<ExportOptions>();\r\n\r\n\tfilterText!: string;\r\n\tisAllSelected = true;\r\n\tselectedRows: any;\r\n\tpageOptions = pageOptions;\r\n\texportColumns: Array<{ title: string; dataKey: string }> = [];\r\n\tfilterValues: { [key: string]: object | null } = {};\r\n\tprivate requestedEnumKeys = new Set<string>();\r\n\tColumnFilterTypeEnum = ColumnFilterTypeEnum;\r\n\tsidebarVisible = false;\r\n\r\n\tconstructor(\r\n\t\tpublic translocoService: TranslocoService,\r\n\t\tprivate selectionGroupService: SelectionGroupService\r\n\t) {\r\n\t\teffect(() => {\r\n\t\t\tif (this.isFirstRowSelected() && this.data()) {\r\n\t\t\t\tthis.selectedRows = this.data()[0];\r\n\t\t\t\tthis.selectionEvent.emit(this.selectedRows);\r\n\t\t\t}\r\n\t\t});\r\n\r\n\t\teffect(() => {\r\n\t\t\tif (this.selectedRowsInput()) {\r\n\t\t\t\tthis.selectedRows = this.selectedRowsInput();\r\n\t\t\t}\r\n\t\t});\r\n\r\n\t\teffect(() => {\r\n\t\t\tif (this.checkboxSelection() || this.radioButtonSelection()) this.handledSelectionMode = null;\r\n\t\t\telse this.handledSelectionMode = this.selectionMode();\r\n\t\t});\r\n\r\n\t\teffect(() => {\r\n\t\t\tif (this.data()?.length == 10) this.tableRef.rows = 10;\r\n\t\t});\r\n\t}\r\n\r\n\tprivate isInitialLoad = true;\r\n\r\n\tngOnChanges(changes: SimpleChanges): void {\r\n\t\tif (changes['data'] && changes['data'].currentValue !== changes['data'].previousValue) {\r\n\t\t\tif (this.isInitialLoad) {\r\n\t\t\t\tthis.isInitialLoad = false;\r\n\t\t\t\treturn;\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n\r\n\tget currentPageReportText(): string {\r\n\t\tconst total = this.translocoService.translate('table.total');\r\n\t\tconst record = this.translocoService.translate('table.records');\r\n\t\tconst page = this.translocoService.translate('table.page');\r\n\t\treturn `${total} : {totalRecords} ${record} | ${page} : {currentPage} / {totalPages}`;\r\n\t}\r\n\r\n\ttoggleExport = (event: Event): void => this.exportOp.op.toggle(event);\r\n\r\n\thandleLazyLoadEvent(event: any): void {\r\n\t\tconst sortField = event.multiSortMeta?.length ? event.multiSortMeta[0] : null;\r\n\t\tconst arilFilters = this.convertPrimeNgFiltersToStandard(event.filters);\r\n\r\n\t\tconst newEventData = {\r\n\t\t\tpager: {\r\n\t\t\t\tpageSize: event.rows,\r\n\t\t\t\tpageNumber: event.first / event.rows + 1\r\n\t\t\t},\r\n\t\t\tsort:\r\n\t\t\t\tsortField?.field ?\r\n\t\t\t\t\t{\r\n\t\t\t\t\t\tfieldId: sortField?.field,\r\n\t\t\t\t\t\tdirection: sortField?.order === 1 ? 1 : 2 // 1 for asc, 2 for desc\r\n\t\t\t\t\t}\r\n\t\t\t\t:\tnull,\r\n\t\t\tfilters: arilFilters\r\n\t\t};\r\n\t\tthis.lazyLoadEvent.emit(newEventData);\r\n\t}\r\n\r\n\tclear(): void {\r\n\t\tthis.tableRef.value = [];\r\n\t\tthis.tableRef.clear();\r\n\t\tthis.exportOp.op?.hide();\r\n\t}\r\n\r\n\trowReorder(event: TableRowReorderEvent): void {\r\n\t\tif (!this.reorderField()) {\r\n\t\t\tconsole.error('Reorder field is not defined. Please set the reorderField input.');\r\n\t\t\treturn;\r\n\t\t} else if (!((this.reorderField() as string) in this.data()[0])) {\r\n\t\t\tconsole.error(`Reorder field \"${this.reorderField()}\" does not exist in the data items.`);\r\n\t\t\treturn;\r\n\t\t}\r\n\r\n\t\tthis.data().forEach((item, index) => {\r\n\t\t\titem[this.reorderField() as string] = index + 1;\r\n\t\t});\r\n\r\n\t\tthis.rowReorderEvent.emit(event);\r\n\t}\r\n\r\n\tgetFilterValue(field: string): any {\r\n\t\treturn this.filterValues[field] || null;\r\n\t}\r\n\r\n\tonFilterChange(value: object, _filterCallback: any, field: string) {\r\n\t\tthis.filterValues[field] = value;\r\n\t}\r\n\r\n\tapplyFilter(filterCallback: (value: any) => void, field: string) {\r\n\t\tconst value = this.filterValues[field];\r\n\t\tfilterCallback(value);\r\n\t}\r\n\r\n\tclearFilter(filterCallback: (value: any) => void, field: string) {\r\n\t\tthis.filterValues[field] = null;\r\n\t\tfilterCallback(null);\r\n\t}\r\n\r\n\tgetEnumOptions(groupName: string, parentSelectionKey = 'ALL'): Array<{ label: string; value: string }> {\r\n\t\tconst key = `${groupName}~${parentSelectionKey}`;\r\n\t\tconst group = this.selectionGroupService.selectionGroups()[key];\r\n\r\n\t\tif (!group && !this.selectionGroupService.isLoading(key) && !this.requestedEnumKeys.has(key)) {\r\n\t\t\tthis.requestedEnumKeys.add(key);\r\n\t\t\tthis.selectionGroupService.fetchEnum(groupName, parentSelectionKey);\r\n\t\t}\r\n\r\n\t\treturn (\r\n\t\t\tgroup?.selectionItems?.map((item: any) => ({\r\n\t\t\t\tlabel: item.selectionDisplay,\r\n\t\t\t\tvalue: item.selectionKey\r\n\t\t\t})) ?? []\r\n\t\t);\r\n\t}\r\n\r\n\tprivate convertPrimeNgFiltersToStandard(primeNgFilters: any): ArilfieldFilter[] {\r\n\t\tconst filters: ArilfieldFilter[] = [];\r\n\r\n\t\tif (!primeNgFilters) {\r\n\t\t\treturn filters;\r\n\t\t}\r\n\r\n\t\tObject.keys(primeNgFilters).forEach((fieldId) => {\r\n\t\t\tconst fieldFilters = primeNgFilters[fieldId];\r\n\r\n\t\t\tif (Array.isArray(fieldFilters) && fieldFilters.length > 0) {\r\n\t\t\t\tfieldFilters.forEach((filter) => {\r\n\t\t\t\t\tif (this.isValidFilterValue(filter.value)) {\r\n\t\t\t\t\t\tconst operand = this.mapMatchModeToOperand(filter.matchMode);\r\n\t\t\t\t\t\tif (operand) {\r\n\t\t\t\t\t\t\t// Handle multiple values for IN/NOT_IN operations\r\n\t\t\t\t\t\t\tconst processedValue = this.processFilterValue(filter.value, operand);\r\n\r\n\t\t\t\t\t\t\tfilters.push({\r\n\t\t\t\t\t\t\t\tfieldId: isNaN(parseInt(fieldId)) ? fieldId : parseInt(fieldId),\r\n\t\t\t\t\t\t\t\toperand: operand,\r\n\t\t\t\t\t\t\t\tvalue: processedValue\r\n\t\t\t\t\t\t\t});\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t}\r\n\t\t\t\t});\r\n\t\t\t}\r\n\t\t});\r\n\r\n\t\treturn filters;\r\n\t}\r\n\r\n\tprivate isValidFilterValue(value: any): boolean {\r\n\t\tif (value === null || value === undefined) {\r\n\t\t\treturn false;\r\n\t\t}\r\n\r\n\t\tif (Array.isArray(value)) {\r\n\t\t\treturn value.length > 0 && value.some((item) => item !== null && item !== undefined && item !== '');\r\n\t\t}\r\n\r\n\t\tif (typeof value === 'string') {\r\n\t\t\treturn value.trim() !== '';\r\n\t\t}\r\n\r\n\t\treturn true;\r\n\t}\r\n\r\n\tprivate mapMatchModeToOperand(matchMode: string): FilterOperand | null {\r\n\t\tconst modeMap: { [key: string]: FilterOperand } = {\r\n\t\t\tequals: FilterOperand.EQ,\r\n\t\t\tnotEquals: FilterOperand.NOT_EQ,\r\n\t\t\tcontains: FilterOperand.LIKE,\r\n\t\t\tnotContains: FilterOperand.NOT_LIKE,\r\n\t\t\tstartsWith: FilterOperand.STARTS,\r\n\t\t\tendsWith: FilterOperand.ENDS,\r\n\t\t\tlt: FilterOperand.LT,\r\n\t\t\tlte: FilterOperand.LTE,\r\n\t\t\tgt: FilterOperand.GT,\r\n\t\t\tgte: FilterOperand.GTE,\r\n\t\t\tin: FilterOperand.IN,\r\n\t\t\tnotIn: FilterOperand.NOT_IN,\r\n\t\t\tis: FilterOperand.EQ,\r\n\t\t\tisNot: FilterOperand.NOT_EQ,\r\n\t\t\tbefore: FilterOperand.LT,\r\n\t\t\tafter: FilterOperand.GT,\r\n\t\t\tdateIs: FilterOperand.EQ,\r\n\t\t\tdateIsNot: FilterOperand.NOT_EQ,\r\n\t\t\tdateBefore: FilterOperand.LT,\r\n\t\t\tdateAfter: FilterOperand.GT\r\n\t\t};\r\n\r\n\t\treturn modeMap[matchMode] || null;\r\n\t}\r\n\r\n\tprivate processFilterValue(value: any, operand: FilterOperand) {\r\n\t\tif (operand === FilterOperand.IN || operand === FilterOperand.NOT_IN) {\r\n\t\t\tif (!Array.isArray(value)) {\r\n\t\t\t\treturn [value];\r\n\t\t\t}\r\n\t\t\treturn value;\r\n\t\t}\r\n\r\n\t\treturn value;\r\n\t}\r\n\r\n\tonTableSort(event: any): void {\r\n\t\tconst field: string | undefined = event?.field ?? event?.multisortmeta?.[0]?.field;\r\n\t\tconst order: 1 | -1 | undefined = event?.order ?? event?.multisortmeta?.[0]?.order;\r\n\t\tif (!field || (order !== 1 && order !== -1)) return;\r\n\t\tif (this.lastSortedField === field && this.lastSortOrder === -1 && order === 1) {\r\n\t\t\tthis.clearSort();\r\n\t\t\treturn;\r\n\t\t}\r\n\t\tthis.lastSortedField = field;\r\n\t\tthis.lastSortOrder = order;\r\n\t}\r\n\r\n\tprivate clearSort(): void {\r\n\t\tif (!this.tableRef) return;\r\n\t\tthis.tableRef.sortField = null;\r\n\t\tthis.tableRef.sortOrder = 1;\r\n\t\tthis.tableRef.multiSortMeta = [];\r\n\t\tif (this.isLazy()) {\r\n\t\t\tconst meta = this.tableRef.createLazyLoadMetadata();\r\n\t\t\tmeta.multiSortMeta = [];\r\n\t\t\tmeta.sortField = null;\r\n\t\t\tthis.tableRef.onLazyLoad.emit(meta);\r\n\t\t}\r\n\t\tthis.lastSortedField = null;\r\n\t\tthis.lastSortOrder = 0;\r\n\t}\r\n\r\n\tnextRecord() {\r\n\t\tconst idx = this.data().indexOf(this.selectedRows);\r\n\t\tconst nextRecord = this.data()[idx + 1];\r\n\t\tif (nextRecord) {\r\n\t\t\tthis.selectedRows = nextRecord;\r\n\t\t}\r\n\t}\r\n\r\n\tprevRecord() {\r\n\t\tconst idx = this.data().indexOf(this.selectedRows);\r\n\t\tconst prevRecord = this.data()[idx - 1];\r\n\t\tif (prevRecord) {\r\n\t\t\tthis.selectedRows = prevRecord;\r\n\t\t}\r\n\t}\r\n}\r\n","<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\">İşlemler</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şittir', value: 'equals' },\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t{ label: 'Eşit Değildir', value: 'notEquals' },\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t{ label: 'İçerir', value: 'contains' },\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t{ label: 'İçermez', 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","import { JsonPipe, KeyValuePipe, NgFor, NgForOf, NgStyle, NgTemplateOutlet, SlicePipe } from '@angular/common';\r\nimport { NgModule } from '@angular/core';\r\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\r\n\r\nimport { ButtonModule } from 'primeng/button';\r\nimport { DropdownModule } from 'primeng/dropdown';\r\nimport { CheckIcon } from 'primeng/icons/check';\r\nimport { MenuModule } from 'primeng/menu';\r\nimport { OrderListModule } from 'primeng/orderlist';\r\nimport { OverlayPanelModule } from 'primeng/overlaypanel';\r\nimport { SidebarModule } from 'primeng/sidebar';\r\nimport { TableModule } from 'primeng/table';\r\nimport { ToastModule } from 'primeng/toast';\r\nimport { TooltipModule } from 'primeng/tooltip';\r\n\r\nimport { ButtonComponent } from 'aril/ui/button';\r\nimport { CalendarComponent } from 'aril/ui/calendar';\r\nimport { CheckboxComponent } from 'aril/ui/checkbox';\r\nimport { FieldComponent } from 'aril/ui/field';\r\nimport { ARiLFormModule } from 'aril/ui/form';\r\nimport { NumberComponent } from 'aril/ui/number';\r\nimport { RadioButtonComponent } from 'aril/ui/radioButton';\r\nimport { TextComponent } from 'aril/ui/text';\r\nimport { ValueComponent } from 'aril/ui/value';\r\nimport { GetColumnByFieldPipe, ParsePipe, SafePipe } from 'aril/util/pipes';\r\n\r\nimport { ExportOverlayPanelComponent } from './src/export-overlay-panel.component';\r\nimport { TableColumnComponent } from './src/table-column.component';\r\nimport { TableComponent } from './src/table.component';\r\n\r\nexport * from './src/interfaces';\r\nexport * from './src/table-column.component';\r\nexport * from './src/table.component';\r\nexport * from './src/export-overlay-panel.component';\r\n\r\nconst components = [TableComponent, TableColumnComponent];\r\n\r\n@NgModule({\r\n\timports: [\r\n\t\tARiLFormModule,\r\n\t\tButtonComponent,\r\n\t\tButtonModule,\r\n\t\tCalendarComponent,\r\n\t\tCheckboxComponent,\r\n\t\tCheckIcon,\r\n\t\tDropdownModule,\r\n\t\tFieldComponent,\r\n\t\tFormsModule,\r\n\t\tGetColumnByFieldPipe,\r\n\t\tJsonPipe,\r\n\t\tKeyValuePipe,\r\n\t\tMenuModule,\r\n\t\tNgFor,\r\n\t\tNgForOf,\r\n\t\tNgStyle,\r\n\t\tNgTemplateOutlet,\r\n\t\tNumberComponent,\r\n\t\tOrderListModule,\r\n\t\tOverlayPanelModule,\r\n\t\tParsePipe,\r\n\t\tRadioButtonComponent,\r\n\t\tReactiveFormsModule,\r\n\t\tSafePipe,\r\n\t\tSidebarModule,\r\n\t\tTableModule,\r\n\t\tTextComponent,\r\n\t\tToastModule,\r\n\t\tTooltipModule,\r\n\t\tValueComponent,\r\n\t\tExportOverlayPanelComponent,\r\n\t\tSlicePipe\r\n\t],\r\n\texports: [components],\r\n\tdeclarations: [components]\r\n})\r\nexport class ARiLTableModule {}\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i1","i2","i3","i4","i5","i6","i7","i8","i16.ExportOverlayPanelComponent"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"aril-ui-table.mjs","sources":["../../projects/aril/ui/table/src/interfaces.ts","../../projects/aril/ui/table/src/export-overlay-panel.component.ts","../../projects/aril/ui/table/src/table-column.component.ts","../../projects/aril/ui/table/src/table.component.ts","../../projects/aril/ui/table/src/table.component.html","../../projects/aril/ui/table/index.ts","../../projects/aril/ui/table/aril-ui-table.ts"],"sourcesContent":["import { InputSignal, TemplateRef } from '@angular/core';\r\nimport { FormArray, FormControl, FormGroup } from '@angular/forms';\r\n\r\nimport { Apps } from 'aril/boot/config/apps';\r\n\r\n/**\r\n * `exportLabel` dosya ismi\r\n *\r\n * `route` service path\r\n *\r\n * `params` service payload\r\n *\r\n * `dateColumnFormatMap` column value Date ise format verilmeli {@link DateFormat}\r\n *\r\n * `computedColumnMap` jsonPath ({@link https://github.com/json-path/JsonPath}) formatında yeni field tanımlamak için kullanılır.\r\n *\r\n * `excludedFields` export edilmemesi istenen field'lar\r\n *\r\n * @see {@link https://aril.atlassian.net/wiki/spaces/NTD/pages/842203139/Batch+Excel+CSV+Export+From+Controllers}\r\n *\r\n * @usageNotes\r\n * ### Kullanım Örneği\r\n *\r\n * ```\r\n * <i role=\"button\" class=\"pi pi-file-export\" (click)=\"tableRef.toggleExport($event)\"></i>\r\n *\r\n * <aril-table\r\n * #tableRef\r\n * [exportConfig]=\"{\r\n *\t\t\texportLabel: 'Tüketim Listesi',\r\n *\t\t\troute: 'consumptions/search',\r\n *\t\t\tparams: [form.value],\r\n *\t\t\texcludedFields: ['id']\r\n *\t\t\tdateColumnFormatMap: { startDate: DateFormat.Year, endDate: DateFormat.Hour },\r\n *\t\t\tcolumnFieldValueMap: { status: { groupName: 'InvoiceStatus' } }\r\n * }\">\r\n * ```\r\n */\r\nexport interface ExportOptions extends Omit<ExportRequest, 'exportType'> {\r\n\texcludedFields?: string[];\r\n}\r\n\r\nexport enum DateFormat {\r\n\tHour = 'HH:mm',\r\n\tTime = 'dd/MMMM/yyyy HH:mm',\r\n\tSecond = 'dd/MMMM/yyyy HH:mm:ss',\r\n\tMinute = 'dd/MMMM/yyyy HH:mm',\r\n\tDay = 'dd/MMMM/yyyy',\r\n\tOnlyDay = 'dd',\r\n\tMonth = 'MMMM/yyyy',\r\n\tMonthInt = 'MM/yyyy',\r\n\tOnlyMonth = 'MMMM',\r\n\tYear = 'yyyy'\r\n}\r\n\r\nexport enum ExportType {\r\n\tCsv = 'CSV',\r\n\tExcel = 'EXCEL'\r\n}\r\n\r\nexport interface ExportRequest {\r\n\tcustomReqUrl?: Apps; //is added externally\r\n\texportType: ExportType;\r\n\texportLabel: string;\r\n\troute: string;\r\n\ttreeChildName?: string;\r\n\tpageSize?: number;\r\n\tparams: Array<any>;\r\n\theaderNames: string[];\r\n\toutputFields: string[];\r\n\tcolumnFieldValueMap?: ColumnFieldValueMap;\r\n\tdateColumnFormatMap?: DateColumnFormatMap;\r\n\tcomputedColumnMap?: ComputedColumnMap;\r\n\tnumberColumnScaleMap?: NumberColumnScaleValue;\r\n}\r\n\r\nexport interface ExportForm {\r\n\texportType: FormControl<ExportType>;\r\n\texportLabel: FormControl<string>;\r\n\tcolumns: FormArray<FormGroup<ColForm>>;\r\n}\r\n\r\nexport interface ColForm {\r\n\tchecked: FormControl<boolean>;\r\n\ttitle: FormControl<string>;\r\n\tdataKey: FormControl<string>;\r\n}\r\n\r\nexport interface ColumnFieldValueMap {\r\n\t[key: string]: ColumnFieldValueMapValue;\r\n}\r\n\r\ninterface ColumnFieldValueMapValue {\r\n\tgroupName: string;\r\n\tparentSelectionKey?: string;\r\n}\r\n\r\ninterface ComputedColumnMap {\r\n\t[key: string]: string;\r\n}\r\n\r\ninterface DateColumnFormatMap {\r\n\t[key: string]: DateFormat;\r\n}\r\n\r\nexport interface NumberColumnScaleValue {\r\n\t[key: string]: NumberColumnScaleMapValue;\r\n}\r\nexport interface NumberColumnScaleMapValue {\r\n\troundingMode: 'UP' | 'DOWN' | 'CEILING' | 'FLOOR' | 'HALF_UP' | 'HALF_DOWN' | 'HALF_EVEN'; // roundingMode değerleri\r\n\tscale: number;\r\n}\r\n\r\nexport interface ArilfieldFilter {\r\n\tfieldId: number | string;\r\n\toperand: FilterOperand;\r\n\tvalue: any;\r\n}\r\n\r\nexport enum FilterOperand {\r\n\tEQ = 'EQ',\r\n\tNOT_EQ = 'NOT_EQ',\r\n\tIS_NULL = 'IS_NULL',\r\n\tIS_NOT_NULL = 'IS_NOT_NULL',\r\n\tIN = 'IN',\r\n\tNOT_IN = 'NOT_IN',\r\n\tLT = 'LT',\r\n\tGT = 'GT',\r\n\tLTE = 'LTE',\r\n\tGTE = 'GTE',\r\n\tSTARTS = 'STARTS',\r\n\tENDS = 'ENDS',\r\n\tLIKE = 'LIKE',\r\n\tNOT_LIKE = 'NOT_LIKE'\r\n}\r\n\r\nexport enum ColumnFilterTypeEnum {\r\n\tTEXT = 'text',\r\n\tNUMERIC = 'numeric',\r\n\tDATE = 'date',\r\n\tBOOLEAN = 'boolean',\r\n\tENUM = 'enum'\r\n}\r\n\r\nexport interface TableColumns {\r\n\t[x: string]: any;\r\n\t_results: Array<TableColumn>;\r\n}\r\n\r\nexport interface TableColumn {\r\n\tfield: InputSignal<string>;\r\n\theader: InputSignal<string>;\r\n\ttype: InputSignal<ValueTypes>;\r\n\tisOperation?: boolean;\r\n\tisShowHeaderTooltip?: boolean;\r\n\ttooltipTemplate?: TemplateRef<any>;\r\n\ttemplate: TemplateRef<any>;\r\n\twidth?: string;\r\n}\r\n\r\nexport type ValueTypes = 'text' | 'numeric' | 'date' | 'boolean' | 'custom' | 'operations' | 'json' | 'long-text';\r\nexport type AlignTypes = 'left' | 'right' | 'center';\r\n","import { HttpClient } from '@angular/common/http';\r\nimport { Component, ViewChild, effect, input, signal } from '@angular/core';\r\nimport { FormGroup, FormsModule, NonNullableFormBuilder, ReactiveFormsModule, Validators } from '@angular/forms';\r\n\r\nimport { MessageService } from 'primeng/api';\r\nimport { OrderListModule } from 'primeng/orderlist';\r\nimport { OverlayPanel, OverlayPanelModule } from 'primeng/overlaypanel';\r\nimport { ToastModule } from 'primeng/toast';\r\nimport { TooltipModule } from 'primeng/tooltip';\r\n\r\nimport { TranslocoService } from '@ngneat/transloco';\r\nimport { saveAs } from 'file-saver';\r\nimport {\r\n\tcatchError,\r\n\tconcatMap,\r\n\tfilter,\r\n\tfinalize,\r\n\tfirstValueFrom,\r\n\tfrom,\r\n\tinterval,\r\n\tmap,\r\n\tswitchMap,\r\n\ttake,\r\n\tthrowError,\r\n\ttoArray\r\n} from 'rxjs';\r\n\r\nimport { API_CONFIGS } from 'aril/boot/config/api';\r\nimport { SelectionGroupService } from 'aril/theme/layout';\r\nimport { ButtonComponent } from 'aril/ui/button';\r\nimport { CheckboxComponent } from 'aril/ui/checkbox';\r\nimport { FieldComponent } from 'aril/ui/field';\r\nimport { ARiLFormModule } from 'aril/ui/form';\r\nimport { RadioButtonComponent } from 'aril/ui/radioButton';\r\nimport { TextComponent } from 'aril/ui/text';\r\n\r\nimport {\r\n\tColForm,\r\n\tColumnFieldValueMap,\r\n\tExportForm,\r\n\tExportOptions,\r\n\tExportRequest,\r\n\tExportType,\r\n\tTableColumns\r\n} from './interfaces';\r\n\r\n@Component({\r\n\tstandalone: true,\r\n\tselector: 'aril-export-overlay-panel',\r\n\timports: [\r\n\t\tARiLFormModule,\r\n\t\tButtonComponent,\r\n\t\tCheckboxComponent,\r\n\t\tFieldComponent,\r\n\t\tFormsModule,\r\n\t\tOrderListModule,\r\n\t\tOverlayPanelModule,\r\n\t\tRadioButtonComponent,\r\n\t\tReactiveFormsModule,\r\n\t\tTextComponent,\r\n\t\tToastModule,\r\n\t\tTooltipModule\r\n\t],\r\n\ttemplate: `\r\n\t\t<p-overlayPanel styleClass=\"export-overlay-panel\" [baseZIndex]=\"1101\">\r\n\t\t\t@if (exportForm) {\r\n\t\t\t\t<aril-form [formGroup]=\"exportForm\" class=\"w-20rem\">\r\n\t\t\t\t\t<aril-field [label]=\"'Dosya Tipi'\" [cols]=\"{ default: 12 }\">\r\n\t\t\t\t\t\t<aril-radio-button formControlName=\"exportType\" [options]=\"exportTypeOptions\" />\r\n\t\t\t\t\t</aril-field>\r\n\r\n\t\t\t\t\t<aril-field [label]=\"'Dosya İsmi'\" [cols]=\"{ default: 12 }\">\r\n\t\t\t\t\t\t<aril-text class=\"w-full\" formControlName=\"exportLabel\" />\r\n\t\t\t\t\t</aril-field>\r\n\r\n\t\t\t\t\t@if (exportForm.controls.columns.length) {\r\n\t\t\t\t\t\t<ng-container formArrayName=\"columns\">\r\n\t\t\t\t\t\t\t<p-orderList\r\n\t\t\t\t\t\t\t\t#orderListRef\r\n\t\t\t\t\t\t\t\tclass=\"col-12\"\r\n\t\t\t\t\t\t\t\t[value]=\"exportForm.controls.columns.controls\"\r\n\t\t\t\t\t\t\t\t[listStyle]=\"{ 'max-height': '20rem' }\"\r\n\t\t\t\t\t\t\t\tfilterBy=\"value.title\"\r\n\t\t\t\t\t\t\t\t[disabled]=\"isLoadingForExport()\">\r\n\t\t\t\t\t\t\t\t<ng-template pTemplate=\"filter\">\r\n\t\t\t\t\t\t\t\t\t<div class=\"flex align-items-center gap-3\">\r\n\t\t\t\t\t\t\t\t\t\t<aril-checkbox\r\n\t\t\t\t\t\t\t\t\t\t\t[label]=\"''\"\r\n\t\t\t\t\t\t\t\t\t\t\t[ngModel]=\"isAllSelected\"\r\n\t\t\t\t\t\t\t\t\t\t\t[ngModelOptions]=\"{ standalone: true }\"\r\n\t\t\t\t\t\t\t\t\t\t\t(ngModelChange)=\"onSelectAll($event)\"\r\n\t\t\t\t\t\t\t\t\t\t\t[disabled]=\"isLoadingForExport()\" />\r\n\r\n\t\t\t\t\t\t\t\t\t\t<div class=\"p-orderlist-filter\" [attr.data-pc-section]=\"'filter'\">\r\n\t\t\t\t\t\t\t\t\t\t\t<input\r\n\t\t\t\t\t\t\t\t\t\t\t\t#filter\r\n\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\trole=\"textbox\"\r\n\t\t\t\t\t\t\t\t\t\t\t\t(keyup)=\"orderListRef.onFilterKeyup($event)\"\r\n\t\t\t\t\t\t\t\t\t\t\t\t[disabled]=\"orderListRef.disabled\"\r\n\t\t\t\t\t\t\t\t\t\t\t\tclass=\"p-orderlist-filter-input p-inputtext p-component\" />\r\n\t\t\t\t\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t\t\t\t</div>\r\n\t\t\t\t\t\t\t\t</ng-template>\r\n\t\t\t\t\t\t\t\t<ng-template let-col pTemplate=\"item\">\r\n\t\t\t\t\t\t\t\t\t<aril-checkbox [label]=\"col.value.title\" [formControl]=\"col.controls.checked\" />\r\n\t\t\t\t\t\t\t\t</ng-template>\r\n\t\t\t\t\t\t\t</p-orderList>\r\n\t\t\t\t\t\t</ng-container>\r\n\t\t\t\t\t}\r\n\r\n\t\t\t\t\t<aril-button\r\n\t\t\t\t\t\tclass=\"col-12\"\r\n\t\t\t\t\t\t[label]=\"translocoService.translate('navigateToExportRequests')\"\r\n\t\t\t\t\t\tcolor=\"secondary\"\r\n\t\t\t\t\t\t(clickEvent)=\"nativateToExportRequests()\" />\r\n\r\n\t\t\t\t\t<aril-button\r\n\t\t\t\t\t\tclass=\"col-12\"\r\n\t\t\t\t\t\t[label]=\"translocoService.translate('messages.export')\"\r\n\t\t\t\t\t\tcolor=\"primary\"\r\n\t\t\t\t\t\t(clickEvent)=\"export()\"\r\n\t\t\t\t\t\t[disabled]=\"isLoadingForExport()\" />\r\n\t\t\t\t</aril-form>\r\n\t\t\t}\r\n\t\t</p-overlayPanel>\r\n\t`\r\n})\r\nexport class ExportOverlayPanelComponent {\r\n\t@ViewChild(OverlayPanel) op!: OverlayPanel;\r\n\r\n\t/**\r\n\t * @see {@link ExportOptions}\r\n\t */\r\n\texportConfig = input.required<ExportOptions>();\r\n\tcolumns = input<TableColumns>();\r\n\r\n\texportForm!: FormGroup<ExportForm>;\r\n\texportTypeOptions = [\r\n\t\t{ key: ExportType.Excel, label: 'Excel', fileExtension: '.xlsx' },\r\n\t\t{ key: ExportType.Csv, label: 'Csv', fileExtension: '.csv' }\r\n\t];\r\n\tisLoadingForExport = signal<boolean>(false);\r\n\tisAllSelected = true;\r\n\r\n\tconstructor(\r\n\t\tprivate http: HttpClient,\r\n\t\tprivate fb: NonNullableFormBuilder,\r\n\t\tprivate messageService: MessageService,\r\n\t\tpublic translocoService: TranslocoService,\r\n\t\tprivate selectionGroupService: SelectionGroupService\r\n\t) {\r\n\t\teffect(() => {\r\n\t\t\tif (this.exportConfig()) {\r\n\t\t\t\tthis.createExportForm();\r\n\t\t\t}\r\n\t\t});\r\n\t}\r\n\r\n\tprivate createExportForm(): void {\r\n\t\tconst { exportLabel } = this.exportConfig()!;\r\n\r\n\t\tthis.exportForm = this.fb.group<ExportForm>({\r\n\t\t\texportType: this.fb.control(ExportType.Excel, Validators.required),\r\n\t\t\texportLabel: this.fb.control(exportLabel, Validators.required),\r\n\t\t\tcolumns: this.fb.array<FormGroup<ColForm>>([])\r\n\t\t});\r\n\r\n\t\tthis.columns()\r\n\t\t\t?._results.filter((col) => col.type() !== 'operations')\r\n\t\t\t.filter((col) => {\r\n\t\t\t\tconst exportConfig = this.exportConfig();\r\n\t\t\t\tconst excludedFields = exportConfig?.excludedFields ?? [];\r\n\r\n\t\t\t\treturn !excludedFields.includes(col.field());\r\n\t\t\t})\r\n\t\t\t.forEach((col) => {\r\n\t\t\t\tconst colGroup = this.fb.group<ColForm>({\r\n\t\t\t\t\tchecked: this.fb.control(true),\r\n\t\t\t\t\ttitle: this.fb.control(col.header()),\r\n\t\t\t\t\tdataKey: this.fb.control(col.field())\r\n\t\t\t\t});\r\n\r\n\t\t\t\tthis.exportForm.controls.columns.push(colGroup);\r\n\t\t\t});\r\n\r\n\t\tthis.exportForm.controls.columns.valueChanges.subscribe((t) => (this.isAllSelected = t.every((a) => a.checked)));\r\n\t}\r\n\r\n\tget hostUrl(): string {\r\n\t\treturn `${globalThis.location.protocol}//${globalThis.location.host}`;\r\n\t}\r\n\r\n\tget currentPageReportText(): string {\r\n\t\tconst total = this.translocoService.translate('table.total');\r\n\t\tconst record = this.translocoService.translate('table.records');\r\n\t\tconst page = this.translocoService.translate('table.page');\r\n\t\treturn `${total} : {totalRecords} ${record} | ${page} : {currentPage} / {totalPages}`;\r\n\t}\r\n\r\n\tasync export() {\r\n\t\tconst { exportType, exportLabel, columns } = this.exportForm.value;\r\n\t\tconst {\r\n\t\t\troute,\r\n\t\t\tparams,\r\n\t\t\tpageSize,\r\n\t\t\tcolumnFieldValueMap,\r\n\t\t\tdateColumnFormatMap,\r\n\t\t\tcomputedColumnMap,\r\n\t\t\tcustomReqUrl,\r\n\t\t\tnumberColumnScaleMap,\r\n\t\t\ttreeChildName,\r\n\t\t\theaderNames,\r\n\t\t\toutputFields\r\n\t\t} = this.exportConfig()!;\r\n\r\n\t\tconst checkedColumns = columns!.filter((t) => t.checked);\r\n\t\tconst fileExtension = this.exportTypeOptions.find((t) => t.key === exportType)?.fileExtension;\r\n\r\n\t\tlet columnFieldValueMapObj: ColumnFieldValueMap | undefined;\r\n\r\n\t\tthis.isLoadingForExport.set(true);\r\n\t\tthis.exportForm.disable();\r\n\r\n\t\tthis.messageService.add({\r\n\t\t\tseverity: 'success',\r\n\t\t\tkey: 'export-toast',\r\n\t\t\tsummary: this.translocoService.translate('messages.exporting'),\r\n\t\t\tdetail: this.translocoService.translate('messages.exportingDetail', {\r\n\t\t\t\turl: `${this.hostUrl}/#/mng/control-management/export-requests`\r\n\t\t\t}),\r\n\t\t\tlife: 10 * 1000\r\n\t\t});\r\n\t\tthis.op?.hide();\r\n\r\n\t\tif (columnFieldValueMap) {\r\n\t\t\tconst tempObj = {} as ColumnFieldValueMap;\r\n\r\n\t\t\tawait firstValueFrom(\r\n\t\t\t\tfrom(Object.entries(columnFieldValueMap)).pipe(\r\n\t\t\t\t\tconcatMap(([fieldName, value]) => {\r\n\t\t\t\t\t\tif (\r\n\t\t\t\t\t\t\t!this.selectionGroupService.selectionGroups()[`${value.groupName}~${value.parentSelectionKey ?? 'ALL'}`]\r\n\t\t\t\t\t\t) {\r\n\t\t\t\t\t\t\tthis.selectionGroupService.fetchEnum(value.groupName, value.parentSelectionKey);\r\n\t\t\t\t\t\t}\r\n\r\n\t\t\t\t\t\tconst key = value.groupName + '~' + (value.parentSelectionKey ?? 'ALL');\r\n\r\n\t\t\t\t\t\treturn interval(10).pipe(\r\n\t\t\t\t\t\t\tfilter(() => !this.selectionGroupService.isLoading(key)),\r\n\t\t\t\t\t\t\ttake(1),\r\n\t\t\t\t\t\t\tmap(() => {\r\n\t\t\t\t\t\t\t\tconst selectionGroup = this.selectionGroupService.selectionGroups()[key];\r\n\t\t\t\t\t\t\t\tif (selectionGroup) {\r\n\t\t\t\t\t\t\t\t\ttempObj[fieldName] = selectionGroup.selectionItems.reduce((acc: Record<string, string>, item) => {\r\n\t\t\t\t\t\t\t\t\t\tacc[item.selectionKey] = item.selectionDisplay;\r\n\t\t\t\t\t\t\t\t\t\treturn acc;\r\n\t\t\t\t\t\t\t\t\t\t// eslint-disable-next-line @typescript-eslint/no-explicit-any\r\n\t\t\t\t\t\t\t\t\t}, {}) as any;\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);\r\n\t\t\t\t\t}),\r\n\t\t\t\t\ttoArray(),\r\n\t\t\t\t\tfinalize(() => {\r\n\t\t\t\t\t\tcolumnFieldValueMapObj = tempObj;\r\n\t\t\t\t\t})\r\n\t\t\t\t)\r\n\t\t\t);\r\n\t\t}\r\n\r\n\t\tconst request: ExportRequest = {\r\n\t\t\troute: route!,\r\n\t\t\tparams: params!,\r\n\t\t\tpageSize: pageSize!,\r\n\t\t\texportType: exportType!,\r\n\t\t\texportLabel: exportLabel!,\r\n\t\t\tcomputedColumnMap: computedColumnMap!,\r\n\t\t\tdateColumnFormatMap: dateColumnFormatMap!,\r\n\t\t\tcolumnFieldValueMap: columnFieldValueMapObj!,\r\n\t\t\tnumberColumnScaleMap: numberColumnScaleMap ?? {},\r\n\t\t\theaderNames: headerNames ?? checkedColumns.map((col) => col.title!),\r\n\t\t\toutputFields: outputFields ?? checkedColumns.map((col) => col.dataKey!),\r\n\t\t\ttreeChildName: treeChildName!\r\n\t\t};\r\n\r\n\t\tconst apiUrl = customReqUrl ? API_CONFIGS.api.replace(/\\/[^\\/]+\\/v1$/, `/${customReqUrl}/v1`) : API_CONFIGS.api;\r\n\t\tconst response = await firstValueFrom(\r\n\t\t\tthis.http.post<{ success: boolean; url: string }>(`${apiUrl}/batch-exporters/export`, request).pipe(\r\n\t\t\t\tswitchMap((res) =>\r\n\t\t\t\t\tthis.http.get(`${apiUrl}/bucket-objects/download`, {\r\n\t\t\t\t\t\tparams: { url: res.url },\r\n\t\t\t\t\t\tresponseType: 'blob'\r\n\t\t\t\t\t})\r\n\t\t\t\t),\r\n\t\t\t\tcatchError((error) => {\r\n\t\t\t\t\tthis.isLoadingForExport.set(false);\r\n\t\t\t\t\tthis.exportForm.enable();\r\n\t\t\t\t\tif (error?.status === 400 || error?.status === 500) {\r\n\t\t\t\t\t\tthis.messageService.add({\r\n\t\t\t\t\t\t\tseverity: 'error',\r\n\t\t\t\t\t\t\tsummary: this.translocoService.translate('messages.exportUrlNotFound'),\r\n\t\t\t\t\t\t\tkey: 'toast-root'\r\n\t\t\t\t\t\t});\r\n\t\t\t\t\t}\r\n\t\t\t\t\treturn throwError(() => error);\r\n\t\t\t\t})\r\n\t\t\t)\r\n\t\t);\r\n\r\n\t\tsaveAs(response, `${exportLabel}-${new Date().getTime()}${fileExtension}`);\r\n\t\tthis.isLoadingForExport.set(false);\r\n\t\tthis.exportForm.enable();\r\n\t\tthis.exportForm.reset();\r\n\t}\r\n\r\n\tonSelectAll(value: boolean): void {\r\n\t\tfor (let i = 0; i < this.exportForm.controls.columns.length; i++) {\r\n\t\t\tconst formGroup = this.exportForm.controls.columns.at(i);\r\n\t\t\tformGroup.controls.checked.setValue(value);\r\n\t\t}\r\n\t}\r\n\r\n\tnativateToExportRequests() {\r\n\t\twindow.location.href = `${this.hostUrl}/#/mng/control-management/export-requests`;\r\n\t}\r\n\r\n\ttoggleExport = (event: Event): void => this.op.toggle(event);\r\n}\r\n","import { Component, ContentChild, TemplateRef, input } from '@angular/core';\r\n\r\nimport { AlignTypes, ColumnFilterTypeEnum, ValueTypes } from './interfaces';\r\n\r\n@Component({\r\n\tselector: 'aril-table-column',\r\n\ttemplate: `<ng-content />`\r\n})\r\nexport class TableColumnComponent {\r\n\ttype = input<ValueTypes>('text');\r\n\tfield = input.required<string | number>();\r\n\theader = input.required<string>();\r\n\ttAlign = input<AlignTypes>();\r\n\tisShowHeaderTooltip = input<boolean>(false);\r\n\ttooltipTemplate = input<TemplateRef<any>>();\r\n\twidth = input<string>();\r\n\tshowFilter = input<boolean>(false);\r\n\tfilterType = input<ColumnFilterTypeEnum>(ColumnFilterTypeEnum.TEXT);\r\n\tshowTimeInDateFilters = input<boolean>(false);\r\n\tenumGroupName = input<string>('');\r\n\t@ContentChild(TemplateRef) template: any;\r\n}\r\n","import {\r\n\tComponent,\r\n\tContentChildren,\r\n\tEventEmitter,\r\n\tInput,\r\n\tOutput,\r\n\tSimpleChanges,\r\n\tViewChild,\r\n\teffect,\r\n\tinput\r\n} from '@angular/core';\r\n\r\nimport { MenuItem } from 'primeng/api';\r\nimport { Table, TableRowReorderEvent } from 'primeng/table';\r\n\r\nimport { TranslocoService } from '@ngneat/transloco';\r\n\r\nimport { ProxyTypes } from 'aril/http';\r\nimport { SelectionGroupService } from 'aril/theme/layout';\r\n\r\nimport { ExportOverlayPanelComponent } from './export-overlay-panel.component';\r\nimport {\r\n\tAlignTypes,\r\n\tArilfieldFilter,\r\n\tColumnFilterTypeEnum,\r\n\tExportOptions,\r\n\tFilterOperand,\r\n\tTableColumns\r\n} from './interfaces';\r\nimport { TableColumnComponent } from './table-column.component';\r\n\r\n/* TODO :\r\n * server-side-proxy (ProxyTypes.ServerSide)\r\n * search & colum filter & sort\r\n * pagination operation\r\n * Query Signals\r\n */\r\nconst pageOptions = [5, 10, 20, 50, 100] as const;\r\n\r\ntype SelectionTypes = 'single' | 'multiple' | null;\r\n\r\n@Component({\r\n\tselector: 'aril-table',\r\n\ttemplateUrl: './table.component.html',\r\n\tstyleUrl: './table.component.scss'\r\n})\r\nexport class TableComponent {\r\n\t@Output() onPageEvent: EventEmitter<any> = new EventEmitter<any>();\r\n\t@Output() selectionEvent: EventEmitter<any> = new EventEmitter<any>();\r\n\t@Output() lazyLoadEvent: EventEmitter<any> = new EventEmitter<any>();\r\n\t@Output() rowReorderEvent = new EventEmitter<TableRowReorderEvent>();\r\n\t@ContentChildren(TableColumnComponent) columns!: TableColumns;\r\n\t@ViewChild(ExportOverlayPanelComponent) exportOp!: ExportOverlayPanelComponent;\r\n\t@ViewChild(Table) tableRef!: Table;\r\n\t@Input() kebabMenuItems: MenuItem[] = [];\r\n\t@Input() expandableFields!: string;\r\n\r\n\tdata = input.required<any[]>();\r\n\tcheckboxSelection = input<boolean>();\r\n\tradioButtonSelection = input<boolean>();\r\n\theaderCheckboxSelection = input<boolean>();\r\n\tpageSize = input<(typeof pageOptions)[number]>(10);\r\n\tproxy = input<ProxyTypes>(ProxyTypes.Native);\r\n\tshowFooter = input<boolean>(false);\r\n\ttAlign = input<AlignTypes>('left');\r\n\tselectionMode = input<SelectionTypes>('single');\r\n\texportFileName = input<string>('');\r\n\tnoDataFoundLabel = input<string>('No Data Found');\r\n\ttableHeader = input<string>('');\r\n\tshowTableHeader = input<boolean>(false);\r\n\tisFirstRowSelected = input<boolean>(false);\r\n\tdataKey = input<string>('');\r\n\tselectedRowsInput = input<any>([]);\r\n\tisLazy = input<boolean>(true);\r\n\ttotalRecords = input<number>(0);\r\n\tpaginator = input<boolean>(true);\r\n\tpaginatorDropdownAppendTo = input<string>('body'); // 'body'| 'myDiv'\r\n\tisColumnExpandMode = input<boolean>(false);\r\n\tisResizableColumns = input<boolean>(false);\r\n\tisSortable = input<boolean>(false);\r\n\thandledSelectionMode: SelectionTypes = 'single';\r\n\tscrollable = input<boolean>(true);\r\n\tscrollHeight = input<string>('460px');\r\n\tsortMode = input<'single' | 'multiple'>('multiple');\r\n\tshowFirstLastIcon = input<boolean>(true);\r\n\trowSelectable = input<(rowData: any) => boolean>(() => true);\r\n\tisShowNoDataFoundMessage = input<boolean>(true);\r\n\treorderableColumns = input<boolean>(false);\r\n\treorderField = input<string>();\r\n\tshowColumnFilters = input<boolean>(false);\r\n\tselectionPageOnly = input<boolean>(false);\r\n\topenSelectionOnSidebar = input<boolean>(false);\r\n\tglobalFilterFields = input<string[]>();\r\n\r\n\t// Keeps last clicked sort field and its cycles to enable ASC -> DESC -> NONE\r\n\tprivate lastSortedField: string | null = null;\r\n\tprivate lastSortOrder: 1 | -1 | 0 = 0; // 1: asc, -1: desc, 0: none / we send 2 for desc to backend but primeng keeps -1\r\n\r\n\t/**\r\n\t * @see {@link ExportOptions}\r\n\t */\r\n\texportConfig = input<ExportOptions>();\r\n\r\n\tfilterText!: string;\r\n\tglobalSearchValue?: string;\r\n\tisAllSelected = true;\r\n\tselectedRows: any;\r\n\tpageOptions = pageOptions;\r\n\texportColumns: Array<{ title: string; dataKey: string }> = [];\r\n\tfilterValues: { [key: string]: object | null } = {};\r\n\tprivate requestedEnumKeys = new Set<string>();\r\n\tColumnFilterTypeEnum = ColumnFilterTypeEnum;\r\n\tsidebarVisible = false;\r\n\r\n\tconstructor(\r\n\t\tpublic translocoService: TranslocoService,\r\n\t\tprivate selectionGroupService: SelectionGroupService\r\n\t) {\r\n\t\teffect(() => {\r\n\t\t\tif (this.isFirstRowSelected() && this.data()) {\r\n\t\t\t\tthis.selectedRows = this.data()[0];\r\n\t\t\t\tthis.selectionEvent.emit(this.selectedRows);\r\n\t\t\t}\r\n\t\t});\r\n\r\n\t\teffect(() => {\r\n\t\t\tif (this.selectedRowsInput()) {\r\n\t\t\t\tthis.selectedRows = this.selectedRowsInput();\r\n\t\t\t}\r\n\t\t});\r\n\r\n\t\teffect(() => {\r\n\t\t\tif (this.checkboxSelection() || this.radioButtonSelection()) this.handledSelectionMode = null;\r\n\t\t\telse this.handledSelectionMode = this.selectionMode();\r\n\t\t});\r\n\r\n\t\teffect(() => {\r\n\t\t\tif (this.data()?.length == 10) this.tableRef.rows = 10;\r\n\t\t});\r\n\r\n\t\teffect(() => {\r\n\t\t\tif (this.isLazy() && this.globalFilterFields()?.length) {\r\n\t\t\t\talert(\r\n\t\t\t\t\t'Global filter is not supported in lazy loading mode. Please set isLazy input to false to use global filter.'\r\n\t\t\t\t);\r\n\t\t\t}\r\n\t\t});\r\n\t}\r\n\r\n\tprivate isInitialLoad = true;\r\n\r\n\tngOnChanges(changes: SimpleChanges): void {\r\n\t\tif (changes['data'] && changes['data'].currentValue !== changes['data'].previousValue) {\r\n\t\t\tif (this.isInitialLoad) {\r\n\t\t\t\tthis.isInitialLoad = false;\r\n\t\t\t\treturn;\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n\r\n\tget currentPageReportText(): string {\r\n\t\tconst total = this.translocoService.translate('table.total');\r\n\t\tconst record = this.translocoService.translate('table.records');\r\n\t\tconst page = this.translocoService.translate('table.page');\r\n\t\treturn `${total} : {totalRecords} ${record} | ${page} : {currentPage} / {totalPages}`;\r\n\t}\r\n\r\n\ttoggleExport = (event: Event): void => this.exportOp.op.toggle(event);\r\n\r\n\thandleLazyLoadEvent(event: any): void {\r\n\t\tconst sortField = event.multiSortMeta?.length ? event.multiSortMeta[0] : null;\r\n\t\tconst arilFilters = this.convertPrimeNgFiltersToStandard(event.filters);\r\n\r\n\t\tconst newEventData = {\r\n\t\t\tpager: {\r\n\t\t\t\tpageSize: event.rows,\r\n\t\t\t\tpageNumber: event.first / event.rows + 1\r\n\t\t\t},\r\n\t\t\tsort:\r\n\t\t\t\tsortField?.field ?\r\n\t\t\t\t\t{\r\n\t\t\t\t\t\tfieldId: sortField?.field,\r\n\t\t\t\t\t\tdirection: sortField?.order === 1 ? 1 : 2 // 1 for asc, 2 for desc\r\n\t\t\t\t\t}\r\n\t\t\t\t:\tnull,\r\n\t\t\tfilters: arilFilters\r\n\t\t};\r\n\t\tthis.lazyLoadEvent.emit(newEventData);\r\n\t}\r\n\r\n\tfilterGlobal(e: any): void {\r\n\t\tthis.tableRef.filterGlobal(e?.target?.value, 'contains');\r\n\t}\r\n\r\n\tclear(): void {\r\n\t\tthis.tableRef.value = [];\r\n\t\tthis.tableRef.clear();\r\n\t\tthis.exportOp.op?.hide();\r\n\t\tthis.globalSearchValue = '';\r\n\t}\r\n\r\n\trowReorder(event: TableRowReorderEvent): void {\r\n\t\tif (!this.reorderField()) {\r\n\t\t\tconsole.error('Reorder field is not defined. Please set the reorderField input.');\r\n\t\t\treturn;\r\n\t\t} else if (!((this.reorderField() as string) in this.data()[0])) {\r\n\t\t\tconsole.error(`Reorder field \"${this.reorderField()}\" does not exist in the data items.`);\r\n\t\t\treturn;\r\n\t\t}\r\n\r\n\t\tthis.data().forEach((item, index) => {\r\n\t\t\titem[this.reorderField() as string] = index + 1;\r\n\t\t});\r\n\r\n\t\tthis.rowReorderEvent.emit(event);\r\n\t}\r\n\r\n\tgetFilterValue(field: string): any {\r\n\t\treturn this.filterValues[field] || null;\r\n\t}\r\n\r\n\tonFilterChange(value: object, _filterCallback: any, field: string) {\r\n\t\tthis.filterValues[field] = value;\r\n\t}\r\n\r\n\tapplyFilter(filterCallback: (value: any) => void, field: string) {\r\n\t\tconst value = this.filterValues[field];\r\n\t\tfilterCallback(value);\r\n\t}\r\n\r\n\tclearFilter(filterCallback: (value: any) => void, field: string) {\r\n\t\tthis.filterValues[field] = null;\r\n\t\tfilterCallback(null);\r\n\t}\r\n\r\n\tgetEnumOptions(groupName: string, parentSelectionKey = 'ALL'): Array<{ label: string; value: string }> {\r\n\t\tconst key = `${groupName}~${parentSelectionKey}`;\r\n\t\tconst group = this.selectionGroupService.selectionGroups()[key];\r\n\r\n\t\tif (!group && !this.selectionGroupService.isLoading(key) && !this.requestedEnumKeys.has(key)) {\r\n\t\t\tthis.requestedEnumKeys.add(key);\r\n\t\t\tthis.selectionGroupService.fetchEnum(groupName, parentSelectionKey);\r\n\t\t}\r\n\r\n\t\treturn (\r\n\t\t\tgroup?.selectionItems?.map((item: any) => ({\r\n\t\t\t\tlabel: item.selectionDisplay,\r\n\t\t\t\tvalue: item.selectionKey\r\n\t\t\t})) ?? []\r\n\t\t);\r\n\t}\r\n\r\n\tprivate convertPrimeNgFiltersToStandard(primeNgFilters: any): ArilfieldFilter[] {\r\n\t\tconst filters: ArilfieldFilter[] = [];\r\n\r\n\t\tif (!primeNgFilters) {\r\n\t\t\treturn filters;\r\n\t\t}\r\n\r\n\t\tObject.keys(primeNgFilters).forEach((fieldId) => {\r\n\t\t\tconst fieldFilters = primeNgFilters[fieldId];\r\n\r\n\t\t\tif (Array.isArray(fieldFilters) && fieldFilters.length > 0) {\r\n\t\t\t\tfieldFilters.forEach((filter) => {\r\n\t\t\t\t\tif (this.isValidFilterValue(filter.value)) {\r\n\t\t\t\t\t\tconst operand = this.mapMatchModeToOperand(filter.matchMode);\r\n\t\t\t\t\t\tif (operand) {\r\n\t\t\t\t\t\t\t// Handle multiple values for IN/NOT_IN operations\r\n\t\t\t\t\t\t\tconst processedValue = this.processFilterValue(filter.value, operand);\r\n\r\n\t\t\t\t\t\t\tfilters.push({\r\n\t\t\t\t\t\t\t\tfieldId: isNaN(parseInt(fieldId)) ? fieldId : parseInt(fieldId),\r\n\t\t\t\t\t\t\t\toperand: operand,\r\n\t\t\t\t\t\t\t\tvalue: processedValue\r\n\t\t\t\t\t\t\t});\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t}\r\n\t\t\t\t});\r\n\t\t\t}\r\n\t\t});\r\n\r\n\t\treturn filters;\r\n\t}\r\n\r\n\tprivate isValidFilterValue(value: any): boolean {\r\n\t\tif (value === null || value === undefined) {\r\n\t\t\treturn false;\r\n\t\t}\r\n\r\n\t\tif (Array.isArray(value)) {\r\n\t\t\treturn value.length > 0 && value.some((item) => item !== null && item !== undefined && item !== '');\r\n\t\t}\r\n\r\n\t\tif (typeof value === 'string') {\r\n\t\t\treturn value.trim() !== '';\r\n\t\t}\r\n\r\n\t\treturn true;\r\n\t}\r\n\r\n\tprivate mapMatchModeToOperand(matchMode: string): FilterOperand | null {\r\n\t\tconst modeMap: { [key: string]: FilterOperand } = {\r\n\t\t\tequals: FilterOperand.EQ,\r\n\t\t\tnotEquals: FilterOperand.NOT_EQ,\r\n\t\t\tcontains: FilterOperand.LIKE,\r\n\t\t\tnotContains: FilterOperand.NOT_LIKE,\r\n\t\t\tstartsWith: FilterOperand.STARTS,\r\n\t\t\tendsWith: FilterOperand.ENDS,\r\n\t\t\tlt: FilterOperand.LT,\r\n\t\t\tlte: FilterOperand.LTE,\r\n\t\t\tgt: FilterOperand.GT,\r\n\t\t\tgte: FilterOperand.GTE,\r\n\t\t\tin: FilterOperand.IN,\r\n\t\t\tnotIn: FilterOperand.NOT_IN,\r\n\t\t\tis: FilterOperand.EQ,\r\n\t\t\tisNot: FilterOperand.NOT_EQ,\r\n\t\t\tbefore: FilterOperand.LT,\r\n\t\t\tafter: FilterOperand.GT,\r\n\t\t\tdateIs: FilterOperand.EQ,\r\n\t\t\tdateIsNot: FilterOperand.NOT_EQ,\r\n\t\t\tdateBefore: FilterOperand.LT,\r\n\t\t\tdateAfter: FilterOperand.GT\r\n\t\t};\r\n\r\n\t\treturn modeMap[matchMode] || null;\r\n\t}\r\n\r\n\tprivate processFilterValue(value: any, operand: FilterOperand) {\r\n\t\tif (operand === FilterOperand.IN || operand === FilterOperand.NOT_IN) {\r\n\t\t\tif (!Array.isArray(value)) {\r\n\t\t\t\treturn [value];\r\n\t\t\t}\r\n\t\t\treturn value;\r\n\t\t}\r\n\r\n\t\treturn value;\r\n\t}\r\n\r\n\tonTableSort(event: any): void {\r\n\t\tconst field: string | undefined = event?.field ?? event?.multisortmeta?.[0]?.field;\r\n\t\tconst order: 1 | -1 | undefined = event?.order ?? event?.multisortmeta?.[0]?.order;\r\n\t\tif (!field || (order !== 1 && order !== -1)) return;\r\n\t\tif (this.lastSortedField === field && this.lastSortOrder === -1 && order === 1) {\r\n\t\t\tthis.clearSort();\r\n\t\t\treturn;\r\n\t\t}\r\n\t\tthis.lastSortedField = field;\r\n\t\tthis.lastSortOrder = order;\r\n\t}\r\n\r\n\tprivate clearSort(): void {\r\n\t\tif (!this.tableRef) return;\r\n\t\tthis.tableRef.sortField = null;\r\n\t\tthis.tableRef.sortOrder = 1;\r\n\t\tthis.tableRef.multiSortMeta = [];\r\n\t\tif (this.isLazy()) {\r\n\t\t\tconst meta = this.tableRef.createLazyLoadMetadata();\r\n\t\t\tmeta.multiSortMeta = [];\r\n\t\t\tmeta.sortField = null;\r\n\t\t\tthis.tableRef.onLazyLoad.emit(meta);\r\n\t\t}\r\n\t\tthis.lastSortedField = null;\r\n\t\tthis.lastSortOrder = 0;\r\n\t}\r\n\r\n\tnextRecord() {\r\n\t\tconst idx = this.data().indexOf(this.selectedRows);\r\n\t\tconst nextRecord = this.data()[idx + 1];\r\n\t\tif (nextRecord) {\r\n\t\t\tthis.selectedRows = nextRecord;\r\n\t\t}\r\n\t}\r\n\r\n\tprevRecord() {\r\n\t\tconst idx = this.data().indexOf(this.selectedRows);\r\n\t\tconst prevRecord = this.data()[idx - 1];\r\n\t\tif (prevRecord) {\r\n\t\t\tthis.selectedRows = prevRecord;\r\n\t\t}\r\n\t}\r\n}\r\n","<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[globalFilterFields]=\"globalFilterFields()\">\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@if (globalFilterFields()?.length) {\r\n\t\t<ng-template pTemplate=\"caption\">\r\n\t\t\t<div class=\"flex\">\r\n\t\t\t\t<span class=\"ml-auto\">\r\n\t\t\t\t\t<aril-text\r\n\t\t\t\t\t\t[(ngModel)]=\"globalSearchValue\"\r\n\t\t\t\t\t\t(input)=\"filterGlobal($event)\"\r\n\t\t\t\t\t\ticon=\"SEARCH\"\r\n\t\t\t\t\t\tsize=\"sm\"\r\n\t\t\t\t\t\t[placeholder]=\"translocoService.translate('search')\" />\r\n\t\t\t\t</span>\r\n\t\t\t</div>\r\n\t\t</ng-template>\r\n\t}\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\">İşlemler</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\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şittir', value: 'equals' },\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t{ label: 'Eşit Değildir', value: 'notEquals' },\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t{ label: 'İçerir', value: 'contains' },\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t{ label: 'İçermez', 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\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","import { JsonPipe, KeyValuePipe, NgFor, NgForOf, NgStyle, NgTemplateOutlet, SlicePipe } from '@angular/common';\r\nimport { NgModule } from '@angular/core';\r\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\r\n\r\nimport { ButtonModule } from 'primeng/button';\r\nimport { DropdownModule } from 'primeng/dropdown';\r\nimport { CheckIcon } from 'primeng/icons/check';\r\nimport { MenuModule } from 'primeng/menu';\r\nimport { OrderListModule } from 'primeng/orderlist';\r\nimport { OverlayPanelModule } from 'primeng/overlaypanel';\r\nimport { SidebarModule } from 'primeng/sidebar';\r\nimport { TableModule } from 'primeng/table';\r\nimport { ToastModule } from 'primeng/toast';\r\nimport { TooltipModule } from 'primeng/tooltip';\r\n\r\nimport { ButtonComponent } from 'aril/ui/button';\r\nimport { CalendarComponent } from 'aril/ui/calendar';\r\nimport { CheckboxComponent } from 'aril/ui/checkbox';\r\nimport { FieldComponent } from 'aril/ui/field';\r\nimport { ARiLFormModule } from 'aril/ui/form';\r\nimport { NumberComponent } from 'aril/ui/number';\r\nimport { RadioButtonComponent } from 'aril/ui/radioButton';\r\nimport { TextComponent } from 'aril/ui/text';\r\nimport { ValueComponent } from 'aril/ui/value';\r\nimport { GetColumnByFieldPipe, ParsePipe, SafePipe } from 'aril/util/pipes';\r\n\r\nimport { ExportOverlayPanelComponent } from './src/export-overlay-panel.component';\r\nimport { TableColumnComponent } from './src/table-column.component';\r\nimport { TableComponent } from './src/table.component';\r\n\r\nexport * from './src/interfaces';\r\nexport * from './src/table-column.component';\r\nexport * from './src/table.component';\r\nexport * from './src/export-overlay-panel.component';\r\n\r\nconst components = [TableComponent, TableColumnComponent];\r\n\r\n@NgModule({\r\n\timports: [\r\n\t\tARiLFormModule,\r\n\t\tButtonComponent,\r\n\t\tButtonModule,\r\n\t\tCalendarComponent,\r\n\t\tCheckboxComponent,\r\n\t\tCheckIcon,\r\n\t\tDropdownModule,\r\n\t\tFieldComponent,\r\n\t\tFormsModule,\r\n\t\tGetColumnByFieldPipe,\r\n\t\tJsonPipe,\r\n\t\tKeyValuePipe,\r\n\t\tMenuModule,\r\n\t\tNgFor,\r\n\t\tNgForOf,\r\n\t\tNgStyle,\r\n\t\tNgTemplateOutlet,\r\n\t\tNumberComponent,\r\n\t\tOrderListModule,\r\n\t\tOverlayPanelModule,\r\n\t\tParsePipe,\r\n\t\tRadioButtonComponent,\r\n\t\tReactiveFormsModule,\r\n\t\tSafePipe,\r\n\t\tSidebarModule,\r\n\t\tTableModule,\r\n\t\tTextComponent,\r\n\t\tToastModule,\r\n\t\tTooltipModule,\r\n\t\tValueComponent,\r\n\t\tExportOverlayPanelComponent,\r\n\t\tSlicePipe\r\n\t],\r\n\texports: [components],\r\n\tdeclarations: [components]\r\n})\r\nexport class ARiLTableModule {}\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i1","i2","i3","i4","i5","i6","i7","i8","i17.ExportOverlayPanelComponent"],"mappings":"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"}
|
|
@@ -213,6 +213,97 @@ function validateIBAN(control) {
|
|
|
213
213
|
return null;
|
|
214
214
|
}
|
|
215
215
|
|
|
216
|
+
var IdentityType;
|
|
217
|
+
(function (IdentityType) {
|
|
218
|
+
IdentityType["TurkishIdentityNumber"] = "TurkishIdentityNumber";
|
|
219
|
+
IdentityType["TemporalIdentityNumber"] = "TemporalIdentityNumber";
|
|
220
|
+
IdentityType["PassportNumber"] = "PassportNumber";
|
|
221
|
+
IdentityType["ForeignIdentityNumber"] = "ForeignIdentityNumber";
|
|
222
|
+
IdentityType["TaxIdentificationNumber"] = "TaxIdentificationNumber";
|
|
223
|
+
})(IdentityType || (IdentityType = {}));
|
|
224
|
+
const IDENTITY_TYPE_PATTERNS = {
|
|
225
|
+
/* T.C. Kimlik No - 11 haneli - Sadece rakam - İlk hane 0 olamaz - Son hane çift olmalı (0, 2, 4, 6, 8) */
|
|
226
|
+
[IdentityType.TurkishIdentityNumber]: /^[1-9]\d{9}[02468]$/,
|
|
227
|
+
/* Geçici Kimlik No - 11 haneli - Sadece rakam */
|
|
228
|
+
[IdentityType.TemporalIdentityNumber]: /^\d{11}$/,
|
|
229
|
+
/* Pasaport No - Max 15 karakter - Sadece büyük harf ve rakam */
|
|
230
|
+
[IdentityType.PassportNumber]: /^[A-Z0-9]{1,15}$/,
|
|
231
|
+
/* Yabancı Kimlik No - 11 haneli - Sadece rakam */
|
|
232
|
+
[IdentityType.ForeignIdentityNumber]: /^\d{11}$/,
|
|
233
|
+
/* Vergi Kimlik No - 10 haneli - Sadece rakam */
|
|
234
|
+
[IdentityType.TaxIdentificationNumber]: /^\d{10}$/
|
|
235
|
+
};
|
|
236
|
+
/**
|
|
237
|
+
* Validate Temporal Identity Number (Geçici Kimlik No)
|
|
238
|
+
* 11 digits, only numbers
|
|
239
|
+
*/
|
|
240
|
+
function validateTemporalIdentityNumber(control) {
|
|
241
|
+
const value = control.value;
|
|
242
|
+
if (!value)
|
|
243
|
+
return null;
|
|
244
|
+
const pattern = IDENTITY_TYPE_PATTERNS[IdentityType.TemporalIdentityNumber];
|
|
245
|
+
if (!pattern.test(String(value))) {
|
|
246
|
+
return { invalidTemporalIdentityNumber: true };
|
|
247
|
+
}
|
|
248
|
+
return null;
|
|
249
|
+
}
|
|
250
|
+
/**
|
|
251
|
+
* Validate Passport Number (Pasaport No)
|
|
252
|
+
* Max 15 characters, only uppercase letters and numbers
|
|
253
|
+
*/
|
|
254
|
+
function validatePassportNumber(control) {
|
|
255
|
+
const value = control.value;
|
|
256
|
+
if (!value)
|
|
257
|
+
return null;
|
|
258
|
+
const pattern = IDENTITY_TYPE_PATTERNS[IdentityType.PassportNumber];
|
|
259
|
+
if (!pattern.test(String(value))) {
|
|
260
|
+
return { invalidPassportNumber: true };
|
|
261
|
+
}
|
|
262
|
+
return null;
|
|
263
|
+
}
|
|
264
|
+
/**
|
|
265
|
+
* Validate Foreign Identity Number (Yabancı Kimlik No)
|
|
266
|
+
* 11 digits, only numbers
|
|
267
|
+
*/
|
|
268
|
+
function validateForeignIdentityNumber(control) {
|
|
269
|
+
const value = control.value;
|
|
270
|
+
if (!value)
|
|
271
|
+
return null;
|
|
272
|
+
const pattern = IDENTITY_TYPE_PATTERNS[IdentityType.ForeignIdentityNumber];
|
|
273
|
+
if (!pattern.test(String(value))) {
|
|
274
|
+
return { invalidForeignIdentityNumber: true };
|
|
275
|
+
}
|
|
276
|
+
return null;
|
|
277
|
+
}
|
|
278
|
+
/**
|
|
279
|
+
* Validate Tax Identification Number (Vergi Kimlik No)
|
|
280
|
+
* 10 digits, only numbers
|
|
281
|
+
*/
|
|
282
|
+
function validateTaxIdentificationNumber(control) {
|
|
283
|
+
const value = control.value;
|
|
284
|
+
if (!value)
|
|
285
|
+
return null;
|
|
286
|
+
const pattern = IDENTITY_TYPE_PATTERNS[IdentityType.TaxIdentificationNumber];
|
|
287
|
+
if (!pattern.test(String(value))) {
|
|
288
|
+
return { invalidTaxIdentificationNumber: true };
|
|
289
|
+
}
|
|
290
|
+
return null;
|
|
291
|
+
}
|
|
292
|
+
/**
|
|
293
|
+
* Validate Turkish Identity Number (T.C. Kimlik No)
|
|
294
|
+
* 11 digits, only numbers, first digit cannot be 0, last digit must be even (0, 2, 4, 6, 8)
|
|
295
|
+
*/
|
|
296
|
+
function validateTurkishIdentityNumber(control) {
|
|
297
|
+
const value = control.value;
|
|
298
|
+
if (!value)
|
|
299
|
+
return null;
|
|
300
|
+
const pattern = IDENTITY_TYPE_PATTERNS[IdentityType.TurkishIdentityNumber];
|
|
301
|
+
if (!pattern.test(String(value))) {
|
|
302
|
+
return { invalidTurkishIdentityNumber: true };
|
|
303
|
+
}
|
|
304
|
+
return null;
|
|
305
|
+
}
|
|
306
|
+
|
|
216
307
|
/**
|
|
217
308
|
* Validate max array length
|
|
218
309
|
* @param {AbstractControl} control: AbstractControl
|
|
@@ -297,11 +388,26 @@ class ArilValidators {
|
|
|
297
388
|
static maxArrayLength(min) {
|
|
298
389
|
return maxArrayLength(min);
|
|
299
390
|
}
|
|
391
|
+
static validateTurkishIdentityNumber(control) {
|
|
392
|
+
return validateTurkishIdentityNumber(control);
|
|
393
|
+
}
|
|
394
|
+
static validateTemporalIdentityNumber(control) {
|
|
395
|
+
return validateTemporalIdentityNumber(control);
|
|
396
|
+
}
|
|
397
|
+
static validatePassportNumber(control) {
|
|
398
|
+
return validatePassportNumber(control);
|
|
399
|
+
}
|
|
400
|
+
static validateForeignIdentityNumber(control) {
|
|
401
|
+
return validateForeignIdentityNumber(control);
|
|
402
|
+
}
|
|
403
|
+
static validateTaxIdentificationNumber(control) {
|
|
404
|
+
return validateTaxIdentificationNumber(control);
|
|
405
|
+
}
|
|
300
406
|
}
|
|
301
407
|
|
|
302
408
|
/**
|
|
303
409
|
* Generated bundle index. Do not edit.
|
|
304
410
|
*/
|
|
305
411
|
|
|
306
|
-
export { ArilValidators, ModuleRouterOutlet, regularIcons, solidIcons };
|
|
412
|
+
export { ArilValidators, IdentityType, ModuleRouterOutlet, regularIcons, solidIcons, validateForeignIdentityNumber, validatePassportNumber, validateTaxIdentificationNumber, validateTemporalIdentityNumber, validateTurkishIdentityNumber };
|
|
307
413
|
//# sourceMappingURL=aril-util-lib.mjs.map
|