@tacdaed/fragments 1.0.0-beta.5 → 1.0.0-beta.6
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.
|
@@ -2084,11 +2084,11 @@ class TitleBarComponent {
|
|
|
2084
2084
|
this.styleType = 'primary';
|
|
2085
2085
|
}
|
|
2086
2086
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.2.3", ngImport: i0, type: TitleBarComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
2087
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.2.3", type: TitleBarComponent, isStandalone: true, selector: "frg-title-bar", inputs: { title: "title", styleType: "styleType" }, ngImport: i0, template: "@if (title) {\r\n <div\r\n class=\"frg-title-bar\"\r\n [ngClass]=\"{\r\n 'frg-title-bar__primary': styleType === 'primary',\r\n 'frg-title-bar__secondary': styleType === 'secondary',\r\n 'frg-title-bar__tertiary': styleType === 'tertiary',\r\n 'frg-title-bar__dark': styleType === 'dark',\r\n 'frg-title-bar__light': styleType === 'light'\r\n }\"\r\n >\r\n <div\r\n class=\"frg-title-bar-title d-flex justify-content-between\"\r\n aria-level=\"3\"\r\n >\r\n <div class=\"frg-title-bar-title__text\">\r\n {{ title }}\r\n </div>\r\n </div>\r\n </div>\r\n}\r\n", styles: [".frg-title-bar{color:#3d3d3d;font-weight:400;font-size:1.25rem;box-shadow:0 2px 4px #0000001a;font-family:
|
|
2087
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.2.3", type: TitleBarComponent, isStandalone: true, selector: "frg-title-bar", inputs: { title: "title", styleType: "styleType" }, ngImport: i0, template: "@if (title) {\r\n <div\r\n class=\"frg-title-bar\"\r\n [ngClass]=\"{\r\n 'frg-title-bar__primary': styleType === 'primary',\r\n 'frg-title-bar__secondary': styleType === 'secondary',\r\n 'frg-title-bar__tertiary': styleType === 'tertiary',\r\n 'frg-title-bar__dark': styleType === 'dark',\r\n 'frg-title-bar__light': styleType === 'light'\r\n }\"\r\n >\r\n <div\r\n class=\"frg-title-bar-title d-flex justify-content-between\"\r\n aria-level=\"3\"\r\n >\r\n <div class=\"frg-title-bar-title__text\">\r\n {{ title }}\r\n </div>\r\n </div>\r\n </div>\r\n}\r\n", styles: [".frg-title-bar{color:#3d3d3d;font-weight:400;font-size:1.25rem;box-shadow:0 2px 4px #0000001a;font-family:Open Sans,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Helvetica Neue,sans-serif}.frg-title-bar__primary{background-color:#4c7aae;color:#fdfdfd}.frg-title-bar__primary .frg-title-bar-title button{color:#4c7aae}.frg-title-bar__primary .frg-title-bar-filter,.frg-title-bar__primary .frg-title-bar-search{background-color:#6ea8d9}.frg-title-bar__secondary{background-color:#c9a24e;color:#fdfdfd}.frg-title-bar__secondary .frg-title-bar-title button{color:#c9a24e}.frg-title-bar__secondary .frg-title-bar-filter,.frg-title-bar__secondary .frg-title-bar-search{background-color:#e6c57a}.frg-title-bar__tertiary{background-color:#b05a99;color:#fdfdfd}.frg-title-bar__tertiary .frg-title-bar-title button{color:#b05a99}.frg-title-bar__tertiary .frg-title-bar-filter,.frg-title-bar__tertiary .frg-title-bar-search{background-color:#d97ebd}.frg-title-bar__dark{background-color:#3d3d3d;color:#fff}.frg-title-bar__light{background-color:#fdfdfd}.frg-title-bar .frg-title-bar-title{padding:15px 25px}.frg-title-bar .frg-title-bar-title button{outline:none;border:none;border-radius:50%;width:25px;height:25px;padding:15px;font-size:1rem}.frg-title-bar .frg-title-bar-title button:focus{color:#3d3d3d;background-color:#fdfdfd;border-color:#6ea8d9;outline:0;outline:3px solid #6ea8d9;box-shadow:none}.frg-title-bar .frg-title-bar-title button:focus-visible{outline-offset:5px}.frg-title-bar .frg-title-bar-filter__container{padding:25px}.frg-title-bar .frg-title-bar-filter label{display:block;font-size:.8rem;font-weight:lighter}.frg-title-bar .frg-title-bar-search__container{padding:25px}.frg-title-bar .frg-title-bar-search label{display:block;font-size:.8rem;font-weight:lighter}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }] }); }
|
|
2088
2088
|
}
|
|
2089
2089
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.2.3", ngImport: i0, type: TitleBarComponent, decorators: [{
|
|
2090
2090
|
type: Component,
|
|
2091
|
-
args: [{ selector: 'frg-title-bar', imports: [CommonModule], template: "@if (title) {\r\n <div\r\n class=\"frg-title-bar\"\r\n [ngClass]=\"{\r\n 'frg-title-bar__primary': styleType === 'primary',\r\n 'frg-title-bar__secondary': styleType === 'secondary',\r\n 'frg-title-bar__tertiary': styleType === 'tertiary',\r\n 'frg-title-bar__dark': styleType === 'dark',\r\n 'frg-title-bar__light': styleType === 'light'\r\n }\"\r\n >\r\n <div\r\n class=\"frg-title-bar-title d-flex justify-content-between\"\r\n aria-level=\"3\"\r\n >\r\n <div class=\"frg-title-bar-title__text\">\r\n {{ title }}\r\n </div>\r\n </div>\r\n </div>\r\n}\r\n", styles: [".frg-title-bar{color:#3d3d3d;font-weight:400;font-size:1.25rem;box-shadow:0 2px 4px #0000001a;font-family:
|
|
2091
|
+
args: [{ selector: 'frg-title-bar', imports: [CommonModule], template: "@if (title) {\r\n <div\r\n class=\"frg-title-bar\"\r\n [ngClass]=\"{\r\n 'frg-title-bar__primary': styleType === 'primary',\r\n 'frg-title-bar__secondary': styleType === 'secondary',\r\n 'frg-title-bar__tertiary': styleType === 'tertiary',\r\n 'frg-title-bar__dark': styleType === 'dark',\r\n 'frg-title-bar__light': styleType === 'light'\r\n }\"\r\n >\r\n <div\r\n class=\"frg-title-bar-title d-flex justify-content-between\"\r\n aria-level=\"3\"\r\n >\r\n <div class=\"frg-title-bar-title__text\">\r\n {{ title }}\r\n </div>\r\n </div>\r\n </div>\r\n}\r\n", styles: [".frg-title-bar{color:#3d3d3d;font-weight:400;font-size:1.25rem;box-shadow:0 2px 4px #0000001a;font-family:Open Sans,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Helvetica Neue,sans-serif}.frg-title-bar__primary{background-color:#4c7aae;color:#fdfdfd}.frg-title-bar__primary .frg-title-bar-title button{color:#4c7aae}.frg-title-bar__primary .frg-title-bar-filter,.frg-title-bar__primary .frg-title-bar-search{background-color:#6ea8d9}.frg-title-bar__secondary{background-color:#c9a24e;color:#fdfdfd}.frg-title-bar__secondary .frg-title-bar-title button{color:#c9a24e}.frg-title-bar__secondary .frg-title-bar-filter,.frg-title-bar__secondary .frg-title-bar-search{background-color:#e6c57a}.frg-title-bar__tertiary{background-color:#b05a99;color:#fdfdfd}.frg-title-bar__tertiary .frg-title-bar-title button{color:#b05a99}.frg-title-bar__tertiary .frg-title-bar-filter,.frg-title-bar__tertiary .frg-title-bar-search{background-color:#d97ebd}.frg-title-bar__dark{background-color:#3d3d3d;color:#fff}.frg-title-bar__light{background-color:#fdfdfd}.frg-title-bar .frg-title-bar-title{padding:15px 25px}.frg-title-bar .frg-title-bar-title button{outline:none;border:none;border-radius:50%;width:25px;height:25px;padding:15px;font-size:1rem}.frg-title-bar .frg-title-bar-title button:focus{color:#3d3d3d;background-color:#fdfdfd;border-color:#6ea8d9;outline:0;outline:3px solid #6ea8d9;box-shadow:none}.frg-title-bar .frg-title-bar-title button:focus-visible{outline-offset:5px}.frg-title-bar .frg-title-bar-filter__container{padding:25px}.frg-title-bar .frg-title-bar-filter label{display:block;font-size:.8rem;font-weight:lighter}.frg-title-bar .frg-title-bar-search__container{padding:25px}.frg-title-bar .frg-title-bar-search label{display:block;font-size:.8rem;font-weight:lighter}\n"] }]
|
|
2092
2092
|
}], propDecorators: { title: [{
|
|
2093
2093
|
type: Input
|
|
2094
2094
|
}], styleType: [{
|
|
@@ -2351,7 +2351,7 @@ class TableComponent {
|
|
|
2351
2351
|
}
|
|
2352
2352
|
}
|
|
2353
2353
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.2.3", ngImport: i0, type: TableComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
2354
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.2.3", type: TableComponent, isStandalone: true, selector: "frg-table", inputs: { configTable: "configTable", styleType: "styleType", rowSize: "rowSize" }, outputs: { reloadTableEvent: "reloadTableEvent" }, viewQueries: [{ propertyName: "tableHead", first: true, predicate: ["tableHead"], descendants: true, read: ElementRef }], ngImport: i0, template: "@if (configTable.tTitleBar?.title) {\r\n <frg-title-bar\r\n [title]=\"configTable.tTitleBar?.title ?? ''\"\r\n [styleType]=\"styleType\"\r\n ></frg-title-bar>\r\n}\r\n@if (configTable.tBody.data && configTable.tBody.data.length > 0) {\r\n <div class=\"frg-table-responsive\">\r\n <table\r\n class=\"frg-table\"\r\n id=\"table1\"\r\n [ngClass]=\"{\r\n 'frg-table__primary': styleType === 'primary',\r\n 'frg-table__secondary': styleType === 'secondary',\r\n 'frg-table__tertiary': styleType === 'tertiary',\r\n 'frg-table__dark': styleType === 'dark',\r\n 'frg-table__light': styleType === 'light',\r\n 'frg-table--row-small': rowSize === 'small',\r\n 'frg-table--row-medium': rowSize === 'medium',\r\n 'frg-table--row-large': rowSize === 'large'\r\n }\"\r\n >\r\n @if (configTable.tCaption && configTable.tCaption.srOnly) {\r\n <caption class=\"visually-hidden\">\r\n {{ configTable.tCaption.srOnly }}\r\n </caption>\r\n }\r\n @if (configTable.tHead.columns.length > 0) {\r\n <thead #tableHead>\r\n <tr>\r\n <!--Sort-->\r\n @if (configTable.tHead) {\r\n @for (hColumn of configTable.tHead.columns; track $index) {\r\n @if (hColumn.fieldOrder) {\r\n <th\r\n scope=\"col\"\r\n [tabindex]=\"hColumn.fieldOrder ? 0 : null\"\r\n [attr.aria-sort]=\"\r\n !(hColumn.fieldOrder === configTable.tPagination.order)\r\n ? null\r\n : configTable.tPagination.direction ===\r\n EnumDirectionSortTable.asc\r\n ? 'ascending'\r\n : 'descending'\r\n \"\r\n [ngClass]=\"{\r\n 'frg-sorting': hColumn.fieldOrder,\r\n 'frg-sorting-asc':\r\n configTable.tPagination.direction ===\r\n EnumDirectionSortTable.asc &&\r\n hColumn.fieldOrder === configTable.tPagination.order,\r\n 'frg-sorting-desc':\r\n configTable.tPagination.direction ===\r\n EnumDirectionSortTable.desc &&\r\n hColumn.fieldOrder === configTable.tPagination.order\r\n }\"\r\n (click)=\"\r\n hColumn.fieldOrder ? orderBy(hColumn.fieldOrder) : null\r\n \"\r\n (keydown.enter)=\"\r\n hColumn.fieldOrder ? orderBy(hColumn.fieldOrder) : null\r\n \"\r\n >\r\n <span>\r\n {{ hColumn.fieldLabel }}\r\n </span>\r\n </th>\r\n } @else {\r\n <th scope=\"col\">\r\n <span>\r\n {{ hColumn.fieldLabel }}\r\n </span>\r\n </th>\r\n }\r\n }\r\n }\r\n <!--End Sort-->\r\n @if (configTable.tHead.action) {\r\n <th\r\n scope=\"col\"\r\n [ngClass]=\"configTable.tHead.action.customClass ?? ''\"\r\n >\r\n {{ configTable.tHead.action.label }}\r\n </th>\r\n }\r\n </tr>\r\n </thead>\r\n }\r\n <tbody>\r\n @for (item of configTable.tBody.data; let i = $index; track $index) {\r\n <tr\r\n [attr.id]=\"i === 0 ? idFirstTr : null\"\r\n [ngClass]=\"\r\n configTable.tBody.rowClick?.behaviourAction?.clickEvent\r\n ? 'cursor-pointer'\r\n : ''\r\n \"\r\n [routerLink]=\"\r\n configTable.tBody.rowClick?.disabled &&\r\n configTable.tBody.rowClick?.disabled(item)\r\n ? null\r\n : configTable.tBody.rowClick?.behaviourAction?.link\r\n ? [\r\n configTable.tBody.rowClick?.behaviourAction?.link\r\n ? configTable.tBody.rowClick?.behaviourAction?.link\r\n : './',\r\n configTable.tBody.rowClick?.behaviourAction\r\n ?.customParamsLink ||\r\n (item | fieldArrayPosition: configTable.tBody.uniqueField)\r\n ]\r\n : null\r\n \"\r\n (click)=\"handleRowClick($event, item)\"\r\n (keyup.enter)=\"handleRowClick($event, item)\"\r\n (keydown)=\"handleRowClick($event, item)\"\r\n >\r\n @for (column of configTable.tBody.columns; let i = $index; track $index) {\r\n <td>\r\n <div [ngClass]=\"column.customClass\">\r\n <ng-container\r\n [ngTemplateOutlet]=\"\r\n (column.cells | typeOfArray) ? cellForTpl : cellTpl\r\n \"\r\n [ngTemplateOutletContext]=\"{\r\n cells: column.cells,\r\n item: item\r\n }\"\r\n ></ng-container>\r\n </div>\r\n </td>\r\n }\r\n @if (configTable.tBody.action ?? false) {\r\n <td\r\n class=\"table-action\"\r\n [ngClass]=\"configTable.tBody.action?.customClasses ?? ''\"\r\n >\r\n @for (act of configTable.tBody.action?.buttons ?? []; track $index) {\r\n @if (act.visible && act.visible(item) ? true : null) {\r\n <frg-button\r\n [ariaLabel]=\"act.ariaLabel || 'Azione'\"\r\n [text]=\"''\"\r\n [iconClass]=\"act.iconClass ? act.iconClass(item) : ''\"\r\n [styleType]=\"'icon'\"\r\n [size]=\"'small'\"\r\n frgTooltip\r\n [tooltipConfig]=\"{\r\n apply:\r\n act.tooltip &&\r\n act.tooltip.apply &&\r\n act.visible &&\r\n act.visible(item)\r\n ? act.tooltip.apply\r\n : true,\r\n text:\r\n act.tooltip && act.tooltip.text\r\n ? act.tooltip.text(item)\r\n : '',\r\n textContent:\r\n act.tooltip && act.tooltip.textContent\r\n ? act.tooltip.textContent(item)\r\n : '',\r\n position:\r\n act.tooltip && act.tooltip.position\r\n ? act.tooltip.position\r\n : 'top',\r\n gap: act.tooltip && act.tooltip.gap ? act.tooltip.gap : 0\r\n }\"\r\n [disabled]=\"act.disabled ? act.disabled(item) : null\"\r\n [buttonRouterLink]=\"\r\n act.disabled && act.disabled(item)\r\n ? null\r\n : act.behaviourAction.link\r\n ? [\r\n act.behaviourAction.link\r\n ? act.behaviourAction.link\r\n : './',\r\n act.behaviourAction.customParamsLink ||\r\n (item\r\n | fieldArrayPosition\r\n : configTable.tBody.uniqueField)\r\n ]\r\n : null\r\n \"\r\n (clickEvent)=\"\r\n act.behaviourAction.clickEvent\r\n ? act.behaviourAction.clickEvent(item)\r\n : null\r\n \"\r\n (click)=\"$event.stopPropagation()\"\r\n (keydown)=\"$event.stopPropagation()\"\r\n (keyup.enter)=\"$event.stopPropagation()\"\r\n >\r\n </frg-button>\r\n }\r\n }\r\n </td>\r\n }\r\n </tr>\r\n }\r\n </tbody>\r\n </table>\r\n </div>\r\n\r\n @if (configTable.tPagination) {\r\n <frg-small-pagination\r\n [hasElipsisPages]=\"configTable.tPagination.hasElipsisPages ?? false\"\r\n [pageSize]=\"configTable.tPagination.pageSize ?? 10\"\r\n [page]=\"configTable.tPagination.page ?? 0\"\r\n [totalItems]=\"configTable.tPagination.fullData?.length ?? 0\"\r\n [fullData]=\"configTable.tPagination.fullData ?? []\"\r\n [styleType]=\"styleType\"\r\n (pageChange)=\"updateCurrentPage($event)\"\r\n ></frg-small-pagination>\r\n }\r\n} @else {\r\n <div class=\"d-flex justify-content-center my-4\">\r\n <div class=\"text-center\">No Elements</div>\r\n </div>\r\n}\r\n\r\n<ng-template #cellForTpl let-cells=\"cells\" let-item=\"item\">\r\n @for (cell of $any(cells); track $index) {\r\n <ng-container\r\n [ngTemplateOutlet]=\"cellTpl\"\r\n [ngTemplateOutletContext]=\"{\r\n cell: cell,\r\n item: item\r\n }\"\r\n ></ng-container>\r\n <br />\r\n }\r\n</ng-template>\r\n\r\n<ng-template #cellTpl let-cell=\"cells\" let-item=\"item\">\r\n @if (!cell.fieldPipe) {\r\n @if (\r\n cell.icon &&\r\n cell.icon.position !== 'right' &&\r\n cell.icon.action.visible &&\r\n cell.icon.action.visible(item)\r\n ) {\r\n <frg-button\r\n [ariaLabel]=\"cell.icon.ariaLabel || 'Azione'\"\r\n [text]=\"''\"\r\n [iconClass]=\"cell.icon.iconClass ? cell.icon.iconClass : ''\"\r\n [styleType]=\"'icon'\"\r\n [size]=\"'small'\"\r\n frgTooltip\r\n [tooltipConfig]=\"{\r\n apply:\r\n cell.icon.action.tooltip && cell.icon.action.tooltip.apply\r\n ? cell.icon.action.tooltip.apply\r\n : true,\r\n text:\r\n cell.icon.action.tooltip && cell.icon.action.tooltip.text\r\n ? cell.icon.action.tooltip.text(item)\r\n : '',\r\n textContent:\r\n cell.icon.action.tooltip && cell.icon.action.tooltip.textContent\r\n ? cell.icon.action.tooltip.textContent(item)\r\n : '',\r\n position:\r\n cell.icon.action.tooltip && cell.icon.action.tooltip.position\r\n ? cell.icon.action.tooltip.position\r\n : 'top',\r\n gap:\r\n cell.icon.action.tooltip && cell.icon.action.tooltip.gap\r\n ? cell.icon.action.tooltip.gap\r\n : 0\r\n }\"\r\n [disabled]=\"\r\n cell.icon.action.disabled\r\n ? cell.icon.action.disabled(item)\r\n : null\r\n \"\r\n (clickEvent)=\"handleIconClick(cell, item)\"\r\n (click)=\"$event.stopPropagation()\"\r\n (keydown)=\"$event.stopPropagation()\"\r\n (keyup.enter)=\"$event.stopPropagation()\"\r\n >\r\n </frg-button>\r\n }\r\n <span [ngClass]=\"cell.customClass ? cell.customClass(item) : ''\">\r\n {{ item | fieldArrayPosition: cell.fieldArrayPosition }}\r\n </span>\r\n @if (\r\n cell.icon &&\r\n cell.icon.position === 'right' &&\r\n cell.icon.action.visible &&\r\n cell.icon.action.visible(item)\r\n ) {\r\n <frg-button\r\n [ariaLabel]=\"cell.icon.ariaLabel || 'Azione'\"\r\n [text]=\"''\"\r\n [iconClass]=\"cell.icon.iconClass ? cell.icon.iconClass : ''\"\r\n [styleType]=\"'icon'\"\r\n [size]=\"'small'\"\r\n frgTooltip\r\n [tooltipConfig]=\"{\r\n apply:\r\n cell.icon.action.tooltip && cell.icon.action.tooltip.apply\r\n ? cell.icon.action.tooltip.apply\r\n : true,\r\n text:\r\n cell.icon.action.tooltip && cell.icon.action.tooltip.text\r\n ? cell.icon.action.tooltip.text(item)\r\n : '',\r\n textContent:\r\n cell.icon.action.tooltip && cell.icon.action.tooltip.textContent\r\n ? cell.icon.action.tooltip.textContent(item)\r\n : '',\r\n position:\r\n cell.icon.action.tooltip && cell.icon.action.tooltip.position\r\n ? cell.icon.action.tooltip.position\r\n : 'top',\r\n gap:\r\n cell.icon.action.tooltip && cell.icon.action.tooltip.gap\r\n ? cell.icon.action.tooltip.gap\r\n : 0\r\n }\"\r\n [disabled]=\"\r\n cell.icon.action.disabled\r\n ? cell.icon.action.disabled(item)\r\n : null\r\n \"\r\n (clickEvent)=\"handleIconClick(cell, item)\"\r\n (click)=\"$event.stopPropagation()\"\r\n (keydown)=\"$event.stopPropagation()\"\r\n (keyup.enter)=\"$event.stopPropagation()\"\r\n >\r\n </frg-button>\r\n }\r\n } @else {\r\n @if (\r\n cell.icon &&\r\n cell.icon.position !== 'right' &&\r\n cell.icon.action.visible &&\r\n cell.icon.action.visible(item)\r\n ) {\r\n <frg-button\r\n [ariaLabel]=\"cell.icon.ariaLabel || 'Azione'\"\r\n [text]=\"''\"\r\n [iconClass]=\"cell.icon.iconClass ? cell.icon.iconClass : ''\"\r\n [styleType]=\"'icon'\"\r\n [size]=\"'small'\"\r\n frgTooltip\r\n [tooltipConfig]=\"{\r\n apply:\r\n cell.icon.action.tooltip && cell.icon.action.tooltip.apply\r\n ? cell.icon.action.tooltip.apply\r\n : true,\r\n text:\r\n cell.icon.action.tooltip && cell.icon.action.tooltip.text\r\n ? cell.icon.action.tooltip.text(item)\r\n : '',\r\n textContent:\r\n cell.icon.action.tooltip && cell.icon.action.tooltip.textContent\r\n ? cell.icon.action.tooltip.textContent(item)\r\n : '',\r\n position:\r\n cell.icon.action.tooltip && cell.icon.action.tooltip.position\r\n ? cell.icon.action.tooltip.position\r\n : 'top',\r\n gap:\r\n cell.icon.action.tooltip && cell.icon.action.tooltip.gap\r\n ? cell.icon.action.tooltip.gap\r\n : 0\r\n }\"\r\n [disabled]=\"\r\n cell.icon.action.disabled\r\n ? cell.icon.action.disabled(item)\r\n : null\r\n \"\r\n (clickEvent)=\"handleIconClick(cell, item)\"\r\n (click)=\"$event.stopPropagation()\"\r\n (keydown)=\"$event.stopPropagation()\"\r\n (keyup.enter)=\"$event.stopPropagation()\"\r\n >\r\n </frg-button>\r\n }\r\n <span\r\n [innerHtml]=\"\r\n item\r\n | fieldArrayPosition: cell.fieldArrayPosition\r\n | dynamicPipe: cell.fieldPipe.type : cell.fieldPipe.args\r\n | safeHtml\r\n \"\r\n [ngClass]=\"cell.customClass ? cell.customClass(item) : ''\"\r\n ></span>\r\n @if (\r\n cell.icon &&\r\n cell.icon.position === 'right' &&\r\n cell.icon.action.visible &&\r\n cell.icon.action.visible(item)\r\n ) {\r\n <frg-button\r\n [ariaLabel]=\"cell.icon.ariaLabel || 'Azione'\"\r\n [text]=\"''\"\r\n [iconClass]=\"cell.icon.iconClass ? cell.icon.iconClass : ''\"\r\n [styleType]=\"'icon'\"\r\n [size]=\"'small'\"\r\n frgTooltip\r\n [tooltipConfig]=\"{\r\n apply:\r\n cell.icon.action.tooltip && cell.icon.action.tooltip.apply\r\n ? cell.icon.action.tooltip.apply\r\n : true,\r\n text:\r\n cell.icon.action.tooltip && cell.icon.action.tooltip.text\r\n ? cell.icon.action.tooltip.text(item)\r\n : '',\r\n textContent:\r\n cell.icon.action.tooltip && cell.icon.action.tooltip.textContent\r\n ? cell.icon.action.tooltip.textContent(item)\r\n : '',\r\n position:\r\n cell.icon.action.tooltip && cell.icon.action.tooltip.position\r\n ? cell.icon.action.tooltip.position\r\n : 'top',\r\n gap:\r\n cell.icon.action.tooltip && cell.icon.action.tooltip.gap\r\n ? cell.icon.action.tooltip.gap\r\n : 0\r\n }\"\r\n [disabled]=\"\r\n cell.icon.action.disabled\r\n ? cell.icon.action.disabled(item)\r\n : null\r\n \"\r\n (clickEvent)=\"handleIconClick(cell, item)\"\r\n (click)=\"$event.stopPropagation()\"\r\n (keydown)=\"$event.stopPropagation()\"\r\n (keyup.enter)=\"$event.stopPropagation()\"\r\n >\r\n </frg-button>\r\n }\r\n }\r\n</ng-template>\r\n", styles: [".frg-title-bar{color:#3d3d3d;font-weight:400;font-size:1.25rem;box-shadow:0 2px 4px #0000001a;font-family:frg-opensans,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Open Sans,Helvetica Neue,sans-serif}.frg-title-bar__primary{background-color:#4c7aae;color:#fdfdfd}.frg-title-bar__primary .frg-title-bar-title button{color:#4c7aae}.frg-title-bar__primary .frg-title-bar-filter,.frg-title-bar__primary .frg-title-bar-search{background-color:#6ea8d9}.frg-title-bar__secondary{background-color:#c9a24e;color:#fdfdfd}.frg-title-bar__secondary .frg-title-bar-title button{color:#c9a24e}.frg-title-bar__secondary .frg-title-bar-filter,.frg-title-bar__secondary .frg-title-bar-search{background-color:#e6c57a}.frg-title-bar__tertiary{background-color:#b05a99;color:#fdfdfd}.frg-title-bar__tertiary .frg-title-bar-title button{color:#b05a99}.frg-title-bar__tertiary .frg-title-bar-filter,.frg-title-bar__tertiary .frg-title-bar-search{background-color:#d97ebd}.frg-title-bar__dark{background-color:#3d3d3d;color:#fff}.frg-title-bar__light{background-color:#fdfdfd}.frg-title-bar .frg-title-bar-title{padding:15px 25px}.frg-title-bar .frg-title-bar-title button{outline:none;border:none;border-radius:50%;width:25px;height:25px;padding:15px;font-size:1rem}.frg-title-bar .frg-title-bar-title button:focus{color:#3d3d3d;background-color:#fdfdfd;border-color:#6ea8d9;outline:0;outline:3px solid #6ea8d9;box-shadow:none}.frg-title-bar .frg-title-bar-title button:focus-visible{outline-offset:5px}.frg-title-bar .frg-title-bar-filter__container{padding:25px}.frg-title-bar .frg-title-bar-filter label{display:block;font-size:.8rem;font-weight:lighter}.frg-title-bar .frg-title-bar-search__container{padding:25px}.frg-title-bar .frg-title-bar-search label{display:block;font-size:.8rem;font-weight:lighter}.frg-filter label,.frg-search label{display:block;font-size:.875rem;font-weight:400;margin-bottom:.5rem;font-family:Open Sans,Roboto,system-ui,-apple-system,Segoe UI,Helvetica Neue,Noto Sans,Liberation Sans,Arial,sans-serif,\"Apple Color Emoji\",\"Segoe UI Emoji\",Segoe UI Symbol,\"Noto Color Emoji\";text-transform:uppercase;letter-spacing:.05rem}.frg-filter input,.frg-search input{display:block;width:100%;padding:10px;font-size:1rem;font-family:Open Sans,Roboto,system-ui,-apple-system,Segoe UI,Helvetica Neue,Noto Sans,Liberation Sans,Arial,sans-serif,\"Apple Color Emoji\",\"Segoe UI Emoji\",Segoe UI Symbol,\"Noto Color Emoji\";line-height:1.5;color:#3d3d3d;background-color:#fdfdfd;background-clip:padding-box;border:1px solid rgb(184.7584745763,185.9194915254,188.2415254237);border-radius:.25rem;transition:border-color .15s ease-in-out,box-shadow .15s ease-in-out}.frg-filter input::placeholder,.frg-search input::placeholder{color:#737579;opacity:1}.frg-filter input:focus,.frg-search input:focus{color:#3d3d3d;background-color:#fdfdfd;border-color:#6ea8d9;outline:0;box-shadow:0 0 0 .2rem #2e6ea640}.frg-filter input.is-invalid,.frg-search input.is-invalid{border-color:#d66a6a;padding-right:calc(10px + 2rem);background-image:url(data:image/svg+xml,\\ ...);background-repeat:no-repeat;background-position:center right 5px;background-size:6.6666666667px 6.6666666667px}.frg-filter input.is-invalid:focus,.frg-search input.is-invalid:focus{border-color:#d66a6a;box-shadow:0 0 0 .2rem #da1e2840}.frg-filter input:disabled,.frg-search input:disabled{background-color:#bfbfbf;border-color:#737579}.frg-table-responsive{border:1px solid #e6e9ef;border-radius:.25rem;overflow:hidden;background-color:#fdfdfd}frg-title-bar+.frg-table-responsive{border-top:none;border-radius:0 0 .25rem .25rem}.frg-table{width:100%;border-collapse:separate;border-spacing:0;font-size:.95rem;background-color:#fdfdfd}.frg-table-responsive{border-radius:0 0 .25rem .25rem;border:1px solid #e6e9ef;overflow:hidden;background-color:#fdfdfd}.frg-table td,.frg-table th{text-align:left;padding:.75rem .9rem;border-bottom:1px solid #e6e9ef;vertical-align:middle}.frg-table--row-small td,.frg-table--row-small th{padding:.35rem .6rem}.frg-table--row-medium td,.frg-table--row-medium th{padding:.75rem .9rem}.frg-table--row-large td,.frg-table--row-large th{padding:1rem 1.2rem}.frg-table thead th{background-color:#edf0f6;font-weight:600;color:#1f252e;letter-spacing:.01em;border-bottom:1px solid #e6e9ef}.frg-table tbody tr{transition:background-color .18s ease}.frg-table tbody tr:hover{background-color:#f1f4f9}.frg-table .frg-sorting{position:relative;cursor:pointer;padding-right:1.4rem}.frg-table .frg-sorting:before,.frg-table .frg-sorting:after{content:\"\";position:absolute;right:.65rem;border-left:4px solid transparent;border-right:4px solid transparent;opacity:.5}.frg-table .frg-sorting:before{top:calc(50% - 6px);border-bottom:5px solid currentColor}.frg-table .frg-sorting:after{top:calc(50% + 2px);border-top:5px solid currentColor}.frg-table .frg-sorting-asc:after{opacity:.5}.frg-table .frg-sorting-asc:before{opacity:1}.frg-table .frg-sorting-desc:before{opacity:.5}.frg-table .frg-sorting-desc:after{opacity:1}.frg-table__primary{overflow:hidden}.frg-table__primary thead th,.frg-table__primary.frg-table thead th{background-color:#83b5de;color:#fdfdfd;border-bottom-color:#a1c6e6}.frg-table__primary tbody tr:hover{background-color:#e8f0f8}.frg-table__secondary{overflow:hidden}.frg-table__secondary thead th,.frg-table__secondary.frg-table thead th{background-color:#e9cd8e;color:#fdfdfd;border-bottom-color:#efd9a9}.frg-table__secondary tbody tr:hover{background-color:#faf5e9}.frg-table__tertiary{overflow:hidden}.frg-table__tertiary thead th,.frg-table__tertiary.frg-table thead th{background-color:#de91c7;color:#fdfdfd;border-bottom-color:#e6abd4}.frg-table__tertiary tbody tr:hover{background-color:#f8eaf3}.frg-table__dark{background-color:#3d3d3d;color:#fdfdfd}.frg-table__dark td,.frg-table__dark th{border-bottom-color:#fdfdfd1f}.frg-table__dark thead th{background-color:#505050;color:#fdfdfd;border-bottom-color:#fdfdfd29}.frg-table__dark tbody tr:hover{background-color:#4d4d4d}.frg-table__light,.frg-table__light thead th{background-color:#fdfdfd;color:#3d3d3d}.frg-table__light tbody tr:hover{background-color:#f1f4f9}@media screen and (max-width: 768px){.frg-table-responsive{overflow:auto}}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: RouterLink, selector: "[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "info", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }, { kind: "component", type: TitleBarComponent, selector: "frg-title-bar", inputs: ["title", "styleType"] }, { kind: "component", type: SmallPaginationComponent, selector: "frg-small-pagination", inputs: ["totalItems", "fullData", "page", "pageSize", "hasElipsisPages", "styleType"], outputs: ["pageChange"] }, { kind: "directive", type: FragmentsTooltipDirective, selector: "[frgTooltip]", inputs: ["tooltipConfig"] }, { kind: "component", type: ButtonComponent, selector: "frg-button", inputs: ["id", "class", "textClass", "iconClass", "iconStyleType", "iconPosition", "type", "size", "buttonRouterLink", "buttonRouterLinkActive", "disabled", "styleType", "shape", "text", "ariaLabel"], outputs: ["clickEvent"] }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "pipe", type: FieldArrayPositionPipe, name: "fieldArrayPosition" }, { kind: "pipe", type: TypeOfArrayPipe, name: "typeOfArray" }, { kind: "pipe", type: SafeHtmlPipe, name: "safeHtml" }, { kind: "pipe", type: DynamicPipe, name: "dynamicPipe" }] }); }
|
|
2354
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.2.3", type: TableComponent, isStandalone: true, selector: "frg-table", inputs: { configTable: "configTable", styleType: "styleType", rowSize: "rowSize" }, outputs: { reloadTableEvent: "reloadTableEvent" }, viewQueries: [{ propertyName: "tableHead", first: true, predicate: ["tableHead"], descendants: true, read: ElementRef }], ngImport: i0, template: "@if (configTable.tTitleBar?.title) {\r\n <frg-title-bar\r\n [title]=\"configTable.tTitleBar?.title ?? ''\"\r\n [styleType]=\"styleType\"\r\n ></frg-title-bar>\r\n}\r\n@if (configTable.tBody.data && configTable.tBody.data.length > 0) {\r\n <div class=\"frg-table-responsive\">\r\n <table\r\n class=\"frg-table\"\r\n id=\"table1\"\r\n [ngClass]=\"{\r\n 'frg-table__primary': styleType === 'primary',\r\n 'frg-table__secondary': styleType === 'secondary',\r\n 'frg-table__tertiary': styleType === 'tertiary',\r\n 'frg-table__dark': styleType === 'dark',\r\n 'frg-table__light': styleType === 'light',\r\n 'frg-table--row-small': rowSize === 'small',\r\n 'frg-table--row-medium': rowSize === 'medium',\r\n 'frg-table--row-large': rowSize === 'large'\r\n }\"\r\n >\r\n @if (configTable.tCaption && configTable.tCaption.srOnly) {\r\n <caption class=\"visually-hidden\">\r\n {{ configTable.tCaption.srOnly }}\r\n </caption>\r\n }\r\n @if (configTable.tHead.columns.length > 0) {\r\n <thead #tableHead>\r\n <tr>\r\n <!--Sort-->\r\n @if (configTable.tHead) {\r\n @for (hColumn of configTable.tHead.columns; track $index) {\r\n @if (hColumn.fieldOrder) {\r\n <th\r\n scope=\"col\"\r\n [tabindex]=\"hColumn.fieldOrder ? 0 : null\"\r\n [attr.aria-sort]=\"\r\n !(hColumn.fieldOrder === configTable.tPagination.order)\r\n ? null\r\n : configTable.tPagination.direction ===\r\n EnumDirectionSortTable.asc\r\n ? 'ascending'\r\n : 'descending'\r\n \"\r\n [ngClass]=\"{\r\n 'frg-sorting': hColumn.fieldOrder,\r\n 'frg-sorting-asc':\r\n configTable.tPagination.direction ===\r\n EnumDirectionSortTable.asc &&\r\n hColumn.fieldOrder === configTable.tPagination.order,\r\n 'frg-sorting-desc':\r\n configTable.tPagination.direction ===\r\n EnumDirectionSortTable.desc &&\r\n hColumn.fieldOrder === configTable.tPagination.order\r\n }\"\r\n (click)=\"\r\n hColumn.fieldOrder ? orderBy(hColumn.fieldOrder) : null\r\n \"\r\n (keydown.enter)=\"\r\n hColumn.fieldOrder ? orderBy(hColumn.fieldOrder) : null\r\n \"\r\n >\r\n <span>\r\n {{ hColumn.fieldLabel }}\r\n </span>\r\n </th>\r\n } @else {\r\n <th scope=\"col\">\r\n <span>\r\n {{ hColumn.fieldLabel }}\r\n </span>\r\n </th>\r\n }\r\n }\r\n }\r\n <!--End Sort-->\r\n @if (configTable.tHead.action) {\r\n <th\r\n scope=\"col\"\r\n [ngClass]=\"configTable.tHead.action.customClass ?? ''\"\r\n >\r\n {{ configTable.tHead.action.label }}\r\n </th>\r\n }\r\n </tr>\r\n </thead>\r\n }\r\n <tbody>\r\n @for (item of configTable.tBody.data; let i = $index; track $index) {\r\n <tr\r\n [attr.id]=\"i === 0 ? idFirstTr : null\"\r\n [ngClass]=\"\r\n configTable.tBody.rowClick?.behaviourAction?.clickEvent\r\n ? 'cursor-pointer'\r\n : ''\r\n \"\r\n [routerLink]=\"\r\n configTable.tBody.rowClick?.disabled &&\r\n configTable.tBody.rowClick?.disabled(item)\r\n ? null\r\n : configTable.tBody.rowClick?.behaviourAction?.link\r\n ? [\r\n configTable.tBody.rowClick?.behaviourAction?.link\r\n ? configTable.tBody.rowClick?.behaviourAction?.link\r\n : './',\r\n configTable.tBody.rowClick?.behaviourAction\r\n ?.customParamsLink ||\r\n (item | fieldArrayPosition: configTable.tBody.uniqueField)\r\n ]\r\n : null\r\n \"\r\n (click)=\"handleRowClick($event, item)\"\r\n (keyup.enter)=\"handleRowClick($event, item)\"\r\n (keydown)=\"handleRowClick($event, item)\"\r\n >\r\n @for (column of configTable.tBody.columns; let i = $index; track $index) {\r\n <td>\r\n <div [ngClass]=\"column.customClass\">\r\n <ng-container\r\n [ngTemplateOutlet]=\"\r\n (column.cells | typeOfArray) ? cellForTpl : cellTpl\r\n \"\r\n [ngTemplateOutletContext]=\"{\r\n cells: column.cells,\r\n item: item\r\n }\"\r\n ></ng-container>\r\n </div>\r\n </td>\r\n }\r\n @if (configTable.tBody.action ?? false) {\r\n <td\r\n class=\"table-action\"\r\n [ngClass]=\"configTable.tBody.action?.customClasses ?? ''\"\r\n >\r\n @for (act of configTable.tBody.action?.buttons ?? []; track $index) {\r\n @if (act.visible && act.visible(item) ? true : null) {\r\n <frg-button\r\n [ariaLabel]=\"act.ariaLabel || 'Azione'\"\r\n [text]=\"''\"\r\n [iconClass]=\"act.iconClass ? act.iconClass(item) : ''\"\r\n [styleType]=\"'icon'\"\r\n [size]=\"'small'\"\r\n frgTooltip\r\n [tooltipConfig]=\"{\r\n apply:\r\n act.tooltip &&\r\n act.tooltip.apply &&\r\n act.visible &&\r\n act.visible(item)\r\n ? act.tooltip.apply\r\n : true,\r\n text:\r\n act.tooltip && act.tooltip.text\r\n ? act.tooltip.text(item)\r\n : '',\r\n textContent:\r\n act.tooltip && act.tooltip.textContent\r\n ? act.tooltip.textContent(item)\r\n : '',\r\n position:\r\n act.tooltip && act.tooltip.position\r\n ? act.tooltip.position\r\n : 'top',\r\n gap: act.tooltip && act.tooltip.gap ? act.tooltip.gap : 0\r\n }\"\r\n [disabled]=\"act.disabled ? act.disabled(item) : null\"\r\n [buttonRouterLink]=\"\r\n act.disabled && act.disabled(item)\r\n ? null\r\n : act.behaviourAction.link\r\n ? [\r\n act.behaviourAction.link\r\n ? act.behaviourAction.link\r\n : './',\r\n act.behaviourAction.customParamsLink ||\r\n (item\r\n | fieldArrayPosition\r\n : configTable.tBody.uniqueField)\r\n ]\r\n : null\r\n \"\r\n (clickEvent)=\"\r\n act.behaviourAction.clickEvent\r\n ? act.behaviourAction.clickEvent(item)\r\n : null\r\n \"\r\n (click)=\"$event.stopPropagation()\"\r\n (keydown)=\"$event.stopPropagation()\"\r\n (keyup.enter)=\"$event.stopPropagation()\"\r\n >\r\n </frg-button>\r\n }\r\n }\r\n </td>\r\n }\r\n </tr>\r\n }\r\n </tbody>\r\n </table>\r\n </div>\r\n\r\n @if (configTable.tPagination) {\r\n <frg-small-pagination\r\n [hasElipsisPages]=\"configTable.tPagination.hasElipsisPages ?? false\"\r\n [pageSize]=\"configTable.tPagination.pageSize ?? 10\"\r\n [page]=\"configTable.tPagination.page ?? 0\"\r\n [totalItems]=\"configTable.tPagination.fullData?.length ?? 0\"\r\n [fullData]=\"configTable.tPagination.fullData ?? []\"\r\n [styleType]=\"styleType\"\r\n (pageChange)=\"updateCurrentPage($event)\"\r\n ></frg-small-pagination>\r\n }\r\n} @else {\r\n <div class=\"d-flex justify-content-center my-4\">\r\n <div class=\"text-center\">No Elements</div>\r\n </div>\r\n}\r\n\r\n<ng-template #cellForTpl let-cells=\"cells\" let-item=\"item\">\r\n @for (cell of $any(cells); track $index) {\r\n <ng-container\r\n [ngTemplateOutlet]=\"cellTpl\"\r\n [ngTemplateOutletContext]=\"{\r\n cell: cell,\r\n item: item\r\n }\"\r\n ></ng-container>\r\n <br />\r\n }\r\n</ng-template>\r\n\r\n<ng-template #cellTpl let-cell=\"cells\" let-item=\"item\">\r\n @if (!cell.fieldPipe) {\r\n @if (\r\n cell.icon &&\r\n cell.icon.position !== 'right' &&\r\n cell.icon.action.visible &&\r\n cell.icon.action.visible(item)\r\n ) {\r\n <frg-button\r\n [ariaLabel]=\"cell.icon.ariaLabel || 'Azione'\"\r\n [text]=\"''\"\r\n [iconClass]=\"cell.icon.iconClass ? cell.icon.iconClass : ''\"\r\n [styleType]=\"'icon'\"\r\n [size]=\"'small'\"\r\n frgTooltip\r\n [tooltipConfig]=\"{\r\n apply:\r\n cell.icon.action.tooltip && cell.icon.action.tooltip.apply\r\n ? cell.icon.action.tooltip.apply\r\n : true,\r\n text:\r\n cell.icon.action.tooltip && cell.icon.action.tooltip.text\r\n ? cell.icon.action.tooltip.text(item)\r\n : '',\r\n textContent:\r\n cell.icon.action.tooltip && cell.icon.action.tooltip.textContent\r\n ? cell.icon.action.tooltip.textContent(item)\r\n : '',\r\n position:\r\n cell.icon.action.tooltip && cell.icon.action.tooltip.position\r\n ? cell.icon.action.tooltip.position\r\n : 'top',\r\n gap:\r\n cell.icon.action.tooltip && cell.icon.action.tooltip.gap\r\n ? cell.icon.action.tooltip.gap\r\n : 0\r\n }\"\r\n [disabled]=\"\r\n cell.icon.action.disabled\r\n ? cell.icon.action.disabled(item)\r\n : null\r\n \"\r\n (clickEvent)=\"handleIconClick(cell, item)\"\r\n (click)=\"$event.stopPropagation()\"\r\n (keydown)=\"$event.stopPropagation()\"\r\n (keyup.enter)=\"$event.stopPropagation()\"\r\n >\r\n </frg-button>\r\n }\r\n <span [ngClass]=\"cell.customClass ? cell.customClass(item) : ''\">\r\n {{ item | fieldArrayPosition: cell.fieldArrayPosition }}\r\n </span>\r\n @if (\r\n cell.icon &&\r\n cell.icon.position === 'right' &&\r\n cell.icon.action.visible &&\r\n cell.icon.action.visible(item)\r\n ) {\r\n <frg-button\r\n [ariaLabel]=\"cell.icon.ariaLabel || 'Azione'\"\r\n [text]=\"''\"\r\n [iconClass]=\"cell.icon.iconClass ? cell.icon.iconClass : ''\"\r\n [styleType]=\"'icon'\"\r\n [size]=\"'small'\"\r\n frgTooltip\r\n [tooltipConfig]=\"{\r\n apply:\r\n cell.icon.action.tooltip && cell.icon.action.tooltip.apply\r\n ? cell.icon.action.tooltip.apply\r\n : true,\r\n text:\r\n cell.icon.action.tooltip && cell.icon.action.tooltip.text\r\n ? cell.icon.action.tooltip.text(item)\r\n : '',\r\n textContent:\r\n cell.icon.action.tooltip && cell.icon.action.tooltip.textContent\r\n ? cell.icon.action.tooltip.textContent(item)\r\n : '',\r\n position:\r\n cell.icon.action.tooltip && cell.icon.action.tooltip.position\r\n ? cell.icon.action.tooltip.position\r\n : 'top',\r\n gap:\r\n cell.icon.action.tooltip && cell.icon.action.tooltip.gap\r\n ? cell.icon.action.tooltip.gap\r\n : 0\r\n }\"\r\n [disabled]=\"\r\n cell.icon.action.disabled\r\n ? cell.icon.action.disabled(item)\r\n : null\r\n \"\r\n (clickEvent)=\"handleIconClick(cell, item)\"\r\n (click)=\"$event.stopPropagation()\"\r\n (keydown)=\"$event.stopPropagation()\"\r\n (keyup.enter)=\"$event.stopPropagation()\"\r\n >\r\n </frg-button>\r\n }\r\n } @else {\r\n @if (\r\n cell.icon &&\r\n cell.icon.position !== 'right' &&\r\n cell.icon.action.visible &&\r\n cell.icon.action.visible(item)\r\n ) {\r\n <frg-button\r\n [ariaLabel]=\"cell.icon.ariaLabel || 'Azione'\"\r\n [text]=\"''\"\r\n [iconClass]=\"cell.icon.iconClass ? cell.icon.iconClass : ''\"\r\n [styleType]=\"'icon'\"\r\n [size]=\"'small'\"\r\n frgTooltip\r\n [tooltipConfig]=\"{\r\n apply:\r\n cell.icon.action.tooltip && cell.icon.action.tooltip.apply\r\n ? cell.icon.action.tooltip.apply\r\n : true,\r\n text:\r\n cell.icon.action.tooltip && cell.icon.action.tooltip.text\r\n ? cell.icon.action.tooltip.text(item)\r\n : '',\r\n textContent:\r\n cell.icon.action.tooltip && cell.icon.action.tooltip.textContent\r\n ? cell.icon.action.tooltip.textContent(item)\r\n : '',\r\n position:\r\n cell.icon.action.tooltip && cell.icon.action.tooltip.position\r\n ? cell.icon.action.tooltip.position\r\n : 'top',\r\n gap:\r\n cell.icon.action.tooltip && cell.icon.action.tooltip.gap\r\n ? cell.icon.action.tooltip.gap\r\n : 0\r\n }\"\r\n [disabled]=\"\r\n cell.icon.action.disabled\r\n ? cell.icon.action.disabled(item)\r\n : null\r\n \"\r\n (clickEvent)=\"handleIconClick(cell, item)\"\r\n (click)=\"$event.stopPropagation()\"\r\n (keydown)=\"$event.stopPropagation()\"\r\n (keyup.enter)=\"$event.stopPropagation()\"\r\n >\r\n </frg-button>\r\n }\r\n <span\r\n [innerHtml]=\"\r\n item\r\n | fieldArrayPosition: cell.fieldArrayPosition\r\n | dynamicPipe: cell.fieldPipe.type : cell.fieldPipe.args\r\n | safeHtml\r\n \"\r\n [ngClass]=\"cell.customClass ? cell.customClass(item) : ''\"\r\n ></span>\r\n @if (\r\n cell.icon &&\r\n cell.icon.position === 'right' &&\r\n cell.icon.action.visible &&\r\n cell.icon.action.visible(item)\r\n ) {\r\n <frg-button\r\n [ariaLabel]=\"cell.icon.ariaLabel || 'Azione'\"\r\n [text]=\"''\"\r\n [iconClass]=\"cell.icon.iconClass ? cell.icon.iconClass : ''\"\r\n [styleType]=\"'icon'\"\r\n [size]=\"'small'\"\r\n frgTooltip\r\n [tooltipConfig]=\"{\r\n apply:\r\n cell.icon.action.tooltip && cell.icon.action.tooltip.apply\r\n ? cell.icon.action.tooltip.apply\r\n : true,\r\n text:\r\n cell.icon.action.tooltip && cell.icon.action.tooltip.text\r\n ? cell.icon.action.tooltip.text(item)\r\n : '',\r\n textContent:\r\n cell.icon.action.tooltip && cell.icon.action.tooltip.textContent\r\n ? cell.icon.action.tooltip.textContent(item)\r\n : '',\r\n position:\r\n cell.icon.action.tooltip && cell.icon.action.tooltip.position\r\n ? cell.icon.action.tooltip.position\r\n : 'top',\r\n gap:\r\n cell.icon.action.tooltip && cell.icon.action.tooltip.gap\r\n ? cell.icon.action.tooltip.gap\r\n : 0\r\n }\"\r\n [disabled]=\"\r\n cell.icon.action.disabled\r\n ? cell.icon.action.disabled(item)\r\n : null\r\n \"\r\n (clickEvent)=\"handleIconClick(cell, item)\"\r\n (click)=\"$event.stopPropagation()\"\r\n (keydown)=\"$event.stopPropagation()\"\r\n (keyup.enter)=\"$event.stopPropagation()\"\r\n >\r\n </frg-button>\r\n }\r\n }\r\n</ng-template>\r\n", styles: [".frg-title-bar{color:#3d3d3d;font-weight:400;font-size:1.25rem;box-shadow:0 2px 4px #0000001a;font-family:Open Sans,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Helvetica Neue,sans-serif}.frg-title-bar__primary{background-color:#4c7aae;color:#fdfdfd}.frg-title-bar__primary .frg-title-bar-title button{color:#4c7aae}.frg-title-bar__primary .frg-title-bar-filter,.frg-title-bar__primary .frg-title-bar-search{background-color:#6ea8d9}.frg-title-bar__secondary{background-color:#c9a24e;color:#fdfdfd}.frg-title-bar__secondary .frg-title-bar-title button{color:#c9a24e}.frg-title-bar__secondary .frg-title-bar-filter,.frg-title-bar__secondary .frg-title-bar-search{background-color:#e6c57a}.frg-title-bar__tertiary{background-color:#b05a99;color:#fdfdfd}.frg-title-bar__tertiary .frg-title-bar-title button{color:#b05a99}.frg-title-bar__tertiary .frg-title-bar-filter,.frg-title-bar__tertiary .frg-title-bar-search{background-color:#d97ebd}.frg-title-bar__dark{background-color:#3d3d3d;color:#fff}.frg-title-bar__light{background-color:#fdfdfd}.frg-title-bar .frg-title-bar-title{padding:15px 25px}.frg-title-bar .frg-title-bar-title button{outline:none;border:none;border-radius:50%;width:25px;height:25px;padding:15px;font-size:1rem}.frg-title-bar .frg-title-bar-title button:focus{color:#3d3d3d;background-color:#fdfdfd;border-color:#6ea8d9;outline:0;outline:3px solid #6ea8d9;box-shadow:none}.frg-title-bar .frg-title-bar-title button:focus-visible{outline-offset:5px}.frg-title-bar .frg-title-bar-filter__container{padding:25px}.frg-title-bar .frg-title-bar-filter label{display:block;font-size:.8rem;font-weight:lighter}.frg-title-bar .frg-title-bar-search__container{padding:25px}.frg-title-bar .frg-title-bar-search label{display:block;font-size:.8rem;font-weight:lighter}.frg-filter label,.frg-search label{display:block;font-size:.875rem;font-weight:400;margin-bottom:.5rem;font-family:Open Sans,Roboto,system-ui,-apple-system,Segoe UI,Helvetica Neue,Noto Sans,Liberation Sans,Arial,sans-serif,\"Apple Color Emoji\",\"Segoe UI Emoji\",Segoe UI Symbol,\"Noto Color Emoji\";text-transform:uppercase;letter-spacing:.05rem}.frg-filter input,.frg-search input{display:block;width:100%;padding:10px;font-size:1rem;font-family:Open Sans,Roboto,system-ui,-apple-system,Segoe UI,Helvetica Neue,Noto Sans,Liberation Sans,Arial,sans-serif,\"Apple Color Emoji\",\"Segoe UI Emoji\",Segoe UI Symbol,\"Noto Color Emoji\";line-height:1.5;color:#3d3d3d;background-color:#fdfdfd;background-clip:padding-box;border:1px solid rgb(184.7584745763,185.9194915254,188.2415254237);border-radius:.25rem;transition:border-color .15s ease-in-out,box-shadow .15s ease-in-out}.frg-filter input::placeholder,.frg-search input::placeholder{color:#737579;opacity:1}.frg-filter input:focus,.frg-search input:focus{color:#3d3d3d;background-color:#fdfdfd;border-color:#6ea8d9;outline:0;box-shadow:0 0 0 .2rem #2e6ea640}.frg-filter input.is-invalid,.frg-search input.is-invalid{border-color:#d66a6a;padding-right:calc(10px + 2rem);background-image:url(data:image/svg+xml,\\ ...);background-repeat:no-repeat;background-position:center right 5px;background-size:6.6666666667px 6.6666666667px}.frg-filter input.is-invalid:focus,.frg-search input.is-invalid:focus{border-color:#d66a6a;box-shadow:0 0 0 .2rem #da1e2840}.frg-filter input:disabled,.frg-search input:disabled{background-color:#bfbfbf;border-color:#737579}.frg-table-responsive{border:1px solid #e6e9ef;border-radius:.25rem;overflow:hidden;background-color:#fdfdfd}frg-title-bar+.frg-table-responsive{border-top:none;border-radius:0 0 .25rem .25rem}.frg-table{width:100%;border-collapse:separate;border-spacing:0;font-size:.95rem;background-color:#fdfdfd}.frg-table-responsive{border-radius:0 0 .25rem .25rem;border:1px solid #e6e9ef;overflow:hidden;background-color:#fdfdfd}.frg-table td,.frg-table th{text-align:left;padding:.75rem .9rem;border-bottom:1px solid #e6e9ef;vertical-align:middle}.frg-table--row-small td,.frg-table--row-small th{padding:.35rem .6rem}.frg-table--row-medium td,.frg-table--row-medium th{padding:.75rem .9rem}.frg-table--row-large td,.frg-table--row-large th{padding:1rem 1.2rem}.frg-table thead th{background-color:#edf0f6;font-weight:600;color:#1f252e;letter-spacing:.01em;border-bottom:1px solid #e6e9ef}.frg-table tbody tr{transition:background-color .18s ease}.frg-table tbody tr:hover{background-color:#f1f4f9}.frg-table .frg-sorting{position:relative;cursor:pointer;padding-right:1.4rem}.frg-table .frg-sorting:before,.frg-table .frg-sorting:after{content:\"\";position:absolute;right:.65rem;border-left:4px solid transparent;border-right:4px solid transparent;opacity:.5}.frg-table .frg-sorting:before{top:calc(50% - 6px);border-bottom:5px solid currentColor}.frg-table .frg-sorting:after{top:calc(50% + 2px);border-top:5px solid currentColor}.frg-table .frg-sorting-asc:after{opacity:.5}.frg-table .frg-sorting-asc:before{opacity:1}.frg-table .frg-sorting-desc:before{opacity:.5}.frg-table .frg-sorting-desc:after{opacity:1}.frg-table__primary{overflow:hidden}.frg-table__primary thead th,.frg-table__primary.frg-table thead th{background-color:#83b5de;color:#fdfdfd;border-bottom-color:#a1c6e6}.frg-table__primary tbody tr:hover{background-color:#e8f0f8}.frg-table__secondary{overflow:hidden}.frg-table__secondary thead th,.frg-table__secondary.frg-table thead th{background-color:#e9cd8e;color:#fdfdfd;border-bottom-color:#efd9a9}.frg-table__secondary tbody tr:hover{background-color:#faf5e9}.frg-table__tertiary{overflow:hidden}.frg-table__tertiary thead th,.frg-table__tertiary.frg-table thead th{background-color:#de91c7;color:#fdfdfd;border-bottom-color:#e6abd4}.frg-table__tertiary tbody tr:hover{background-color:#f8eaf3}.frg-table__dark{background-color:#3d3d3d;color:#fdfdfd}.frg-table__dark td,.frg-table__dark th{border-bottom-color:#fdfdfd1f}.frg-table__dark thead th{background-color:#505050;color:#fdfdfd;border-bottom-color:#fdfdfd29}.frg-table__dark tbody tr:hover{background-color:#4d4d4d}.frg-table__light,.frg-table__light thead th{background-color:#fdfdfd;color:#3d3d3d}.frg-table__light tbody tr:hover{background-color:#f1f4f9}@media screen and (max-width: 768px){.frg-table-responsive{overflow:auto}}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: RouterLink, selector: "[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "info", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }, { kind: "component", type: TitleBarComponent, selector: "frg-title-bar", inputs: ["title", "styleType"] }, { kind: "component", type: SmallPaginationComponent, selector: "frg-small-pagination", inputs: ["totalItems", "fullData", "page", "pageSize", "hasElipsisPages", "styleType"], outputs: ["pageChange"] }, { kind: "directive", type: FragmentsTooltipDirective, selector: "[frgTooltip]", inputs: ["tooltipConfig"] }, { kind: "component", type: ButtonComponent, selector: "frg-button", inputs: ["id", "class", "textClass", "iconClass", "iconStyleType", "iconPosition", "type", "size", "buttonRouterLink", "buttonRouterLinkActive", "disabled", "styleType", "shape", "text", "ariaLabel"], outputs: ["clickEvent"] }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "pipe", type: FieldArrayPositionPipe, name: "fieldArrayPosition" }, { kind: "pipe", type: TypeOfArrayPipe, name: "typeOfArray" }, { kind: "pipe", type: SafeHtmlPipe, name: "safeHtml" }, { kind: "pipe", type: DynamicPipe, name: "dynamicPipe" }] }); }
|
|
2355
2355
|
}
|
|
2356
2356
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.2.3", ngImport: i0, type: TableComponent, decorators: [{
|
|
2357
2357
|
type: Component,
|
|
@@ -2367,7 +2367,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.2.3", ngImpor
|
|
|
2367
2367
|
FragmentsTooltipDirective,
|
|
2368
2368
|
ButtonComponent,
|
|
2369
2369
|
ReactiveFormsModule,
|
|
2370
|
-
], template: "@if (configTable.tTitleBar?.title) {\r\n <frg-title-bar\r\n [title]=\"configTable.tTitleBar?.title ?? ''\"\r\n [styleType]=\"styleType\"\r\n ></frg-title-bar>\r\n}\r\n@if (configTable.tBody.data && configTable.tBody.data.length > 0) {\r\n <div class=\"frg-table-responsive\">\r\n <table\r\n class=\"frg-table\"\r\n id=\"table1\"\r\n [ngClass]=\"{\r\n 'frg-table__primary': styleType === 'primary',\r\n 'frg-table__secondary': styleType === 'secondary',\r\n 'frg-table__tertiary': styleType === 'tertiary',\r\n 'frg-table__dark': styleType === 'dark',\r\n 'frg-table__light': styleType === 'light',\r\n 'frg-table--row-small': rowSize === 'small',\r\n 'frg-table--row-medium': rowSize === 'medium',\r\n 'frg-table--row-large': rowSize === 'large'\r\n }\"\r\n >\r\n @if (configTable.tCaption && configTable.tCaption.srOnly) {\r\n <caption class=\"visually-hidden\">\r\n {{ configTable.tCaption.srOnly }}\r\n </caption>\r\n }\r\n @if (configTable.tHead.columns.length > 0) {\r\n <thead #tableHead>\r\n <tr>\r\n <!--Sort-->\r\n @if (configTable.tHead) {\r\n @for (hColumn of configTable.tHead.columns; track $index) {\r\n @if (hColumn.fieldOrder) {\r\n <th\r\n scope=\"col\"\r\n [tabindex]=\"hColumn.fieldOrder ? 0 : null\"\r\n [attr.aria-sort]=\"\r\n !(hColumn.fieldOrder === configTable.tPagination.order)\r\n ? null\r\n : configTable.tPagination.direction ===\r\n EnumDirectionSortTable.asc\r\n ? 'ascending'\r\n : 'descending'\r\n \"\r\n [ngClass]=\"{\r\n 'frg-sorting': hColumn.fieldOrder,\r\n 'frg-sorting-asc':\r\n configTable.tPagination.direction ===\r\n EnumDirectionSortTable.asc &&\r\n hColumn.fieldOrder === configTable.tPagination.order,\r\n 'frg-sorting-desc':\r\n configTable.tPagination.direction ===\r\n EnumDirectionSortTable.desc &&\r\n hColumn.fieldOrder === configTable.tPagination.order\r\n }\"\r\n (click)=\"\r\n hColumn.fieldOrder ? orderBy(hColumn.fieldOrder) : null\r\n \"\r\n (keydown.enter)=\"\r\n hColumn.fieldOrder ? orderBy(hColumn.fieldOrder) : null\r\n \"\r\n >\r\n <span>\r\n {{ hColumn.fieldLabel }}\r\n </span>\r\n </th>\r\n } @else {\r\n <th scope=\"col\">\r\n <span>\r\n {{ hColumn.fieldLabel }}\r\n </span>\r\n </th>\r\n }\r\n }\r\n }\r\n <!--End Sort-->\r\n @if (configTable.tHead.action) {\r\n <th\r\n scope=\"col\"\r\n [ngClass]=\"configTable.tHead.action.customClass ?? ''\"\r\n >\r\n {{ configTable.tHead.action.label }}\r\n </th>\r\n }\r\n </tr>\r\n </thead>\r\n }\r\n <tbody>\r\n @for (item of configTable.tBody.data; let i = $index; track $index) {\r\n <tr\r\n [attr.id]=\"i === 0 ? idFirstTr : null\"\r\n [ngClass]=\"\r\n configTable.tBody.rowClick?.behaviourAction?.clickEvent\r\n ? 'cursor-pointer'\r\n : ''\r\n \"\r\n [routerLink]=\"\r\n configTable.tBody.rowClick?.disabled &&\r\n configTable.tBody.rowClick?.disabled(item)\r\n ? null\r\n : configTable.tBody.rowClick?.behaviourAction?.link\r\n ? [\r\n configTable.tBody.rowClick?.behaviourAction?.link\r\n ? configTable.tBody.rowClick?.behaviourAction?.link\r\n : './',\r\n configTable.tBody.rowClick?.behaviourAction\r\n ?.customParamsLink ||\r\n (item | fieldArrayPosition: configTable.tBody.uniqueField)\r\n ]\r\n : null\r\n \"\r\n (click)=\"handleRowClick($event, item)\"\r\n (keyup.enter)=\"handleRowClick($event, item)\"\r\n (keydown)=\"handleRowClick($event, item)\"\r\n >\r\n @for (column of configTable.tBody.columns; let i = $index; track $index) {\r\n <td>\r\n <div [ngClass]=\"column.customClass\">\r\n <ng-container\r\n [ngTemplateOutlet]=\"\r\n (column.cells | typeOfArray) ? cellForTpl : cellTpl\r\n \"\r\n [ngTemplateOutletContext]=\"{\r\n cells: column.cells,\r\n item: item\r\n }\"\r\n ></ng-container>\r\n </div>\r\n </td>\r\n }\r\n @if (configTable.tBody.action ?? false) {\r\n <td\r\n class=\"table-action\"\r\n [ngClass]=\"configTable.tBody.action?.customClasses ?? ''\"\r\n >\r\n @for (act of configTable.tBody.action?.buttons ?? []; track $index) {\r\n @if (act.visible && act.visible(item) ? true : null) {\r\n <frg-button\r\n [ariaLabel]=\"act.ariaLabel || 'Azione'\"\r\n [text]=\"''\"\r\n [iconClass]=\"act.iconClass ? act.iconClass(item) : ''\"\r\n [styleType]=\"'icon'\"\r\n [size]=\"'small'\"\r\n frgTooltip\r\n [tooltipConfig]=\"{\r\n apply:\r\n act.tooltip &&\r\n act.tooltip.apply &&\r\n act.visible &&\r\n act.visible(item)\r\n ? act.tooltip.apply\r\n : true,\r\n text:\r\n act.tooltip && act.tooltip.text\r\n ? act.tooltip.text(item)\r\n : '',\r\n textContent:\r\n act.tooltip && act.tooltip.textContent\r\n ? act.tooltip.textContent(item)\r\n : '',\r\n position:\r\n act.tooltip && act.tooltip.position\r\n ? act.tooltip.position\r\n : 'top',\r\n gap: act.tooltip && act.tooltip.gap ? act.tooltip.gap : 0\r\n }\"\r\n [disabled]=\"act.disabled ? act.disabled(item) : null\"\r\n [buttonRouterLink]=\"\r\n act.disabled && act.disabled(item)\r\n ? null\r\n : act.behaviourAction.link\r\n ? [\r\n act.behaviourAction.link\r\n ? act.behaviourAction.link\r\n : './',\r\n act.behaviourAction.customParamsLink ||\r\n (item\r\n | fieldArrayPosition\r\n : configTable.tBody.uniqueField)\r\n ]\r\n : null\r\n \"\r\n (clickEvent)=\"\r\n act.behaviourAction.clickEvent\r\n ? act.behaviourAction.clickEvent(item)\r\n : null\r\n \"\r\n (click)=\"$event.stopPropagation()\"\r\n (keydown)=\"$event.stopPropagation()\"\r\n (keyup.enter)=\"$event.stopPropagation()\"\r\n >\r\n </frg-button>\r\n }\r\n }\r\n </td>\r\n }\r\n </tr>\r\n }\r\n </tbody>\r\n </table>\r\n </div>\r\n\r\n @if (configTable.tPagination) {\r\n <frg-small-pagination\r\n [hasElipsisPages]=\"configTable.tPagination.hasElipsisPages ?? false\"\r\n [pageSize]=\"configTable.tPagination.pageSize ?? 10\"\r\n [page]=\"configTable.tPagination.page ?? 0\"\r\n [totalItems]=\"configTable.tPagination.fullData?.length ?? 0\"\r\n [fullData]=\"configTable.tPagination.fullData ?? []\"\r\n [styleType]=\"styleType\"\r\n (pageChange)=\"updateCurrentPage($event)\"\r\n ></frg-small-pagination>\r\n }\r\n} @else {\r\n <div class=\"d-flex justify-content-center my-4\">\r\n <div class=\"text-center\">No Elements</div>\r\n </div>\r\n}\r\n\r\n<ng-template #cellForTpl let-cells=\"cells\" let-item=\"item\">\r\n @for (cell of $any(cells); track $index) {\r\n <ng-container\r\n [ngTemplateOutlet]=\"cellTpl\"\r\n [ngTemplateOutletContext]=\"{\r\n cell: cell,\r\n item: item\r\n }\"\r\n ></ng-container>\r\n <br />\r\n }\r\n</ng-template>\r\n\r\n<ng-template #cellTpl let-cell=\"cells\" let-item=\"item\">\r\n @if (!cell.fieldPipe) {\r\n @if (\r\n cell.icon &&\r\n cell.icon.position !== 'right' &&\r\n cell.icon.action.visible &&\r\n cell.icon.action.visible(item)\r\n ) {\r\n <frg-button\r\n [ariaLabel]=\"cell.icon.ariaLabel || 'Azione'\"\r\n [text]=\"''\"\r\n [iconClass]=\"cell.icon.iconClass ? cell.icon.iconClass : ''\"\r\n [styleType]=\"'icon'\"\r\n [size]=\"'small'\"\r\n frgTooltip\r\n [tooltipConfig]=\"{\r\n apply:\r\n cell.icon.action.tooltip && cell.icon.action.tooltip.apply\r\n ? cell.icon.action.tooltip.apply\r\n : true,\r\n text:\r\n cell.icon.action.tooltip && cell.icon.action.tooltip.text\r\n ? cell.icon.action.tooltip.text(item)\r\n : '',\r\n textContent:\r\n cell.icon.action.tooltip && cell.icon.action.tooltip.textContent\r\n ? cell.icon.action.tooltip.textContent(item)\r\n : '',\r\n position:\r\n cell.icon.action.tooltip && cell.icon.action.tooltip.position\r\n ? cell.icon.action.tooltip.position\r\n : 'top',\r\n gap:\r\n cell.icon.action.tooltip && cell.icon.action.tooltip.gap\r\n ? cell.icon.action.tooltip.gap\r\n : 0\r\n }\"\r\n [disabled]=\"\r\n cell.icon.action.disabled\r\n ? cell.icon.action.disabled(item)\r\n : null\r\n \"\r\n (clickEvent)=\"handleIconClick(cell, item)\"\r\n (click)=\"$event.stopPropagation()\"\r\n (keydown)=\"$event.stopPropagation()\"\r\n (keyup.enter)=\"$event.stopPropagation()\"\r\n >\r\n </frg-button>\r\n }\r\n <span [ngClass]=\"cell.customClass ? cell.customClass(item) : ''\">\r\n {{ item | fieldArrayPosition: cell.fieldArrayPosition }}\r\n </span>\r\n @if (\r\n cell.icon &&\r\n cell.icon.position === 'right' &&\r\n cell.icon.action.visible &&\r\n cell.icon.action.visible(item)\r\n ) {\r\n <frg-button\r\n [ariaLabel]=\"cell.icon.ariaLabel || 'Azione'\"\r\n [text]=\"''\"\r\n [iconClass]=\"cell.icon.iconClass ? cell.icon.iconClass : ''\"\r\n [styleType]=\"'icon'\"\r\n [size]=\"'small'\"\r\n frgTooltip\r\n [tooltipConfig]=\"{\r\n apply:\r\n cell.icon.action.tooltip && cell.icon.action.tooltip.apply\r\n ? cell.icon.action.tooltip.apply\r\n : true,\r\n text:\r\n cell.icon.action.tooltip && cell.icon.action.tooltip.text\r\n ? cell.icon.action.tooltip.text(item)\r\n : '',\r\n textContent:\r\n cell.icon.action.tooltip && cell.icon.action.tooltip.textContent\r\n ? cell.icon.action.tooltip.textContent(item)\r\n : '',\r\n position:\r\n cell.icon.action.tooltip && cell.icon.action.tooltip.position\r\n ? cell.icon.action.tooltip.position\r\n : 'top',\r\n gap:\r\n cell.icon.action.tooltip && cell.icon.action.tooltip.gap\r\n ? cell.icon.action.tooltip.gap\r\n : 0\r\n }\"\r\n [disabled]=\"\r\n cell.icon.action.disabled\r\n ? cell.icon.action.disabled(item)\r\n : null\r\n \"\r\n (clickEvent)=\"handleIconClick(cell, item)\"\r\n (click)=\"$event.stopPropagation()\"\r\n (keydown)=\"$event.stopPropagation()\"\r\n (keyup.enter)=\"$event.stopPropagation()\"\r\n >\r\n </frg-button>\r\n }\r\n } @else {\r\n @if (\r\n cell.icon &&\r\n cell.icon.position !== 'right' &&\r\n cell.icon.action.visible &&\r\n cell.icon.action.visible(item)\r\n ) {\r\n <frg-button\r\n [ariaLabel]=\"cell.icon.ariaLabel || 'Azione'\"\r\n [text]=\"''\"\r\n [iconClass]=\"cell.icon.iconClass ? cell.icon.iconClass : ''\"\r\n [styleType]=\"'icon'\"\r\n [size]=\"'small'\"\r\n frgTooltip\r\n [tooltipConfig]=\"{\r\n apply:\r\n cell.icon.action.tooltip && cell.icon.action.tooltip.apply\r\n ? cell.icon.action.tooltip.apply\r\n : true,\r\n text:\r\n cell.icon.action.tooltip && cell.icon.action.tooltip.text\r\n ? cell.icon.action.tooltip.text(item)\r\n : '',\r\n textContent:\r\n cell.icon.action.tooltip && cell.icon.action.tooltip.textContent\r\n ? cell.icon.action.tooltip.textContent(item)\r\n : '',\r\n position:\r\n cell.icon.action.tooltip && cell.icon.action.tooltip.position\r\n ? cell.icon.action.tooltip.position\r\n : 'top',\r\n gap:\r\n cell.icon.action.tooltip && cell.icon.action.tooltip.gap\r\n ? cell.icon.action.tooltip.gap\r\n : 0\r\n }\"\r\n [disabled]=\"\r\n cell.icon.action.disabled\r\n ? cell.icon.action.disabled(item)\r\n : null\r\n \"\r\n (clickEvent)=\"handleIconClick(cell, item)\"\r\n (click)=\"$event.stopPropagation()\"\r\n (keydown)=\"$event.stopPropagation()\"\r\n (keyup.enter)=\"$event.stopPropagation()\"\r\n >\r\n </frg-button>\r\n }\r\n <span\r\n [innerHtml]=\"\r\n item\r\n | fieldArrayPosition: cell.fieldArrayPosition\r\n | dynamicPipe: cell.fieldPipe.type : cell.fieldPipe.args\r\n | safeHtml\r\n \"\r\n [ngClass]=\"cell.customClass ? cell.customClass(item) : ''\"\r\n ></span>\r\n @if (\r\n cell.icon &&\r\n cell.icon.position === 'right' &&\r\n cell.icon.action.visible &&\r\n cell.icon.action.visible(item)\r\n ) {\r\n <frg-button\r\n [ariaLabel]=\"cell.icon.ariaLabel || 'Azione'\"\r\n [text]=\"''\"\r\n [iconClass]=\"cell.icon.iconClass ? cell.icon.iconClass : ''\"\r\n [styleType]=\"'icon'\"\r\n [size]=\"'small'\"\r\n frgTooltip\r\n [tooltipConfig]=\"{\r\n apply:\r\n cell.icon.action.tooltip && cell.icon.action.tooltip.apply\r\n ? cell.icon.action.tooltip.apply\r\n : true,\r\n text:\r\n cell.icon.action.tooltip && cell.icon.action.tooltip.text\r\n ? cell.icon.action.tooltip.text(item)\r\n : '',\r\n textContent:\r\n cell.icon.action.tooltip && cell.icon.action.tooltip.textContent\r\n ? cell.icon.action.tooltip.textContent(item)\r\n : '',\r\n position:\r\n cell.icon.action.tooltip && cell.icon.action.tooltip.position\r\n ? cell.icon.action.tooltip.position\r\n : 'top',\r\n gap:\r\n cell.icon.action.tooltip && cell.icon.action.tooltip.gap\r\n ? cell.icon.action.tooltip.gap\r\n : 0\r\n }\"\r\n [disabled]=\"\r\n cell.icon.action.disabled\r\n ? cell.icon.action.disabled(item)\r\n : null\r\n \"\r\n (clickEvent)=\"handleIconClick(cell, item)\"\r\n (click)=\"$event.stopPropagation()\"\r\n (keydown)=\"$event.stopPropagation()\"\r\n (keyup.enter)=\"$event.stopPropagation()\"\r\n >\r\n </frg-button>\r\n }\r\n }\r\n</ng-template>\r\n", styles: [".frg-title-bar{color:#3d3d3d;font-weight:400;font-size:1.25rem;box-shadow:0 2px 4px #0000001a;font-family:frg-opensans,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Open Sans,Helvetica Neue,sans-serif}.frg-title-bar__primary{background-color:#4c7aae;color:#fdfdfd}.frg-title-bar__primary .frg-title-bar-title button{color:#4c7aae}.frg-title-bar__primary .frg-title-bar-filter,.frg-title-bar__primary .frg-title-bar-search{background-color:#6ea8d9}.frg-title-bar__secondary{background-color:#c9a24e;color:#fdfdfd}.frg-title-bar__secondary .frg-title-bar-title button{color:#c9a24e}.frg-title-bar__secondary .frg-title-bar-filter,.frg-title-bar__secondary .frg-title-bar-search{background-color:#e6c57a}.frg-title-bar__tertiary{background-color:#b05a99;color:#fdfdfd}.frg-title-bar__tertiary .frg-title-bar-title button{color:#b05a99}.frg-title-bar__tertiary .frg-title-bar-filter,.frg-title-bar__tertiary .frg-title-bar-search{background-color:#d97ebd}.frg-title-bar__dark{background-color:#3d3d3d;color:#fff}.frg-title-bar__light{background-color:#fdfdfd}.frg-title-bar .frg-title-bar-title{padding:15px 25px}.frg-title-bar .frg-title-bar-title button{outline:none;border:none;border-radius:50%;width:25px;height:25px;padding:15px;font-size:1rem}.frg-title-bar .frg-title-bar-title button:focus{color:#3d3d3d;background-color:#fdfdfd;border-color:#6ea8d9;outline:0;outline:3px solid #6ea8d9;box-shadow:none}.frg-title-bar .frg-title-bar-title button:focus-visible{outline-offset:5px}.frg-title-bar .frg-title-bar-filter__container{padding:25px}.frg-title-bar .frg-title-bar-filter label{display:block;font-size:.8rem;font-weight:lighter}.frg-title-bar .frg-title-bar-search__container{padding:25px}.frg-title-bar .frg-title-bar-search label{display:block;font-size:.8rem;font-weight:lighter}.frg-filter label,.frg-search label{display:block;font-size:.875rem;font-weight:400;margin-bottom:.5rem;font-family:Open Sans,Roboto,system-ui,-apple-system,Segoe UI,Helvetica Neue,Noto Sans,Liberation Sans,Arial,sans-serif,\"Apple Color Emoji\",\"Segoe UI Emoji\",Segoe UI Symbol,\"Noto Color Emoji\";text-transform:uppercase;letter-spacing:.05rem}.frg-filter input,.frg-search input{display:block;width:100%;padding:10px;font-size:1rem;font-family:Open Sans,Roboto,system-ui,-apple-system,Segoe UI,Helvetica Neue,Noto Sans,Liberation Sans,Arial,sans-serif,\"Apple Color Emoji\",\"Segoe UI Emoji\",Segoe UI Symbol,\"Noto Color Emoji\";line-height:1.5;color:#3d3d3d;background-color:#fdfdfd;background-clip:padding-box;border:1px solid rgb(184.7584745763,185.9194915254,188.2415254237);border-radius:.25rem;transition:border-color .15s ease-in-out,box-shadow .15s ease-in-out}.frg-filter input::placeholder,.frg-search input::placeholder{color:#737579;opacity:1}.frg-filter input:focus,.frg-search input:focus{color:#3d3d3d;background-color:#fdfdfd;border-color:#6ea8d9;outline:0;box-shadow:0 0 0 .2rem #2e6ea640}.frg-filter input.is-invalid,.frg-search input.is-invalid{border-color:#d66a6a;padding-right:calc(10px + 2rem);background-image:url(data:image/svg+xml,\\ ...);background-repeat:no-repeat;background-position:center right 5px;background-size:6.6666666667px 6.6666666667px}.frg-filter input.is-invalid:focus,.frg-search input.is-invalid:focus{border-color:#d66a6a;box-shadow:0 0 0 .2rem #da1e2840}.frg-filter input:disabled,.frg-search input:disabled{background-color:#bfbfbf;border-color:#737579}.frg-table-responsive{border:1px solid #e6e9ef;border-radius:.25rem;overflow:hidden;background-color:#fdfdfd}frg-title-bar+.frg-table-responsive{border-top:none;border-radius:0 0 .25rem .25rem}.frg-table{width:100%;border-collapse:separate;border-spacing:0;font-size:.95rem;background-color:#fdfdfd}.frg-table-responsive{border-radius:0 0 .25rem .25rem;border:1px solid #e6e9ef;overflow:hidden;background-color:#fdfdfd}.frg-table td,.frg-table th{text-align:left;padding:.75rem .9rem;border-bottom:1px solid #e6e9ef;vertical-align:middle}.frg-table--row-small td,.frg-table--row-small th{padding:.35rem .6rem}.frg-table--row-medium td,.frg-table--row-medium th{padding:.75rem .9rem}.frg-table--row-large td,.frg-table--row-large th{padding:1rem 1.2rem}.frg-table thead th{background-color:#edf0f6;font-weight:600;color:#1f252e;letter-spacing:.01em;border-bottom:1px solid #e6e9ef}.frg-table tbody tr{transition:background-color .18s ease}.frg-table tbody tr:hover{background-color:#f1f4f9}.frg-table .frg-sorting{position:relative;cursor:pointer;padding-right:1.4rem}.frg-table .frg-sorting:before,.frg-table .frg-sorting:after{content:\"\";position:absolute;right:.65rem;border-left:4px solid transparent;border-right:4px solid transparent;opacity:.5}.frg-table .frg-sorting:before{top:calc(50% - 6px);border-bottom:5px solid currentColor}.frg-table .frg-sorting:after{top:calc(50% + 2px);border-top:5px solid currentColor}.frg-table .frg-sorting-asc:after{opacity:.5}.frg-table .frg-sorting-asc:before{opacity:1}.frg-table .frg-sorting-desc:before{opacity:.5}.frg-table .frg-sorting-desc:after{opacity:1}.frg-table__primary{overflow:hidden}.frg-table__primary thead th,.frg-table__primary.frg-table thead th{background-color:#83b5de;color:#fdfdfd;border-bottom-color:#a1c6e6}.frg-table__primary tbody tr:hover{background-color:#e8f0f8}.frg-table__secondary{overflow:hidden}.frg-table__secondary thead th,.frg-table__secondary.frg-table thead th{background-color:#e9cd8e;color:#fdfdfd;border-bottom-color:#efd9a9}.frg-table__secondary tbody tr:hover{background-color:#faf5e9}.frg-table__tertiary{overflow:hidden}.frg-table__tertiary thead th,.frg-table__tertiary.frg-table thead th{background-color:#de91c7;color:#fdfdfd;border-bottom-color:#e6abd4}.frg-table__tertiary tbody tr:hover{background-color:#f8eaf3}.frg-table__dark{background-color:#3d3d3d;color:#fdfdfd}.frg-table__dark td,.frg-table__dark th{border-bottom-color:#fdfdfd1f}.frg-table__dark thead th{background-color:#505050;color:#fdfdfd;border-bottom-color:#fdfdfd29}.frg-table__dark tbody tr:hover{background-color:#4d4d4d}.frg-table__light,.frg-table__light thead th{background-color:#fdfdfd;color:#3d3d3d}.frg-table__light tbody tr:hover{background-color:#f1f4f9}@media screen and (max-width: 768px){.frg-table-responsive{overflow:auto}}\n"] }]
|
|
2370
|
+
], template: "@if (configTable.tTitleBar?.title) {\r\n <frg-title-bar\r\n [title]=\"configTable.tTitleBar?.title ?? ''\"\r\n [styleType]=\"styleType\"\r\n ></frg-title-bar>\r\n}\r\n@if (configTable.tBody.data && configTable.tBody.data.length > 0) {\r\n <div class=\"frg-table-responsive\">\r\n <table\r\n class=\"frg-table\"\r\n id=\"table1\"\r\n [ngClass]=\"{\r\n 'frg-table__primary': styleType === 'primary',\r\n 'frg-table__secondary': styleType === 'secondary',\r\n 'frg-table__tertiary': styleType === 'tertiary',\r\n 'frg-table__dark': styleType === 'dark',\r\n 'frg-table__light': styleType === 'light',\r\n 'frg-table--row-small': rowSize === 'small',\r\n 'frg-table--row-medium': rowSize === 'medium',\r\n 'frg-table--row-large': rowSize === 'large'\r\n }\"\r\n >\r\n @if (configTable.tCaption && configTable.tCaption.srOnly) {\r\n <caption class=\"visually-hidden\">\r\n {{ configTable.tCaption.srOnly }}\r\n </caption>\r\n }\r\n @if (configTable.tHead.columns.length > 0) {\r\n <thead #tableHead>\r\n <tr>\r\n <!--Sort-->\r\n @if (configTable.tHead) {\r\n @for (hColumn of configTable.tHead.columns; track $index) {\r\n @if (hColumn.fieldOrder) {\r\n <th\r\n scope=\"col\"\r\n [tabindex]=\"hColumn.fieldOrder ? 0 : null\"\r\n [attr.aria-sort]=\"\r\n !(hColumn.fieldOrder === configTable.tPagination.order)\r\n ? null\r\n : configTable.tPagination.direction ===\r\n EnumDirectionSortTable.asc\r\n ? 'ascending'\r\n : 'descending'\r\n \"\r\n [ngClass]=\"{\r\n 'frg-sorting': hColumn.fieldOrder,\r\n 'frg-sorting-asc':\r\n configTable.tPagination.direction ===\r\n EnumDirectionSortTable.asc &&\r\n hColumn.fieldOrder === configTable.tPagination.order,\r\n 'frg-sorting-desc':\r\n configTable.tPagination.direction ===\r\n EnumDirectionSortTable.desc &&\r\n hColumn.fieldOrder === configTable.tPagination.order\r\n }\"\r\n (click)=\"\r\n hColumn.fieldOrder ? orderBy(hColumn.fieldOrder) : null\r\n \"\r\n (keydown.enter)=\"\r\n hColumn.fieldOrder ? orderBy(hColumn.fieldOrder) : null\r\n \"\r\n >\r\n <span>\r\n {{ hColumn.fieldLabel }}\r\n </span>\r\n </th>\r\n } @else {\r\n <th scope=\"col\">\r\n <span>\r\n {{ hColumn.fieldLabel }}\r\n </span>\r\n </th>\r\n }\r\n }\r\n }\r\n <!--End Sort-->\r\n @if (configTable.tHead.action) {\r\n <th\r\n scope=\"col\"\r\n [ngClass]=\"configTable.tHead.action.customClass ?? ''\"\r\n >\r\n {{ configTable.tHead.action.label }}\r\n </th>\r\n }\r\n </tr>\r\n </thead>\r\n }\r\n <tbody>\r\n @for (item of configTable.tBody.data; let i = $index; track $index) {\r\n <tr\r\n [attr.id]=\"i === 0 ? idFirstTr : null\"\r\n [ngClass]=\"\r\n configTable.tBody.rowClick?.behaviourAction?.clickEvent\r\n ? 'cursor-pointer'\r\n : ''\r\n \"\r\n [routerLink]=\"\r\n configTable.tBody.rowClick?.disabled &&\r\n configTable.tBody.rowClick?.disabled(item)\r\n ? null\r\n : configTable.tBody.rowClick?.behaviourAction?.link\r\n ? [\r\n configTable.tBody.rowClick?.behaviourAction?.link\r\n ? configTable.tBody.rowClick?.behaviourAction?.link\r\n : './',\r\n configTable.tBody.rowClick?.behaviourAction\r\n ?.customParamsLink ||\r\n (item | fieldArrayPosition: configTable.tBody.uniqueField)\r\n ]\r\n : null\r\n \"\r\n (click)=\"handleRowClick($event, item)\"\r\n (keyup.enter)=\"handleRowClick($event, item)\"\r\n (keydown)=\"handleRowClick($event, item)\"\r\n >\r\n @for (column of configTable.tBody.columns; let i = $index; track $index) {\r\n <td>\r\n <div [ngClass]=\"column.customClass\">\r\n <ng-container\r\n [ngTemplateOutlet]=\"\r\n (column.cells | typeOfArray) ? cellForTpl : cellTpl\r\n \"\r\n [ngTemplateOutletContext]=\"{\r\n cells: column.cells,\r\n item: item\r\n }\"\r\n ></ng-container>\r\n </div>\r\n </td>\r\n }\r\n @if (configTable.tBody.action ?? false) {\r\n <td\r\n class=\"table-action\"\r\n [ngClass]=\"configTable.tBody.action?.customClasses ?? ''\"\r\n >\r\n @for (act of configTable.tBody.action?.buttons ?? []; track $index) {\r\n @if (act.visible && act.visible(item) ? true : null) {\r\n <frg-button\r\n [ariaLabel]=\"act.ariaLabel || 'Azione'\"\r\n [text]=\"''\"\r\n [iconClass]=\"act.iconClass ? act.iconClass(item) : ''\"\r\n [styleType]=\"'icon'\"\r\n [size]=\"'small'\"\r\n frgTooltip\r\n [tooltipConfig]=\"{\r\n apply:\r\n act.tooltip &&\r\n act.tooltip.apply &&\r\n act.visible &&\r\n act.visible(item)\r\n ? act.tooltip.apply\r\n : true,\r\n text:\r\n act.tooltip && act.tooltip.text\r\n ? act.tooltip.text(item)\r\n : '',\r\n textContent:\r\n act.tooltip && act.tooltip.textContent\r\n ? act.tooltip.textContent(item)\r\n : '',\r\n position:\r\n act.tooltip && act.tooltip.position\r\n ? act.tooltip.position\r\n : 'top',\r\n gap: act.tooltip && act.tooltip.gap ? act.tooltip.gap : 0\r\n }\"\r\n [disabled]=\"act.disabled ? act.disabled(item) : null\"\r\n [buttonRouterLink]=\"\r\n act.disabled && act.disabled(item)\r\n ? null\r\n : act.behaviourAction.link\r\n ? [\r\n act.behaviourAction.link\r\n ? act.behaviourAction.link\r\n : './',\r\n act.behaviourAction.customParamsLink ||\r\n (item\r\n | fieldArrayPosition\r\n : configTable.tBody.uniqueField)\r\n ]\r\n : null\r\n \"\r\n (clickEvent)=\"\r\n act.behaviourAction.clickEvent\r\n ? act.behaviourAction.clickEvent(item)\r\n : null\r\n \"\r\n (click)=\"$event.stopPropagation()\"\r\n (keydown)=\"$event.stopPropagation()\"\r\n (keyup.enter)=\"$event.stopPropagation()\"\r\n >\r\n </frg-button>\r\n }\r\n }\r\n </td>\r\n }\r\n </tr>\r\n }\r\n </tbody>\r\n </table>\r\n </div>\r\n\r\n @if (configTable.tPagination) {\r\n <frg-small-pagination\r\n [hasElipsisPages]=\"configTable.tPagination.hasElipsisPages ?? false\"\r\n [pageSize]=\"configTable.tPagination.pageSize ?? 10\"\r\n [page]=\"configTable.tPagination.page ?? 0\"\r\n [totalItems]=\"configTable.tPagination.fullData?.length ?? 0\"\r\n [fullData]=\"configTable.tPagination.fullData ?? []\"\r\n [styleType]=\"styleType\"\r\n (pageChange)=\"updateCurrentPage($event)\"\r\n ></frg-small-pagination>\r\n }\r\n} @else {\r\n <div class=\"d-flex justify-content-center my-4\">\r\n <div class=\"text-center\">No Elements</div>\r\n </div>\r\n}\r\n\r\n<ng-template #cellForTpl let-cells=\"cells\" let-item=\"item\">\r\n @for (cell of $any(cells); track $index) {\r\n <ng-container\r\n [ngTemplateOutlet]=\"cellTpl\"\r\n [ngTemplateOutletContext]=\"{\r\n cell: cell,\r\n item: item\r\n }\"\r\n ></ng-container>\r\n <br />\r\n }\r\n</ng-template>\r\n\r\n<ng-template #cellTpl let-cell=\"cells\" let-item=\"item\">\r\n @if (!cell.fieldPipe) {\r\n @if (\r\n cell.icon &&\r\n cell.icon.position !== 'right' &&\r\n cell.icon.action.visible &&\r\n cell.icon.action.visible(item)\r\n ) {\r\n <frg-button\r\n [ariaLabel]=\"cell.icon.ariaLabel || 'Azione'\"\r\n [text]=\"''\"\r\n [iconClass]=\"cell.icon.iconClass ? cell.icon.iconClass : ''\"\r\n [styleType]=\"'icon'\"\r\n [size]=\"'small'\"\r\n frgTooltip\r\n [tooltipConfig]=\"{\r\n apply:\r\n cell.icon.action.tooltip && cell.icon.action.tooltip.apply\r\n ? cell.icon.action.tooltip.apply\r\n : true,\r\n text:\r\n cell.icon.action.tooltip && cell.icon.action.tooltip.text\r\n ? cell.icon.action.tooltip.text(item)\r\n : '',\r\n textContent:\r\n cell.icon.action.tooltip && cell.icon.action.tooltip.textContent\r\n ? cell.icon.action.tooltip.textContent(item)\r\n : '',\r\n position:\r\n cell.icon.action.tooltip && cell.icon.action.tooltip.position\r\n ? cell.icon.action.tooltip.position\r\n : 'top',\r\n gap:\r\n cell.icon.action.tooltip && cell.icon.action.tooltip.gap\r\n ? cell.icon.action.tooltip.gap\r\n : 0\r\n }\"\r\n [disabled]=\"\r\n cell.icon.action.disabled\r\n ? cell.icon.action.disabled(item)\r\n : null\r\n \"\r\n (clickEvent)=\"handleIconClick(cell, item)\"\r\n (click)=\"$event.stopPropagation()\"\r\n (keydown)=\"$event.stopPropagation()\"\r\n (keyup.enter)=\"$event.stopPropagation()\"\r\n >\r\n </frg-button>\r\n }\r\n <span [ngClass]=\"cell.customClass ? cell.customClass(item) : ''\">\r\n {{ item | fieldArrayPosition: cell.fieldArrayPosition }}\r\n </span>\r\n @if (\r\n cell.icon &&\r\n cell.icon.position === 'right' &&\r\n cell.icon.action.visible &&\r\n cell.icon.action.visible(item)\r\n ) {\r\n <frg-button\r\n [ariaLabel]=\"cell.icon.ariaLabel || 'Azione'\"\r\n [text]=\"''\"\r\n [iconClass]=\"cell.icon.iconClass ? cell.icon.iconClass : ''\"\r\n [styleType]=\"'icon'\"\r\n [size]=\"'small'\"\r\n frgTooltip\r\n [tooltipConfig]=\"{\r\n apply:\r\n cell.icon.action.tooltip && cell.icon.action.tooltip.apply\r\n ? cell.icon.action.tooltip.apply\r\n : true,\r\n text:\r\n cell.icon.action.tooltip && cell.icon.action.tooltip.text\r\n ? cell.icon.action.tooltip.text(item)\r\n : '',\r\n textContent:\r\n cell.icon.action.tooltip && cell.icon.action.tooltip.textContent\r\n ? cell.icon.action.tooltip.textContent(item)\r\n : '',\r\n position:\r\n cell.icon.action.tooltip && cell.icon.action.tooltip.position\r\n ? cell.icon.action.tooltip.position\r\n : 'top',\r\n gap:\r\n cell.icon.action.tooltip && cell.icon.action.tooltip.gap\r\n ? cell.icon.action.tooltip.gap\r\n : 0\r\n }\"\r\n [disabled]=\"\r\n cell.icon.action.disabled\r\n ? cell.icon.action.disabled(item)\r\n : null\r\n \"\r\n (clickEvent)=\"handleIconClick(cell, item)\"\r\n (click)=\"$event.stopPropagation()\"\r\n (keydown)=\"$event.stopPropagation()\"\r\n (keyup.enter)=\"$event.stopPropagation()\"\r\n >\r\n </frg-button>\r\n }\r\n } @else {\r\n @if (\r\n cell.icon &&\r\n cell.icon.position !== 'right' &&\r\n cell.icon.action.visible &&\r\n cell.icon.action.visible(item)\r\n ) {\r\n <frg-button\r\n [ariaLabel]=\"cell.icon.ariaLabel || 'Azione'\"\r\n [text]=\"''\"\r\n [iconClass]=\"cell.icon.iconClass ? cell.icon.iconClass : ''\"\r\n [styleType]=\"'icon'\"\r\n [size]=\"'small'\"\r\n frgTooltip\r\n [tooltipConfig]=\"{\r\n apply:\r\n cell.icon.action.tooltip && cell.icon.action.tooltip.apply\r\n ? cell.icon.action.tooltip.apply\r\n : true,\r\n text:\r\n cell.icon.action.tooltip && cell.icon.action.tooltip.text\r\n ? cell.icon.action.tooltip.text(item)\r\n : '',\r\n textContent:\r\n cell.icon.action.tooltip && cell.icon.action.tooltip.textContent\r\n ? cell.icon.action.tooltip.textContent(item)\r\n : '',\r\n position:\r\n cell.icon.action.tooltip && cell.icon.action.tooltip.position\r\n ? cell.icon.action.tooltip.position\r\n : 'top',\r\n gap:\r\n cell.icon.action.tooltip && cell.icon.action.tooltip.gap\r\n ? cell.icon.action.tooltip.gap\r\n : 0\r\n }\"\r\n [disabled]=\"\r\n cell.icon.action.disabled\r\n ? cell.icon.action.disabled(item)\r\n : null\r\n \"\r\n (clickEvent)=\"handleIconClick(cell, item)\"\r\n (click)=\"$event.stopPropagation()\"\r\n (keydown)=\"$event.stopPropagation()\"\r\n (keyup.enter)=\"$event.stopPropagation()\"\r\n >\r\n </frg-button>\r\n }\r\n <span\r\n [innerHtml]=\"\r\n item\r\n | fieldArrayPosition: cell.fieldArrayPosition\r\n | dynamicPipe: cell.fieldPipe.type : cell.fieldPipe.args\r\n | safeHtml\r\n \"\r\n [ngClass]=\"cell.customClass ? cell.customClass(item) : ''\"\r\n ></span>\r\n @if (\r\n cell.icon &&\r\n cell.icon.position === 'right' &&\r\n cell.icon.action.visible &&\r\n cell.icon.action.visible(item)\r\n ) {\r\n <frg-button\r\n [ariaLabel]=\"cell.icon.ariaLabel || 'Azione'\"\r\n [text]=\"''\"\r\n [iconClass]=\"cell.icon.iconClass ? cell.icon.iconClass : ''\"\r\n [styleType]=\"'icon'\"\r\n [size]=\"'small'\"\r\n frgTooltip\r\n [tooltipConfig]=\"{\r\n apply:\r\n cell.icon.action.tooltip && cell.icon.action.tooltip.apply\r\n ? cell.icon.action.tooltip.apply\r\n : true,\r\n text:\r\n cell.icon.action.tooltip && cell.icon.action.tooltip.text\r\n ? cell.icon.action.tooltip.text(item)\r\n : '',\r\n textContent:\r\n cell.icon.action.tooltip && cell.icon.action.tooltip.textContent\r\n ? cell.icon.action.tooltip.textContent(item)\r\n : '',\r\n position:\r\n cell.icon.action.tooltip && cell.icon.action.tooltip.position\r\n ? cell.icon.action.tooltip.position\r\n : 'top',\r\n gap:\r\n cell.icon.action.tooltip && cell.icon.action.tooltip.gap\r\n ? cell.icon.action.tooltip.gap\r\n : 0\r\n }\"\r\n [disabled]=\"\r\n cell.icon.action.disabled\r\n ? cell.icon.action.disabled(item)\r\n : null\r\n \"\r\n (clickEvent)=\"handleIconClick(cell, item)\"\r\n (click)=\"$event.stopPropagation()\"\r\n (keydown)=\"$event.stopPropagation()\"\r\n (keyup.enter)=\"$event.stopPropagation()\"\r\n >\r\n </frg-button>\r\n }\r\n }\r\n</ng-template>\r\n", styles: [".frg-title-bar{color:#3d3d3d;font-weight:400;font-size:1.25rem;box-shadow:0 2px 4px #0000001a;font-family:Open Sans,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Helvetica Neue,sans-serif}.frg-title-bar__primary{background-color:#4c7aae;color:#fdfdfd}.frg-title-bar__primary .frg-title-bar-title button{color:#4c7aae}.frg-title-bar__primary .frg-title-bar-filter,.frg-title-bar__primary .frg-title-bar-search{background-color:#6ea8d9}.frg-title-bar__secondary{background-color:#c9a24e;color:#fdfdfd}.frg-title-bar__secondary .frg-title-bar-title button{color:#c9a24e}.frg-title-bar__secondary .frg-title-bar-filter,.frg-title-bar__secondary .frg-title-bar-search{background-color:#e6c57a}.frg-title-bar__tertiary{background-color:#b05a99;color:#fdfdfd}.frg-title-bar__tertiary .frg-title-bar-title button{color:#b05a99}.frg-title-bar__tertiary .frg-title-bar-filter,.frg-title-bar__tertiary .frg-title-bar-search{background-color:#d97ebd}.frg-title-bar__dark{background-color:#3d3d3d;color:#fff}.frg-title-bar__light{background-color:#fdfdfd}.frg-title-bar .frg-title-bar-title{padding:15px 25px}.frg-title-bar .frg-title-bar-title button{outline:none;border:none;border-radius:50%;width:25px;height:25px;padding:15px;font-size:1rem}.frg-title-bar .frg-title-bar-title button:focus{color:#3d3d3d;background-color:#fdfdfd;border-color:#6ea8d9;outline:0;outline:3px solid #6ea8d9;box-shadow:none}.frg-title-bar .frg-title-bar-title button:focus-visible{outline-offset:5px}.frg-title-bar .frg-title-bar-filter__container{padding:25px}.frg-title-bar .frg-title-bar-filter label{display:block;font-size:.8rem;font-weight:lighter}.frg-title-bar .frg-title-bar-search__container{padding:25px}.frg-title-bar .frg-title-bar-search label{display:block;font-size:.8rem;font-weight:lighter}.frg-filter label,.frg-search label{display:block;font-size:.875rem;font-weight:400;margin-bottom:.5rem;font-family:Open Sans,Roboto,system-ui,-apple-system,Segoe UI,Helvetica Neue,Noto Sans,Liberation Sans,Arial,sans-serif,\"Apple Color Emoji\",\"Segoe UI Emoji\",Segoe UI Symbol,\"Noto Color Emoji\";text-transform:uppercase;letter-spacing:.05rem}.frg-filter input,.frg-search input{display:block;width:100%;padding:10px;font-size:1rem;font-family:Open Sans,Roboto,system-ui,-apple-system,Segoe UI,Helvetica Neue,Noto Sans,Liberation Sans,Arial,sans-serif,\"Apple Color Emoji\",\"Segoe UI Emoji\",Segoe UI Symbol,\"Noto Color Emoji\";line-height:1.5;color:#3d3d3d;background-color:#fdfdfd;background-clip:padding-box;border:1px solid rgb(184.7584745763,185.9194915254,188.2415254237);border-radius:.25rem;transition:border-color .15s ease-in-out,box-shadow .15s ease-in-out}.frg-filter input::placeholder,.frg-search input::placeholder{color:#737579;opacity:1}.frg-filter input:focus,.frg-search input:focus{color:#3d3d3d;background-color:#fdfdfd;border-color:#6ea8d9;outline:0;box-shadow:0 0 0 .2rem #2e6ea640}.frg-filter input.is-invalid,.frg-search input.is-invalid{border-color:#d66a6a;padding-right:calc(10px + 2rem);background-image:url(data:image/svg+xml,\\ ...);background-repeat:no-repeat;background-position:center right 5px;background-size:6.6666666667px 6.6666666667px}.frg-filter input.is-invalid:focus,.frg-search input.is-invalid:focus{border-color:#d66a6a;box-shadow:0 0 0 .2rem #da1e2840}.frg-filter input:disabled,.frg-search input:disabled{background-color:#bfbfbf;border-color:#737579}.frg-table-responsive{border:1px solid #e6e9ef;border-radius:.25rem;overflow:hidden;background-color:#fdfdfd}frg-title-bar+.frg-table-responsive{border-top:none;border-radius:0 0 .25rem .25rem}.frg-table{width:100%;border-collapse:separate;border-spacing:0;font-size:.95rem;background-color:#fdfdfd}.frg-table-responsive{border-radius:0 0 .25rem .25rem;border:1px solid #e6e9ef;overflow:hidden;background-color:#fdfdfd}.frg-table td,.frg-table th{text-align:left;padding:.75rem .9rem;border-bottom:1px solid #e6e9ef;vertical-align:middle}.frg-table--row-small td,.frg-table--row-small th{padding:.35rem .6rem}.frg-table--row-medium td,.frg-table--row-medium th{padding:.75rem .9rem}.frg-table--row-large td,.frg-table--row-large th{padding:1rem 1.2rem}.frg-table thead th{background-color:#edf0f6;font-weight:600;color:#1f252e;letter-spacing:.01em;border-bottom:1px solid #e6e9ef}.frg-table tbody tr{transition:background-color .18s ease}.frg-table tbody tr:hover{background-color:#f1f4f9}.frg-table .frg-sorting{position:relative;cursor:pointer;padding-right:1.4rem}.frg-table .frg-sorting:before,.frg-table .frg-sorting:after{content:\"\";position:absolute;right:.65rem;border-left:4px solid transparent;border-right:4px solid transparent;opacity:.5}.frg-table .frg-sorting:before{top:calc(50% - 6px);border-bottom:5px solid currentColor}.frg-table .frg-sorting:after{top:calc(50% + 2px);border-top:5px solid currentColor}.frg-table .frg-sorting-asc:after{opacity:.5}.frg-table .frg-sorting-asc:before{opacity:1}.frg-table .frg-sorting-desc:before{opacity:.5}.frg-table .frg-sorting-desc:after{opacity:1}.frg-table__primary{overflow:hidden}.frg-table__primary thead th,.frg-table__primary.frg-table thead th{background-color:#83b5de;color:#fdfdfd;border-bottom-color:#a1c6e6}.frg-table__primary tbody tr:hover{background-color:#e8f0f8}.frg-table__secondary{overflow:hidden}.frg-table__secondary thead th,.frg-table__secondary.frg-table thead th{background-color:#e9cd8e;color:#fdfdfd;border-bottom-color:#efd9a9}.frg-table__secondary tbody tr:hover{background-color:#faf5e9}.frg-table__tertiary{overflow:hidden}.frg-table__tertiary thead th,.frg-table__tertiary.frg-table thead th{background-color:#de91c7;color:#fdfdfd;border-bottom-color:#e6abd4}.frg-table__tertiary tbody tr:hover{background-color:#f8eaf3}.frg-table__dark{background-color:#3d3d3d;color:#fdfdfd}.frg-table__dark td,.frg-table__dark th{border-bottom-color:#fdfdfd1f}.frg-table__dark thead th{background-color:#505050;color:#fdfdfd;border-bottom-color:#fdfdfd29}.frg-table__dark tbody tr:hover{background-color:#4d4d4d}.frg-table__light,.frg-table__light thead th{background-color:#fdfdfd;color:#3d3d3d}.frg-table__light tbody tr:hover{background-color:#f1f4f9}@media screen and (max-width: 768px){.frg-table-responsive{overflow:auto}}\n"] }]
|
|
2371
2371
|
}], propDecorators: { configTable: [{
|
|
2372
2372
|
type: Input
|
|
2373
2373
|
}], styleType: [{
|