@indigina/ui-kit 1.1.529 → 1.1.531
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.
|
@@ -6829,7 +6829,6 @@ var KitGridDropPosition;
|
|
|
6829
6829
|
class KitGridComponent {
|
|
6830
6830
|
constructor() {
|
|
6831
6831
|
this.translateService = inject(TranslateService);
|
|
6832
|
-
this.rowDropSwitchThresholdPx = 4;
|
|
6833
6832
|
/**
|
|
6834
6833
|
* Sets the data of the grid. Allows user to implement data operations manually
|
|
6835
6834
|
*/
|
|
@@ -6923,7 +6922,6 @@ class KitGridComponent {
|
|
|
6923
6922
|
computation: (data) => this.cloneDataInput(data) });
|
|
6924
6923
|
this.renderedGridDataBinding = linkedSignal({ ...(ngDevMode ? { debugName: "renderedGridDataBinding" } : /* istanbul ignore next */ {}), source: () => this.gridDataBinding(),
|
|
6925
6924
|
computation: (data) => this.cloneGridDataBinding(data) });
|
|
6926
|
-
this.dropIndicator = signal(null, ...(ngDevMode ? [{ debugName: "dropIndicator" }] : /* istanbul ignore next */ []));
|
|
6927
6925
|
this.selectByField = computed(() => this.checkboxColumn()?.selectByField(), ...(ngDevMode ? [{ debugName: "selectByField" }] : /* istanbul ignore next */ []));
|
|
6928
6926
|
this.forwardedColumnMarkers = signal([], ...(ngDevMode ? [{ debugName: "forwardedColumnMarkers" }] : /* istanbul ignore next */ []));
|
|
6929
6927
|
this.columnMarkers = computed(() => {
|
|
@@ -6964,17 +6962,19 @@ class KitGridComponent {
|
|
|
6964
6962
|
return 'unchecked';
|
|
6965
6963
|
}, ...(ngDevMode ? [{ debugName: "headerCheckboxState" }] : /* istanbul ignore next */ []));
|
|
6966
6964
|
this.expandedRows = [];
|
|
6965
|
+
this.rowDropSwitchThresholdPx = 4;
|
|
6966
|
+
this.dragSourceIndex = null;
|
|
6967
|
+
this.lastRealTimeDestinationIndex = null;
|
|
6967
6968
|
this.getCssRowClass = (context) => {
|
|
6968
6969
|
const expanded = this.expandedRows.includes(context.dataItem);
|
|
6969
6970
|
const expandDisabled = this.detailTemplateExpandDisableIf(context.dataItem);
|
|
6970
|
-
const indicator = this.dropIndicator();
|
|
6971
6971
|
const checkboxHidden = this.isCheckboxHidden(context.dataItem);
|
|
6972
|
+
const isDragging = this.dragSourceIndex === context.index && this.dragSourceIndex !== null;
|
|
6972
6973
|
const internalClasses = {
|
|
6973
6974
|
expanded,
|
|
6974
6975
|
'expand-disabled': expandDisabled,
|
|
6975
6976
|
'checkbox-hidden': checkboxHidden,
|
|
6976
|
-
'
|
|
6977
|
-
'drag-insert-after': indicator?.targetRowIndex === context.index && indicator?.position === this.kitGridDropPosition.AFTER,
|
|
6977
|
+
'kit-grid-row-dragging': isDragging,
|
|
6978
6978
|
};
|
|
6979
6979
|
const externalFn = this.rowClassFn();
|
|
6980
6980
|
const externalClasses = externalFn?.(context) ?? null;
|
|
@@ -7118,36 +7118,33 @@ class KitGridComponent {
|
|
|
7118
7118
|
dragData({ dragTarget }) {
|
|
7119
7119
|
return Number(dragTarget.dataset.kendoGridItemIndex);
|
|
7120
7120
|
}
|
|
7121
|
-
onDrop(
|
|
7122
|
-
|
|
7123
|
-
if (!dropContext) {
|
|
7124
|
-
this.clearRowDropIndicator();
|
|
7125
|
-
return;
|
|
7126
|
-
}
|
|
7127
|
-
if (dropContext.destinationIndex !== dropContext.sourceIndex) {
|
|
7128
|
-
this.updateGridData(dropContext.collection, dropContext.sourceIndex, dropContext.destinationIndex);
|
|
7129
|
-
}
|
|
7130
|
-
this.rowReordered.emit(dropContext.collection);
|
|
7131
|
-
this.dragTargetContainer()?.notify();
|
|
7132
|
-
this.dropTargetContainer()?.notify();
|
|
7133
|
-
this.clearRowDropIndicator();
|
|
7121
|
+
onDrop() {
|
|
7122
|
+
this.notifyReorderedAndCleanup();
|
|
7134
7123
|
}
|
|
7135
7124
|
onRowDragOver(event) {
|
|
7136
7125
|
if (event.dropTargetIndex === undefined) {
|
|
7137
|
-
this.
|
|
7126
|
+
this.clearDragAndDrop();
|
|
7138
7127
|
return;
|
|
7139
7128
|
}
|
|
7140
|
-
const
|
|
7141
|
-
const
|
|
7142
|
-
|
|
7143
|
-
if (currentIndicator?.targetRowIndex === event.dropTargetIndex &&
|
|
7144
|
-
distanceToMidpoint <= this.rowDropSwitchThresholdPx) {
|
|
7129
|
+
const sourceIndex = Number(event.dragData);
|
|
7130
|
+
const collection = this.getDataCollection();
|
|
7131
|
+
if (!collection || !this.isValidDropIndex(sourceIndex, collection) || !this.isValidDropIndex(event.dropTargetIndex, collection)) {
|
|
7145
7132
|
return;
|
|
7146
7133
|
}
|
|
7147
|
-
this.
|
|
7148
|
-
|
|
7149
|
-
|
|
7150
|
-
}
|
|
7134
|
+
if (this.dragSourceIndex === null) {
|
|
7135
|
+
this.dragSourceIndex = sourceIndex;
|
|
7136
|
+
this.lastRealTimeDestinationIndex = sourceIndex;
|
|
7137
|
+
}
|
|
7138
|
+
const dropPosition = this.getDropPosition(event);
|
|
7139
|
+
const destinationIndex = this.calculateDestinationIndex(this.dragSourceIndex, event.dropTargetIndex, dropPosition, collection.length);
|
|
7140
|
+
if (destinationIndex !== this.lastRealTimeDestinationIndex) {
|
|
7141
|
+
this.performRealTimeReordering(collection, this.dragSourceIndex, destinationIndex);
|
|
7142
|
+
this.lastRealTimeDestinationIndex = destinationIndex;
|
|
7143
|
+
this.dragSourceIndex = destinationIndex;
|
|
7144
|
+
}
|
|
7145
|
+
}
|
|
7146
|
+
onDragRelease() {
|
|
7147
|
+
this.notifyReorderedAndCleanup();
|
|
7151
7148
|
}
|
|
7152
7149
|
getPagerSettings() {
|
|
7153
7150
|
const pagerSettings = {
|
|
@@ -7163,6 +7160,13 @@ class KitGridComponent {
|
|
|
7163
7160
|
saveAsExcel() {
|
|
7164
7161
|
this.gridComponent?.saveAsExcel();
|
|
7165
7162
|
}
|
|
7163
|
+
notifyReorderedAndCleanup() {
|
|
7164
|
+
const collection = this.getDataCollection();
|
|
7165
|
+
if (collection && this.dragSourceIndex !== null && this.lastRealTimeDestinationIndex !== null) {
|
|
7166
|
+
this.rowReordered.emit(collection);
|
|
7167
|
+
}
|
|
7168
|
+
this.clearDragAndDrop();
|
|
7169
|
+
}
|
|
7166
7170
|
filterOutHiddenKeys(keys) {
|
|
7167
7171
|
const collection = this.getDataCollection();
|
|
7168
7172
|
if (!collection) {
|
|
@@ -7256,8 +7260,21 @@ class KitGridComponent {
|
|
|
7256
7260
|
}
|
|
7257
7261
|
return dataItem;
|
|
7258
7262
|
}
|
|
7259
|
-
|
|
7260
|
-
this.
|
|
7263
|
+
clearDragAndDrop() {
|
|
7264
|
+
this.dragSourceIndex = null;
|
|
7265
|
+
this.lastRealTimeDestinationIndex = null;
|
|
7266
|
+
}
|
|
7267
|
+
performRealTimeReordering(collection, sourceIndex, destinationIndex) {
|
|
7268
|
+
if (sourceIndex === destinationIndex) {
|
|
7269
|
+
return;
|
|
7270
|
+
}
|
|
7271
|
+
const movedItem = collection[sourceIndex];
|
|
7272
|
+
if (!movedItem) {
|
|
7273
|
+
return;
|
|
7274
|
+
}
|
|
7275
|
+
collection.splice(sourceIndex, 1);
|
|
7276
|
+
collection.splice(destinationIndex, 0, movedItem);
|
|
7277
|
+
this.syncReorderedCollection(collection);
|
|
7261
7278
|
}
|
|
7262
7279
|
updateGridData(collection, sourceIndex, destinationIndex) {
|
|
7263
7280
|
const movedItem = collection[sourceIndex];
|
|
@@ -7345,7 +7362,7 @@ class KitGridComponent {
|
|
|
7345
7362
|
{ provide: L10N_PREFIX, useValue: '' },
|
|
7346
7363
|
PagerContextService,
|
|
7347
7364
|
PagerNavigationService,
|
|
7348
|
-
], queries: [{ propertyName: "columnMarkersContent", predicate: KIT_GRID_COLUMN_MARKER, isSignal: true }], viewQueries: [{ propertyName: "dragTargetContainer", first: true, predicate: DragTargetContainerDirective, descendants: true, isSignal: true }, { propertyName: "dropTargetContainer", first: true, predicate: DropTargetContainerDirective, descendants: true, isSignal: true }, { propertyName: "gridComponent", first: true, predicate: GridComponent, descendants: true }], ngImport: i0, template: "@if (data()) {\n <div class=\"kit-grid\"\n kendoDragTargetContainer\n kendoDropTargetContainer\n dragTargetFilter=\".k-master-row\"\n dropTargetFilter=\".k-master-row\"\n dragHandle=\".k-master-row\"\n [dragDisabled]=\"!rowReorderable()\"\n [dropDisabled]=\"!rowReorderable()\"\n [dragData]=\"dragData\"\n [hint]=\"{ hintClass: 'kit-grid-row-hint' }\"\n (onDragOver)=\"onRowDragOver($event)\"\n (onRelease)=\"dropIndicator.set(null)\"\n (onDrop)=\"onDrop($event)\">\n <kendo-grid kendoGridExpandDetailsBy\n [class.kit-grid--radio]=\"isRadioColumn()\"\n [data]=\"renderedData()\"\n [sortable]=\"sortable\"\n [sort]=\"sort\"\n [rowClass]=\"getCssRowClass\"\n [pageable]=\"getPagerSettings()\"\n [pageSize]=\"pageSize\"\n [skip]=\"skip()\"\n [loading]=\"loading()\"\n [resizable]=\"resizable()\"\n [(expandedDetailKeys)]=\"expandedRows\"\n [kendoGridSelectBy]=\"selectByField() || ''\"\n [isRowSelectable]=\"isRowSelectable.bind(this)\"\n [selectable]=\"selectableSettings()\"\n (cellClick)=\"onCellClick($event)\"\n (detailExpand)=\"onDetailExpand($event)\"\n (detailCollapse)=\"onDetailCollapse($event)\"\n (sortChange)=\"onSortChange($event)\"\n (pageChange)=\"onPageChange($event)\"\n (dataStateChange)=\"onDataStateChange($event)\"\n [selectedKeys]=\"selectedKeys()\"\n (selectedKeysChange)=\"selectedKeys.set(limitSelectedKeys($event))\"\n (selectionChange)=\"selectionChanged.emit($event)\"\n (excelExport)=\"excelExport.emit($event)\">\n @for (column of columnMarkers(); track $index) {\n @if (isCheckboxColumn(column)) {\n <kendo-grid-checkbox-column [width]=\"column.width()\"\n [showSelectAll]=\"!isRadioColumn() && column.showSelectAll()\">\n @if (!isRadioColumn() && column.showSelectAll()) {\n <ng-template kendoGridHeaderTemplate>\n <div class=\"kit-grid-select-all\">\n <kit-checkbox [checked]=\"headerCheckboxState() === 'checked'\"\n [indeterminate]=\"headerCheckboxState() === 'indeterminate'\"\n [disabled]=\"isHeaderCheckboxDisabled()\"\n (changed)=\"onHeaderCheckboxChanged($event)\">\n </kit-checkbox>\n </div>\n </ng-template>\n }\n </kendo-grid-checkbox-column>\n } @else {\n <kendo-grid-column [field]=\"column.field\"\n [sortable]=\"column.sortable\"\n [hidden]=\"column.hidden\"\n [width]=\"column.width\">\n <ng-template kendoGridHeaderTemplate>\n <ng-container *ngTemplateOutlet=\"columnHeaderTemplate; context: { $implicit: column }\"\n ></ng-container>\n </ng-template>\n\n @if (column.cellTemplate) {\n <ng-template kendoGridCellTemplate\n let-dataItem>\n <ng-container *ngTemplateOutlet=\"column.cellTemplate; context: { $implicit: dataItem }\"\n ></ng-container>\n </ng-template>\n }\n\n @if (showFooter) {\n <ng-template kendoGridFooterTemplate>\n <ng-container *ngTemplateOutlet=\"footerTemplate; context: { $implicit: column }\"></ng-container>\n </ng-template>\n }\n </kendo-grid-column>\n\n @if (gridDetailTemplate()) {\n <ng-template kendoGridDetailTemplate\n let-dataItem\n [kendoGridDetailTemplateShowIf]=\"detailTemplateShowIf\">\n <ng-container *ngTemplateOutlet=\"gridDetailTemplate(); context: { $implicit: dataItem }\"\n ></ng-container>\n </ng-template>\n }\n }\n }\n <kendo-grid-excel [fileName]=\"pdfOptions.fileName\" />\n <kendo-grid-pdf [fileName]=\"pdfOptions.fileName\"\n [allPages]=\"pdfOptions.allPages\"\n [paperSize]=\"pdfOptions.paperSize\"\n [scale]=\"pdfOptions.scale\"\n [landscape]=\"pdfOptions.landscape\"\n [repeatHeaders]=\"true\" />\n\n <ng-container *ngTemplateOutlet=\"pagerTemplate\" />\n <kendo-grid-messages [pagerItems]=\"pagerInfoText()\"\n [pagerOf]=\"'of'\"\n [noRecords]=\"noRecordsText()\">\n </kendo-grid-messages>\n </kendo-grid>\n </div>\n}\n\n@if (gridDataBinding()) {\n <div class=\"kit-grid\"\n kendoDragTargetContainer\n kendoDropTargetContainer\n dragTargetFilter=\".k-master-row\"\n dropTargetFilter=\".k-master-row\"\n dragHandle=\".k-master-row\"\n [dragDisabled]=\"!rowReorderable()\"\n [dropDisabled]=\"!rowReorderable()\"\n [dragData]=\"dragData\"\n [hint]=\"{ hintClass: 'kit-grid-row-hint' }\"\n (onDragOver)=\"onRowDragOver($event)\"\n (onRelease)=\"dropIndicator.set(null)\"\n (onDrop)=\"onDrop($event)\">\n <kendo-grid kendoGridExpandDetailsBy\n [class.kit-grid--radio]=\"isRadioColumn()\"\n [kendoGridBinding]=\"renderedGridDataBinding()\"\n [rowClass]=\"getCssRowClass\"\n [pageable]=\"getPagerSettings()\"\n [pageSize]=\"pageSize\"\n [sortable]=\"sortable\"\n [sort]=\"sort\"\n [skip]=\"skip()\"\n [loading]=\"loading()\"\n [resizable]=\"resizable()\"\n [(expandedDetailKeys)]=\"expandedRows\"\n [kendoGridSelectBy]=\"selectByField() || ''\"\n [isRowSelectable]=\"isRowSelectable.bind(this)\"\n [selectable]=\"selectableSettings()\"\n (cellClick)=\"onCellClick($event)\"\n (detailExpand)=\"onDetailExpand($event)\"\n (detailCollapse)=\"onDetailCollapse($event)\"\n (pageChange)=\"onPageChange($event)\"\n (sortChange)=\"onSortChange($event)\"\n (dataStateChange)=\"onDataStateChange($event)\"\n [selectedKeys]=\"selectedKeys()\"\n (selectedKeysChange)=\"selectedKeys.set(limitSelectedKeys($event))\"\n (selectionChange)=\"selectionChanged.emit($event)\"\n (excelExport)=\"excelExport.emit($event)\">\n @for (column of columnMarkers(); track $index) {\n @if (isCheckboxColumn(column)) {\n <kendo-grid-checkbox-column [width]=\"column.width()\"\n [showSelectAll]=\"!isRadioColumn() && column.showSelectAll()\">\n @if (!isRadioColumn() && column.showSelectAll()) {\n <ng-template kendoGridHeaderTemplate>\n <div class=\"kit-grid-select-all\">\n <kit-checkbox [checked]=\"headerCheckboxState() === 'checked'\"\n [indeterminate]=\"headerCheckboxState() === 'indeterminate'\"\n [disabled]=\"isHeaderCheckboxDisabled()\"\n (changed)=\"onHeaderCheckboxChanged($event)\">\n </kit-checkbox>\n </div>\n </ng-template>\n }\n </kendo-grid-checkbox-column>\n } @else {\n <kendo-grid-column [field]=\"column.field\"\n [sortable]=\"column.sortable\"\n [hidden]=\"column.hidden\"\n [width]=\"column.width\">\n @if (column.cellTemplate) {\n <ng-template kendoGridCellTemplate\n let-dataItem>\n <ng-container *ngTemplateOutlet=\"column.cellTemplate; context: { $implicit: dataItem }\"\n ></ng-container>\n </ng-template>\n }\n\n <ng-template kendoGridHeaderTemplate>\n <ng-container *ngTemplateOutlet=\"columnHeaderTemplate; context: { $implicit: column }\"\n ></ng-container>\n </ng-template>\n\n @if (showFooter) {\n <ng-template kendoGridFooterTemplate>\n <ng-container *ngTemplateOutlet=\"footerTemplate; context: { $implicit: column }\"></ng-container>\n </ng-template>\n }\n </kendo-grid-column>\n\n @if (gridDetailTemplate()) {\n <ng-template kendoGridDetailTemplate\n let-dataItem\n [kendoGridDetailTemplateShowIf]=\"detailTemplateShowIf\">\n <ng-container *ngTemplateOutlet=\"gridDetailTemplate(); context: { $implicit: dataItem }\"\n ></ng-container>\n </ng-template>\n }\n }\n }\n <kendo-grid-excel [fileName]=\"pdfOptions.fileName\" />\n <kendo-grid-pdf [fileName]=\"pdfOptions.fileName\"\n [allPages]=\"pdfOptions.allPages\"\n [paperSize]=\"pdfOptions.paperSize\"\n [scale]=\"pdfOptions.scale\"\n [landscape]=\"pdfOptions.landscape\"\n [repeatHeaders]=\"true\" />\n\n <ng-container *ngTemplateOutlet=\"pagerTemplate\" />\n <kendo-grid-messages pagerOf=\"of\"\n [pagerItems]=\"pagerInfoText()\"\n [noRecords]=\"noRecordsText()\">\n </kendo-grid-messages>\n </kendo-grid>\n </div>\n}\n\n<ng-template #columnHeaderTemplate\n let-column>\n <div class=\"grid-title\"\n [class.sortable]=\"isColumnSortable(column)\">\n @if (column.titleIcon) {\n <kit-svg-icon class=\"grid-title-icon\"\n [icon]=\"column.titleIcon\"\n [ngClass]=\"column.titleIconType\"\n ></kit-svg-icon>\n }\n\n <div class=\"grid-title-text\">\n {{ column.title }}\n </div>\n\n @if (sortable && column.sortable) {\n @switch (getSortingDirection(column.field)) {\n @case (kitSortDirection.ASC) {\n <kit-svg-icon class=\"grid-title-sort-icon\"\n [icon]=\"kitSvgIcon.SORT_ASCENDING\"\n ></kit-svg-icon>\n }\n @case (kitSortDirection.DESC) {\n <kit-svg-icon class=\"grid-title-sort-icon\"\n [icon]=\"kitSvgIcon.SORT_DESCENDING\"\n ></kit-svg-icon>\n }\n }\n }\n </div>\n</ng-template>\n\n<ng-template #footerTemplate\n let-column>\n @if (columns(); as columns) {\n @if (footerTitle && column === columns[0]) {\n {{ footerTitle }}\n } @else {\n {{ footerData?.[column.field] || '' }}\n }\n }\n</ng-template>\n\n<ng-template #pagerTemplate\n kendoPagerTemplate>\n <kendo-pager-prev-buttons></kendo-pager-prev-buttons>\n <kendo-pager-numeric-buttons></kendo-pager-numeric-buttons>\n <kendo-pager-next-buttons></kendo-pager-next-buttons>\n <kendo-pager-info></kendo-pager-info>\n</ng-template>\n", styles: [".kit-grid{height:100%}.kit-grid .kit-grid-select-all{display:flex;align-items:center;justify-content:center;width:100%}.kit-grid .grid-title{display:flex;align-items:center;gap:8px;flex:1;line-height:1;min-width:0}.kit-grid .grid-title-icon{display:block;width:16px;height:16px;flex-shrink:0}.kit-grid .grid-title-icon.fill{fill:var(--ui-kit-color-grey-12);stroke:none}.kit-grid .grid-title-icon.stroke{fill:none;stroke:var(--ui-kit-color-grey-12)}.kit-grid .grid-title-text{font-weight:500;line-height:22px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.kit-grid .grid-title-sort-icon{display:block;margin-left:auto;width:16px;height:16px;fill:var(--ui-kit-color-grey-12)}.kit-grid .grid-title.sortable{cursor:pointer}.kit-grid ::ng-deep .k-grid{border:none;background:none;max-height:100%}.kit-grid ::ng-deep .k-grid-table{color:var(--ui-kit-color-grey-10);font-size:14px;font-weight:400}.kit-grid ::ng-deep .k-grid-header{padding:0!important;border:none}.kit-grid ::ng-deep .k-grid-footer{padding:0!important}.kit-grid ::ng-deep .k-grid-content{overflow-y:auto}.kit-grid ::ng-deep .k-grid-content::-webkit-scrollbar{height:8px;width:8px}.kit-grid ::ng-deep .k-grid-content::-webkit-scrollbar-thumb{background-color:var(--ui-kit-color-grey-12);border-radius:4px}.kit-grid ::ng-deep .k-grid-content::-webkit-scrollbar-thumb:hover{background-color:var(--ui-kit-color-grey-18)}.kit-grid ::ng-deep .k-table{margin:0}.kit-grid ::ng-deep .k-table-th{padding:8px 0;border:none;border-bottom:1px solid var(--ui-kit-color-grey-11);background:var(--ui-kit-color-grey-15);box-shadow:none}.kit-grid ::ng-deep .k-table-th .k-cell-inner{margin:0}.kit-grid ::ng-deep .k-table-th .k-cell-inner .k-link{padding:0 8px;border-right:1px solid var(--ui-kit-color-grey-11);cursor:default}.kit-grid ::ng-deep .k-table-th .k-sort-icon{display:none}.kit-grid ::ng-deep .k-table-th .k-sort-order{margin-left:2px;color:var(--ui-kit-color-main)}.kit-grid ::ng-deep .k-table-th.k-sorted{color:var(--ui-kit-color-main);border-bottom:1px solid var(--ui-kit-color-main)}.kit-grid ::ng-deep .k-table-th.k-sorted .grid-title-icon.fill{fill:var(--ui-kit-color-main);stroke:none}.kit-grid ::ng-deep .k-table-th.k-sorted .grid-title-icon.stroke{fill:none;stroke:var(--ui-kit-color-main)}.kit-grid ::ng-deep .k-table-th.k-sorted .grid-title-sort-icon{fill:var(--ui-kit-color-main)}.kit-grid ::ng-deep .k-table-row:not(.k-detail-row):hover,.kit-grid ::ng-deep .k-table-row:hover{background:none}.kit-grid ::ng-deep .k-table-row.k-selected>.k-table-td{background-color:var(--ui-kit-color-selected)}.kit-grid ::ng-deep .k-table-row .k-table-td{border-bottom-width:1px;box-shadow:none}.kit-grid ::ng-deep .k-table-alt-row{background:none}.kit-grid ::ng-deep .k-table-td{padding:12px 8px;border-color:var(--ui-kit-color-grey-11);border-bottom-width:1px;background:var(--ui-kit-color-white);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.kit-grid ::ng-deep .k-table-td:first-child{border-inline-start-width:1px}.kit-grid ::ng-deep .k-checkbox-wrap{display:flex;align-items:center;justify-content:center}.kit-grid ::ng-deep .k-checkbox{width:16px;height:16px;border-radius:4px;border:1px solid var(--ui-kit-color-grey-11);background-color:var(--ui-kit-color-grey-13)}.kit-grid ::ng-deep .k-checkbox.k-indeterminate{color:var(--ui-kit-color-main)}.kit-grid ::ng-deep .k-checkbox:hover:not(:disabled){border-color:var(--ui-kit-color-main)}.kit-grid ::ng-deep .k-checkbox:focus,.kit-grid ::ng-deep .k-checkbox.k-focus{box-shadow:0 0 0 2px var(--ui-kit-color-focus)}.kit-grid ::ng-deep .k-checkbox:checked,.kit-grid ::ng-deep .k-checkbox.k-checked{border-color:var(--ui-kit-color-main);background-color:var(--ui-kit-color-main)}.kit-grid ::ng-deep .k-checkbox:checked:disabled,.kit-grid ::ng-deep .k-checkbox.k-checked:disabled{border-color:var(--ui-kit-color-grey-11);background-color:var(--ui-kit-color-grey-13)}.kit-grid ::ng-deep .k-checkbox:disabled{border-color:var(--ui-kit-color-grey-11);background-color:var(--ui-kit-color-grey-13)}.kit-grid ::ng-deep .k-master-row .k-hierarchy-cell{padding:12px 8px}.kit-grid ::ng-deep .k-master-row.drag-insert-before .k-table-td{box-shadow:inset 0 2px 0 0 var(--ui-kit-color-main)}.kit-grid ::ng-deep .k-master-row.drag-insert-after .k-table-td{box-shadow:inset 0 -2px 0 0 var(--ui-kit-color-main)}.kit-grid ::ng-deep .k-master-row.expanded .k-table-td{color:var(--ui-kit-color-main);border-bottom-color:var(--ui-kit-color-grey-10)}.kit-grid ::ng-deep .k-master-row.expanded .k-icon:before{color:var(--ui-kit-color-main);transform:rotate(90deg)}.kit-grid ::ng-deep .k-detail-row>.k-table-td{border-bottom:1px solid var(--ui-kit-color-grey-10)}.kit-grid ::ng-deep .k-detail-row .k-detail-cell{padding:0}.kit-grid ::ng-deep .k-detail-row .k-pager{margin:0;padding:20px 0;justify-content:flex-start;background:var(--ui-kit-color-white)}.kit-grid ::ng-deep .k-grid-norecords{text-align:left}.kit-grid ::ng-deep .k-hierarchy-cell .k-icon{display:flex;align-items:center;justify-content:center;font-family:WebComponentsIcons,sans-serif;font-size:22px}.kit-grid ::ng-deep .k-hierarchy-cell .k-icon:before{content:\"\\e005\";color:var(--ui-kit-color-grey-14);transform:rotate(0);transition:transform .2s ease}.kit-grid ::ng-deep .k-hierarchy-cell .k-icon:hover:before{color:var(--ui-kit-color-main)}.kit-grid ::ng-deep .k-hierarchy-cell .k-icon svg{display:none}.kit-grid ::ng-deep .k-pager{display:flex;justify-content:flex-end;margin-top:20px;padding:2px 0;color:var(--ui-kit-color-grey-10);border:none;background:none}.kit-grid ::ng-deep .k-pager:focus{box-shadow:none}.kit-grid ::ng-deep .k-pager-numbers{gap:8px}.kit-grid ::ng-deep .k-pager-numbers-wrap{gap:8px}.kit-grid ::ng-deep .k-pager-numbers-wrap .k-button{width:32px;height:32px;color:var(--ui-kit-color-grey-10);font-size:14px;font-weight:400;border-radius:6px;transition:none}.kit-grid ::ng-deep .k-pager-numbers-wrap .k-button:before{opacity:1;background:none;transition:none}.kit-grid ::ng-deep .k-pager-numbers-wrap .k-button:after,.kit-grid ::ng-deep .k-pager-numbers-wrap .k-button:before{display:none}.kit-grid ::ng-deep .k-pager-numbers-wrap .k-button.k-selected{color:var(--ui-kit-color-main)}.kit-grid ::ng-deep .k-pager-numbers-wrap .k-button.k-selected:before{border:1px solid var(--ui-kit-color-main)}.kit-grid ::ng-deep .k-pager-numbers-wrap .k-button:not(.k-selected):hover{background-color:var(--ui-kit-color-grey-11)!important}.kit-grid ::ng-deep .k-pager-numbers-wrap .k-button.k-disabled{color:var(--ui-kit-color-grey-12)}.kit-grid ::ng-deep .k-pager-numbers-wrap .k-button-icon:before{content:\"\";display:flex;width:14px;height:14px;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-position:center;mask-position:center;-webkit-mask-size:contain;mask-size:contain;background-color:currentcolor}.kit-grid ::ng-deep .k-pager-numbers-wrap .k-svg-i-caret-alt-left:before{-webkit-mask-image:url(\"data:image/svg+xml,%3Csvg width='12' height='12' viewBox='0 0 12 12' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M8.99976 10.3596L8.99976 9.48071C8.99976 9.42094 8.97046 9.36469 8.92241 9.32954L4.33335 6.00024L8.92241 2.67094C8.97046 2.63579 8.99976 2.57954 8.99976 2.51977L8.99976 1.64086C8.99976 1.56469 8.91304 1.52016 8.85093 1.56469L3.15444 5.69672C2.94819 5.84673 2.94819 6.15376 3.15444 6.30258L8.85093 10.4346C8.91304 10.4803 8.99976 10.4358 8.99976 10.3596Z' fill='black'/%3E%3C/svg%3E\");mask-image:url(\"data:image/svg+xml,%3Csvg width='12' height='12' viewBox='0 0 12 12' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M8.99976 10.3596L8.99976 9.48071C8.99976 9.42094 8.97046 9.36469 8.92241 9.32954L4.33335 6.00024L8.92241 2.67094C8.97046 2.63579 8.99976 2.57954 8.99976 2.51977L8.99976 1.64086C8.99976 1.56469 8.91304 1.52016 8.85093 1.56469L3.15444 5.69672C2.94819 5.84673 2.94819 6.15376 3.15444 6.30258L8.85093 10.4346C8.91304 10.4803 8.99976 10.4358 8.99976 10.3596Z' fill='black'/%3E%3C/svg%3E\")}.kit-grid ::ng-deep .k-pager-numbers-wrap .k-svg-i-caret-alt-right:before{-webkit-mask-image:url(\"data:image/svg+xml,%3Csvg width='12' height='12' viewBox='0 0 12 12' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M2.99976 1.64041L2.99976 2.51932C2.99976 2.57909 3.02905 2.63534 3.0771 2.67049L7.66616 5.99979L3.0771 9.32909C3.02905 9.36424 2.99976 9.42049 2.99976 9.48026L2.99976 10.3592C2.99976 10.4353 3.08647 10.4799 3.14858 10.4353L8.84507 6.30331C9.05132 6.15331 9.05132 5.84627 8.84507 5.69745L3.14858 1.56541C3.08647 1.51971 2.99976 1.56424 2.99976 1.64041Z' fill='black'/%3E%3C/svg%3E\");mask-image:url(\"data:image/svg+xml,%3Csvg width='12' height='12' viewBox='0 0 12 12' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M2.99976 1.64041L2.99976 2.51932C2.99976 2.57909 3.02905 2.63534 3.0771 2.67049L7.66616 5.99979L3.0771 9.32909C3.02905 9.36424 2.99976 9.42049 2.99976 9.48026L2.99976 10.3592C2.99976 10.4353 3.08647 10.4799 3.14858 10.4353L8.84507 6.30331C9.05132 6.15331 9.05132 5.84627 8.84507 5.69745L3.14858 1.56541C3.08647 1.51971 2.99976 1.56424 2.99976 1.64041Z' fill='black'/%3E%3C/svg%3E\")}.kit-grid ::ng-deep .k-pager-numbers-wrap .k-svg-i-caret-alt-to-left:before{-webkit-mask-image:url(\"data:image/svg+xml,%3Csvg width='12' height='12' viewBox='0 0 12 12' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cline x1='1' y1='1' x2='1' y2='11' stroke='black' stroke-width='1'/%3E%3Cpath d='M9 10.36L9 9.48C9 9.42 8.97 9.36 8.92 9.33L4.33 6L8.92 2.67C8.97 2.64 9 2.58 9 2.52L9 1.64C9 1.56 8.91 1.52 8.85 1.56L3.15 5.7C2.95 5.85 2.95 6.15 3.15 6.3L8.85 10.43C8.91 10.48 9 10.44 9 10.36Z' fill='black'/%3E%3C/svg%3E\");mask-image:url(\"data:image/svg+xml,%3Csvg width='12' height='12' viewBox='0 0 12 12' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cline x1='1' y1='1' x2='1' y2='11' stroke='black' stroke-width='1'/%3E%3Cpath d='M9 10.36L9 9.48C9 9.42 8.97 9.36 8.92 9.33L4.33 6L8.92 2.67C8.97 2.64 9 2.58 9 2.52L9 1.64C9 1.56 8.91 1.52 8.85 1.56L3.15 5.7C2.95 5.85 2.95 6.15 3.15 6.3L8.85 10.43C8.91 10.48 9 10.44 9 10.36Z' fill='black'/%3E%3C/svg%3E\")}.kit-grid ::ng-deep .k-pager-numbers-wrap .k-svg-i-caret-alt-to-right:before{-webkit-mask-image:url(\"data:image/svg+xml,%3Csvg width='12' height='12' viewBox='0 0 12 12' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M3 1.64L3 2.52C3 2.58 3.03 2.64 3.08 2.67L7.67 6L3.08 9.33C3.03 9.36 3 9.42 3 9.48L3 10.36C3 10.44 3.09 10.48 3.15 10.43L8.85 6.3C9.05 6.15 9.05 5.85 8.85 5.7L3.15 1.56C3.09 1.52 3 1.56 3 1.64Z' fill='black'/%3E%3Cline x1='11' y1='1' x2='11' y2='11' stroke='black' stroke-width='1'/%3E%3C/svg%3E\");mask-image:url(\"data:image/svg+xml,%3Csvg width='12' height='12' viewBox='0 0 12 12' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M3 1.64L3 2.52C3 2.58 3.03 2.64 3.08 2.67L7.67 6L3.08 9.33C3.03 9.36 3 9.42 3 9.48L3 10.36C3 10.44 3.09 10.48 3.15 10.43L8.85 6.3C9.05 6.15 9.05 5.85 8.85 5.7L3.15 1.56C3.09 1.52 3 1.56 3 1.64Z' fill='black'/%3E%3Cline x1='11' y1='1' x2='11' y2='11' stroke='black' stroke-width='1'/%3E%3C/svg%3E\")}.kit-grid ::ng-deep .k-pager-nav{width:32px;height:32px;border-radius:6px}.kit-grid ::ng-deep .k-pager-nav:before,.kit-grid ::ng-deep .k-pager-nav:after{display:none!important}.kit-grid ::ng-deep .k-pager-nav:not(.k-disabled):hover{background:var(--ui-kit-color-grey-11)!important}.kit-grid ::ng-deep .k-pager-info{flex:initial;border-radius:8px;background-color:#fff;padding:5px 16px}.kit-grid ::ng-deep .k-pager .k-button-icon svg{display:none}.kit-grid ::ng-deep .k-grid-aria-root{position:relative}.kit-grid ::ng-deep .k-loading-color{background:var(--ui-kit-color-grey-13)}.kit-grid ::ng-deep .expand-disabled .k-hierarchy-cell a{pointer-events:none;opacity:.3}.kit-grid ::ng-deep .checkbox-hidden .k-checkbox-wrap{visibility:hidden}.kit-grid ::ng-deep .k-picker{height:32px;border-radius:4px;border:1px solid var(--ui-kit-color-grey-11);background:var(--ui-kit-color-white)}.kit-grid ::ng-deep .k-picker:hover{border-color:var(--ui-kit-color-hover)}.kit-grid ::ng-deep .k-picker.k-focus{border:1px solid var(--ui-kit-color-main);box-shadow:0 0 0 2px var(--ui-kit-color-focus)}.kit-grid ::ng-deep .k-picker[aria-expanded=true] .k-svg-i-caret-alt-down:before{transform:rotate(180deg)}.kit-grid ::ng-deep .k-picker .k-svg-i-caret-alt-down:before{content:\"\\e015\";color:var(--ui-kit-color-grey-12);font-family:WebComponentsIcons,sans-serif}.kit-grid ::ng-deep .k-grid.kit-grid--radio .k-checkbox{border-radius:50%}.kit-grid ::ng-deep .k-grid.kit-grid--radio .k-checkbox:after{content:\"\";display:block;width:8px;height:8px;border-radius:50%;background-color:transparent;margin:auto;position:absolute;inset:0}.kit-grid ::ng-deep .k-grid.kit-grid--radio .k-checkbox:checked,.kit-grid ::ng-deep .k-grid.kit-grid--radio .k-checkbox.k-checked{background-color:var(--ui-kit-color-grey-13)}.kit-grid ::ng-deep .k-grid.kit-grid--radio .k-checkbox:checked:after,.kit-grid ::ng-deep .k-grid.kit-grid--radio .k-checkbox.k-checked:after{background-color:var(--ui-kit-color-main)}.kit-grid ::ng-deep .k-grid.kit-grid--radio .k-checkbox:checked:disabled:after,.kit-grid ::ng-deep .k-grid.kit-grid--radio .k-checkbox.k-checked:disabled:after{background-color:var(--ui-kit-color-grey-11)}::ng-deep .kit-grid-row-hint{overflow:hidden;border:1px solid var(--ui-kit-color-grey-11);border-radius:8px;background:var(--ui-kit-color-white);box-shadow:0 10px 24px #11182724;z-index:10002}::ng-deep .kit-grid-row-hint .k-table-td{padding:10px 8px;border-color:var(--ui-kit-color-grey-11);color:var(--ui-kit-color-grey-10);background:var(--ui-kit-color-white)}::ng-deep .kit-grid.k-grid:has(.k-grid-norecords) .k-pager-numbers-wrap{display:none}::ng-deep .k-animation-container .k-list-item.k-selected{background-color:var(--ui-kit-color-main);color:var(--ui-kit-color-white)}::ng-deep .k-animation-container .k-list-item:hover:not(.k-selected){color:var(--ui-kit-color-main)}\n"], dependencies: [{ kind: "ngmodule", type: GridModule }, { kind: "component", type: i1$d.GridComponent, selector: "kendo-grid", inputs: ["data", "pageSize", "height", "rowHeight", "adaptiveMode", "detailRowHeight", "skip", "scrollable", "selectable", "sort", "size", "trackBy", "filter", "group", "virtualColumns", "filterable", "sortable", "pageable", "groupable", "gridResizable", "rowReorderable", "navigable", "autoSize", "rowClass", "rowSticky", "rowSelected", "isRowSelectable", "cellSelected", "resizable", "reorderable", "loading", "columnMenu", "hideHeader", "showInactiveTools", "isDetailExpanded", "isGroupExpanded", "dataLayoutMode"], outputs: ["filterChange", "pageChange", "groupChange", "sortChange", "selectionChange", "rowReorder", "dataStateChange", "gridStateChange", "groupExpand", "groupCollapse", "detailExpand", "detailCollapse", "edit", "cancel", "save", "remove", "add", "cellClose", "cellClick", "pdfExport", "excelExport", "csvExport", "columnResize", "columnReorder", "columnVisibilityChange", "columnLockedChange", "columnStickyChange", "scrollBottom", "contentScroll"], exportAs: ["kendoGrid"] }, { kind: "directive", type: i1$d.DataBindingDirective, selector: "[kendoGridBinding]", inputs: ["skip", "sort", "filter", "pageSize", "group", "kendoGridBinding"], exportAs: ["kendoGridBinding"] }, { kind: "directive", type: i1$d.SelectionDirective, selector: "[kendoGridSelectBy]" }, { kind: "component", type: i1$d.CustomMessagesComponent, selector: "kendo-grid-messages" }, { kind: "directive", type: i1$d.ExpandDetailsDirective, selector: "[kendoGridExpandDetailsBy]", inputs: ["kendoGridExpandDetailsBy", "expandDetailBy", "expandedDetailKeys", "initiallyExpanded"], outputs: ["expandedDetailKeysChange"], exportAs: ["kendoGridExpandDetailsBy"] }, { kind: "component", type: i1$d.ColumnComponent, selector: "kendo-grid-column", inputs: ["field", "format", "sortable", "groupable", "editor", "filter", "filterVariant", "filterable", "editable"] }, { kind: "directive", type: i1$d.FooterTemplateDirective, selector: "[kendoGridFooterTemplate]" }, { kind: "directive", type: i1$d.DetailTemplateDirective, selector: "[kendoGridDetailTemplate]", inputs: ["kendoGridDetailTemplateShowIf"] }, { kind: "component", type: i1$d.CheckboxColumnComponent, selector: "kendo-grid-checkbox-column", inputs: ["showSelectAll", "showDisabledCheckbox"] }, { kind: "directive", type: i1$d.CellTemplateDirective, selector: "[kendoGridCellTemplate]" }, { kind: "directive", type: i1$d.HeaderTemplateDirective, selector: "[kendoGridHeaderTemplate]" }, { kind: "component", type: i2.PagerInfoComponent, selector: "kendo-datapager-info, kendo-pager-info" }, { kind: "component", type: i2.PagerNextButtonsComponent, selector: "kendo-datapager-next-buttons, kendo-pager-next-buttons", inputs: ["size"] }, { kind: "component", type: i2.PagerNumericButtonsComponent, selector: "kendo-datapager-numeric-buttons, kendo-pager-numeric-buttons", inputs: ["buttonCount", "size"] }, { kind: "component", type: i2.PagerPrevButtonsComponent, selector: "kendo-datapager-prev-buttons, kendo-pager-prev-buttons", inputs: ["size"] }, { kind: "directive", type: i2.PagerTemplateDirective, selector: "[kendoDataPagerTemplate], [kendoPagerTemplate]" }, { kind: "component", type: KitSvgIconComponent, selector: "kit-svg-icon", inputs: ["icon", "iconClass"] }, { kind: "component", type: KitCheckboxComponent, selector: "kit-checkbox", inputs: ["label", "disabled", "checked", "readonly", "state", "messageIcon", "messageText", "indeterminate"], outputs: ["changed"] }, { kind: "ngmodule", type: ExcelModule }, { kind: "component", type: i1$d.ExcelComponent, selector: "kendo-grid-excel", inputs: ["fileName", "filterable", "creator", "date", "forceProxy", "proxyURL", "fetchData", "paddingCellOptions", "headerPaddingCellOptions", "collapsible"], outputs: ["fileCreated"] }, { kind: "ngmodule", type: PDFModule }, { kind: "component", type: i1$d.PDFComponent, selector: "kendo-grid-pdf", inputs: ["allPages", "delay"] }, { kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i3.DragTargetContainerDirective, selector: "[kendoDragTargetContainer]", inputs: ["hint", "dragTargetFilter", "dragHandle", "dragDelay", "threshold", "dragTargetId", "dragData", "dragDisabled", "mode", "cursorStyle", "hintContext"], outputs: ["onDragReady", "onPress", "onDragStart", "onDrag", "onRelease", "onDragEnd"], exportAs: ["kendoDragTargetContainer"] }, { kind: "directive", type: i3.DropTargetContainerDirective, selector: "[kendoDropTargetContainer]", inputs: ["dropTargetFilter", "dropDisabled"], outputs: ["onDragEnter", "onDragOver", "onDragLeave", "onDrop"], exportAs: ["kendoDropTargetContainer"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
7365
|
+
], queries: [{ propertyName: "columnMarkersContent", predicate: KIT_GRID_COLUMN_MARKER, isSignal: true }], viewQueries: [{ propertyName: "dragTargetContainer", first: true, predicate: DragTargetContainerDirective, descendants: true, isSignal: true }, { propertyName: "dropTargetContainer", first: true, predicate: DropTargetContainerDirective, descendants: true, isSignal: true }, { propertyName: "gridComponent", first: true, predicate: GridComponent, descendants: true }], ngImport: i0, template: "@if (data()) {\n <div class=\"kit-grid\"\n kendoDragTargetContainer\n kendoDropTargetContainer\n dragTargetFilter=\".k-master-row\"\n dropTargetFilter=\".k-master-row\"\n dragHandle=\".k-master-row\"\n [dragDisabled]=\"!rowReorderable()\"\n [dropDisabled]=\"!rowReorderable()\"\n [dragData]=\"dragData\"\n [hint]=\"{ hintClass: 'kit-grid-row-hint' }\"\n (onDragOver)=\"onRowDragOver($event)\"\n (onRelease)=\"onDragRelease()\"\n (onDrop)=\"onDrop()\">\n <kendo-grid kendoGridExpandDetailsBy\n [class.kit-grid--radio]=\"isRadioColumn()\"\n [data]=\"renderedData()\"\n [sortable]=\"sortable\"\n [sort]=\"sort\"\n [rowClass]=\"getCssRowClass\"\n [pageable]=\"getPagerSettings()\"\n [pageSize]=\"pageSize\"\n [skip]=\"skip()\"\n [loading]=\"loading()\"\n [resizable]=\"resizable()\"\n [(expandedDetailKeys)]=\"expandedRows\"\n [kendoGridSelectBy]=\"selectByField() || ''\"\n [isRowSelectable]=\"isRowSelectable.bind(this)\"\n [selectable]=\"selectableSettings()\"\n (cellClick)=\"onCellClick($event)\"\n (detailExpand)=\"onDetailExpand($event)\"\n (detailCollapse)=\"onDetailCollapse($event)\"\n (sortChange)=\"onSortChange($event)\"\n (pageChange)=\"onPageChange($event)\"\n (dataStateChange)=\"onDataStateChange($event)\"\n [selectedKeys]=\"selectedKeys()\"\n (selectedKeysChange)=\"selectedKeys.set(limitSelectedKeys($event))\"\n (selectionChange)=\"selectionChanged.emit($event)\"\n (excelExport)=\"excelExport.emit($event)\">\n @for (column of columnMarkers(); track $index) {\n @if (isCheckboxColumn(column)) {\n <kendo-grid-checkbox-column [width]=\"column.width()\"\n [showSelectAll]=\"!isRadioColumn() && column.showSelectAll()\">\n @if (!isRadioColumn() && column.showSelectAll()) {\n <ng-template kendoGridHeaderTemplate>\n <div class=\"kit-grid-select-all\">\n <kit-checkbox [checked]=\"headerCheckboxState() === 'checked'\"\n [indeterminate]=\"headerCheckboxState() === 'indeterminate'\"\n [disabled]=\"isHeaderCheckboxDisabled()\"\n (changed)=\"onHeaderCheckboxChanged($event)\">\n </kit-checkbox>\n </div>\n </ng-template>\n }\n </kendo-grid-checkbox-column>\n } @else {\n <kendo-grid-column [field]=\"column.field\"\n [sortable]=\"column.sortable\"\n [hidden]=\"column.hidden\"\n [width]=\"column.width\">\n <ng-template kendoGridHeaderTemplate>\n <ng-container *ngTemplateOutlet=\"columnHeaderTemplate; context: { $implicit: column }\"\n ></ng-container>\n </ng-template>\n\n @if (column.cellTemplate) {\n <ng-template kendoGridCellTemplate\n let-dataItem>\n <ng-container *ngTemplateOutlet=\"column.cellTemplate; context: { $implicit: dataItem }\"\n ></ng-container>\n </ng-template>\n }\n\n @if (showFooter) {\n <ng-template kendoGridFooterTemplate>\n <ng-container *ngTemplateOutlet=\"footerTemplate; context: { $implicit: column }\"></ng-container>\n </ng-template>\n }\n </kendo-grid-column>\n\n @if (gridDetailTemplate()) {\n <ng-template kendoGridDetailTemplate\n let-dataItem\n [kendoGridDetailTemplateShowIf]=\"detailTemplateShowIf\">\n <ng-container *ngTemplateOutlet=\"gridDetailTemplate(); context: { $implicit: dataItem }\"\n ></ng-container>\n </ng-template>\n }\n }\n }\n <kendo-grid-excel [fileName]=\"pdfOptions.fileName\" />\n <kendo-grid-pdf [fileName]=\"pdfOptions.fileName\"\n [allPages]=\"pdfOptions.allPages\"\n [paperSize]=\"pdfOptions.paperSize\"\n [scale]=\"pdfOptions.scale\"\n [landscape]=\"pdfOptions.landscape\"\n [repeatHeaders]=\"true\" />\n\n <ng-container *ngTemplateOutlet=\"pagerTemplate\" />\n <kendo-grid-messages [pagerItems]=\"pagerInfoText()\"\n [pagerOf]=\"'of'\"\n [noRecords]=\"noRecordsText()\">\n </kendo-grid-messages>\n </kendo-grid>\n </div>\n}\n\n@if (gridDataBinding()) {\n <div class=\"kit-grid\"\n kendoDragTargetContainer\n kendoDropTargetContainer\n dragTargetFilter=\".k-master-row\"\n dropTargetFilter=\".k-master-row\"\n dragHandle=\".k-master-row\"\n [dragDisabled]=\"!rowReorderable()\"\n [dropDisabled]=\"!rowReorderable()\"\n [dragData]=\"dragData\"\n [hint]=\"{ hintClass: 'kit-grid-row-hint' }\"\n (onDragOver)=\"onRowDragOver($event)\"\n (onRelease)=\"onDragRelease()\"\n (onDrop)=\"onDrop()\">\n <kendo-grid kendoGridExpandDetailsBy\n [class.kit-grid--radio]=\"isRadioColumn()\"\n [kendoGridBinding]=\"renderedGridDataBinding()\"\n [rowClass]=\"getCssRowClass\"\n [pageable]=\"getPagerSettings()\"\n [pageSize]=\"pageSize\"\n [sortable]=\"sortable\"\n [sort]=\"sort\"\n [skip]=\"skip()\"\n [loading]=\"loading()\"\n [resizable]=\"resizable()\"\n [(expandedDetailKeys)]=\"expandedRows\"\n [kendoGridSelectBy]=\"selectByField() || ''\"\n [isRowSelectable]=\"isRowSelectable.bind(this)\"\n [selectable]=\"selectableSettings()\"\n (cellClick)=\"onCellClick($event)\"\n (detailExpand)=\"onDetailExpand($event)\"\n (detailCollapse)=\"onDetailCollapse($event)\"\n (pageChange)=\"onPageChange($event)\"\n (sortChange)=\"onSortChange($event)\"\n (dataStateChange)=\"onDataStateChange($event)\"\n [selectedKeys]=\"selectedKeys()\"\n (selectedKeysChange)=\"selectedKeys.set(limitSelectedKeys($event))\"\n (selectionChange)=\"selectionChanged.emit($event)\"\n (excelExport)=\"excelExport.emit($event)\">\n @for (column of columnMarkers(); track $index) {\n @if (isCheckboxColumn(column)) {\n <kendo-grid-checkbox-column [width]=\"column.width()\"\n [showSelectAll]=\"!isRadioColumn() && column.showSelectAll()\">\n @if (!isRadioColumn() && column.showSelectAll()) {\n <ng-template kendoGridHeaderTemplate>\n <div class=\"kit-grid-select-all\">\n <kit-checkbox [checked]=\"headerCheckboxState() === 'checked'\"\n [indeterminate]=\"headerCheckboxState() === 'indeterminate'\"\n [disabled]=\"isHeaderCheckboxDisabled()\"\n (changed)=\"onHeaderCheckboxChanged($event)\">\n </kit-checkbox>\n </div>\n </ng-template>\n }\n </kendo-grid-checkbox-column>\n } @else {\n <kendo-grid-column [field]=\"column.field\"\n [sortable]=\"column.sortable\"\n [hidden]=\"column.hidden\"\n [width]=\"column.width\">\n @if (column.cellTemplate) {\n <ng-template kendoGridCellTemplate\n let-dataItem>\n <ng-container *ngTemplateOutlet=\"column.cellTemplate; context: { $implicit: dataItem }\"\n ></ng-container>\n </ng-template>\n }\n\n <ng-template kendoGridHeaderTemplate>\n <ng-container *ngTemplateOutlet=\"columnHeaderTemplate; context: { $implicit: column }\"\n ></ng-container>\n </ng-template>\n\n @if (showFooter) {\n <ng-template kendoGridFooterTemplate>\n <ng-container *ngTemplateOutlet=\"footerTemplate; context: { $implicit: column }\"></ng-container>\n </ng-template>\n }\n </kendo-grid-column>\n\n @if (gridDetailTemplate()) {\n <ng-template kendoGridDetailTemplate\n let-dataItem\n [kendoGridDetailTemplateShowIf]=\"detailTemplateShowIf\">\n <ng-container *ngTemplateOutlet=\"gridDetailTemplate(); context: { $implicit: dataItem }\"\n ></ng-container>\n </ng-template>\n }\n }\n }\n <kendo-grid-excel [fileName]=\"pdfOptions.fileName\" />\n <kendo-grid-pdf [fileName]=\"pdfOptions.fileName\"\n [allPages]=\"pdfOptions.allPages\"\n [paperSize]=\"pdfOptions.paperSize\"\n [scale]=\"pdfOptions.scale\"\n [landscape]=\"pdfOptions.landscape\"\n [repeatHeaders]=\"true\" />\n\n <ng-container *ngTemplateOutlet=\"pagerTemplate\" />\n <kendo-grid-messages pagerOf=\"of\"\n [pagerItems]=\"pagerInfoText()\"\n [noRecords]=\"noRecordsText()\">\n </kendo-grid-messages>\n </kendo-grid>\n </div>\n}\n\n<ng-template #columnHeaderTemplate\n let-column>\n <div class=\"grid-title\"\n [class.sortable]=\"isColumnSortable(column)\">\n @if (column.titleIcon) {\n <kit-svg-icon class=\"grid-title-icon\"\n [icon]=\"column.titleIcon\"\n [ngClass]=\"column.titleIconType\"\n ></kit-svg-icon>\n }\n\n <div class=\"grid-title-text\">\n {{ column.title }}\n </div>\n\n @if (sortable && column.sortable) {\n @switch (getSortingDirection(column.field)) {\n @case (kitSortDirection.ASC) {\n <kit-svg-icon class=\"grid-title-sort-icon\"\n [icon]=\"kitSvgIcon.SORT_ASCENDING\"\n ></kit-svg-icon>\n }\n @case (kitSortDirection.DESC) {\n <kit-svg-icon class=\"grid-title-sort-icon\"\n [icon]=\"kitSvgIcon.SORT_DESCENDING\"\n ></kit-svg-icon>\n }\n }\n }\n </div>\n</ng-template>\n\n<ng-template #footerTemplate\n let-column>\n @if (columns(); as columns) {\n @if (footerTitle && column === columns[0]) {\n {{ footerTitle }}\n } @else {\n {{ footerData?.[column.field] || '' }}\n }\n }\n</ng-template>\n\n<ng-template #pagerTemplate\n kendoPagerTemplate>\n <kendo-pager-prev-buttons></kendo-pager-prev-buttons>\n <kendo-pager-numeric-buttons></kendo-pager-numeric-buttons>\n <kendo-pager-next-buttons></kendo-pager-next-buttons>\n <kendo-pager-info></kendo-pager-info>\n</ng-template>\n", styles: [".kit-grid{height:100%}.kit-grid .kit-grid-select-all{display:flex;align-items:center;justify-content:center;width:100%}.kit-grid .grid-title{display:flex;align-items:center;gap:8px;flex:1;line-height:1;min-width:0}.kit-grid .grid-title-icon{display:block;width:16px;height:16px;flex-shrink:0}.kit-grid .grid-title-icon.fill{fill:var(--ui-kit-color-grey-12);stroke:none}.kit-grid .grid-title-icon.stroke{fill:none;stroke:var(--ui-kit-color-grey-12)}.kit-grid .grid-title-text{font-weight:500;line-height:22px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.kit-grid .grid-title-sort-icon{display:block;margin-left:auto;width:16px;height:16px;fill:var(--ui-kit-color-grey-12)}.kit-grid .grid-title.sortable{cursor:pointer}.kit-grid ::ng-deep .k-grid{border:none;background:none;max-height:100%}.kit-grid ::ng-deep .k-grid-table{color:var(--ui-kit-color-grey-10);font-size:14px;font-weight:400}.kit-grid ::ng-deep .k-grid-header{padding:0!important;border:none}.kit-grid ::ng-deep .k-grid-footer{padding:0!important}.kit-grid ::ng-deep .k-grid-content{overflow-y:auto}.kit-grid ::ng-deep .k-grid-content::-webkit-scrollbar{height:8px;width:8px}.kit-grid ::ng-deep .k-grid-content::-webkit-scrollbar-thumb{background-color:var(--ui-kit-color-grey-12);border-radius:4px}.kit-grid ::ng-deep .k-grid-content::-webkit-scrollbar-thumb:hover{background-color:var(--ui-kit-color-grey-18)}.kit-grid ::ng-deep .k-table{margin:0}.kit-grid ::ng-deep .k-table-th{padding:8px 0;border:none;border-bottom:1px solid var(--ui-kit-color-grey-11);background:var(--ui-kit-color-grey-15);box-shadow:none}.kit-grid ::ng-deep .k-table-th .k-cell-inner{margin:0}.kit-grid ::ng-deep .k-table-th .k-cell-inner .k-link{padding:0 8px;border-right:1px solid var(--ui-kit-color-grey-11);cursor:default}.kit-grid ::ng-deep .k-table-th .k-sort-icon{display:none}.kit-grid ::ng-deep .k-table-th .k-sort-order{margin-left:2px;color:var(--ui-kit-color-main)}.kit-grid ::ng-deep .k-table-th.k-sorted{color:var(--ui-kit-color-main);border-bottom:1px solid var(--ui-kit-color-main)}.kit-grid ::ng-deep .k-table-th.k-sorted .grid-title-icon.fill{fill:var(--ui-kit-color-main);stroke:none}.kit-grid ::ng-deep .k-table-th.k-sorted .grid-title-icon.stroke{fill:none;stroke:var(--ui-kit-color-main)}.kit-grid ::ng-deep .k-table-th.k-sorted .grid-title-sort-icon{fill:var(--ui-kit-color-main)}.kit-grid ::ng-deep .k-table-row:not(.k-detail-row):hover,.kit-grid ::ng-deep .k-table-row:hover{background:none}.kit-grid ::ng-deep .k-table-row.k-selected>.k-table-td{background-color:var(--ui-kit-color-selected)}.kit-grid ::ng-deep .k-table-row.kit-grid-row-dragging{position:relative;box-shadow:4px 4px 8px #0003}.kit-grid ::ng-deep .k-table-row .k-table-td{border-bottom-width:1px;box-shadow:none}.kit-grid ::ng-deep .k-table-alt-row{background:none}.kit-grid ::ng-deep .k-table-td{padding:12px 8px;border-color:var(--ui-kit-color-grey-11);border-bottom-width:1px;background:var(--ui-kit-color-white);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.kit-grid ::ng-deep .k-table-td:first-child{border-inline-start-width:1px}.kit-grid ::ng-deep .k-checkbox-wrap{display:flex;align-items:center;justify-content:center}.kit-grid ::ng-deep .k-checkbox{width:16px;height:16px;border-radius:4px;border:1px solid var(--ui-kit-color-grey-11);background-color:var(--ui-kit-color-grey-13)}.kit-grid ::ng-deep .k-checkbox.k-indeterminate{color:var(--ui-kit-color-main)}.kit-grid ::ng-deep .k-checkbox:hover:not(:disabled){border-color:var(--ui-kit-color-main)}.kit-grid ::ng-deep .k-checkbox:focus,.kit-grid ::ng-deep .k-checkbox.k-focus{box-shadow:0 0 0 2px var(--ui-kit-color-focus)}.kit-grid ::ng-deep .k-checkbox:checked,.kit-grid ::ng-deep .k-checkbox.k-checked{border-color:var(--ui-kit-color-main);background-color:var(--ui-kit-color-main)}.kit-grid ::ng-deep .k-checkbox:checked:disabled,.kit-grid ::ng-deep .k-checkbox.k-checked:disabled{border-color:var(--ui-kit-color-grey-11);background-color:var(--ui-kit-color-grey-13)}.kit-grid ::ng-deep .k-checkbox:disabled{border-color:var(--ui-kit-color-grey-11);background-color:var(--ui-kit-color-grey-13)}.kit-grid ::ng-deep .k-master-row .k-hierarchy-cell{padding:12px 8px}.kit-grid ::ng-deep .k-master-row.expanded .k-table-td{color:var(--ui-kit-color-main);border-bottom-color:var(--ui-kit-color-grey-10)}.kit-grid ::ng-deep .k-master-row.expanded .k-icon:before{color:var(--ui-kit-color-main);transform:rotate(90deg)}.kit-grid ::ng-deep .k-detail-row>.k-table-td{border-bottom:1px solid var(--ui-kit-color-grey-10)}.kit-grid ::ng-deep .k-detail-row .k-detail-cell{padding:0}.kit-grid ::ng-deep .k-detail-row .k-pager{margin:0;padding:20px 0;justify-content:flex-start;background:var(--ui-kit-color-white)}.kit-grid ::ng-deep .k-grid-norecords{text-align:left}.kit-grid ::ng-deep .k-hierarchy-cell .k-icon{display:flex;align-items:center;justify-content:center;font-family:WebComponentsIcons,sans-serif;font-size:22px}.kit-grid ::ng-deep .k-hierarchy-cell .k-icon:before{content:\"\\e005\";color:var(--ui-kit-color-grey-14);transform:rotate(0);transition:transform .2s ease}.kit-grid ::ng-deep .k-hierarchy-cell .k-icon:hover:before{color:var(--ui-kit-color-main)}.kit-grid ::ng-deep .k-hierarchy-cell .k-icon svg{display:none}.kit-grid ::ng-deep .k-pager{display:flex;justify-content:flex-end;margin-top:20px;padding:2px 0;color:var(--ui-kit-color-grey-10);border:none;background:none}.kit-grid ::ng-deep .k-pager:focus{box-shadow:none}.kit-grid ::ng-deep .k-pager-numbers{gap:8px}.kit-grid ::ng-deep .k-pager-numbers-wrap{gap:8px}.kit-grid ::ng-deep .k-pager-numbers-wrap .k-button{width:32px;height:32px;color:var(--ui-kit-color-grey-10);font-size:14px;font-weight:400;border-radius:6px;transition:none}.kit-grid ::ng-deep .k-pager-numbers-wrap .k-button:before{opacity:1;background:none;transition:none}.kit-grid ::ng-deep .k-pager-numbers-wrap .k-button:after,.kit-grid ::ng-deep .k-pager-numbers-wrap .k-button:before{display:none}.kit-grid ::ng-deep .k-pager-numbers-wrap .k-button.k-selected{color:var(--ui-kit-color-main)}.kit-grid ::ng-deep .k-pager-numbers-wrap .k-button.k-selected:before{border:1px solid var(--ui-kit-color-main)}.kit-grid ::ng-deep .k-pager-numbers-wrap .k-button:not(.k-selected):hover{background-color:var(--ui-kit-color-grey-11)!important}.kit-grid ::ng-deep .k-pager-numbers-wrap .k-button.k-disabled{color:var(--ui-kit-color-grey-12)}.kit-grid ::ng-deep .k-pager-numbers-wrap .k-button-icon:before{content:\"\";display:flex;width:14px;height:14px;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-position:center;mask-position:center;-webkit-mask-size:contain;mask-size:contain;background-color:currentcolor}.kit-grid ::ng-deep .k-pager-numbers-wrap .k-svg-i-caret-alt-left:before{-webkit-mask-image:url(\"data:image/svg+xml,%3Csvg width='12' height='12' viewBox='0 0 12 12' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M8.99976 10.3596L8.99976 9.48071C8.99976 9.42094 8.97046 9.36469 8.92241 9.32954L4.33335 6.00024L8.92241 2.67094C8.97046 2.63579 8.99976 2.57954 8.99976 2.51977L8.99976 1.64086C8.99976 1.56469 8.91304 1.52016 8.85093 1.56469L3.15444 5.69672C2.94819 5.84673 2.94819 6.15376 3.15444 6.30258L8.85093 10.4346C8.91304 10.4803 8.99976 10.4358 8.99976 10.3596Z' fill='black'/%3E%3C/svg%3E\");mask-image:url(\"data:image/svg+xml,%3Csvg width='12' height='12' viewBox='0 0 12 12' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M8.99976 10.3596L8.99976 9.48071C8.99976 9.42094 8.97046 9.36469 8.92241 9.32954L4.33335 6.00024L8.92241 2.67094C8.97046 2.63579 8.99976 2.57954 8.99976 2.51977L8.99976 1.64086C8.99976 1.56469 8.91304 1.52016 8.85093 1.56469L3.15444 5.69672C2.94819 5.84673 2.94819 6.15376 3.15444 6.30258L8.85093 10.4346C8.91304 10.4803 8.99976 10.4358 8.99976 10.3596Z' fill='black'/%3E%3C/svg%3E\")}.kit-grid ::ng-deep .k-pager-numbers-wrap .k-svg-i-caret-alt-right:before{-webkit-mask-image:url(\"data:image/svg+xml,%3Csvg width='12' height='12' viewBox='0 0 12 12' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M2.99976 1.64041L2.99976 2.51932C2.99976 2.57909 3.02905 2.63534 3.0771 2.67049L7.66616 5.99979L3.0771 9.32909C3.02905 9.36424 2.99976 9.42049 2.99976 9.48026L2.99976 10.3592C2.99976 10.4353 3.08647 10.4799 3.14858 10.4353L8.84507 6.30331C9.05132 6.15331 9.05132 5.84627 8.84507 5.69745L3.14858 1.56541C3.08647 1.51971 2.99976 1.56424 2.99976 1.64041Z' fill='black'/%3E%3C/svg%3E\");mask-image:url(\"data:image/svg+xml,%3Csvg width='12' height='12' viewBox='0 0 12 12' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M2.99976 1.64041L2.99976 2.51932C2.99976 2.57909 3.02905 2.63534 3.0771 2.67049L7.66616 5.99979L3.0771 9.32909C3.02905 9.36424 2.99976 9.42049 2.99976 9.48026L2.99976 10.3592C2.99976 10.4353 3.08647 10.4799 3.14858 10.4353L8.84507 6.30331C9.05132 6.15331 9.05132 5.84627 8.84507 5.69745L3.14858 1.56541C3.08647 1.51971 2.99976 1.56424 2.99976 1.64041Z' fill='black'/%3E%3C/svg%3E\")}.kit-grid ::ng-deep .k-pager-numbers-wrap .k-svg-i-caret-alt-to-left:before{-webkit-mask-image:url(\"data:image/svg+xml,%3Csvg width='12' height='12' viewBox='0 0 12 12' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cline x1='1' y1='1' x2='1' y2='11' stroke='black' stroke-width='1'/%3E%3Cpath d='M9 10.36L9 9.48C9 9.42 8.97 9.36 8.92 9.33L4.33 6L8.92 2.67C8.97 2.64 9 2.58 9 2.52L9 1.64C9 1.56 8.91 1.52 8.85 1.56L3.15 5.7C2.95 5.85 2.95 6.15 3.15 6.3L8.85 10.43C8.91 10.48 9 10.44 9 10.36Z' fill='black'/%3E%3C/svg%3E\");mask-image:url(\"data:image/svg+xml,%3Csvg width='12' height='12' viewBox='0 0 12 12' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cline x1='1' y1='1' x2='1' y2='11' stroke='black' stroke-width='1'/%3E%3Cpath d='M9 10.36L9 9.48C9 9.42 8.97 9.36 8.92 9.33L4.33 6L8.92 2.67C8.97 2.64 9 2.58 9 2.52L9 1.64C9 1.56 8.91 1.52 8.85 1.56L3.15 5.7C2.95 5.85 2.95 6.15 3.15 6.3L8.85 10.43C8.91 10.48 9 10.44 9 10.36Z' fill='black'/%3E%3C/svg%3E\")}.kit-grid ::ng-deep .k-pager-numbers-wrap .k-svg-i-caret-alt-to-right:before{-webkit-mask-image:url(\"data:image/svg+xml,%3Csvg width='12' height='12' viewBox='0 0 12 12' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M3 1.64L3 2.52C3 2.58 3.03 2.64 3.08 2.67L7.67 6L3.08 9.33C3.03 9.36 3 9.42 3 9.48L3 10.36C3 10.44 3.09 10.48 3.15 10.43L8.85 6.3C9.05 6.15 9.05 5.85 8.85 5.7L3.15 1.56C3.09 1.52 3 1.56 3 1.64Z' fill='black'/%3E%3Cline x1='11' y1='1' x2='11' y2='11' stroke='black' stroke-width='1'/%3E%3C/svg%3E\");mask-image:url(\"data:image/svg+xml,%3Csvg width='12' height='12' viewBox='0 0 12 12' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M3 1.64L3 2.52C3 2.58 3.03 2.64 3.08 2.67L7.67 6L3.08 9.33C3.03 9.36 3 9.42 3 9.48L3 10.36C3 10.44 3.09 10.48 3.15 10.43L8.85 6.3C9.05 6.15 9.05 5.85 8.85 5.7L3.15 1.56C3.09 1.52 3 1.56 3 1.64Z' fill='black'/%3E%3Cline x1='11' y1='1' x2='11' y2='11' stroke='black' stroke-width='1'/%3E%3C/svg%3E\")}.kit-grid ::ng-deep .k-pager-nav{width:32px;height:32px;border-radius:6px}.kit-grid ::ng-deep .k-pager-nav:before,.kit-grid ::ng-deep .k-pager-nav:after{display:none!important}.kit-grid ::ng-deep .k-pager-nav:not(.k-disabled):hover{background:var(--ui-kit-color-grey-11)!important}.kit-grid ::ng-deep .k-pager-info{flex:initial;border-radius:8px;background-color:#fff;padding:5px 16px}.kit-grid ::ng-deep .k-pager .k-button-icon svg{display:none}.kit-grid ::ng-deep .k-grid-aria-root{position:relative}.kit-grid ::ng-deep .k-loading-color{background:var(--ui-kit-color-grey-13)}.kit-grid ::ng-deep .expand-disabled .k-hierarchy-cell a{pointer-events:none;opacity:.3}.kit-grid ::ng-deep .checkbox-hidden .k-checkbox-wrap{visibility:hidden}.kit-grid ::ng-deep .k-picker{height:32px;border-radius:4px;border:1px solid var(--ui-kit-color-grey-11);background:var(--ui-kit-color-white)}.kit-grid ::ng-deep .k-picker:hover{border-color:var(--ui-kit-color-hover)}.kit-grid ::ng-deep .k-picker.k-focus{border:1px solid var(--ui-kit-color-main);box-shadow:0 0 0 2px var(--ui-kit-color-focus)}.kit-grid ::ng-deep .k-picker[aria-expanded=true] .k-svg-i-caret-alt-down:before{transform:rotate(180deg)}.kit-grid ::ng-deep .k-picker .k-svg-i-caret-alt-down:before{content:\"\\e015\";color:var(--ui-kit-color-grey-12);font-family:WebComponentsIcons,sans-serif}.kit-grid ::ng-deep .k-grid.kit-grid--radio .k-checkbox{border-radius:50%}.kit-grid ::ng-deep .k-grid.kit-grid--radio .k-checkbox:after{content:\"\";display:block;width:8px;height:8px;border-radius:50%;background-color:transparent;margin:auto;position:absolute;inset:0}.kit-grid ::ng-deep .k-grid.kit-grid--radio .k-checkbox:checked,.kit-grid ::ng-deep .k-grid.kit-grid--radio .k-checkbox.k-checked{background-color:var(--ui-kit-color-grey-13)}.kit-grid ::ng-deep .k-grid.kit-grid--radio .k-checkbox:checked:after,.kit-grid ::ng-deep .k-grid.kit-grid--radio .k-checkbox.k-checked:after{background-color:var(--ui-kit-color-main)}.kit-grid ::ng-deep .k-grid.kit-grid--radio .k-checkbox:checked:disabled:after,.kit-grid ::ng-deep .k-grid.kit-grid--radio .k-checkbox.k-checked:disabled:after{background-color:var(--ui-kit-color-grey-11)}::ng-deep .kit-grid-row-hint{overflow:hidden;border:1px solid var(--ui-kit-color-grey-11);background:var(--ui-kit-color-white);box-shadow:0 10px 24px #11182724;z-index:10002!important}::ng-deep .kit-grid-row-hint .k-table-td{min-width:170px;padding:10px 8px;border-color:var(--ui-kit-color-grey-11);color:var(--ui-kit-color-grey-10);background:var(--ui-kit-color-white)}::ng-deep .kit-grid.k-grid:has(.k-grid-norecords) .k-pager-numbers-wrap{display:none}::ng-deep .k-animation-container .k-list-item.k-selected{background-color:var(--ui-kit-color-main);color:var(--ui-kit-color-white)}::ng-deep .k-animation-container .k-list-item:hover:not(.k-selected){color:var(--ui-kit-color-main)}\n"], dependencies: [{ kind: "ngmodule", type: GridModule }, { kind: "component", type: i1$d.GridComponent, selector: "kendo-grid", inputs: ["data", "pageSize", "height", "rowHeight", "adaptiveMode", "detailRowHeight", "skip", "scrollable", "selectable", "sort", "size", "trackBy", "filter", "group", "virtualColumns", "filterable", "sortable", "pageable", "groupable", "gridResizable", "rowReorderable", "navigable", "autoSize", "rowClass", "rowSticky", "rowSelected", "isRowSelectable", "cellSelected", "resizable", "reorderable", "loading", "columnMenu", "hideHeader", "showInactiveTools", "isDetailExpanded", "isGroupExpanded", "dataLayoutMode"], outputs: ["filterChange", "pageChange", "groupChange", "sortChange", "selectionChange", "rowReorder", "dataStateChange", "gridStateChange", "groupExpand", "groupCollapse", "detailExpand", "detailCollapse", "edit", "cancel", "save", "remove", "add", "cellClose", "cellClick", "pdfExport", "excelExport", "csvExport", "columnResize", "columnReorder", "columnVisibilityChange", "columnLockedChange", "columnStickyChange", "scrollBottom", "contentScroll"], exportAs: ["kendoGrid"] }, { kind: "directive", type: i1$d.DataBindingDirective, selector: "[kendoGridBinding]", inputs: ["skip", "sort", "filter", "pageSize", "group", "kendoGridBinding"], exportAs: ["kendoGridBinding"] }, { kind: "directive", type: i1$d.SelectionDirective, selector: "[kendoGridSelectBy]" }, { kind: "component", type: i1$d.CustomMessagesComponent, selector: "kendo-grid-messages" }, { kind: "directive", type: i1$d.ExpandDetailsDirective, selector: "[kendoGridExpandDetailsBy]", inputs: ["kendoGridExpandDetailsBy", "expandDetailBy", "expandedDetailKeys", "initiallyExpanded"], outputs: ["expandedDetailKeysChange"], exportAs: ["kendoGridExpandDetailsBy"] }, { kind: "component", type: i1$d.ColumnComponent, selector: "kendo-grid-column", inputs: ["field", "format", "sortable", "groupable", "editor", "filter", "filterVariant", "filterable", "editable"] }, { kind: "directive", type: i1$d.FooterTemplateDirective, selector: "[kendoGridFooterTemplate]" }, { kind: "directive", type: i1$d.DetailTemplateDirective, selector: "[kendoGridDetailTemplate]", inputs: ["kendoGridDetailTemplateShowIf"] }, { kind: "component", type: i1$d.CheckboxColumnComponent, selector: "kendo-grid-checkbox-column", inputs: ["showSelectAll", "showDisabledCheckbox"] }, { kind: "directive", type: i1$d.CellTemplateDirective, selector: "[kendoGridCellTemplate]" }, { kind: "directive", type: i1$d.HeaderTemplateDirective, selector: "[kendoGridHeaderTemplate]" }, { kind: "component", type: i2.PagerInfoComponent, selector: "kendo-datapager-info, kendo-pager-info" }, { kind: "component", type: i2.PagerNextButtonsComponent, selector: "kendo-datapager-next-buttons, kendo-pager-next-buttons", inputs: ["size"] }, { kind: "component", type: i2.PagerNumericButtonsComponent, selector: "kendo-datapager-numeric-buttons, kendo-pager-numeric-buttons", inputs: ["buttonCount", "size"] }, { kind: "component", type: i2.PagerPrevButtonsComponent, selector: "kendo-datapager-prev-buttons, kendo-pager-prev-buttons", inputs: ["size"] }, { kind: "directive", type: i2.PagerTemplateDirective, selector: "[kendoDataPagerTemplate], [kendoPagerTemplate]" }, { kind: "component", type: KitSvgIconComponent, selector: "kit-svg-icon", inputs: ["icon", "iconClass"] }, { kind: "component", type: KitCheckboxComponent, selector: "kit-checkbox", inputs: ["label", "disabled", "checked", "readonly", "state", "messageIcon", "messageText", "indeterminate"], outputs: ["changed"] }, { kind: "ngmodule", type: ExcelModule }, { kind: "component", type: i1$d.ExcelComponent, selector: "kendo-grid-excel", inputs: ["fileName", "filterable", "creator", "date", "forceProxy", "proxyURL", "fetchData", "paddingCellOptions", "headerPaddingCellOptions", "collapsible"], outputs: ["fileCreated"] }, { kind: "ngmodule", type: PDFModule }, { kind: "component", type: i1$d.PDFComponent, selector: "kendo-grid-pdf", inputs: ["allPages", "delay"] }, { kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i3.DragTargetContainerDirective, selector: "[kendoDragTargetContainer]", inputs: ["hint", "dragTargetFilter", "dragHandle", "dragDelay", "threshold", "dragTargetId", "dragData", "dragDisabled", "mode", "cursorStyle", "hintContext"], outputs: ["onDragReady", "onPress", "onDragStart", "onDrag", "onRelease", "onDragEnd"], exportAs: ["kendoDragTargetContainer"] }, { kind: "directive", type: i3.DropTargetContainerDirective, selector: "[kendoDropTargetContainer]", inputs: ["dropTargetFilter", "dropDisabled"], outputs: ["onDragEnter", "onDragOver", "onDragLeave", "onDrop"], exportAs: ["kendoDropTargetContainer"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
7349
7366
|
}
|
|
7350
7367
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.4", ngImport: i0, type: KitGridComponent, decorators: [{
|
|
7351
7368
|
type: Component,
|
|
@@ -7363,7 +7380,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.4", ngImpor
|
|
|
7363
7380
|
{ provide: L10N_PREFIX, useValue: '' },
|
|
7364
7381
|
PagerContextService,
|
|
7365
7382
|
PagerNavigationService,
|
|
7366
|
-
], template: "@if (data()) {\n <div class=\"kit-grid\"\n kendoDragTargetContainer\n kendoDropTargetContainer\n dragTargetFilter=\".k-master-row\"\n dropTargetFilter=\".k-master-row\"\n dragHandle=\".k-master-row\"\n [dragDisabled]=\"!rowReorderable()\"\n [dropDisabled]=\"!rowReorderable()\"\n [dragData]=\"dragData\"\n [hint]=\"{ hintClass: 'kit-grid-row-hint' }\"\n (onDragOver)=\"onRowDragOver($event)\"\n (onRelease)=\"dropIndicator.set(null)\"\n (onDrop)=\"onDrop($event)\">\n <kendo-grid kendoGridExpandDetailsBy\n [class.kit-grid--radio]=\"isRadioColumn()\"\n [data]=\"renderedData()\"\n [sortable]=\"sortable\"\n [sort]=\"sort\"\n [rowClass]=\"getCssRowClass\"\n [pageable]=\"getPagerSettings()\"\n [pageSize]=\"pageSize\"\n [skip]=\"skip()\"\n [loading]=\"loading()\"\n [resizable]=\"resizable()\"\n [(expandedDetailKeys)]=\"expandedRows\"\n [kendoGridSelectBy]=\"selectByField() || ''\"\n [isRowSelectable]=\"isRowSelectable.bind(this)\"\n [selectable]=\"selectableSettings()\"\n (cellClick)=\"onCellClick($event)\"\n (detailExpand)=\"onDetailExpand($event)\"\n (detailCollapse)=\"onDetailCollapse($event)\"\n (sortChange)=\"onSortChange($event)\"\n (pageChange)=\"onPageChange($event)\"\n (dataStateChange)=\"onDataStateChange($event)\"\n [selectedKeys]=\"selectedKeys()\"\n (selectedKeysChange)=\"selectedKeys.set(limitSelectedKeys($event))\"\n (selectionChange)=\"selectionChanged.emit($event)\"\n (excelExport)=\"excelExport.emit($event)\">\n @for (column of columnMarkers(); track $index) {\n @if (isCheckboxColumn(column)) {\n <kendo-grid-checkbox-column [width]=\"column.width()\"\n [showSelectAll]=\"!isRadioColumn() && column.showSelectAll()\">\n @if (!isRadioColumn() && column.showSelectAll()) {\n <ng-template kendoGridHeaderTemplate>\n <div class=\"kit-grid-select-all\">\n <kit-checkbox [checked]=\"headerCheckboxState() === 'checked'\"\n [indeterminate]=\"headerCheckboxState() === 'indeterminate'\"\n [disabled]=\"isHeaderCheckboxDisabled()\"\n (changed)=\"onHeaderCheckboxChanged($event)\">\n </kit-checkbox>\n </div>\n </ng-template>\n }\n </kendo-grid-checkbox-column>\n } @else {\n <kendo-grid-column [field]=\"column.field\"\n [sortable]=\"column.sortable\"\n [hidden]=\"column.hidden\"\n [width]=\"column.width\">\n <ng-template kendoGridHeaderTemplate>\n <ng-container *ngTemplateOutlet=\"columnHeaderTemplate; context: { $implicit: column }\"\n ></ng-container>\n </ng-template>\n\n @if (column.cellTemplate) {\n <ng-template kendoGridCellTemplate\n let-dataItem>\n <ng-container *ngTemplateOutlet=\"column.cellTemplate; context: { $implicit: dataItem }\"\n ></ng-container>\n </ng-template>\n }\n\n @if (showFooter) {\n <ng-template kendoGridFooterTemplate>\n <ng-container *ngTemplateOutlet=\"footerTemplate; context: { $implicit: column }\"></ng-container>\n </ng-template>\n }\n </kendo-grid-column>\n\n @if (gridDetailTemplate()) {\n <ng-template kendoGridDetailTemplate\n let-dataItem\n [kendoGridDetailTemplateShowIf]=\"detailTemplateShowIf\">\n <ng-container *ngTemplateOutlet=\"gridDetailTemplate(); context: { $implicit: dataItem }\"\n ></ng-container>\n </ng-template>\n }\n }\n }\n <kendo-grid-excel [fileName]=\"pdfOptions.fileName\" />\n <kendo-grid-pdf [fileName]=\"pdfOptions.fileName\"\n [allPages]=\"pdfOptions.allPages\"\n [paperSize]=\"pdfOptions.paperSize\"\n [scale]=\"pdfOptions.scale\"\n [landscape]=\"pdfOptions.landscape\"\n [repeatHeaders]=\"true\" />\n\n <ng-container *ngTemplateOutlet=\"pagerTemplate\" />\n <kendo-grid-messages [pagerItems]=\"pagerInfoText()\"\n [pagerOf]=\"'of'\"\n [noRecords]=\"noRecordsText()\">\n </kendo-grid-messages>\n </kendo-grid>\n </div>\n}\n\n@if (gridDataBinding()) {\n <div class=\"kit-grid\"\n kendoDragTargetContainer\n kendoDropTargetContainer\n dragTargetFilter=\".k-master-row\"\n dropTargetFilter=\".k-master-row\"\n dragHandle=\".k-master-row\"\n [dragDisabled]=\"!rowReorderable()\"\n [dropDisabled]=\"!rowReorderable()\"\n [dragData]=\"dragData\"\n [hint]=\"{ hintClass: 'kit-grid-row-hint' }\"\n (onDragOver)=\"onRowDragOver($event)\"\n (onRelease)=\"dropIndicator.set(null)\"\n (onDrop)=\"onDrop($event)\">\n <kendo-grid kendoGridExpandDetailsBy\n [class.kit-grid--radio]=\"isRadioColumn()\"\n [kendoGridBinding]=\"renderedGridDataBinding()\"\n [rowClass]=\"getCssRowClass\"\n [pageable]=\"getPagerSettings()\"\n [pageSize]=\"pageSize\"\n [sortable]=\"sortable\"\n [sort]=\"sort\"\n [skip]=\"skip()\"\n [loading]=\"loading()\"\n [resizable]=\"resizable()\"\n [(expandedDetailKeys)]=\"expandedRows\"\n [kendoGridSelectBy]=\"selectByField() || ''\"\n [isRowSelectable]=\"isRowSelectable.bind(this)\"\n [selectable]=\"selectableSettings()\"\n (cellClick)=\"onCellClick($event)\"\n (detailExpand)=\"onDetailExpand($event)\"\n (detailCollapse)=\"onDetailCollapse($event)\"\n (pageChange)=\"onPageChange($event)\"\n (sortChange)=\"onSortChange($event)\"\n (dataStateChange)=\"onDataStateChange($event)\"\n [selectedKeys]=\"selectedKeys()\"\n (selectedKeysChange)=\"selectedKeys.set(limitSelectedKeys($event))\"\n (selectionChange)=\"selectionChanged.emit($event)\"\n (excelExport)=\"excelExport.emit($event)\">\n @for (column of columnMarkers(); track $index) {\n @if (isCheckboxColumn(column)) {\n <kendo-grid-checkbox-column [width]=\"column.width()\"\n [showSelectAll]=\"!isRadioColumn() && column.showSelectAll()\">\n @if (!isRadioColumn() && column.showSelectAll()) {\n <ng-template kendoGridHeaderTemplate>\n <div class=\"kit-grid-select-all\">\n <kit-checkbox [checked]=\"headerCheckboxState() === 'checked'\"\n [indeterminate]=\"headerCheckboxState() === 'indeterminate'\"\n [disabled]=\"isHeaderCheckboxDisabled()\"\n (changed)=\"onHeaderCheckboxChanged($event)\">\n </kit-checkbox>\n </div>\n </ng-template>\n }\n </kendo-grid-checkbox-column>\n } @else {\n <kendo-grid-column [field]=\"column.field\"\n [sortable]=\"column.sortable\"\n [hidden]=\"column.hidden\"\n [width]=\"column.width\">\n @if (column.cellTemplate) {\n <ng-template kendoGridCellTemplate\n let-dataItem>\n <ng-container *ngTemplateOutlet=\"column.cellTemplate; context: { $implicit: dataItem }\"\n ></ng-container>\n </ng-template>\n }\n\n <ng-template kendoGridHeaderTemplate>\n <ng-container *ngTemplateOutlet=\"columnHeaderTemplate; context: { $implicit: column }\"\n ></ng-container>\n </ng-template>\n\n @if (showFooter) {\n <ng-template kendoGridFooterTemplate>\n <ng-container *ngTemplateOutlet=\"footerTemplate; context: { $implicit: column }\"></ng-container>\n </ng-template>\n }\n </kendo-grid-column>\n\n @if (gridDetailTemplate()) {\n <ng-template kendoGridDetailTemplate\n let-dataItem\n [kendoGridDetailTemplateShowIf]=\"detailTemplateShowIf\">\n <ng-container *ngTemplateOutlet=\"gridDetailTemplate(); context: { $implicit: dataItem }\"\n ></ng-container>\n </ng-template>\n }\n }\n }\n <kendo-grid-excel [fileName]=\"pdfOptions.fileName\" />\n <kendo-grid-pdf [fileName]=\"pdfOptions.fileName\"\n [allPages]=\"pdfOptions.allPages\"\n [paperSize]=\"pdfOptions.paperSize\"\n [scale]=\"pdfOptions.scale\"\n [landscape]=\"pdfOptions.landscape\"\n [repeatHeaders]=\"true\" />\n\n <ng-container *ngTemplateOutlet=\"pagerTemplate\" />\n <kendo-grid-messages pagerOf=\"of\"\n [pagerItems]=\"pagerInfoText()\"\n [noRecords]=\"noRecordsText()\">\n </kendo-grid-messages>\n </kendo-grid>\n </div>\n}\n\n<ng-template #columnHeaderTemplate\n let-column>\n <div class=\"grid-title\"\n [class.sortable]=\"isColumnSortable(column)\">\n @if (column.titleIcon) {\n <kit-svg-icon class=\"grid-title-icon\"\n [icon]=\"column.titleIcon\"\n [ngClass]=\"column.titleIconType\"\n ></kit-svg-icon>\n }\n\n <div class=\"grid-title-text\">\n {{ column.title }}\n </div>\n\n @if (sortable && column.sortable) {\n @switch (getSortingDirection(column.field)) {\n @case (kitSortDirection.ASC) {\n <kit-svg-icon class=\"grid-title-sort-icon\"\n [icon]=\"kitSvgIcon.SORT_ASCENDING\"\n ></kit-svg-icon>\n }\n @case (kitSortDirection.DESC) {\n <kit-svg-icon class=\"grid-title-sort-icon\"\n [icon]=\"kitSvgIcon.SORT_DESCENDING\"\n ></kit-svg-icon>\n }\n }\n }\n </div>\n</ng-template>\n\n<ng-template #footerTemplate\n let-column>\n @if (columns(); as columns) {\n @if (footerTitle && column === columns[0]) {\n {{ footerTitle }}\n } @else {\n {{ footerData?.[column.field] || '' }}\n }\n }\n</ng-template>\n\n<ng-template #pagerTemplate\n kendoPagerTemplate>\n <kendo-pager-prev-buttons></kendo-pager-prev-buttons>\n <kendo-pager-numeric-buttons></kendo-pager-numeric-buttons>\n <kendo-pager-next-buttons></kendo-pager-next-buttons>\n <kendo-pager-info></kendo-pager-info>\n</ng-template>\n", styles: [".kit-grid{height:100%}.kit-grid .kit-grid-select-all{display:flex;align-items:center;justify-content:center;width:100%}.kit-grid .grid-title{display:flex;align-items:center;gap:8px;flex:1;line-height:1;min-width:0}.kit-grid .grid-title-icon{display:block;width:16px;height:16px;flex-shrink:0}.kit-grid .grid-title-icon.fill{fill:var(--ui-kit-color-grey-12);stroke:none}.kit-grid .grid-title-icon.stroke{fill:none;stroke:var(--ui-kit-color-grey-12)}.kit-grid .grid-title-text{font-weight:500;line-height:22px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.kit-grid .grid-title-sort-icon{display:block;margin-left:auto;width:16px;height:16px;fill:var(--ui-kit-color-grey-12)}.kit-grid .grid-title.sortable{cursor:pointer}.kit-grid ::ng-deep .k-grid{border:none;background:none;max-height:100%}.kit-grid ::ng-deep .k-grid-table{color:var(--ui-kit-color-grey-10);font-size:14px;font-weight:400}.kit-grid ::ng-deep .k-grid-header{padding:0!important;border:none}.kit-grid ::ng-deep .k-grid-footer{padding:0!important}.kit-grid ::ng-deep .k-grid-content{overflow-y:auto}.kit-grid ::ng-deep .k-grid-content::-webkit-scrollbar{height:8px;width:8px}.kit-grid ::ng-deep .k-grid-content::-webkit-scrollbar-thumb{background-color:var(--ui-kit-color-grey-12);border-radius:4px}.kit-grid ::ng-deep .k-grid-content::-webkit-scrollbar-thumb:hover{background-color:var(--ui-kit-color-grey-18)}.kit-grid ::ng-deep .k-table{margin:0}.kit-grid ::ng-deep .k-table-th{padding:8px 0;border:none;border-bottom:1px solid var(--ui-kit-color-grey-11);background:var(--ui-kit-color-grey-15);box-shadow:none}.kit-grid ::ng-deep .k-table-th .k-cell-inner{margin:0}.kit-grid ::ng-deep .k-table-th .k-cell-inner .k-link{padding:0 8px;border-right:1px solid var(--ui-kit-color-grey-11);cursor:default}.kit-grid ::ng-deep .k-table-th .k-sort-icon{display:none}.kit-grid ::ng-deep .k-table-th .k-sort-order{margin-left:2px;color:var(--ui-kit-color-main)}.kit-grid ::ng-deep .k-table-th.k-sorted{color:var(--ui-kit-color-main);border-bottom:1px solid var(--ui-kit-color-main)}.kit-grid ::ng-deep .k-table-th.k-sorted .grid-title-icon.fill{fill:var(--ui-kit-color-main);stroke:none}.kit-grid ::ng-deep .k-table-th.k-sorted .grid-title-icon.stroke{fill:none;stroke:var(--ui-kit-color-main)}.kit-grid ::ng-deep .k-table-th.k-sorted .grid-title-sort-icon{fill:var(--ui-kit-color-main)}.kit-grid ::ng-deep .k-table-row:not(.k-detail-row):hover,.kit-grid ::ng-deep .k-table-row:hover{background:none}.kit-grid ::ng-deep .k-table-row.k-selected>.k-table-td{background-color:var(--ui-kit-color-selected)}.kit-grid ::ng-deep .k-table-row .k-table-td{border-bottom-width:1px;box-shadow:none}.kit-grid ::ng-deep .k-table-alt-row{background:none}.kit-grid ::ng-deep .k-table-td{padding:12px 8px;border-color:var(--ui-kit-color-grey-11);border-bottom-width:1px;background:var(--ui-kit-color-white);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.kit-grid ::ng-deep .k-table-td:first-child{border-inline-start-width:1px}.kit-grid ::ng-deep .k-checkbox-wrap{display:flex;align-items:center;justify-content:center}.kit-grid ::ng-deep .k-checkbox{width:16px;height:16px;border-radius:4px;border:1px solid var(--ui-kit-color-grey-11);background-color:var(--ui-kit-color-grey-13)}.kit-grid ::ng-deep .k-checkbox.k-indeterminate{color:var(--ui-kit-color-main)}.kit-grid ::ng-deep .k-checkbox:hover:not(:disabled){border-color:var(--ui-kit-color-main)}.kit-grid ::ng-deep .k-checkbox:focus,.kit-grid ::ng-deep .k-checkbox.k-focus{box-shadow:0 0 0 2px var(--ui-kit-color-focus)}.kit-grid ::ng-deep .k-checkbox:checked,.kit-grid ::ng-deep .k-checkbox.k-checked{border-color:var(--ui-kit-color-main);background-color:var(--ui-kit-color-main)}.kit-grid ::ng-deep .k-checkbox:checked:disabled,.kit-grid ::ng-deep .k-checkbox.k-checked:disabled{border-color:var(--ui-kit-color-grey-11);background-color:var(--ui-kit-color-grey-13)}.kit-grid ::ng-deep .k-checkbox:disabled{border-color:var(--ui-kit-color-grey-11);background-color:var(--ui-kit-color-grey-13)}.kit-grid ::ng-deep .k-master-row .k-hierarchy-cell{padding:12px 8px}.kit-grid ::ng-deep .k-master-row.drag-insert-before .k-table-td{box-shadow:inset 0 2px 0 0 var(--ui-kit-color-main)}.kit-grid ::ng-deep .k-master-row.drag-insert-after .k-table-td{box-shadow:inset 0 -2px 0 0 var(--ui-kit-color-main)}.kit-grid ::ng-deep .k-master-row.expanded .k-table-td{color:var(--ui-kit-color-main);border-bottom-color:var(--ui-kit-color-grey-10)}.kit-grid ::ng-deep .k-master-row.expanded .k-icon:before{color:var(--ui-kit-color-main);transform:rotate(90deg)}.kit-grid ::ng-deep .k-detail-row>.k-table-td{border-bottom:1px solid var(--ui-kit-color-grey-10)}.kit-grid ::ng-deep .k-detail-row .k-detail-cell{padding:0}.kit-grid ::ng-deep .k-detail-row .k-pager{margin:0;padding:20px 0;justify-content:flex-start;background:var(--ui-kit-color-white)}.kit-grid ::ng-deep .k-grid-norecords{text-align:left}.kit-grid ::ng-deep .k-hierarchy-cell .k-icon{display:flex;align-items:center;justify-content:center;font-family:WebComponentsIcons,sans-serif;font-size:22px}.kit-grid ::ng-deep .k-hierarchy-cell .k-icon:before{content:\"\\e005\";color:var(--ui-kit-color-grey-14);transform:rotate(0);transition:transform .2s ease}.kit-grid ::ng-deep .k-hierarchy-cell .k-icon:hover:before{color:var(--ui-kit-color-main)}.kit-grid ::ng-deep .k-hierarchy-cell .k-icon svg{display:none}.kit-grid ::ng-deep .k-pager{display:flex;justify-content:flex-end;margin-top:20px;padding:2px 0;color:var(--ui-kit-color-grey-10);border:none;background:none}.kit-grid ::ng-deep .k-pager:focus{box-shadow:none}.kit-grid ::ng-deep .k-pager-numbers{gap:8px}.kit-grid ::ng-deep .k-pager-numbers-wrap{gap:8px}.kit-grid ::ng-deep .k-pager-numbers-wrap .k-button{width:32px;height:32px;color:var(--ui-kit-color-grey-10);font-size:14px;font-weight:400;border-radius:6px;transition:none}.kit-grid ::ng-deep .k-pager-numbers-wrap .k-button:before{opacity:1;background:none;transition:none}.kit-grid ::ng-deep .k-pager-numbers-wrap .k-button:after,.kit-grid ::ng-deep .k-pager-numbers-wrap .k-button:before{display:none}.kit-grid ::ng-deep .k-pager-numbers-wrap .k-button.k-selected{color:var(--ui-kit-color-main)}.kit-grid ::ng-deep .k-pager-numbers-wrap .k-button.k-selected:before{border:1px solid var(--ui-kit-color-main)}.kit-grid ::ng-deep .k-pager-numbers-wrap .k-button:not(.k-selected):hover{background-color:var(--ui-kit-color-grey-11)!important}.kit-grid ::ng-deep .k-pager-numbers-wrap .k-button.k-disabled{color:var(--ui-kit-color-grey-12)}.kit-grid ::ng-deep .k-pager-numbers-wrap .k-button-icon:before{content:\"\";display:flex;width:14px;height:14px;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-position:center;mask-position:center;-webkit-mask-size:contain;mask-size:contain;background-color:currentcolor}.kit-grid ::ng-deep .k-pager-numbers-wrap .k-svg-i-caret-alt-left:before{-webkit-mask-image:url(\"data:image/svg+xml,%3Csvg width='12' height='12' viewBox='0 0 12 12' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M8.99976 10.3596L8.99976 9.48071C8.99976 9.42094 8.97046 9.36469 8.92241 9.32954L4.33335 6.00024L8.92241 2.67094C8.97046 2.63579 8.99976 2.57954 8.99976 2.51977L8.99976 1.64086C8.99976 1.56469 8.91304 1.52016 8.85093 1.56469L3.15444 5.69672C2.94819 5.84673 2.94819 6.15376 3.15444 6.30258L8.85093 10.4346C8.91304 10.4803 8.99976 10.4358 8.99976 10.3596Z' fill='black'/%3E%3C/svg%3E\");mask-image:url(\"data:image/svg+xml,%3Csvg width='12' height='12' viewBox='0 0 12 12' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M8.99976 10.3596L8.99976 9.48071C8.99976 9.42094 8.97046 9.36469 8.92241 9.32954L4.33335 6.00024L8.92241 2.67094C8.97046 2.63579 8.99976 2.57954 8.99976 2.51977L8.99976 1.64086C8.99976 1.56469 8.91304 1.52016 8.85093 1.56469L3.15444 5.69672C2.94819 5.84673 2.94819 6.15376 3.15444 6.30258L8.85093 10.4346C8.91304 10.4803 8.99976 10.4358 8.99976 10.3596Z' fill='black'/%3E%3C/svg%3E\")}.kit-grid ::ng-deep .k-pager-numbers-wrap .k-svg-i-caret-alt-right:before{-webkit-mask-image:url(\"data:image/svg+xml,%3Csvg width='12' height='12' viewBox='0 0 12 12' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M2.99976 1.64041L2.99976 2.51932C2.99976 2.57909 3.02905 2.63534 3.0771 2.67049L7.66616 5.99979L3.0771 9.32909C3.02905 9.36424 2.99976 9.42049 2.99976 9.48026L2.99976 10.3592C2.99976 10.4353 3.08647 10.4799 3.14858 10.4353L8.84507 6.30331C9.05132 6.15331 9.05132 5.84627 8.84507 5.69745L3.14858 1.56541C3.08647 1.51971 2.99976 1.56424 2.99976 1.64041Z' fill='black'/%3E%3C/svg%3E\");mask-image:url(\"data:image/svg+xml,%3Csvg width='12' height='12' viewBox='0 0 12 12' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M2.99976 1.64041L2.99976 2.51932C2.99976 2.57909 3.02905 2.63534 3.0771 2.67049L7.66616 5.99979L3.0771 9.32909C3.02905 9.36424 2.99976 9.42049 2.99976 9.48026L2.99976 10.3592C2.99976 10.4353 3.08647 10.4799 3.14858 10.4353L8.84507 6.30331C9.05132 6.15331 9.05132 5.84627 8.84507 5.69745L3.14858 1.56541C3.08647 1.51971 2.99976 1.56424 2.99976 1.64041Z' fill='black'/%3E%3C/svg%3E\")}.kit-grid ::ng-deep .k-pager-numbers-wrap .k-svg-i-caret-alt-to-left:before{-webkit-mask-image:url(\"data:image/svg+xml,%3Csvg width='12' height='12' viewBox='0 0 12 12' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cline x1='1' y1='1' x2='1' y2='11' stroke='black' stroke-width='1'/%3E%3Cpath d='M9 10.36L9 9.48C9 9.42 8.97 9.36 8.92 9.33L4.33 6L8.92 2.67C8.97 2.64 9 2.58 9 2.52L9 1.64C9 1.56 8.91 1.52 8.85 1.56L3.15 5.7C2.95 5.85 2.95 6.15 3.15 6.3L8.85 10.43C8.91 10.48 9 10.44 9 10.36Z' fill='black'/%3E%3C/svg%3E\");mask-image:url(\"data:image/svg+xml,%3Csvg width='12' height='12' viewBox='0 0 12 12' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cline x1='1' y1='1' x2='1' y2='11' stroke='black' stroke-width='1'/%3E%3Cpath d='M9 10.36L9 9.48C9 9.42 8.97 9.36 8.92 9.33L4.33 6L8.92 2.67C8.97 2.64 9 2.58 9 2.52L9 1.64C9 1.56 8.91 1.52 8.85 1.56L3.15 5.7C2.95 5.85 2.95 6.15 3.15 6.3L8.85 10.43C8.91 10.48 9 10.44 9 10.36Z' fill='black'/%3E%3C/svg%3E\")}.kit-grid ::ng-deep .k-pager-numbers-wrap .k-svg-i-caret-alt-to-right:before{-webkit-mask-image:url(\"data:image/svg+xml,%3Csvg width='12' height='12' viewBox='0 0 12 12' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M3 1.64L3 2.52C3 2.58 3.03 2.64 3.08 2.67L7.67 6L3.08 9.33C3.03 9.36 3 9.42 3 9.48L3 10.36C3 10.44 3.09 10.48 3.15 10.43L8.85 6.3C9.05 6.15 9.05 5.85 8.85 5.7L3.15 1.56C3.09 1.52 3 1.56 3 1.64Z' fill='black'/%3E%3Cline x1='11' y1='1' x2='11' y2='11' stroke='black' stroke-width='1'/%3E%3C/svg%3E\");mask-image:url(\"data:image/svg+xml,%3Csvg width='12' height='12' viewBox='0 0 12 12' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M3 1.64L3 2.52C3 2.58 3.03 2.64 3.08 2.67L7.67 6L3.08 9.33C3.03 9.36 3 9.42 3 9.48L3 10.36C3 10.44 3.09 10.48 3.15 10.43L8.85 6.3C9.05 6.15 9.05 5.85 8.85 5.7L3.15 1.56C3.09 1.52 3 1.56 3 1.64Z' fill='black'/%3E%3Cline x1='11' y1='1' x2='11' y2='11' stroke='black' stroke-width='1'/%3E%3C/svg%3E\")}.kit-grid ::ng-deep .k-pager-nav{width:32px;height:32px;border-radius:6px}.kit-grid ::ng-deep .k-pager-nav:before,.kit-grid ::ng-deep .k-pager-nav:after{display:none!important}.kit-grid ::ng-deep .k-pager-nav:not(.k-disabled):hover{background:var(--ui-kit-color-grey-11)!important}.kit-grid ::ng-deep .k-pager-info{flex:initial;border-radius:8px;background-color:#fff;padding:5px 16px}.kit-grid ::ng-deep .k-pager .k-button-icon svg{display:none}.kit-grid ::ng-deep .k-grid-aria-root{position:relative}.kit-grid ::ng-deep .k-loading-color{background:var(--ui-kit-color-grey-13)}.kit-grid ::ng-deep .expand-disabled .k-hierarchy-cell a{pointer-events:none;opacity:.3}.kit-grid ::ng-deep .checkbox-hidden .k-checkbox-wrap{visibility:hidden}.kit-grid ::ng-deep .k-picker{height:32px;border-radius:4px;border:1px solid var(--ui-kit-color-grey-11);background:var(--ui-kit-color-white)}.kit-grid ::ng-deep .k-picker:hover{border-color:var(--ui-kit-color-hover)}.kit-grid ::ng-deep .k-picker.k-focus{border:1px solid var(--ui-kit-color-main);box-shadow:0 0 0 2px var(--ui-kit-color-focus)}.kit-grid ::ng-deep .k-picker[aria-expanded=true] .k-svg-i-caret-alt-down:before{transform:rotate(180deg)}.kit-grid ::ng-deep .k-picker .k-svg-i-caret-alt-down:before{content:\"\\e015\";color:var(--ui-kit-color-grey-12);font-family:WebComponentsIcons,sans-serif}.kit-grid ::ng-deep .k-grid.kit-grid--radio .k-checkbox{border-radius:50%}.kit-grid ::ng-deep .k-grid.kit-grid--radio .k-checkbox:after{content:\"\";display:block;width:8px;height:8px;border-radius:50%;background-color:transparent;margin:auto;position:absolute;inset:0}.kit-grid ::ng-deep .k-grid.kit-grid--radio .k-checkbox:checked,.kit-grid ::ng-deep .k-grid.kit-grid--radio .k-checkbox.k-checked{background-color:var(--ui-kit-color-grey-13)}.kit-grid ::ng-deep .k-grid.kit-grid--radio .k-checkbox:checked:after,.kit-grid ::ng-deep .k-grid.kit-grid--radio .k-checkbox.k-checked:after{background-color:var(--ui-kit-color-main)}.kit-grid ::ng-deep .k-grid.kit-grid--radio .k-checkbox:checked:disabled:after,.kit-grid ::ng-deep .k-grid.kit-grid--radio .k-checkbox.k-checked:disabled:after{background-color:var(--ui-kit-color-grey-11)}::ng-deep .kit-grid-row-hint{overflow:hidden;border:1px solid var(--ui-kit-color-grey-11);border-radius:8px;background:var(--ui-kit-color-white);box-shadow:0 10px 24px #11182724;z-index:10002}::ng-deep .kit-grid-row-hint .k-table-td{padding:10px 8px;border-color:var(--ui-kit-color-grey-11);color:var(--ui-kit-color-grey-10);background:var(--ui-kit-color-white)}::ng-deep .kit-grid.k-grid:has(.k-grid-norecords) .k-pager-numbers-wrap{display:none}::ng-deep .k-animation-container .k-list-item.k-selected{background-color:var(--ui-kit-color-main);color:var(--ui-kit-color-white)}::ng-deep .k-animation-container .k-list-item:hover:not(.k-selected){color:var(--ui-kit-color-main)}\n"] }]
|
|
7383
|
+
], template: "@if (data()) {\n <div class=\"kit-grid\"\n kendoDragTargetContainer\n kendoDropTargetContainer\n dragTargetFilter=\".k-master-row\"\n dropTargetFilter=\".k-master-row\"\n dragHandle=\".k-master-row\"\n [dragDisabled]=\"!rowReorderable()\"\n [dropDisabled]=\"!rowReorderable()\"\n [dragData]=\"dragData\"\n [hint]=\"{ hintClass: 'kit-grid-row-hint' }\"\n (onDragOver)=\"onRowDragOver($event)\"\n (onRelease)=\"onDragRelease()\"\n (onDrop)=\"onDrop()\">\n <kendo-grid kendoGridExpandDetailsBy\n [class.kit-grid--radio]=\"isRadioColumn()\"\n [data]=\"renderedData()\"\n [sortable]=\"sortable\"\n [sort]=\"sort\"\n [rowClass]=\"getCssRowClass\"\n [pageable]=\"getPagerSettings()\"\n [pageSize]=\"pageSize\"\n [skip]=\"skip()\"\n [loading]=\"loading()\"\n [resizable]=\"resizable()\"\n [(expandedDetailKeys)]=\"expandedRows\"\n [kendoGridSelectBy]=\"selectByField() || ''\"\n [isRowSelectable]=\"isRowSelectable.bind(this)\"\n [selectable]=\"selectableSettings()\"\n (cellClick)=\"onCellClick($event)\"\n (detailExpand)=\"onDetailExpand($event)\"\n (detailCollapse)=\"onDetailCollapse($event)\"\n (sortChange)=\"onSortChange($event)\"\n (pageChange)=\"onPageChange($event)\"\n (dataStateChange)=\"onDataStateChange($event)\"\n [selectedKeys]=\"selectedKeys()\"\n (selectedKeysChange)=\"selectedKeys.set(limitSelectedKeys($event))\"\n (selectionChange)=\"selectionChanged.emit($event)\"\n (excelExport)=\"excelExport.emit($event)\">\n @for (column of columnMarkers(); track $index) {\n @if (isCheckboxColumn(column)) {\n <kendo-grid-checkbox-column [width]=\"column.width()\"\n [showSelectAll]=\"!isRadioColumn() && column.showSelectAll()\">\n @if (!isRadioColumn() && column.showSelectAll()) {\n <ng-template kendoGridHeaderTemplate>\n <div class=\"kit-grid-select-all\">\n <kit-checkbox [checked]=\"headerCheckboxState() === 'checked'\"\n [indeterminate]=\"headerCheckboxState() === 'indeterminate'\"\n [disabled]=\"isHeaderCheckboxDisabled()\"\n (changed)=\"onHeaderCheckboxChanged($event)\">\n </kit-checkbox>\n </div>\n </ng-template>\n }\n </kendo-grid-checkbox-column>\n } @else {\n <kendo-grid-column [field]=\"column.field\"\n [sortable]=\"column.sortable\"\n [hidden]=\"column.hidden\"\n [width]=\"column.width\">\n <ng-template kendoGridHeaderTemplate>\n <ng-container *ngTemplateOutlet=\"columnHeaderTemplate; context: { $implicit: column }\"\n ></ng-container>\n </ng-template>\n\n @if (column.cellTemplate) {\n <ng-template kendoGridCellTemplate\n let-dataItem>\n <ng-container *ngTemplateOutlet=\"column.cellTemplate; context: { $implicit: dataItem }\"\n ></ng-container>\n </ng-template>\n }\n\n @if (showFooter) {\n <ng-template kendoGridFooterTemplate>\n <ng-container *ngTemplateOutlet=\"footerTemplate; context: { $implicit: column }\"></ng-container>\n </ng-template>\n }\n </kendo-grid-column>\n\n @if (gridDetailTemplate()) {\n <ng-template kendoGridDetailTemplate\n let-dataItem\n [kendoGridDetailTemplateShowIf]=\"detailTemplateShowIf\">\n <ng-container *ngTemplateOutlet=\"gridDetailTemplate(); context: { $implicit: dataItem }\"\n ></ng-container>\n </ng-template>\n }\n }\n }\n <kendo-grid-excel [fileName]=\"pdfOptions.fileName\" />\n <kendo-grid-pdf [fileName]=\"pdfOptions.fileName\"\n [allPages]=\"pdfOptions.allPages\"\n [paperSize]=\"pdfOptions.paperSize\"\n [scale]=\"pdfOptions.scale\"\n [landscape]=\"pdfOptions.landscape\"\n [repeatHeaders]=\"true\" />\n\n <ng-container *ngTemplateOutlet=\"pagerTemplate\" />\n <kendo-grid-messages [pagerItems]=\"pagerInfoText()\"\n [pagerOf]=\"'of'\"\n [noRecords]=\"noRecordsText()\">\n </kendo-grid-messages>\n </kendo-grid>\n </div>\n}\n\n@if (gridDataBinding()) {\n <div class=\"kit-grid\"\n kendoDragTargetContainer\n kendoDropTargetContainer\n dragTargetFilter=\".k-master-row\"\n dropTargetFilter=\".k-master-row\"\n dragHandle=\".k-master-row\"\n [dragDisabled]=\"!rowReorderable()\"\n [dropDisabled]=\"!rowReorderable()\"\n [dragData]=\"dragData\"\n [hint]=\"{ hintClass: 'kit-grid-row-hint' }\"\n (onDragOver)=\"onRowDragOver($event)\"\n (onRelease)=\"onDragRelease()\"\n (onDrop)=\"onDrop()\">\n <kendo-grid kendoGridExpandDetailsBy\n [class.kit-grid--radio]=\"isRadioColumn()\"\n [kendoGridBinding]=\"renderedGridDataBinding()\"\n [rowClass]=\"getCssRowClass\"\n [pageable]=\"getPagerSettings()\"\n [pageSize]=\"pageSize\"\n [sortable]=\"sortable\"\n [sort]=\"sort\"\n [skip]=\"skip()\"\n [loading]=\"loading()\"\n [resizable]=\"resizable()\"\n [(expandedDetailKeys)]=\"expandedRows\"\n [kendoGridSelectBy]=\"selectByField() || ''\"\n [isRowSelectable]=\"isRowSelectable.bind(this)\"\n [selectable]=\"selectableSettings()\"\n (cellClick)=\"onCellClick($event)\"\n (detailExpand)=\"onDetailExpand($event)\"\n (detailCollapse)=\"onDetailCollapse($event)\"\n (pageChange)=\"onPageChange($event)\"\n (sortChange)=\"onSortChange($event)\"\n (dataStateChange)=\"onDataStateChange($event)\"\n [selectedKeys]=\"selectedKeys()\"\n (selectedKeysChange)=\"selectedKeys.set(limitSelectedKeys($event))\"\n (selectionChange)=\"selectionChanged.emit($event)\"\n (excelExport)=\"excelExport.emit($event)\">\n @for (column of columnMarkers(); track $index) {\n @if (isCheckboxColumn(column)) {\n <kendo-grid-checkbox-column [width]=\"column.width()\"\n [showSelectAll]=\"!isRadioColumn() && column.showSelectAll()\">\n @if (!isRadioColumn() && column.showSelectAll()) {\n <ng-template kendoGridHeaderTemplate>\n <div class=\"kit-grid-select-all\">\n <kit-checkbox [checked]=\"headerCheckboxState() === 'checked'\"\n [indeterminate]=\"headerCheckboxState() === 'indeterminate'\"\n [disabled]=\"isHeaderCheckboxDisabled()\"\n (changed)=\"onHeaderCheckboxChanged($event)\">\n </kit-checkbox>\n </div>\n </ng-template>\n }\n </kendo-grid-checkbox-column>\n } @else {\n <kendo-grid-column [field]=\"column.field\"\n [sortable]=\"column.sortable\"\n [hidden]=\"column.hidden\"\n [width]=\"column.width\">\n @if (column.cellTemplate) {\n <ng-template kendoGridCellTemplate\n let-dataItem>\n <ng-container *ngTemplateOutlet=\"column.cellTemplate; context: { $implicit: dataItem }\"\n ></ng-container>\n </ng-template>\n }\n\n <ng-template kendoGridHeaderTemplate>\n <ng-container *ngTemplateOutlet=\"columnHeaderTemplate; context: { $implicit: column }\"\n ></ng-container>\n </ng-template>\n\n @if (showFooter) {\n <ng-template kendoGridFooterTemplate>\n <ng-container *ngTemplateOutlet=\"footerTemplate; context: { $implicit: column }\"></ng-container>\n </ng-template>\n }\n </kendo-grid-column>\n\n @if (gridDetailTemplate()) {\n <ng-template kendoGridDetailTemplate\n let-dataItem\n [kendoGridDetailTemplateShowIf]=\"detailTemplateShowIf\">\n <ng-container *ngTemplateOutlet=\"gridDetailTemplate(); context: { $implicit: dataItem }\"\n ></ng-container>\n </ng-template>\n }\n }\n }\n <kendo-grid-excel [fileName]=\"pdfOptions.fileName\" />\n <kendo-grid-pdf [fileName]=\"pdfOptions.fileName\"\n [allPages]=\"pdfOptions.allPages\"\n [paperSize]=\"pdfOptions.paperSize\"\n [scale]=\"pdfOptions.scale\"\n [landscape]=\"pdfOptions.landscape\"\n [repeatHeaders]=\"true\" />\n\n <ng-container *ngTemplateOutlet=\"pagerTemplate\" />\n <kendo-grid-messages pagerOf=\"of\"\n [pagerItems]=\"pagerInfoText()\"\n [noRecords]=\"noRecordsText()\">\n </kendo-grid-messages>\n </kendo-grid>\n </div>\n}\n\n<ng-template #columnHeaderTemplate\n let-column>\n <div class=\"grid-title\"\n [class.sortable]=\"isColumnSortable(column)\">\n @if (column.titleIcon) {\n <kit-svg-icon class=\"grid-title-icon\"\n [icon]=\"column.titleIcon\"\n [ngClass]=\"column.titleIconType\"\n ></kit-svg-icon>\n }\n\n <div class=\"grid-title-text\">\n {{ column.title }}\n </div>\n\n @if (sortable && column.sortable) {\n @switch (getSortingDirection(column.field)) {\n @case (kitSortDirection.ASC) {\n <kit-svg-icon class=\"grid-title-sort-icon\"\n [icon]=\"kitSvgIcon.SORT_ASCENDING\"\n ></kit-svg-icon>\n }\n @case (kitSortDirection.DESC) {\n <kit-svg-icon class=\"grid-title-sort-icon\"\n [icon]=\"kitSvgIcon.SORT_DESCENDING\"\n ></kit-svg-icon>\n }\n }\n }\n </div>\n</ng-template>\n\n<ng-template #footerTemplate\n let-column>\n @if (columns(); as columns) {\n @if (footerTitle && column === columns[0]) {\n {{ footerTitle }}\n } @else {\n {{ footerData?.[column.field] || '' }}\n }\n }\n</ng-template>\n\n<ng-template #pagerTemplate\n kendoPagerTemplate>\n <kendo-pager-prev-buttons></kendo-pager-prev-buttons>\n <kendo-pager-numeric-buttons></kendo-pager-numeric-buttons>\n <kendo-pager-next-buttons></kendo-pager-next-buttons>\n <kendo-pager-info></kendo-pager-info>\n</ng-template>\n", styles: [".kit-grid{height:100%}.kit-grid .kit-grid-select-all{display:flex;align-items:center;justify-content:center;width:100%}.kit-grid .grid-title{display:flex;align-items:center;gap:8px;flex:1;line-height:1;min-width:0}.kit-grid .grid-title-icon{display:block;width:16px;height:16px;flex-shrink:0}.kit-grid .grid-title-icon.fill{fill:var(--ui-kit-color-grey-12);stroke:none}.kit-grid .grid-title-icon.stroke{fill:none;stroke:var(--ui-kit-color-grey-12)}.kit-grid .grid-title-text{font-weight:500;line-height:22px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.kit-grid .grid-title-sort-icon{display:block;margin-left:auto;width:16px;height:16px;fill:var(--ui-kit-color-grey-12)}.kit-grid .grid-title.sortable{cursor:pointer}.kit-grid ::ng-deep .k-grid{border:none;background:none;max-height:100%}.kit-grid ::ng-deep .k-grid-table{color:var(--ui-kit-color-grey-10);font-size:14px;font-weight:400}.kit-grid ::ng-deep .k-grid-header{padding:0!important;border:none}.kit-grid ::ng-deep .k-grid-footer{padding:0!important}.kit-grid ::ng-deep .k-grid-content{overflow-y:auto}.kit-grid ::ng-deep .k-grid-content::-webkit-scrollbar{height:8px;width:8px}.kit-grid ::ng-deep .k-grid-content::-webkit-scrollbar-thumb{background-color:var(--ui-kit-color-grey-12);border-radius:4px}.kit-grid ::ng-deep .k-grid-content::-webkit-scrollbar-thumb:hover{background-color:var(--ui-kit-color-grey-18)}.kit-grid ::ng-deep .k-table{margin:0}.kit-grid ::ng-deep .k-table-th{padding:8px 0;border:none;border-bottom:1px solid var(--ui-kit-color-grey-11);background:var(--ui-kit-color-grey-15);box-shadow:none}.kit-grid ::ng-deep .k-table-th .k-cell-inner{margin:0}.kit-grid ::ng-deep .k-table-th .k-cell-inner .k-link{padding:0 8px;border-right:1px solid var(--ui-kit-color-grey-11);cursor:default}.kit-grid ::ng-deep .k-table-th .k-sort-icon{display:none}.kit-grid ::ng-deep .k-table-th .k-sort-order{margin-left:2px;color:var(--ui-kit-color-main)}.kit-grid ::ng-deep .k-table-th.k-sorted{color:var(--ui-kit-color-main);border-bottom:1px solid var(--ui-kit-color-main)}.kit-grid ::ng-deep .k-table-th.k-sorted .grid-title-icon.fill{fill:var(--ui-kit-color-main);stroke:none}.kit-grid ::ng-deep .k-table-th.k-sorted .grid-title-icon.stroke{fill:none;stroke:var(--ui-kit-color-main)}.kit-grid ::ng-deep .k-table-th.k-sorted .grid-title-sort-icon{fill:var(--ui-kit-color-main)}.kit-grid ::ng-deep .k-table-row:not(.k-detail-row):hover,.kit-grid ::ng-deep .k-table-row:hover{background:none}.kit-grid ::ng-deep .k-table-row.k-selected>.k-table-td{background-color:var(--ui-kit-color-selected)}.kit-grid ::ng-deep .k-table-row.kit-grid-row-dragging{position:relative;box-shadow:4px 4px 8px #0003}.kit-grid ::ng-deep .k-table-row .k-table-td{border-bottom-width:1px;box-shadow:none}.kit-grid ::ng-deep .k-table-alt-row{background:none}.kit-grid ::ng-deep .k-table-td{padding:12px 8px;border-color:var(--ui-kit-color-grey-11);border-bottom-width:1px;background:var(--ui-kit-color-white);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.kit-grid ::ng-deep .k-table-td:first-child{border-inline-start-width:1px}.kit-grid ::ng-deep .k-checkbox-wrap{display:flex;align-items:center;justify-content:center}.kit-grid ::ng-deep .k-checkbox{width:16px;height:16px;border-radius:4px;border:1px solid var(--ui-kit-color-grey-11);background-color:var(--ui-kit-color-grey-13)}.kit-grid ::ng-deep .k-checkbox.k-indeterminate{color:var(--ui-kit-color-main)}.kit-grid ::ng-deep .k-checkbox:hover:not(:disabled){border-color:var(--ui-kit-color-main)}.kit-grid ::ng-deep .k-checkbox:focus,.kit-grid ::ng-deep .k-checkbox.k-focus{box-shadow:0 0 0 2px var(--ui-kit-color-focus)}.kit-grid ::ng-deep .k-checkbox:checked,.kit-grid ::ng-deep .k-checkbox.k-checked{border-color:var(--ui-kit-color-main);background-color:var(--ui-kit-color-main)}.kit-grid ::ng-deep .k-checkbox:checked:disabled,.kit-grid ::ng-deep .k-checkbox.k-checked:disabled{border-color:var(--ui-kit-color-grey-11);background-color:var(--ui-kit-color-grey-13)}.kit-grid ::ng-deep .k-checkbox:disabled{border-color:var(--ui-kit-color-grey-11);background-color:var(--ui-kit-color-grey-13)}.kit-grid ::ng-deep .k-master-row .k-hierarchy-cell{padding:12px 8px}.kit-grid ::ng-deep .k-master-row.expanded .k-table-td{color:var(--ui-kit-color-main);border-bottom-color:var(--ui-kit-color-grey-10)}.kit-grid ::ng-deep .k-master-row.expanded .k-icon:before{color:var(--ui-kit-color-main);transform:rotate(90deg)}.kit-grid ::ng-deep .k-detail-row>.k-table-td{border-bottom:1px solid var(--ui-kit-color-grey-10)}.kit-grid ::ng-deep .k-detail-row .k-detail-cell{padding:0}.kit-grid ::ng-deep .k-detail-row .k-pager{margin:0;padding:20px 0;justify-content:flex-start;background:var(--ui-kit-color-white)}.kit-grid ::ng-deep .k-grid-norecords{text-align:left}.kit-grid ::ng-deep .k-hierarchy-cell .k-icon{display:flex;align-items:center;justify-content:center;font-family:WebComponentsIcons,sans-serif;font-size:22px}.kit-grid ::ng-deep .k-hierarchy-cell .k-icon:before{content:\"\\e005\";color:var(--ui-kit-color-grey-14);transform:rotate(0);transition:transform .2s ease}.kit-grid ::ng-deep .k-hierarchy-cell .k-icon:hover:before{color:var(--ui-kit-color-main)}.kit-grid ::ng-deep .k-hierarchy-cell .k-icon svg{display:none}.kit-grid ::ng-deep .k-pager{display:flex;justify-content:flex-end;margin-top:20px;padding:2px 0;color:var(--ui-kit-color-grey-10);border:none;background:none}.kit-grid ::ng-deep .k-pager:focus{box-shadow:none}.kit-grid ::ng-deep .k-pager-numbers{gap:8px}.kit-grid ::ng-deep .k-pager-numbers-wrap{gap:8px}.kit-grid ::ng-deep .k-pager-numbers-wrap .k-button{width:32px;height:32px;color:var(--ui-kit-color-grey-10);font-size:14px;font-weight:400;border-radius:6px;transition:none}.kit-grid ::ng-deep .k-pager-numbers-wrap .k-button:before{opacity:1;background:none;transition:none}.kit-grid ::ng-deep .k-pager-numbers-wrap .k-button:after,.kit-grid ::ng-deep .k-pager-numbers-wrap .k-button:before{display:none}.kit-grid ::ng-deep .k-pager-numbers-wrap .k-button.k-selected{color:var(--ui-kit-color-main)}.kit-grid ::ng-deep .k-pager-numbers-wrap .k-button.k-selected:before{border:1px solid var(--ui-kit-color-main)}.kit-grid ::ng-deep .k-pager-numbers-wrap .k-button:not(.k-selected):hover{background-color:var(--ui-kit-color-grey-11)!important}.kit-grid ::ng-deep .k-pager-numbers-wrap .k-button.k-disabled{color:var(--ui-kit-color-grey-12)}.kit-grid ::ng-deep .k-pager-numbers-wrap .k-button-icon:before{content:\"\";display:flex;width:14px;height:14px;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-position:center;mask-position:center;-webkit-mask-size:contain;mask-size:contain;background-color:currentcolor}.kit-grid ::ng-deep .k-pager-numbers-wrap .k-svg-i-caret-alt-left:before{-webkit-mask-image:url(\"data:image/svg+xml,%3Csvg width='12' height='12' viewBox='0 0 12 12' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M8.99976 10.3596L8.99976 9.48071C8.99976 9.42094 8.97046 9.36469 8.92241 9.32954L4.33335 6.00024L8.92241 2.67094C8.97046 2.63579 8.99976 2.57954 8.99976 2.51977L8.99976 1.64086C8.99976 1.56469 8.91304 1.52016 8.85093 1.56469L3.15444 5.69672C2.94819 5.84673 2.94819 6.15376 3.15444 6.30258L8.85093 10.4346C8.91304 10.4803 8.99976 10.4358 8.99976 10.3596Z' fill='black'/%3E%3C/svg%3E\");mask-image:url(\"data:image/svg+xml,%3Csvg width='12' height='12' viewBox='0 0 12 12' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M8.99976 10.3596L8.99976 9.48071C8.99976 9.42094 8.97046 9.36469 8.92241 9.32954L4.33335 6.00024L8.92241 2.67094C8.97046 2.63579 8.99976 2.57954 8.99976 2.51977L8.99976 1.64086C8.99976 1.56469 8.91304 1.52016 8.85093 1.56469L3.15444 5.69672C2.94819 5.84673 2.94819 6.15376 3.15444 6.30258L8.85093 10.4346C8.91304 10.4803 8.99976 10.4358 8.99976 10.3596Z' fill='black'/%3E%3C/svg%3E\")}.kit-grid ::ng-deep .k-pager-numbers-wrap .k-svg-i-caret-alt-right:before{-webkit-mask-image:url(\"data:image/svg+xml,%3Csvg width='12' height='12' viewBox='0 0 12 12' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M2.99976 1.64041L2.99976 2.51932C2.99976 2.57909 3.02905 2.63534 3.0771 2.67049L7.66616 5.99979L3.0771 9.32909C3.02905 9.36424 2.99976 9.42049 2.99976 9.48026L2.99976 10.3592C2.99976 10.4353 3.08647 10.4799 3.14858 10.4353L8.84507 6.30331C9.05132 6.15331 9.05132 5.84627 8.84507 5.69745L3.14858 1.56541C3.08647 1.51971 2.99976 1.56424 2.99976 1.64041Z' fill='black'/%3E%3C/svg%3E\");mask-image:url(\"data:image/svg+xml,%3Csvg width='12' height='12' viewBox='0 0 12 12' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M2.99976 1.64041L2.99976 2.51932C2.99976 2.57909 3.02905 2.63534 3.0771 2.67049L7.66616 5.99979L3.0771 9.32909C3.02905 9.36424 2.99976 9.42049 2.99976 9.48026L2.99976 10.3592C2.99976 10.4353 3.08647 10.4799 3.14858 10.4353L8.84507 6.30331C9.05132 6.15331 9.05132 5.84627 8.84507 5.69745L3.14858 1.56541C3.08647 1.51971 2.99976 1.56424 2.99976 1.64041Z' fill='black'/%3E%3C/svg%3E\")}.kit-grid ::ng-deep .k-pager-numbers-wrap .k-svg-i-caret-alt-to-left:before{-webkit-mask-image:url(\"data:image/svg+xml,%3Csvg width='12' height='12' viewBox='0 0 12 12' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cline x1='1' y1='1' x2='1' y2='11' stroke='black' stroke-width='1'/%3E%3Cpath d='M9 10.36L9 9.48C9 9.42 8.97 9.36 8.92 9.33L4.33 6L8.92 2.67C8.97 2.64 9 2.58 9 2.52L9 1.64C9 1.56 8.91 1.52 8.85 1.56L3.15 5.7C2.95 5.85 2.95 6.15 3.15 6.3L8.85 10.43C8.91 10.48 9 10.44 9 10.36Z' fill='black'/%3E%3C/svg%3E\");mask-image:url(\"data:image/svg+xml,%3Csvg width='12' height='12' viewBox='0 0 12 12' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cline x1='1' y1='1' x2='1' y2='11' stroke='black' stroke-width='1'/%3E%3Cpath d='M9 10.36L9 9.48C9 9.42 8.97 9.36 8.92 9.33L4.33 6L8.92 2.67C8.97 2.64 9 2.58 9 2.52L9 1.64C9 1.56 8.91 1.52 8.85 1.56L3.15 5.7C2.95 5.85 2.95 6.15 3.15 6.3L8.85 10.43C8.91 10.48 9 10.44 9 10.36Z' fill='black'/%3E%3C/svg%3E\")}.kit-grid ::ng-deep .k-pager-numbers-wrap .k-svg-i-caret-alt-to-right:before{-webkit-mask-image:url(\"data:image/svg+xml,%3Csvg width='12' height='12' viewBox='0 0 12 12' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M3 1.64L3 2.52C3 2.58 3.03 2.64 3.08 2.67L7.67 6L3.08 9.33C3.03 9.36 3 9.42 3 9.48L3 10.36C3 10.44 3.09 10.48 3.15 10.43L8.85 6.3C9.05 6.15 9.05 5.85 8.85 5.7L3.15 1.56C3.09 1.52 3 1.56 3 1.64Z' fill='black'/%3E%3Cline x1='11' y1='1' x2='11' y2='11' stroke='black' stroke-width='1'/%3E%3C/svg%3E\");mask-image:url(\"data:image/svg+xml,%3Csvg width='12' height='12' viewBox='0 0 12 12' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M3 1.64L3 2.52C3 2.58 3.03 2.64 3.08 2.67L7.67 6L3.08 9.33C3.03 9.36 3 9.42 3 9.48L3 10.36C3 10.44 3.09 10.48 3.15 10.43L8.85 6.3C9.05 6.15 9.05 5.85 8.85 5.7L3.15 1.56C3.09 1.52 3 1.56 3 1.64Z' fill='black'/%3E%3Cline x1='11' y1='1' x2='11' y2='11' stroke='black' stroke-width='1'/%3E%3C/svg%3E\")}.kit-grid ::ng-deep .k-pager-nav{width:32px;height:32px;border-radius:6px}.kit-grid ::ng-deep .k-pager-nav:before,.kit-grid ::ng-deep .k-pager-nav:after{display:none!important}.kit-grid ::ng-deep .k-pager-nav:not(.k-disabled):hover{background:var(--ui-kit-color-grey-11)!important}.kit-grid ::ng-deep .k-pager-info{flex:initial;border-radius:8px;background-color:#fff;padding:5px 16px}.kit-grid ::ng-deep .k-pager .k-button-icon svg{display:none}.kit-grid ::ng-deep .k-grid-aria-root{position:relative}.kit-grid ::ng-deep .k-loading-color{background:var(--ui-kit-color-grey-13)}.kit-grid ::ng-deep .expand-disabled .k-hierarchy-cell a{pointer-events:none;opacity:.3}.kit-grid ::ng-deep .checkbox-hidden .k-checkbox-wrap{visibility:hidden}.kit-grid ::ng-deep .k-picker{height:32px;border-radius:4px;border:1px solid var(--ui-kit-color-grey-11);background:var(--ui-kit-color-white)}.kit-grid ::ng-deep .k-picker:hover{border-color:var(--ui-kit-color-hover)}.kit-grid ::ng-deep .k-picker.k-focus{border:1px solid var(--ui-kit-color-main);box-shadow:0 0 0 2px var(--ui-kit-color-focus)}.kit-grid ::ng-deep .k-picker[aria-expanded=true] .k-svg-i-caret-alt-down:before{transform:rotate(180deg)}.kit-grid ::ng-deep .k-picker .k-svg-i-caret-alt-down:before{content:\"\\e015\";color:var(--ui-kit-color-grey-12);font-family:WebComponentsIcons,sans-serif}.kit-grid ::ng-deep .k-grid.kit-grid--radio .k-checkbox{border-radius:50%}.kit-grid ::ng-deep .k-grid.kit-grid--radio .k-checkbox:after{content:\"\";display:block;width:8px;height:8px;border-radius:50%;background-color:transparent;margin:auto;position:absolute;inset:0}.kit-grid ::ng-deep .k-grid.kit-grid--radio .k-checkbox:checked,.kit-grid ::ng-deep .k-grid.kit-grid--radio .k-checkbox.k-checked{background-color:var(--ui-kit-color-grey-13)}.kit-grid ::ng-deep .k-grid.kit-grid--radio .k-checkbox:checked:after,.kit-grid ::ng-deep .k-grid.kit-grid--radio .k-checkbox.k-checked:after{background-color:var(--ui-kit-color-main)}.kit-grid ::ng-deep .k-grid.kit-grid--radio .k-checkbox:checked:disabled:after,.kit-grid ::ng-deep .k-grid.kit-grid--radio .k-checkbox.k-checked:disabled:after{background-color:var(--ui-kit-color-grey-11)}::ng-deep .kit-grid-row-hint{overflow:hidden;border:1px solid var(--ui-kit-color-grey-11);background:var(--ui-kit-color-white);box-shadow:0 10px 24px #11182724;z-index:10002!important}::ng-deep .kit-grid-row-hint .k-table-td{min-width:170px;padding:10px 8px;border-color:var(--ui-kit-color-grey-11);color:var(--ui-kit-color-grey-10);background:var(--ui-kit-color-white)}::ng-deep .kit-grid.k-grid:has(.k-grid-norecords) .k-pager-numbers-wrap{display:none}::ng-deep .k-animation-container .k-list-item.k-selected{background-color:var(--ui-kit-color-main);color:var(--ui-kit-color-white)}::ng-deep .k-animation-container .k-list-item:hover:not(.k-selected){color:var(--ui-kit-color-main)}\n"] }]
|
|
7367
7384
|
}], ctorParameters: () => [], propDecorators: { data: [{ type: i0.Input, args: [{ isSignal: true, alias: "data", required: false }] }], gridDataBinding: [{ type: i0.Input, args: [{ isSignal: true, alias: "gridDataBinding", required: false }] }], sortable: [{
|
|
7368
7385
|
type: Input
|
|
7369
7386
|
}], sort: [{
|
|
@@ -16314,7 +16331,7 @@ class KitCreateEntityDialogComponent extends DialogContentBase {
|
|
|
16314
16331
|
}
|
|
16315
16332
|
createEntity() {
|
|
16316
16333
|
this.isSaving.set(true);
|
|
16317
|
-
this.entityService.save({ name: this.form.controls['name'].value }).pipe(finalize(() => this.isSaving.set(false))).subscribe((data) => {
|
|
16334
|
+
this.entityService.save({ name: this.form.controls['name'].value.trim() }).pipe(finalize(() => this.isSaving.set(false))).subscribe((data) => {
|
|
16318
16335
|
this.dialog.close(data);
|
|
16319
16336
|
});
|
|
16320
16337
|
}
|
|
@@ -16514,6 +16531,7 @@ class KitUserRoleDetailsComponent {
|
|
|
16514
16531
|
validators: [
|
|
16515
16532
|
Validators.required,
|
|
16516
16533
|
Validators.maxLength(64),
|
|
16534
|
+
kitWhitespaceValidator(),
|
|
16517
16535
|
],
|
|
16518
16536
|
});
|
|
16519
16537
|
this.userRoleDetails = toSignal(this.store.select(KIT_USER_ROLES_STATE_TOKEN).pipe(map(({ roleDetails }) => roleDetails)), { initialValue: { loading: false, data: null } });
|
|
@@ -16527,7 +16545,7 @@ class KitUserRoleDetailsComponent {
|
|
|
16527
16545
|
if (!pending || !original) {
|
|
16528
16546
|
return false;
|
|
16529
16547
|
}
|
|
16530
|
-
if (this.nameValue() !== original.name) {
|
|
16548
|
+
if (this.nameValue().trim() !== original.name) {
|
|
16531
16549
|
return true;
|
|
16532
16550
|
}
|
|
16533
16551
|
return !this.permissionsEqual(pending.permissions, original.permissions);
|
|
@@ -16590,7 +16608,7 @@ class KitUserRoleDetailsComponent {
|
|
|
16590
16608
|
return;
|
|
16591
16609
|
}
|
|
16592
16610
|
;
|
|
16593
|
-
this.updated.emit({ ...pending, name: this.nameControl.value });
|
|
16611
|
+
this.updated.emit({ ...pending, name: this.nameControl.value.trim() });
|
|
16594
16612
|
}
|
|
16595
16613
|
deleteRole(name) {
|
|
16596
16614
|
this.kitDialogService.openDialog({
|