@esfaenza/es-table 11.2.150 → 11.2.152

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.
@@ -1,8 +1,8 @@
1
1
  (function (global, factory) {
2
- typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports, require('@angular/core'), require('@esfaenza/localizations'), require('@esfaenza/extensions'), require('@angular/forms'), require('@esfaenza/preferences'), require('@angular/cdk/drag-drop'), require('rxjs'), require('@angular/common'), require('@angular/router'), require('@angular/material/select'), require('@angular/material/input'), require('@angular/material/tooltip'), require('@esfaenza/forms-and-validations'), require('ngx-bootstrap/modal'), require('ngx-bootstrap/dropdown'), require('@esfaenza/ngx-contextmenu')) :
3
- typeof define === 'function' && define.amd ? define('@esfaenza/es-table', ['exports', '@angular/core', '@esfaenza/localizations', '@esfaenza/extensions', '@angular/forms', '@esfaenza/preferences', '@angular/cdk/drag-drop', 'rxjs', '@angular/common', '@angular/router', '@angular/material/select', '@angular/material/input', '@angular/material/tooltip', '@esfaenza/forms-and-validations', 'ngx-bootstrap/modal', 'ngx-bootstrap/dropdown', '@esfaenza/ngx-contextmenu'], factory) :
4
- (global = typeof globalThis !== 'undefined' ? globalThis : global || self, factory((global.esfaenza = global.esfaenza || {}, global.esfaenza['es-table'] = {}), global.ng.core, global.localizations, global.i1, global.ng.forms, global.preferences, global.ng.cdk.dragDrop, global.rxjs, global.ng.common, global.ng.router, global.ng.material.select, global.ng.material.input, global.ng.material.tooltip, global.formsAndValidations, global.modal, global.dropdown, global.ngxContextmenu));
5
- }(this, (function (exports, i0, localizations, i1, forms, preferences, dragDrop, rxjs, common, router, select, input, tooltip, formsAndValidations, modal, dropdown, ngxContextmenu) { 'use strict';
2
+ typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports, require('@angular/core'), require('@esfaenza/localizations'), require('@esfaenza/extensions'), require('@angular/forms'), require('@esfaenza/preferences'), require('rxjs'), require('@angular/cdk/drag-drop'), require('@angular/common'), require('@angular/router'), require('@angular/material/select'), require('@angular/material/input'), require('@angular/material/tooltip'), require('@esfaenza/forms-and-validations'), require('ngx-bootstrap/modal'), require('ngx-bootstrap/dropdown'), require('@esfaenza/ngx-contextmenu')) :
3
+ typeof define === 'function' && define.amd ? define('@esfaenza/es-table', ['exports', '@angular/core', '@esfaenza/localizations', '@esfaenza/extensions', '@angular/forms', '@esfaenza/preferences', 'rxjs', '@angular/cdk/drag-drop', '@angular/common', '@angular/router', '@angular/material/select', '@angular/material/input', '@angular/material/tooltip', '@esfaenza/forms-and-validations', 'ngx-bootstrap/modal', 'ngx-bootstrap/dropdown', '@esfaenza/ngx-contextmenu'], factory) :
4
+ (global = typeof globalThis !== 'undefined' ? globalThis : global || self, factory((global.esfaenza = global.esfaenza || {}, global.esfaenza['es-table'] = {}), global.ng.core, global.localizations, global.i1, global.ng.forms, global.preferences, global.rxjs, global.ng.cdk.dragDrop, global.ng.common, global.ng.router, global.ng.material.select, global.ng.material.input, global.ng.material.tooltip, global.formsAndValidations, global.modal, global.dropdown, global.ngxContextmenu));
5
+ }(this, (function (exports, i0, localizations, i1, forms, preferences, rxjs, dragDrop, common, router, select, input, tooltip, formsAndValidations, modal, dropdown, ngxContextmenu) { 'use strict';
6
6
 
7
7
  /******************************************************************************
8
8
  Copyright (c) Microsoft Corporation.
@@ -757,7 +757,15 @@
757
757
 
758
758
  var ThTdProvider = /** @class */ (function () {
759
759
  function ThTdProvider() {
760
+ this.LoadedSignal = new rxjs.Subject();
760
761
  }
762
+ ThTdProvider.prototype.setLoaded = function () {
763
+ var _this = this;
764
+ requestAnimationFrame(function () {
765
+ _this.LoadedSignal.next();
766
+ _this.LoadedSignal.complete();
767
+ });
768
+ };
761
769
  return ThTdProvider;
762
770
  }());
763
771
  ThTdProvider.decorators = [
@@ -4403,35 +4411,48 @@
4403
4411
  /** @ignore */
4404
4412
  EsTableComponent.prototype.ngAfterViewInit = function () {
4405
4413
  var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o;
4406
- // Se utilizzo la new spicy mode deduco tutti i parametri di lavoro possibili al caricamento della tabella
4407
- // Vengono sovrascritte solo le proprietà non impostate dall'utente
4408
- this.EsTds = (this.EsTdsDirective.length == 0 ? ((_c = (_b = (_a = this.EsTableTemplate) === null || _a === void 0 ? void 0 : _a.Template) === null || _b === void 0 ? void 0 : _b.EsTdsDirective) === null || _c === void 0 ? void 0 : _c.length) > 0 ? (_e = (_d = this.EsTableTemplate) === null || _d === void 0 ? void 0 : _d.Template) === null || _e === void 0 ? void 0 : _e.EsTdsDirective : this.EsTdsDirective : this.EsTdsDirective).toArray();
4409
- this.EsThs = (this.EsThsDirective.length == 0 ? ((_h = (_g = (_f = this.EsTableTemplate) === null || _f === void 0 ? void 0 : _f.Template) === null || _g === void 0 ? void 0 : _g.EsThsDirective) === null || _h === void 0 ? void 0 : _h.length) > 0 ? (_k = (_j = this.EsTableTemplate) === null || _j === void 0 ? void 0 : _j.Template) === null || _k === void 0 ? void 0 : _k.EsThsDirective : this.EsThsDirective : this.EsThsDirective).toArray();
4410
- if (((_l = this.ThTdProvider) === null || _l === void 0 ? void 0 : _l.length) > 0) {
4411
- this.EsTds = __spread(this.EsTds, this.ThTdProvider.map(function (t) { return t.EsTdsDirective.toArray(); }).flat());
4412
- this.EsThs = __spread(this.EsThs, this.ThTdProvider.map(function (t) { return t.EsThsDirective.toArray(); }).flat());
4413
- }
4414
- var usesThsAndTdsDirectives = ((_m = this.EsTds) === null || _m === void 0 ? void 0 : _m.length) > 0 && ((_o = this.EsThs) === null || _o === void 0 ? void 0 : _o.length) > 0;
4415
- var hasNoContentProjection = !this.bodyRef && !this.headerRef && !this.headerGroupRef && !this.secondaryHeaderGroupRef;
4416
- if (usesThsAndTdsDirectives || hasNoContentProjection) {
4417
- if (this.UseCustomCells == null)
4418
- this.UseCustomCells = true;
4419
- if (this.HiddenColumns == null && this.UseCustomCells)
4420
- this.HiddenColumns = true;
4421
- if (this.ColumnsOrdering == null && this.UseCustomCells)
4422
- this.ColumnsOrdering = true;
4423
- if (this.OrderByColumn == null && this.UseCustomCells)
4424
- this.OrderByColumn = true;
4425
- if (this.SelectAll == null && this.Selection)
4426
- this.SelectAll = true;
4427
- if (this.ShiftClick == null && this.Selection)
4428
- this.ShiftClick = true;
4429
- this.DirectivesBased = true;
4430
- }
4431
- //Per poter cambiare il layout in base al livello gerarchico il componente deva avere il pieno controllo di ogni cella,
4432
- //che con solo la proiezione (senza celle cusotm) non è disponibile
4433
- if (this.Hierarchy && !this.UseCustomCells)
4434
- throw "Es-table error: Per poter utilizzare l'es-table con [Hierarchy]=\"true\" è richiesto anche [UseCustomCells]=\"true\"";
4414
+ return __awaiter(this, void 0, void 0, function () {
4415
+ var usesThsAndTdsDirectives, hasNoContentProjection;
4416
+ return __generator(this, function (_u) {
4417
+ switch (_u.label) {
4418
+ case 0:
4419
+ // Se utilizzo la new spicy mode deduco tutti i parametri di lavoro possibili al caricamento della tabella
4420
+ // Vengono sovrascritte solo le proprietà non impostate dall'utente
4421
+ this.EsTds = (this.EsTdsDirective.length == 0 ? ((_c = (_b = (_a = this.EsTableTemplate) === null || _a === void 0 ? void 0 : _a.Template) === null || _b === void 0 ? void 0 : _b.EsTdsDirective) === null || _c === void 0 ? void 0 : _c.length) > 0 ? (_e = (_d = this.EsTableTemplate) === null || _d === void 0 ? void 0 : _d.Template) === null || _e === void 0 ? void 0 : _e.EsTdsDirective : this.EsTdsDirective : this.EsTdsDirective).toArray();
4422
+ this.EsThs = (this.EsThsDirective.length == 0 ? ((_h = (_g = (_f = this.EsTableTemplate) === null || _f === void 0 ? void 0 : _f.Template) === null || _g === void 0 ? void 0 : _g.EsThsDirective) === null || _h === void 0 ? void 0 : _h.length) > 0 ? (_k = (_j = this.EsTableTemplate) === null || _j === void 0 ? void 0 : _j.Template) === null || _k === void 0 ? void 0 : _k.EsThsDirective : this.EsThsDirective : this.EsThsDirective).toArray();
4423
+ if (!(((_l = this.ThTdProvider) === null || _l === void 0 ? void 0 : _l.length) > 0)) return [3 /*break*/, 2];
4424
+ return [4 /*yield*/, rxjs.forkJoin(this.ThTdProvider.map(function (t) { return t.LoadedSignal; })).toPromise()];
4425
+ case 1:
4426
+ _u.sent();
4427
+ this.EsTds = __spread(this.EsTds, this.ThTdProvider.map(function (t) { return t.EsTdsDirective.toArray(); }).flat());
4428
+ this.EsThs = __spread(this.EsThs, this.ThTdProvider.map(function (t) { return t.EsThsDirective.toArray(); }).flat());
4429
+ _u.label = 2;
4430
+ case 2:
4431
+ usesThsAndTdsDirectives = ((_m = this.EsTds) === null || _m === void 0 ? void 0 : _m.length) > 0 && ((_o = this.EsThs) === null || _o === void 0 ? void 0 : _o.length) > 0;
4432
+ hasNoContentProjection = !this.bodyRef && !this.headerRef && !this.headerGroupRef && !this.secondaryHeaderGroupRef;
4433
+ if (usesThsAndTdsDirectives || hasNoContentProjection) {
4434
+ if (this.UseCustomCells == null)
4435
+ this.UseCustomCells = true;
4436
+ if (this.HiddenColumns == null && this.UseCustomCells)
4437
+ this.HiddenColumns = true;
4438
+ if (this.ColumnsOrdering == null && this.UseCustomCells)
4439
+ this.ColumnsOrdering = true;
4440
+ if (this.OrderByColumn == null && this.UseCustomCells)
4441
+ this.OrderByColumn = true;
4442
+ if (this.SelectAll == null && this.Selection)
4443
+ this.SelectAll = true;
4444
+ if (this.ShiftClick == null && this.Selection)
4445
+ this.ShiftClick = true;
4446
+ this.DirectivesBased = true;
4447
+ }
4448
+ //Per poter cambiare il layout in base al livello gerarchico il componente deva avere il pieno controllo di ogni cella,
4449
+ //che con solo la proiezione (senza celle cusotm) non è disponibile
4450
+ if (this.Hierarchy && !this.UseCustomCells)
4451
+ throw "Es-table error: Per poter utilizzare l'es-table con [Hierarchy]=\"true\" è richiesto anche [UseCustomCells]=\"true\"";
4452
+ return [2 /*return*/];
4453
+ }
4454
+ });
4455
+ });
4435
4456
  };
4436
4457
  /** @ignore */
4437
4458
  EsTableComponent.prototype.ngOnDestroy = function () {
@@ -4714,81 +4735,93 @@
4714
4735
  };
4715
4736
  /** Per poter distinguere le chiamate a questo metodo: Dopo il setTimeout se uso gli EsTd/EsTh vecchi, senza il setTimeout se uso le nuove direttive */
4716
4737
  EsTableComponent.prototype.internalPostBoundSource = function () {
4717
- var _a;
4718
- var View = this.View;
4719
- // Se non ho colonne dinamiche ma sono in modalità dinamica (lo capisco perché c'è una view piena di genericitem) metto il default delle colonne
4720
- this.dynamicMode_H.eventuallyReviewDynamicColumns();
4721
- // Gestisce la richiesta per gruppi o per singoli oggetti
4722
- this.bindDisplayToLoadedItemsOrGroups(View);
4723
- // Questo dev'essere per forza lanciato dopo **bindDisplayToLoadedItemsOrGroups** dato che è lì che alcune cose vengono valorizzate
4724
- this.setupPagingInformations();
4725
- // Molte cose sono ovviamente disponibili solo in modalità View
4726
- if ((this.viewMode || this.arrayMode) && this.UseCustomCells) {
4727
- var view = this.viewMode ? View : null;
4728
- var itemsAndGroups = this.viewMode ? __spread((view.items || []), (view.groups || [])) : View;
4729
- var si = this.viewMode ? view.selection : this.arraymodeSelection;
4730
- // N.B: Rispettare l'ordine di queste 3 macrocategorie è VITALE
4731
- // ************************************* Sistemazioni di TH, TD, e visibilità varie *************************************
4732
- // Se ho definizioni dinamiche, prima di qualsiasi altra cosa devo trasformarle in th/td in modo che poi il codice qui sotto faccia le sue magie
4733
- if (((_a = this.DynamicRowColumnsDefinition) === null || _a === void 0 ? void 0 : _a.length) > 0) {
4734
- this.logger.log("Generating ths and tds from Dynamic definition");
4735
- var ret_1 = this.dynamicMode_H.emitThsAndTdsBasedOnDynamicDefinition();
4736
- this.EsThs = ret_1.ths;
4737
- this.EsTds = ret_1.tds;
4738
- }
4739
- // Gestione delle view in modalità report, i th e i td vengono rigenerati dalle configurazioni della view
4740
- if (!this.arrayMode && view.report_columns) {
4741
- this.logger.log("Generating ths and tds from report results");
4742
- var ret_2 = this.reportMode_H.generateThsAndTdsFromView(view);
4743
- this.EsThs = ret_2.ths;
4744
- this.EsTds = ret_2.tds;
4745
- }
4746
- // Espando i th e i td multipli duplicandoli
4747
- var ret = this.columnMetadata_H.expandMultiThsAndTds(this.EsThs, this.EsTds, itemsAndGroups);
4748
- this.EsThs = ret.expThs;
4749
- this.EsTds = ret.expTds;
4750
- // Genero la cache dei th da usare da qui in poi, dopo avergli lasciato fare le sue cose in caso ci siano dei multi o dei report
4751
- for (var i = 0; i < this.EsThs.length; i++) {
4752
- var th = this.EsThs[i];
4753
- this.thsCache[th.th] = th;
4754
- }
4755
- this.thsCacheSet = true;
4756
- // Prepassaggio per tirare fuori tutte le info utili sugli headers in modo da non ricacolarseli sempre dopo
4757
- var hI = this.columnMetadata_H.evaluateHeadersGroupingInfos(this.EsThs);
4758
- if (this.arrayMode) // In modalità array non ho un backend...
4759
- this.rowGrouping_H.arrayModeReviewGroupings(hI.leafs); // ... i raggruppamenti li devo fare lato client
4760
- this.columnMetadata_H.reviewColumnsList(hI.leafs); // Aggiorna la lista delle colonne da mostrare nella dialog per ordinamento ecc
4761
- this.columnMetadata_H.alignColumnsIfLoadedView(view); // Se sto caricando una View da hotpotato (quindi con savedstate = true) riallineo la visibilità delle colonne e il loro ordine.
4762
- this.columnMetadata_H.moveFixedColumnsAtTheBeginning(hI.leafs, this.EsTds); // Sposto tutte le cose fixed all'inizio in modo che la creazione di th e td sia più snella (Utilizza le ColumnsList, quindi dev'essere richiamata PIRMA di reviewColumnsList)
4763
- this.columnMetadata_H.alignHeadersOrdering(hI.leafs, view); // Allineo gli ordinamenti agli header
4764
- this.columnMetadata_H.refreshColumnsVisibility(hI.leafs, this.EsTds, view); // Lavoro sui TH ed eventualmente modifico la visibilità anche dei TD.
4765
- this.columnMetadata_H.evaluatePinnedColumnsWidth(); // Se sono presenti colonne pinnate valuta la dimensione del contenitore
4766
- this.columnMetadata_H.generateDefaultOrder(hI.leafs, view); // Genero le direttive di ordinamento, che siano default o derivanti dalla AppSearch
4767
- this.columnMetadata_H.evaluateHeaderGroups(hI); // Valuto i raggruppamenti degli header se presenti
4768
- // ************************************* Generazione binding per righe e colonne *************************************
4769
- this.evaluateRowThs(hI.leafs); // Raccolgo i TH
4770
- this.evaluateRowTds(hI.leafs, this.EsTds); // Raccolgo i TD in contesti separati, un contesto per ogni item o gruppo
4771
- // ************************************* Ultimi aggiustmaenti dei binding *************************************
4772
- this.columnMetadata_H.applyOrdering(view, true); // Applico l'ordinamento sulle colonne (non ASC DESC, ma "prima questa o quella colonna")
4773
- this.MoveTemporaryVariablesToRealOnes(); // Collego TH e TD aggiustati fino ad ora alle variabili di Binding HTML
4774
- this.selection_H.evaluateSelection(itemsAndGroups, si); // Riallineo le info di selezione degli elementi della View
4775
- // Valuta lo stato iniziale di selezione a range
4776
- this.selection_H.evaluateSingleCellSelection(itemsAndGroups, hI.leafs, this.DynamicRowColumnsDefinition);
4777
- if (this.ResearchNeeded) {
4778
- this.changed();
4779
- this.emitSearchRequest(false);
4780
- this.ResearchNeeded = false;
4781
- }
4782
- }
4783
- else if ((this.viewMode || this.arrayMode) && !this.UseCustomCells) {
4784
- // Riallineo le info di selezione degli elementi della View
4785
- var items = this.viewMode ? View.items : View;
4786
- var si = this.viewMode ? View.selection : this.arraymodeSelection;
4787
- this.selection_H.evaluateSelection(items, si);
4788
- }
4789
- // Per essere sicuro che dopo un bind di oggetti la es-table aggiorni la grafica
4790
- this.cdr.markForCheck();
4791
- this.FirstBind = false;
4738
+ var _a, _b;
4739
+ return __awaiter(this, void 0, void 0, function () {
4740
+ var View, view, itemsAndGroups, si, ret_1, ret_2, ret, i, th, hI, items, si;
4741
+ return __generator(this, function (_u) {
4742
+ switch (_u.label) {
4743
+ case 0:
4744
+ View = this.View;
4745
+ if (!(((_a = this.ThTdProvider) === null || _a === void 0 ? void 0 : _a.length) > 0)) return [3 /*break*/, 2];
4746
+ return [4 /*yield*/, rxjs.forkJoin(this.ThTdProvider.map(function (t) { return t.LoadedSignal; })).toPromise()];
4747
+ case 1:
4748
+ _u.sent();
4749
+ _u.label = 2;
4750
+ case 2:
4751
+ // Se non ho colonne dinamiche ma sono in modalità dinamica (lo capisco perché c'è una view piena di genericitem) metto il default delle colonne
4752
+ this.dynamicMode_H.eventuallyReviewDynamicColumns();
4753
+ // Gestisce la richiesta per gruppi o per singoli oggetti
4754
+ this.bindDisplayToLoadedItemsOrGroups(View);
4755
+ // Questo dev'essere per forza lanciato dopo **bindDisplayToLoadedItemsOrGroups** dato che è lì che alcune cose vengono valorizzate
4756
+ this.setupPagingInformations();
4757
+ // Molte cose sono ovviamente disponibili solo in modalità View
4758
+ if ((this.viewMode || this.arrayMode) && this.UseCustomCells) {
4759
+ view = this.viewMode ? View : null;
4760
+ itemsAndGroups = this.viewMode ? __spread((view.items || []), (view.groups || [])) : View;
4761
+ si = this.viewMode ? view.selection : this.arraymodeSelection;
4762
+ // N.B: Rispettare l'ordine di queste 3 macrocategorie è VITALE
4763
+ // ************************************* Sistemazioni di TH, TD, e visibilità varie *************************************
4764
+ // Se ho definizioni dinamiche, prima di qualsiasi altra cosa devo trasformarle in th/td in modo che poi il codice qui sotto faccia le sue magie
4765
+ if (((_b = this.DynamicRowColumnsDefinition) === null || _b === void 0 ? void 0 : _b.length) > 0) {
4766
+ this.logger.log("Generating ths and tds from Dynamic definition");
4767
+ ret_1 = this.dynamicMode_H.emitThsAndTdsBasedOnDynamicDefinition();
4768
+ this.EsThs = ret_1.ths;
4769
+ this.EsTds = ret_1.tds;
4770
+ }
4771
+ // Gestione delle view in modalità report, i th e i td vengono rigenerati dalle configurazioni della view
4772
+ if (!this.arrayMode && view.report_columns) {
4773
+ this.logger.log("Generating ths and tds from report results");
4774
+ ret_2 = this.reportMode_H.generateThsAndTdsFromView(view);
4775
+ this.EsThs = ret_2.ths;
4776
+ this.EsTds = ret_2.tds;
4777
+ }
4778
+ ret = this.columnMetadata_H.expandMultiThsAndTds(this.EsThs, this.EsTds, itemsAndGroups);
4779
+ this.EsThs = ret.expThs;
4780
+ this.EsTds = ret.expTds;
4781
+ // Genero la cache dei th da usare da qui in poi, dopo avergli lasciato fare le sue cose in caso ci siano dei multi o dei report
4782
+ for (i = 0; i < this.EsThs.length; i++) {
4783
+ th = this.EsThs[i];
4784
+ this.thsCache[th.th] = th;
4785
+ }
4786
+ this.thsCacheSet = true;
4787
+ hI = this.columnMetadata_H.evaluateHeadersGroupingInfos(this.EsThs);
4788
+ if (this.arrayMode) // In modalità array non ho un backend...
4789
+ this.rowGrouping_H.arrayModeReviewGroupings(hI.leafs); // ... i raggruppamenti li devo fare lato client
4790
+ this.columnMetadata_H.reviewColumnsList(hI.leafs); // Aggiorna la lista delle colonne da mostrare nella dialog per ordinamento ecc
4791
+ this.columnMetadata_H.alignColumnsIfLoadedView(view); // Se sto caricando una View da hotpotato (quindi con savedstate = true) riallineo la visibilità delle colonne e il loro ordine.
4792
+ this.columnMetadata_H.moveFixedColumnsAtTheBeginning(hI.leafs, this.EsTds); // Sposto tutte le cose fixed all'inizio in modo che la creazione di th e td sia più snella (Utilizza le ColumnsList, quindi dev'essere richiamata PIRMA di reviewColumnsList)
4793
+ this.columnMetadata_H.alignHeadersOrdering(hI.leafs, view); // Allineo gli ordinamenti agli header
4794
+ this.columnMetadata_H.refreshColumnsVisibility(hI.leafs, this.EsTds, view); // Lavoro sui TH ed eventualmente modifico la visibilità anche dei TD.
4795
+ this.columnMetadata_H.evaluatePinnedColumnsWidth(); // Se sono presenti colonne pinnate valuta la dimensione del contenitore
4796
+ this.columnMetadata_H.generateDefaultOrder(hI.leafs, view); // Genero le direttive di ordinamento, che siano default o derivanti dalla AppSearch
4797
+ this.columnMetadata_H.evaluateHeaderGroups(hI); // Valuto i raggruppamenti degli header se presenti
4798
+ // ************************************* Generazione binding per righe e colonne *************************************
4799
+ this.evaluateRowThs(hI.leafs); // Raccolgo i TH
4800
+ this.evaluateRowTds(hI.leafs, this.EsTds); // Raccolgo i TD in contesti separati, un contesto per ogni item o gruppo
4801
+ // ************************************* Ultimi aggiustmaenti dei binding *************************************
4802
+ this.columnMetadata_H.applyOrdering(view, true); // Applico l'ordinamento sulle colonne (non ASC DESC, ma "prima questa o quella colonna")
4803
+ this.MoveTemporaryVariablesToRealOnes(); // Collego TH e TD aggiustati fino ad ora alle variabili di Binding HTML
4804
+ this.selection_H.evaluateSelection(itemsAndGroups, si); // Riallineo le info di selezione degli elementi della View
4805
+ // Valuta lo stato iniziale di selezione a range
4806
+ this.selection_H.evaluateSingleCellSelection(itemsAndGroups, hI.leafs, this.DynamicRowColumnsDefinition);
4807
+ if (this.ResearchNeeded) {
4808
+ this.changed();
4809
+ this.emitSearchRequest(false);
4810
+ this.ResearchNeeded = false;
4811
+ }
4812
+ }
4813
+ else if ((this.viewMode || this.arrayMode) && !this.UseCustomCells) {
4814
+ items = this.viewMode ? View.items : View;
4815
+ si = this.viewMode ? View.selection : this.arraymodeSelection;
4816
+ this.selection_H.evaluateSelection(items, si);
4817
+ }
4818
+ // Per essere sicuro che dopo un bind di oggetti la es-table aggiorni la grafica
4819
+ this.cdr.markForCheck();
4820
+ this.FirstBind = false;
4821
+ return [2 /*return*/];
4822
+ }
4823
+ });
4824
+ });
4792
4825
  };
4793
4826
  /**
4794
4827
  * Effettua il binding degli oggetti pervenuti da questa chiamata con gli oggetti effettivamente da graficare