ontimize-web-ngx 15.5.3 → 15.5.5

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.
Files changed (30) hide show
  1. package/esm2020/lib/components/app-sidenav/menu-group/o-app-sidenav-menu-group.component.mjs +19 -3
  2. package/esm2020/lib/components/app-sidenav/menu-item/o-app-sidenav-menu-item.component.mjs +17 -4
  3. package/esm2020/lib/components/app-sidenav/o-app-sidenav.component.mjs +7 -5
  4. package/esm2020/lib/components/o-form-data-component.class.mjs +2 -2
  5. package/esm2020/lib/components/table/column/cell-editor/o-base-table-cell-editor.class.mjs +2 -2
  6. package/esm2020/lib/components/table/column/o-table-column.component.mjs +7 -3
  7. package/esm2020/lib/components/table/o-table.component.mjs +86 -9
  8. package/esm2020/lib/layouts/app-layout/o-app-layout-base.class.mjs +1 -1
  9. package/esm2020/lib/layouts/app-layout/o-app-layout.component.mjs +26 -9
  10. package/esm2020/lib/services/state/o-table-component-state.class.mjs +7 -1
  11. package/esm2020/lib/services/state/o-table-component-state.service.mjs +8 -2
  12. package/esm2020/lib/types/table/index.mjs +2 -1
  13. package/esm2020/lib/types/table/o-table-expandable-row-state.type.mjs +2 -0
  14. package/esm2020/lib/util/codes.mjs +3 -1
  15. package/fesm2015/ontimize-web-ngx.mjs +176 -28
  16. package/fesm2015/ontimize-web-ngx.mjs.map +1 -1
  17. package/fesm2020/ontimize-web-ngx.mjs +169 -28
  18. package/fesm2020/ontimize-web-ngx.mjs.map +1 -1
  19. package/lib/components/app-sidenav/menu-group/o-app-sidenav-menu-group.component.d.ts +3 -0
  20. package/lib/components/app-sidenav/menu-item/o-app-sidenav-menu-item.component.d.ts +1 -0
  21. package/lib/components/app-sidenav/o-app-sidenav.component.d.ts +2 -1
  22. package/lib/components/table/o-table.component.d.ts +10 -2
  23. package/lib/layouts/app-layout/o-app-layout-base.class.d.ts +1 -1
  24. package/lib/layouts/app-layout/o-app-layout.component.d.ts +7 -3
  25. package/lib/services/state/o-table-component-state.class.d.ts +3 -0
  26. package/lib/types/table/index.d.ts +1 -0
  27. package/lib/types/table/o-table-expandable-row-state.type.d.ts +5 -0
  28. package/lib/util/codes.d.ts +3 -0
  29. package/package.json +1 -1
  30. package/theme.scss +26 -26
@@ -7,6 +7,7 @@ import { PermissionsService } from '../../../services/permissions/permissions.se
7
7
  import { OTranslateService } from '../../../services/translate/o-translate.service';
8
8
  import { OPermissions } from '../../../types/o-permissions.type';
9
9
  import { OAppSidenavBase } from '../o-app-sidenav-base.class';
10
+ import { OAppLayoutBase } from '../../../layouts/app-layout/o-app-layout-base.class';
10
11
  import * as i0 from "@angular/core";
11
12
  export declare const DEFAULT_INPUTS_O_APP_SIDENAV_MENU_GROUP: string[];
12
13
  export declare const DEFAULT_OUTPUTS_O_APP_SIDENAV_MENU_GROUP: string[];
@@ -32,8 +33,10 @@ export declare class OAppSidenavMenuGroupComponent implements OnInit, AfterViewI
32
33
  protected router: Router;
33
34
  routerSubscription: Subscription;
34
35
  active: boolean;
36
+ oAppLayoutComponent: OAppLayoutBase;
35
37
  constructor(injector: Injector, elRef: ElementRef, cd: ChangeDetectorRef);
36
38
  ngOnInit(): void;
39
+ get shouldShowTooltip(): boolean;
37
40
  ngAfterViewInit(): void;
38
41
  ngOnDestroy(): void;
39
42
  protected parsePermissions(): void;
@@ -40,6 +40,7 @@ export declare class OAppSidenavMenuItemComponent implements OnInit, AfterViewIn
40
40
  active: boolean;
41
41
  constructor(injector: Injector, elRef: ElementRef, cd: ChangeDetectorRef);
42
42
  ngOnInit(): void;
43
+ get shouldShowTooltip(): boolean;
43
44
  ngAfterViewInit(): void;
44
45
  ngOnDestroy(): void;
45
46
  protected parsePermissions(): void;
@@ -24,6 +24,7 @@ export declare class OAppSidenavComponent extends OAppSidenavComponentStateServi
24
24
  protected _layoutMode: OAppLayoutMode;
25
25
  protected _sidenavMode: OSidenavMode;
26
26
  protected opened: boolean;
27
+ showEllipsisMenu: boolean;
27
28
  _showUserInfo: boolean;
28
29
  _showToggleButton: boolean;
29
30
  openedSidenavImg: string;
@@ -73,5 +74,5 @@ export declare class OAppSidenavComponent extends OAppSidenavComponentStateServi
73
74
  sidenavOpenedStart(): void;
74
75
  sidenavOpenedChange(): void;
75
76
  static ɵfac: i0.ɵɵFactoryDeclaration<OAppSidenavComponent, never>;
76
- static ɵcmp: i0.ɵɵComponentDeclaration<OAppSidenavComponent, "o-app-sidenav", never, { "opened": "opened"; "showUserInfo": "show-user-info"; "showToggleButton": "show-toggle-button"; "openedSidenavImg": "opened-sidenav-image"; "closedSidenavImg": "closed-sidenav-image"; "layoutMode": "layout-mode"; "sidenavMode": "sidenav-mode"; "storeState": "store-state"; }, { "onSidenavOpenedChange": "onSidenavOpenedChange"; "onSidenavOpenedStart": "onSidenavOpenedStart"; "onSidenavClosedStart": "onSidenavClosedStart"; "onSidenavToggle": "onSidenavToggle"; "afterSidenavToggle": "afterSidenavToggle"; }, never, ["o-app-layout-sidenav-projection-start", "o-app-layout-sidenav-projection-end", "*"], false, never>;
77
+ static ɵcmp: i0.ɵɵComponentDeclaration<OAppSidenavComponent, "o-app-sidenav", never, { "opened": "opened"; "showUserInfo": "show-user-info"; "showToggleButton": "show-toggle-button"; "openedSidenavImg": "opened-sidenav-image"; "closedSidenavImg": "closed-sidenav-image"; "layoutMode": "layout-mode"; "sidenavMode": "sidenav-mode"; "storeState": "store-state"; "showEllipsisMenu": "show-ellipsis-menu"; }, { "onSidenavOpenedChange": "onSidenavOpenedChange"; "onSidenavOpenedStart": "onSidenavOpenedStart"; "onSidenavClosedStart": "onSidenavClosedStart"; "onSidenavToggle": "onSidenavToggle"; "afterSidenavToggle": "afterSidenavToggle"; }, never, ["o-app-layout-sidenav-projection-start", "o-app-layout-sidenav-projection-end", "*"], false, never>;
77
78
  }
@@ -1,7 +1,7 @@
1
1
  import { SelectionModel } from '@angular/cdk/collections';
2
2
  import { DomPortalOutlet } from '@angular/cdk/portal';
3
3
  import { CdkVirtualScrollViewport } from '@angular/cdk/scrolling';
4
- import { AfterContentInit, AfterViewInit, ApplicationRef, ElementRef, EventEmitter, Injector, OnDestroy, OnInit, QueryList, SimpleChange, ViewContainerRef } from '@angular/core';
4
+ import { AfterContentInit, AfterViewChecked, AfterViewInit, ApplicationRef, ElementRef, EventEmitter, Injector, OnDestroy, OnInit, QueryList, SimpleChange, ViewContainerRef } from '@angular/core';
5
5
  import { MatCheckboxChange } from '@angular/material/checkbox';
6
6
  import { MatDialog } from '@angular/material/dialog';
7
7
  import { MatMenu } from '@angular/material/menu';
@@ -52,11 +52,12 @@ import type { OTableMenu } from '../../interfaces/o-table-menu.interface';
52
52
  import type { OTableOptions } from '../../interfaces/o-table-options.interface';
53
53
  import type { OTablePaginator } from '../../interfaces/o-table-paginator.interface';
54
54
  import type { OTableQuickfilter } from '../../interfaces/o-table-quickfilter.interface';
55
+ import { MatRow } from '@angular/material/table';
55
56
  import * as i0 from "@angular/core";
56
57
  export declare const DEFAULT_INPUTS_O_TABLE: string[];
57
58
  export declare const DEFAULT_OUTPUTS_O_TABLE: string[];
58
59
  type DisableSelectionFunction = (item: any) => boolean;
59
- export declare class OTableComponent extends AbstractOServiceComponent<OTableComponentStateService> implements OnInit, OnDestroy, AfterViewInit, AfterContentInit {
60
+ export declare class OTableComponent extends AbstractOServiceComponent<OTableComponentStateService> implements OnInit, OnDestroy, AfterViewChecked, AfterViewInit, AfterContentInit {
60
61
  injector: Injector;
61
62
  protected dialog: MatDialog;
62
63
  private readonly _viewContainerRef;
@@ -87,6 +88,7 @@ export declare class OTableComponent extends AbstractOServiceComponent<OTableCom
87
88
  }>;
88
89
  protected clickSubjectSubscription: Subscription;
89
90
  protected dbClickSubjectSubscription: Subscription;
91
+ refreshExpandableRowState: boolean;
90
92
  set oMatSort(_sort: OMatSort);
91
93
  virtualScrollViewport: CdkVirtualScrollViewport;
92
94
  oTableGlobalConfig: OTableGlobalConfig;
@@ -214,6 +216,7 @@ export declare class OTableComponent extends AbstractOServiceComponent<OTableCom
214
216
  protected tableBodyEl: ElementRef;
215
217
  tableHeaderEl: ElementRef;
216
218
  tableToolbarEl: ElementRef;
219
+ rows: QueryList<MatRow>;
217
220
  horizontalScrolled: boolean;
218
221
  onUpdateScrolledState: EventEmitter<any>;
219
222
  rowWidth: any;
@@ -245,6 +248,7 @@ export declare class OTableComponent extends AbstractOServiceComponent<OTableCom
245
248
  ngOnInit(): void;
246
249
  ngAfterViewInit(): void;
247
250
  ngAfterContentInit(): void;
251
+ handleTableDataChange(): void;
248
252
  setCustomDefinitionInSelectColumn(definition: OTableColumnSelectAllDirective): void;
249
253
  ngAfterViewChecked(): void;
250
254
  ngOnChanges(changes: {
@@ -294,6 +298,8 @@ export declare class OTableComponent extends AbstractOServiceComponent<OTableCom
294
298
  getExpandedRowContainerClass(rowIndex: number): string;
295
299
  getExpandableItems(): any[];
296
300
  toggleRowExpandable(item: any, event?: Event): void;
301
+ saveRowExpandState(added: any[], removed: any[]): void;
302
+ destroyAllPortalHosts(): void;
297
303
  toggleRowExpandableByRowIndex(rowIndex: number, event?: Event): void;
298
304
  private emitTableRowExpandableChangeEvent;
299
305
  isExpanded(data: any): boolean;
@@ -313,6 +319,7 @@ export declare class OTableComponent extends AbstractOServiceComponent<OTableCom
313
319
  protected canSetStaticData(staticData: any): boolean;
314
320
  showDialogError(error: string, errorOptional?: string): void;
315
321
  projectContentChanged(): void;
322
+ restoreExpandableRowState(): void;
316
323
  getAttributesValuesToQuery(): Array<string>;
317
324
  getQueryArguments(filter: object, ovrrArgs?: OQueryDataArgs): Array<any>;
318
325
  getSqlTypesForFilter(filter: any): object;
@@ -325,6 +332,7 @@ export declare class OTableComponent extends AbstractOServiceComponent<OTableCom
325
332
  showAndSelectAllCheckbox(): void;
326
333
  reloadPaginatedDataFromStart(clearSelectedItems?: boolean): void;
327
334
  reloadData(clearSelectedItems?: boolean): void;
335
+ reloadDataWithClearExpandableRows(clearSelectedItems?: boolean, clearExpandableItems?: boolean): void;
328
336
  handleClick(row: any, column: OColumn, rowIndex: number, cellRef: ElementRef, event: MouseEvent): void;
329
337
  doHandleClick(row: any, column: string, rowIndex: number, $event: MouseEvent): void;
330
338
  handleMultipleSelection(item: any): void;
@@ -1,4 +1,4 @@
1
1
  export declare abstract class OAppLayoutBase {
2
2
  abstract useFlagIcons: boolean;
3
- F: any;
3
+ abstract tooltipDisplayMode: string;
4
4
  }
@@ -1,9 +1,9 @@
1
1
  import { AfterViewInit, EventEmitter } from '@angular/core';
2
2
  import { ThemePalette } from '@angular/material/core';
3
+ import { OAppHeaderBase } from '../../components/app-header/o-app-header-base.class';
4
+ import { OAppSidenavBase } from '../../components/app-sidenav/o-app-sidenav-base.class';
3
5
  import { OUserInfoConfigurationDirective } from '../../components/user-info/user-info-configuration/o-user-info-configuration.directive';
4
6
  import { OAppLayoutMode, OSidenavMode } from '../../util/codes';
5
- import { OAppSidenavBase } from '../../components/app-sidenav/o-app-sidenav-base.class';
6
- import { OAppHeaderBase } from '../../components/app-header/o-app-header-base.class';
7
7
  import * as i0 from "@angular/core";
8
8
  export declare const DEFAULT_INPUTS_O_APP_LAYOUT: string[];
9
9
  export declare const DEFAULT_OUTPUTS_O_APP_LAYOUT: any[];
@@ -16,6 +16,7 @@ export declare class OAppLayoutComponent implements AfterViewInit {
16
16
  showTitle: boolean;
17
17
  staticTitle: string;
18
18
  showStaticTitle: boolean;
19
+ showEllipsisMenu: boolean;
19
20
  headerColor: ThemePalette;
20
21
  headerHeight: string;
21
22
  appSidenav: OAppSidenavBase;
@@ -29,15 +30,18 @@ export declare class OAppLayoutComponent implements AfterViewInit {
29
30
  afterOpenSidenav: EventEmitter<boolean>;
30
31
  beforeCloseSidenav: EventEmitter<boolean>;
31
32
  afterCloseSidenav: EventEmitter<boolean>;
33
+ private _tooltipDisplayMode;
32
34
  get showHeader(): boolean;
33
35
  set showHeader(val: boolean);
34
36
  get mode(): OAppLayoutMode;
35
37
  set mode(val: OAppLayoutMode);
36
38
  get sidenavMode(): OSidenavMode;
37
39
  set sidenavMode(val: OSidenavMode);
40
+ get tooltipDisplayMode(): string;
41
+ set tooltipDisplayMode(val: string);
38
42
  sidenavToggle(opened: boolean): void;
39
43
  afterToggle(opened: boolean): void;
40
44
  ngAfterViewInit(): void;
41
45
  static ɵfac: i0.ɵɵFactoryDeclaration<OAppLayoutComponent, never>;
42
- static ɵcmp: i0.ɵɵComponentDeclaration<OAppLayoutComponent, "o-app-layout", never, { "mode": "mode"; "sidenavMode": "sidenav-mode"; "sidenavOpened": "sidenav-opened"; "_showHeader": "show-header"; "showUserInfo": "show-user-info"; "showLanguageSelector": "show-language-selector"; "useFlagIcons": "use-flag-icons"; "openedSidenavImg": "opened-sidenav-image"; "closedSidenavImg": "closed-sidenav-image"; "headerColor": "header-color"; "headerHeight": "header-height"; "showTitle": "show-title"; "staticTitle": "static-title"; "showStaticTitle": "show-static-title"; }, { "beforeOpenSidenav": "beforeOpenSidenav"; "afterOpenSidenav": "afterOpenSidenav"; "beforeCloseSidenav": "beforeCloseSidenav"; "afterCloseSidenav": "afterCloseSidenav"; }, ["userInfoConfiguration"], ["o-app-layout-sidenav[position=start]", "o-app-layout-sidenav[position=end]", "o-app-layout-sidenav", "o-app-layout-header[position=start]", "o-app-layout-header[position=end]", "o-app-layout-header", "*"], false, never>;
46
+ static ɵcmp: i0.ɵɵComponentDeclaration<OAppLayoutComponent, "o-app-layout", never, { "mode": "mode"; "sidenavMode": "sidenav-mode"; "sidenavOpened": "sidenav-opened"; "_showHeader": "show-header"; "showUserInfo": "show-user-info"; "showLanguageSelector": "show-language-selector"; "useFlagIcons": "use-flag-icons"; "openedSidenavImg": "opened-sidenav-image"; "closedSidenavImg": "closed-sidenav-image"; "headerColor": "header-color"; "headerHeight": "header-height"; "showTitle": "show-title"; "staticTitle": "static-title"; "showStaticTitle": "show-static-title"; "tooltipDisplayMode": "tooltip-display-mode"; "showEllipsisMenu": "show-ellipsis-menu"; }, { "beforeOpenSidenav": "beforeOpenSidenav"; "afterOpenSidenav": "afterOpenSidenav"; "beforeCloseSidenav": "beforeCloseSidenav"; "afterCloseSidenav": "afterCloseSidenav"; }, ["userInfoConfiguration"], ["o-app-layout-sidenav[position=start]", "o-app-layout-sidenav[position=end]", "o-app-layout-sidenav", "o-app-layout-header[position=start]", "o-app-layout-header[position=end]", "o-app-layout-header", "*"], false, never>;
43
47
  }
@@ -8,6 +8,7 @@ import { OTableConfiguration } from '../../types/table/o-table-configuration.typ
8
8
  import { OTableFiltersStatus, OTableStoredFilter } from '../../types/table/o-table-filter-status.type';
9
9
  import { OFilterBuilderValues } from '../../types/o-filter-builder-values.type';
10
10
  import { OGroupedColumnTypes } from '../../types';
11
+ import { OTableExpandableRowState } from '../../types/table/o-table-expandable-row-state.type';
11
12
  export declare class OTableComponentStateClass extends DefaultServiceComponentStateClass {
12
13
  protected 'sort-columns': string;
13
14
  protected 'oColumns-display': OColumnDisplay[];
@@ -49,6 +50,8 @@ export declare class OTableComponentStateClass extends DefaultServiceComponentSt
49
50
  get columnValueFilters(): OColumnValueFilter[];
50
51
  set columnValueFilters(value: OColumnValueFilter[]);
51
52
  get storedFilters(): OTableFiltersStatus[];
53
+ set expandableRows(value: OTableExpandableRowState[]);
54
+ get expandableRows(): OTableExpandableRowState[];
52
55
  addStoredFilter(filter: OTableFiltersStatus): void;
53
56
  deleteStoredFilter(filterName: string): void;
54
57
  getStoredFilter(filterName: string): OTableStoredFilter;
@@ -10,3 +10,4 @@ export * from './o-table-initialization-options.type';
10
10
  export * from './o-table-menu-permissions.type';
11
11
  export * from './o-table-permissions.type';
12
12
  export * from './o-table-global-config.type';
13
+ export * from './o-table-expandable-row-state.type';
@@ -0,0 +1,5 @@
1
+ export type OTableExpandableRowState = {
2
+ keys: {
3
+ [k: string]: any;
4
+ };
5
+ };
@@ -4,6 +4,7 @@ export type CHANGE_EVENTS = 'onValueChange' | 'onChange';
4
4
  export type ORowHeight = 'small' | 'medium' | 'large';
5
5
  export type OTableEditionMode = 'none' | 'click' | 'dblclick' | 'doubleclick';
6
6
  export type OTableDetailMode = 'none' | 'click' | 'dblclick' | 'doubleclick';
7
+ export type OTooltipDisplayMode = 'always' | 'never' | 'only-collapsed' | 'only-expanded';
7
8
  export declare class Codes {
8
9
  static PAGINATED_QUERY_METHOD: string;
9
10
  static DELETE_METHOD: string;
@@ -97,6 +98,8 @@ export declare class Codes {
97
98
  static VISIBLE_EXPORT_BUTTONS3X: string[];
98
99
  static DEFAULT_CHANGE_EVENT: CHANGE_EVENTS;
99
100
  static TYPES_DATE_GROUPS: string[];
101
+ static readonly TOOLTIP_DISPLAY_MODE: string[];
102
+ static readonly TOOLTIP_DISPLAY_COLLAPSED = "only-collapsed";
100
103
  static isDoubleClickMode(value: string): boolean;
101
104
  static isValidRowHeight(value: string): boolean;
102
105
  static getIsDetailObject(): any;
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "ontimize-web-ngx",
3
3
  "homepage": "https://github.com/OntimizeWeb/ontimize-web-ngx#readme",
4
- "version": "15.5.3",
4
+ "version": "15.5.5",
5
5
  "description": "Ontimize Web framework using Angular 15",
6
6
  "bugs": "https://github.com/OntimizeWeb/ontimize-web-ngx/issues",
7
7
  "author": "Imatia S.L.",
package/theme.scss CHANGED
@@ -47,32 +47,6 @@
47
47
  @include o-daterange-input-theme($theme-or-color-config);
48
48
  @include o-dual-list-selector-theme($theme-or-color-config);
49
49
  @include o-image-theme($theme-or-color-config);
50
- }@mixin o-app-header-theme($theme-or-color-config) {
51
- $theme: map.get($theme-or-color-config, color);
52
- $primary: map.get($theme, primary);
53
- $accent: map.get($theme, accent);
54
- $foreground: map.get($theme, foreground);
55
-
56
- .o-app-header {
57
- nav {
58
- &.o-app-header-primary {
59
- background-color: mat.get-color-from-palette($primary);
60
- }
61
-
62
- &.o-app-header-accent {
63
- background-color: mat.get-color-from-palette($accent);
64
- }
65
-
66
- .menu-button {
67
- background: transparent;
68
- }
69
- }
70
-
71
- .o-user-info {
72
- color: mat.get-color-from-palette($foreground, text);
73
- }
74
- }
75
-
76
50
  }@mixin o-app-sidenav-theme($theme-or-color-config) {
77
51
  $theme: map.get($theme-or-color-config, color);
78
52
  $primary: map.get($theme, primary);
@@ -149,6 +123,32 @@
149
123
  }
150
124
  }
151
125
  }
126
+ }@mixin o-app-header-theme($theme-or-color-config) {
127
+ $theme: map.get($theme-or-color-config, color);
128
+ $primary: map.get($theme, primary);
129
+ $accent: map.get($theme, accent);
130
+ $foreground: map.get($theme, foreground);
131
+
132
+ .o-app-header {
133
+ nav {
134
+ &.o-app-header-primary {
135
+ background-color: mat.get-color-from-palette($primary);
136
+ }
137
+
138
+ &.o-app-header-accent {
139
+ background-color: mat.get-color-from-palette($accent);
140
+ }
141
+
142
+ .menu-button {
143
+ background: transparent;
144
+ }
145
+ }
146
+
147
+ .o-user-info {
148
+ color: mat.get-color-from-palette($foreground, text);
149
+ }
150
+ }
151
+
152
152
  }@mixin o-bar-menu-theme($theme-or-color-config) {
153
153
  $theme: map.get($theme-or-color-config, color);
154
154
  $primary: map.get($theme, primary);