@esfaenza/es-table 12.2.17 → 12.2.21
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/bundles/esfaenza-es-table.umd.js +3625 -1520
- package/bundles/esfaenza-es-table.umd.js.map +1 -1
- package/esfaenza-es-table.d.ts +7 -5
- package/esfaenza-es-table.metadata.json +1 -1
- package/esm2015/esfaenza-es-table.js +8 -6
- package/esm2015/lib/components/es-table/es_table.component.js +1316 -0
- package/esm2015/lib/components/es-table/es_table.component.loc.js +36 -0
- package/esm2015/lib/components/es-td/es_td.component.js +106 -0
- package/esm2015/lib/components/es-th/es_th.component.js +160 -0
- package/esm2015/lib/components/pager/table_pager.component.js +106 -0
- package/esm2015/lib/components/pager/table_pager.component.loc.js +22 -0
- package/esm2015/lib/core/handlers/classes/ColumnMetadataHandler.js +679 -0
- package/esm2015/lib/core/handlers/classes/DynamicModeHandler.js +64 -0
- package/esm2015/lib/core/handlers/classes/ExportHandler.js +43 -0
- package/esm2015/lib/core/handlers/classes/HierarchyModeHandler.js +136 -0
- package/esm2015/lib/core/handlers/classes/ItemsHandler.js +130 -0
- package/esm2015/lib/core/handlers/classes/ReportModeHandler.js +70 -0
- package/esm2015/lib/core/handlers/classes/RowGroupingHandler.js +475 -0
- package/esm2015/lib/core/handlers/classes/SelectionHandler.js +527 -0
- package/esm2015/lib/core/handlers/classes/UtilitiesHandler.js +169 -0
- package/esm2015/lib/core/handlers/index.js +10 -0
- package/esm2015/lib/directives/es_td.directive.js +18 -5
- package/esm2015/lib/directives/es_th.directive.js +64 -0
- package/esm2015/lib/domain/configuration/EsTableDefaultable.js +4 -0
- package/esm2015/lib/domain/configuration/EsTableModuleConfig.js +4 -0
- package/esm2015/lib/domain/externals/classes/CornerMenuOption.js +4 -0
- package/esm2015/lib/domain/externals/classes/EsTableColumnsDefinition.js +31 -0
- package/esm2015/lib/domain/externals/classes/EsTableOperationDefinition.js +22 -0
- package/esm2015/lib/domain/externals/classes/appsearch/AppOrdering.js +16 -0
- package/esm2015/lib/domain/externals/classes/appsearch/AppSearch.js +35 -0
- package/esm2015/lib/domain/externals/classes/appsearch/GenericItem.js +11 -0
- package/esm2015/lib/domain/externals/classes/appsearch/Group.js +17 -0
- package/esm2015/lib/domain/externals/classes/appsearch/GroupAggregation.js +16 -0
- package/esm2015/lib/domain/externals/classes/appsearch/GroupFilter.js +14 -0
- package/esm2015/lib/domain/externals/classes/appsearch/GroupOrAggregation.js +16 -0
- package/esm2015/lib/domain/externals/classes/appsearch/ItemsSelection.js +23 -0
- package/esm2015/lib/domain/externals/classes/report/ReportColumn.js +4 -0
- package/esm2015/lib/domain/externals/classes/report/ReportDefinition.js +4 -0
- package/esm2015/lib/domain/externals/classes/report/ReportOrder.js +4 -0
- package/esm2015/lib/domain/externals/classes/report/ReportParam.js +4 -0
- package/esm2015/lib/domain/externals/classes/report/ReportResult.js +4 -0
- package/esm2015/lib/domain/externals/classes/report/ReportRow.js +4 -0
- package/esm2015/lib/domain/externals/index.js +18 -0
- package/esm2015/lib/domain/index.js +3 -16
- package/esm2015/lib/domain/internals/classes/CacheTriptic.js +16 -0
- package/esm2015/lib/domain/internals/classes/EsTableColumn.js +24 -0
- package/esm2015/lib/domain/internals/classes/GroupPager.js +21 -0
- package/esm2015/lib/domain/internals/classes/GroupRouteFragment.js +17 -0
- package/esm2015/lib/domain/internals/classes/ThAggregation.js +16 -0
- package/esm2015/lib/domain/internals/classes/ThElement.js +2 -0
- package/esm2015/lib/domain/internals/index.js +7 -0
- package/esm2015/lib/es-table.module.js +16 -10
- package/esm2015/lib/tokens.js +6 -4
- package/esm2015/public-api.js +7 -6
- package/fesm2015/esfaenza-es-table.js +3579 -1597
- package/fesm2015/esfaenza-es-table.js.map +1 -1
- package/lib/{es_table.component.d.ts → components/es-table/es_table.component.d.ts} +186 -317
- package/lib/{es_table.component.loc.d.ts → components/es-table/es_table.component.loc.d.ts} +2 -6
- package/lib/{es_td.component.d.ts → components/es-td/es_td.component.d.ts} +14 -36
- package/lib/components/es-th/es_th.component.d.ts +89 -0
- package/lib/components/pager/table_pager.component.d.ts +54 -0
- package/lib/{pager → components/pager}/table_pager.component.loc.d.ts +2 -6
- package/lib/core/handlers/classes/ColumnMetadataHandler.d.ts +159 -0
- package/lib/core/handlers/classes/DynamicModeHandler.d.ts +32 -0
- package/lib/core/handlers/classes/ExportHandler.d.ts +22 -0
- package/lib/core/handlers/classes/HierarchyModeHandler.d.ts +40 -0
- package/lib/core/handlers/classes/ItemsHandler.d.ts +41 -0
- package/lib/core/handlers/classes/ReportModeHandler.d.ts +21 -0
- package/lib/core/handlers/classes/RowGroupingHandler.d.ts +114 -0
- package/lib/core/handlers/classes/SelectionHandler.d.ts +149 -0
- package/lib/core/handlers/classes/UtilitiesHandler.d.ts +67 -0
- package/lib/core/handlers/index.d.ts +9 -0
- package/lib/directives/es_td.directive.d.ts +16 -3
- package/lib/directives/es_th.directive.d.ts +46 -0
- package/lib/domain/configuration/EsTableDefaultable.d.ts +19 -0
- package/lib/domain/configuration/EsTableModuleConfig.d.ts +10 -0
- package/lib/domain/externals/classes/CornerMenuOption.d.ts +7 -0
- package/lib/domain/{classes → externals/classes}/EsTableColumnsDefinition.d.ts +5 -7
- package/lib/domain/{classes → externals/classes}/EsTableOperationDefinition.d.ts +1 -3
- package/lib/domain/{classes → externals/classes/appsearch}/AppOrdering.d.ts +0 -0
- package/lib/domain/externals/classes/appsearch/AppSearch.d.ts +67 -0
- package/lib/domain/externals/classes/appsearch/GenericItem.d.ts +13 -0
- package/lib/domain/externals/classes/appsearch/Group.d.ts +17 -0
- package/lib/domain/externals/classes/appsearch/GroupAggregation.d.ts +14 -0
- package/lib/domain/externals/classes/appsearch/GroupFilter.d.ts +12 -0
- package/lib/domain/externals/classes/appsearch/GroupOrAggregation.d.ts +14 -0
- package/lib/domain/externals/classes/appsearch/ItemsSelection.d.ts +22 -0
- package/lib/domain/externals/classes/report/ReportColumn.d.ts +15 -0
- package/lib/domain/externals/classes/report/ReportDefinition.d.ts +24 -0
- package/lib/domain/externals/classes/report/ReportOrder.d.ts +7 -0
- package/lib/domain/externals/classes/report/ReportParam.d.ts +40 -0
- package/lib/domain/externals/classes/report/ReportResult.d.ts +12 -0
- package/lib/domain/externals/classes/report/ReportRow.d.ts +5 -0
- package/lib/domain/externals/index.d.ts +17 -0
- package/lib/domain/index.d.ts +2 -15
- package/lib/domain/internals/classes/CacheTriptic.d.ts +14 -0
- package/lib/domain/internals/classes/EsTableColumn.d.ts +25 -0
- package/lib/domain/internals/classes/GroupPager.d.ts +22 -0
- package/lib/domain/internals/classes/GroupRouteFragment.d.ts +15 -0
- package/lib/domain/internals/classes/ThAggregation.d.ts +14 -0
- package/lib/domain/internals/classes/ThElement.d.ts +13 -0
- package/lib/domain/internals/index.d.ts +6 -0
- package/lib/es-table.module.d.ts +1 -1
- package/lib/tokens.d.ts +6 -3
- package/package.json +2 -1
- package/public-api.d.ts +6 -5
- package/esm2015/lib/domain/classes/AppOrdering.js +0 -16
- package/esm2015/lib/domain/classes/AppSearch.js +0 -35
- package/esm2015/lib/domain/classes/CornerMenuOption.js +0 -6
- package/esm2015/lib/domain/classes/EsTableColumn.js +0 -18
- package/esm2015/lib/domain/classes/EsTableColumnsDefinition.js +0 -31
- package/esm2015/lib/domain/classes/EsTableOperationDefinition.js +0 -24
- package/esm2015/lib/domain/classes/GenericItem.js +0 -15
- package/esm2015/lib/domain/classes/IAppSearch.js +0 -2
- package/esm2015/lib/domain/classes/ItemsSelection.js +0 -25
- package/esm2015/lib/domain/classes/ReportColumn.js +0 -6
- package/esm2015/lib/domain/classes/ReportDefinition.js +0 -6
- package/esm2015/lib/domain/classes/ReportOrder.js +0 -6
- package/esm2015/lib/domain/classes/ReportParam.js +0 -6
- package/esm2015/lib/domain/classes/ReportResult.js +0 -6
- package/esm2015/lib/domain/classes/ReportRow.js +0 -6
- package/esm2015/lib/es_table.component.js +0 -1825
- package/esm2015/lib/es_table.component.loc.js +0 -36
- package/esm2015/lib/es_td.component.js +0 -121
- package/esm2015/lib/es_th.component.js +0 -168
- package/esm2015/lib/models/EsTableModuleConfig.js +0 -6
- package/esm2015/lib/pager/table_pager.component.js +0 -70
- package/esm2015/lib/pager/table_pager.component.loc.js +0 -24
- package/lib/domain/classes/AppSearch.d.ts +0 -76
- package/lib/domain/classes/CornerMenuOption.d.ts +0 -13
- package/lib/domain/classes/EsTableColumn.d.ts +0 -16
- package/lib/domain/classes/GenericItem.d.ts +0 -25
- package/lib/domain/classes/IAppSearch.d.ts +0 -67
- package/lib/domain/classes/ItemsSelection.d.ts +0 -27
- package/lib/domain/classes/ReportColumn.d.ts +0 -29
- package/lib/domain/classes/ReportDefinition.d.ts +0 -46
- package/lib/domain/classes/ReportOrder.d.ts +0 -13
- package/lib/domain/classes/ReportParam.d.ts +0 -76
- package/lib/domain/classes/ReportResult.d.ts +0 -22
- package/lib/domain/classes/ReportRow.d.ts +0 -9
- package/lib/es_th.component.d.ts +0 -119
- package/lib/models/EsTableModuleConfig.d.ts +0 -9
- package/lib/pager/table_pager.component.d.ts +0 -50
|
@@ -1,36 +0,0 @@
|
|
|
1
|
-
import { Injectable, Inject, Optional } from "@angular/core";
|
|
2
|
-
import { LocalizationService } from "@esfaenza/localizations";
|
|
3
|
-
import { EST_LOCALE } from './tokens';
|
|
4
|
-
/**
|
|
5
|
-
* Classe di localizzazione per il componente **EsTableComponent**
|
|
6
|
-
*/
|
|
7
|
-
export class EsTableLoc extends LocalizationService {
|
|
8
|
-
/**
|
|
9
|
-
* @ignore
|
|
10
|
-
*/
|
|
11
|
-
constructor(LOC_LOCALE) {
|
|
12
|
-
super(LOC_LOCALE !== null && LOC_LOCALE !== void 0 ? LOC_LOCALE : 'it-IT');
|
|
13
|
-
super.set("en->it", "Performing Table bootstrap", ["Sto caricando la Tabella"]);
|
|
14
|
-
super.set("en->it", "Update every", ["Aggiorna ogni"]);
|
|
15
|
-
super.set("en->it", "second/s", ["secondo/i"]);
|
|
16
|
-
super.set("en->it", "Export View", ["Esporta Vista"]);
|
|
17
|
-
super.set("en->it", "Column Name", ["Nome Colonna"]);
|
|
18
|
-
super.set("en->it", "Columns Order", ["Ordine Colonne"]);
|
|
19
|
-
super.set("en->it", "Columns Visibility", ["Visibilità Colonne"]);
|
|
20
|
-
super.set("en->it", "There are no columns configured to be hidden/shown in this view", ["Non ci sono colonne configurate per essere visualizzate/nascoste in questa vista dati"]);
|
|
21
|
-
super.set("en->it", "Columns Visibility and Order", ["Visibilità e Ordine Colonne"]);
|
|
22
|
-
super.set("en->it", "Objects Selected", ["Oggetti Selezionati"]);
|
|
23
|
-
super.set("en->it", "Object Selected", ["Oggetto Selezionato"]);
|
|
24
|
-
super.set("en->it", "Select Everything", ["Seleziona Tutto"]);
|
|
25
|
-
super.set("en->it", "Reset Selection", ["Resetta Selezione"]);
|
|
26
|
-
super.set("en->it", "No operations available", ["Nessuna operazione disponibile"]);
|
|
27
|
-
super.set("en->it", "Paging options are not available for this report", ["Le opzioni di paginazione non sono disponibili per questo report"]);
|
|
28
|
-
}
|
|
29
|
-
}
|
|
30
|
-
EsTableLoc.decorators = [
|
|
31
|
-
{ type: Injectable }
|
|
32
|
-
];
|
|
33
|
-
EsTableLoc.ctorParameters = () => [
|
|
34
|
-
{ type: String, decorators: [{ type: Optional }, { type: Inject, args: [EST_LOCALE,] }] }
|
|
35
|
-
];
|
|
36
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXNfdGFibGUuY29tcG9uZW50LmxvYy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL2VzLXRhYmxlL3NyYy9saWIvZXNfdGFibGUuY29tcG9uZW50LmxvYy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDN0QsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDOUQsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLFVBQVUsQ0FBQztBQUV0Qzs7R0FFRztBQUVILE1BQU0sT0FBTyxVQUFXLFNBQVEsbUJBQW1CO0lBRS9DOztPQUVHO0lBQ0gsWUFBNEMsVUFBa0I7UUFDMUQsS0FBSyxDQUFDLFVBQVUsYUFBVixVQUFVLGNBQVYsVUFBVSxHQUFJLE9BQU8sQ0FBQyxDQUFDO1FBRTdCLEtBQUssQ0FBQyxHQUFHLENBQUMsUUFBUSxFQUFFLDRCQUE0QixFQUFFLENBQUMsMEJBQTBCLENBQUMsQ0FBQyxDQUFDO1FBQ2hGLEtBQUssQ0FBQyxHQUFHLENBQUMsUUFBUSxFQUFFLGNBQWMsRUFBRSxDQUFDLGVBQWUsQ0FBQyxDQUFDLENBQUM7UUFDdkQsS0FBSyxDQUFDLEdBQUcsQ0FBQyxRQUFRLEVBQUUsVUFBVSxFQUFFLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQztRQUMvQyxLQUFLLENBQUMsR0FBRyxDQUFDLFFBQVEsRUFBRSxhQUFhLEVBQUUsQ0FBQyxlQUFlLENBQUMsQ0FBQyxDQUFDO1FBQ3RELEtBQUssQ0FBQyxHQUFHLENBQUMsUUFBUSxFQUFFLGFBQWEsRUFBRSxDQUFDLGNBQWMsQ0FBQyxDQUFDLENBQUM7UUFDckQsS0FBSyxDQUFDLEdBQUcsQ0FBQyxRQUFRLEVBQUUsZUFBZSxFQUFFLENBQUMsZ0JBQWdCLENBQUMsQ0FBQyxDQUFDO1FBQ3pELEtBQUssQ0FBQyxHQUFHLENBQUMsUUFBUSxFQUFFLG9CQUFvQixFQUFFLENBQUMsb0JBQW9CLENBQUMsQ0FBQyxDQUFDO1FBQ2xFLEtBQUssQ0FBQyxHQUFHLENBQUMsUUFBUSxFQUFFLGlFQUFpRSxFQUFFLENBQUMsdUZBQXVGLENBQUMsQ0FBQyxDQUFDO1FBQ2xMLEtBQUssQ0FBQyxHQUFHLENBQUMsUUFBUSxFQUFFLDhCQUE4QixFQUFFLENBQUMsNkJBQTZCLENBQUMsQ0FBQyxDQUFDO1FBQ3JGLEtBQUssQ0FBQyxHQUFHLENBQUMsUUFBUSxFQUFFLGtCQUFrQixFQUFFLENBQUMscUJBQXFCLENBQUMsQ0FBQyxDQUFDO1FBQ2pFLEtBQUssQ0FBQyxHQUFHLENBQUMsUUFBUSxFQUFFLGlCQUFpQixFQUFFLENBQUMscUJBQXFCLENBQUMsQ0FBQyxDQUFDO1FBQ2hFLEtBQUssQ0FBQyxHQUFHLENBQUMsUUFBUSxFQUFFLG1CQUFtQixFQUFFLENBQUMsaUJBQWlCLENBQUMsQ0FBQyxDQUFDO1FBQzlELEtBQUssQ0FBQyxHQUFHLENBQUMsUUFBUSxFQUFFLGlCQUFpQixFQUFFLENBQUMsbUJBQW1CLENBQUMsQ0FBQyxDQUFDO1FBQzlELEtBQUssQ0FBQyxHQUFHLENBQUMsUUFBUSxFQUFFLHlCQUF5QixFQUFFLENBQUMsZ0NBQWdDLENBQUMsQ0FBQyxDQUFDO1FBQ25GLEtBQUssQ0FBQyxHQUFHLENBQUMsUUFBUSxFQUFFLGtEQUFrRCxFQUFFLENBQUMsa0VBQWtFLENBQUMsQ0FBQyxDQUFDO0lBQ2xKLENBQUM7OztZQXhCSixVQUFVOzs7eUNBTU0sUUFBUSxZQUFJLE1BQU0sU0FBQyxVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSwgSW5qZWN0LCBPcHRpb25hbCB9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XHJcbmltcG9ydCB7IExvY2FsaXphdGlvblNlcnZpY2UgfSBmcm9tIFwiQGVzZmFlbnphL2xvY2FsaXphdGlvbnNcIjtcclxuaW1wb3J0IHsgRVNUX0xPQ0FMRSB9IGZyb20gJy4vdG9rZW5zJztcclxuXHJcbi8qKlxyXG4gKiBDbGFzc2UgZGkgbG9jYWxpenphemlvbmUgcGVyIGlsIGNvbXBvbmVudGUgKipFc1RhYmxlQ29tcG9uZW50KipcclxuICovXHJcbkBJbmplY3RhYmxlKClcclxuZXhwb3J0IGNsYXNzIEVzVGFibGVMb2MgZXh0ZW5kcyBMb2NhbGl6YXRpb25TZXJ2aWNlIHtcclxuXHJcbiAgICAvKipcclxuICAgICAqIEBpZ25vcmVcclxuICAgICAqL1xyXG4gICAgY29uc3RydWN0b3IoQE9wdGlvbmFsKCkgQEluamVjdChFU1RfTE9DQUxFKSBMT0NfTE9DQUxFOiBzdHJpbmcpIHsgICBcclxuICAgICAgICBzdXBlcihMT0NfTE9DQUxFID8/ICdpdC1JVCcpO1xyXG4gICAgICAgIFxyXG4gICAgICAgIHN1cGVyLnNldChcImVuLT5pdFwiLCBcIlBlcmZvcm1pbmcgVGFibGUgYm9vdHN0cmFwXCIsIFtcIlN0byBjYXJpY2FuZG8gbGEgVGFiZWxsYVwiXSk7XHJcbiAgICAgICAgc3VwZXIuc2V0KFwiZW4tPml0XCIsIFwiVXBkYXRlIGV2ZXJ5XCIsIFtcIkFnZ2lvcm5hIG9nbmlcIl0pO1xyXG4gICAgICAgIHN1cGVyLnNldChcImVuLT5pdFwiLCBcInNlY29uZC9zXCIsIFtcInNlY29uZG8vaVwiXSk7XHJcbiAgICAgICAgc3VwZXIuc2V0KFwiZW4tPml0XCIsIFwiRXhwb3J0IFZpZXdcIiwgW1wiRXNwb3J0YSBWaXN0YVwiXSk7XHJcbiAgICAgICAgc3VwZXIuc2V0KFwiZW4tPml0XCIsIFwiQ29sdW1uIE5hbWVcIiwgW1wiTm9tZSBDb2xvbm5hXCJdKTtcclxuICAgICAgICBzdXBlci5zZXQoXCJlbi0+aXRcIiwgXCJDb2x1bW5zIE9yZGVyXCIsIFtcIk9yZGluZSBDb2xvbm5lXCJdKTtcclxuICAgICAgICBzdXBlci5zZXQoXCJlbi0+aXRcIiwgXCJDb2x1bW5zIFZpc2liaWxpdHlcIiwgW1wiVmlzaWJpbGl0w6AgQ29sb25uZVwiXSk7XHJcbiAgICAgICAgc3VwZXIuc2V0KFwiZW4tPml0XCIsIFwiVGhlcmUgYXJlIG5vIGNvbHVtbnMgY29uZmlndXJlZCB0byBiZSBoaWRkZW4vc2hvd24gaW4gdGhpcyB2aWV3XCIsIFtcIk5vbiBjaSBzb25vIGNvbG9ubmUgY29uZmlndXJhdGUgcGVyIGVzc2VyZSB2aXN1YWxpenphdGUvbmFzY29zdGUgaW4gcXVlc3RhIHZpc3RhIGRhdGlcIl0pO1xyXG4gICAgICAgIHN1cGVyLnNldChcImVuLT5pdFwiLCBcIkNvbHVtbnMgVmlzaWJpbGl0eSBhbmQgT3JkZXJcIiwgW1wiVmlzaWJpbGl0w6AgZSBPcmRpbmUgQ29sb25uZVwiXSk7XHJcbiAgICAgICAgc3VwZXIuc2V0KFwiZW4tPml0XCIsIFwiT2JqZWN0cyBTZWxlY3RlZFwiLCBbXCJPZ2dldHRpIFNlbGV6aW9uYXRpXCJdKTtcclxuICAgICAgICBzdXBlci5zZXQoXCJlbi0+aXRcIiwgXCJPYmplY3QgU2VsZWN0ZWRcIiwgW1wiT2dnZXR0byBTZWxlemlvbmF0b1wiXSk7XHJcbiAgICAgICAgc3VwZXIuc2V0KFwiZW4tPml0XCIsIFwiU2VsZWN0IEV2ZXJ5dGhpbmdcIiwgW1wiU2VsZXppb25hIFR1dHRvXCJdKTtcclxuICAgICAgICBzdXBlci5zZXQoXCJlbi0+aXRcIiwgXCJSZXNldCBTZWxlY3Rpb25cIiwgW1wiUmVzZXR0YSBTZWxlemlvbmVcIl0pO1xyXG4gICAgICAgIHN1cGVyLnNldChcImVuLT5pdFwiLCBcIk5vIG9wZXJhdGlvbnMgYXZhaWxhYmxlXCIsIFtcIk5lc3N1bmEgb3BlcmF6aW9uZSBkaXNwb25pYmlsZVwiXSk7XHJcbiAgICAgICAgc3VwZXIuc2V0KFwiZW4tPml0XCIsIFwiUGFnaW5nIG9wdGlvbnMgYXJlIG5vdCBhdmFpbGFibGUgZm9yIHRoaXMgcmVwb3J0XCIsIFtcIkxlIG9wemlvbmkgZGkgcGFnaW5hemlvbmUgbm9uIHNvbm8gZGlzcG9uaWJpbGkgcGVyIHF1ZXN0byByZXBvcnRcIl0pO1xyXG4gICAgfVxyXG59Il19
|
|
@@ -1,121 +0,0 @@
|
|
|
1
|
-
//Angular
|
|
2
|
-
import { Component, Input, Renderer2, ElementRef, ViewContainerRef, ChangeDetectionStrategy } from "@angular/core";
|
|
3
|
-
import { DomSanitizer } from '@angular/platform-browser';
|
|
4
|
-
/**
|
|
5
|
-
* Componente rappresentante una singola cella del body della tabella
|
|
6
|
-
*/
|
|
7
|
-
export class EsTd {
|
|
8
|
-
/**
|
|
9
|
-
* @ignore
|
|
10
|
-
*/
|
|
11
|
-
constructor(myself, renderer, _viewContainer, sanitizer) {
|
|
12
|
-
this.myself = myself;
|
|
13
|
-
this.renderer = renderer;
|
|
14
|
-
this._viewContainer = _viewContainer;
|
|
15
|
-
this.sanitizer = sanitizer;
|
|
16
|
-
/**
|
|
17
|
-
* Id della cella, dev'essere lo stesso della colonna **EsTh** relativa
|
|
18
|
-
*/
|
|
19
|
-
this.ID = "";
|
|
20
|
-
/**
|
|
21
|
-
* Valore da mostrare all'interno della cella. Se omesso verrà proiettato il contenuto dal template in cui è stata usata
|
|
22
|
-
*/
|
|
23
|
-
this.Display = null;
|
|
24
|
-
/**
|
|
25
|
-
* Template Angular da istanziare per questo TD
|
|
26
|
-
*/
|
|
27
|
-
this.Template = null;
|
|
28
|
-
}
|
|
29
|
-
/**
|
|
30
|
-
* Imposta la visibilità o meno della cella, si traduce nell'applicazione o rimozione della classe **app-display-none**
|
|
31
|
-
*
|
|
32
|
-
* @param {boolean} expression Indicazione della visibilità
|
|
33
|
-
*/
|
|
34
|
-
set Visible(expression) {
|
|
35
|
-
this._Visible = expression;
|
|
36
|
-
if (expression)
|
|
37
|
-
this.renderer.removeClass(this.myself.nativeElement, "app-display-none");
|
|
38
|
-
else
|
|
39
|
-
this.renderer.addClass(this.myself.nativeElement, "app-display-none");
|
|
40
|
-
}
|
|
41
|
-
/**
|
|
42
|
-
* Restituisce lo stato di Visibilità della cella in oggetto
|
|
43
|
-
*
|
|
44
|
-
* @returns {boolean} **true** se visibile, **false** altrimenti
|
|
45
|
-
*/
|
|
46
|
-
get Visible() {
|
|
47
|
-
if (this._Visible == undefined)
|
|
48
|
-
this._Visible = true;
|
|
49
|
-
return this._Visible;
|
|
50
|
-
}
|
|
51
|
-
/**
|
|
52
|
-
* @ignore
|
|
53
|
-
*/
|
|
54
|
-
ngAfterViewInit() {
|
|
55
|
-
// Se è Internal significa che è gestita internamente da ES-TABLE quindi evito di fare sti due passaggi di lettura del DOM
|
|
56
|
-
if (this.Internal)
|
|
57
|
-
return;
|
|
58
|
-
// NGBUG: (<any>this._viewContainer)._view non esiste più in IVY: https://stackoverflow.com/questions/60398827/getting-the-context-of-the-template-inside-of-which-my-component-has-been-render
|
|
59
|
-
let vc = this._viewContainer;
|
|
60
|
-
let context;
|
|
61
|
-
// Primo giro di recupero del contesto, supponendo di non avere a che fare col compilatore IVY
|
|
62
|
-
if (vc._view == null)
|
|
63
|
-
context = null;
|
|
64
|
-
else if (vc._view.parent && !vc._view.context.$implicit && vc._view.parent.context && vc._view.parent.context.$implicit)
|
|
65
|
-
context = vc._view.parent.context.$implicit;
|
|
66
|
-
else if (vc._view.context && vc._view.context.ngIf)
|
|
67
|
-
context = vc._view.viewContainerParent.context.$implicit;
|
|
68
|
-
else
|
|
69
|
-
context = vc._view.context.$implicit;
|
|
70
|
-
// Se non ho ancora trovato il contesto probabilmente sono in IVY e devo fare dei lookup un po' incasinati per beccarlo
|
|
71
|
-
if (context == null) {
|
|
72
|
-
var array = this._viewContainer._hostLView;
|
|
73
|
-
for (let i = 0; i < array.length; i++) {
|
|
74
|
-
let item = array[i];
|
|
75
|
-
if (item && item.$implicit && !item.ngIf) {
|
|
76
|
-
context = item.$implicit;
|
|
77
|
-
break;
|
|
78
|
-
}
|
|
79
|
-
// Second level search for the real context in case the first one we find is an ngIf
|
|
80
|
-
if (item && item.length && item.length > 0) {
|
|
81
|
-
for (let ii = 0; ii < item.length; ii++) {
|
|
82
|
-
let iitem = item[ii];
|
|
83
|
-
if (iitem && iitem.$implicit && !iitem.ngIf) {
|
|
84
|
-
context = iitem.$implicit;
|
|
85
|
-
break;
|
|
86
|
-
}
|
|
87
|
-
}
|
|
88
|
-
}
|
|
89
|
-
if (context)
|
|
90
|
-
break;
|
|
91
|
-
}
|
|
92
|
-
}
|
|
93
|
-
// Calcolato dalla ES-table in fase di binding
|
|
94
|
-
let hash = context.hash;
|
|
95
|
-
this.Context = hash;
|
|
96
|
-
this.Content = this.Display === null || this.Display === "" ? this.sanitizer.bypassSecurityTrustHtml(this.myself.nativeElement.innerHTML) : this.sanitizer.bypassSecurityTrustHtml(this.Display);
|
|
97
|
-
this.Class = this.myself.nativeElement.className.replace("app-display-none", "");
|
|
98
|
-
}
|
|
99
|
-
}
|
|
100
|
-
EsTd.decorators = [
|
|
101
|
-
{ type: Component, args: [{
|
|
102
|
-
selector: "[es-td]",
|
|
103
|
-
template: "<span>\r\n <ng-content></ng-content>\r\n</span>",
|
|
104
|
-
changeDetection: ChangeDetectionStrategy.OnPush
|
|
105
|
-
},] }
|
|
106
|
-
];
|
|
107
|
-
EsTd.ctorParameters = () => [
|
|
108
|
-
{ type: ElementRef },
|
|
109
|
-
{ type: Renderer2 },
|
|
110
|
-
{ type: ViewContainerRef },
|
|
111
|
-
{ type: DomSanitizer }
|
|
112
|
-
];
|
|
113
|
-
EsTd.propDecorators = {
|
|
114
|
-
ID: [{ type: Input, args: ['es-td',] }],
|
|
115
|
-
Internal: [{ type: Input }],
|
|
116
|
-
RouterLink: [{ type: Input }],
|
|
117
|
-
Display: [{ type: Input }],
|
|
118
|
-
Template: [{ type: Input }],
|
|
119
|
-
Visible: [{ type: Input }]
|
|
120
|
-
};
|
|
121
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXNfdGQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvZXMtdGFibGUvc3JjL2xpYi9lc190ZC5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsU0FBUztBQUNULE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLFNBQVMsRUFBRSxVQUFVLEVBQUUsZ0JBQWdCLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDbkgsT0FBTyxFQUFFLFlBQVksRUFBWSxNQUFNLDJCQUEyQixDQUFDO0FBRW5FOztHQUVHO0FBTUgsTUFBTSxPQUFPLElBQUk7SUErQ2I7O09BRUc7SUFDSCxZQUFvQixNQUFrQixFQUFVLFFBQW1CLEVBQVUsY0FBZ0MsRUFBWSxTQUF1QjtRQUE1SCxXQUFNLEdBQU4sTUFBTSxDQUFZO1FBQVUsYUFBUSxHQUFSLFFBQVEsQ0FBVztRQUFVLG1CQUFjLEdBQWQsY0FBYyxDQUFrQjtRQUFZLGNBQVMsR0FBVCxTQUFTLENBQWM7UUFoRGhKOztXQUVHO1FBQ2EsT0FBRSxHQUFXLEVBQUUsQ0FBQztRQVloQzs7V0FFRztRQUNNLFlBQU8sR0FBWSxJQUFJLENBQUM7UUFFakM7O1dBRUc7UUFDTSxhQUFRLEdBQVMsSUFBSSxDQUFDO0lBeUJxSCxDQUFDO0lBRXJKOzs7O09BSUc7SUFDSCxJQUFhLE9BQU8sQ0FBQyxVQUFtQjtRQUNwQyxJQUFJLENBQUMsUUFBUSxHQUFHLFVBQVUsQ0FBQztRQUUzQixJQUFJLFVBQVU7WUFDVixJQUFJLENBQUMsUUFBUSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLGFBQWEsRUFBRSxrQkFBa0IsQ0FBQyxDQUFDOztZQUV6RSxJQUFJLENBQUMsUUFBUSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLGFBQWEsRUFBRSxrQkFBa0IsQ0FBQyxDQUFDO0lBQzlFLENBQUM7SUFFRDs7OztPQUlH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Q0FBQyx1QkFBdUIsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUM7UUFDak0sSUFBSSxDQUFDLEtBQUssR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLGFBQWEsQ0FBQyxTQUFTLENBQUMsT0FBTyxDQUFDLGtCQUFrQixFQUFFLEVBQUUsQ0FBQyxDQUFDO0lBQ3JGLENBQUM7OztZQTFJSixTQUFTLFNBQUM7Z0JBQ1AsUUFBUSxFQUFFLFNBQVM7Z0JBQ25CLDhEQUFxQztnQkFDckMsZUFBZSxFQUFFLHVCQUF1QixDQUFDLE1BQU07YUFDbEQ7OztZQVZxQyxVQUFVO1lBQXJCLFNBQVM7WUFBYyxnQkFBZ0I7WUFDekQsWUFBWTs7O2lCQWVoQixLQUFLLFNBQUMsT0FBTzt1QkFLYixLQUFLO3lCQUtMLEtBQUs7c0JBS0wsS0FBSzt1QkFLTCxLQUFLO3NCQWdDTCxLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiLy9Bbmd1bGFyXHJcbmltcG9ydCB7IENvbXBvbmVudCwgSW5wdXQsIFJlbmRlcmVyMiwgRWxlbWVudFJlZiwgVmlld0NvbnRhaW5lclJlZiwgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kgfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xyXG5pbXBvcnQgeyBEb21TYW5pdGl6ZXIsIFNhZmVIdG1sIH0gZnJvbSAnQGFuZ3VsYXIvcGxhdGZvcm0tYnJvd3Nlcic7XHJcblxyXG4vKipcclxuICogQ29tcG9uZW50ZSByYXBwcmVzZW50YW50ZSB1bmEgc2luZ29sYSBjZWxsYSBkZWwgYm9keSBkZWxsYSB0YWJlbGxhXHJcbiAqL1xyXG5AQ29tcG9uZW50KHtcclxuICAgIHNlbGVjdG9yOiBcIltlcy10ZF1cIixcclxuICAgIHRlbXBsYXRlVXJsOiBcIi4vZXNfdGQuY29tcG9uZW50Lmh0bWxcIixcclxuICAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBFc1RkIHtcclxuICAgIFxyXG4gICAgLyoqXHJcbiAgICAgKiBJZCBkZWxsYSBjZWxsYSwgZGV2J2Vzc2VyZSBsbyBzdGVzc28gZGVsbGEgY29sb25uYSAqKkVzVGgqKiByZWxhdGl2YVxyXG4gICAgICovXHJcbiAgICBASW5wdXQoJ2VzLXRkJykgSUQ6IHN0cmluZyA9IFwiXCI7XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBJbmRpY2Egc2Ugw6ggdW5hIGNlbGxhIGludGVybmEgKHJpZ2VuZXJhdGEgcHJvZ3JhbW1hdGljYW1lbnRlKSBvIG5vXHJcbiAgICAgKi9cclxuICAgIEBJbnB1dCgpIEludGVybmFsPzogYm9vbGVhbjtcclxuXHJcbiAgICAvKipcclxuICAgICAqIFJvdXRlckxpbmsgcXVhbG9yYSBpbCBjbGljayBzdSBxdWVzdGEgY2VsbGEgZGViYmEgbmF2aWdhcmUgZGEgcXVhbGNoZSBwYXJ0ZVxyXG4gICAgICovXHJcbiAgICBASW5wdXQoKSBSb3V0ZXJMaW5rPzogYW55O1xyXG5cclxuICAgIC8qKlxyXG4gICAgICogVmFsb3JlIGRhIG1vc3RyYXJlIGFsbCdpbnRlcm5vIGRlbGxhIGNlbGxhLiBTZSBvbWVzc28gdmVycsOgIHByb2lldHRhdG8gaWwgY29udGVudXRvIGRhbCB0ZW1wbGF0ZSBpbiBjdWkgw6ggc3RhdGEgdXNhdGFcclxuICAgICAqL1xyXG4gICAgQElucHV0KCkgRGlzcGxheT86IHN0cmluZyA9IG51bGw7XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBUZW1wbGF0ZSBBbmd1bGFyIGRhIGlzdGFuemlhcmUgcGVyIHF1ZXN0byBURFxyXG4gICAgICovXHJcbiAgICBASW5wdXQoKSBUZW1wbGF0ZT86IGFueSA9IG51bGw7XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBDbGFzc2kgZGEgYXBwbGljYXJlIGFsbGEgY2VsbGFcclxuICAgICAqL1xyXG4gICAgcHVibGljIENsYXNzPzogc3RyaW5nO1xyXG5cclxuICAgIC8qKlxyXG4gICAgICogQ29udGVudXRvIGRhIG1vc3RyYXJlIHByb2lldHRhdG8gZGFsIGNvbXBvbmVudGUgcGFkcmVcclxuICAgICAqL1xyXG4gICAgcHVibGljIENvbnRlbnQ/OiBTYWZlSHRtbDtcclxuXHJcbiAgICAvKipcclxuICAgICAqIENvbnRlc3RvIGRlbGwnb2dnZXR0byBhIGN1aSBzaSByaWZlcmlzY2UgaWwgZGF0byB2aXN1YWxpenphdG8uIENvbnRpZW5lIGwnaGFzaCBkZWxsJ29nZ2V0dG8gaW4gcXVlc3Rpb25lXHJcbiAgICAgKi9cclxuICAgIHB1YmxpYyBDb250ZXh0OiBzdHJpbmc7XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBJbmRpY2F6aW9uaSBzdWxsYSB2aXNpYmlsaXTDoCBkZWxsYSBjZWxsYVxyXG4gICAgICovXHJcbiAgICBwcml2YXRlIF9WaXNpYmxlPzogYm9vbGVhbjtcclxuXHJcbiAgICAvKipcclxuICAgICAqIEBpZ25vcmVcclxuICAgICAqL1xyXG4gICAgY29uc3RydWN0b3IocHJpdmF0ZSBteXNlbGY6IEVsZW1lbnRSZWYsIHByaXZhdGUgcmVuZGVyZXI6IFJlbmRlcmVyMiwgcHJpdmF0ZSBfdmlld0NvbnRhaW5lcjogVmlld0NvbnRhaW5lclJlZiwgcHJvdGVjdGVkIHNhbml0aXplcjogRG9tU2FuaXRpemVyKSB7IH1cclxuXHJcbiAgICAvKipcclxuICAgICAqIEltcG9zdGEgbGEgdmlzaWJpbGl0w6AgbyBtZW5vIGRlbGxhIGNlbGxhLCBzaSB0cmFkdWNlIG5lbGwnYXBwbGljYXppb25lIG8gcmltb3ppb25lIGRlbGxhIGNsYXNzZSAqKmFwcC1kaXNwbGF5LW5vbmUqKlxyXG4gICAgICogXHJcbiAgICAgKiBAcGFyYW0ge2Jvb2xlYW59IGV4cHJlc3Npb24gSW5kaWNhemlvbmUgZGVsbGEgdmlzaWJpbGl0w6BcclxuICAgICAqL1xyXG4gICAgQElucHV0KCkgc2V0IFZpc2libGUoZXhwcmVzc2lvbjogYm9vbGVhbikge1xyXG4gICAgICAgIHRoaXMuX1Zpc2libGUgPSBleHByZXNzaW9uO1xyXG5cclxuICAgICAgICBpZiAoZXhwcmVzc2lvbilcclxuICAgICAgICAgICAgdGhpcy5yZW5kZXJlci5yZW1vdmVDbGFzcyh0aGlzLm15c2VsZi5uYXRpdmVFbGVtZW50LCBcImFwcC1kaXNwbGF5LW5vbmVcIik7XHJcbiAgICAgICAgZWxzZVxyXG4gICAgICAgICAgICB0aGlzLnJlbmRlcmVyLmFkZENsYXNzKHRoaXMubXlzZWxmLm5hdGl2ZUVsZW1lbnQsIFwiYXBwLWRpc3BsYXktbm9uZVwiKTtcclxuICAgIH1cclxuXHJcbiAgICAvKipcclxuICAgICAqIFJlc3RpdHVpc2NlIGxvIHN0YXRvIGRpIFZpc2liaWxpdMOgIGRlbGxhIGNlbGxhIGluIG9nZ2V0dG9cclxuICAgICAqIFxyXG4gICAgICogQHJldHVybnMge2Jvb2xlYW59ICoqdHJ1ZSoqIHNlIHZpc2liaWxlLCAqKmZhbHNlKiogYWx0cmltZW50aVxyXG4gICAgICovXHJcbiAgICBnZXQgVmlzaWJsZSgpOiBib29sZWFuIHtcclxuICAgICAgICBpZiAodGhpcy5fVmlzaWJsZSA9PSB1bmRlZmluZWQpXHJcbiAgICAgICAgICAgIHRoaXMuX1Zpc2libGUgPSB0cnVlO1xyXG5cclxuICAgICAgICByZXR1cm4gdGhpcy5fVmlzaWJsZTtcclxuICAgIH1cclxuXHJcbiAgICAvKipcclxuICAgICAqIEBpZ25vcmVcclxuICAgICAqL1xyXG4gICAgbmdBZnRlclZpZXdJbml0KCkge1xyXG4gICAgICAgIC8vIFNlIMOoIEludGVybmFsIHNpZ25pZmljYSBjaGUgw6ggZ2VzdGl0YSBpbnRlcm5hbWVudGUgZGEgRVMtVEFCTEUgcXVpbmRpIGV2aXRvIGRpIGZhcmUgc3RpIGR1ZSBwYXNzYWdnaSBkaSBsZXR0dXJhIGRlbCBET01cclxuICAgICAgICBpZiAodGhpcy5JbnRlcm5hbClcclxuICAgICAgICAgICAgcmV0dXJuO1xyXG5cclxuICAgICAgICAvLyBOR0JVRzogKDxhbnk+dGhpcy5fdmlld0NvbnRhaW5lcikuX3ZpZXcgbm9uIGVzaXN0ZSBwacO5IGluIElWWTogaHR0cHM6Ly9zdGFja292ZXJmbG93LmNvbS9xdWVzdGlvbnMvNjAzOTg4MjcvZ2V0dGluZy10aGUtY29udGV4dC1vZi10aGUtdGVtcGxhdGUtaW5zaWRlLW9mLXdoaWNoLW15LWNvbXBvbmVudC1oYXMtYmVlbi1yZW5kZXJcclxuICAgICAgICBsZXQgdmMgPSAoPGFueT50aGlzLl92aWV3Q29udGFpbmVyKTtcclxuXHJcbiAgICAgICAgbGV0IGNvbnRleHQ7XHJcbiAgICAgICAgLy8gUHJpbW8gZ2lybyBkaSByZWN1cGVybyBkZWwgY29udGVzdG8sIHN1cHBvbmVuZG8gZGkgbm9uIGF2ZXJlIGEgY2hlIGZhcmUgY29sIGNvbXBpbGF0b3JlIElWWVxyXG4gICAgICAgIGlmICh2Yy5fdmlldyA9PSBudWxsKVxyXG4gICAgICAgICAgICBjb250ZXh0ID0gbnVsbDtcclxuICAgICAgICBlbHNlIGlmICh2Yy5fdmlldy5wYXJlbnQgJiYgIXZjLl92aWV3LmNvbnRleHQuJGltcGxpY2l0ICYmIHZjLl92aWV3LnBhcmVudC5jb250ZXh0ICYmIHZjLl92aWV3LnBhcmVudC5jb250ZXh0LiRpbXBsaWNpdClcclxuICAgICAgICAgICAgY29udGV4dCA9IHZjLl92aWV3LnBhcmVudC5jb250ZXh0LiRpbXBsaWNpdDtcclxuICAgICAgICBlbHNlIGlmICh2Yy5fdmlldy5jb250ZXh0ICYmIHZjLl92aWV3LmNvbnRleHQubmdJZilcclxuICAgICAgICAgICAgY29udGV4dCA9IHZjLl92aWV3LnZpZXdDb250YWluZXJQYXJlbnQuY29udGV4dC4kaW1wbGljaXQ7XHJcbiAgICAgICAgZWxzZVxyXG4gICAgICAgICAgICBjb250ZXh0ID0gdmMuX3ZpZXcuY29udGV4dC4kaW1wbGljaXQ7XHJcblxyXG4gICAgICAgIC8vIFNlIG5vbiBobyBhbmNvcmEgdHJvdmF0byBpbCBjb250ZXN0byBwcm9iYWJpbG1lbnRlIHNvbm8gaW4gSVZZIGUgZGV2byBmYXJlIGRlaSBsb29rdXAgdW4gcG8nIGluY2FzaW5hdGkgcGVyIGJlY2NhcmxvXHJcbiAgICAgICAgaWYgKGNvbnRleHQgPT0gbnVsbCkge1xyXG4gICAgICAgICAgICB2YXIgYXJyYXkgPSAoPGFueT50aGlzLl92aWV3Q29udGFpbmVyKS5faG9zdExWaWV3O1xyXG4gICAgICAgICAgICBmb3IgKGxldCBpID0gMDsgaSA8IGFycmF5Lmxlbmd0aDsgaSsrKSB7XHJcbiAgICAgICAgICAgICAgICBsZXQgaXRlbSA9IGFycmF5W2ldO1xyXG4gICAgICAgICAgICAgICAgaWYgKGl0ZW0gJiYgaXRlbS4kaW1wbGljaXQgJiYgIWl0ZW0ubmdJZikge1xyXG4gICAgICAgICAgICAgICAgICAgIGNvbnRleHQgPSBpdGVtLiRpbXBsaWNpdDtcclxuICAgICAgICAgICAgICAgICAgICBicmVhaztcclxuICAgICAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgICAgICAvLyBTZWNvbmQgbGV2ZWwgc2VhcmNoIGZvciB0aGUgcmVhbCBjb250ZXh0IGluIGNhc2UgdGhlIGZpcnN0IG9uZSB3ZSBmaW5kIGlzIGFuIG5nSWZcclxuICAgICAgICAgICAgICAgIGlmKGl0ZW0gJiYgaXRlbS5sZW5ndGggJiYgaXRlbS5sZW5ndGggPiAwKVxyXG4gICAgICAgICAgICAgICAge1xyXG4gICAgICAgICAgICAgICAgICAgIGZvciAobGV0IGlpID0gMDsgaWkgPCBpdGVtLmxlbmd0aDsgaWkrKykge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBsZXQgaWl0ZW0gPSBpdGVtW2lpXTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgaWYgKGlpdGVtICYmIGlpdGVtLiRpbXBsaWNpdCAmJiAhaWl0ZW0ubmdJZikge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY29udGV4dCA9IGlpdGVtLiRpbXBsaWNpdDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgICAgIGlmKGNvbnRleHQpXHJcbiAgICAgICAgICAgICAgICAgICAgYnJlYWs7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIC8vIENhbGNvbGF0byBkYWxsYSBFUy10YWJsZSBpbiBmYXNlIGRpIGJpbmRpbmdcclxuICAgICAgICBsZXQgaGFzaCA9IGNvbnRleHQuaGFzaDtcclxuXHJcbiAgICAgICAgdGhpcy5Db250ZXh0ID0gaGFzaDtcclxuICAgICAgICB0aGlzLkNvbnRlbnQgPSB0aGlzLkRpc3BsYXkgPT09IG51bGwgfHwgdGhpcy5EaXNwbGF5ID09PSBcIlwiID8gdGhpcy5zYW5pdGl6ZXIuYnlwYXNzU2VjdXJpdHlUcnVzdEh0bWwodGhpcy5teXNlbGYubmF0aXZlRWxlbWVudC5pbm5lckhUTUwpIDogdGhpcy5zYW5pdGl6ZXIuYnlwYXNzU2VjdXJpdHlUcnVzdEh0bWwodGhpcy5EaXNwbGF5KTtcclxuICAgICAgICB0aGlzLkNsYXNzID0gdGhpcy5teXNlbGYubmF0aXZlRWxlbWVudC5jbGFzc05hbWUucmVwbGFjZShcImFwcC1kaXNwbGF5LW5vbmVcIiwgXCJcIik7XHJcbiAgICB9XHJcbn0iXX0=
|
|
@@ -1,168 +0,0 @@
|
|
|
1
|
-
//Angular
|
|
2
|
-
import { Component, Input, Output, EventEmitter, ElementRef, ViewChild, Renderer2, HostListener, ChangeDetectionStrategy } from "@angular/core";
|
|
3
|
-
/**
|
|
4
|
-
* Componente rappresentante una Colonna della tabella
|
|
5
|
-
*/
|
|
6
|
-
export class EsTh {
|
|
7
|
-
/**
|
|
8
|
-
* @ignore
|
|
9
|
-
*/
|
|
10
|
-
constructor(myself, renderer) {
|
|
11
|
-
this.myself = myself;
|
|
12
|
-
this.renderer = renderer;
|
|
13
|
-
/**
|
|
14
|
-
* Dizionario di mappatura con ordinamento attuale e ordinamento successivo per gestire i passaggi di stato
|
|
15
|
-
*/
|
|
16
|
-
this.orderNext = { "NONE": "DESC", "DESC": "ASC", "ASC": null };
|
|
17
|
-
/**
|
|
18
|
-
* Indica se si sta effettuando un'operazione di resize su questa colonna
|
|
19
|
-
*/
|
|
20
|
-
this.resizingThis = false;
|
|
21
|
-
/**
|
|
22
|
-
* Storicizza l'offset di partenza del resize dell'elemento HTML per poter calcolare la nuova dimensione richiesta durente il resize
|
|
23
|
-
*
|
|
24
|
-
* nuova width = startOffset + posizione X del mouse
|
|
25
|
-
*/
|
|
26
|
-
this.startOffset = null;
|
|
27
|
-
/**
|
|
28
|
-
* Id della colonna, dev'essere lo stesso per tutti gli **EsTd** relativi
|
|
29
|
-
*/
|
|
30
|
-
this.ID = "";
|
|
31
|
-
/**
|
|
32
|
-
* Indica se questa colonna è ordinabile o meno
|
|
33
|
-
*/
|
|
34
|
-
this.Orderable = true;
|
|
35
|
-
/**
|
|
36
|
-
* Valore da mostrare all'interno della colonna. Se omesso verrà proiettato il contenuto dal template in cui è stata usata
|
|
37
|
-
*/
|
|
38
|
-
this.Display = "";
|
|
39
|
-
/**
|
|
40
|
-
* Indica se le dimnsioni di questa colonna sono modificabili o meno
|
|
41
|
-
*/
|
|
42
|
-
this.Resizable = false;
|
|
43
|
-
/**
|
|
44
|
-
* Indica se sta venendo eseguita una operazione di ricerca o meno, serve per evitare l'esecuzione di eventuale codice che potrebbe dare fastidio
|
|
45
|
-
* come ad esempio l'escuzione di un ordinamento durante il caricamento di dati nuovi
|
|
46
|
-
*/
|
|
47
|
-
this.SearchInProgress = false;
|
|
48
|
-
/**
|
|
49
|
-
* Evento emesso al cambio di ordinamento effettuato su questa colonna
|
|
50
|
-
*/
|
|
51
|
-
this.onOrderChange = new EventEmitter();
|
|
52
|
-
/**
|
|
53
|
-
* Impostato dall'**EsTable**, per controllare che ci sia almeno un TD che utilizzi quest'header
|
|
54
|
-
*/
|
|
55
|
-
this.Referenced = false;
|
|
56
|
-
}
|
|
57
|
-
/**
|
|
58
|
-
* Imposta la visibilità o meno della colonna, si traduce nell'applicazione o rimozione della classe **app-display-none**
|
|
59
|
-
*
|
|
60
|
-
* @param {boolean} expression Indicazione della visibilità
|
|
61
|
-
*/
|
|
62
|
-
set Visible(expression) {
|
|
63
|
-
this._Visible = expression;
|
|
64
|
-
if (expression)
|
|
65
|
-
this.renderer.removeClass(this.myself.nativeElement, "app-display-none");
|
|
66
|
-
else
|
|
67
|
-
this.renderer.addClass(this.myself.nativeElement, "app-display-none");
|
|
68
|
-
}
|
|
69
|
-
/**
|
|
70
|
-
* Restituisce lo stato di Visibilità della colonna in oggetto
|
|
71
|
-
*
|
|
72
|
-
* @returns {boolean} **true** se visibile, **false** altrimenti
|
|
73
|
-
*/
|
|
74
|
-
get Visible() {
|
|
75
|
-
if (this._Visible == undefined)
|
|
76
|
-
this._Visible = true;
|
|
77
|
-
return this._Visible;
|
|
78
|
-
}
|
|
79
|
-
/**
|
|
80
|
-
* @ignore
|
|
81
|
-
*/
|
|
82
|
-
ngAfterViewInit() {
|
|
83
|
-
//Assegnare direttamente il content è più veloce che passare dal native element per qualche motivo
|
|
84
|
-
this.Description = this.Display === null || this.Display === "" ? this.content.nativeElement.innerText : this.Display;
|
|
85
|
-
this.Class = this.myself.nativeElement.className.replace("app-display-none", "");
|
|
86
|
-
//Resize
|
|
87
|
-
if (this.Resizable)
|
|
88
|
-
this.renderer.addClass(this.myself.nativeElement, "app-relative");
|
|
89
|
-
}
|
|
90
|
-
/**
|
|
91
|
-
* Gestisce la modifica dell'ordinamento qualora venisse cliccato su questa colonna
|
|
92
|
-
*/
|
|
93
|
-
setupNextOrderAndNotify() {
|
|
94
|
-
if (!this.ID) {
|
|
95
|
-
console.log("Attempt to order a column without ID. Operation ignored");
|
|
96
|
-
return;
|
|
97
|
-
}
|
|
98
|
-
if (this.SearchInProgress) {
|
|
99
|
-
console.log("Attempt to order a column during a search. Operation ignored");
|
|
100
|
-
return;
|
|
101
|
-
}
|
|
102
|
-
if (!this.OrderBy || !this.Orderable)
|
|
103
|
-
return;
|
|
104
|
-
var nextOrder = this.orderNext[this.Order || "NONE"];
|
|
105
|
-
this.Order = nextOrder;
|
|
106
|
-
this.onOrderChange.emit(this.Order);
|
|
107
|
-
}
|
|
108
|
-
/**
|
|
109
|
-
* Evento di inizio resize della colonna
|
|
110
|
-
*
|
|
111
|
-
* @param {any} ev Evento MouseDown
|
|
112
|
-
*/
|
|
113
|
-
onResizeStart(ev) {
|
|
114
|
-
if (!this.Resizable)
|
|
115
|
-
return;
|
|
116
|
-
this.resizingThis = true;
|
|
117
|
-
this.startOffset = this.myself.nativeElement.offsetWidth - ev.pageX;
|
|
118
|
-
}
|
|
119
|
-
/**
|
|
120
|
-
* Listener per la fine dell'operazione di resize
|
|
121
|
-
*/
|
|
122
|
-
onMouseUp() {
|
|
123
|
-
if (!this.Resizable)
|
|
124
|
-
return;
|
|
125
|
-
this.resizingThis = false;
|
|
126
|
-
}
|
|
127
|
-
/**
|
|
128
|
-
* Listener per gestire il movimento del mouse qualora un'operazione di resize fosse in esecuzione
|
|
129
|
-
*
|
|
130
|
-
* @param {$event} ev Evento MouseMove
|
|
131
|
-
*/
|
|
132
|
-
onMouseMove($event) {
|
|
133
|
-
if (!this.Resizable || !this.resizingThis)
|
|
134
|
-
return;
|
|
135
|
-
//Uso jquery per non dover far partire un intero ciclo di change detection solo per fare un resize del cazzo
|
|
136
|
-
//(anche perché viene lanciato ogni 0.1 secondo quindi not a good idea)
|
|
137
|
-
this.myself.nativeElement.style.width = (this.startOffset + $event.pageX) + "px";
|
|
138
|
-
//Fermo il bubbling per non fare cose strane
|
|
139
|
-
$event.preventDefault();
|
|
140
|
-
}
|
|
141
|
-
}
|
|
142
|
-
EsTh.decorators = [
|
|
143
|
-
{ type: Component, args: [{
|
|
144
|
-
selector: "[es-th]",
|
|
145
|
-
template: "<span (click)=\"setupNextOrderAndNotify()\" [class.app-no-selection]=\"!!ID && Orderable\" [class.app-pointer]=\"!!ID && Orderable\">\r\n <span #content>\r\n <ng-content></ng-content>\r\n </span> \r\n <span class=\"fa\" [class.fa-chevron-down]=\"Order == 'DESC'\" [class.fa-chevron-up]=\"Order == 'ASC'\"></span>\r\n</span>\r\n<div [hidden]=\"!Resizable\" style=\"top:0; right:0; bottom: 0; width:2px; position:absolute; cursor:col-resize; background-color:#ccc\" (mousedown)=\"onResizeStart($event)\"></div>",
|
|
146
|
-
changeDetection: ChangeDetectionStrategy.OnPush
|
|
147
|
-
},] }
|
|
148
|
-
];
|
|
149
|
-
EsTh.ctorParameters = () => [
|
|
150
|
-
{ type: ElementRef },
|
|
151
|
-
{ type: Renderer2 }
|
|
152
|
-
];
|
|
153
|
-
EsTh.propDecorators = {
|
|
154
|
-
ID: [{ type: Input, args: ['es-th',] }],
|
|
155
|
-
Order: [{ type: Input }],
|
|
156
|
-
Orderable: [{ type: Input }],
|
|
157
|
-
Display: [{ type: Input }],
|
|
158
|
-
Resizable: [{ type: Input }],
|
|
159
|
-
Internal: [{ type: Input }],
|
|
160
|
-
SearchInProgress: [{ type: Input }],
|
|
161
|
-
OrderBy: [{ type: Input }],
|
|
162
|
-
onOrderChange: [{ type: Output }],
|
|
163
|
-
content: [{ type: ViewChild, args: ["content", { static: false },] }],
|
|
164
|
-
Visible: [{ type: Input }],
|
|
165
|
-
onMouseUp: [{ type: HostListener, args: ['window:mouseup.out-zone',] }],
|
|
166
|
-
onMouseMove: [{ type: HostListener, args: ['window:mousemove.out-zone', ['$event'],] }]
|
|
167
|
-
};
|
|
168
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXNfdGguY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvZXMtdGFibGUvc3JjL2xpYi9lc190aC5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsU0FBUztBQUNULE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxZQUFZLEVBQUUsVUFBVSxFQUFFLFNBQVMsRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLHVCQUF1QixFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRWhKOztHQUVHO0FBTUgsTUFBTSxPQUFPLElBQUk7SUEwRmI7O09BRUc7SUFDSCxZQUFvQixNQUFrQixFQUFVLFFBQW1CO1FBQS9DLFdBQU0sR0FBTixNQUFNLENBQVk7UUFBVSxhQUFRLEdBQVIsUUFBUSxDQUFXO1FBM0ZuRTs7V0FFRztRQUNLLGNBQVMsR0FBK0MsRUFBRSxNQUFNLEVBQUUsTUFBTSxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFFLElBQUksRUFBRSxDQUFDO1FBTy9HOztXQUVHO1FBQ0ssaUJBQVksR0FBWSxLQUFLLENBQUM7UUFFdEM7Ozs7V0FJRztRQUNLLGdCQUFXLEdBQVcsSUFBSSxDQUFDO1FBRW5DOztXQUVHO1FBQ2EsT0FBRSxHQUFXLEVBQUUsQ0FBQztRQU9oQzs7V0FFRztRQUNNLGNBQVMsR0FBWSxJQUFJLENBQUM7UUFFbkM7O1dBRUc7UUFDTSxZQUFPLEdBQVUsRUFBRSxDQUFDO1FBRTdCOztXQUVHO1FBQ00sY0FBUyxHQUFZLEtBQUssQ0FBQztRQU9wQzs7O1dBR0c7UUFDTSxxQkFBZ0IsR0FBWSxLQUFLLENBQUM7UUFPM0M7O1dBRUc7UUFDYyxrQkFBYSxHQUF3QyxJQUFJLFlBQVksRUFBeUIsQ0FBQztRQVloSDs7V0FFRztRQUNJLGVBQVUsR0FBWSxLQUFLLENBQUM7SUFVb0MsQ0FBQztJQUV4RTs7OztPQUlHO0lBQ0gsSUFBYSxPQUFPLENB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QUMsR0FBRyxJQUFJLENBQUM7UUFFakYsNENBQTRDO1FBQzVDLE1BQU0sQ0FBQyxjQUFjLEVBQUUsQ0FBQztJQUM1QixDQUFDOzs7WUE1TUosU0FBUyxTQUFDO2dCQUNQLFFBQVEsRUFBRSxTQUFTO2dCQUNuQiw2aEJBQXFDO2dCQUNyQyxlQUFlLEVBQUUsdUJBQXVCLENBQUMsTUFBTTthQUNsRDs7O1lBVGdELFVBQVU7WUFBYSxTQUFTOzs7aUJBcUM1RSxLQUFLLFNBQUMsT0FBTztvQkFLYixLQUFLO3dCQUtMLEtBQUs7c0JBS0wsS0FBSzt3QkFLTCxLQUFLO3VCQUtMLEtBQUs7K0JBTUwsS0FBSztzQkFLTCxLQUFLOzRCQUtMLE1BQU07c0JBS04sU0FBUyxTQUFDLFNBQVMsRUFBRSxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUU7c0JBMkJ0QyxLQUFLO3dCQTJFTCxZQUFZLFNBQUMseUJBQXlCOzBCQWF0QyxZQUFZLFNBQUMsMkJBQTJCLEVBQUUsQ0FBQyxRQUFRLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvL0FuZ3VsYXJcclxuaW1wb3J0IHsgQ29tcG9uZW50LCBJbnB1dCwgT3V0cHV0LCBFdmVudEVtaXR0ZXIsIEVsZW1lbnRSZWYsIFZpZXdDaGlsZCwgUmVuZGVyZXIyLCBIb3N0TGlzdGVuZXIsIENoYW5nZURldGVjdGlvblN0cmF0ZWd5IH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcclxuXHJcbi8qKlxyXG4gKiBDb21wb25lbnRlIHJhcHByZXNlbnRhbnRlIHVuYSBDb2xvbm5hIGRlbGxhIHRhYmVsbGFcclxuICovXHJcbkBDb21wb25lbnQoe1xyXG4gICAgc2VsZWN0b3I6IFwiW2VzLXRoXVwiLFxyXG4gICAgdGVtcGxhdGVVcmw6IFwiLi9lc190aC5jb21wb25lbnQuaHRtbFwiLFxyXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2hcclxufSlcclxuZXhwb3J0IGNsYXNzIEVzVGgge1xyXG5cclxuICAgIC8qKlxyXG4gICAgICogRGl6aW9uYXJpbyBkaSBtYXBwYXR1cmEgY29uIG9yZGluYW1lbnRvIGF0dHVhbGUgZSBvcmRpbmFtZW50byBzdWNjZXNzaXZvIHBlciBnZXN0aXJlIGkgcGFzc2FnZ2kgZGkgc3RhdG9cclxuICAgICAqL1xyXG4gICAgcHJpdmF0ZSBvcmRlck5leHQ6IHsgW2luZGV4OiBzdHJpbmddOiAnREVTQycgfCAnQVNDJyB8IG51bGwgfSA9IHsgXCJOT05FXCI6IFwiREVTQ1wiLCBcIkRFU0NcIjogXCJBU0NcIiwgXCJBU0NcIjogbnVsbCB9O1xyXG5cclxuICAgIC8qKlxyXG4gICAgICogSW5kaWNhemlvbmUgc3VsbGEgdmlzaWJpbGl0w6AgZGVsbGEgY29sb25uYVxyXG4gICAgICovXHJcbiAgICBwcml2YXRlIF9WaXNpYmxlOiBib29sZWFuO1xyXG5cclxuICAgIC8qKlxyXG4gICAgICogSW5kaWNhIHNlIHNpIHN0YSBlZmZldHR1YW5kbyB1bidvcGVyYXppb25lIGRpIHJlc2l6ZSBzdSBxdWVzdGEgY29sb25uYVxyXG4gICAgICovXHJcbiAgICBwcml2YXRlIHJlc2l6aW5nVGhpczogYm9vbGVhbiA9IGZhbHNlO1xyXG5cclxuICAgIC8qKlxyXG4gICAgICogU3RvcmljaXp6YSBsJ29mZnNldCBkaSBwYXJ0ZW56YSBkZWwgcmVzaXplIGRlbGwnZWxlbWVudG8gSFRNTCBwZXIgcG90ZXIgY2FsY29sYXJlIGxhIG51b3ZhIGRpbWVuc2lvbmUgcmljaGllc3RhIGR1cmVudGUgaWwgcmVzaXplIFxyXG4gICAgICogXHJcbiAgICAgKiBudW92YSB3aWR0aCA9IHN0YXJ0T2Zmc2V0ICsgcG9zaXppb25lIFggZGVsIG1vdXNlXHJcbiAgICAgKi9cclxuICAgIHByaXZhdGUgc3RhcnRPZmZzZXQ6IG51bWJlciA9IG51bGw7XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBJZCBkZWxsYSBjb2xvbm5hLCBkZXYnZXNzZXJlIGxvIHN0ZXNzbyBwZXIgdHV0dGkgZ2xpICoqRXNUZCoqIHJlbGF0aXZpXHJcbiAgICAgKi9cclxuICAgIEBJbnB1dCgnZXMtdGgnKSBJRDogc3RyaW5nID0gXCJcIjtcclxuXHJcbiAgICAvKipcclxuICAgICAqIE9yZGluYW1lbnRvIGF0dHVhbGUgZGVsbGEgY29sb25uYVxyXG4gICAgICovXHJcbiAgICBASW5wdXQoKSBPcmRlcj86ICdERVNDJyB8ICdBU0MnO1xyXG4gICAgXHJcbiAgICAvKipcclxuICAgICAqIEluZGljYSBzZSBxdWVzdGEgY29sb25uYSDDqCBvcmRpbmFiaWxlIG8gbWVub1xyXG4gICAgICovXHJcbiAgICBASW5wdXQoKSBPcmRlcmFibGU6IGJvb2xlYW4gPSB0cnVlO1xyXG5cclxuICAgIC8qKlxyXG4gICAgICogVmFsb3JlIGRhIG1vc3RyYXJlIGFsbCdpbnRlcm5vIGRlbGxhIGNvbG9ubmEuIFNlIG9tZXNzbyB2ZXJyw6AgcHJvaWV0dGF0byBpbCBjb250ZW51dG8gZGFsIHRlbXBsYXRlIGluIGN1aSDDqCBzdGF0YSB1c2F0YVxyXG4gICAgICovXHJcbiAgICBASW5wdXQoKSBEaXNwbGF5OiBzdHJpbmcgPVwiXCI7XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBJbmRpY2Egc2UgbGUgZGltbnNpb25pIGRpIHF1ZXN0YSBjb2xvbm5hIHNvbm8gbW9kaWZpY2FiaWxpIG8gbWVub1xyXG4gICAgICovXHJcbiAgICBASW5wdXQoKSBSZXNpemFibGU6IGJvb2xlYW4gPSBmYWxzZTtcclxuXHJcbiAgICAvKipcclxuICAgICAqIEluZGljYSBzZSDDqCB1bmEgY29sb25uYSBpbnRlcm5hIChyaWdlbmVyYXRhIHByb2dyYW1tYXRpY2FtZW50ZSkgbyBub1xyXG4gICAgICovXHJcbiAgICBASW5wdXQoKSBJbnRlcm5hbDogYm9vbGVhbjtcclxuXHJcbiAgICAvKipcclxuICAgICAqIEluZGljYSBzZSBzdGEgdmVuZW5kbyBlc2VndWl0YSB1bmEgb3BlcmF6aW9uZSBkaSByaWNlcmNhIG8gbWVubywgc2VydmUgcGVyIGV2aXRhcmUgbCdlc2VjdXppb25lIGRpIGV2ZW50dWFsZSBjb2RpY2UgY2hlIHBvdHJlYmJlIGRhcmUgZmFzdGlkaW8gXHJcbiAgICAgKiBjb21lIGFkIGVzZW1waW8gbCdlc2N1emlvbmUgZGkgdW4gb3JkaW5hbWVudG8gZHVyYW50ZSBpbCBjYXJpY2FtZW50byBkaSBkYXRpIG51b3ZpXHJcbiAgICAgKi9cclxuICAgIEBJbnB1dCgpIFNlYXJjaEluUHJvZ3Jlc3M6IGJvb2xlYW4gPSBmYWxzZTtcclxuXHJcbiAgICAvKipcclxuICAgICAqIEltcG9zdGF0byBkYWxsJyoqRXNUYWJsZSoqLCBzZXJ2ZSBwZXIgcGVybWV0dGVyZSBvIG1lbm8gZGkgZWZmZXR0dWFyZSBvcmRpbmFtZW50aSBkYXRpIHN1IHF1ZXN0YSBjb2xvbm5hXHJcbiAgICAgKi9cclxuICAgIEBJbnB1dCgpIE9yZGVyQnk6IGJvb2xlYW47XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBFdmVudG8gZW1lc3NvIGFsIGNhbWJpbyBkaSBvcmRpbmFtZW50byBlZmZldHR1YXRvIHN1IHF1ZXN0YSBjb2xvbm5hXHJcbiAgICAgKi9cclxuICAgIEBPdXRwdXQoKSBwdWJsaWMgb25PcmRlckNoYW5nZTogRXZlbnRFbWl0dGVyPCdERVNDJyB8ICdBU0MnIHwgbnVsbD4gPSBuZXcgRXZlbnRFbWl0dGVyPCdERVNDJyB8ICdBU0MnIHwgbnVsbD4oKTtcclxuXHJcbiAgICAvKipcclxuICAgICAqIFByb2llemlvbmUgZGVsIGNvbnRlbnV0byBkaSBxdWVzdGEgY29sb25uYVxyXG4gICAgICovXHJcbiAgICBAVmlld0NoaWxkKFwiY29udGVudFwiLCB7IHN0YXRpYzogZmFsc2UgfSkgY29udGVudDogRWxlbWVudFJlZjtcclxuXHJcbiAgICAvKipcclxuICAgICAqIENsYXNzaSBkYSBhcHBsaWNhcmUgYWxsYSBjb2xvbm5hXHJcbiAgICAgKi9cclxuICAgIHB1YmxpYyBDbGFzczogc3RyaW5nO1xyXG5cclxuICAgIC8qKlxyXG4gICAgICogSW1wb3N0YXRvIGRhbGwnKipFc1RhYmxlKiosIHBlciBjb250cm9sbGFyZSBjaGUgY2kgc2lhIGFsbWVubyB1biBURCBjaGUgdXRpbGl6emkgcXVlc3QnaGVhZGVyXHJcbiAgICAgKi9cclxuICAgIHB1YmxpYyBSZWZlcmVuY2VkOiBib29sZWFuID0gZmFsc2U7XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBWYXJpYWJpbGUgZmluYWxlIHN1IGN1aSDDqCBiaW5kYXRvIGlsIGNvbnRlbnV0byBkZWxsYSBjZWxsYS4gU2Fyw6AgdmFsb3JpenphdG8gYSAqKkRpc3BsYXkqKiBzZSBzcGVjaWZpY2F0bywgYWxsJyoqaW5uZXJIVE1MKiogZGVsbCdlbGVtZW50byBwcm9pZXR0YXRvIGFsdHJpbWVudGlcclxuICAgICAqL1xyXG4gICAgcHVibGljIERlc2NyaXB0aW9uOiBzdHJpbmc7XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBAaWdub3JlXHJcbiAgICAgKi9cclxuICAgIGNvbnN0cnVjdG9yKHByaXZhdGUgbXlzZWxmOiBFbGVtZW50UmVmLCBwcml2YXRlIHJlbmRlcmVyOiBSZW5kZXJlcjIpIHsgfVxyXG5cclxuICAgIC8qKlxyXG4gICAgICogSW1wb3N0YSBsYSB2aXNpYmlsaXTDoCBvIG1lbm8gZGVsbGEgY29sb25uYSwgc2kgdHJhZHVjZSBuZWxsJ2FwcGxpY2F6aW9uZSBvIHJpbW96aW9uZSBkZWxsYSBjbGFzc2UgKiphcHAtZGlzcGxheS1ub25lKipcclxuICAgICAqIFxyXG4gICAgICogQHBhcmFtIHtib29sZWFufSBleHByZXNzaW9uIEluZGljYXppb25lIGRlbGxhIHZpc2liaWxpdMOgXHJcbiAgICAgKi9cclxuICAgIEBJbnB1dCgpIHNldCBWaXNpYmxlKGV4cHJlc3Npb246IGJvb2xlYW4pIHtcclxuICAgICAgICB0aGlzLl9WaXNpYmxlID0gZXhwcmVzc2lvbjtcclxuXHJcbiAgICAgICAgaWYgKGV4cHJlc3Npb24pXHJcbiAgICAgICAgICAgIHRoaXMucmVuZGVyZXIucmVtb3ZlQ2xhc3ModGhpcy5teXNlbGYubmF0aXZlRWxlbWVudCwgXCJhcHAtZGlzcGxheS1ub25lXCIpO1xyXG4gICAgICAgIGVsc2VcclxuICAgICAgICAgICAgdGhpcy5yZW5kZXJlci5hZGRDbGFzcyh0aGlzLm15c2VsZi5uYXRpdmVFbGVtZW50LCBcImFwcC1kaXNwbGF5LW5vbmVcIik7XHJcbiAgICB9XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBSZXN0aXR1aXNjZSBsbyBzdGF0byBkaSBWaXNpYmlsaXTDoCBkZWxsYSBjb2xvbm5hIGluIG9nZ2V0dG9cclxuICAgICAqIFxyXG4gICAgICogQHJldHVybnMge2Jvb2xlYW59ICoqdHJ1ZSoqIHNlIHZpc2liaWxlLCAqKmZhbHNlKiogYWx0cmltZW50aVxyXG4gICAgICovXHJcbiAgICBnZXQgVmlzaWJsZSgpOiBib29sZWFuIHtcclxuICAgICAgICBpZiAodGhpcy5fVmlzaWJsZSA9PSB1bmRlZmluZWQpXHJcbiAgICAgICAgICAgIHRoaXMuX1Zpc2libGUgPSB0cnVlO1xyXG5cclxuICAgICAgICByZXR1cm4gdGhpcy5fVmlzaWJsZTtcclxuICAgIH1cclxuXHJcbiAgICAvKipcclxuICAgICAqIEBpZ25vcmVcclxuICAgICAqL1xyXG4gICAgbmdBZnRlclZpZXdJbml0KCkge1xyXG4gICAgICAgIC8vQXNzZWduYXJlIGRpcmV0dGFtZW50ZSBpbCBjb250ZW50IMOoIHBpw7kgdmVsb2NlIGNoZSBwYXNzYXJlIGRhbCBuYXRpdmUgZWxlbWVudCBwZXIgcXVhbGNoZSBtb3Rpdm9cclxuICAgICAgICB0aGlzLkRlc2NyaXB0aW9uID0gdGhpcy5EaXNwbGF5ID09PSBudWxsIHx8IHRoaXMuRGlzcGxheSA9PT0gXCJcIiA/IHRoaXMuY29udGVudC5uYXRpdmVFbGVtZW50LmlubmVyVGV4dCA6IHRoaXMuRGlzcGxheTtcclxuXHJcbiAgICAgICAgdGhpcy5DbGFzcyA9IHRoaXMubXlzZWxmLm5hdGl2ZUVsZW1lbnQuY2xhc3NOYW1lLnJlcGxhY2UoXCJhcHAtZGlzcGxheS1ub25lXCIsIFwiXCIpO1xyXG5cclxuICAgICAgICAvL1Jlc2l6ZVxyXG4gICAgICAgIGlmICh0aGlzLlJlc2l6YWJsZSlcclxuICAgICAgICAgICAgdGhpcy5yZW5kZXJlci5hZGRDbGFzcyh0aGlzLm15c2VsZi5uYXRpdmVFbGVtZW50LCBcImFwcC1yZWxhdGl2ZVwiKTtcclxuICAgIH1cclxuXHJcbiAgICAvKipcclxuICAgICAqIEdlc3Rpc2NlIGxhIG1vZGlmaWNhIGRlbGwnb3JkaW5hbWVudG8gcXVhbG9yYSB2ZW5pc3NlIGNsaWNjYXRvIHN1IHF1ZXN0YSBjb2xvbm5hXHJcbiAgICAgKi9cclxuICAgIHNldHVwTmV4dE9yZGVyQW5kTm90aWZ5KCkge1xyXG4gICAgICAgIGlmICghdGhpcy5JRCkge1xyXG4gICAgICAgICAgICBjb25zb2xlLmxvZyhcIkF0dGVtcHQgdG8gb3JkZXIgYSBjb2x1bW4gd2l0aG91dCBJRC4gT3BlcmF0aW9uIGlnbm9yZWRcIik7XHJcbiAgICAgICAgICAgIHJldHVybjtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIGlmKHRoaXMuU2VhcmNoSW5Qcm9ncmVzcylcclxuICAgICAgICB7XHJcbiAgICAgICAgICAgIGNvbnNvbGUubG9nKFwiQXR0ZW1wdCB0byBvcmRlciBhIGNvbHVtbiBkdXJpbmcgYSBzZWFyY2guIE9wZXJhdGlvbiBpZ25vcmVkXCIpO1xyXG4gICAgICAgICAgICByZXR1cm47XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBpZiAoIXRoaXMuT3JkZXJCeSB8fCAhdGhpcy5PcmRlcmFibGUpXHJcbiAgICAgICAgICAgIHJldHVybjtcclxuXHJcbiAgICAgICAgdmFyIG5leHRPcmRlciA9IHRoaXMub3JkZXJOZXh0W3RoaXMuT3JkZXIgfHwgXCJOT05FXCJdO1xyXG4gICAgICAgIHRoaXMuT3JkZXIgPSBuZXh0T3JkZXI7XHJcblxyXG4gICAgICAgIHRoaXMub25PcmRlckNoYW5nZS5lbWl0KHRoaXMuT3JkZXIpO1xyXG4gICAgfVxyXG5cclxuICAgIC8qKlxyXG4gICAgICogRXZlbnRvIGRpIGluaXppbyByZXNpemUgZGVsbGEgY29sb25uYVxyXG4gICAgICogXHJcbiAgICAgKiBAcGFyYW0ge2FueX0gZXYgRXZlbnRvIE1vdXNlRG93blxyXG4gICAgICovXHJcbiAgICBvblJlc2l6ZVN0YXJ0KGV2KSB7XHJcbiAgICAgICAgaWYgKCF0aGlzLlJlc2l6YWJsZSlcclxuICAgICAgICAgICAgcmV0dXJuO1xyXG5cclxuICAgICAgICB0aGlzLnJlc2l6aW5nVGhpcyA9IHRydWU7XHJcbiAgICAgICAgdGhpcy5zdGFydE9mZnNldCA9IHRoaXMubXlzZWxmLm5hdGl2ZUVsZW1lbnQub2Zmc2V0V2lkdGggLSBldi5wYWdlWDtcclxuICAgIH1cclxuXHJcbiAgICAvKipcclxuICAgICAqIExpc3RlbmVyIHBlciBsYSBmaW5lIGRlbGwnb3BlcmF6aW9uZSBkaSByZXNpemVcclxuICAgICAqL1xyXG4gICAgQEhvc3RMaXN0ZW5lcignd2luZG93Om1vdXNldXAub3V0LXpvbmUnKVxyXG4gICAgcHVibGljIG9uTW91c2VVcCgpOiB2b2lkIHtcclxuICAgICAgICBpZiAoIXRoaXMuUmVzaXphYmxlKVxyXG4gICAgICAgICAgICByZXR1cm47XHJcblxyXG4gICAgICAgIHRoaXMucmVzaXppbmdUaGlzID0gZmFsc2U7XHJcbiAgICB9XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBMaXN0ZW5lciBwZXIgZ2VzdGlyZSBpbCBtb3ZpbWVudG8gZGVsIG1vdXNlIHF1YWxvcmEgdW4nb3BlcmF6aW9uZSBkaSByZXNpemUgZm9zc2UgaW4gZXNlY3V6aW9uZVxyXG4gICAgICogXHJcbiAgICAgKiBAcGFyYW0geyRldmVudH0gZXYgRXZlbnRvIE1vdXNlTW92ZVxyXG4gICAgICovXHJcbiAgICBASG9zdExpc3RlbmVyKCd3aW5kb3c6bW91c2Vtb3ZlLm91dC16b25lJywgWyckZXZlbnQnXSlcclxuICAgIHB1YmxpYyBvbk1vdXNlTW92ZSgkZXZlbnQpOiB2b2lkIHtcclxuICAgICAgICBpZiAoIXRoaXMuUmVzaXphYmxlIHx8ICF0aGlzLnJlc2l6aW5nVGhpcylcclxuICAgICAgICAgICAgcmV0dXJuO1xyXG5cclxuICAgICAgICAvL1VzbyBqcXVlcnkgcGVyIG5vbiBkb3ZlciBmYXIgcGFydGlyZSB1biBpbnRlcm8gY2ljbG8gZGkgY2hhbmdlIGRldGVjdGlvbiBzb2xvIHBlciBmYXJlIHVuIHJlc2l6ZSBkZWwgY2F6em9cclxuICAgICAgICAvLyhhbmNoZSBwZXJjaMOpIHZpZW5lIGxhbmNpYXRvIG9nbmkgMC4xIHNlY29uZG8gcXVpbmRpIG5vdCBhIGdvb2QgaWRlYSlcclxuICAgICAgICB0aGlzLm15c2VsZi5uYXRpdmVFbGVtZW50LnN0eWxlLndpZHRoID0gKHRoaXMuc3RhcnRPZmZzZXQgKyAkZXZlbnQucGFnZVgpICsgXCJweFwiO1xyXG5cclxuICAgICAgICAvL0Zlcm1vIGlsIGJ1YmJsaW5nIHBlciBub24gZmFyZSBjb3NlIHN0cmFuZVxyXG4gICAgICAgICRldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xyXG4gICAgfVxyXG59Il19
|
|
@@ -1,6 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Modello di configurazione per L'EsTable
|
|
3
|
-
*/
|
|
4
|
-
export class EsTableModuleConfig {
|
|
5
|
-
}
|
|
6
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiRXNUYWJsZU1vZHVsZUNvbmZpZy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2VzLXRhYmxlL3NyYy9saWIvbW9kZWxzL0VzVGFibGVNb2R1bGVDb25maWcudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7O0dBRUc7QUFDSCxNQUFNLE9BQU8sbUJBQW1CO0NBTS9CIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXHJcbiAqIE1vZGVsbG8gZGkgY29uZmlndXJhemlvbmUgcGVyIEwnRXNUYWJsZVxyXG4gKi9cclxuZXhwb3J0IGNsYXNzIEVzVGFibGVNb2R1bGVDb25maWd7XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBMb2NhbGUgZGEgdXRpbGl6emFyZSBwZXIgaSBtZXNzYWdnaSwgc3VwcG9ydGF0aSBcIml0LUlUXCIgZWQgXCJlbi1VU1wiXHJcbiAgICAgKi9cclxuICAgIGxvY2FsZTogc3RyaW5nO1xyXG59Il19
|
|
@@ -1,70 +0,0 @@
|
|
|
1
|
-
// Angular
|
|
2
|
-
import { Component, EventEmitter, Input, Output } from "@angular/core";
|
|
3
|
-
// Configurazioni
|
|
4
|
-
import { LocalizationService } from "@esfaenza/localizations";
|
|
5
|
-
import { MessageService } from "@esfaenza/extensions";
|
|
6
|
-
// Applicazione
|
|
7
|
-
import { TablePagerLoc } from "./table_pager.component.loc";
|
|
8
|
-
/**
|
|
9
|
-
* Componente che si occupa della paginazione di una tabella
|
|
10
|
-
*/
|
|
11
|
-
export class TablePagerComponent {
|
|
12
|
-
/**
|
|
13
|
-
* @ignore
|
|
14
|
-
*/
|
|
15
|
-
constructor(msgExts, lc) {
|
|
16
|
-
this.msgExts = msgExts;
|
|
17
|
-
this.lc = lc;
|
|
18
|
-
/**
|
|
19
|
-
* Indica se deve mostrare un warning quando si cercano di solezionare come elementi da visualizzare "Tutti"
|
|
20
|
-
*/
|
|
21
|
-
this.WarnOnAll = true;
|
|
22
|
-
/**
|
|
23
|
-
* Indica se dare la possibilità o meno di selezionare "Tutti" nelle opzioni di paginazione
|
|
24
|
-
*/
|
|
25
|
-
this.AllSearch = true;
|
|
26
|
-
/**
|
|
27
|
-
* Placeholder che identifica il "Tutti"
|
|
28
|
-
*/
|
|
29
|
-
this.DefaultAll = 999999;
|
|
30
|
-
/**
|
|
31
|
-
* Output invocato quando il numero di elementi per pagina viene modificato da un click utente
|
|
32
|
-
*/
|
|
33
|
-
this.pagingSelected = new EventEmitter();
|
|
34
|
-
}
|
|
35
|
-
/**
|
|
36
|
-
* Funzione richiamata dal template quando un utente clicca su un numero di paginazione.
|
|
37
|
-
*
|
|
38
|
-
* Cliccare 2 volte sullo stesso numero causa comunque un refresh dei dati
|
|
39
|
-
*
|
|
40
|
-
* @param {number} pageSize Dimensione selezionata lato UI
|
|
41
|
-
*/
|
|
42
|
-
choice(pageSize) {
|
|
43
|
-
if (pageSize == this.DefaultAll && this.WarnOnAll) {
|
|
44
|
-
this.msgExts.simpleWarningWithChoice(this.lc.loc("Are you sure you want to retrieve all results?"), this.lc.loc("This might slow down the page and possibly crash the entire application"), () => { this.pagingSelected.emit(pageSize); });
|
|
45
|
-
}
|
|
46
|
-
else
|
|
47
|
-
this.pagingSelected.emit(pageSize);
|
|
48
|
-
}
|
|
49
|
-
}
|
|
50
|
-
TablePagerComponent.decorators = [
|
|
51
|
-
{ type: Component, args: [{
|
|
52
|
-
selector: "app-paging",
|
|
53
|
-
viewProviders: [{ provide: LocalizationService, useClass: TablePagerLoc }],
|
|
54
|
-
template: "<!--Se non ho almeno 10 elementi non ha senso far vedere le opzioni di paginazione-->\r\n<ng-container *ngIf=\"View ? ((View.objectcount && View.objectcount >= 10) || View.pagingavailable) : !Hidden\">\r\n {{'Paging' | localize : lc}}: \r\n <span class=\"app-link app-inline\"\r\n [class.app-bold]=\"View ? View.itemsperpageoverride && View.itemsperpageoverride == 10 : CurrentPageSize == 10\"\r\n (click)=\"choice(10);\">\r\n 10\r\n </span> | \r\n\r\n <span class=\"app-link app-inline\"\r\n [class.app-bold]=\"View ? View.itemsperpageoverride && View.itemsperpageoverride == 15 : CurrentPageSize == 15\"\r\n (click)=\"choice(15);\">\r\n 15\r\n </span> | \r\n\r\n <span class=\"app-link app-inline\"\r\n [class.app-bold]=\"View ? View.itemsperpageoverride && View.itemsperpageoverride == 30 : CurrentPageSize == 30\"\r\n (click)=\"choice(30);\">\r\n 30\r\n </span> | \r\n\r\n <span class=\"app-link app-inline\"\r\n [class.app-bold]=\"View ? View.itemsperpageoverride && View.itemsperpageoverride == 45 : CurrentPageSize == 45\"\r\n (click)=\"choice(45);\">\r\n 45\r\n </span> | \r\n\r\n <span class=\"app-link app-inline\"\r\n [class.app-bold]=\"View ? View.itemsperpageoverride && View.itemsperpageoverride == 100 : CurrentPageSize == 100\"\r\n (click)=\"choice(100);\">\r\n 100\r\n </span><span *ngIf=\"AllSearch\"> | </span>\r\n <span *ngIf=\"AllSearch\" class=\"app-link app-inline\"\r\n [class.app-bold]=\"View ? View.itemsperpageoverride && View.itemsperpageoverride == DefaultAll : CurrentPageSize == DefaultAll\"\r\n (click)=\"choice(DefaultAll);\">\r\n {{'All' | localize : lc}}\r\n </span>\r\n</ng-container>"
|
|
55
|
-
},] }
|
|
56
|
-
];
|
|
57
|
-
TablePagerComponent.ctorParameters = () => [
|
|
58
|
-
{ type: MessageService },
|
|
59
|
-
{ type: LocalizationService }
|
|
60
|
-
];
|
|
61
|
-
TablePagerComponent.propDecorators = {
|
|
62
|
-
CurrentPageSize: [{ type: Input }],
|
|
63
|
-
View: [{ type: Input }],
|
|
64
|
-
Hidden: [{ type: Input }],
|
|
65
|
-
WarnOnAll: [{ type: Input }],
|
|
66
|
-
AllSearch: [{ type: Input }],
|
|
67
|
-
DefaultAll: [{ type: Input }],
|
|
68
|
-
pagingSelected: [{ type: Output }]
|
|
69
|
-
};
|
|
70
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFibGVfcGFnZXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZXMtdGFibGUvc3JjL2xpYi9wYWdlci90YWJsZV9wYWdlci5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsVUFBVTtBQUNWLE9BQU8sRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFdkUsaUJBQWlCO0FBQ2pCLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQzlELE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUV0RCxlQUFlO0FBQ2YsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBRTVEOztHQUVHO0FBTUgsTUFBTSxPQUFPLG1CQUFtQjtJQXFDNUI7O09BRUc7SUFDSCxZQUFvQixPQUF1QixFQUFTLEVBQXVCO1FBQXZELFlBQU8sR0FBUCxPQUFPLENBQWdCO1FBQVMsT0FBRSxHQUFGLEVBQUUsQ0FBcUI7UUF2QjNFOztXQUVHO1FBQ00sY0FBUyxHQUFZLElBQUksQ0FBQztRQUVuQzs7V0FFRztRQUNNLGNBQVMsR0FBWSxJQUFJLENBQUM7UUFFbkM7O1dBRUc7UUFDTSxlQUFVLEdBQUcsTUFBTSxDQUFDO1FBRTdCOztXQUVHO1FBQ08sbUJBQWMsR0FBRyxJQUFJLFlBQVksRUFBVSxDQUFDO0lBS3lCLENBQUM7SUFFaEY7Ozs7OztPQU1HO0lBQ0ksTUFBTSxDQUFDLFFBQWdCO1FBQzFCLElBQUksUUFBUSxJQUFJLElBQUksQ0FBQyxVQUFVLElBQUksSUFBSSxDQUFDLFNBQVMsRUFBRTtZQUMvQyxJQUFJLENBQUMsT0FBTyxDQUFDLHVCQUF1QixDQUNoQyxJQUFJLENBQUMsRUFBRSxDQUFDLEdBQUcsQ0FBQyxnREFBZ0QsQ0FBQyxFQUM3RCxJQUFJLENBQUMsRUFBRSxDQUFDLEdBQUcsQ0FBQyx5RUFBeUUsQ0FBQyxFQUN0RixHQUFHLEVBQUUsR0FBRyxJQUFJLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO1NBQ3REOztZQUVHLElBQUksQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDO0lBQzNDLENBQUM7OztZQS9ESixTQUFTLFNBQUM7Z0JBQ1AsUUFBUSxFQUFFLFlBQVk7Z0JBQ3RCLGFBQWEsRUFBRSxDQUFDLEVBQUUsT0FBTyxFQUFFLG1CQUFtQixFQUFFLFFBQVEsRUFBRSxhQUFhLEVBQUUsQ0FBQztnQkFDMUUsbzFEQUEyQzthQUM5Qzs7O1lBWlEsY0FBYztZQURkLG1CQUFtQjs7OzhCQW1CdkIsS0FBSzttQkFLTCxLQUFLO3FCQUtMLEtBQUs7d0JBS0wsS0FBSzt3QkFLTCxLQUFLO3lCQUtMLEtBQUs7NkJBS0wsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbIi8vIEFuZ3VsYXJcclxuaW1wb3J0IHsgQ29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIElucHV0LCBPdXRwdXQgfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xyXG5cclxuLy8gQ29uZmlndXJhemlvbmlcclxuaW1wb3J0IHsgTG9jYWxpemF0aW9uU2VydmljZSB9IGZyb20gXCJAZXNmYWVuemEvbG9jYWxpemF0aW9uc1wiO1xyXG5pbXBvcnQgeyBNZXNzYWdlU2VydmljZSB9IGZyb20gXCJAZXNmYWVuemEvZXh0ZW5zaW9uc1wiO1xyXG5cclxuLy8gQXBwbGljYXppb25lXHJcbmltcG9ydCB7IFRhYmxlUGFnZXJMb2MgfSBmcm9tIFwiLi90YWJsZV9wYWdlci5jb21wb25lbnQubG9jXCI7XHJcblxyXG4vKipcclxuICogQ29tcG9uZW50ZSBjaGUgc2kgb2NjdXBhIGRlbGxhIHBhZ2luYXppb25lIGRpIHVuYSB0YWJlbGxhXHJcbiAqL1xyXG5AQ29tcG9uZW50KHtcclxuICAgIHNlbGVjdG9yOiBcImFwcC1wYWdpbmdcIixcclxuICAgIHZpZXdQcm92aWRlcnM6IFt7IHByb3ZpZGU6IExvY2FsaXphdGlvblNlcnZpY2UsIHVzZUNsYXNzOiBUYWJsZVBhZ2VyTG9jIH1dLFxyXG4gICAgdGVtcGxhdGVVcmw6IFwiLi90YWJsZV9wYWdlci5jb21wb25lbnQuaHRtbFwiXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBUYWJsZVBhZ2VyQ29tcG9uZW50IHtcclxuXHJcbiAgICAvKipcclxuICAgICAqIERpbWVuc2lvbmUgZGkgcGFnaW5hIGF0dHVhbGVcclxuICAgICAqL1xyXG4gICAgQElucHV0KCkgQ3VycmVudFBhZ2VTaXplOiBhbnk7XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBWaWV3IGdlc3RpdGEsIGNoZSBwdcOyIGVzc2VyZSB1biBJQXBwU2VhcmNoIG8gdW5hIFJlcG9ydFZpZXdcclxuICAgICAqL1xyXG4gICAgQElucHV0KCkgVmlldzogYW55O1xyXG5cclxuICAgIC8qKlxyXG4gICAgICogSW5kaWNhIHNlIGlsIGNvbXBvbmVudGUgZGkgcGFnaW5hemlvbmUgZGV2J2Vzc2VyZSBuYXNjb3N0byBvIHZpc2liaWxlXHJcbiAgICAgKi9cclxuICAgIEBJbnB1dCgpIEhpZGRlbjogYm9vbGVhbjtcclxuXHJcbiAgICAvKipcclxuICAgICAqIEluZGljYSBzZSBkZXZlIG1vc3RyYXJlIHVuIHdhcm5pbmcgcXVhbmRvIHNpIGNlcmNhbm8gZGkgc29sZXppb25hcmUgY29tZSBlbGVtZW50aSBkYSB2aXN1YWxpenphcmUgXCJUdXR0aVwiXHJcbiAgICAgKi9cclxuICAgIEBJbnB1dCgpIFdhcm5PbkFsbDogYm9vbGVhbiA9IHRydWU7XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBJbmRpY2Egc2UgZGFyZSBsYSBwb3NzaWJpbGl0w6AgbyBtZW5vIGRpIHNlbGV6aW9uYXJlIFwiVHV0dGlcIiBuZWxsZSBvcHppb25pIGRpIHBhZ2luYXppb25lXHJcbiAgICAgKi9cclxuICAgIEBJbnB1dCgpIEFsbFNlYXJjaDogYm9vbGVhbiA9IHRydWU7XHJcbiAgICBcclxuICAgIC8qKlxyXG4gICAgICogUGxhY2Vob2xkZXIgY2hlIGlkZW50aWZpY2EgaWwgXCJUdXR0aVwiXHJcbiAgICAgKi9cclxuICAgIEBJbnB1dCgpIERlZmF1bHRBbGwgPSA5OTk5OTk7XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBPdXRwdXQgaW52b2NhdG8gcXVhbmRvIGlsIG51bWVybyBkaSBlbGVtZW50aSBwZXIgcGFnaW5hIHZpZW5lIG1vZGlmaWNhdG8gZGEgdW4gY2xpY2sgdXRlbnRlXHJcbiAgICAgKi9cclxuICAgIEBPdXRwdXQoKSBwYWdpbmdTZWxlY3RlZCA9IG5ldyBFdmVudEVtaXR0ZXI8bnVtYmVyPigpO1xyXG5cclxuICAgIC8qKlxyXG4gICAgICogQGlnbm9yZVxyXG4gICAgICovXHJcbiAgICBjb25zdHJ1Y3Rvcihwcml2YXRlIG1zZ0V4dHM6IE1lc3NhZ2VTZXJ2aWNlLCBwdWJsaWMgbGM6IExvY2FsaXphdGlvblNlcnZpY2UpIHsgfVxyXG5cclxuICAgIC8qKlxyXG4gICAgICogRnVuemlvbmUgcmljaGlhbWF0YSBkYWwgdGVtcGxhdGUgcXVhbmRvIHVuIHV0ZW50ZSBjbGljY2Egc3UgdW4gbnVtZXJvIGRpIHBhZ2luYXppb25lLlxyXG4gICAgICogXHJcbiAgICAgKiBDbGljY2FyZSAyIHZvbHRlIHN1bGxvIHN0ZXNzbyBudW1lcm8gY2F1c2EgY29tdW5xdWUgdW4gcmVmcmVzaCBkZWkgZGF0aVxyXG4gICAgICogXHJcbiAgICAgKiBAcGFyYW0ge251bWJlcn0gcGFnZVNpemUgRGltZW5zaW9uZSBzZWxlemlvbmF0YSBsYXRvIFVJXHJcbiAgICAgKi9cclxuICAgIHB1YmxpYyBjaG9pY2UocGFnZVNpemU6IG51bWJlcikge1xyXG4gICAgICAgIGlmIChwYWdlU2l6ZSA9PSB0aGlzLkRlZmF1bHRBbGwgJiYgdGhpcy5XYXJuT25BbGwpIHtcclxuICAgICAgICAgICAgdGhpcy5tc2dFeHRzLnNpbXBsZVdhcm5pbmdXaXRoQ2hvaWNlKFxyXG4gICAgICAgICAgICAgICAgdGhpcy5sYy5sb2MoXCJBcmUgeW91IHN1cmUgeW91IHdhbnQgdG8gcmV0cmlldmUgYWxsIHJlc3VsdHM/XCIpLFxyXG4gICAgICAgICAgICAgICAgdGhpcy5sYy5sb2MoXCJUaGlzIG1pZ2h0IHNsb3cgZG93biB0aGUgcGFnZSBhbmQgcG9zc2libHkgY3Jhc2ggdGhlIGVudGlyZSBhcHBsaWNhdGlvblwiKSxcclxuICAgICAgICAgICAgICAgICgpID0+IHsgdGhpcy5wYWdpbmdTZWxlY3RlZC5lbWl0KHBhZ2VTaXplKTsgfSk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGVsc2VcclxuICAgICAgICAgICAgdGhpcy5wYWdpbmdTZWxlY3RlZC5lbWl0KHBhZ2VTaXplKTtcclxuICAgIH1cclxufSJdfQ==
|
|
@@ -1,24 +0,0 @@
|
|
|
1
|
-
import { Injectable, Inject, Optional } from "@angular/core";
|
|
2
|
-
import { LocalizationService } from "@esfaenza/localizations";
|
|
3
|
-
import { EST_LOCALE } from '../tokens';
|
|
4
|
-
/**
|
|
5
|
-
* Classe di localizzazione per il componente **TablePagerComponent**
|
|
6
|
-
*/
|
|
7
|
-
export class TablePagerLoc extends LocalizationService {
|
|
8
|
-
/**
|
|
9
|
-
* @ignore
|
|
10
|
-
*/
|
|
11
|
-
constructor(LOC_LOCALE) {
|
|
12
|
-
super(LOC_LOCALE !== null && LOC_LOCALE !== void 0 ? LOC_LOCALE : 'it-IT');
|
|
13
|
-
super.set("en->it", "All", ["Tutto"]);
|
|
14
|
-
super.set("en->it", "Are you sure you want to retrieve all results?", ["Si è sicuri di voler caricare tutti i risultati?"]);
|
|
15
|
-
super.set("en->it", "This might slow down the page and possibly crash the entire application", ["L'operazione potrebbe rallentare la pagina fino al crash dell'applicazione"]);
|
|
16
|
-
}
|
|
17
|
-
}
|
|
18
|
-
TablePagerLoc.decorators = [
|
|
19
|
-
{ type: Injectable }
|
|
20
|
-
];
|
|
21
|
-
TablePagerLoc.ctorParameters = () => [
|
|
22
|
-
{ type: String, decorators: [{ type: Optional }, { type: Inject, args: [EST_LOCALE,] }] }
|
|
23
|
-
];
|
|
24
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFibGVfcGFnZXIuY29tcG9uZW50LmxvYy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2VzLXRhYmxlL3NyYy9saWIvcGFnZXIvdGFibGVfcGFnZXIuY29tcG9uZW50LmxvYy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDN0QsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDOUQsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLFdBQVcsQ0FBQztBQUV2Qzs7R0FFRztBQUVILE1BQU0sT0FBTyxhQUFjLFNBQVEsbUJBQW1CO0lBRWxEOztPQUVHO0lBQ0gsWUFBNEMsVUFBa0I7UUFDMUQsS0FBSyxDQUFDLFVBQVUsYUFBVixVQUFVLGNBQVYsVUFBVSxHQUFJLE9BQU8sQ0FBQyxDQUFDO1FBQzdCLEtBQUssQ0FBQyxHQUFHLENBQUMsUUFBUSxFQUFFLEtBQUssRUFBRSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUM7UUFDdEMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxRQUFRLEVBQUUsZ0RBQWdELEVBQUUsQ0FBQyxrREFBa0QsQ0FBQyxDQUFDLENBQUM7UUFDNUgsS0FBSyxDQUFDLEdBQUcsQ0FBQyxRQUFRLEVBQUUseUVBQXlFLEVBQUUsQ0FBQyw0RUFBNEUsQ0FBQyxDQUFDLENBQUM7SUFDbkwsQ0FBQzs7O1lBWEosVUFBVTs7O3lDQU1NLFFBQVEsWUFBSSxNQUFNLFNBQUMsVUFBVSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUsIEluamVjdCwgT3B0aW9uYWwgfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xyXG5pbXBvcnQgeyBMb2NhbGl6YXRpb25TZXJ2aWNlIH0gZnJvbSBcIkBlc2ZhZW56YS9sb2NhbGl6YXRpb25zXCI7XHJcbmltcG9ydCB7IEVTVF9MT0NBTEUgfSBmcm9tICcuLi90b2tlbnMnO1xyXG5cclxuLyoqXHJcbiAqIENsYXNzZSBkaSBsb2NhbGl6emF6aW9uZSBwZXIgaWwgY29tcG9uZW50ZSAqKlRhYmxlUGFnZXJDb21wb25lbnQqKlxyXG4gKi9cclxuQEluamVjdGFibGUoKVxyXG5leHBvcnQgY2xhc3MgVGFibGVQYWdlckxvYyBleHRlbmRzIExvY2FsaXphdGlvblNlcnZpY2Uge1xyXG4gICAgXHJcbiAgICAvKipcclxuICAgICAqIEBpZ25vcmVcclxuICAgICAqL1xyXG4gICAgY29uc3RydWN0b3IoQE9wdGlvbmFsKCkgQEluamVjdChFU1RfTE9DQUxFKSBMT0NfTE9DQUxFOiBzdHJpbmcpIHtcclxuICAgICAgICBzdXBlcihMT0NfTE9DQUxFID8/ICdpdC1JVCcpO1xyXG4gICAgICAgIHN1cGVyLnNldChcImVuLT5pdFwiLCBcIkFsbFwiLCBbXCJUdXR0b1wiXSk7XHJcbiAgICAgICAgc3VwZXIuc2V0KFwiZW4tPml0XCIsIFwiQXJlIHlvdSBzdXJlIHlvdSB3YW50IHRvIHJldHJpZXZlIGFsbCByZXN1bHRzP1wiLCBbXCJTaSDDqCBzaWN1cmkgZGkgdm9sZXIgY2FyaWNhcmUgdHV0dGkgaSByaXN1bHRhdGk/XCJdKTtcclxuICAgICAgICBzdXBlci5zZXQoXCJlbi0+aXRcIiwgXCJUaGlzIG1pZ2h0IHNsb3cgZG93biB0aGUgcGFnZSBhbmQgcG9zc2libHkgY3Jhc2ggdGhlIGVudGlyZSBhcHBsaWNhdGlvblwiLCBbXCJMJ29wZXJhemlvbmUgcG90cmViYmUgcmFsbGVudGFyZSBsYSBwYWdpbmEgZmlubyBhbCBjcmFzaCBkZWxsJ2FwcGxpY2F6aW9uZVwiXSk7XHJcbiAgICB9XHJcbn0iXX0=
|
|
@@ -1,76 +0,0 @@
|
|
|
1
|
-
import { IAppSearch } from './IAppSearch';
|
|
2
|
-
import { AppOrdering } from './AppOrdering';
|
|
3
|
-
import { ItemsSelection } from './ItemsSelection';
|
|
4
|
-
/**
|
|
5
|
-
* Classe che identifica una ricerca paginata in tutte le sue sfumature (di grigio)
|
|
6
|
-
*/
|
|
7
|
-
export declare class AppSearch<T> implements IAppSearch<T> {
|
|
8
|
-
/**
|
|
9
|
-
* Costruttore che genera un'istanza coi valori di default e impostando **firstsearch** a **true**
|
|
10
|
-
*/
|
|
11
|
-
constructor();
|
|
12
|
-
/**
|
|
13
|
-
* Indica se c'è una ricerca in corso
|
|
14
|
-
*/
|
|
15
|
-
searchinprogress: boolean;
|
|
16
|
-
/**
|
|
17
|
-
* Indica il numero totale di pagine trovate dalla ricerca. Ogni pagina è una lista di **itemsperpageoverride** oggetti
|
|
18
|
-
*/
|
|
19
|
-
pages: number;
|
|
20
|
-
/**
|
|
21
|
-
* Conteggio totale degli oggetti trovati (inclusi quelli in pagine non attualmente selezionate)
|
|
22
|
-
*/
|
|
23
|
-
objectcount: number;
|
|
24
|
-
/**
|
|
25
|
-
* Pagina attualmente in visualizzazione
|
|
26
|
-
*/
|
|
27
|
-
page: number;
|
|
28
|
-
/**
|
|
29
|
-
* Numero di oggetti da persentare in ogni pagina. Per convenzione si considera valorizzato a 15 se non fornito
|
|
30
|
-
*/
|
|
31
|
-
itemsperpageoverride: number;
|
|
32
|
-
/**
|
|
33
|
-
* Lista degli oggetti nella pagina attualmente in visualizzazione
|
|
34
|
-
*/
|
|
35
|
-
items: T[];
|
|
36
|
-
/**
|
|
37
|
-
* Lista di colonne per cui ordinare
|
|
38
|
-
*/
|
|
39
|
-
orders: AppOrdering[];
|
|
40
|
-
/**
|
|
41
|
-
* Lista di colonne da visualizzare
|
|
42
|
-
*/
|
|
43
|
-
columns: string[];
|
|
44
|
-
/**
|
|
45
|
-
* Lista di colonne nell'ordine corretto
|
|
46
|
-
*/
|
|
47
|
-
column_ordering: string[];
|
|
48
|
-
/**
|
|
49
|
-
* Indica se la ricerca era salvata. Qualora fosse questo il caso, al caricamento l'es-table si occuperà di ri-effettuare la ricerca ed aggiornare il modello
|
|
50
|
-
*/
|
|
51
|
-
savedstate: boolean;
|
|
52
|
-
/**
|
|
53
|
-
* Indica se bisogna ancora effettuare la prima ricerca
|
|
54
|
-
*/
|
|
55
|
-
firstsearch: boolean;
|
|
56
|
-
/**
|
|
57
|
-
* Oggetto che indica la selezione corrente.
|
|
58
|
-
*
|
|
59
|
-
* Se **all** è **true** vuole dire che è tutto selezionato ed eventualmente ci sono delle esclusioni (**exclusions**)
|
|
60
|
-
* Se **all** è **false** vuol dire che sono selezionati **item** specifici
|
|
61
|
-
*
|
|
62
|
-
* In base all'Input **UseSelectionCache** le proprietà **exclusions** e **items** fanno riferimento o alla pagina corrente (se **false**)
|
|
63
|
-
* o all'intera ricerca (se **true**)
|
|
64
|
-
*/
|
|
65
|
-
selection: ItemsSelection<T>;
|
|
66
|
-
/**
|
|
67
|
-
* Indica che la ricerca è stata richiesta dall'estable. Questa variabile NON deve essere toccata. È gestita al 100% dall'es-table.
|
|
68
|
-
*
|
|
69
|
-
* L'unica cosa che serve è che nel modello lato C# sia presente in modo da non perderla durante la serializzazione
|
|
70
|
-
*/
|
|
71
|
-
internalsearchrequest: boolean;
|
|
72
|
-
/**
|
|
73
|
-
* Permette di resettare questo oggetto ai valori di default
|
|
74
|
-
*/
|
|
75
|
-
reset(): void;
|
|
76
|
-
}
|
|
@@ -1,13 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Indica un'opzione cliccabile nel Corner Menù della tabella (il menù richiamabile dai 3 pallini verticli in alto a destra)
|
|
3
|
-
*/
|
|
4
|
-
export declare class CornerMenuOption {
|
|
5
|
-
/**
|
|
6
|
-
* Id dell'operazione. I callback relativi verranno effettuati con questo
|
|
7
|
-
*/
|
|
8
|
-
id: string;
|
|
9
|
-
/**
|
|
10
|
-
* Descrizione dell'operazione da presentare all'utente
|
|
11
|
-
*/
|
|
12
|
-
description: string;
|
|
13
|
-
}
|
|
@@ -1,16 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Definizione di una colonna
|
|
3
|
-
*/
|
|
4
|
-
export declare class EsTableColumn {
|
|
5
|
-
id: string;
|
|
6
|
-
description: string;
|
|
7
|
-
visible: boolean;
|
|
8
|
-
/**
|
|
9
|
-
* Costruttore
|
|
10
|
-
*
|
|
11
|
-
* @param {string} id Id colonna
|
|
12
|
-
* @param {string} description Descrizione (Header)
|
|
13
|
-
* @param {boolean} visible Indica se di default mostrarla o meno
|
|
14
|
-
*/
|
|
15
|
-
constructor(id: string, description: string, visible: boolean);
|
|
16
|
-
}
|
|
@@ -1,25 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Classe che definisce un oggetto generico come lista di proprietà-valore
|
|
3
|
-
*/
|
|
4
|
-
export declare class GenericItem {
|
|
5
|
-
/**
|
|
6
|
-
* @ignore
|
|
7
|
-
*/
|
|
8
|
-
constructor();
|
|
9
|
-
/**
|
|
10
|
-
* Dizionario delle proprietà dell'oggeto con il loro valore
|
|
11
|
-
*/
|
|
12
|
-
properties: Record<string, string>;
|
|
13
|
-
/**
|
|
14
|
-
* Indica se l'oggetto in questione è selezionato o meno
|
|
15
|
-
*/
|
|
16
|
-
_selected: boolean;
|
|
17
|
-
/**
|
|
18
|
-
* Viene valorizzato da un eventuale **RowClassAssigner** (o automaticamente se in modalità gerarchica) e serve applicare stili particolari alla intera riga
|
|
19
|
-
*/
|
|
20
|
-
_rowClass: string;
|
|
21
|
-
/**
|
|
22
|
-
* Hash dell'oggetto per generare i contesti di bind all'interno dell'es-table (vedere eventualmente l'implementazione specifica)
|
|
23
|
-
*/
|
|
24
|
-
hash: string;
|
|
25
|
-
}
|