sidesys-generic-ui 2.4.2 → 2.4.4

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 (49) hide show
  1. package/esm2022/lib/icon-material/s-icon-material.component.mjs +2 -2
  2. package/esm2022/lib/input/components/calendar/s-calendar.component.mjs +3 -3
  3. package/esm2022/lib/input/components/color/s-color.component.mjs +7 -4
  4. package/esm2022/lib/input/components/input/s-input-model.mjs +3 -1
  5. package/esm2022/lib/input/components/input/s-input.component.mjs +16 -23
  6. package/esm2022/lib/input/components/input-number/s-input-number.component.mjs +19 -3
  7. package/esm2022/lib/input/components/input-textarea/s-input-textarea.component.mjs +3 -3
  8. package/esm2022/lib/input/components/slider/s-slider.component.mjs +208 -0
  9. package/esm2022/lib/input/components/time/s-time.component.mjs +3 -3
  10. package/esm2022/lib/input/index.mjs +2 -2
  11. package/esm2022/lib/input/input.module.mjs +6 -6
  12. package/esm2022/lib/list-simple/s-list-simple.component.mjs +2 -2
  13. package/esm2022/lib/modal/modal-confirm/modal-confirm.component.mjs +4 -4
  14. package/esm2022/lib/modal/modal-confirm/models/modal-confirm.interface.mjs +1 -1
  15. package/esm2022/lib/select/select/s-select.component.mjs +10 -9
  16. package/esm2022/lib/select/select-multiple/s-select-multiple.component.mjs +3 -3
  17. package/esm2022/lib/select/select-multiple-old/s-select-multiple-old.component.mjs +2 -2
  18. package/esm2022/lib/select/select-simple/s-select-simple.component.mjs +2 -2
  19. package/esm2022/lib/table-complete/table-complete.component.mjs +14 -5
  20. package/esm2022/lib/table-double/table-double.component.mjs +207 -53
  21. package/esm2022/lib/table-double/table-double.model.mjs +1 -1
  22. package/esm2022/lib/table-double-complete/table-double-complete.component.mjs +256 -0
  23. package/esm2022/lib/table-double-complete/table-double-complete.model.mjs +2 -0
  24. package/esm2022/lib/table-t/s-tablet.component.mjs +7 -4
  25. package/esm2022/lib/table-t/table-actions-buttons/table-actions-buttons.component.mjs +2 -2
  26. package/esm2022/lib/tabs/models/configTabs.interface.mjs +1 -1
  27. package/esm2022/lib/tabs/s-tabs.component.mjs +3 -3
  28. package/esm2022/public-api.mjs +2 -1
  29. package/fesm2022/sidesys-generic-ui.mjs +600 -164
  30. package/fesm2022/sidesys-generic-ui.mjs.map +1 -1
  31. package/lib/input/components/color/s-color.component.d.ts +2 -1
  32. package/lib/input/components/input/s-input-model.d.ts +2 -0
  33. package/lib/input/components/input/s-input.component.d.ts +2 -2
  34. package/lib/input/components/input-number/s-input-number.component.d.ts +2 -0
  35. package/lib/input/components/slider/s-slider.component.d.ts +48 -0
  36. package/lib/input/index.d.ts +1 -1
  37. package/lib/input/input.module.d.ts +2 -2
  38. package/lib/modal/modal-confirm/models/modal-confirm.interface.d.ts +1 -1
  39. package/lib/table-complete/table-complete.component.d.ts +4 -0
  40. package/lib/table-double/table-double.component.d.ts +45 -22
  41. package/lib/table-double/table-double.model.d.ts +24 -3
  42. package/lib/table-double-complete/table-double-complete.component.d.ts +38 -0
  43. package/lib/table-double-complete/table-double-complete.model.d.ts +37 -0
  44. package/lib/table-t/s-tablet.component.d.ts +2 -1
  45. package/lib/tabs/models/configTabs.interface.d.ts +4 -0
  46. package/package.json +1 -1
  47. package/public-api.d.ts +2 -0
  48. package/esm2022/lib/input/components/range/s-range.component.mjs +0 -196
  49. package/lib/input/components/range/s-range.component.d.ts +0 -45
@@ -18,6 +18,7 @@ export declare class SColorComponent {
18
18
  classAdd: string;
19
19
  help: boolean;
20
20
  size: 'sm' | 'md';
21
+ disabled: boolean;
21
22
  inputTimeout?: any;
22
23
  visibility: boolean;
23
24
  inconSymbol: boolean;
@@ -36,5 +37,5 @@ export declare class SColorComponent {
36
37
  onBlur(event: any): void;
37
38
  onFocus(event: any): void;
38
39
  static ɵfac: i0.ɵɵFactoryDeclaration<SColorComponent, never>;
39
- static ɵcmp: i0.ɵɵComponentDeclaration<SColorComponent, "s-color", never, { "value": { "alias": "value"; "required": false; }; "id": { "alias": "id"; "required": false; }; "name": { "alias": "name"; "required": false; }; "label": { "alias": "label"; "required": false; }; "placeHolder": { "alias": "placeHolder"; "required": false; }; "required": { "alias": "required"; "required": false; }; "helpText": { "alias": "helpText"; "required": false; }; "errorText": { "alias": "errorText"; "required": false; }; "hideErrorText": { "alias": "hideErrorText"; "required": false; }; "readOnly": { "alias": "readOnly"; "required": false; }; "theme": { "alias": "theme"; "required": false; }; "classAdd": { "alias": "classAdd"; "required": false; }; "help": { "alias": "help"; "required": false; }; "size": { "alias": "size"; "required": false; }; }, { "valueChangeEvent": "valueChangeEvent"; "clickHelpIconEvent": "clickHelpIconEvent"; "blur": "blur"; "focus": "focus"; }, never, never, false, never>;
40
+ static ɵcmp: i0.ɵɵComponentDeclaration<SColorComponent, "s-color", never, { "value": { "alias": "value"; "required": false; }; "id": { "alias": "id"; "required": false; }; "name": { "alias": "name"; "required": false; }; "label": { "alias": "label"; "required": false; }; "placeHolder": { "alias": "placeHolder"; "required": false; }; "required": { "alias": "required"; "required": false; }; "helpText": { "alias": "helpText"; "required": false; }; "errorText": { "alias": "errorText"; "required": false; }; "hideErrorText": { "alias": "hideErrorText"; "required": false; }; "readOnly": { "alias": "readOnly"; "required": false; }; "theme": { "alias": "theme"; "required": false; }; "classAdd": { "alias": "classAdd"; "required": false; }; "help": { "alias": "help"; "required": false; }; "size": { "alias": "size"; "required": false; }; "disabled": { "alias": "disabled"; "required": false; }; }, { "valueChangeEvent": "valueChangeEvent"; "clickHelpIconEvent": "clickHelpIconEvent"; "blur": "blur"; "focus": "focus"; }, never, never, false, never>;
40
41
  }
@@ -26,6 +26,8 @@ export declare class SInput {
26
26
  export declare const INPUTS_REGEX: {
27
27
  URL: RegExp;
28
28
  EMAIL: RegExp;
29
+ ALPHANUMERIC: RegExp;
30
+ SEARCH: RegExp;
29
31
  };
30
32
  export declare enum INPUT_TYPE {
31
33
  TEXT = "text",
@@ -11,12 +11,12 @@ export declare class SInputComponent<T> extends ControlValueAccessorDirective<T>
11
11
  focus: EventEmitter<void>;
12
12
  iconSymbol: boolean;
13
13
  iconType?: string;
14
- ICON_THEME: typeof ICON_THEME;
15
14
  showPassword: boolean;
16
15
  type: INPUT_TYPE;
17
- errorPattern: string | undefined;
16
+ errorPattern?: string;
18
17
  INPUT_TYPE: typeof INPUT_TYPE;
19
18
  THEME: typeof THEME;
19
+ ICON_THEME: typeof ICON_THEME;
20
20
  isFocused: boolean;
21
21
  onInput(event: Event): void;
22
22
  registerOnChange(fn: any): void;
@@ -48,6 +48,8 @@ export declare class SInputNumberComponent<T> extends ControlValueAccessorDirect
48
48
  setValue(newValue: number): void;
49
49
  onBlur(event: any): void;
50
50
  onFocus(event: any): void;
51
+ canDecrease(): boolean;
52
+ canIncrease(): boolean;
51
53
  static ɵfac: i0.ɵɵFactoryDeclaration<SInputNumberComponent<any>, never>;
52
54
  static ɵcmp: i0.ɵɵComponentDeclaration<SInputNumberComponent<any>, "s-input-number", never, { "config": { "alias": "config"; "required": false; }; }, { "clickHelpIconEvent": "clickHelpIconEvent"; "blur": "blur"; "focus": "focus"; }, never, never, false, never>;
53
55
  }
@@ -0,0 +1,48 @@
1
+ import { AfterViewInit, ElementRef, EventEmitter } from '@angular/core';
2
+ import { ControlValueAccessor } from '@angular/forms';
3
+ import * as i0 from "@angular/core";
4
+ export declare class SSliderComponent implements ControlValueAccessor, AfterViewInit {
5
+ onChange: (_: any) => void;
6
+ onTouch: () => void;
7
+ tooltipContainer: ElementRef | undefined;
8
+ tooltip: ElementRef | undefined;
9
+ numberInput: ElementRef<HTMLInputElement>;
10
+ value: string;
11
+ id: string;
12
+ label?: string;
13
+ required?: boolean;
14
+ helpText?: string;
15
+ errorText?: string;
16
+ disabled: boolean;
17
+ max?: number;
18
+ min: number;
19
+ step: number;
20
+ readOnly: boolean;
21
+ classAdd: string;
22
+ size: 'sm' | 'md';
23
+ rangeUnity: string;
24
+ showInput: boolean;
25
+ inputTimeout?: any;
26
+ inconSymbol: boolean;
27
+ tooltipValue: string;
28
+ valueChangeEvent: EventEmitter<string>;
29
+ clickHelpIconEvent: EventEmitter<void>;
30
+ blur: EventEmitter<void>;
31
+ focus: EventEmitter<void>;
32
+ ngAfterViewInit(): void;
33
+ onTextChange(): void;
34
+ clickIcon(): void;
35
+ rangeOnLoad(): void;
36
+ changeRange(value: any): void;
37
+ updateTooltip(value: string): void;
38
+ preventInteraction(event: Event): void;
39
+ writeValue(value: any): void;
40
+ registerOnChange(fn: any): void;
41
+ registerOnTouched(fn: any): void;
42
+ onBlur(event: any): void;
43
+ onFocus(event: any): void;
44
+ onNumberInput(event: Event): void;
45
+ clampValue(value: any): number;
46
+ static ɵfac: i0.ɵɵFactoryDeclaration<SSliderComponent, never>;
47
+ static ɵcmp: i0.ɵɵComponentDeclaration<SSliderComponent, "s-slider", never, { "value": { "alias": "value"; "required": false; }; "id": { "alias": "id"; "required": false; }; "label": { "alias": "label"; "required": false; }; "required": { "alias": "required"; "required": false; }; "helpText": { "alias": "helpText"; "required": false; }; "errorText": { "alias": "errorText"; "required": false; }; "disabled": { "alias": "disabled"; "required": false; }; "max": { "alias": "max"; "required": false; }; "min": { "alias": "min"; "required": false; }; "step": { "alias": "step"; "required": false; }; "readOnly": { "alias": "readOnly"; "required": false; }; "classAdd": { "alias": "classAdd"; "required": false; }; "size": { "alias": "size"; "required": false; }; "rangeUnity": { "alias": "rangeUnity"; "required": false; }; "showInput": { "alias": "showInput"; "required": false; }; }, { "valueChangeEvent": "valueChangeEvent"; "clickHelpIconEvent": "clickHelpIconEvent"; "blur": "blur"; "focus": "focus"; }, never, never, false, never>;
48
+ }
@@ -2,7 +2,7 @@ export * from './components/input/s-input.component';
2
2
  export * from './components/input-textarea/s-input-textarea.component';
3
3
  export * from './components/error-control/s-error-control.component';
4
4
  export * from './input.module';
5
- export * from './components/range/s-range.component';
5
+ export * from './components/slider/s-slider.component';
6
6
  export * from './components/calendar/s-calendar.component';
7
7
  export * from './components/time/s-time.component';
8
8
  export * from './components/color/s-color.component';
@@ -3,7 +3,7 @@ import * as i1 from "./components/input-textarea/s-input-textarea.component";
3
3
  import * as i2 from "./components/error-control/s-error-control.component";
4
4
  import * as i3 from "./components/input/s-input.component";
5
5
  import * as i4 from "./components/input-number/s-input-number.component";
6
- import * as i5 from "./components/range/s-range.component";
6
+ import * as i5 from "./components/slider/s-slider.component";
7
7
  import * as i6 from "./components/calendar/s-calendar.component";
8
8
  import * as i7 from "./components/time/s-time.component";
9
9
  import * as i8 from "./components/color/s-color.component";
@@ -14,6 +14,6 @@ import * as i12 from "../icon-material/s-icon-material.module";
14
14
  import * as i13 from "../button/button.module";
15
15
  export declare class SInputModule {
16
16
  static ɵfac: i0.ɵɵFactoryDeclaration<SInputModule, never>;
17
- static ɵmod: i0.ɵɵNgModuleDeclaration<SInputModule, [typeof i1.SInputTextAreaComponent, typeof i2.SErrorControl, typeof i3.SInputComponent, typeof i4.SInputNumberComponent, typeof i5.SRangeComponent, typeof i6.SCalendarComponent, typeof i7.STimeComponent, typeof i8.SColorComponent, typeof i9.SValidationError], [typeof i10.CommonModule, typeof i11.FormsModule, typeof i11.ReactiveFormsModule, typeof i12.SIconMaterialModule, typeof i13.SButtonModule], [typeof i1.SInputTextAreaComponent, typeof i2.SErrorControl, typeof i3.SInputComponent, typeof i4.SInputNumberComponent, typeof i5.SRangeComponent, typeof i6.SCalendarComponent, typeof i7.STimeComponent, typeof i8.SColorComponent, typeof i9.SValidationError, typeof i2.SErrorControl]>;
17
+ static ɵmod: i0.ɵɵNgModuleDeclaration<SInputModule, [typeof i1.SInputTextAreaComponent, typeof i2.SErrorControl, typeof i3.SInputComponent, typeof i4.SInputNumberComponent, typeof i5.SSliderComponent, typeof i6.SCalendarComponent, typeof i7.STimeComponent, typeof i8.SColorComponent, typeof i9.SValidationError], [typeof i10.CommonModule, typeof i11.FormsModule, typeof i11.ReactiveFormsModule, typeof i12.SIconMaterialModule, typeof i13.SButtonModule], [typeof i1.SInputTextAreaComponent, typeof i2.SErrorControl, typeof i3.SInputComponent, typeof i4.SInputNumberComponent, typeof i5.SSliderComponent, typeof i6.SCalendarComponent, typeof i7.STimeComponent, typeof i8.SColorComponent, typeof i9.SValidationError, typeof i2.SErrorControl]>;
18
18
  static ɵinj: i0.ɵɵInjectorDeclaration<SInputModule>;
19
19
  }
@@ -1,7 +1,7 @@
1
1
  import { ModalType } from '../modal-confirm.component';
2
2
  export interface SModalConfirmConfig {
3
3
  confirmText: string;
4
- cancelText: string;
4
+ cancelText?: string;
5
5
  message: string;
6
6
  isVisible?: boolean;
7
7
  title: string;
@@ -17,6 +17,7 @@ export interface STableComplete {
17
17
  loadingScroll?: boolean;
18
18
  pageSize?: number;
19
19
  pageSizes?: IPageSizes[];
20
+ isTreeMode?: boolean;
20
21
  paginationText?: {
21
22
  showing: string;
22
23
  to: string;
@@ -41,6 +42,9 @@ export declare class TableCompleteComponent implements OnInit, OnChanges {
41
42
  searchEvent: EventEmitter<string>;
42
43
  bottomStatusBarEvent: EventEmitter<boolean>;
43
44
  scrollEvent: EventEmitter<void>;
45
+ private _sTranslateService;
46
+ emptyConfigSearch: SEmpty;
47
+ searchText: string;
44
48
  ngOnChanges(changes: SimpleChanges): void;
45
49
  ngOnInit(): void;
46
50
  filtersDisabled(): void;
@@ -1,51 +1,74 @@
1
1
  import { EventEmitter, OnInit, WritableSignal } from '@angular/core';
2
2
  import { SortTable } from '../table-t';
3
- import { Position, STableDouble, STableDoubleBooleanEvent, STableDoubleNumberEvent, STableDoubleSortEvent, STableDoubleStringArrayEvent, STableDoubleStringEvent, STablesData } from './table-double.model';
3
+ import { STableDouble, STableDoubleActionEvent, STableDoubleBooleanEvent, STableDoubleNumberEvent, STableDoubleReorderEvent, STableDoubleSortEvent, STableDoubleStringArrayEvent, STableDoubleStringEvent, STablesData } from './table-double.model';
4
+ import { ActionButton } from '../table-t/table-actions-buttons/interfaces';
4
5
  import * as i0 from "@angular/core";
5
6
  export declare class STableDoubleComponent implements OnInit {
6
7
  config: STableDouble;
7
- actionPositionEvent: EventEmitter<Position>;
8
+ actionPositionEvent: EventEmitter<boolean>;
8
9
  bottomStatusBarPositionEvent: EventEmitter<STableDoubleBooleanEvent>;
9
10
  checkAllPositionEvent: EventEmitter<STableDoubleBooleanEvent>;
10
- deletePositionEvent: EventEmitter<Position>;
11
- emptyPositionEvent: EventEmitter<Position>;
11
+ deletePositionEvent: EventEmitter<boolean>;
12
+ emptyPositionEvent: EventEmitter<boolean>;
12
13
  eventUpdateTables: EventEmitter<STablesData>;
13
14
  filterPositionEvent: EventEmitter<STableDoubleStringArrayEvent>;
14
15
  multiSelectPositionEvent: EventEmitter<STableDoubleStringArrayEvent>;
15
16
  orderByPositionEvent: EventEmitter<STableDoubleSortEvent>;
16
17
  pagePositionEvent: EventEmitter<STableDoubleNumberEvent>;
17
18
  paginationPositionEvent: EventEmitter<STableDoubleNumberEvent>;
18
- pillButtonPositionEvent: EventEmitter<Position>;
19
- scrollPositionEvent: EventEmitter<Position>;
19
+ pillButtonPositionEvent: EventEmitter<boolean>;
20
+ scrollPositionEvent: EventEmitter<boolean>;
20
21
  selectPositionEvent: EventEmitter<STableDoubleStringEvent>;
22
+ rowSelectPositionEvent: EventEmitter<{
23
+ isLeftTable: boolean;
24
+ value: any;
25
+ }>;
26
+ actionEvent: EventEmitter<STableDoubleActionEvent>;
27
+ toggleExpandEvent: EventEmitter<string>;
28
+ reorderItemEvent: EventEmitter<STableDoubleReorderEvent>;
21
29
  disabledButtonLeft: WritableSignal<boolean>;
22
30
  disabledButtonRight: WritableSignal<boolean>;
23
31
  itemsTableLeft: any[];
24
32
  itemsTableRightData: any[];
33
+ dragItemId: string | null;
34
+ dragOverItemId: string | null;
25
35
  private readonly _sTranslateService;
26
36
  ngOnInit(): void;
37
+ onDragStart(event: DragEvent, itemId: string): void;
38
+ onDragOver(event: DragEvent, itemId: string): void;
39
+ onDragLeave(event: DragEvent): void;
40
+ onDrop(event: DragEvent, itemId: string, isLeftTable: boolean): void;
41
+ iconAction(itemId: string, isLeftTable: boolean): void;
42
+ selectItem(itemId: string, isLeftTable: boolean): void;
27
43
  cloneItemsTables(): void;
28
- moveItems(sourcePosition: Position, targetPosition: Position): void;
44
+ moveItems(isLeftTableSource: boolean): void;
29
45
  eventUpdateTablesEmit(): void;
30
46
  addItem(): void;
31
47
  removeItem(): void;
32
- action(position: Position): void;
33
- delete(position: Position): void;
34
- empty(position: Position): void;
35
- orderBy(event: SortTable, position: Position): void;
36
- page(event: number, position: Position): void;
37
- paginationEmitter(event: number, position: Position): void;
38
- select(event: string, position: Position): void;
39
- pillButton(position: Position): void;
40
- filter(event: string[], position: Position): void;
41
- multiSelect(event: string[], side: Position): void;
42
- checkAllEvent(event: boolean, side: Position): void;
43
- onScroll(side: Position): void;
48
+ action(isLeftTable: boolean): void;
49
+ delete(isLeftTable: boolean): void;
50
+ empty(isLeftTable: boolean): void;
51
+ orderBy(event: SortTable, isLeftTable: boolean): void;
52
+ page(event: number, isLeftTable: boolean): void;
53
+ paginationEmitter(event: number, isLeftTable: boolean): void;
54
+ select(event: string, isLeftTable: boolean): void;
55
+ pillButton(isLeftTable: boolean): void;
56
+ filter(event: string[], isLeftTable: boolean): void;
57
+ multiSelect(event: string[], isLeftTable: boolean): void;
58
+ checkAllEvent(event: boolean, isLeftTable: boolean): void;
59
+ onScroll(isLeftTable: boolean): void;
44
60
  changeCheckbox(): void;
45
- bottomStatusBarChange(state: boolean, position: Position): void;
46
- search(event: string, position: string): void;
61
+ bottomStatusBarChange(state: boolean, isLeftTable: boolean): void;
62
+ search(event: string, isLeftTable: boolean): void;
47
63
  private getFilteredItems;
48
64
  private updateCounter;
65
+ getTreeLevelClass(item: any): string;
66
+ toggleExpand(event: Event, itemId: string): void;
67
+ rowClick(item: any, isLeftTable: boolean): void;
68
+ private getItems;
69
+ private setItems;
70
+ getOrderButtons(item: any): ActionButton[];
71
+ onOrderButtonClick(type: string, itemId: string): void;
49
72
  static ɵfac: i0.ɵɵFactoryDeclaration<STableDoubleComponent, never>;
50
- static ɵcmp: i0.ɵɵComponentDeclaration<STableDoubleComponent, "s-table-double", never, { "config": { "alias": "config"; "required": false; }; }, { "actionPositionEvent": "actionPositionEvent"; "bottomStatusBarPositionEvent": "bottomStatusBarPositionEvent"; "checkAllPositionEvent": "checkAllPositionEvent"; "deletePositionEvent": "deletePositionEvent"; "emptyPositionEvent": "emptyPositionEvent"; "eventUpdateTables": "eventUpdateTables"; "filterPositionEvent": "filterPositionEvent"; "multiSelectPositionEvent": "multiSelectPositionEvent"; "orderByPositionEvent": "orderByPositionEvent"; "pagePositionEvent": "pagePositionEvent"; "paginationPositionEvent": "paginationPositionEvent"; "pillButtonPositionEvent": "pillButtonPositionEvent"; "scrollPositionEvent": "scrollPositionEvent"; "selectPositionEvent": "selectPositionEvent"; }, never, never, true, never>;
73
+ static ɵcmp: i0.ɵɵComponentDeclaration<STableDoubleComponent, "s-table-double", never, { "config": { "alias": "config"; "required": false; }; }, { "actionPositionEvent": "actionPositionEvent"; "bottomStatusBarPositionEvent": "bottomStatusBarPositionEvent"; "checkAllPositionEvent": "checkAllPositionEvent"; "deletePositionEvent": "deletePositionEvent"; "emptyPositionEvent": "emptyPositionEvent"; "eventUpdateTables": "eventUpdateTables"; "filterPositionEvent": "filterPositionEvent"; "multiSelectPositionEvent": "multiSelectPositionEvent"; "orderByPositionEvent": "orderByPositionEvent"; "pagePositionEvent": "pagePositionEvent"; "paginationPositionEvent": "paginationPositionEvent"; "pillButtonPositionEvent": "pillButtonPositionEvent"; "scrollPositionEvent": "scrollPositionEvent"; "selectPositionEvent": "selectPositionEvent"; "rowSelectPositionEvent": "rowSelectPositionEvent"; "actionEvent": "actionEvent"; "toggleExpandEvent": "toggleExpandEvent"; "reorderItemEvent": "reorderItemEvent"; }, never, never, true, never>;
51
74
  }
@@ -1,15 +1,27 @@
1
1
  import { SortTable, STableComplete } from '../../public-api';
2
- export type Position = 'Left' | 'Right';
3
2
  export interface STableDouble {
3
+ dragAndDrop?: boolean;
4
4
  tableLeftConfig: STableComplete;
5
5
  tableRightConfig: STableComplete;
6
6
  tableLeftItems: STableDoubleItem[];
7
7
  tableRightItems: STableDoubleItem[];
8
+ additionButton?: boolean;
9
+ isTreeMode?: boolean;
10
+ disableLeftRowSelection?: boolean;
11
+ showOrderButtons?: boolean;
8
12
  }
9
13
  export interface STableDoubleItem {
10
14
  name: string;
11
15
  id: string;
12
- selected: boolean;
16
+ selectedCheckbox: boolean;
17
+ itemSelected?: boolean;
18
+ iconAction?: string;
19
+ level?: number;
20
+ expanded?: boolean;
21
+ hasChildren?: boolean;
22
+ parentId?: string | null;
23
+ __isFirstSibling?: boolean;
24
+ __isLastSibling?: boolean;
13
25
  [key: string]: any;
14
26
  }
15
27
  export interface STablesData {
@@ -17,11 +29,20 @@ export interface STablesData {
17
29
  tableRightItems: STableDoubleItem[];
18
30
  }
19
31
  export interface STableDoubleEvent<T> {
20
- position: Position;
32
+ isLeftTable: boolean;
21
33
  value: T;
22
34
  }
35
+ export interface STableDoubleActionEvent {
36
+ isLeftTable: boolean;
37
+ id: string;
38
+ }
23
39
  export type STableDoubleBooleanEvent = STableDoubleEvent<boolean>;
24
40
  export type STableDoubleStringEvent = STableDoubleEvent<string>;
25
41
  export type STableDoubleStringArrayEvent = STableDoubleEvent<string[]>;
26
42
  export type STableDoubleNumberEvent = STableDoubleEvent<number>;
27
43
  export type STableDoubleSortEvent = STableDoubleEvent<SortTable>;
44
+ export type ReorderDirection = 'top' | 'up' | 'down' | 'bottom';
45
+ export interface STableDoubleReorderEvent {
46
+ itemId: string;
47
+ direction: ReorderDirection;
48
+ }
@@ -0,0 +1,38 @@
1
+ import { EventEmitter, OnInit } from '@angular/core';
2
+ import { STableDoubleCompleteConfig, STableDoubleCompleteUpdateEvent } from './table-double-complete.model';
3
+ import { ITab } from '../tabs/models';
4
+ import { STableDouble, STablesData, STableDoubleBooleanEvent, STableDoubleReorderEvent, STableDoubleStringArrayEvent, STableDoubleSortEvent, STableDoubleStringEvent } from '../table-double/table-double.model';
5
+ import * as i0 from "@angular/core";
6
+ export declare class STableDoubleCompleteComponent implements OnInit {
7
+ config: STableDoubleCompleteConfig;
8
+ updateEvent: EventEmitter<STableDoubleCompleteUpdateEvent>;
9
+ actionPositionEvent: EventEmitter<boolean>;
10
+ bottomStatusBarPositionEvent: EventEmitter<STableDoubleBooleanEvent>;
11
+ checkAllPositionEvent: EventEmitter<STableDoubleBooleanEvent>;
12
+ deletePositionEvent: EventEmitter<boolean>;
13
+ emptyPositionEvent: EventEmitter<boolean>;
14
+ filterPositionEvent: EventEmitter<STableDoubleStringArrayEvent>;
15
+ multiSelectPositionEvent: EventEmitter<STableDoubleStringArrayEvent>;
16
+ orderByPositionEvent: EventEmitter<STableDoubleSortEvent>;
17
+ pillButtonPositionEvent: EventEmitter<boolean>;
18
+ scrollPositionEvent: EventEmitter<boolean>;
19
+ selectPositionEvent: EventEmitter<STableDoubleStringEvent>;
20
+ private activeTabKey;
21
+ private rightTableState;
22
+ private expandedNodes;
23
+ tableDoubleAdapter: STableDouble;
24
+ ngOnInit(): void;
25
+ onTabSelect(tab: ITab): void;
26
+ private setActiveTab;
27
+ onUpdateTables(event: STablesData): void;
28
+ private refreshTables;
29
+ private buildTableDoubleAdapter;
30
+ private mapToTableDoubleItems;
31
+ private buildTree;
32
+ private flattenTree;
33
+ private resetSelections;
34
+ toggleNodeExpansion(nodeId: string): void;
35
+ onReorderItem(event: STableDoubleReorderEvent): void;
36
+ static ɵfac: i0.ɵɵFactoryDeclaration<STableDoubleCompleteComponent, never>;
37
+ static ɵcmp: i0.ɵɵComponentDeclaration<STableDoubleCompleteComponent, "s-table-double-complete", never, { "config": { "alias": "config"; "required": false; }; }, { "updateEvent": "updateEvent"; "actionPositionEvent": "actionPositionEvent"; "bottomStatusBarPositionEvent": "bottomStatusBarPositionEvent"; "checkAllPositionEvent": "checkAllPositionEvent"; "deletePositionEvent": "deletePositionEvent"; "emptyPositionEvent": "emptyPositionEvent"; "filterPositionEvent": "filterPositionEvent"; "multiSelectPositionEvent": "multiSelectPositionEvent"; "orderByPositionEvent": "orderByPositionEvent"; "pillButtonPositionEvent": "pillButtonPositionEvent"; "scrollPositionEvent": "scrollPositionEvent"; "selectPositionEvent": "selectPositionEvent"; }, never, never, true, never>;
38
+ }
@@ -0,0 +1,37 @@
1
+ import { ITab, IConfigTabs } from '../tabs/models';
2
+ import { SortTable, STableComplete, STablesData } from '../../public-api';
3
+ export interface STableDoubleCompleteItem {
4
+ id: string;
5
+ selectedCheckbox?: boolean;
6
+ name?: string;
7
+ [key: string]: any;
8
+ parentId?: string | null;
9
+ children?: STableDoubleCompleteItem[];
10
+ }
11
+ export interface STableDoubleCompleteTable {
12
+ tableLeftConfig: STableComplete;
13
+ tableRightConfig: STableComplete;
14
+ tableLeftItems: STableDoubleCompleteItem[];
15
+ tableRightItems: STableDoubleCompleteItem[];
16
+ }
17
+ export interface STableDoubleCompleteConfig {
18
+ tabs: ITab[];
19
+ configTabs?: IConfigTabs;
20
+ tableConfig: STableDoubleCompleteTable;
21
+ itemsByTab: Record<string, STableDoubleCompleteItem[]>;
22
+ treeMode?: boolean;
23
+ showOrderButtons?: boolean;
24
+ }
25
+ export type STablesDoubleCompleteData = STablesData;
26
+ export interface STableDoubleCompleteUpdateEvent extends STablesData {
27
+ tabKey: string;
28
+ }
29
+ export interface STableDoubleCompleteEvent<T> {
30
+ isLeftTable: boolean;
31
+ value: T;
32
+ }
33
+ export type STableDoubleCompleteBooleanEvent = STableDoubleCompleteEvent<boolean>;
34
+ export type STableDoubleCompleteStringEvent = STableDoubleCompleteEvent<string>;
35
+ export type STableDoubleCompleteStringArrayEvent = STableDoubleCompleteEvent<string[]>;
36
+ export type STableDoubleCompleteNumberEvent = STableDoubleCompleteEvent<number>;
37
+ export type STableDoubleCompleteSortEvent = STableDoubleCompleteEvent<SortTable>;
@@ -9,6 +9,7 @@ export declare class STabletComponent implements OnInit {
9
9
  bodyloading: TemplateRef<any>;
10
10
  body: TemplateRef<any>;
11
11
  configColumn: ConfigColumn[];
12
+ isTreeMode: boolean;
12
13
  loadingScroll: import("@angular/core").InputSignal<boolean>;
13
14
  updateDataEvent: EventEmitter<any>;
14
15
  ordenByEvent: EventEmitter<SortTable>;
@@ -26,7 +27,7 @@ export declare class STabletComponent implements OnInit {
26
27
  checkAll(event: any): void;
27
28
  onScroll(event: Event): void;
28
29
  static ɵfac: i0.ɵɵFactoryDeclaration<STabletComponent, never>;
29
- static ɵcmp: i0.ɵɵComponentDeclaration<STabletComponent, "s-tablet", never, { "data": { "alias": "data"; "required": false; }; "loading": { "alias": "loading"; "required": false; }; "caption": { "alias": "caption"; "required": false; }; "header": { "alias": "header"; "required": false; }; "bodyloading": { "alias": "bodyloading"; "required": false; }; "body": { "alias": "body"; "required": false; }; "configColumn": { "alias": "configColumn"; "required": false; }; "loadingScroll": { "alias": "loadingScroll"; "required": false; "isSignal": true; }; }, { "updateDataEvent": "updateDataEvent"; "ordenByEvent": "ordenByEvent"; "checkAllEvent": "checkAllEvent"; "scrollEvent": "scrollEvent"; }, never, ["*"], false, never>;
30
+ static ɵcmp: i0.ɵɵComponentDeclaration<STabletComponent, "s-tablet", never, { "data": { "alias": "data"; "required": false; }; "loading": { "alias": "loading"; "required": false; }; "caption": { "alias": "caption"; "required": false; }; "header": { "alias": "header"; "required": false; }; "bodyloading": { "alias": "bodyloading"; "required": false; }; "body": { "alias": "body"; "required": false; }; "configColumn": { "alias": "configColumn"; "required": false; }; "isTreeMode": { "alias": "isTreeMode"; "required": false; }; "loadingScroll": { "alias": "loadingScroll"; "required": false; "isSignal": true; }; }, { "updateDataEvent": "updateDataEvent"; "ordenByEvent": "ordenByEvent"; "checkAllEvent": "checkAllEvent"; "scrollEvent": "scrollEvent"; }, never, ["*"], false, never>;
30
31
  }
31
32
  export declare class SortableColumn {
32
33
  data: STabletComponent;
@@ -3,4 +3,8 @@ export interface IConfigTabs {
3
3
  background?: boolean;
4
4
  pill?: boolean;
5
5
  size?: 'sm' | 'md';
6
+ orientation?: 'horizontal' | 'vertical';
7
+ underline?: boolean;
8
+ backgroundSelected?: boolean;
9
+ height?: number;
6
10
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "sidesys-generic-ui",
3
- "version": "2.4.2",
3
+ "version": "2.4.4",
4
4
  "exports": {
5
5
  "./theme": {
6
6
  "sass": "./src/lib/theme.scss"
package/public-api.d.ts CHANGED
@@ -46,6 +46,8 @@ export * from './lib/container';
46
46
  export * from './lib/redirect';
47
47
  export * from './lib/bottom-status-bar';
48
48
  export * from './lib/table-double';
49
+ export { STableDoubleCompleteComponent, } from './lib/table-double-complete/table-double-complete.component';
50
+ export { STableDoubleCompleteConfig, STableDoubleCompleteItem, STableDoubleCompleteUpdateEvent, } from './lib/table-double-complete/table-double-complete.model';
49
51
  export * from './lib/services';
50
52
  export * from './lib/shared';
51
53
  export * from './lib/pipe';