@esfaenza/es-table 11.2.45 → 11.2.49

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.
@@ -29,6 +29,7 @@ import { ReportModeHandler } from "../../core/handlers/ReportModeHandler";
29
29
  import { RowGroupingHandler } from "../../core/handlers/RowGroupingHandler";
30
30
  import { SelectionHandler } from "../../core/handlers/SelectionHandler";
31
31
  import { UtilitiesHandler } from "../../core/handlers/UtilitiesHandler";
32
+ import { Subject } from 'rxjs';
32
33
  /** Componente che permette di rappresentare una griglia di valori */
33
34
  export declare class EsTableComponent implements ControlValueAccessor, OnChanges {
34
35
  ngControl: NgControl;
@@ -52,6 +53,12 @@ export declare class EsTableComponent implements ControlValueAccessor, OnChanges
52
53
  selection_H: SelectionHandler;
53
54
  /** @ignore */
54
55
  constructor(ngControl: NgControl, prefService: PreferencesService, deafults: EsTableDefaultable, locale: string, lc: LocalizationService, cdr: ChangeDetectorRef, utilities_H: UtilitiesHandler, utiExts: UtilityService, expExts: ExportService, dateExts: DateService, msgExts: MessageService);
56
+ /** Subject utilizzato internamente lato EsTable per causare il Focus lato componente di Input */
57
+ FocusSubject: Subject<void>;
58
+ /** Timer che verrà impostato a **doubleClickBufferMs** per capire se è stato effettuato un click singolo o un doubleclick */
59
+ private cellDbClickTimer;
60
+ /** Se vengono effettuati 2 click a distanza inferiore a questi Millisecondi viene considerato un doppio click */
61
+ private doubleClickBufferMs;
55
62
  /** View finale su cui bindarsi lato Frontend, il tipo può essere IAppSearch<any> (per la **viewMode**), any[] (per l'**arrayMode**) e ReportDefinition per la **reportMode** */
56
63
  View: any;
57
64
  /** Modello da cui l'es-table mostra i pulsanti di paginazione in basso a destra */
@@ -155,6 +162,8 @@ export declare class EsTableComponent implements ControlValueAccessor, OnChanges
155
162
  headerGroupRef: any;
156
163
  /** Query per recuperare le informazioni sul raggruppamento di secondo livello degli header */
157
164
  secondaryHeaderGroupRef: any;
165
+ /** Query per recuperare il campo di Input attuale. Dopo un doppio click lo becco e lo focusso appena termina la chagne detection */
166
+ inputField: ElementRef;
158
167
  /** Opzioni extra che devono apparire nel Menù contestuale in alto a destra, richiamato dai 3 pallini verticali */
159
168
  CornerMenuOptions: CornerMenuOption[];
160
169
  /** Indica se dev'essere possibile effettuare il resize delle colonne */
@@ -591,18 +600,42 @@ export declare class EsTableComponent implements ControlValueAccessor, OnChanges
591
600
  * impostando prima **internalWriteCall** in modo da non effettuare operazioni inutili
592
601
  */
593
602
  internalWriteValue(): void;
603
+ /** Metodo eventualmente richiamabile anche dal componente esterno che permette di forzare un refresh della tabella */
604
+ forceRefresh(): void;
594
605
  /**
595
- * Metodo eventualmente richiamabile anche dal componente esterno che permette di forzare un refresh della tabella
606
+ * Funzione che in base ai click su una cella capisce se sto effettuando un'operazione di selezione o se sto entrando nell'edit di una cella con un doppio click
607
+ *
608
+ * @param {any} $event Evento nativo javascript
609
+ * @param {TdElement} rowItem Riferimento a binder della riga
610
+ * @param {any} item Item che rappresenta il contesto su cui è stato effettuato un click
611
+ */
612
+ dbClickEditOrSingleClickRowSelection($event: any, rowItem: TdElement, item: any): void;
613
+ /**
614
+ * Ripulisce il timer utilizzato per capire se è stato effettuato un doppio click o meno
596
615
  */
597
- forceRefresh(): void;
598
- rowDbClickTimer: any;
599
- cellDbClickTimer: any;
600
- doubleClickBufferMs: number;
601
- ensureNoDbClickAndSelect($event: any, item: any, selection: boolean): void;
602
- private clearRowClickTimer;
603
- ensureDbClickAndSetupEdit(rowItem: TdElement): void;
604
616
  private clearCellClickTimer;
605
- private handleRowClick;
617
+ /**
618
+ * Handler click singolo su una riga
619
+ *
620
+ * @param {any} $event Evento nativo javascript
621
+ * @param {any} item Item che rappresenta il contesto su cui è stato effettuato un click
622
+ * @param {boolean} selection Indica se la selezione è attiva
623
+ *
624
+ */
625
+ handleRowClick($event: any, item: any, selection: boolean): void;
626
+ /**
627
+ * La modifica dell'utente è iniziata. Si imposta la variabile relativa a "true" in modo da mostrare l'input di testo
628
+ *
629
+ * Dopo che l'input è apparso, dopo un ciclo di Change Detection viene attivato il Subject collegato all'input che servirà a effettuare il focus
630
+ *
631
+ * @param {TdElement} rowItem Elemento di riga su cui è stata attivata la modifica
632
+ */
606
633
  setupUserEdit(rowItem: TdElement): void;
634
+ /**
635
+ * La modifica dell'utente è terminata. Si reimposta la variabile relativa a "false" in modo da nascondere l'input di testo
636
+ *
637
+ * @param {TdElement} rowItem Elemento di riga su cui è stata attivata la modifica
638
+ * @param {any} item Oggetto sopra il quale è stata attivata la modifica
639
+ */
607
640
  finalizeUserEdit(rowItem: TdElement, item: any): void;
608
641
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@esfaenza/es-table",
3
- "version": "11.2.45",
3
+ "version": "11.2.49",
4
4
  "dependencies": {
5
5
  "tslib": "^2.0.0"
6
6
  },
@@ -10,7 +10,7 @@
10
10
  "@angular/material": "~11.2.13",
11
11
  "@esfaenza/extensions": "^11.2.19",
12
12
  "@esfaenza/localizations": "^11.2.6",
13
- "@esfaenza/forms-and-validations": "^11.2.47",
13
+ "@esfaenza/forms-and-validations": "^11.2.54",
14
14
  "@ctrl/ngx-csv": "4.0.0",
15
15
  "@esfaenza/ngx-contextmenu": "^11.2.5",
16
16
  "@esfaenza/preferences": "^11.2.18",