@yuuvis/client-framework 3.0.0-beta.20.2 → 3.0.0-beta.21.1

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 (129) hide show
  1. package/autocomplete/README.md +1 -1
  2. package/common/README.md +1 -1
  3. package/fesm2022/yuuvis-client-framework-actions.mjs +25 -25
  4. package/fesm2022/yuuvis-client-framework-actions.mjs.map +1 -1
  5. package/fesm2022/yuuvis-client-framework-app-bar.mjs +6 -6
  6. package/fesm2022/yuuvis-client-framework-app-bar.mjs.map +1 -1
  7. package/fesm2022/yuuvis-client-framework-autocomplete.mjs +5 -236
  8. package/fesm2022/yuuvis-client-framework-autocomplete.mjs.map +1 -1
  9. package/fesm2022/yuuvis-client-framework-breadcrumb.mjs +4 -4
  10. package/fesm2022/yuuvis-client-framework-breadcrumb.mjs.map +1 -1
  11. package/fesm2022/yuuvis-client-framework-clipboard.mjs +7 -6
  12. package/fesm2022/yuuvis-client-framework-clipboard.mjs.map +1 -1
  13. package/fesm2022/yuuvis-client-framework-common.mjs +3 -1793
  14. package/fesm2022/yuuvis-client-framework-common.mjs.map +1 -1
  15. package/fesm2022/yuuvis-client-framework-datepicker.mjs +51 -51
  16. package/fesm2022/yuuvis-client-framework-datepicker.mjs.map +1 -1
  17. package/fesm2022/yuuvis-client-framework-forms.mjs +154 -167
  18. package/fesm2022/yuuvis-client-framework-forms.mjs.map +1 -1
  19. package/fesm2022/yuuvis-client-framework-icons.mjs +14 -14
  20. package/fesm2022/yuuvis-client-framework-icons.mjs.map +1 -1
  21. package/fesm2022/yuuvis-client-framework-list.mjs +3 -679
  22. package/fesm2022/yuuvis-client-framework-list.mjs.map +1 -1
  23. package/fesm2022/yuuvis-client-framework-master-details.mjs +3 -136
  24. package/fesm2022/yuuvis-client-framework-master-details.mjs.map +1 -1
  25. package/fesm2022/yuuvis-client-framework-metadata-form-defaults.mjs +7 -7
  26. package/fesm2022/yuuvis-client-framework-metadata-form-defaults.mjs.map +1 -1
  27. package/fesm2022/yuuvis-client-framework-metadata-form.mjs +28 -28
  28. package/fesm2022/yuuvis-client-framework-metadata-form.mjs.map +1 -1
  29. package/fesm2022/yuuvis-client-framework-object-details.mjs +92 -95
  30. package/fesm2022/yuuvis-client-framework-object-details.mjs.map +1 -1
  31. package/fesm2022/yuuvis-client-framework-object-flavor.mjs +46 -44
  32. package/fesm2022/yuuvis-client-framework-object-flavor.mjs.map +1 -1
  33. package/fesm2022/yuuvis-client-framework-object-form.mjs +47 -47
  34. package/fesm2022/yuuvis-client-framework-object-form.mjs.map +1 -1
  35. package/fesm2022/yuuvis-client-framework-object-preview.mjs +37 -58
  36. package/fesm2022/yuuvis-client-framework-object-preview.mjs.map +1 -1
  37. package/fesm2022/yuuvis-client-framework-object-relationship.mjs +80 -80
  38. package/fesm2022/yuuvis-client-framework-object-relationship.mjs.map +1 -1
  39. package/fesm2022/yuuvis-client-framework-object-summary.mjs +37 -38
  40. package/fesm2022/yuuvis-client-framework-object-summary.mjs.map +1 -1
  41. package/fesm2022/yuuvis-client-framework-object-versions.mjs +20 -20
  42. package/fesm2022/yuuvis-client-framework-object-versions.mjs.map +1 -1
  43. package/fesm2022/yuuvis-client-framework-overflow-hidden.mjs +3 -62
  44. package/fesm2022/yuuvis-client-framework-overflow-hidden.mjs.map +1 -1
  45. package/fesm2022/yuuvis-client-framework-overflow-menu.mjs +3 -129
  46. package/fesm2022/yuuvis-client-framework-overflow-menu.mjs.map +1 -1
  47. package/fesm2022/yuuvis-client-framework-pagination.mjs +5 -5
  48. package/fesm2022/yuuvis-client-framework-pagination.mjs.map +1 -1
  49. package/fesm2022/yuuvis-client-framework-popout.mjs +3 -239
  50. package/fesm2022/yuuvis-client-framework-popout.mjs.map +1 -1
  51. package/fesm2022/yuuvis-client-framework-query-list.mjs +26 -28
  52. package/fesm2022/yuuvis-client-framework-query-list.mjs.map +1 -1
  53. package/fesm2022/yuuvis-client-framework-renderer.mjs +51 -51
  54. package/fesm2022/yuuvis-client-framework-renderer.mjs.map +1 -1
  55. package/fesm2022/yuuvis-client-framework-sequence-list.mjs +7 -7
  56. package/fesm2022/yuuvis-client-framework-sequence-list.mjs.map +1 -1
  57. package/fesm2022/yuuvis-client-framework-simple-search.mjs +4 -4
  58. package/fesm2022/yuuvis-client-framework-simple-search.mjs.map +1 -1
  59. package/fesm2022/yuuvis-client-framework-sort.mjs +34 -55
  60. package/fesm2022/yuuvis-client-framework-sort.mjs.map +1 -1
  61. package/fesm2022/yuuvis-client-framework-split-view.mjs +3 -321
  62. package/fesm2022/yuuvis-client-framework-split-view.mjs.map +1 -1
  63. package/fesm2022/yuuvis-client-framework-tile-list.mjs +88 -90
  64. package/fesm2022/yuuvis-client-framework-tile-list.mjs.map +1 -1
  65. package/fesm2022/yuuvis-client-framework-token-search.mjs +21 -21
  66. package/fesm2022/yuuvis-client-framework-token-search.mjs.map +1 -1
  67. package/fesm2022/yuuvis-client-framework-tree.mjs +16 -16
  68. package/fesm2022/yuuvis-client-framework-tree.mjs.map +1 -1
  69. package/fesm2022/yuuvis-client-framework-upload-progress.mjs +15 -15
  70. package/fesm2022/yuuvis-client-framework-upload-progress.mjs.map +1 -1
  71. package/fesm2022/yuuvis-client-framework-widget-grid.mjs +3 -946
  72. package/fesm2022/yuuvis-client-framework-widget-grid.mjs.map +1 -1
  73. package/fesm2022/yuuvis-client-framework.mjs +22 -22
  74. package/fesm2022/yuuvis-client-framework.mjs.map +1 -1
  75. package/lib/assets/i18n/de.json +1 -55
  76. package/lib/assets/i18n/en.json +1 -55
  77. package/list/README.md +1 -1
  78. package/master-details/README.md +1 -1
  79. package/overflow-hidden/README.md +1 -1
  80. package/overflow-menu/README.md +1 -1
  81. package/package.json +50 -48
  82. package/popout/README.md +1 -1
  83. package/split-view/README.md +1 -1
  84. package/types/yuuvis-client-framework-autocomplete.d.ts +1 -0
  85. package/{clipboard/index.d.ts → types/yuuvis-client-framework-clipboard.d.ts} +1 -1
  86. package/types/yuuvis-client-framework-common.d.ts +1 -0
  87. package/types/yuuvis-client-framework-list.d.ts +1 -0
  88. package/types/yuuvis-client-framework-master-details.d.ts +1 -0
  89. package/{object-flavor/index.d.ts → types/yuuvis-client-framework-object-flavor.d.ts} +1 -0
  90. package/types/yuuvis-client-framework-overflow-hidden.d.ts +1 -0
  91. package/types/yuuvis-client-framework-overflow-menu.d.ts +1 -0
  92. package/types/yuuvis-client-framework-popout.d.ts +1 -0
  93. package/{renderer/index.d.ts → types/yuuvis-client-framework-renderer.d.ts} +2 -2
  94. package/types/yuuvis-client-framework-split-view.d.ts +1 -0
  95. package/types/yuuvis-client-framework-widget-grid.d.ts +1 -0
  96. package/widget-grid/README.md +1 -46
  97. package/autocomplete/index.d.ts +0 -89
  98. package/common/index.d.ts +0 -536
  99. package/list/index.d.ts +0 -380
  100. package/master-details/index.d.ts +0 -69
  101. package/overflow-hidden/index.d.ts +0 -28
  102. package/overflow-menu/index.d.ts +0 -52
  103. package/popout/index.d.ts +0 -106
  104. package/split-view/index.d.ts +0 -197
  105. package/widget-grid/index.d.ts +0 -299
  106. /package/{actions/index.d.ts → types/yuuvis-client-framework-actions.d.ts} +0 -0
  107. /package/{app-bar/index.d.ts → types/yuuvis-client-framework-app-bar.d.ts} +0 -0
  108. /package/{breadcrumb/index.d.ts → types/yuuvis-client-framework-breadcrumb.d.ts} +0 -0
  109. /package/{datepicker/index.d.ts → types/yuuvis-client-framework-datepicker.d.ts} +0 -0
  110. /package/{forms/index.d.ts → types/yuuvis-client-framework-forms.d.ts} +0 -0
  111. /package/{icons/index.d.ts → types/yuuvis-client-framework-icons.d.ts} +0 -0
  112. /package/{metadata-form-defaults/index.d.ts → types/yuuvis-client-framework-metadata-form-defaults.d.ts} +0 -0
  113. /package/{metadata-form/index.d.ts → types/yuuvis-client-framework-metadata-form.d.ts} +0 -0
  114. /package/{object-details/index.d.ts → types/yuuvis-client-framework-object-details.d.ts} +0 -0
  115. /package/{object-form/index.d.ts → types/yuuvis-client-framework-object-form.d.ts} +0 -0
  116. /package/{object-preview/index.d.ts → types/yuuvis-client-framework-object-preview.d.ts} +0 -0
  117. /package/{object-relationship/index.d.ts → types/yuuvis-client-framework-object-relationship.d.ts} +0 -0
  118. /package/{object-summary/index.d.ts → types/yuuvis-client-framework-object-summary.d.ts} +0 -0
  119. /package/{object-versions/index.d.ts → types/yuuvis-client-framework-object-versions.d.ts} +0 -0
  120. /package/{pagination/index.d.ts → types/yuuvis-client-framework-pagination.d.ts} +0 -0
  121. /package/{query-list/index.d.ts → types/yuuvis-client-framework-query-list.d.ts} +0 -0
  122. /package/{sequence-list/index.d.ts → types/yuuvis-client-framework-sequence-list.d.ts} +0 -0
  123. /package/{simple-search/index.d.ts → types/yuuvis-client-framework-simple-search.d.ts} +0 -0
  124. /package/{sort/index.d.ts → types/yuuvis-client-framework-sort.d.ts} +0 -0
  125. /package/{tile-list/index.d.ts → types/yuuvis-client-framework-tile-list.d.ts} +0 -0
  126. /package/{token-search/index.d.ts → types/yuuvis-client-framework-token-search.d.ts} +0 -0
  127. /package/{tree/index.d.ts → types/yuuvis-client-framework-tree.d.ts} +0 -0
  128. /package/{upload-progress/index.d.ts → types/yuuvis-client-framework-upload-progress.d.ts} +0 -0
  129. /package/{index.d.ts → types/yuuvis-client-framework.d.ts} +0 -0
@@ -1,197 +0,0 @@
1
- import * as _angular_core from '@angular/core';
2
- import { TemplateRef, AfterViewInit } from '@angular/core';
3
- import * as angular_split from 'angular-split';
4
- import { SplitAreaSize, SplitGutterInteractionEvent, SplitComponent, SplitDirection } from 'angular-split';
5
-
6
- interface SplitViewLayoutSettings {
7
- disabled?: boolean;
8
- areas: Array<SplitAreaLayoutSettings>;
9
- }
10
- interface SplitAreaLayoutSettings {
11
- visible?: boolean;
12
- lockSize?: boolean;
13
- size?: SplitAreaSize;
14
- }
15
- type SplitViewOutputData = SplitGutterInteractionEvent;
16
-
17
- declare class SplitAreaDirective {
18
- template: TemplateRef<any>;
19
- size: _angular_core.InputSignal<SplitAreaSize | undefined>;
20
- minSize: _angular_core.InputSignal<number | undefined>;
21
- maxSize: _angular_core.InputSignal<number | undefined>;
22
- panelClass: _angular_core.InputSignal<string | undefined>;
23
- visible: _angular_core.InputSignal<boolean>;
24
- lockSize: _angular_core.InputSignal<boolean>;
25
- areaProperties: _angular_core.WritableSignal<{
26
- size: SplitAreaSize | undefined;
27
- visible: boolean;
28
- lockSize: boolean;
29
- }>;
30
- updateSettings(s: SplitAreaLayoutSettings): void;
31
- static ɵfac: _angular_core.ɵɵFactoryDeclaration<SplitAreaDirective, never>;
32
- static ɵdir: _angular_core.ɵɵDirectiveDeclaration<SplitAreaDirective, "[yuvSplitArea]", never, { "size": { "alias": "size"; "required": false; "isSignal": true; }; "minSize": { "alias": "minSize"; "required": false; "isSignal": true; }; "maxSize": { "alias": "maxSize"; "required": false; "isSignal": true; }; "panelClass": { "alias": "panelClass"; "required": false; "isSignal": true; }; "visible": { "alias": "visible"; "required": false; "isSignal": true; }; "lockSize": { "alias": "lockSize"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
33
- }
34
-
35
- /**
36
- * Component for creating a split view with resizable areas.
37
- *
38
- * Each area is defined using the `yuvSplitArea` directive on an `ng-template`.
39
- * Areas can be resized by dragging the gutter between them.
40
- *
41
- * ### Basic usage
42
- * ```html
43
- * <yuv-split-view>
44
- * <ng-template yuvSplitArea [size]="20">Aside</ng-template>
45
- * <ng-template yuvSplitArea [size]="80">Main</ng-template>
46
- * </yuv-split-view>
47
- * ```
48
- *
49
- * ### Collapsible areas
50
- * Areas can be shown, hidden, or toggled programmatically. Use a template
51
- * reference variable to call the visibility methods from the template:
52
- *
53
- * ```html
54
- * <yuv-split-view #sv>
55
- * <ng-template yuvSplitArea [size]="25">
56
- * <button (click)="sv.hideArea(0)">Collapse</button>
57
- * Left pane
58
- * </ng-template>
59
- * <ng-template yuvSplitArea [size]="75">
60
- * <button (click)="sv.showArea(0)">Expand left</button>
61
- * Main pane
62
- * </ng-template>
63
- * </yuv-split-view>
64
- * ```
65
- *
66
- * ### Persisting layout state
67
- * Set `layoutSettingsID` to persist area sizes and visibility to
68
- * localStorage. The saved state is automatically restored on init.
69
- *
70
- * ```html
71
- * <yuv-split-view [layoutSettingsID]="'my-layout'">
72
- * ...
73
- * </yuv-split-view>
74
- * ```
75
- */
76
- declare class SplitViewComponent implements AfterViewInit {
77
- #private;
78
- splitAreas: _angular_core.Signal<readonly SplitAreaDirective[]>;
79
- asSplitComponent: _angular_core.Signal<SplitComponent>;
80
- splitAreaSizes: SplitAreaSize[];
81
- /**
82
- * The split views direction. Could be 'horizontal' or 'vertical'. Defaults to 'horizontal'.
83
- */
84
- direction: _angular_core.InputSignal<SplitDirection>;
85
- isVertical: _angular_core.Signal<boolean>;
86
- isHorizontal: _angular_core.Signal<boolean>;
87
- /**
88
- * Size of the gutter in Pixel (defaults to 16).
89
- */
90
- gutterSize: _angular_core.InputSignal<number>;
91
- /**
92
- * If true, the gutter can only be moved in steps of 1%.
93
- */
94
- restrictMove: _angular_core.InputSignal<boolean>;
95
- /**
96
- * Disable the dragging feature (remove cursor/image on gutters).
97
- */
98
- disabledInput: _angular_core.InputSignal<boolean>;
99
- disabled: _angular_core.WritableSignal<boolean>;
100
- /**
101
- * Layout settings are the state of the split view that could be persisted.
102
- * Setting a `layoutSettingsID` will save the current state (split area sizes etc.)
103
- * to the local storage. If the component is created, it will load those settings and
104
- * re-apply them.
105
- */
106
- layoutSettingsID: _angular_core.InputSignal<string | undefined>;
107
- /**
108
- * Emitted when the state (split area sizes etc.) of the split view changed.
109
- */
110
- layoutSettingsChange: _angular_core.OutputEmitterRef<SplitViewLayoutSettings>;
111
- /**
112
- * Emitted when dragging the split gutter starts
113
- */
114
- dragStart: _angular_core.OutputEmitterRef<angular_split.SplitGutterInteractionEvent>;
115
- /**
116
- * Emitted when dragging the split gutter ends
117
- */
118
- dragEnd: _angular_core.OutputEmitterRef<angular_split.SplitGutterInteractionEvent>;
119
- /**
120
- * Emitted when the split gutter is clicked.
121
- */
122
- gutterClick: _angular_core.OutputEmitterRef<angular_split.SplitGutterInteractionEvent>;
123
- /**
124
- * Emitted when the split gutter is double clicked (you may also want to
125
- * set a different click duration indicating a double click). This could be
126
- * set using the `gutterDblClickDuration` to a value in milliseconds (default is 400ms)
127
- */
128
- gutterDblClick: _angular_core.OutputEmitterRef<angular_split.SplitGutterInteractionEvent>;
129
- dragging: _angular_core.WritableSignal<boolean>;
130
- onDragStart(e: SplitViewOutputData): void;
131
- onDragEnd(e: SplitViewOutputData): void;
132
- /**
133
- * Show a previously hidden split area, restoring it to its last known size.
134
- *
135
- * ```html
136
- * <button (click)="sv.showArea(0)">Show left pane</button>
137
- * ```
138
- * @param index Zero-based index of the split area to show
139
- */
140
- showArea(index: number): void;
141
- /**
142
- * Hide a split area by collapsing it to zero width/height. The adjacent
143
- * areas will expand to fill the freed space.
144
- *
145
- * ```html
146
- * <button (click)="sv.hideArea(0)">Hide left pane</button>
147
- * ```
148
- * @param index Zero-based index of the split area to hide
149
- */
150
- hideArea(index: number): void;
151
- /**
152
- * Toggle the visibility of a split area. If the area is currently visible
153
- * it will be collapsed; if it is hidden it will be restored.
154
- *
155
- * ```html
156
- * <button (click)="sv.toggleArea(0)">Toggle left pane</button>
157
- * ```
158
- * @param index Zero-based index of the split area to toggle
159
- */
160
- toggleArea(index: number): void;
161
- /**
162
- * Returns whether a split area is currently visible. Useful for
163
- * conditionally rendering expand/collapse buttons in the template.
164
- *
165
- * ```html
166
- * @if (!sv.isAreaVisible(0)) {
167
- * <button (click)="sv.showArea(0)">Expand left</button>
168
- * }
169
- * ```
170
- * @param index Zero-based index of the split area to check
171
- * @returns `true` if the area is visible, `false` if hidden
172
- */
173
- isAreaVisible(index: number): boolean;
174
- /** @deprecated Use `showArea()` / `hideArea()` instead */
175
- splitAreaSetVisibility(index: number, visible: boolean): void;
176
- /** @deprecated Use `toggleArea()` instead */
177
- splitAreaToggleVisibility(index: number): void;
178
- /**
179
- * Programmatically apply layout settings (area sizes, visibility, disabled state).
180
- * This is called automatically on init when `layoutSettingsID` is set, but can
181
- * also be used to restore a specific layout configuration at any time.
182
- * @param settings The layout settings to apply
183
- */
184
- applyLayoutSettings(settings: SplitViewLayoutSettings): void;
185
- ngAfterViewInit(): void;
186
- static ɵfac: _angular_core.ɵɵFactoryDeclaration<SplitViewComponent, never>;
187
- static ɵcmp: _angular_core.ɵɵComponentDeclaration<SplitViewComponent, "yuv-split-view", never, { "direction": { "alias": "direction"; "required": false; "isSignal": true; }; "gutterSize": { "alias": "gutterSize"; "required": false; "isSignal": true; }; "restrictMove": { "alias": "restrictMove"; "required": false; "isSignal": true; }; "disabledInput": { "alias": "disabled"; "required": false; "isSignal": true; }; "layoutSettingsID": { "alias": "layoutSettingsID"; "required": false; "isSignal": true; }; }, { "layoutSettingsChange": "layoutSettingsChange"; "dragStart": "dragStart"; "dragEnd": "dragEnd"; "gutterClick": "gutterClick"; "gutterDblClick": "gutterDblClick"; }, ["splitAreas"], never, true, never>;
188
- }
189
-
190
- declare class YuvSplitViewModule {
191
- static ɵfac: _angular_core.ɵɵFactoryDeclaration<YuvSplitViewModule, never>;
192
- static ɵmod: _angular_core.ɵɵNgModuleDeclaration<YuvSplitViewModule, never, [typeof SplitAreaDirective, typeof SplitViewComponent], [typeof SplitAreaDirective, typeof SplitViewComponent]>;
193
- static ɵinj: _angular_core.ɵɵInjectorDeclaration<YuvSplitViewModule>;
194
- }
195
-
196
- export { SplitAreaDirective, SplitViewComponent, YuvSplitViewModule };
197
- export type { SplitAreaLayoutSettings, SplitViewLayoutSettings, SplitViewOutputData };
@@ -1,299 +0,0 @@
1
- import * as _angular_core from '@angular/core';
2
- import { Type, InputSignal, OutputEmitterRef, TemplateRef } from '@angular/core';
3
- import { GridType, GridsterItem, GridsterItemComponent, GridsterConfig } from 'angular-gridster2';
4
- import * as _angular_forms from '@angular/forms';
5
- import { FormControlStatus, FormControl } from '@angular/forms';
6
- import { AttributesMap } from 'ng-dynamic-component';
7
- import { MatDialogRef } from '@angular/material/dialog';
8
- import { TranslateService } from '@yuuvis/client-core';
9
- import { Observable } from 'rxjs';
10
-
11
- interface GridWidget<T> {
12
- id: string;
13
- label: string;
14
- setupComponent?: Type<IWidgetComponent<T>>;
15
- widgetComponent: Type<IWidgetComponent<T>>;
16
- }
17
- interface WidgetGridItemConfig extends GridsterItem {
18
- id: string;
19
- widgetName: string;
20
- widgetConfig: any;
21
- }
22
- interface WidgetGridItem extends WidgetGridItemConfig {
23
- widget: Type<any>;
24
- widgetConfigMap: AttributesMap;
25
- }
26
- interface IWidgetComponent<T> {
27
- widgetConfig: InputSignal<T>;
28
- }
29
- interface IWidgetSetupComponent<T> extends IWidgetComponent<T> {
30
- widgetConfigChange: OutputEmitterRef<T>;
31
- widgetConfigStateChange: OutputEmitterRef<FormControlStatus>;
32
- }
33
- interface WidgetPickerData {
34
- widgetId: string | undefined;
35
- widgetName: string;
36
- widgetConfigMap?: AttributesMap;
37
- }
38
- interface AddItemSize {
39
- rows: number;
40
- cols: number;
41
- }
42
- interface GridItemEvent {
43
- action: string;
44
- data: any;
45
- }
46
- interface WidgetGridConfig {
47
- rows?: number;
48
- columns?: number;
49
- gap?: number;
50
- newItemWidth?: number;
51
- newItemHeight?: number;
52
- gridType?: GridType;
53
- }
54
- interface WidgetPickerOptions {
55
- pickerData?: WidgetPickerData;
56
- buckets?: string[];
57
- }
58
-
59
- declare class YuvWidgetGridComponent {
60
- #private;
61
- gridsterItems: _angular_core.Signal<GridsterItemComponent>;
62
- widgetPicker: _angular_core.Signal<TemplateRef<any>>;
63
- options: GridsterConfig;
64
- gridConfig: _angular_core.InputSignal<Partial<WidgetGridConfig> | undefined>;
65
- _editMode: _angular_core.WritableSignal<boolean>;
66
- /**
67
- * Whether or not to enable edit mode. In edit mode controls
68
- * for editing existing tiles and creating new ones are shown.
69
- * This mode also enables positioning and resizing of the tiles.
70
- */
71
- editMode: _angular_core.InputSignal<boolean>;
72
- gridItemConfig: _angular_core.InputSignal<WidgetGridItemConfig[] | undefined>;
73
- /**
74
- * Collection of buckets to load available widgets from. Wildcards are also posssible:
75
- * `[buckets]="['app.default', '*.public.*', 'app.no?.widgets']"`
76
- *
77
- * `*` represents any character 0-n times
78
- * `?` represents exactly one character
79
- */
80
- buckets: _angular_core.InputSignal<string[] | undefined>;
81
- /**
82
- * Emitted when the grid has been changed
83
- */
84
- gridChange: _angular_core.OutputEmitterRef<WidgetGridItemConfig[]>;
85
- gridItemEvent: _angular_core.OutputEmitterRef<GridItemEvent>;
86
- /**
87
- * Emitted when the widget picker is opened or closed in edit mode
88
- */
89
- widgetPickerOpen: _angular_core.OutputEmitterRef<boolean>;
90
- widgetGrid: Array<WidgetGridItem>;
91
- widgetPickerData: WidgetPickerData | undefined;
92
- constructor();
93
- openWidgetPicker(item?: WidgetGridItem): void;
94
- /**
95
- * Removes a widget from the grid
96
- * @param item The widget to be removed
97
- */
98
- removeItem(item: WidgetGridItem): void;
99
- /**
100
- * Add a new widget to the grid by opening the widget picker
101
- */
102
- addItem(): void;
103
- private emitChange;
104
- static ɵfac: _angular_core.ɵɵFactoryDeclaration<YuvWidgetGridComponent, never>;
105
- static ɵcmp: _angular_core.ɵɵComponentDeclaration<YuvWidgetGridComponent, "yuv-widget-grid", never, { "gridConfig": { "alias": "gridConfig"; "required": false; "isSignal": true; }; "editMode": { "alias": "editMode"; "required": false; "isSignal": true; }; "gridItemConfig": { "alias": "gridItemConfig"; "required": false; "isSignal": true; }; "buckets": { "alias": "buckets"; "required": false; "isSignal": true; }; }, { "gridChange": "gridChange"; "gridItemEvent": "gridItemEvent"; "widgetPickerOpen": "widgetPickerOpen"; }, never, [".empty"], true, never>;
106
- }
107
-
108
- interface WidgetGridWorkspace {
109
- id: string;
110
- label: string;
111
- grid: WidgetGridItemConfig[];
112
- translateLabel?: boolean;
113
- preventDelete?: boolean;
114
- preventEdit?: boolean;
115
- preventRename?: boolean;
116
- }
117
- interface WidgetGridWorkspaceConfig {
118
- currentWorkspace?: string;
119
- workspaces: WidgetGridWorkspace[];
120
- }
121
- interface WidgetGridWorkspaceOptions {
122
- gridConfig?: Partial<WidgetGridConfig>;
123
- }
124
-
125
- /**
126
- * Component for managing multiple widget grids in so called workspaces.
127
- * Each workspace can have its own configuration and widgets. The user can
128
- * switch between workspaces to use or edit the widgets in the current workspace.
129
- */
130
- declare class YuvWidgetGridWorkspacesComponent {
131
- #private;
132
- readonly translate: TranslateService;
133
- workspaceDialogRef?: MatDialogRef<any, any>;
134
- workspaceForm: _angular_forms.FormGroup<{
135
- id: FormControl<string | null>;
136
- label: FormControl<string | null>;
137
- }>;
138
- get workspaceLabelControl(): FormControl;
139
- options: _angular_core.InputSignal<WidgetGridWorkspaceOptions>;
140
- _workspaceOptions: _angular_core.Signal<WidgetGridWorkspaceOptions>;
141
- workspaceConfig: _angular_core.InputSignal<WidgetGridWorkspaceConfig | undefined>;
142
- _workspaceConfig: _angular_core.WritableSignal<WidgetGridWorkspaceConfig | undefined>;
143
- /**
144
- * Collection of buckets to load available widgets from. Wildcards are also posssible:
145
- * `[buckets]="['app.default', '*.public.*', 'app.no?.widgets']"`
146
- *
147
- * `*` represents any character 0-n times
148
- * `?` represents exactly one character
149
- */
150
- buckets: _angular_core.InputSignal<string[] | undefined>;
151
- configChange: _angular_core.OutputEmitterRef<WidgetGridWorkspaceConfig | undefined>;
152
- gridItemEvent: _angular_core.OutputEmitterRef<GridItemEvent>;
153
- editModeChange: _angular_core.OutputEmitterRef<boolean>;
154
- editMode: _angular_core.WritableSignal<boolean>;
155
- workspace: _angular_core.WritableSignal<WidgetGridWorkspace | undefined>;
156
- workspaceLabel: _angular_core.WritableSignal<string>;
157
- gridItemConfig: _angular_core.WritableSignal<WidgetGridItemConfig[] | undefined>;
158
- getLabel(workspace: WidgetGridWorkspace): string;
159
- setWorkspace(id: string, silent?: boolean): void;
160
- openWorkspaceDialog(create: boolean, tplRef: TemplateRef<any>): void;
161
- saveWorkspace(): void;
162
- onGridEvent(e: GridItemEvent): void;
163
- onGridChange(grid: Array<WidgetGridItemConfig>): void;
164
- persistWorkspaceConfig(): void;
165
- revertWorkspaceConfig(): void;
166
- deleteCurrentWorkspace(): void;
167
- emitConfigChange(): void;
168
- static ɵfac: _angular_core.ɵɵFactoryDeclaration<YuvWidgetGridWorkspacesComponent, never>;
169
- static ɵcmp: _angular_core.ɵɵComponentDeclaration<YuvWidgetGridWorkspacesComponent, "yuv-widget-grid-workspaces", never, { "options": { "alias": "options"; "required": false; "isSignal": true; }; "workspaceConfig": { "alias": "workspaceConfig"; "required": false; "isSignal": true; }; "buckets": { "alias": "buckets"; "required": false; "isSignal": true; }; }, { "configChange": "configChange"; "gridItemEvent": "gridItemEvent"; "editModeChange": "editModeChange"; }, never, never, true, never>;
170
- }
171
-
172
- declare class YuvWidgetGridModule {
173
- static ɵfac: _angular_core.ɵɵFactoryDeclaration<YuvWidgetGridModule, never>;
174
- static ɵmod: _angular_core.ɵɵNgModuleDeclaration<YuvWidgetGridModule, never, [typeof YuvWidgetGridComponent, typeof YuvWidgetGridWorkspacesComponent], [typeof YuvWidgetGridComponent, typeof YuvWidgetGridWorkspacesComponent]>;
175
- static ɵinj: _angular_core.ɵɵInjectorDeclaration<YuvWidgetGridModule>;
176
- }
177
-
178
- /**
179
- * This service provides the list of widgets that could be added
180
- * to a widget grid. You could use it to register your own
181
- * widgets.
182
- */
183
- declare class WidgetGridRegistry {
184
- #private;
185
- readonly translate: TranslateService;
186
- /**
187
- * List of pre-registered widgets provided out-of-the-box
188
- * by the widget grid module
189
- */
190
- private registeredWidgets;
191
- /**
192
- * Buckets are collection of widget references.
193
- * You can put any widget registered gloabally into a bucket. Later on you can grab
194
- * widgets from a certain bucket. This enables apps to structure their widgets when e.g.
195
- * using multiple widget grids with their own set of available widgets.
196
- */
197
- private widgetBuckets;
198
- /**
199
- * Get the noop component. This component will be rendered in
200
- * the grid tile if not matching widget could be found in the
201
- * list of registered widgets. It will show some kind of 'not
202
- * found' message and provide the controls to remove that none
203
- * existing component from the widget grid.
204
- * @returns NoopComponent
205
- */
206
- getNoopWidget(): GridWidget<any>;
207
- /**
208
- * Setup components are the administrative part of a widget. They
209
- * are used to set up a widget. Not all the widgets will have a setup
210
- * component.
211
- * @param widgetName The widgets name
212
- * @returns The setup component of a widget. Throws error if there
213
- * is not widget registered with the given name
214
- */
215
- getWidgetSetupComponent(widgetName: string): Type<any> | undefined;
216
- /**
217
- * Get the component for a widget. This is the component that will
218
- * be rendered in a grid tile.
219
- * @param widgetName The widgets name
220
- * @returns The widget component or noop component if there is
221
- * no component registered with the given name
222
- */
223
- getWidgetComponent(widgetName: string): Type<any>;
224
- /**
225
- * Adds a new widget to the list of registered widgets. That way
226
- * you can create custom widgets that are then available to be
227
- * added to a users widget grid.
228
- * @param widget The widget to be registered
229
- * @param bucket List of buckets to register to. If a bucket does
230
- * not exist it'll be created.
231
- */
232
- registerGridWidget(widget: GridWidget<any>, buckets?: string[]): void;
233
- /**
234
- * Register a collection of widgets
235
- * @param widgets The widgets to be registered
236
- * @param bucket List of buckets to register to. If a bucket does
237
- * not exist it'll be created.
238
- */
239
- registerGridWidgets(widgets: GridWidget<any>[], buckets?: string[]): void;
240
- private _addToBucket;
241
- removeRegisteredWidget(id: string): void;
242
- clearRegisteredWidget(): void;
243
- /**
244
- * Get registered widgets. This list could be narrowed down by a list
245
- * of buckets. Buckets are lists of registered widgets registered for
246
- * a certain key (the buckets name).
247
- * @param buckets name of buckets to restrict the widgets to
248
- * @returns Array of grid widgets
249
- */
250
- getRegisteredWidgets(buckets?: string[]): Array<GridWidget<any>>;
251
- private _wildcardMatch;
252
- static ɵfac: _angular_core.ɵɵFactoryDeclaration<WidgetGridRegistry, never>;
253
- static ɵprov: _angular_core.ɵɵInjectableDeclaration<WidgetGridRegistry>;
254
- }
255
-
256
- /**
257
- * Service managing a widget grid. Also includes a set of labels that will be
258
- * used by the grid and its widgets. Default labels are provided out of the
259
- * box. But if you want to use custom ones or add i18n you could overwrite
260
- * them. The grid as well as the widgets will use those labels or fall back
261
- * to their default ones. If you are developing own widgets you should
262
- * consider using those labels as well.
263
- */
264
- declare class WidgetGridService {
265
- private widgetGridRegistry;
266
- private widgetGrid;
267
- private widgetGridSource;
268
- widgetGrid$: Observable<WidgetGridItem[]>;
269
- private widgetGridUpdateSource;
270
- /**
271
- * Emitted when the widget grid has been updated
272
- */
273
- widgetGridUpdate$: Observable<string>;
274
- addItemSize: {
275
- rows: number;
276
- cols: number;
277
- };
278
- constructor(widgetGridRegistry: WidgetGridRegistry);
279
- setWidgetGrid(gridItemConfig: Array<WidgetGridItemConfig> | undefined): void;
280
- /**
281
- * Update config of an existing widget
282
- * @param widgetId ID of the widget to be updated
283
- * @param setupWidgetConfig The updated configuration for that widget
284
- */
285
- updateWidget(widgetId: string, setupWidgetConfig: any): void;
286
- replaceWidget(widgetId: string, widgetName: string, setupWidgetConfig?: any): void;
287
- /**
288
- * Add a new grid item to the widget grid.
289
- * @param widgetName The name of the grid item to be added
290
- * @param setupWidgetConfig
291
- */
292
- addWidget(widgetName: string, setupWidgetConfig?: any): void;
293
- removeWidget(gridItemId: string): void;
294
- static ɵfac: _angular_core.ɵɵFactoryDeclaration<WidgetGridService, never>;
295
- static ɵprov: _angular_core.ɵɵInjectableDeclaration<WidgetGridService>;
296
- }
297
-
298
- export { WidgetGridRegistry, WidgetGridService, YuvWidgetGridComponent, YuvWidgetGridModule, YuvWidgetGridWorkspacesComponent };
299
- export type { AddItemSize, GridItemEvent, GridWidget, IWidgetComponent, IWidgetSetupComponent, WidgetGridConfig, WidgetGridItem, WidgetGridItemConfig, WidgetGridWorkspace, WidgetGridWorkspaceConfig, WidgetGridWorkspaceOptions, WidgetPickerData, WidgetPickerOptions };