@zeedhi/teknisa-components-common 1.88.0 → 1.90.0
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/coverage/clover.xml +679 -622
- package/coverage/coverage-final.json +41 -39
- package/coverage/lcov-report/index.html +31 -16
- package/coverage/lcov-report/tests/__helpers__/component-event-helper.ts.html +4 -4
- package/coverage/lcov-report/tests/__helpers__/flush-promises-helper.ts.html +2 -2
- package/coverage/lcov-report/tests/__helpers__/get-child-helper.ts.html +12 -12
- package/coverage/lcov-report/tests/__helpers__/index.html +2 -2
- package/coverage/lcov-report/tests/__helpers__/index.ts.html +5 -5
- package/coverage/lcov-report/tests/__helpers__/mock-created-helper.ts.html +4 -4
- package/coverage/lcov.info +1135 -1038
- package/dist/tek-components-common.esm.js +613 -496
- package/dist/tek-components-common.umd.js +615 -497
- package/package.json +3 -2
- package/tests/unit/components/tek-drag-grid/tek-drag-grid.spec.ts +112 -0
- package/tests/unit/components/tek-grid/grid-filter-button.spec.ts +846 -0
- package/tests/unit/components/tek-grid/grid.spec.ts +20 -769
- package/tests/unit/components/tree-grid/tree-grid.spec.ts +15 -9
- package/types/components/index.d.ts +3 -0
- package/types/components/tek-drag-grid/interfaces.d.ts +7 -0
- package/types/components/tek-drag-grid/tek-drag-grid.d.ts +36 -0
- package/types/components/tek-grid/grid-filter-button.d.ts +29 -0
- package/types/components/tek-grid/interfaces.d.ts +6 -2
- package/types/utils/grid-base/grid-base.d.ts +9 -19
|
@@ -5,15 +5,16 @@ import {
|
|
|
5
5
|
Http, IDictionary, KeyMap, Metadata,
|
|
6
6
|
} from '@zeedhi/core';
|
|
7
7
|
import {
|
|
8
|
-
|
|
8
|
+
ITekGridFilterButton,
|
|
9
|
+
ITekTreeGrid, TekGridColumn, TekGridFilterButton, TekRestDatasource, TekTreeGrid,
|
|
9
10
|
} from '../../../../src';
|
|
10
11
|
import { getChild, setClick } from '../../../__helpers__';
|
|
11
12
|
|
|
12
13
|
const flushPromises = () => new Promise(setImmediate);
|
|
13
14
|
|
|
14
15
|
const clickOnFilterButton = (grid: TekTreeGrid, event?: any) => {
|
|
15
|
-
const buttonProps = getChild<
|
|
16
|
-
const button = new
|
|
16
|
+
const buttonProps = getChild<ITekGridFilterButton>(grid.toolbarSlot, `${grid.name}_filterButton`);
|
|
17
|
+
const button = new TekGridFilterButton(buttonProps);
|
|
17
18
|
setClick(button, event);
|
|
18
19
|
|
|
19
20
|
return button;
|
|
@@ -138,9 +139,10 @@ describe('TekTreeGrid', () => {
|
|
|
138
139
|
|
|
139
140
|
const method = jest.fn();
|
|
140
141
|
|
|
141
|
-
const spyMetadata = jest.spyOn(Metadata, 'getInstance').mockImplementation(() => new
|
|
142
|
+
const spyMetadata = jest.spyOn(Metadata, 'getInstance').mockImplementation(() => new TekGridFilterButton({
|
|
142
143
|
name: 'grid_navigation_2_filterButton',
|
|
143
|
-
component: '
|
|
144
|
+
component: 'TekGridFilterButton',
|
|
145
|
+
grid: instance,
|
|
144
146
|
events: {
|
|
145
147
|
click: method,
|
|
146
148
|
},
|
|
@@ -281,8 +283,8 @@ describe('TekTreeGrid', () => {
|
|
|
281
283
|
|
|
282
284
|
instance.onCreated();
|
|
283
285
|
|
|
284
|
-
const buttonProps = getChild<
|
|
285
|
-
const button = new
|
|
286
|
+
const buttonProps = getChild<ITekGridFilterButton>(instance.toolbarSlot, `${instance.name}_filterButton`);
|
|
287
|
+
const button = new TekGridFilterButton(buttonProps);
|
|
286
288
|
setClick(button);
|
|
287
289
|
|
|
288
290
|
const formObject = new Form(form);
|
|
@@ -702,7 +704,9 @@ describe('TekTreeGrid', () => {
|
|
|
702
704
|
|
|
703
705
|
const spy = mockMetadata(instance);
|
|
704
706
|
instance.onCreated();
|
|
705
|
-
|
|
707
|
+
|
|
708
|
+
const filterButton = clickOnFilterButton(instance);
|
|
709
|
+
filterButton.onCreated();
|
|
706
710
|
|
|
707
711
|
const inputs = instance.getFilterInputs();
|
|
708
712
|
expect(inputs[0].name).toBe('grid-filter-AND-CONTAINS-name-0');
|
|
@@ -749,7 +753,9 @@ describe('TekTreeGrid', () => {
|
|
|
749
753
|
|
|
750
754
|
const spy = mockMetadata(instance);
|
|
751
755
|
instance.onCreated();
|
|
752
|
-
|
|
756
|
+
|
|
757
|
+
const filterButton = clickOnFilterButton(instance);
|
|
758
|
+
filterButton.onCreated();
|
|
753
759
|
|
|
754
760
|
const inputs = instance.getFilterInputs('salary');
|
|
755
761
|
expect(inputs[0].name).toBe('grid-filter-AND-GREATER_THAN_EQUALS-salary-0');
|
|
@@ -25,6 +25,7 @@ export * from './tek-grid/interfaces';
|
|
|
25
25
|
export * from './tek-grid/grid';
|
|
26
26
|
export * from './tek-grid/grid-column';
|
|
27
27
|
export * from './tek-grid/grid-columns-button';
|
|
28
|
+
export * from './tek-grid/grid-filter-button';
|
|
28
29
|
export * from './tek-grid/layout-options';
|
|
29
30
|
export * from './tek-grid/filter-helper';
|
|
30
31
|
export * from './tek-datasource/interfaces';
|
|
@@ -35,3 +36,5 @@ export * from './tek-tree-grid/tree-grid';
|
|
|
35
36
|
export * from './tek-user-info/interfaces';
|
|
36
37
|
export * from './tek-user-info/tek-user-info';
|
|
37
38
|
export * from './tek-user-info/tek-user-info-list';
|
|
39
|
+
export * from './tek-drag-grid/interfaces';
|
|
40
|
+
export * from './tek-drag-grid/tek-drag-grid';
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
import { IDraggable } from '@zeedhi/zd-drag-grid-common';
|
|
2
|
+
import { IDictionary } from '@zeedhi/core';
|
|
3
|
+
import { TekGrid } from '../tek-grid/grid';
|
|
4
|
+
import { ITekDragGrid } from './interfaces';
|
|
5
|
+
export declare class TekDragGrid extends TekGrid implements ITekDragGrid {
|
|
6
|
+
private internalOrderColumnName;
|
|
7
|
+
private internalOrderMode;
|
|
8
|
+
protected draggable: IDraggable;
|
|
9
|
+
constructor(props: ITekDragGrid);
|
|
10
|
+
set orderColumnName(value: string);
|
|
11
|
+
get orderColumnName(): string;
|
|
12
|
+
set orderMode(value: 'asc' | 'desc');
|
|
13
|
+
get orderMode(): 'asc' | 'desc';
|
|
14
|
+
/**
|
|
15
|
+
* Event triggered when dragged element is moving
|
|
16
|
+
* @param event DOM event
|
|
17
|
+
* @param row row being dragged
|
|
18
|
+
* @param element HTML element
|
|
19
|
+
* @returns return false to cancel dragging
|
|
20
|
+
*/
|
|
21
|
+
onDragMove(event: Event, row: IDictionary, element: HTMLElement): boolean;
|
|
22
|
+
/**
|
|
23
|
+
* Event triggered when drag starts
|
|
24
|
+
* @param event DOM event
|
|
25
|
+
* @param row row being dragged
|
|
26
|
+
* @param element HTML element
|
|
27
|
+
*/
|
|
28
|
+
onDragStart(event: Event, row: IDictionary, element: HTMLElement): boolean;
|
|
29
|
+
/**
|
|
30
|
+
* Event triggered when drag ends
|
|
31
|
+
* @param event DOM event
|
|
32
|
+
* @param row row being dragged
|
|
33
|
+
* @param element HTML element
|
|
34
|
+
*/
|
|
35
|
+
onDragEnd(event: Event, row: IDictionary, element: HTMLElement): void;
|
|
36
|
+
}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
import { Button, Input } from '@zeedhi/common';
|
|
2
|
+
import { IDictionary } from '@zeedhi/core';
|
|
3
|
+
import { ITekGridFilterButton } from './interfaces';
|
|
4
|
+
import { TekGrid } from './grid';
|
|
5
|
+
import { TekTreeGrid } from '../tek-tree-grid/tree-grid';
|
|
6
|
+
/**
|
|
7
|
+
* Base class for TekGrid Filter Button component
|
|
8
|
+
*/
|
|
9
|
+
export declare class TekGridFilterButton extends Button implements ITekGridFilterButton {
|
|
10
|
+
gridName?: string;
|
|
11
|
+
grid: TekGrid | TekTreeGrid;
|
|
12
|
+
private filterModal?;
|
|
13
|
+
protected filterFormInputs: IDictionary<string[]>;
|
|
14
|
+
constructor(props: ITekGridFilterButton);
|
|
15
|
+
loadGrid(gridName?: string): void;
|
|
16
|
+
click(event: Event): void;
|
|
17
|
+
private loadFilterValues;
|
|
18
|
+
hideFilterModal(): void;
|
|
19
|
+
destroyFilterModal(): void;
|
|
20
|
+
private createFilterFromColumns;
|
|
21
|
+
onBeforeDestroy(): void;
|
|
22
|
+
private applyFilter;
|
|
23
|
+
private setFilter;
|
|
24
|
+
private clearFilter;
|
|
25
|
+
private sortFilterIndex;
|
|
26
|
+
getFilterInputs(columnName?: string): Input[];
|
|
27
|
+
private getFilterModalComponents;
|
|
28
|
+
private changeHelperEvent;
|
|
29
|
+
}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { IBeforeReportEvent, IComponent, IComponentEvents, IComponentRender, IGridColumnEditable, IGridEditable, IIterableColumnsButton, EventDef, IModal } from '@zeedhi/common';
|
|
1
|
+
import { IBeforeReportEvent, IComponent, IComponentEvents, IComponentRender, IGridColumnEditable, IGridEditable, IIterableColumnsButton, EventDef, IModal, IButton } from '@zeedhi/common';
|
|
2
2
|
import { IDictionary, IEvent, IEventParam, IDateHelperValue, IDateHelperValues } from '@zeedhi/core';
|
|
3
|
-
import { IDynamicFilterItem, TekGridLayoutOptions } from '..';
|
|
3
|
+
import { IDynamicFilterItem, TekGrid, TekGridLayoutOptions, TekTreeGrid } from '..';
|
|
4
4
|
export interface ITekGridLayoutEventParams extends IEventParam<ITekGrid> {
|
|
5
5
|
layouts: ITekGridLayoutInfo;
|
|
6
6
|
}
|
|
@@ -112,6 +112,10 @@ export interface ITekGridColumn extends IGridColumnEditable {
|
|
|
112
112
|
export interface ITekGridColumnsButton extends IIterableColumnsButton {
|
|
113
113
|
hideGroups?: boolean;
|
|
114
114
|
}
|
|
115
|
+
export interface ITekGridFilterButton extends IButton {
|
|
116
|
+
gridName?: string;
|
|
117
|
+
grid?: TekGrid | TekTreeGrid;
|
|
118
|
+
}
|
|
115
119
|
export interface ITekGridGroup {
|
|
116
120
|
column: ITekGridColumn;
|
|
117
121
|
name: string;
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { IButton
|
|
2
|
-
import {
|
|
3
|
-
import { TekGrid, TekTreeGrid } from '../../components';
|
|
1
|
+
import { IButton } from '@zeedhi/common';
|
|
2
|
+
import { IEventParam } from '@zeedhi/core';
|
|
3
|
+
import { TekGrid, TekGridFilterButton, TekTreeGrid } from '../../components';
|
|
4
4
|
export interface ITekGridAtoms {
|
|
5
5
|
TITLE: string;
|
|
6
6
|
ADD_BUTTON: string;
|
|
@@ -224,11 +224,11 @@ export declare class GridBase {
|
|
|
224
224
|
children: {
|
|
225
225
|
name: string;
|
|
226
226
|
component: string;
|
|
227
|
-
|
|
228
|
-
|
|
227
|
+
grid: TekGrid | TekTreeGrid;
|
|
228
|
+
gridName: string;
|
|
229
229
|
isVisible: string;
|
|
230
230
|
events: {
|
|
231
|
-
|
|
231
|
+
onCreated: ({ component }: IEventParam<TekGridFilterButton>) => void;
|
|
232
232
|
};
|
|
233
233
|
}[];
|
|
234
234
|
cssClass?: undefined;
|
|
@@ -241,23 +241,14 @@ export declare class GridBase {
|
|
|
241
241
|
events?: undefined;
|
|
242
242
|
outline?: undefined;
|
|
243
243
|
})[];
|
|
244
|
+
filterButton?: TekGridFilterButton;
|
|
245
|
+
private loadFilterButton;
|
|
244
246
|
private addButtonClick;
|
|
245
247
|
private deleteButtonClick;
|
|
246
248
|
private reloadGrid;
|
|
247
249
|
private saveChanges;
|
|
248
250
|
private cancelChanges;
|
|
249
|
-
filterClick({ event }: any): void;
|
|
250
|
-
private filterModal?;
|
|
251
|
-
destroyFilterModal(): void;
|
|
252
|
-
private createFilterFromColumns;
|
|
253
251
|
hideFilterModal(): void;
|
|
254
|
-
private sortFilterIndex;
|
|
255
|
-
private getFilterModalComponents;
|
|
256
|
-
private changeHelperEvent;
|
|
257
|
-
private loadFilterValues;
|
|
258
|
-
private applyFilter;
|
|
259
|
-
private setFilter;
|
|
260
|
-
private clearFilter;
|
|
261
252
|
getFilterRelationsDatasource(): any;
|
|
262
253
|
getFilterOperationsDatasource(): any;
|
|
263
254
|
getFilterOptionsData(prop: string): {
|
|
@@ -265,8 +256,7 @@ export declare class GridBase {
|
|
|
265
256
|
value: string;
|
|
266
257
|
}[];
|
|
267
258
|
setSearch(search: string): Promise<any>;
|
|
268
|
-
protected filterFormInputs: IDictionary<string[]>;
|
|
269
259
|
protected atoms: ITekGridAtoms;
|
|
270
260
|
getAtomInstance<T>(key: keyof ITekGridAtoms): T;
|
|
271
|
-
getFilterInputs(columnName?: string): Input[];
|
|
261
|
+
getFilterInputs(columnName?: string): import("@zeedhi/common").Input[];
|
|
272
262
|
}
|