@esfaenza/es-table 12.2.20 → 12.2.25
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 +3517 -1574
- package/bundles/esfaenza-es-table.umd.js.map +1 -1
- package/esfaenza-es-table.d.ts +7 -6
- package/esfaenza-es-table.metadata.json +1 -1
- package/esm2015/esfaenza-es-table.js +8 -7
- 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 +712 -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 +2 -4
- package/esm2015/lib/directives/es_th.directive.js +28 -7
- 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 +26 -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 +15 -8
- package/esm2015/lib/tokens.js +6 -4
- package/esm2015/public-api.js +7 -6
- package/fesm2015/esfaenza-es-table.js +3503 -1688
- package/fesm2015/esfaenza-es-table.js.map +1 -1
- package/lib/{es_table.component.d.ts → components/es-table/es_table.component.d.ts} +169 -329
- 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/{es_th.component.d.ts → components/es-th/es_th.component.d.ts} +27 -61
- 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 +175 -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 +1 -3
- package/lib/directives/es_th.directive.d.ts +22 -5
- 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 +27 -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 +9 -8
- 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 -22
- 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 -1958
- 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 -178
- 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 -21
- 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/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,178 +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
|
-
/** Indica se il testo presente in questo Header può andare a capo o meno, di default non può */
|
|
49
|
-
this.Wrap = false;
|
|
50
|
-
/** Indica se la colonna è fixed, cioè se non può né essere nascosta, né riposizionata. Solo le prime colonne possono essere Fixed */
|
|
51
|
-
this.Fixed = false;
|
|
52
|
-
/**
|
|
53
|
-
* Template Angular da istanziare per questo TH
|
|
54
|
-
*/
|
|
55
|
-
this.Template = null;
|
|
56
|
-
/**
|
|
57
|
-
* Evento emesso al cambio di ordinamento effettuato su questa colonna
|
|
58
|
-
*/
|
|
59
|
-
this.onOrderChange = new EventEmitter();
|
|
60
|
-
/**
|
|
61
|
-
* Impostato dall'**EsTable**, per controllare che ci sia almeno un TD che utilizzi quest'header
|
|
62
|
-
*/
|
|
63
|
-
this.Referenced = false;
|
|
64
|
-
}
|
|
65
|
-
/**
|
|
66
|
-
* Imposta la visibilità o meno della colonna, si traduce nell'applicazione o rimozione della classe **app-display-none**
|
|
67
|
-
*
|
|
68
|
-
* @param {boolean} expression Indicazione della visibilità
|
|
69
|
-
*/
|
|
70
|
-
set Visible(expression) {
|
|
71
|
-
this._Visible = expression;
|
|
72
|
-
if (expression)
|
|
73
|
-
this.renderer.removeClass(this.myself.nativeElement, "app-display-none");
|
|
74
|
-
else
|
|
75
|
-
this.renderer.addClass(this.myself.nativeElement, "app-display-none");
|
|
76
|
-
}
|
|
77
|
-
/**
|
|
78
|
-
* Restituisce lo stato di Visibilità della colonna in oggetto
|
|
79
|
-
*
|
|
80
|
-
* @returns {boolean} **true** se visibile, **false** altrimenti
|
|
81
|
-
*/
|
|
82
|
-
get Visible() {
|
|
83
|
-
if (this._Visible == undefined)
|
|
84
|
-
this._Visible = true;
|
|
85
|
-
return this._Visible;
|
|
86
|
-
}
|
|
87
|
-
/**
|
|
88
|
-
* @ignore
|
|
89
|
-
*/
|
|
90
|
-
ngAfterViewInit() {
|
|
91
|
-
//Assegnare direttamente il content è più veloce che passare dal native element per qualche motivo
|
|
92
|
-
this.Description = this.Display === null || this.Display === "" ? this.content.nativeElement.innerText : this.Display;
|
|
93
|
-
this.Class = this.myself.nativeElement.className.replace("app-display-none", "");
|
|
94
|
-
//Resize
|
|
95
|
-
if (this.Resizable)
|
|
96
|
-
this.renderer.addClass(this.myself.nativeElement, "app-relative");
|
|
97
|
-
}
|
|
98
|
-
/**
|
|
99
|
-
* Gestisce la modifica dell'ordinamento qualora venisse cliccato su questa colonna
|
|
100
|
-
*/
|
|
101
|
-
setupNextOrderAndNotify() {
|
|
102
|
-
if (!this.ID) {
|
|
103
|
-
console.log("Attempt to order a column without ID. Operation ignored");
|
|
104
|
-
return;
|
|
105
|
-
}
|
|
106
|
-
if (this.SearchInProgress) {
|
|
107
|
-
console.log("Attempt to order a column during a search. Operation ignored");
|
|
108
|
-
return;
|
|
109
|
-
}
|
|
110
|
-
if (!this.OrderBy || !this.Orderable)
|
|
111
|
-
return;
|
|
112
|
-
var nextOrder = this.orderNext[this.Order || "NONE"];
|
|
113
|
-
this.Order = nextOrder;
|
|
114
|
-
this.onOrderChange.emit(this.Order);
|
|
115
|
-
}
|
|
116
|
-
/**
|
|
117
|
-
* Evento di inizio resize della colonna
|
|
118
|
-
*
|
|
119
|
-
* @param {any} ev Evento MouseDown
|
|
120
|
-
*/
|
|
121
|
-
onResizeStart(ev) {
|
|
122
|
-
if (!this.Resizable)
|
|
123
|
-
return;
|
|
124
|
-
this.resizingThis = true;
|
|
125
|
-
this.startOffset = this.myself.nativeElement.offsetWidth - ev.pageX;
|
|
126
|
-
}
|
|
127
|
-
/**
|
|
128
|
-
* Listener per la fine dell'operazione di resize
|
|
129
|
-
*/
|
|
130
|
-
onMouseUp() {
|
|
131
|
-
if (!this.Resizable)
|
|
132
|
-
return;
|
|
133
|
-
this.resizingThis = false;
|
|
134
|
-
}
|
|
135
|
-
/**
|
|
136
|
-
* Listener per gestire il movimento del mouse qualora un'operazione di resize fosse in esecuzione
|
|
137
|
-
*
|
|
138
|
-
* @param {$event} ev Evento MouseMove
|
|
139
|
-
*/
|
|
140
|
-
onMouseMove($event) {
|
|
141
|
-
if (!this.Resizable || !this.resizingThis)
|
|
142
|
-
return;
|
|
143
|
-
//Uso jquery per non dover far partire un intero ciclo di change detection solo per fare un resize del cazzo
|
|
144
|
-
//(anche perché viene lanciato ogni 0.1 secondo quindi not a good idea)
|
|
145
|
-
this.myself.nativeElement.style.width = (this.startOffset + $event.pageX) + "px";
|
|
146
|
-
//Fermo il bubbling per non fare cose strane
|
|
147
|
-
$event.preventDefault();
|
|
148
|
-
}
|
|
149
|
-
}
|
|
150
|
-
EsTh.decorators = [
|
|
151
|
-
{ type: Component, args: [{
|
|
152
|
-
selector: "[es-th]",
|
|
153
|
-
template: "<span (click)=\"setupNextOrderAndNotify()\" [class.app-no-selection]=\"!!ID && Orderable\" [class.app-pointer]=\"!!ID && Orderable\">\r\n <span #content>\r\n <ng-container *ngIf=\"Template\">\r\n <ng-container *ngTemplateOutlet=\"Template\"></ng-container>\r\n </ng-container>\r\n <ng-content *ngIf=\"!Template\"></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>\r\n",
|
|
154
|
-
changeDetection: ChangeDetectionStrategy.OnPush
|
|
155
|
-
},] }
|
|
156
|
-
];
|
|
157
|
-
EsTh.ctorParameters = () => [
|
|
158
|
-
{ type: ElementRef },
|
|
159
|
-
{ type: Renderer2 }
|
|
160
|
-
];
|
|
161
|
-
EsTh.propDecorators = {
|
|
162
|
-
ID: [{ type: Input, args: ['es-th',] }],
|
|
163
|
-
Order: [{ type: Input }],
|
|
164
|
-
Orderable: [{ type: Input }],
|
|
165
|
-
Display: [{ type: Input }],
|
|
166
|
-
Resizable: [{ type: Input }],
|
|
167
|
-
SearchInProgress: [{ type: Input }],
|
|
168
|
-
OrderBy: [{ type: Input }],
|
|
169
|
-
Wrap: [{ type: Input }],
|
|
170
|
-
Fixed: [{ type: Input }],
|
|
171
|
-
Template: [{ type: Input }],
|
|
172
|
-
onOrderChange: [{ type: Output }],
|
|
173
|
-
content: [{ type: ViewChild, args: ["content", { static: false },] }],
|
|
174
|
-
Visible: [{ type: Input }],
|
|
175
|
-
onMouseUp: [{ type: HostListener, args: ['window:mouseup.out-zone',] }],
|
|
176
|
-
onMouseMove: [{ type: HostListener, args: ['window:mousemove.out-zone', ['$event'],] }]
|
|
177
|
-
};
|
|
178
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXNfdGguY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvZXMtdGFibGUvc3JjL2xpYi9lc190aC5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsU0FBUztBQUNULE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxZQUFZLEVBQUUsVUFBVSxFQUFFLFNBQVMsRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLHVCQUF1QixFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRWhKOztHQUVHO0FBTUgsTUFBTSxPQUFPLElBQUk7SUFnR2I7O09BRUc7SUFDSCxZQUFvQixNQUFrQixFQUFVLFFBQW1CO1FBQS9DLFdBQU0sR0FBTixNQUFNLENBQVk7UUFBVSxhQUFRLEdBQVIsUUFBUSxDQUFXO1FBakduRTs7V0FFRztRQUNLLGNBQVMsR0FBK0MsRUFBRSxNQUFNLEVBQUUsTUFBTSxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFFLElBQUksRUFBRSxDQUFDO1FBTy9HOztXQUVHO1FBQ0ssaUJBQVksR0FBWSxLQUFLLENBQUM7UUFFdEM7Ozs7V0FJRztRQUNLLGdCQUFXLEdBQVcsSUFBSSxDQUFDO1FBRW5DOztXQUVHO1FBQ2EsT0FBRSxHQUFXLEVBQUUsQ0FBQztRQU9oQzs7V0FFRztRQUNNLGNBQVMsR0FBWSxJQUFJLENBQUM7UUFFbkM7O1dBRUc7UUFDTSxZQUFPLEdBQVUsRUFBRSxDQUFDO1FBRTdCOztXQUVHO1FBQ00sY0FBUyxHQUFZLEtBQUssQ0FBQztRQUVwQzs7O1dBR0c7UUFDTSxxQkFBZ0IsR0FBWSxLQUFLLENBQUM7UUFPM0MsZ0dBQWdHO1FBQ3ZGLFNBQUksR0FBWSxLQUFLLENBQUM7UUFFL0IscUlBQXFJO1FBQzVILFVBQUssR0FBWSxLQUFLLENBQUM7UUFFaEM7O1dBRUc7UUFDTSxhQUFRLEdBQVMsSUFBSSxDQUFDO1FBRS9COztXQUVHO1FBQ2Msa0JBQWEsR0FBd0MsSUFBSSxZQUFZLEVBQXlCLENBQUM7UUFZaEg7O1dBRUc7UUFDSSxlQUFVLEdBQVksS0FBSyxDQUFDO0lBVW9DLENBQUM7SUFFeEU7Ozs7T0FJRztJQUNILElBQWEsT0FBTyxDQUFDLFVBQW1CO1FBQ3BDLElBQUksQ0FBQyxRQUFRLEdBQUcsVUFBVSxDQUFDO1FBRTNCLElBQUksVUFBVTtZQUNWLElBQUksQ0FBQyxRQUFRLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsYUFBYSxFQUFFLGtCQUFrQixDQUFDLENBQUM7O1lBRXpFLElBQUksQ0FBQyxRQUFRLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsYUFBYSxFQUFFLGtCQUFrQixDQUFDLENBQUM7SUFDOUUsQ0FBQztJQUVEOzs7O09BSUc7SUFDSCxJQUFJLE9BQU87UUFDUCxJQUFJLElBQUksQ0FBQyxRQUFRLElBQUksU0FBUztZQUMxQixJQUFJLENBQUMsUUFBUSxHQUFHLElBQUksQ0FBQztRQUV6QixPQUFPLElBQUksQ0FBQyxRQUFRLENBQUM7SUFDekIsQ0FBQztJQUVEOztPQUVHO0lBQ0gsZUFBZTtRQUNYLGtHQUFrRztRQUNsRyxJQUFJLENBQUMsV0FBVyxHQUFHLElBQUksQ0FBQyxPQUFPLEtBQUssSUFBSSxJQUFJLElBQUksQ0FBQyxPQUFPLEtBQUssRUFBRSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLGFBQWEsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUM7UUFFdEgsSUFBSSxDQUFDLEtBQUssR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLGFBQWEsQ0FBQyxTQUFTLENBQUMsT0FBTyxDQUFDLGtCQUFrQixFQUFFLEVBQUUsQ0FBQyxDQUFDO1FBRWpGLFFBQVE7UUFDUixJQUFJLElBQUksQ0FBQyxTQUFTO1lBQ2QsSUFBSSxDQUFDLFFBQVEsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxhQUFhLEVBQUUsY0FBYyxDQUFDLENBQUM7SUFDMUUsQ0FBQztJQUVEOztPQUVHO0lBQ0gsdUJBQXVCO1FBQ25CLElBQUksQ0FBQyxJQUFJLENBQUMsRUFBRSxFQUFFO1lBQ1YsT0FBTyxDQUFDLEdBQUcsQ0FBQyx5REFBeUQsQ0FBQyxDQUFDO1lBQ3ZFLE9BQU87U0FDVjtRQUVELElBQUcsSUFBSSxDQUFDLGdCQUFnQixFQUN4QjtZQUNJLE9BQU8sQ0FBQyxHQUFHLENBQUMsOERBQThELENBQUMsQ0FBQztZQUM1RSxPQUFPO1NBQ1Y7UUFFRCxJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxTQUFTO1lBQ2hDLE9BQU87UUFFWCxJQUFJLFNBQVMsR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxLQUFLLElBQUksTUFBTSxDQUFDLENBQUM7UUFDckQsSUFBSSxDQUFDLEtBQUssR0FBRyxTQUFTLENBQUM7UUFFdkIsSUFBSSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ3hDLENBQUM7SUFFRDs7OztPQUlHO0lBQ0gsYUFBYSxDQUFDLEVBQUU7UUFDWixJQUFJLENBQUMsSUFBSSxDQUFDLFNBQVM7WUFDZixPQUFPO1FBRVgsSUFBSSxDQUFDLFlBQVksR0FBRyxJQUFJLENBQUM7UUFDekIsSUFBSSxDQUFDLFdBQVcsR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLGFBQWEsQ0FBQyxXQUFXLEdBQUcsRUFBRSxDQUFDLEtBQUssQ0FBQztJQUN4RSxDQUFDO0lBRUQ7O09BRUc7SUFFSSxTQUFTO1FBQ1osSUFBSSxDQUFDLElBQUksQ0FBQyxTQUFTO1lBQ2YsT0FBTztRQUVYLElBQUksQ0FBQyxZQUFZLEdBQUcsS0FBSyxDQUFDO0lBQzlCLENBQUM7SUFFRDs7OztPQUlHO0lBRUksV0FBVyxDQUFDLE1BQU07UUFDckIsSUFBSSxDQUFDLElBQUksQ0FBQyxTQUFTLElBQUksQ0FBQyxJQUFJLENBQUMsWUFBWTtZQUNyQyxPQUFPO1FBRVgsNEdBQTRHO1FBQzVHLHVFQUF1RTtRQUN2RSxJQUFJLENBQUMsTUFBTSxDQUFDLGFBQWEsQ0FBQyxLQUFLLENBQUMsS0FBSyxHQUFHLENBQUMsSUFBSSxDQUFDLFdBQVcsR0FBRyxNQUFNLENBQUMsS0FBSyxDQUFDLEdBQUcsSUFBSSxDQUFDO1FBRWpGLDRDQUE0QztRQUM1QyxNQUFNLENBQUMsY0FBYyxFQUFFLENBQUM7SUFDNUIsQ0FBQzs7O1lBbE5KLFNBQVMsU0FBQztnQkFDUCxRQUFRLEVBQUUsU0FBUztnQkFDbkIseXNCQUFxQztnQkFDckMsZUFBZSxFQUFFLHVCQUF1QixDQUFDLE1BQU07YUFDbEQ7OztZQVRnRCxVQUFVO1lBQWEsU0FBUzs7O2lCQXFDNUUsS0FBSyxTQUFDLE9BQU87b0JBS2IsS0FBSzt3QkFLTCxLQUFLO3NCQUtMLEtBQUs7d0JBS0wsS0FBSzsrQkFNTCxLQUFLO3NCQUtMLEtBQUs7bUJBR0wsS0FBSztvQkFHTCxLQUFLO3VCQUtMLEtBQUs7NEJBS0wsTUFBTTtzQkFLTixTQUFTLFNBQUMsU0FBUyxFQUFFLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRTtzQkEyQnRDLEtBQUs7d0JBMkVMLFlBQVksU0FBQyx5QkFBeUI7MEJBYXRDLFlBQVksU0FBQywyQkFBMkIsRUFBRSxDQUFDLFFBQVEsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8vQW5ndWxhclxyXG5pbXBvcnQgeyBDb21wb25lbnQsIElucHV0LCBPdXRwdXQsIEV2ZW50RW1pdHRlciwgRWxlbWVudFJlZiwgVmlld0NoaWxkLCBSZW5kZXJlcjIsIEhvc3RMaXN0ZW5lciwgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kgfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xyXG5cclxuLyoqXHJcbiAqIENvbXBvbmVudGUgcmFwcHJlc2VudGFudGUgdW5hIENvbG9ubmEgZGVsbGEgdGFiZWxsYVxyXG4gKi9cclxuQENvbXBvbmVudCh7XHJcbiAgICBzZWxlY3RvcjogXCJbZXMtdGhdXCIsXHJcbiAgICB0ZW1wbGF0ZVVybDogXCIuL2VzX3RoLmNvbXBvbmVudC5odG1sXCIsXHJcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaFxyXG59KVxyXG5leHBvcnQgY2xhc3MgRXNUaCB7XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBEaXppb25hcmlvIGRpIG1hcHBhdHVyYSBjb24gb3JkaW5hbWVudG8gYXR0dWFsZSBlIG9yZGluYW1lbnRvIHN1Y2Nlc3Npdm8gcGVyIGdlc3RpcmUgaSBwYXNzYWdnaSBkaSBzdGF0b1xyXG4gICAgICovXHJcbiAgICBwcml2YXRlIG9yZGVyTmV4dDogeyBbaW5kZXg6IHN0cmluZ106ICdERVNDJyB8ICdBU0MnIHwgbnVsbCB9ID0geyBcIk5PTkVcIjogXCJERVNDXCIsIFwiREVTQ1wiOiBcIkFTQ1wiLCBcIkFTQ1wiOiBudWxsIH07XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBJbmRpY2F6aW9uZSBzdWxsYSB2aXNpYmlsaXTDoCBkZWxsYSBjb2xvbm5hXHJcbiAgICAgKi9cclxuICAgIHByaXZhdGUgX1Zpc2libGU6IGJvb2xlYW47XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBJbmRpY2Egc2Ugc2kgc3RhIGVmZmV0dHVhbmRvIHVuJ29wZXJhemlvbmUgZGkgcmVzaXplIHN1IHF1ZXN0YSBjb2xvbm5hXHJcbiAgICAgKi9cclxuICAgIHByaXZhdGUgcmVzaXppbmdUaGlzOiBib29sZWFuID0gZmFsc2U7XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBTdG9yaWNpenphIGwnb2Zmc2V0IGRpIHBhcnRlbnphIGRlbCByZXNpemUgZGVsbCdlbGVtZW50byBIVE1MIHBlciBwb3RlciBjYWxjb2xhcmUgbGEgbnVvdmEgZGltZW5zaW9uZSByaWNoaWVzdGEgZHVyZW50ZSBpbCByZXNpemUgXHJcbiAgICAgKiBcclxuICAgICAqIG51b3ZhIHdpZHRoID0gc3RhcnRPZmZzZXQgKyBwb3NpemlvbmUgWCBkZWwgbW91c2VcclxuICAgICAqL1xyXG4gICAgcHJpdmF0ZSBzdGFydE9mZnNldDogbnVtYmVyID0gbnVsbDtcclxuXHJcbiAgICAvKipcclxuICAgICAqIElkIGRlbGxhIGNvbG9ubmEsIGRldidlc3NlcmUgbG8gc3Rlc3NvIHBlciB0dXR0aSBnbGkgKipFc1RkKiogcmVsYXRpdmlcclxuICAgICAqL1xyXG4gICAgQElucHV0KCdlcy10aCcpIElEOiBzdHJpbmcgPSBcIlwiO1xyXG5cclxuICAgIC8qKlxyXG4gICAgICogT3JkaW5hbWVudG8gYXR0dWFsZSBkZWxsYSBjb2xvbm5hXHJcbiAgICAgKi9cclxuICAgIEBJbnB1dCgpIE9yZGVyPzogJ0RFU0MnIHwgJ0FTQyc7XHJcbiAgICBcclxuICAgIC8qKlxyXG4gICAgICogSW5kaWNhIHNlIHF1ZXN0YSBjb2xvbm5hIMOoIG9yZGluYWJpbGUgbyBtZW5vXHJcbiAgICAgKi9cclxuICAgIEBJbnB1dCgpIE9yZGVyYWJsZTogYm9vbGVhbiA9IHRydWU7XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBWYWxvcmUgZGEgbW9zdHJhcmUgYWxsJ2ludGVybm8gZGVsbGEgY29sb25uYS4gU2Ugb21lc3NvIHZlcnLDoCBwcm9pZXR0YXRvIGlsIGNvbnRlbnV0byBkYWwgdGVtcGxhdGUgaW4gY3VpIMOoIHN0YXRhIHVzYXRhXHJcbiAgICAgKi9cclxuICAgIEBJbnB1dCgpIERpc3BsYXk6IHN0cmluZyA9XCJcIjtcclxuXHJcbiAgICAvKipcclxuICAgICAqIEluZGljYSBzZSBsZSBkaW1uc2lvbmkgZGkgcXVlc3RhIGNvbG9ubmEgc29ubyBtb2RpZmljYWJpbGkgbyBtZW5vXHJcbiAgICAgKi9cclxuICAgIEBJbnB1dCgpIFJlc2l6YWJsZTogYm9vbGVhbiA9IGZhbHNlO1xyXG5cclxuICAgIC8qKlxyXG4gICAgICogSW5kaWNhIHNlIHN0YSB2ZW5lbmRvIGVzZWd1aXRhIHVuYSBvcGVyYXppb25lIGRpIHJpY2VyY2EgbyBtZW5vLCBzZXJ2ZSBwZXIgZXZpdGFyZSBsJ2VzZWN1emlvbmUgZGkgZXZlbnR1YWxlIGNvZGljZSBjaGUgcG90cmViYmUgZGFyZSBmYXN0aWRpbyBcclxuICAgICAqIGNvbWUgYWQgZXNlbXBpbyBsJ2VzY3V6aW9uZSBkaSB1biBvcmRpbmFtZW50byBkdXJhbnRlIGlsIGNhcmljYW1lbnRvIGRpIGRhdGkgbnVvdmlcclxuICAgICAqL1xyXG4gICAgQElucHV0KCkgU2VhcmNoSW5Qcm9ncmVzczogYm9vbGVhbiA9IGZhbHNlO1xyXG5cclxuICAgIC8qKlxyXG4gICAgICogSW1wb3N0YXRvIGRhbGwnKipFc1RhYmxlKiosIHNlcnZlIHBlciBwZXJtZXR0ZXJlIG8gbWVubyBkaSBlZmZldHR1YXJlIG9yZGluYW1lbnRpIGRhdGkgc3UgcXVlc3RhIGNvbG9ubmFcclxuICAgICAqL1xyXG4gICAgQElucHV0KCkgT3JkZXJCeTogYm9vbGVhbjtcclxuXHJcbiAgICAvKiogSW5kaWNhIHNlIGlsIHRlc3RvIHByZXNlbnRlIGluIHF1ZXN0byBIZWFkZXIgcHXDsiBhbmRhcmUgYSBjYXBvIG8gbWVubywgZGkgZGVmYXVsdCBub24gcHXDsiAqL1xyXG4gICAgQElucHV0KCkgV3JhcDogYm9vbGVhbiA9IGZhbHNlO1xyXG5cclxuICAgIC8qKiBJbmRpY2Egc2UgbGEgY29sb25uYSDDqCBmaXhlZCwgY2lvw6ggc2Ugbm9uIHB1w7IgbsOpIGVzc2VyZSBuYXNjb3N0YSwgbsOpIHJpcG9zaXppb25hdGEuIFNvbG8gbGUgcHJpbWUgY29sb25uZSBwb3Nzb25vIGVzc2VyZSBGaXhlZCAqL1xyXG4gICAgQElucHV0KCkgRml4ZWQ6IGJvb2xlYW4gPSBmYWxzZTtcclxuXHJcbiAgICAvKipcclxuICAgICAqIFRlbXBsYXRlIEFuZ3VsYXIgZGEgaXN0YW56aWFyZSBwZXIgcXVlc3RvIFRIXHJcbiAgICAgKi9cclxuICAgIEBJbnB1dCgpIFRlbXBsYXRlPzogYW55ID0gbnVsbDtcclxuXHJcbiAgICAvKipcclxuICAgICAqIEV2ZW50byBlbWVzc28gYWwgY2FtYmlvIGRpIG9yZGluYW1lbnRvIGVmZmV0dHVhdG8gc3UgcXVlc3RhIGNvbG9ubmFcclxuICAgICAqL1xyXG4gICAgQE91dHB1dCgpIHB1YmxpYyBvbk9yZGVyQ2hhbmdlOiBFdmVudEVtaXR0ZXI8J0RFU0MnIHwgJ0FTQycgfCBudWxsPiA9IG5ldyBFdmVudEVtaXR0ZXI8J0RFU0MnIHwgJ0FTQycgfCBudWxsPigpO1xyXG5cclxuICAgIC8qKlxyXG4gICAgICogUHJvaWV6aW9uZSBkZWwgY29udGVudXRvIGRpIHF1ZXN0YSBjb2xvbm5hXHJcbiAgICAgKi9cclxuICAgIEBWaWV3Q2hpbGQoXCJjb250ZW50XCIsIHsgc3RhdGljOiBmYWxzZSB9KSBjb250ZW50OiBFbGVtZW50UmVmO1xyXG5cclxuICAgIC8qKlxyXG4gICAgICogQ2xhc3NpIGRhIGFwcGxpY2FyZSBhbGxhIGNvbG9ubmFcclxuICAgICAqL1xyXG4gICAgcHVibGljIENsYXNzOiBzdHJpbmc7XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBJbXBvc3RhdG8gZGFsbCcqKkVzVGFibGUqKiwgcGVyIGNvbnRyb2xsYXJlIGNoZSBjaSBzaWEgYWxtZW5vIHVuIFREIGNoZSB1dGlsaXp6aSBxdWVzdCdoZWFkZXJcclxuICAgICAqL1xyXG4gICAgcHVibGljIFJlZmVyZW5jZWQ6IGJvb2xlYW4gPSBmYWxzZTtcclxuXHJcbiAgICAvKipcclxuICAgICAqIFZhcmlhYmlsZSBmaW5hbGUgc3UgY3VpIMOoIGJpbmRhdG8gaWwgY29udGVudXRvIGRlbGxhIGNlbGxhLiBTYXLDoCB2YWxvcml6emF0byBhICoqRGlzcGxheSoqIHNlIHNwZWNpZmljYXRvLCBhbGwnKippbm5lckhUTUwqKiBkZWxsJ2VsZW1lbnRvIHByb2lldHRhdG8gYWx0cmltZW50aVxyXG4gICAgICovXHJcbiAgICBwdWJsaWMgRGVzY3JpcHRpb246IHN0cmluZztcclxuXHJcbiAgICAvKipcclxuICAgICAqIEBpZ25vcmVcclxuICAgICAqL1xyXG4gICAgY29uc3RydWN0b3IocHJpdmF0ZSBteXNlbGY6IEVsZW1lbnRSZWYsIHByaXZhdGUgcmVuZGVyZXI6IFJlbmRlcmVyMikgeyB9XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBJbXBvc3RhIGxhIHZpc2liaWxpdMOgIG8gbWVubyBkZWxsYSBjb2xvbm5hLCBzaSB0cmFkdWNlIG5lbGwnYXBwbGljYXppb25lIG8gcmltb3ppb25lIGRlbGxhIGNsYXNzZSAqKmFwcC1kaXNwbGF5LW5vbmUqKlxyXG4gICAgICogXHJcbiAgICAgKiBAcGFyYW0ge2Jvb2xlYW59IGV4cHJlc3Npb24gSW5kaWNhemlvbmUgZGVsbGEgdmlzaWJpbGl0w6BcclxuICAgICAqL1xyXG4gICAgQElucHV0KCkgc2V0IFZpc2libGUoZXhwcmVzc2lvbjogYm9vbGVhbikge1xyXG4gICAgICAgIHRoaXMuX1Zpc2libGUgPSBleHByZXNzaW9uO1xyXG5cclxuICAgICAgICBpZiAoZXhwcmVzc2lvbilcclxuICAgICAgICAgICAgdGhpcy5yZW5kZXJlci5yZW1vdmVDbGFzcyh0aGlzLm15c2VsZi5uYXRpdmVFbGVtZW50LCBcImFwcC1kaXNwbGF5LW5vbmVcIik7XHJcbiAgICAgICAgZWxzZVxyXG4gICAgICAgICAgICB0aGlzLnJlbmRlcmVyLmFkZENsYXNzKHRoaXMubXlzZWxmLm5hdGl2ZUVsZW1lbnQsIFwiYXBwLWRpc3BsYXktbm9uZVwiKTtcclxuICAgIH1cclxuXHJcbiAgICAvKipcclxuICAgICAqIFJlc3RpdHVpc2NlIGxvIHN0YXRvIGRpIFZpc2liaWxpdMOgIGRlbGxhIGNvbG9ubmEgaW4gb2dnZXR0b1xyXG4gICAgICogXHJcbiAgICAgKiBAcmV0dXJucyB7Ym9vbGVhbn0gKip0cnVlKiogc2UgdmlzaWJpbGUsICoqZmFsc2UqKiBhbHRyaW1lbnRpXHJcbiAgICAgKi9cclxuICAgIGdldCBWaXNpYmxlKCk6IGJvb2xlYW4ge1xyXG4gICAgICAgIGlmICh0aGlzLl9WaXNpYmxlID09IHVuZGVmaW5lZClcclxuICAgICAgICAgICAgdGhpcy5fVmlzaWJsZSA9IHRydWU7XHJcblxyXG4gICAgICAgIHJldHVybiB0aGlzLl9WaXNpYmxlO1xyXG4gICAgfVxyXG5cclxuICAgIC8qKlxyXG4gICAgICogQGlnbm9yZVxyXG4gICAgICovXHJcbiAgICBuZ0FmdGVyVmlld0luaXQoKSB7XHJcbiAgICAgICAgLy9Bc3NlZ25hcmUgZGlyZXR0YW1lbnRlIGlsIGNvbnRlbnQgw6ggcGnDuSB2ZWxvY2UgY2hlIHBhc3NhcmUgZGFsIG5hdGl2ZSBlbGVtZW50IHBlciBxdWFsY2hlIG1vdGl2b1xyXG4gICAgICAgIHRoaXMuRGVzY3JpcHRpb24gPSB0aGlzLkRpc3BsYXkgPT09IG51bGwgfHwgdGhpcy5EaXNwbGF5ID09PSBcIlwiID8gdGhpcy5jb250ZW50Lm5hdGl2ZUVsZW1lbnQuaW5uZXJUZXh0IDogdGhpcy5EaXNwbGF5O1xyXG5cclxuICAgICAgICB0aGlzLkNsYXNzID0gdGhpcy5teXNlbGYubmF0aXZlRWxlbWVudC5jbGFzc05hbWUucmVwbGFjZShcImFwcC1kaXNwbGF5LW5vbmVcIiwgXCJcIik7XHJcblxyXG4gICAgICAgIC8vUmVzaXplXHJcbiAgICAgICAgaWYgKHRoaXMuUmVzaXphYmxlKVxyXG4gICAgICAgICAgICB0aGlzLnJlbmRlcmVyLmFkZENsYXNzKHRoaXMubXlzZWxmLm5hdGl2ZUVsZW1lbnQsIFwiYXBwLXJlbGF0aXZlXCIpO1xyXG4gICAgfVxyXG5cclxuICAgIC8qKlxyXG4gICAgICogR2VzdGlzY2UgbGEgbW9kaWZpY2EgZGVsbCdvcmRpbmFtZW50byBxdWFsb3JhIHZlbmlzc2UgY2xpY2NhdG8gc3UgcXVlc3RhIGNvbG9ubmFcclxuICAgICAqL1xyXG4gICAgc2V0dXBOZXh0T3JkZXJBbmROb3RpZnkoKSB7XHJcbiAgICAgICAgaWYgKCF0aGlzLklEKSB7XHJcbiAgICAgICAgICAgIGNvbnNvbGUubG9nKFwiQXR0ZW1wdCB0byBvcmRlciBhIGNvbHVtbiB3aXRob3V0IElELiBPcGVyYXRpb24gaWdub3JlZFwiKTtcclxuICAgICAgICAgICAgcmV0dXJuO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgaWYodGhpcy5TZWFyY2hJblByb2dyZXNzKVxyXG4gICAgICAgIHtcclxuICAgICAgICAgICAgY29uc29sZS5sb2coXCJBdHRlbXB0IHRvIG9yZGVyIGEgY29sdW1uIGR1cmluZyBhIHNlYXJjaC4gT3BlcmF0aW9uIGlnbm9yZWRcIik7XHJcbiAgICAgICAgICAgIHJldHVybjtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIGlmICghdGhpcy5PcmRlckJ5IHx8ICF0aGlzLk9yZGVyYWJsZSlcclxuICAgICAgICAgICAgcmV0dXJuO1xyXG5cclxuICAgICAgICB2YXIgbmV4dE9yZGVyID0gdGhpcy5vcmRlck5leHRbdGhpcy5PcmRlciB8fCBcIk5PTkVcIl07XHJcbiAgICAgICAgdGhpcy5PcmRlciA9IG5leHRPcmRlcjtcclxuXHJcbiAgICAgICAgdGhpcy5vbk9yZGVyQ2hhbmdlLmVtaXQodGhpcy5PcmRlcik7XHJcbiAgICB9XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBFdmVudG8gZGkgaW5pemlvIHJlc2l6ZSBkZWxsYSBjb2xvbm5hXHJcbiAgICAgKiBcclxuICAgICAqIEBwYXJhbSB7YW55fSBldiBFdmVudG8gTW91c2VEb3duXHJcbiAgICAgKi9cclxuICAgIG9uUmVzaXplU3RhcnQoZXYpIHtcclxuICAgICAgICBpZiAoIXRoaXMuUmVzaXphYmxlKVxyXG4gICAgICAgICAgICByZXR1cm47XHJcblxyXG4gICAgICAgIHRoaXMucmVzaXppbmdUaGlzID0gdHJ1ZTtcclxuICAgICAgICB0aGlzLnN0YXJ0T2Zmc2V0ID0gdGhpcy5teXNlbGYubmF0aXZlRWxlbWVudC5vZmZzZXRXaWR0aCAtIGV2LnBhZ2VYO1xyXG4gICAgfVxyXG5cclxuICAgIC8qKlxyXG4gICAgICogTGlzdGVuZXIgcGVyIGxhIGZpbmUgZGVsbCdvcGVyYXppb25lIGRpIHJlc2l6ZVxyXG4gICAgICovXHJcbiAgICBASG9zdExpc3RlbmVyKCd3aW5kb3c6bW91c2V1cC5vdXQtem9uZScpXHJcbiAgICBwdWJsaWMgb25Nb3VzZVVwKCk6IHZvaWQge1xyXG4gICAgICAgIGlmICghdGhpcy5SZXNpemFibGUpXHJcbiAgICAgICAgICAgIHJldHVybjtcclxuXHJcbiAgICAgICAgdGhpcy5yZXNpemluZ1RoaXMgPSBmYWxzZTtcclxuICAgIH1cclxuXHJcbiAgICAvKipcclxuICAgICAqIExpc3RlbmVyIHBlciBnZXN0aXJlIGlsIG1vdmltZW50byBkZWwgbW91c2UgcXVhbG9yYSB1bidvcGVyYXppb25lIGRpIHJlc2l6ZSBmb3NzZSBpbiBlc2VjdXppb25lXHJcbiAgICAgKiBcclxuICAgICAqIEBwYXJhbSB7JGV2ZW50fSBldiBFdmVudG8gTW91c2VNb3ZlXHJcbiAgICAgKi9cclxuICAgIEBIb3N0TGlzdGVuZXIoJ3dpbmRvdzptb3VzZW1vdmUub3V0LXpvbmUnLCBbJyRldmVudCddKVxyXG4gICAgcHVibGljIG9uTW91c2VNb3ZlKCRldmVudCk6IHZvaWQge1xyXG4gICAgICAgIGlmICghdGhpcy5SZXNpemFibGUgfHwgIXRoaXMucmVzaXppbmdUaGlzKVxyXG4gICAgICAgICAgICByZXR1cm47XHJcblxyXG4gICAgICAgIC8vVXNvIGpxdWVyeSBwZXIgbm9uIGRvdmVyIGZhciBwYXJ0aXJlIHVuIGludGVybyBjaWNsbyBkaSBjaGFuZ2UgZGV0ZWN0aW9uIHNvbG8gcGVyIGZhcmUgdW4gcmVzaXplIGRlbCBjYXp6b1xyXG4gICAgICAgIC8vKGFuY2hlIHBlcmNow6kgdmllbmUgbGFuY2lhdG8gb2duaSAwLjEgc2Vjb25kbyBxdWluZGkgbm90IGEgZ29vZCBpZGVhKVxyXG4gICAgICAgIHRoaXMubXlzZWxmLm5hdGl2ZUVsZW1lbnQuc3R5bGUud2lkdGggPSAodGhpcy5zdGFydE9mZnNldCArICRldmVudC5wYWdlWCkgKyBcInB4XCI7XHJcblxyXG4gICAgICAgIC8vRmVybW8gaWwgYnViYmxpbmcgcGVyIG5vbiBmYXJlIGNvc2Ugc3RyYW5lXHJcbiAgICAgICAgJGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XHJcbiAgICB9XHJcbn0iXX0=
|
|
@@ -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,21 +0,0 @@
|
|
|
1
|
-
import { TemplateRef } from "@angular/core";
|
|
2
|
-
/**
|
|
3
|
-
* Definizione di una colonna
|
|
4
|
-
*/
|
|
5
|
-
export declare class EsTableColumn {
|
|
6
|
-
id: string;
|
|
7
|
-
description: string;
|
|
8
|
-
visible: boolean;
|
|
9
|
-
fixed: boolean;
|
|
10
|
-
template: TemplateRef<any>;
|
|
11
|
-
/**
|
|
12
|
-
* Costruttore
|
|
13
|
-
*
|
|
14
|
-
* @param {string} id Id colonna
|
|
15
|
-
* @param {string} description Descrizione (Header)
|
|
16
|
-
* @param {boolean} visible Indica se di default mostrarla o meno
|
|
17
|
-
* @param {boolean} fixed Indica se è una colonna fixed
|
|
18
|
-
* @param {TemplateRef<any>} template Indica il template da usare per mostrare il testo dell'Header
|
|
19
|
-
*/
|
|
20
|
-
constructor(id: string, description: string, visible: boolean, fixed: boolean, template: TemplateRef<any>);
|
|
21
|
-
}
|