@zeedhi/teknisa-components-common 1.87.1 → 1.89.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.
@@ -5,15 +5,16 @@ import {
5
5
  Http, IDictionary, KeyMap, Metadata,
6
6
  } from '@zeedhi/core';
7
7
  import {
8
- ITekTreeGrid, TekGridColumn, TekRestDatasource, TekTreeGrid,
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<IButton>(grid.toolbarSlot, `${grid.name}_filterButton`);
16
- const button = new Button(buttonProps);
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 Button({
142
+ const spyMetadata = jest.spyOn(Metadata, 'getInstance').mockImplementation(() => new TekGridFilterButton({
142
143
  name: 'grid_navigation_2_filterButton',
143
- component: 'ZdButton',
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<IButton>(instance.toolbarSlot, `${instance.name}_filterButton`);
285
- const button = new Button(buttonProps);
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
- clickOnFilterButton(instance);
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
- clickOnFilterButton(instance);
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,7 @@
1
+ import { IDragGridEvents } from '@zeedhi/zd-drag-grid-common';
2
+ import { ITekGrid } from '../tek-grid/interfaces';
3
+ export interface ITekDragGrid extends ITekGrid {
4
+ orderColumnName: string;
5
+ orderMode?: 'asc' | 'desc';
6
+ events?: IDragGridEvents;
7
+ }
@@ -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, Input } from '@zeedhi/common';
2
- import { IDictionary, IEventParam } from '@zeedhi/core';
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
- icon: boolean;
228
- iconName: string;
227
+ grid: TekGrid | TekTreeGrid;
228
+ gridName: string;
229
229
  isVisible: string;
230
230
  events: {
231
- click: ({ event }: any) => void;
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
  }