@libs-ui/components-table 0.2.78

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 (35) hide show
  1. package/README.md +3 -0
  2. package/esm2022/index.mjs +4 -0
  3. package/esm2022/interfaces/button-action-event.interface.mjs +3 -0
  4. package/esm2022/interfaces/button-bar-event.interface.mjs +3 -0
  5. package/esm2022/interfaces/function-control-event.interface.mjs +2 -0
  6. package/esm2022/interfaces/hover-button-action-event.interface.mjs +2 -0
  7. package/esm2022/interfaces/index.mjs +11 -0
  8. package/esm2022/interfaces/load-more-event.interface.mjs +2 -0
  9. package/esm2022/interfaces/no-data-config.interface.mjs +2 -0
  10. package/esm2022/interfaces/sort-event.interface.mjs +2 -0
  11. package/esm2022/interfaces/table-config.interface.mjs +2 -0
  12. package/esm2022/interfaces/table.type.mjs +2 -0
  13. package/esm2022/interfaces/template-config.interface.mjs +3 -0
  14. package/esm2022/libs-ui-components-table.mjs +5 -0
  15. package/esm2022/table.component.mjs +608 -0
  16. package/esm2022/templates/template.abstract.component.mjs +16 -0
  17. package/esm2022/templates/templates.component.mjs +111 -0
  18. package/fesm2022/libs-ui-components-table.mjs +735 -0
  19. package/fesm2022/libs-ui-components-table.mjs.map +1 -0
  20. package/index.d.ts +3 -0
  21. package/interfaces/button-action-event.interface.d.ts +12 -0
  22. package/interfaces/button-bar-event.interface.d.ts +7 -0
  23. package/interfaces/function-control-event.interface.d.ts +13 -0
  24. package/interfaces/hover-button-action-event.interface.d.ts +4 -0
  25. package/interfaces/index.d.ts +10 -0
  26. package/interfaces/load-more-event.interface.d.ts +4 -0
  27. package/interfaces/no-data-config.interface.d.ts +8 -0
  28. package/interfaces/sort-event.interface.d.ts +5 -0
  29. package/interfaces/table-config.interface.d.ts +88 -0
  30. package/interfaces/table.type.d.ts +12 -0
  31. package/interfaces/template-config.interface.d.ts +60 -0
  32. package/package.json +25 -0
  33. package/table.component.d.ts +137 -0
  34. package/templates/template.abstract.component.d.ts +7 -0
  35. package/templates/templates.component.d.ts +25 -0
@@ -0,0 +1,137 @@
1
+ import { ElementRef, OnDestroy, OnInit, WritableSignal } from "@angular/core";
2
+ import { IButton } from '@libs-ui/components-buttons-button';
3
+ import { ISort } from '@libs-ui/components-buttons-sort';
4
+ import { ICheckboxItem } from "@libs-ui/components-checkbox-group";
5
+ import { ICheckboxEvent } from "@libs-ui/components-checkbox-single";
6
+ import { IDropdownFunctionControlEvent, IEmitSelectKey } from '@libs-ui/components-dropdown';
7
+ import { TYPE_POPOVER_EVENT } from "@libs-ui/components-popover";
8
+ import { IHttpResponseError } from "@libs-ui/interfaces-types";
9
+ import { IHttpRequestConfig } from "@libs-ui/services-http-request";
10
+ import { IButtonBarEvent, IConfigSelectMoreItem, IConfigTemplateItemCollapseExpand, IHoverButtonActionEvent, ILoadMoreEvent, ISortEvent, ITabelButtonActionEvent, ITableFooterConfig, ITableHeaderConfig, TYPE_DATA_FILTER_TABLE, TYPE_NEW_DATA_TABLE, TYPE_TABLE_FILTER } from "./interfaces";
11
+ import { ITableFunctionControlEvent } from "./interfaces/function-control-event.interface";
12
+ import { ITableNoDataConfig } from "./interfaces/no-data-config.interface";
13
+ import * as i0 from "@angular/core";
14
+ export declare class LibsUiComponentsTableComponent implements OnInit, OnDestroy {
15
+ /** PROPERTY */
16
+ protected classHeaderContainer: import("@angular/core").Signal<string>;
17
+ protected keysSelected: WritableSignal<any[]>;
18
+ protected loading: WritableSignal<boolean>;
19
+ protected stores: WritableSignal<WritableSignal<Record<any, any>>[]>;
20
+ protected items: WritableSignal<WritableSignal<Record<any, any>>[]>;
21
+ protected itemFooter: WritableSignal<Record<any, any>>;
22
+ protected itemOfIndexHover?: WritableSignal<any>;
23
+ protected keySearch: WritableSignal<string>;
24
+ protected totalItemInBackend: WritableSignal<number>;
25
+ protected hasItemHightLight: WritableSignal<boolean>;
26
+ protected totalItemDisplay: import("@angular/core").Signal<any>;
27
+ private hasScroll;
28
+ private instanceSort;
29
+ private hasActionButtonDropdownContent;
30
+ private pagingStore;
31
+ private loadedLastItem;
32
+ private storeParamsCallApi;
33
+ private timeoutLeaveItem;
34
+ private functionControlSelectMoreItem?;
35
+ private onDestroy;
36
+ /** INPUT */
37
+ readonly timeHighlighNewItem: import("@angular/core").InputSignalWithTransform<number, number | undefined>;
38
+ readonly headerLeft: import("@angular/core").InputSignalWithTransform<ITableHeaderConfig[], ITableHeaderConfig[] | undefined>;
39
+ readonly headerRight: import("@angular/core").InputSignalWithTransform<ITableHeaderConfig[], ITableHeaderConfig[] | undefined>;
40
+ readonly configTemplateItemCollapseExpand: import("@angular/core").InputSignal<IConfigTemplateItemCollapseExpand | undefined>;
41
+ readonly showFooter: import("@angular/core").InputSignal<boolean | undefined>;
42
+ readonly ignoreBorderFooter: import("@angular/core").InputSignal<boolean | undefined>;
43
+ readonly customPositionFooter: import("@angular/core").InputSignalWithTransform<"top" | "bottom", "top" | "bottom" | undefined>;
44
+ readonly footerLeft: import("@angular/core").InputSignal<ITableFooterConfig[] | undefined>;
45
+ readonly footerRight: import("@angular/core").InputSignal<ITableFooterConfig[] | undefined>;
46
+ readonly disableCheckbox: import("@angular/core").InputSignalWithTransform<boolean, boolean | undefined>;
47
+ readonly enableUnequalChildrenSizes: import("@angular/core").InputSignalWithTransform<boolean, boolean | undefined>;
48
+ readonly bufferAmount: import("@angular/core").InputSignalWithTransform<number, number | undefined>;
49
+ readonly totalItem: import("@angular/core").InputSignal<number | undefined>;
50
+ readonly isDashBorder: import("@angular/core").InputSignal<boolean | undefined>;
51
+ readonly classHeaderInclude: import("@angular/core").InputSignal<string | undefined>;
52
+ readonly classBodyInclude: import("@angular/core").InputSignalWithTransform<string, string | undefined>;
53
+ readonly classFooterInclude: import("@angular/core").InputSignalWithTransform<string, string | undefined>;
54
+ readonly fieldKey: import("@angular/core").InputSignalWithTransform<string, string | undefined>;
55
+ readonly defaultKeysSelected: import("@angular/core").InputSignal<any[] | undefined>;
56
+ readonly labelBarNoSelectItem: import("@angular/core").InputSignal<string>;
57
+ readonly labelBarButtons: import("@angular/core").InputSignalWithTransform<string, string | undefined>;
58
+ readonly classLabelBarButtons: import("@angular/core").InputSignalWithTransform<string, string | undefined>;
59
+ readonly barButtons: import("@angular/core").InputSignal<IButton[] | undefined>;
60
+ readonly sortLocal: import("@angular/core").InputSignal<boolean | undefined>;
61
+ readonly filterOrSortLocal: import("@angular/core").InputSignal<TYPE_TABLE_FILTER>;
62
+ readonly httpRequestData: import("@angular/core").InputSignal<IHttpRequestConfig | undefined>;
63
+ readonly httpRequestDataFooter: import("@angular/core").InputSignal<IHttpRequestConfig | undefined>;
64
+ readonly newData: import("@angular/core").InputSignal<TYPE_NEW_DATA_TABLE | undefined>;
65
+ readonly filter: import("@angular/core").InputSignalWithTransform<TYPE_DATA_FILTER_TABLE, TYPE_DATA_FILTER_TABLE | undefined>;
66
+ readonly ignoreBar: import("@angular/core").InputSignal<boolean | undefined>;
67
+ readonly classLabelBarNoSelectItem: import("@angular/core").InputSignal<string | undefined>;
68
+ readonly ignoreClassBgHeader: import("@angular/core").InputSignal<boolean | undefined>;
69
+ readonly noDataConfig: import("@angular/core").InputSignal<ITableNoDataConfig>;
70
+ readonly ignoreBorderItemLast: import("@angular/core").InputSignal<boolean | undefined>;
71
+ readonly isHiddenHeaderWhenNodata: import("@angular/core").InputSignal<boolean | undefined>;
72
+ readonly maxItemSelected: import("@angular/core").InputSignalWithTransform<number, number | undefined>;
73
+ readonly configSelectMoreItem: import("@angular/core").InputSignal<IConfigSelectMoreItem | undefined>;
74
+ readonly onlyShowNoResult: import("@angular/core").InputSignal<boolean | undefined>;
75
+ readonly ignoreBorderItem: import("@angular/core").InputSignal<boolean | undefined>;
76
+ /** OUTPUT */
77
+ readonly outLoadMore: import("@angular/core").OutputEmitterRef<ILoadMoreEvent>;
78
+ readonly outScrollIsGone: import("@angular/core").OutputEmitterRef<ILoadMoreEvent>;
79
+ readonly outLoading: import("@angular/core").OutputEmitterRef<boolean>;
80
+ readonly outClickButtonAction: import("@angular/core").OutputEmitterRef<ITabelButtonActionEvent>;
81
+ readonly outSort: import("@angular/core").OutputEmitterRef<ISortEvent>;
82
+ readonly outClickBarButton: import("@angular/core").OutputEmitterRef<IButtonBarEvent>;
83
+ readonly outHoverButtonAction: import("@angular/core").OutputEmitterRef<IHoverButtonActionEvent>;
84
+ readonly outKeysSelected: import("@angular/core").OutputEmitterRef<{
85
+ keys: Array<any>;
86
+ }>;
87
+ readonly outFunctionsControl: import("@angular/core").OutputEmitterRef<ITableFunctionControlEvent>;
88
+ readonly outLoadDataComplete: import("@angular/core").OutputEmitterRef<WritableSignal<WritableSignal<any>[]>>;
89
+ readonly outTotalItem: import("@angular/core").OutputEmitterRef<number>;
90
+ readonly outLoadDataError: import("@angular/core").OutputEmitterRef<IHttpResponseError>;
91
+ /**VIEW CHILD */
92
+ protected headerElementRef: import("@angular/core").Signal<ElementRef<any> | undefined>;
93
+ protected footerElementRef: import("@angular/core").Signal<ElementRef<any> | undefined>;
94
+ protected footerLeftElementRef: import("@angular/core").Signal<ElementRef<any> | undefined>;
95
+ private bodyElementRef;
96
+ private bodyComponentRef;
97
+ private httpRequestService;
98
+ constructor();
99
+ ngOnInit(): void;
100
+ private getScrollContainer;
101
+ private callApiByService;
102
+ protected fakeResponseApi(): Record<any, any>;
103
+ private callApiByServiceFooter;
104
+ private addItems;
105
+ private checkExistItem;
106
+ private removeItems;
107
+ private getCount;
108
+ protected handlerScroll(e: any): void;
109
+ protected handlerScrollBottom(e: Event): void;
110
+ private loadMore;
111
+ private loadMoreSuccess;
112
+ protected handlerChangeAllChecked(): void;
113
+ protected handlerChangeCheckedAllItems(event: ICheckboxEvent): void;
114
+ private checkCancelConditionCheckedItem;
115
+ protected handlerChangeItemChecked(event: ICheckboxItem, item: Record<any, any>): void;
116
+ protected handlerChangeSort(sort: ISort): void;
117
+ private handlerSortLocal;
118
+ protected handlerFunctionControlMoreSelectItem(functionControl: IDropdownFunctionControlEvent): void;
119
+ protected handlerSelectedMoreItem(event: IEmitSelectKey | undefined): void;
120
+ private setPerPageSelectMoreItem;
121
+ private onSortSuccess;
122
+ protected handlerButtonClick(type: 'button' | 'button-dropdown', buttonDropdownData: any, button: IButton): void;
123
+ protected handlerBarButtonClick(button: IButton): void;
124
+ protected handlerButtonDropdownEvent(eventName: TYPE_POPOVER_EVENT): void;
125
+ protected setIndexHover(e: Event, item: WritableSignal<Record<any, any>>): void;
126
+ protected resetIndexHoverWhenMouseLeave(e?: Event): void;
127
+ protected resetIndexHover(e?: Event): void;
128
+ protected handlerMouseEnter(event: Event): void;
129
+ protected handlerMouseLeave(event: Event): void;
130
+ private resetScroll;
131
+ private reset;
132
+ private checkScroll;
133
+ protected get BodyElement(): HTMLElement | undefined;
134
+ ngOnDestroy(): void;
135
+ static ɵfac: i0.ɵɵFactoryDeclaration<LibsUiComponentsTableComponent, never>;
136
+ static ɵcmp: i0.ɵɵComponentDeclaration<LibsUiComponentsTableComponent, "libs_ui-components-table", never, { "timeHighlighNewItem": { "alias": "timeHighlighNewItem"; "required": false; "isSignal": true; }; "headerLeft": { "alias": "headerLeft"; "required": false; "isSignal": true; }; "headerRight": { "alias": "headerRight"; "required": false; "isSignal": true; }; "configTemplateItemCollapseExpand": { "alias": "configTemplateItemCollapseExpand"; "required": false; "isSignal": true; }; "showFooter": { "alias": "showFooter"; "required": false; "isSignal": true; }; "ignoreBorderFooter": { "alias": "ignoreBorderFooter"; "required": false; "isSignal": true; }; "customPositionFooter": { "alias": "customPositionFooter"; "required": false; "isSignal": true; }; "footerLeft": { "alias": "footerLeft"; "required": false; "isSignal": true; }; "footerRight": { "alias": "footerRight"; "required": false; "isSignal": true; }; "disableCheckbox": { "alias": "disableCheckbox"; "required": false; "isSignal": true; }; "enableUnequalChildrenSizes": { "alias": "enableUnequalChildrenSizes"; "required": false; "isSignal": true; }; "bufferAmount": { "alias": "bufferAmount"; "required": false; "isSignal": true; }; "totalItem": { "alias": "totalItem"; "required": false; "isSignal": true; }; "isDashBorder": { "alias": "isDashBorder"; "required": false; "isSignal": true; }; "classHeaderInclude": { "alias": "classHeaderInclude"; "required": false; "isSignal": true; }; "classBodyInclude": { "alias": "classBodyInclude"; "required": false; "isSignal": true; }; "classFooterInclude": { "alias": "classFooterInclude"; "required": false; "isSignal": true; }; "fieldKey": { "alias": "fieldKey"; "required": false; "isSignal": true; }; "defaultKeysSelected": { "alias": "defaultKeysSelected"; "required": false; "isSignal": true; }; "labelBarNoSelectItem": { "alias": "labelBarNoSelectItem"; "required": false; "isSignal": true; }; "labelBarButtons": { "alias": "labelBarButtons"; "required": false; "isSignal": true; }; "classLabelBarButtons": { "alias": "classLabelBarButtons"; "required": false; "isSignal": true; }; "barButtons": { "alias": "barButtons"; "required": false; "isSignal": true; }; "sortLocal": { "alias": "sortLocal"; "required": false; "isSignal": true; }; "filterOrSortLocal": { "alias": "filterOrSortLocal"; "required": false; "isSignal": true; }; "httpRequestData": { "alias": "httpRequestData"; "required": false; "isSignal": true; }; "httpRequestDataFooter": { "alias": "httpRequestDataFooter"; "required": false; "isSignal": true; }; "newData": { "alias": "newData"; "required": false; "isSignal": true; }; "filter": { "alias": "filter"; "required": false; "isSignal": true; }; "ignoreBar": { "alias": "ignoreBar"; "required": false; "isSignal": true; }; "classLabelBarNoSelectItem": { "alias": "classLabelBarNoSelectItem"; "required": false; "isSignal": true; }; "ignoreClassBgHeader": { "alias": "ignoreClassBgHeader"; "required": false; "isSignal": true; }; "noDataConfig": { "alias": "noDataConfig"; "required": false; "isSignal": true; }; "ignoreBorderItemLast": { "alias": "ignoreBorderItemLast"; "required": false; "isSignal": true; }; "isHiddenHeaderWhenNodata": { "alias": "isHiddenHeaderWhenNodata"; "required": false; "isSignal": true; }; "maxItemSelected": { "alias": "maxItemSelected"; "required": false; "isSignal": true; }; "configSelectMoreItem": { "alias": "configSelectMoreItem"; "required": false; "isSignal": true; }; "onlyShowNoResult": { "alias": "onlyShowNoResult"; "required": false; "isSignal": true; }; "ignoreBorderItem": { "alias": "ignoreBorderItem"; "required": false; "isSignal": true; }; }, { "outLoadMore": "outLoadMore"; "outScrollIsGone": "outScrollIsGone"; "outLoading": "outLoading"; "outClickButtonAction": "outClickButtonAction"; "outSort": "outSort"; "outClickBarButton": "outClickBarButton"; "outHoverButtonAction": "outHoverButtonAction"; "outKeysSelected": "outKeysSelected"; "outFunctionsControl": "outFunctionsControl"; "outLoadDataComplete": "outLoadDataComplete"; "outTotalItem": "outTotalItem"; "outLoadDataError": "outLoadDataError"; }, never, ["div.libs-ui-table-bar-right"], true, never>;
137
+ }
@@ -0,0 +1,7 @@
1
+ import { TYPE_ITEM_DATA_TABLE } from "../interfaces";
2
+ import * as i0 from "@angular/core";
3
+ export declare class LibsUiComponentsTableTemplateAbstractComponent {
4
+ readonly item: import("@angular/core").InputSignal<TYPE_ITEM_DATA_TABLE>;
5
+ static ɵfac: i0.ɵɵFactoryDeclaration<LibsUiComponentsTableTemplateAbstractComponent, never>;
6
+ static ɵcmp: i0.ɵɵComponentDeclaration<LibsUiComponentsTableTemplateAbstractComponent, "libs_ui-components-table-templates_abstract", never, { "item": { "alias": "item"; "required": true; "isSignal": true; }; }, {}, never, never, false, never>;
7
+ }
@@ -0,0 +1,25 @@
1
+ import { IButton } from '@libs-ui/components-buttons-button';
2
+ import { IDropdownFunctionControlEvent, IEmitMultiKey, IEmitSelectKey } from '@libs-ui/components-dropdown';
3
+ import { TYPE_POPOVER_EVENT } from '@libs-ui/components-popover';
4
+ import { ISwitchEvent } from '@libs-ui/components-switch';
5
+ import { TYPE_ITEM_DATA_TABLE } from '../interfaces';
6
+ import { ITableFieldTemplateConfig, ITableTemplateConfig } from '../interfaces/template-config.interface';
7
+ import * as i0 from "@angular/core";
8
+ export declare class LibsUiComponentsTableTemplatesComponent {
9
+ private lockClick;
10
+ private functionControls;
11
+ protected isImageError: boolean | undefined;
12
+ readonly isHover: import("@angular/core").InputSignal<boolean | undefined>;
13
+ readonly configs: import("@angular/core").InputSignal<ITableTemplateConfig[] | undefined>;
14
+ readonly templateCssWrapper: import("@angular/core").InputSignal<string | undefined>;
15
+ readonly item: import("@angular/core").InputSignal<TYPE_ITEM_DATA_TABLE>;
16
+ protected handlerItemClick(event: Event | TYPE_POPOVER_EVENT | undefined, config: ITableFieldTemplateConfig, dataField: any): Promise<void>;
17
+ protected clickButtonAction(button: IButton): Promise<void>;
18
+ protected handlerSwitch(switchItem: ISwitchEvent, config: ITableFieldTemplateConfig): Promise<void>;
19
+ protected handlerSelectItemDropdown(fieldConfig: ITableFieldTemplateConfig, index: number, data?: IEmitSelectKey): Promise<void>;
20
+ protected handlerSelectItemsDropdown(fieldConfig: ITableFieldTemplateConfig, index: number, data?: IEmitMultiKey): Promise<void>;
21
+ protected handlerImageError(event: Event): Promise<void>;
22
+ protected handlerFunctionControl(event: IDropdownFunctionControlEvent, index: number): Promise<void>;
23
+ static ɵfac: i0.ɵɵFactoryDeclaration<LibsUiComponentsTableTemplatesComponent, never>;
24
+ static ɵcmp: i0.ɵɵComponentDeclaration<LibsUiComponentsTableTemplatesComponent, "libs_ui-components-table-templates", never, { "isHover": { "alias": "isHover"; "required": false; "isSignal": true; }; "configs": { "alias": "configs"; "required": false; "isSignal": true; }; "templateCssWrapper": { "alias": "templateCssWrapper"; "required": false; "isSignal": true; }; "item": { "alias": "item"; "required": true; "isSignal": true; }; }, {}, never, never, true, never>;
25
+ }