cloud-ide-element 1.0.11 → 1.0.13
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/fesm2022/cloud-ide-element.mjs +6121 -530
- package/fesm2022/cloud-ide-element.mjs.map +1 -1
- package/index.d.ts +1630 -131
- package/package.json +1 -1
package/index.d.ts
CHANGED
|
@@ -1,15 +1,16 @@
|
|
|
1
|
-
import * as
|
|
2
|
-
import { PipeTransform, OnChanges, OnInit, EventEmitter,
|
|
1
|
+
import * as _angular_core from '@angular/core';
|
|
2
|
+
import { PipeTransform, OnChanges, OnInit, OnDestroy, EventEmitter, TemplateRef, SimpleChanges, Renderer2, ElementRef, AfterContentInit, QueryList, ViewContainerRef, AfterViewInit, Signal, Type, Injector, ComponentRef } from '@angular/core';
|
|
3
3
|
import { ControlValueAccessor, Validator, AbstractControl, ValidationErrors } from '@angular/forms';
|
|
4
|
-
import { elementStyleType, labelPlacementType, labelDirType, autocapitalizeType, autocompleteType, controlType, inputType, themeSize, spinnerType, iconType, selectSearchType, ICoreSype, GetElementDataRequest } from 'cloud-ide-lms-model';
|
|
4
|
+
import { elementStyleType, labelPlacementType, labelDirType, autocapitalizeType, autocompleteType, controlType, inputType, themeSize, spinnerType, iconType, selectSearchType, ICoreSype, GetElementDataRequest, fileManagerListByGroupIdControllerResponse } from 'cloud-ide-lms-model';
|
|
5
5
|
import { Router, NavigationExtras } from '@angular/router';
|
|
6
|
-
import { BehaviorSubject } from 'rxjs';
|
|
6
|
+
import { BehaviorSubject, Observable } from 'rxjs';
|
|
7
7
|
import * as cloud_ide_element from 'cloud-ide-element';
|
|
8
|
+
import { HttpClient, HttpEvent } from '@angular/common/http';
|
|
8
9
|
|
|
9
10
|
declare class CapitalizePipe implements PipeTransform {
|
|
10
11
|
transform(value: string, capitalizationMethod: 'allUpperCase' | 'titleCase' | 'sentenceCase'): string;
|
|
11
|
-
static ɵfac:
|
|
12
|
-
static ɵpipe:
|
|
12
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<CapitalizePipe, never>;
|
|
13
|
+
static ɵpipe: _angular_core.ɵɵPipeDeclaration<CapitalizePipe, "capitalize", true>;
|
|
13
14
|
}
|
|
14
15
|
|
|
15
16
|
/** @description type to register error related to control */
|
|
@@ -22,7 +23,7 @@ type ValidationStatus = {
|
|
|
22
23
|
validation: ErrorValidationStatus;
|
|
23
24
|
status: boolean;
|
|
24
25
|
};
|
|
25
|
-
declare class CideInputComponent implements ControlValueAccessor, Validator, OnChanges, OnInit {
|
|
26
|
+
declare class CideInputComponent implements ControlValueAccessor, Validator, OnChanges, OnInit, OnDestroy {
|
|
26
27
|
capitalizePipe: CapitalizePipe;
|
|
27
28
|
private elementService;
|
|
28
29
|
constructor();
|
|
@@ -76,10 +77,10 @@ declare class CideInputComponent implements ControlValueAccessor, Validator, OnC
|
|
|
76
77
|
/** @description to get input value using one way binding like: [ngModel] or by two way binding [(ngModel)] */
|
|
77
78
|
ngModel: inputType;
|
|
78
79
|
option: string[];
|
|
79
|
-
/** @description min value for number type control */
|
|
80
|
-
min: number;
|
|
81
|
-
/** @description max value for number type control */
|
|
82
|
-
max: number;
|
|
80
|
+
/** @description min value for number type control or min date for date type control */
|
|
81
|
+
min: number | string;
|
|
82
|
+
/** @description max value for number type control or max date for date type control */
|
|
83
|
+
max: number | string;
|
|
83
84
|
/**
|
|
84
85
|
* @description
|
|
85
86
|
* Holds the size of the component like Small, Extra small, Large
|
|
@@ -106,6 +107,25 @@ declare class CideInputComponent implements ControlValueAccessor, Validator, OnC
|
|
|
106
107
|
trailingIconInternal: string;
|
|
107
108
|
isTrailingIconAllwedClick: boolean;
|
|
108
109
|
idRandom: string;
|
|
110
|
+
showDatePicker: boolean;
|
|
111
|
+
showMonthYearSelector: boolean;
|
|
112
|
+
currentMonth: number;
|
|
113
|
+
currentYear: number;
|
|
114
|
+
selectedDate: Date | null;
|
|
115
|
+
calendarDays: {
|
|
116
|
+
day: number;
|
|
117
|
+
isCurrentMonth: boolean;
|
|
118
|
+
isSelected: boolean;
|
|
119
|
+
isToday: boolean;
|
|
120
|
+
date: Date;
|
|
121
|
+
}[];
|
|
122
|
+
monthNames: string[];
|
|
123
|
+
shortMonthNames: string[];
|
|
124
|
+
private portalService;
|
|
125
|
+
private datePickerPortalId;
|
|
126
|
+
private viewContainerRef;
|
|
127
|
+
datePickerTemplate: TemplateRef<any>;
|
|
128
|
+
private datePickerViewRef;
|
|
109
129
|
/**
|
|
110
130
|
* @description Function to call when the HTML Chnage to tell Angular somthing is changed.
|
|
111
131
|
* @field value : inputType
|
|
@@ -143,6 +163,7 @@ declare class CideInputComponent implements ControlValueAccessor, Validator, OnC
|
|
|
143
163
|
/** @description Detect wether input propertires canged or not */
|
|
144
164
|
ngOnChanges(changes: SimpleChanges): void;
|
|
145
165
|
ngOnInit(): void;
|
|
166
|
+
ngOnDestroy(): void;
|
|
146
167
|
/** @description custom method run when HTML changes, we call method registerd by angular to detect change */
|
|
147
168
|
upDateValue(value: {
|
|
148
169
|
target: {
|
|
@@ -186,8 +207,70 @@ declare class CideInputComponent implements ControlValueAccessor, Validator, OnC
|
|
|
186
207
|
* @description use to detact the change in type if changes done this method is ued to run
|
|
187
208
|
*/
|
|
188
209
|
detectTypeChange(): void;
|
|
189
|
-
|
|
190
|
-
|
|
210
|
+
/**
|
|
211
|
+
* @description Format date to YYYY-MM-DD format (for form submission)
|
|
212
|
+
*/
|
|
213
|
+
formatDate(date: Date | string): string;
|
|
214
|
+
/**
|
|
215
|
+
* @description Format date for display as "DD/MMM/YYYY" (e.g., "20/Jun/2025")
|
|
216
|
+
*/
|
|
217
|
+
formatDateForDisplay(date: Date | string): string;
|
|
218
|
+
/**
|
|
219
|
+
* @description Get display value for date input
|
|
220
|
+
*/
|
|
221
|
+
getDateDisplayValue(): string;
|
|
222
|
+
/**
|
|
223
|
+
* @description Initialize date picker with current values
|
|
224
|
+
*/
|
|
225
|
+
initializeDatePicker(): void;
|
|
226
|
+
/**
|
|
227
|
+
* @description Generate calendar days for current month
|
|
228
|
+
*/
|
|
229
|
+
generateCalendar(): void;
|
|
230
|
+
/**
|
|
231
|
+
* @description Create date picker using template-based portal service
|
|
232
|
+
*/
|
|
233
|
+
private createDatePickerUsingPortal;
|
|
234
|
+
/**
|
|
235
|
+
* @description Close date picker
|
|
236
|
+
*/
|
|
237
|
+
closeDatePicker(): void;
|
|
238
|
+
/**
|
|
239
|
+
* @description Navigate to previous month
|
|
240
|
+
*/
|
|
241
|
+
previousMonth(): void;
|
|
242
|
+
/**
|
|
243
|
+
* @description Navigate to next month
|
|
244
|
+
*/
|
|
245
|
+
nextMonth(): void;
|
|
246
|
+
/**
|
|
247
|
+
* @description Navigate to previous year
|
|
248
|
+
*/
|
|
249
|
+
previousYear(): void;
|
|
250
|
+
/**
|
|
251
|
+
* @description Navigate to next year
|
|
252
|
+
*/
|
|
253
|
+
nextYear(): void;
|
|
254
|
+
/**
|
|
255
|
+
* @description Toggle between calendar and month/year selector
|
|
256
|
+
*/
|
|
257
|
+
toggleMonthYearSelector(): void;
|
|
258
|
+
/**
|
|
259
|
+
* @description Select a month from the month selector
|
|
260
|
+
*/
|
|
261
|
+
selectMonth(monthIndex: number): void;
|
|
262
|
+
/**
|
|
263
|
+
* @description Select a date from the calendar
|
|
264
|
+
*/
|
|
265
|
+
selectDate(dayInfo: {
|
|
266
|
+
day: number;
|
|
267
|
+
isCurrentMonth: boolean;
|
|
268
|
+
isSelected: boolean;
|
|
269
|
+
isToday: boolean;
|
|
270
|
+
date: Date;
|
|
271
|
+
}): void;
|
|
272
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<CideInputComponent, never>;
|
|
273
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<CideInputComponent, "cide-ele-input", never, { "fill": { "alias": "fill"; "required": false; }; "label": { "alias": "label"; "required": false; }; "labelHide": { "alias": "labelHide"; "required": false; }; "disabled": { "alias": "disabled"; "required": false; }; "clearInput": { "alias": "clearInput"; "required": false; }; "labelPlacement": { "alias": "labelPlacement"; "required": false; }; "labelDir": { "alias": "labelDir"; "required": false; }; "placeholder": { "alias": "placeholder"; "required": false; }; "leadingIcon": { "alias": "leadingIcon"; "required": false; }; "trailingIcon": { "alias": "trailingIcon"; "required": false; }; "helperText": { "alias": "helperText"; "required": false; }; "helperTextCollapse": { "alias": "helperTextCollapse"; "required": false; }; "hideHelperAndErrorText": { "alias": "hideHelperAndErrorText"; "required": false; }; "errorText": { "alias": "errorText"; "required": false; }; "maxlength": { "alias": "maxlength"; "required": false; }; "minlength": { "alias": "minlength"; "required": false; }; "required": { "alias": "required"; "required": false; }; "autocapitalize": { "alias": "autocapitalize"; "required": false; }; "autocomplete": { "alias": "autocomplete"; "required": false; }; "type": { "alias": "type"; "required": false; }; "width": { "alias": "width"; "required": false; }; "id": { "alias": "id"; "required": false; }; "ngModel": { "alias": "ngModel"; "required": false; }; "option": { "alias": "option"; "required": false; }; "min": { "alias": "min"; "required": false; }; "max": { "alias": "max"; "required": false; }; "size": { "alias": "size"; "required": false; }; }, { "ngModelChange": "ngModelChange"; }, never, never, true, never>;
|
|
191
274
|
}
|
|
192
275
|
|
|
193
276
|
type ButtonVariant = 'primary' | 'secondary' | 'outline' | 'text' | 'link' | 'success' | 'danger' | 'warning' | 'info' | 'ghost';
|
|
@@ -268,8 +351,8 @@ declare class CideEleButtonComponent implements OnInit, OnChanges, OnDestroy {
|
|
|
268
351
|
ngOnChanges(changes: SimpleChanges): void;
|
|
269
352
|
ngOnDestroy(): void;
|
|
270
353
|
getControlData(): Promise<void>;
|
|
271
|
-
static ɵfac:
|
|
272
|
-
static ɵcmp:
|
|
354
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<CideEleButtonComponent, never>;
|
|
355
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<CideEleButtonComponent, "button[cideEleButton], a[cideEleButton]", never, { "label": { "alias": "label"; "required": false; }; "variant": { "alias": "variant"; "required": false; }; "size": { "alias": "size"; "required": false; }; "type": { "alias": "type"; "required": false; }; "shape": { "alias": "shape"; "required": false; }; "elevation": { "alias": "elevation"; "required": false; }; "disabled": { "alias": "disabled"; "required": false; }; "id": { "alias": "id"; "required": false; }; "loading": { "alias": "loading"; "required": false; }; "fullWidth": { "alias": "fullWidth"; "required": false; }; "leftIcon": { "alias": "leftIcon"; "required": false; }; "rightIcon": { "alias": "rightIcon"; "required": false; }; "customClass": { "alias": "customClass"; "required": false; }; "tooltip": { "alias": "tooltip"; "required": false; }; "ariaLabel": { "alias": "ariaLabel"; "required": false; }; "testId": { "alias": "testId"; "required": false; }; "routerLink": { "alias": "routerLink"; "required": false; }; "routerExtras": { "alias": "routerExtras"; "required": false; }; "preventDoubleClick": { "alias": "preventDoubleClick"; "required": false; }; "animated": { "alias": "animated"; "required": false; }; }, { "btnClick": "btnClick"; "doubleClick": "doubleClick"; }, never, ["*"], true, never>;
|
|
273
356
|
}
|
|
274
357
|
|
|
275
358
|
declare class CideSpinnerComponent {
|
|
@@ -286,16 +369,16 @@ declare class CideSpinnerComponent {
|
|
|
286
369
|
*/
|
|
287
370
|
size: themeSize;
|
|
288
371
|
type: spinnerType;
|
|
289
|
-
static ɵfac:
|
|
290
|
-
static ɵcmp:
|
|
372
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<CideSpinnerComponent, never>;
|
|
373
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<CideSpinnerComponent, "cide-ele-spinner", never, { "size": { "alias": "size"; "required": false; }; "type": { "alias": "type"; "required": false; }; }, {}, never, never, true, never>;
|
|
291
374
|
}
|
|
292
375
|
|
|
293
376
|
declare class CideIconComponent {
|
|
294
377
|
size: themeSize;
|
|
295
378
|
type: iconType;
|
|
296
379
|
toolTip: string;
|
|
297
|
-
static ɵfac:
|
|
298
|
-
static ɵcmp:
|
|
380
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<CideIconComponent, never>;
|
|
381
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<CideIconComponent, "cide-ele-icon", never, { "size": { "alias": "size"; "required": false; }; "type": { "alias": "type"; "required": false; }; "toolTip": { "alias": "toolTip"; "required": false; }; }, {}, never, ["*"], true, never>;
|
|
299
382
|
}
|
|
300
383
|
|
|
301
384
|
interface SelectOption {
|
|
@@ -303,14 +386,18 @@ interface SelectOption {
|
|
|
303
386
|
label: string;
|
|
304
387
|
disabled?: boolean;
|
|
305
388
|
}
|
|
389
|
+
interface SelectOptionObject {
|
|
390
|
+
[key: string]: any;
|
|
391
|
+
disabled?: boolean;
|
|
392
|
+
}
|
|
306
393
|
declare class CideSelectOptionComponent {
|
|
307
394
|
private elementRef;
|
|
308
395
|
value: string | number;
|
|
309
396
|
disabled: boolean;
|
|
310
397
|
get label(): string;
|
|
311
398
|
constructor(elementRef: ElementRef);
|
|
312
|
-
static ɵfac:
|
|
313
|
-
static ɵcmp:
|
|
399
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<CideSelectOptionComponent, never>;
|
|
400
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<CideSelectOptionComponent, "cide-ele-select-option", never, { "value": { "alias": "value"; "required": false; }; "disabled": { "alias": "disabled"; "required": false; }; }, {}, never, ["*"], true, never>;
|
|
314
401
|
}
|
|
315
402
|
declare class CideSelectComponent implements ControlValueAccessor, Validator, OnInit, OnChanges, AfterContentInit, OnDestroy {
|
|
316
403
|
private elementRef;
|
|
@@ -324,7 +411,7 @@ declare class CideSelectComponent implements ControlValueAccessor, Validator, On
|
|
|
324
411
|
required: boolean;
|
|
325
412
|
disabled: boolean;
|
|
326
413
|
id: string;
|
|
327
|
-
ngModel: string | number;
|
|
414
|
+
ngModel: string | number | string[];
|
|
328
415
|
size: themeSize;
|
|
329
416
|
fill: elementStyleType;
|
|
330
417
|
labelPlacement: labelPlacementType;
|
|
@@ -332,19 +419,39 @@ declare class CideSelectComponent implements ControlValueAccessor, Validator, On
|
|
|
332
419
|
leadingIcon: string;
|
|
333
420
|
trailingIcon: string;
|
|
334
421
|
clearInput: boolean;
|
|
335
|
-
options: SelectOption[];
|
|
422
|
+
options: (SelectOption | SelectOptionObject)[];
|
|
336
423
|
multiple: boolean;
|
|
337
424
|
searchable: boolean;
|
|
338
425
|
showSearchInput: boolean;
|
|
339
426
|
loading: boolean;
|
|
340
|
-
|
|
341
|
-
|
|
427
|
+
/**
|
|
428
|
+
* Key to extract the value from option objects.
|
|
429
|
+
* Default: 'value'. Use when options are objects with custom property names.
|
|
430
|
+
* Example: if options = [{id: 1, name: 'John'}, {id: 2, name: 'Jane'}], set valueKey = 'id'
|
|
431
|
+
*/
|
|
432
|
+
valueKey: string;
|
|
433
|
+
/**
|
|
434
|
+
* Key to extract the label from option objects.
|
|
435
|
+
* Default: 'label'. Use when options are objects with custom property names.
|
|
436
|
+
* Example: if options = [{id: 1, name: 'John'}, {id: 2, name: 'Jane'}], set labelKey = 'name'
|
|
437
|
+
*/
|
|
438
|
+
labelKey: string;
|
|
439
|
+
ngModelChange: EventEmitter<string | number | string[]>;
|
|
440
|
+
selectionChange: EventEmitter<any>;
|
|
342
441
|
searchChange: EventEmitter<selectSearchType>;
|
|
343
442
|
isOpen: boolean;
|
|
344
443
|
isTouched: boolean;
|
|
345
444
|
isValid: boolean;
|
|
346
445
|
searchTerm: string;
|
|
347
|
-
filteredOptions: SelectOption[];
|
|
446
|
+
filteredOptions: (SelectOption | SelectOptionObject)[];
|
|
447
|
+
private searchDebounceTimeout;
|
|
448
|
+
private searchSubject;
|
|
449
|
+
private destroy$;
|
|
450
|
+
private isUpdatingOptions;
|
|
451
|
+
private portalService;
|
|
452
|
+
private dropdownPortalId;
|
|
453
|
+
dropdownTemplate: TemplateRef<any>;
|
|
454
|
+
dropdownContainer: ViewContainerRef;
|
|
348
455
|
dropdownPosition: 'bottom' | 'top';
|
|
349
456
|
private isDropdownInteraction;
|
|
350
457
|
private debugId;
|
|
@@ -363,12 +470,21 @@ declare class CideSelectComponent implements ControlValueAccessor, Validator, On
|
|
|
363
470
|
registerOnTouched(fn: () => void): void;
|
|
364
471
|
setDisabledState(isDisabled: boolean): void;
|
|
365
472
|
validate(control: AbstractControl): ValidationErrors | null;
|
|
366
|
-
validateValue(value: string | number): ValidationErrors | null;
|
|
473
|
+
validateValue(value: string | number | string[]): ValidationErrors | null;
|
|
367
474
|
toggleDropdown(): void;
|
|
475
|
+
private openDropdown;
|
|
476
|
+
private closeDropdown;
|
|
368
477
|
ngOnDestroy(): void;
|
|
478
|
+
private createDropdownPortal;
|
|
479
|
+
private destroyDropdownPortal;
|
|
480
|
+
private updatePortalContext;
|
|
481
|
+
private updateOptionsInDOM;
|
|
482
|
+
private setupDebouncedSearch;
|
|
483
|
+
private performSearch;
|
|
484
|
+
private cleanupOrphanedPortals;
|
|
369
485
|
private onWindowResize;
|
|
370
486
|
private calculateDropdownPosition;
|
|
371
|
-
selectOption(option: SelectOption): void;
|
|
487
|
+
selectOption(option: SelectOption | SelectOptionObject): void;
|
|
372
488
|
onBlur(): void;
|
|
373
489
|
focusControl(): void;
|
|
374
490
|
clearSelection(): void;
|
|
@@ -376,14 +492,18 @@ declare class CideSelectComponent implements ControlValueAccessor, Validator, On
|
|
|
376
492
|
filterOptions(): void;
|
|
377
493
|
onSearchInput(event: Event): void;
|
|
378
494
|
onDropdownMouseDown(): void;
|
|
495
|
+
onSearchInputBlur(event: Event): void;
|
|
379
496
|
onDropdownMouseUp(): void;
|
|
380
|
-
isOptionSelected(option: SelectOption): boolean;
|
|
381
|
-
|
|
497
|
+
isOptionSelected(option: SelectOption | SelectOptionObject): boolean;
|
|
498
|
+
getOptionValue(option: SelectOption | SelectOptionObject): string | number;
|
|
499
|
+
getOptionLabel(option: SelectOption | SelectOptionObject): string;
|
|
500
|
+
private isSelectOption;
|
|
501
|
+
trackByValue(index: number, option: SelectOption | SelectOptionObject): string | number;
|
|
382
502
|
private logDebug;
|
|
383
503
|
private clearTimeouts;
|
|
384
504
|
private addTimeout;
|
|
385
|
-
static ɵfac:
|
|
386
|
-
static ɵcmp:
|
|
505
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<CideSelectComponent, never>;
|
|
506
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<CideSelectComponent, "cide-ele-select", never, { "label": { "alias": "label"; "required": false; }; "labelHide": { "alias": "labelHide"; "required": false; }; "placeholder": { "alias": "placeholder"; "required": false; }; "helperText": { "alias": "helperText"; "required": false; }; "errorText": { "alias": "errorText"; "required": false; }; "required": { "alias": "required"; "required": false; }; "disabled": { "alias": "disabled"; "required": false; }; "id": { "alias": "id"; "required": false; }; "ngModel": { "alias": "ngModel"; "required": false; }; "size": { "alias": "size"; "required": false; }; "fill": { "alias": "fill"; "required": false; }; "labelPlacement": { "alias": "labelPlacement"; "required": false; }; "labelDir": { "alias": "labelDir"; "required": false; }; "leadingIcon": { "alias": "leadingIcon"; "required": false; }; "trailingIcon": { "alias": "trailingIcon"; "required": false; }; "clearInput": { "alias": "clearInput"; "required": false; }; "options": { "alias": "options"; "required": false; }; "multiple": { "alias": "multiple"; "required": false; }; "searchable": { "alias": "searchable"; "required": false; }; "showSearchInput": { "alias": "showSearchInput"; "required": false; }; "loading": { "alias": "loading"; "required": false; }; "valueKey": { "alias": "valueKey"; "required": false; }; "labelKey": { "alias": "labelKey"; "required": false; }; }, { "ngModelChange": "ngModelChange"; "selectionChange": "change"; "searchChange": "searchChange"; }, ["optionComponents"], never, true, never>;
|
|
387
507
|
}
|
|
388
508
|
|
|
389
509
|
interface TabItem {
|
|
@@ -401,53 +521,428 @@ declare class CideEleTabComponent implements OnInit {
|
|
|
401
521
|
fullWidth: boolean;
|
|
402
522
|
disabled: boolean;
|
|
403
523
|
tabChange: EventEmitter<TabItem>;
|
|
404
|
-
activeTab:
|
|
524
|
+
activeTab: _angular_core.WritableSignal<string>;
|
|
405
525
|
ngOnInit(): void;
|
|
406
526
|
onTabClick(tab: TabItem): void;
|
|
407
527
|
isActive(tabId: string): boolean;
|
|
408
528
|
getTabClasses(tab: TabItem): string;
|
|
409
529
|
getContainerClasses(): string;
|
|
410
|
-
static ɵfac:
|
|
411
|
-
static ɵcmp:
|
|
530
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<CideEleTabComponent, never>;
|
|
531
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<CideEleTabComponent, "cide-ele-tab", never, { "tabs": { "alias": "tabs"; "required": false; }; "activeTabId": { "alias": "activeTabId"; "required": false; }; "size": { "alias": "size"; "required": false; }; "variant": { "alias": "variant"; "required": false; }; "fullWidth": { "alias": "fullWidth"; "required": false; }; "disabled": { "alias": "disabled"; "required": false; }; }, { "tabChange": "tabChange"; }, never, never, true, never>;
|
|
412
532
|
}
|
|
413
533
|
|
|
414
|
-
|
|
534
|
+
/**
|
|
535
|
+
* Angular 20: Proper TypeScript interface for file upload data
|
|
536
|
+
* This interface defines the structure of additional data that can be sent with file uploads
|
|
537
|
+
*/
|
|
538
|
+
interface FileUploadData {
|
|
539
|
+
/** Alternative text for the uploaded file (useful for accessibility) */
|
|
540
|
+
altText?: string;
|
|
541
|
+
/** User ID associated with the upload */
|
|
542
|
+
userId?: string;
|
|
543
|
+
/** Array of permissions for the uploaded file */
|
|
544
|
+
permissions?: string[];
|
|
545
|
+
/** Array of tags to categorize the uploaded file */
|
|
546
|
+
tags?: string[];
|
|
547
|
+
/** Status of the file (e.g., 'active', 'pending', 'archived') */
|
|
548
|
+
fileStatus?: "file_manager_file_status_active";
|
|
549
|
+
/** Group ID for multiple file uploads */
|
|
550
|
+
groupId?: string;
|
|
551
|
+
/** Allow additional properties with proper typing */
|
|
552
|
+
[key: string]: string | number | string[] | undefined;
|
|
553
|
+
}
|
|
554
|
+
declare class CideEleFileInputComponent implements ControlValueAccessor, OnDestroy, OnInit, OnChanges, Validator {
|
|
555
|
+
private readonly fileManagerService;
|
|
556
|
+
private readonly notificationService;
|
|
557
|
+
private readonly elementService;
|
|
558
|
+
private readonly destroyRef;
|
|
559
|
+
private readonly floatingFileUploaderService;
|
|
415
560
|
label: string;
|
|
416
561
|
accept: string;
|
|
417
562
|
multiple: boolean;
|
|
418
563
|
disabled: boolean;
|
|
564
|
+
required: boolean;
|
|
419
565
|
helperText: string;
|
|
420
566
|
errorText: string;
|
|
421
567
|
showPreview: boolean;
|
|
422
568
|
previewWidth: string;
|
|
423
569
|
previewHeight: string;
|
|
424
570
|
previewBoxMode: boolean;
|
|
571
|
+
showFileName: boolean;
|
|
425
572
|
placeholderText: string;
|
|
426
573
|
placeholderIcon: string;
|
|
427
|
-
|
|
574
|
+
autoUpload: boolean;
|
|
575
|
+
uploadData: FileUploadData;
|
|
576
|
+
showFloatingUploader: boolean;
|
|
577
|
+
floatingUploaderGroupId?: string;
|
|
428
578
|
fileChange: EventEmitter<FileList | null>;
|
|
429
|
-
|
|
430
|
-
|
|
431
|
-
|
|
579
|
+
uploadSuccess: EventEmitter<string>;
|
|
580
|
+
uploadError: EventEmitter<string>;
|
|
581
|
+
uploadProgressChange: EventEmitter<number>;
|
|
582
|
+
readonly labelSignal: _angular_core.WritableSignal<string>;
|
|
583
|
+
readonly acceptSignal: _angular_core.WritableSignal<string>;
|
|
584
|
+
readonly multipleSignal: _angular_core.WritableSignal<boolean>;
|
|
585
|
+
readonly disabledSignal: _angular_core.WritableSignal<boolean>;
|
|
586
|
+
readonly requiredSignal: _angular_core.WritableSignal<boolean>;
|
|
587
|
+
readonly helperTextSignal: _angular_core.WritableSignal<string>;
|
|
588
|
+
readonly errorTextSignal: _angular_core.WritableSignal<string>;
|
|
589
|
+
readonly showPreviewSignal: _angular_core.WritableSignal<boolean>;
|
|
590
|
+
readonly previewWidthSignal: _angular_core.WritableSignal<string>;
|
|
591
|
+
readonly previewHeightSignal: _angular_core.WritableSignal<string>;
|
|
592
|
+
readonly previewBoxModeSignal: _angular_core.WritableSignal<boolean>;
|
|
593
|
+
readonly showFileNameSignal: _angular_core.WritableSignal<boolean>;
|
|
594
|
+
readonly placeholderTextSignal: _angular_core.WritableSignal<string>;
|
|
595
|
+
readonly placeholderIconSignal: _angular_core.WritableSignal<string>;
|
|
596
|
+
readonly autoUploadSignal: _angular_core.WritableSignal<boolean>;
|
|
597
|
+
readonly uploadDataSignal: _angular_core.WritableSignal<FileUploadData>;
|
|
598
|
+
readonly showFloatingUploaderSignal: _angular_core.WritableSignal<boolean>;
|
|
599
|
+
readonly floatingUploaderGroupIdSignal: _angular_core.WritableSignal<string | undefined>;
|
|
600
|
+
readonly id: _angular_core.WritableSignal<string>;
|
|
601
|
+
readonly isUploading: _angular_core.WritableSignal<boolean>;
|
|
602
|
+
readonly uploadProgress: _angular_core.WritableSignal<number>;
|
|
603
|
+
readonly uploadStatus: _angular_core.WritableSignal<"error" | "start" | "success" | "uploading" | "idle">;
|
|
604
|
+
readonly files: _angular_core.WritableSignal<FileList | null>;
|
|
605
|
+
readonly fileNames: _angular_core.WritableSignal<string[]>;
|
|
606
|
+
readonly previewUrls: _angular_core.WritableSignal<string[]>;
|
|
607
|
+
readonly uploadNotificationId: _angular_core.WritableSignal<string | null>;
|
|
608
|
+
readonly isDragOver: _angular_core.WritableSignal<boolean>;
|
|
609
|
+
readonly groupId: _angular_core.WritableSignal<string | null>;
|
|
610
|
+
readonly isMultipleUploadMode: _angular_core.WritableSignal<boolean>;
|
|
611
|
+
readonly hasEverUploaded: _angular_core.WritableSignal<boolean>;
|
|
612
|
+
readonly hasFiles: _angular_core.Signal<boolean>;
|
|
613
|
+
readonly canUpload: _angular_core.Signal<boolean>;
|
|
614
|
+
readonly isInErrorState: _angular_core.Signal<boolean>;
|
|
615
|
+
readonly isInSuccessState: _angular_core.Signal<boolean>;
|
|
616
|
+
readonly totalFileSize: _angular_core.Signal<number>;
|
|
617
|
+
readonly fileSizeInMB: _angular_core.Signal<string>;
|
|
432
618
|
private onChange;
|
|
433
619
|
private onTouched;
|
|
434
|
-
|
|
435
|
-
|
|
620
|
+
private onValidatorChange;
|
|
621
|
+
readonly hasImages: _angular_core.Signal<boolean>;
|
|
622
|
+
readonly isPreviewBoxMode: _angular_core.Signal<boolean>;
|
|
623
|
+
readonly isImagePreviewAvailable: _angular_core.Signal<boolean>;
|
|
624
|
+
constructor();
|
|
625
|
+
ngOnInit(): void;
|
|
626
|
+
ngOnChanges(changes: SimpleChanges): void;
|
|
627
|
+
writeValue(value: FileList | string | null): void;
|
|
628
|
+
registerOnChange(fn: (value: FileList | string | null) => void): void;
|
|
436
629
|
registerOnTouched(fn: () => void): void;
|
|
630
|
+
registerOnValidatorChange(fn: () => void): void;
|
|
437
631
|
setDisabledState(isDisabled: boolean): void;
|
|
438
632
|
onFileSelected(event: Event): void;
|
|
439
633
|
clearFiles(): void;
|
|
634
|
+
private uploadFile;
|
|
635
|
+
/**
|
|
636
|
+
* Upload multiple files with group ID support
|
|
637
|
+
* FLOW: 1) Generate group ID first, 2) Upload all files with same group ID, 3) Emit group ID on completion
|
|
638
|
+
*/
|
|
639
|
+
private uploadMultipleFiles;
|
|
640
|
+
/**
|
|
641
|
+
* Start uploading multiple files with the provided group ID
|
|
642
|
+
* All files will be uploaded with the SAME group ID that was generated before this method
|
|
643
|
+
*/
|
|
644
|
+
private startMulti;
|
|
645
|
+
/**
|
|
646
|
+
* Handle completion of multiple file upload
|
|
647
|
+
*/
|
|
648
|
+
private handleMultipleUploadComplete;
|
|
440
649
|
private generatePreviews;
|
|
441
650
|
private clearPreviews;
|
|
442
651
|
private isImageFile;
|
|
443
|
-
|
|
652
|
+
private loadFileDetailsFromId;
|
|
653
|
+
/**
|
|
654
|
+
* Check if the component is in multiple file mode
|
|
655
|
+
*/
|
|
656
|
+
private isMultipleFileMode;
|
|
657
|
+
/**
|
|
658
|
+
* Load files from group ID using the group API
|
|
659
|
+
*/
|
|
660
|
+
private loadFilesFromGroupId;
|
|
661
|
+
private isImageFileFromName;
|
|
662
|
+
private isImageFileFromType;
|
|
444
663
|
removePreview(index: number): void;
|
|
445
664
|
ngOnDestroy(): void;
|
|
446
665
|
triggerFileSelect(): void;
|
|
447
|
-
|
|
448
|
-
|
|
449
|
-
|
|
450
|
-
|
|
666
|
+
/**
|
|
667
|
+
* Show floating uploader manually
|
|
668
|
+
* This can be called to show the floating uploader even when no files are selected
|
|
669
|
+
*/
|
|
670
|
+
showUploader(): void;
|
|
671
|
+
/**
|
|
672
|
+
* Get total upload count from file manager service for this component's group ID
|
|
673
|
+
* Uses optimized service method for better performance
|
|
674
|
+
* Only counts files for this component's specific group ID
|
|
675
|
+
*/
|
|
676
|
+
getUploadCount(): number;
|
|
677
|
+
/**
|
|
678
|
+
* Check if there are active uploads for this component's group ID
|
|
679
|
+
* Uses optimized service method for better performance
|
|
680
|
+
* Only checks files for this component's specific group ID
|
|
681
|
+
*/
|
|
682
|
+
hasActiveUploads(): boolean;
|
|
683
|
+
/**
|
|
684
|
+
* Get count of active (non-completed) uploads for this component's group ID
|
|
685
|
+
* Only counts files for this component's specific group ID
|
|
686
|
+
*/
|
|
687
|
+
getActiveUploadCount(): number;
|
|
688
|
+
/**
|
|
689
|
+
* Show floating uploader (alias for showUploader for template)
|
|
690
|
+
*/
|
|
691
|
+
showFloatingUploaderDialog(): Promise<void>;
|
|
692
|
+
/**
|
|
693
|
+
* Get dynamic classes for drag and drop zone
|
|
694
|
+
*/
|
|
695
|
+
getDragDropZoneClasses(): string;
|
|
696
|
+
/**
|
|
697
|
+
* Get dynamic classes for icon
|
|
698
|
+
*/
|
|
699
|
+
getIconClasses(): string;
|
|
700
|
+
/**
|
|
701
|
+
* Get dynamic classes for preview box
|
|
702
|
+
*/
|
|
703
|
+
getPreviewBoxClasses(): string;
|
|
704
|
+
onDragOver(event: DragEvent): void;
|
|
705
|
+
onDragLeave(event: DragEvent): void;
|
|
706
|
+
onDragEnter(event: DragEvent): void;
|
|
707
|
+
onDrop(event: DragEvent): void;
|
|
708
|
+
private validateFileTypes;
|
|
709
|
+
private handleFileSelection;
|
|
710
|
+
isRequired(): boolean;
|
|
711
|
+
/**
|
|
712
|
+
* Angular 20: Utility method to get upload data with proper typing
|
|
713
|
+
* @returns Properly typed upload data
|
|
714
|
+
*/
|
|
715
|
+
getUploadData(): FileUploadData;
|
|
716
|
+
/**
|
|
717
|
+
* Angular 20: Utility method to update upload data with type safety
|
|
718
|
+
* @param data Partial upload data to merge with existing data
|
|
719
|
+
*/
|
|
720
|
+
updateUploadData(data: Partial<FileUploadData>): void;
|
|
721
|
+
getCurrentState(): {
|
|
722
|
+
id: string;
|
|
723
|
+
label: string;
|
|
724
|
+
required: boolean;
|
|
725
|
+
disabled: boolean;
|
|
726
|
+
accept: string;
|
|
727
|
+
multiple: boolean;
|
|
728
|
+
showPreview: boolean;
|
|
729
|
+
autoUpload: boolean;
|
|
730
|
+
uploadStatus: "error" | "start" | "success" | "uploading" | "idle";
|
|
731
|
+
isUploading: boolean;
|
|
732
|
+
uploadProgress: number;
|
|
733
|
+
files: {
|
|
734
|
+
name: string;
|
|
735
|
+
size: number;
|
|
736
|
+
type: string;
|
|
737
|
+
}[] | null;
|
|
738
|
+
fileNames: string[];
|
|
739
|
+
previewUrls: number;
|
|
740
|
+
helperText: string;
|
|
741
|
+
errorText: string;
|
|
742
|
+
placeholderText: string;
|
|
743
|
+
placeholderIcon: string;
|
|
744
|
+
previewWidth: string;
|
|
745
|
+
previewHeight: string;
|
|
746
|
+
previewBoxMode: boolean;
|
|
747
|
+
showFileName: boolean;
|
|
748
|
+
uploadData: FileUploadData;
|
|
749
|
+
};
|
|
750
|
+
getControlData(): Promise<void>;
|
|
751
|
+
validate(control: AbstractControl): ValidationErrors | null;
|
|
752
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<CideEleFileInputComponent, never>;
|
|
753
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<CideEleFileInputComponent, "cide-ele-file-input", never, { "label": { "alias": "label"; "required": false; }; "accept": { "alias": "accept"; "required": false; }; "multiple": { "alias": "multiple"; "required": false; }; "disabled": { "alias": "disabled"; "required": false; }; "required": { "alias": "required"; "required": false; }; "helperText": { "alias": "helperText"; "required": false; }; "errorText": { "alias": "errorText"; "required": false; }; "showPreview": { "alias": "showPreview"; "required": false; }; "previewWidth": { "alias": "previewWidth"; "required": false; }; "previewHeight": { "alias": "previewHeight"; "required": false; }; "previewBoxMode": { "alias": "previewBoxMode"; "required": false; }; "showFileName": { "alias": "showFileName"; "required": false; }; "placeholderText": { "alias": "placeholderText"; "required": false; }; "placeholderIcon": { "alias": "placeholderIcon"; "required": false; }; "autoUpload": { "alias": "autoUpload"; "required": false; }; "uploadData": { "alias": "uploadData"; "required": false; }; "showFloatingUploader": { "alias": "showFloatingUploader"; "required": false; }; "floatingUploaderGroupId": { "alias": "floatingUploaderGroupId"; "required": false; }; }, { "fileChange": "fileChange"; "uploadSuccess": "uploadSuccess"; "uploadError": "uploadError"; "uploadProgressChange": "uploadProgressChange"; }, never, never, true, never>;
|
|
754
|
+
}
|
|
755
|
+
|
|
756
|
+
interface FloatingFileUploaderData {
|
|
757
|
+
userId?: string;
|
|
758
|
+
groupId?: string;
|
|
759
|
+
title?: string;
|
|
760
|
+
description?: string;
|
|
761
|
+
maxFileSize?: number;
|
|
762
|
+
allowedFileTypes?: string[];
|
|
763
|
+
multiple?: boolean;
|
|
764
|
+
}
|
|
765
|
+
declare class CideEleFloatingFileUploaderComponent implements OnInit, OnDestroy {
|
|
766
|
+
private destroyRef;
|
|
767
|
+
private fileManagerService;
|
|
768
|
+
data: FloatingFileUploaderData;
|
|
769
|
+
isVisible: _angular_core.WritableSignal<boolean>;
|
|
770
|
+
currentUserId: _angular_core.WritableSignal<string>;
|
|
771
|
+
currentGroupId: _angular_core.WritableSignal<string | null>;
|
|
772
|
+
uploadQueue: _angular_core.Signal<string[]>;
|
|
773
|
+
activeUploads: _angular_core.Signal<Map<string, cloud_ide_element.UploadProgress>>;
|
|
774
|
+
hasUploads: _angular_core.Signal<boolean>;
|
|
775
|
+
hasActiveUploads: _angular_core.Signal<boolean>;
|
|
776
|
+
pendingUploads: _angular_core.Signal<string[]>;
|
|
777
|
+
activeUploadsLocal: _angular_core.Signal<cloud_ide_element.UploadProgress[]>;
|
|
778
|
+
completedUploads: _angular_core.Signal<cloud_ide_element.UploadProgress[]>;
|
|
779
|
+
failedUploads: _angular_core.Signal<cloud_ide_element.UploadProgress[]>;
|
|
780
|
+
allFilesForGroup: _angular_core.Signal<{
|
|
781
|
+
fileId: string;
|
|
782
|
+
fileName: string;
|
|
783
|
+
stage: string;
|
|
784
|
+
percentage?: number;
|
|
785
|
+
}[]>;
|
|
786
|
+
hasFilesToShow: _angular_core.Signal<boolean>;
|
|
787
|
+
getUploadingCount(): number;
|
|
788
|
+
getCompletedCount(): number;
|
|
789
|
+
getFailedCount(): number;
|
|
790
|
+
isAnimating: _angular_core.WritableSignal<boolean>;
|
|
791
|
+
isDragOver: _angular_core.WritableSignal<boolean>;
|
|
792
|
+
constructor();
|
|
793
|
+
ngOnInit(): void;
|
|
794
|
+
private initializeWithData;
|
|
795
|
+
private loadExistingFiles;
|
|
796
|
+
ngOnDestroy(): void;
|
|
797
|
+
/**
|
|
798
|
+
* Set up drag and drop functionality
|
|
799
|
+
*/
|
|
800
|
+
private setupDragAndDrop;
|
|
801
|
+
/**
|
|
802
|
+
* Remove drag and drop listeners
|
|
803
|
+
*/
|
|
804
|
+
private removeDragAndDropListeners;
|
|
805
|
+
/**
|
|
806
|
+
* Set up file input change listeners
|
|
807
|
+
*/
|
|
808
|
+
private setupFileInputListeners;
|
|
809
|
+
/**
|
|
810
|
+
* Remove file input listeners
|
|
811
|
+
*/
|
|
812
|
+
private removeFileInputListeners;
|
|
813
|
+
/**
|
|
814
|
+
* Handle file input change events
|
|
815
|
+
*/
|
|
816
|
+
private handleFileInputChange;
|
|
817
|
+
/**
|
|
818
|
+
* Handle drag over event
|
|
819
|
+
*/
|
|
820
|
+
private handleDragOver;
|
|
821
|
+
/**
|
|
822
|
+
* Handle drag leave event
|
|
823
|
+
*/
|
|
824
|
+
private handleDragLeave;
|
|
825
|
+
/**
|
|
826
|
+
* Handle drop event
|
|
827
|
+
*/
|
|
828
|
+
private handleDrop;
|
|
829
|
+
/**
|
|
830
|
+
* Handle files from drag and drop or file input
|
|
831
|
+
*/
|
|
832
|
+
private handleFiles;
|
|
833
|
+
/**
|
|
834
|
+
* Update visibility - simplified for notification only
|
|
835
|
+
*/
|
|
836
|
+
updateVisibility(): void;
|
|
837
|
+
/**
|
|
838
|
+
* Show with animation
|
|
839
|
+
*/
|
|
840
|
+
private showWithAnimation;
|
|
841
|
+
/**
|
|
842
|
+
* Hide with animation
|
|
843
|
+
*/
|
|
844
|
+
private hideWithAnimation;
|
|
845
|
+
/**
|
|
846
|
+
* Get upload summary text
|
|
847
|
+
*/
|
|
848
|
+
getUploadSummary(): string;
|
|
849
|
+
/**
|
|
850
|
+
* Get overall progress percentage
|
|
851
|
+
*/
|
|
852
|
+
getOverallProgress(): number;
|
|
853
|
+
/**
|
|
854
|
+
* Get status icon based on upload stage
|
|
855
|
+
*/
|
|
856
|
+
getStatusIcon(stage: string): string;
|
|
857
|
+
/**
|
|
858
|
+
* Get status class based on upload stage
|
|
859
|
+
*/
|
|
860
|
+
getStatusClass(stage: string): string;
|
|
861
|
+
/**
|
|
862
|
+
* Cancel upload
|
|
863
|
+
*/
|
|
864
|
+
cancelUpload(fileId: string): void;
|
|
865
|
+
/**
|
|
866
|
+
* Get file name from file ID (extract from the ID format)
|
|
867
|
+
*/
|
|
868
|
+
getFileNameFromId(fileId: string): string;
|
|
869
|
+
/**
|
|
870
|
+
* Get all files from service state (pending + active uploads + fetched files)
|
|
871
|
+
* This method now uses the computed property for consistency
|
|
872
|
+
*/
|
|
873
|
+
getAllFiles(): {
|
|
874
|
+
fileId: string;
|
|
875
|
+
fileName: string;
|
|
876
|
+
stage: string;
|
|
877
|
+
percentage?: number;
|
|
878
|
+
}[];
|
|
879
|
+
/**
|
|
880
|
+
* Set current user ID
|
|
881
|
+
*/
|
|
882
|
+
setCurrentUserId(userId: string): void;
|
|
883
|
+
/**
|
|
884
|
+
* Check if there are any uploads for the current group
|
|
885
|
+
*/
|
|
886
|
+
hasUploadsForCurrentGroup(): boolean;
|
|
887
|
+
/**
|
|
888
|
+
* Handle drag over event for file drop
|
|
889
|
+
*/
|
|
890
|
+
onDragOver(event: DragEvent): void;
|
|
891
|
+
/**
|
|
892
|
+
* Handle drag leave event for file drop
|
|
893
|
+
*/
|
|
894
|
+
onDragLeave(event: DragEvent): void;
|
|
895
|
+
/**
|
|
896
|
+
* Handle drop event for file drop
|
|
897
|
+
*/
|
|
898
|
+
onDrop(event: DragEvent): void;
|
|
899
|
+
/**
|
|
900
|
+
* Trigger file input click
|
|
901
|
+
*/
|
|
902
|
+
triggerFileInput(): void;
|
|
903
|
+
/**
|
|
904
|
+
* Handle file input change
|
|
905
|
+
*/
|
|
906
|
+
onFileInputChange(event: Event): void;
|
|
907
|
+
/**
|
|
908
|
+
* Handle file selection from drag/drop or file input
|
|
909
|
+
*/
|
|
910
|
+
private handleFileSelection;
|
|
911
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<CideEleFloatingFileUploaderComponent, never>;
|
|
912
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<CideEleFloatingFileUploaderComponent, "cide-ele-floating-file-uploader", never, { "data": { "alias": "data"; "required": false; }; }, {}, never, never, true, never>;
|
|
913
|
+
}
|
|
914
|
+
|
|
915
|
+
interface FileUploaderData {
|
|
916
|
+
groupId?: string;
|
|
917
|
+
userId?: string;
|
|
918
|
+
allowedTypes?: string[];
|
|
919
|
+
maxFileSize?: number;
|
|
920
|
+
uploadPath?: string;
|
|
921
|
+
multiple?: boolean;
|
|
922
|
+
autoUpload?: boolean;
|
|
923
|
+
}
|
|
924
|
+
declare class CideEleFloatingFileUploaderService {
|
|
925
|
+
private containerService;
|
|
926
|
+
constructor();
|
|
927
|
+
private initializeFileUploader;
|
|
928
|
+
/**
|
|
929
|
+
* Show file uploader in floating container
|
|
930
|
+
*/
|
|
931
|
+
show(data?: FileUploaderData): Promise<string>;
|
|
932
|
+
/**
|
|
933
|
+
* Hide file uploader
|
|
934
|
+
*/
|
|
935
|
+
hide(): void;
|
|
936
|
+
/**
|
|
937
|
+
* Show file uploader with specific group ID
|
|
938
|
+
*/
|
|
939
|
+
showWithGroupId(groupId: string, additionalData?: Partial<FileUploaderData>): Promise<string>;
|
|
940
|
+
/**
|
|
941
|
+
* Show file uploader for user with specific settings
|
|
942
|
+
*/
|
|
943
|
+
showForUser(userId: string, settings?: Partial<FileUploaderData>): Promise<string>;
|
|
944
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<CideEleFloatingFileUploaderService, never>;
|
|
945
|
+
static ɵprov: _angular_core.ɵɵInjectableDeclaration<CideEleFloatingFileUploaderService>;
|
|
451
946
|
}
|
|
452
947
|
|
|
453
948
|
declare class CideTextareaComponent implements ControlValueAccessor, Validator, OnInit, OnChanges {
|
|
@@ -490,8 +985,107 @@ declare class CideTextareaComponent implements ControlValueAccessor, Validator,
|
|
|
490
985
|
onBlur(): void;
|
|
491
986
|
ClearInputValue(): void;
|
|
492
987
|
trailingIconClick(): void;
|
|
493
|
-
static ɵfac:
|
|
494
|
-
static ɵcmp:
|
|
988
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<CideTextareaComponent, never>;
|
|
989
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<CideTextareaComponent, "cide-ele-textarea", never, { "label": { "alias": "label"; "required": false; }; "labelHide": { "alias": "labelHide"; "required": false; }; "placeholder": { "alias": "placeholder"; "required": false; }; "helperText": { "alias": "helperText"; "required": false; }; "errorText": { "alias": "errorText"; "required": false; }; "required": { "alias": "required"; "required": false; }; "disabled": { "alias": "disabled"; "required": false; }; "minlength": { "alias": "minlength"; "required": false; }; "maxlength": { "alias": "maxlength"; "required": false; }; "rows": { "alias": "rows"; "required": false; }; "id": { "alias": "id"; "required": false; }; "ngModel": { "alias": "ngModel"; "required": false; }; "size": { "alias": "size"; "required": false; }; "fill": { "alias": "fill"; "required": false; }; "labelPlacement": { "alias": "labelPlacement"; "required": false; }; "labelDir": { "alias": "labelDir"; "required": false; }; "leadingIcon": { "alias": "leadingIcon"; "required": false; }; "trailingIcon": { "alias": "trailingIcon"; "required": false; }; "clearInput": { "alias": "clearInput"; "required": false; }; }, { "ngModelChange": "ngModelChange"; }, never, never, true, never>;
|
|
990
|
+
}
|
|
991
|
+
|
|
992
|
+
interface KeyboardShortcut {
|
|
993
|
+
id: string;
|
|
994
|
+
key: string;
|
|
995
|
+
ctrlKey?: boolean;
|
|
996
|
+
altKey?: boolean;
|
|
997
|
+
shiftKey?: boolean;
|
|
998
|
+
metaKey?: boolean;
|
|
999
|
+
description?: string;
|
|
1000
|
+
action: () => void;
|
|
1001
|
+
preventDefault?: boolean;
|
|
1002
|
+
stopPropagation?: boolean;
|
|
1003
|
+
}
|
|
1004
|
+
interface ShortcutOverride {
|
|
1005
|
+
shortcutId: string;
|
|
1006
|
+
newKey: string;
|
|
1007
|
+
newCtrlKey?: boolean;
|
|
1008
|
+
newAltKey?: boolean;
|
|
1009
|
+
newShiftKey?: boolean;
|
|
1010
|
+
newMetaKey?: boolean;
|
|
1011
|
+
}
|
|
1012
|
+
declare class KeyboardShortcutService implements OnDestroy {
|
|
1013
|
+
private shortcuts;
|
|
1014
|
+
private overrides;
|
|
1015
|
+
private keydownListener?;
|
|
1016
|
+
constructor();
|
|
1017
|
+
ngOnDestroy(): void;
|
|
1018
|
+
/**
|
|
1019
|
+
* Register a new keyboard shortcut
|
|
1020
|
+
*/
|
|
1021
|
+
register(shortcut: KeyboardShortcut): void;
|
|
1022
|
+
/**
|
|
1023
|
+
* Override an existing shortcut with new key combination
|
|
1024
|
+
*/
|
|
1025
|
+
override(shortcutId: string, newKey: string, options?: {
|
|
1026
|
+
ctrlKey?: boolean;
|
|
1027
|
+
altKey?: boolean;
|
|
1028
|
+
shiftKey?: boolean;
|
|
1029
|
+
metaKey?: boolean;
|
|
1030
|
+
}): void;
|
|
1031
|
+
/**
|
|
1032
|
+
* Remove a shortcut
|
|
1033
|
+
*/
|
|
1034
|
+
unregister(shortcutId: string): void;
|
|
1035
|
+
/**
|
|
1036
|
+
* Remove override for a shortcut (restore original key combination)
|
|
1037
|
+
*/
|
|
1038
|
+
removeOverride(shortcutId: string): void;
|
|
1039
|
+
/**
|
|
1040
|
+
* Get all registered shortcuts
|
|
1041
|
+
*/
|
|
1042
|
+
getAllShortcuts(): KeyboardShortcut[];
|
|
1043
|
+
/**
|
|
1044
|
+
* Get shortcuts by category or filter
|
|
1045
|
+
*/
|
|
1046
|
+
getShortcuts(filter?: (shortcut: KeyboardShortcut) => boolean): KeyboardShortcut[];
|
|
1047
|
+
/**
|
|
1048
|
+
* Check if a shortcut is registered
|
|
1049
|
+
*/
|
|
1050
|
+
hasShortcut(shortcutId: string): boolean;
|
|
1051
|
+
/**
|
|
1052
|
+
* Get shortcut information
|
|
1053
|
+
*/
|
|
1054
|
+
getShortcut(shortcutId: string): KeyboardShortcut | undefined;
|
|
1055
|
+
/**
|
|
1056
|
+
* Clear all shortcuts
|
|
1057
|
+
*/
|
|
1058
|
+
clearAll(): void;
|
|
1059
|
+
/**
|
|
1060
|
+
* Set up global keyboard listener
|
|
1061
|
+
*/
|
|
1062
|
+
private setupGlobalListener;
|
|
1063
|
+
/**
|
|
1064
|
+
* Remove global keyboard listener
|
|
1065
|
+
*/
|
|
1066
|
+
private removeGlobalListener;
|
|
1067
|
+
/**
|
|
1068
|
+
* Handle keydown events
|
|
1069
|
+
*/
|
|
1070
|
+
private handleKeydown;
|
|
1071
|
+
/**
|
|
1072
|
+
* Check if event matches shortcut
|
|
1073
|
+
*/
|
|
1074
|
+
private matchesShortcut;
|
|
1075
|
+
/**
|
|
1076
|
+
* Check if event matches override
|
|
1077
|
+
*/
|
|
1078
|
+
private matchesOverride;
|
|
1079
|
+
/**
|
|
1080
|
+
* Get human-readable key description
|
|
1081
|
+
*/
|
|
1082
|
+
private getKeyDescription;
|
|
1083
|
+
/**
|
|
1084
|
+
* Get key description for a shortcut ID
|
|
1085
|
+
*/
|
|
1086
|
+
getKeyDescriptionForShortcut(shortcutId: string): string;
|
|
1087
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<KeyboardShortcutService, never>;
|
|
1088
|
+
static ɵprov: _angular_core.ɵɵInjectableDeclaration<KeyboardShortcutService>;
|
|
495
1089
|
}
|
|
496
1090
|
|
|
497
1091
|
declare class CideElementsService {
|
|
@@ -500,8 +1094,8 @@ declare class CideElementsService {
|
|
|
500
1094
|
};
|
|
501
1095
|
is_cide_element_data_updated: BehaviorSubject<boolean>;
|
|
502
1096
|
getElementData(body: GetElementDataRequest): Promise<ICoreSype>;
|
|
503
|
-
static ɵfac:
|
|
504
|
-
static ɵprov:
|
|
1097
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<CideElementsService, never>;
|
|
1098
|
+
static ɵprov: _angular_core.ɵɵInjectableDeclaration<CideElementsService>;
|
|
505
1099
|
}
|
|
506
1100
|
|
|
507
1101
|
type CideEleResizerDirection = 'horizontal' | 'vertical';
|
|
@@ -543,8 +1137,8 @@ declare class CideEleResizerDirective implements OnInit {
|
|
|
543
1137
|
private getPrevElement;
|
|
544
1138
|
private getNextElement;
|
|
545
1139
|
private getSizeProperty;
|
|
546
|
-
static ɵfac:
|
|
547
|
-
static ɵdir:
|
|
1140
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<CideEleResizerDirective, never>;
|
|
1141
|
+
static ɵdir: _angular_core.ɵɵDirectiveDeclaration<CideEleResizerDirective, "[cideEleResizer]", never, { "direction": { "alias": "direction"; "required": false; }; "to": { "alias": "to"; "required": false; }; "prevElementSelector": { "alias": "prevElementSelector"; "required": false; }; "nextElementSelector": { "alias": "nextElementSelector"; "required": false; }; "parentElementSelector": { "alias": "parentElementSelector"; "required": false; }; "minPrevSize": { "alias": "minPrevSize"; "required": false; }; "minNextSize": { "alias": "minNextSize"; "required": false; }; "usePercentage": { "alias": "usePercentage"; "required": false; }; }, { "resizeStart": "resizeStart"; "resizing": "resizing"; "resizeEnd": "resizeEnd"; }, never, never, true, never>;
|
|
548
1142
|
}
|
|
549
1143
|
|
|
550
1144
|
type TooltipPlacement = 'top' | 'bottom' | 'left' | 'right';
|
|
@@ -585,8 +1179,26 @@ declare class TooltipDirective implements OnInit, OnDestroy {
|
|
|
585
1179
|
private styleTooltip;
|
|
586
1180
|
private positionTooltip;
|
|
587
1181
|
private destroyTooltip;
|
|
588
|
-
static ɵfac:
|
|
589
|
-
static ɵdir:
|
|
1182
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<TooltipDirective, never>;
|
|
1183
|
+
static ɵdir: _angular_core.ɵɵDirectiveDeclaration<TooltipDirective, "[cideEleTooltip]", never, { "cideEleTooltip": { "alias": "cideEleTooltip"; "required": false; }; "tooltipColor": { "alias": "tooltipColor"; "required": false; }; "tooltipBg": { "alias": "tooltipBg"; "required": false; }; "tooltipPlacement": { "alias": "tooltipPlacement"; "required": false; }; "tooltipType": { "alias": "tooltipType"; "required": false; }; "tooltipDelay": { "alias": "tooltipDelay"; "required": false; }; "tooltipDir": { "alias": "tooltipDir"; "required": false; }; "tooltipShowArrow": { "alias": "tooltipShowArrow"; "required": false; }; "tooltipMultiline": { "alias": "tooltipMultiline"; "required": false; }; "tooltipMaxWidth": { "alias": "tooltipMaxWidth"; "required": false; }; "tooltipInteractive": { "alias": "tooltipInteractive"; "required": false; }; "tooltipClass": { "alias": "tooltipClass"; "required": false; }; }, {}, never, never, true, never>;
|
|
1184
|
+
}
|
|
1185
|
+
|
|
1186
|
+
/**
|
|
1187
|
+
* Directive to display images from file manager by ID
|
|
1188
|
+
* Usage: <img cideEleFileImage [fileId]="yourFileId" [altText]="'Image'" class="your-css-classes" />
|
|
1189
|
+
*/
|
|
1190
|
+
declare class CideEleFileImageDirective implements OnInit, OnDestroy {
|
|
1191
|
+
fileId: string | null;
|
|
1192
|
+
altText: string;
|
|
1193
|
+
private readonly fileManagerService;
|
|
1194
|
+
private readonly elementRef;
|
|
1195
|
+
private readonly destroyRef;
|
|
1196
|
+
ngOnInit(): void;
|
|
1197
|
+
ngOnDestroy(): void;
|
|
1198
|
+
private loadImage;
|
|
1199
|
+
private displayImage;
|
|
1200
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<CideEleFileImageDirective, never>;
|
|
1201
|
+
static ɵdir: _angular_core.ɵɵDirectiveDeclaration<CideEleFileImageDirective, "[cideEleFileImage]", never, { "fileId": { "alias": "fileId"; "required": false; }; "altText": { "alias": "altText"; "required": false; }; }, {}, never, never, true, never>;
|
|
590
1202
|
}
|
|
591
1203
|
|
|
592
1204
|
declare class CideEleSkeletonLoaderComponent {
|
|
@@ -596,8 +1208,8 @@ declare class CideEleSkeletonLoaderComponent {
|
|
|
596
1208
|
count: number;
|
|
597
1209
|
circle: boolean;
|
|
598
1210
|
animation: 'pulse' | 'wave' | 'none';
|
|
599
|
-
static ɵfac:
|
|
600
|
-
static ɵcmp:
|
|
1211
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<CideEleSkeletonLoaderComponent, never>;
|
|
1212
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<CideEleSkeletonLoaderComponent, "cide-ele-skeleton-loader", never, { "width": { "alias": "width"; "required": false; }; "height": { "alias": "height"; "required": false; }; "borderRadius": { "alias": "borderRadius"; "required": false; }; "count": { "alias": "count"; "required": false; }; "circle": { "alias": "circle"; "required": false; }; "animation": { "alias": "animation"; "required": false; }; }, {}, never, never, true, never>;
|
|
601
1213
|
}
|
|
602
1214
|
|
|
603
1215
|
type ColumnType = 'text' | 'number' | 'date' | 'boolean' | 'status' | 'actions' | 'custom' | 'order';
|
|
@@ -738,6 +1350,7 @@ interface GridEvent<T = Record<string, unknown>> {
|
|
|
738
1350
|
targetItem: T;
|
|
739
1351
|
targetIndex: number;
|
|
740
1352
|
newOrder: T[];
|
|
1353
|
+
allOrders?: T[];
|
|
741
1354
|
};
|
|
742
1355
|
column?: GridColumn;
|
|
743
1356
|
action?: GridAction;
|
|
@@ -754,11 +1367,8 @@ interface TemplateContext<T = Record<string, unknown>> {
|
|
|
754
1367
|
column: GridColumn;
|
|
755
1368
|
}
|
|
756
1369
|
type TemplateRenderer<T = Record<string, unknown>> = TemplateRef<TemplateContext<T>>;
|
|
757
|
-
type StringRenderer<T = Record<string, unknown>> = (value: unknown, row: T) => string;
|
|
758
|
-
type Renderer<T = Record<string, unknown>> = StringRenderer<T> | TemplateRenderer<T>;
|
|
759
1370
|
declare class CideEleDataGridComponent<T = Record<string, unknown>> implements OnInit, OnChanges, OnDestroy {
|
|
760
1371
|
config: GridConfiguration<T>;
|
|
761
|
-
customRenderers: Record<string, StringRenderer<T>>;
|
|
762
1372
|
templateRenderers: Record<string, unknown>;
|
|
763
1373
|
customFormatters: Record<string, (value: unknown, format?: string) => string>;
|
|
764
1374
|
actionHandlers: Record<string, (data: T, action?: GridAction) => void>;
|
|
@@ -770,27 +1380,27 @@ declare class CideEleDataGridComponent<T = Record<string, unknown>> implements O
|
|
|
770
1380
|
gridEvent: EventEmitter<GridEvent<T>>;
|
|
771
1381
|
private internalData;
|
|
772
1382
|
private filteredData;
|
|
773
|
-
currentPage:
|
|
774
|
-
pageSize:
|
|
775
|
-
totalItems:
|
|
776
|
-
totalPages:
|
|
777
|
-
searchQuery:
|
|
778
|
-
loading:
|
|
779
|
-
isRefreshing:
|
|
780
|
-
pageChangeLoading:
|
|
1383
|
+
currentPage: _angular_core.WritableSignal<number>;
|
|
1384
|
+
pageSize: _angular_core.WritableSignal<number>;
|
|
1385
|
+
totalItems: _angular_core.WritableSignal<number>;
|
|
1386
|
+
totalPages: _angular_core.WritableSignal<number>;
|
|
1387
|
+
searchQuery: _angular_core.WritableSignal<string>;
|
|
1388
|
+
loading: _angular_core.WritableSignal<boolean>;
|
|
1389
|
+
isRefreshing: _angular_core.WritableSignal<boolean>;
|
|
1390
|
+
pageChangeLoading: _angular_core.WritableSignal<boolean>;
|
|
781
1391
|
jumpToPage: number;
|
|
782
1392
|
isDragOverRow: number | null;
|
|
783
|
-
isDragging:
|
|
784
|
-
hasOrderChanged:
|
|
1393
|
+
isDragging: _angular_core.WritableSignal<boolean>;
|
|
1394
|
+
hasOrderChanged: _angular_core.WritableSignal<boolean>;
|
|
785
1395
|
private originalOrderIds;
|
|
786
1396
|
private initialDataOrderIds;
|
|
787
1397
|
private rowOrderMap;
|
|
788
1398
|
private localReorderedData;
|
|
789
1399
|
private searchDebounceTimer?;
|
|
790
1400
|
private isDataUpdate;
|
|
791
|
-
hasNextPage:
|
|
792
|
-
hasPreviousPage:
|
|
793
|
-
mergedConfig:
|
|
1401
|
+
hasNextPage: _angular_core.Signal<boolean>;
|
|
1402
|
+
hasPreviousPage: _angular_core.Signal<boolean>;
|
|
1403
|
+
mergedConfig: _angular_core.WritableSignal<GridConfiguration<T>>;
|
|
794
1404
|
ngOnInit(): void;
|
|
795
1405
|
ngOnDestroy(): void;
|
|
796
1406
|
ngOnChanges(changes: SimpleChanges): void;
|
|
@@ -822,6 +1432,14 @@ declare class CideEleDataGridComponent<T = Record<string, unknown>> implements O
|
|
|
822
1432
|
*/
|
|
823
1433
|
private refreshOrderTracking;
|
|
824
1434
|
private applyFilters;
|
|
1435
|
+
/**
|
|
1436
|
+
* Preserve tree expansion state from current data
|
|
1437
|
+
*/
|
|
1438
|
+
private preserveTreeExpansionState;
|
|
1439
|
+
/**
|
|
1440
|
+
* Apply preserved tree expansion state to new data
|
|
1441
|
+
*/
|
|
1442
|
+
private applyTreeExpansionState;
|
|
825
1443
|
/**
|
|
826
1444
|
* Transform flat data to tree structure based on foreign key relationships
|
|
827
1445
|
*/
|
|
@@ -841,7 +1459,7 @@ declare class CideEleDataGridComponent<T = Record<string, unknown>> implements O
|
|
|
841
1459
|
private updatePaginationState;
|
|
842
1460
|
onPageChange(page: number | string): void;
|
|
843
1461
|
onPageSizeChange(): void;
|
|
844
|
-
updatePageSize(value: string | number): void;
|
|
1462
|
+
updatePageSize(value: string | number | string[]): void;
|
|
845
1463
|
previousPage(): void;
|
|
846
1464
|
nextPage(): void;
|
|
847
1465
|
onJumpToPage(): void;
|
|
@@ -925,16 +1543,29 @@ declare class CideEleDataGridComponent<T = Record<string, unknown>> implements O
|
|
|
925
1543
|
private checkIfOrderChanged;
|
|
926
1544
|
/**
|
|
927
1545
|
* Reset the row order map to original positions (for reset action)
|
|
1546
|
+
* Includes all items from hierarchical structure (parents and children)
|
|
928
1547
|
*/
|
|
929
1548
|
private resetRowOrderMap;
|
|
930
1549
|
/**
|
|
931
1550
|
* Update the row order map baseline to current positions (for save action)
|
|
1551
|
+
* Includes all items from hierarchical structure (parents and children)
|
|
932
1552
|
*/
|
|
933
1553
|
private updateRowOrderMapBaseline;
|
|
934
1554
|
/**
|
|
935
1555
|
* Get the current order array from the row order map
|
|
1556
|
+
* Includes all items from hierarchical structure (parents and children)
|
|
936
1557
|
*/
|
|
937
1558
|
private getCurrentOrderFromMap;
|
|
1559
|
+
/**
|
|
1560
|
+
* Get only the items that have actually changed order
|
|
1561
|
+
* Includes all items from hierarchical structure (parents and children)
|
|
1562
|
+
*/
|
|
1563
|
+
private getChangedOrders;
|
|
1564
|
+
/**
|
|
1565
|
+
* Flatten all data for order tracking (includes all hierarchical children)
|
|
1566
|
+
* This method ensures that all items (parents and children) are included in order tracking
|
|
1567
|
+
*/
|
|
1568
|
+
private flattenAllDataForOrderTracking;
|
|
938
1569
|
/**
|
|
939
1570
|
* Update local data order for visual reordering (LOCAL ONLY)
|
|
940
1571
|
*/
|
|
@@ -957,15 +1588,37 @@ declare class CideEleDataGridComponent<T = Record<string, unknown>> implements O
|
|
|
957
1588
|
* // value === 'test@example.com'
|
|
958
1589
|
*/
|
|
959
1590
|
getNestedValue(obj: T, path: string): unknown;
|
|
1591
|
+
/**
|
|
1592
|
+
* Set a nested value in an object using dot notation
|
|
1593
|
+
* @param obj The object to modify
|
|
1594
|
+
* @param path The dot notation path (e.g., 'contact.email')
|
|
1595
|
+
* @param value The value to set
|
|
1596
|
+
* @example
|
|
1597
|
+
* const obj = { contact: { email: 'old@example.com' } };
|
|
1598
|
+
* setNestedValue(obj, 'contact.email', 'new@example.com');
|
|
1599
|
+
* // obj.contact.email === 'new@example.com'
|
|
1600
|
+
*/
|
|
1601
|
+
setNestedValue(obj: T, path: string, value: unknown): void;
|
|
1602
|
+
/**
|
|
1603
|
+
* Compare two order arrays to check if they are different
|
|
1604
|
+
* This method can be used by parent components to check if order has actually changed
|
|
1605
|
+
* @param currentOrder Current order array
|
|
1606
|
+
* @param originalOrder Original order array
|
|
1607
|
+
* @returns true if orders are different, false if they are the same
|
|
1608
|
+
*/
|
|
1609
|
+
compareOrders(currentOrder: Array<{
|
|
1610
|
+
id: string | undefined;
|
|
1611
|
+
order: number | undefined;
|
|
1612
|
+
}>, originalOrder: Array<{
|
|
1613
|
+
id: string | undefined;
|
|
1614
|
+
order: number | undefined;
|
|
1615
|
+
}>): boolean;
|
|
960
1616
|
formatValue(value: unknown, column: GridColumn): string;
|
|
961
1617
|
private formatDate;
|
|
962
1618
|
private formatCurrency;
|
|
963
1619
|
private formatPercentage;
|
|
964
|
-
renderCustomCell(value: unknown, row: T, column: GridColumn): string;
|
|
965
1620
|
isTemplateRenderer(rendererKey: string): boolean;
|
|
966
|
-
isStringRenderer(rendererKey: string): boolean;
|
|
967
1621
|
getTemplateRenderer(rendererKey: string): TemplateRenderer<T> | null;
|
|
968
|
-
getStringRenderer(rendererKey: string): StringRenderer<T> | null;
|
|
969
1622
|
getTemplateContext(value: unknown, row: T, column: GridColumn): TemplateContext<T>;
|
|
970
1623
|
getColumnWidthClass(width?: ColumnWidth): string;
|
|
971
1624
|
getColumnMaxWidthClass(width?: ColumnWidth): string;
|
|
@@ -984,8 +1637,8 @@ declare class CideEleDataGridComponent<T = Record<string, unknown>> implements O
|
|
|
984
1637
|
get searchConfig(): cloud_ide_element.GridSearchConfig;
|
|
985
1638
|
get loadingConfig(): cloud_ide_element.GridLoadingConfig;
|
|
986
1639
|
get scrollConfig(): cloud_ide_element.GridScrollConfig | undefined;
|
|
987
|
-
static ɵfac:
|
|
988
|
-
static ɵcmp:
|
|
1640
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<CideEleDataGridComponent<any>, never>;
|
|
1641
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<CideEleDataGridComponent<any>, "cide-ele-data-grid", never, { "config": { "alias": "config"; "required": false; }; "templateRenderers": { "alias": "templateRenderers"; "required": false; }; "customFormatters": { "alias": "customFormatters"; "required": false; }; "actionHandlers": { "alias": "actionHandlers"; "required": false; }; "serverSidePagination": { "alias": "serverSidePagination"; "required": false; }; "totalServerItems": { "alias": "totalServerItems"; "required": false; }; "currentServerPage": { "alias": "currentServerPage"; "required": false; }; "currentServerPageSize": { "alias": "currentServerPageSize"; "required": false; }; "dragDropEnabled": { "alias": "dragDropEnabled"; "required": false; }; }, { "gridEvent": "gridEvent"; }, never, never, true, never>;
|
|
989
1642
|
}
|
|
990
1643
|
|
|
991
1644
|
interface DropdownItem {
|
|
@@ -1010,6 +1663,8 @@ interface DropdownConfig {
|
|
|
1010
1663
|
forcePosition?: 'top' | 'bottom' | 'left' | 'right';
|
|
1011
1664
|
offsetX?: number;
|
|
1012
1665
|
offsetY?: number;
|
|
1666
|
+
minWidth?: number;
|
|
1667
|
+
usePortal?: boolean;
|
|
1013
1668
|
}
|
|
1014
1669
|
interface DropdownPosition {
|
|
1015
1670
|
vertical: 'top' | 'bottom';
|
|
@@ -1024,9 +1679,13 @@ interface DropdownPosition {
|
|
|
1024
1679
|
declare class CideEleDropdownComponent implements OnInit, OnDestroy {
|
|
1025
1680
|
private destroyRef;
|
|
1026
1681
|
private dropdownManager;
|
|
1682
|
+
private portalService;
|
|
1683
|
+
private viewContainerRef;
|
|
1027
1684
|
private dropdownId;
|
|
1028
|
-
|
|
1029
|
-
|
|
1685
|
+
private portalId;
|
|
1686
|
+
dropdownContainer: _angular_core.Signal<ElementRef<any>>;
|
|
1687
|
+
dropdownMenu: _angular_core.Signal<ElementRef<any> | undefined>;
|
|
1688
|
+
dropdownMenuTemplate: _angular_core.Signal<TemplateRef<any> | undefined>;
|
|
1030
1689
|
set items(value: DropdownItem[]);
|
|
1031
1690
|
get items(): DropdownItem[];
|
|
1032
1691
|
private _items;
|
|
@@ -1039,27 +1698,30 @@ declare class CideEleDropdownComponent implements OnInit, OnDestroy {
|
|
|
1039
1698
|
}>;
|
|
1040
1699
|
itemClick: EventEmitter<DropdownItem>;
|
|
1041
1700
|
dropdownToggle: EventEmitter<boolean>;
|
|
1042
|
-
isOpen:
|
|
1043
|
-
currentPosition:
|
|
1701
|
+
isOpen: _angular_core.WritableSignal<boolean>;
|
|
1702
|
+
currentPosition: _angular_core.WritableSignal<DropdownPosition>;
|
|
1044
1703
|
ngOnInit(): void;
|
|
1045
|
-
ngOnDestroy(): void;
|
|
1046
1704
|
getTriggerClasses(): string;
|
|
1047
1705
|
getTriggerIconClasses(): string;
|
|
1048
1706
|
getMenuClasses(): string;
|
|
1049
1707
|
getMenuStyles(): string;
|
|
1050
1708
|
calculatePosition(): DropdownPosition;
|
|
1051
1709
|
private getMenuWidth;
|
|
1710
|
+
protected getSafeConfig(): DropdownConfig;
|
|
1052
1711
|
private getEstimatedMenuHeight;
|
|
1053
1712
|
toggleDropdown(event: Event): void;
|
|
1054
1713
|
private openDropdown;
|
|
1055
1714
|
testMouseDown(item: DropdownItem): void;
|
|
1056
1715
|
onItemClick(item: DropdownItem, event: Event): void;
|
|
1716
|
+
private createPortalDropdown;
|
|
1717
|
+
private destroyPortalDropdown;
|
|
1057
1718
|
closeDropdown(): void;
|
|
1058
1719
|
getItemClasses(item: DropdownItem): string;
|
|
1059
1720
|
onWindowResize(): void;
|
|
1060
1721
|
onWindowScroll(): void;
|
|
1061
|
-
|
|
1062
|
-
static
|
|
1722
|
+
ngOnDestroy(): void;
|
|
1723
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<CideEleDropdownComponent, never>;
|
|
1724
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<CideEleDropdownComponent, "cide-ele-dropdown", never, { "items": { "alias": "items"; "required": false; }; "config": { "alias": "config"; "required": false; }; "triggerTemplate": { "alias": "triggerTemplate"; "required": false; }; "menuTemplate": { "alias": "menuTemplate"; "required": false; }; }, { "itemClick": "itemClick"; "dropdownToggle": "dropdownToggle"; }, never, never, true, never>;
|
|
1063
1725
|
}
|
|
1064
1726
|
|
|
1065
1727
|
interface DropdownInstance {
|
|
@@ -1080,8 +1742,8 @@ declare class DropdownManagerService {
|
|
|
1080
1742
|
isDropdownOpen(id: string): boolean;
|
|
1081
1743
|
private handleDocumentClick;
|
|
1082
1744
|
ngOnDestroy(): void;
|
|
1083
|
-
static ɵfac:
|
|
1084
|
-
static ɵprov:
|
|
1745
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<DropdownManagerService, never>;
|
|
1746
|
+
static ɵprov: _angular_core.ɵɵInjectableDeclaration<DropdownManagerService>;
|
|
1085
1747
|
}
|
|
1086
1748
|
|
|
1087
1749
|
interface ConfirmationRequest<T = unknown> {
|
|
@@ -1107,12 +1769,13 @@ interface ConfirmationOptions<T = unknown> {
|
|
|
1107
1769
|
customTemplate?: TemplateRef<unknown>;
|
|
1108
1770
|
customData?: T;
|
|
1109
1771
|
}
|
|
1110
|
-
declare class ConfirmationService {
|
|
1111
|
-
private confirmationQueue;
|
|
1112
|
-
private currentRequest;
|
|
1113
|
-
hasActiveConfirmation:
|
|
1114
|
-
queueLength:
|
|
1772
|
+
declare class ConfirmationService implements OnDestroy {
|
|
1773
|
+
private readonly confirmationQueue;
|
|
1774
|
+
private readonly currentRequest;
|
|
1775
|
+
readonly hasActiveConfirmation: _angular_core.Signal<boolean>;
|
|
1776
|
+
readonly queueLength: _angular_core.Signal<number>;
|
|
1115
1777
|
constructor();
|
|
1778
|
+
ngOnDestroy(): void;
|
|
1116
1779
|
/**
|
|
1117
1780
|
* Ask for confirmation with a simple yes/no dialog
|
|
1118
1781
|
*/
|
|
@@ -1142,10 +1805,10 @@ declare class ConfirmationService {
|
|
|
1142
1805
|
private removeCurrentRequest;
|
|
1143
1806
|
private generateId;
|
|
1144
1807
|
private getDefaultIcon;
|
|
1145
|
-
getCurrentRequest():
|
|
1146
|
-
getHasActiveConfirmation():
|
|
1147
|
-
static ɵfac:
|
|
1148
|
-
static ɵprov:
|
|
1808
|
+
getCurrentRequest(): _angular_core.WritableSignal<ConfirmationRequest<unknown> | null>;
|
|
1809
|
+
getHasActiveConfirmation(): _angular_core.Signal<boolean>;
|
|
1810
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<ConfirmationService, never>;
|
|
1811
|
+
static ɵprov: _angular_core.ɵɵInjectableDeclaration<ConfirmationService>;
|
|
1149
1812
|
}
|
|
1150
1813
|
|
|
1151
1814
|
interface NotificationOptions {
|
|
@@ -1157,6 +1820,8 @@ interface NotificationOptions {
|
|
|
1157
1820
|
undoText?: string;
|
|
1158
1821
|
icon?: string;
|
|
1159
1822
|
title?: string;
|
|
1823
|
+
progress?: number;
|
|
1824
|
+
showProgress?: boolean;
|
|
1160
1825
|
}
|
|
1161
1826
|
interface NotificationItem {
|
|
1162
1827
|
id: string;
|
|
@@ -1170,11 +1835,13 @@ interface NotificationItem {
|
|
|
1170
1835
|
title?: string;
|
|
1171
1836
|
timestamp: number;
|
|
1172
1837
|
isVisible: boolean;
|
|
1838
|
+
progress?: number;
|
|
1839
|
+
showProgress?: boolean;
|
|
1173
1840
|
}
|
|
1174
1841
|
declare class NotificationService {
|
|
1175
1842
|
private notifications;
|
|
1176
1843
|
private maxNotifications;
|
|
1177
|
-
activeNotifications:
|
|
1844
|
+
activeNotifications: _angular_core.Signal<NotificationItem[]>;
|
|
1178
1845
|
constructor();
|
|
1179
1846
|
/**
|
|
1180
1847
|
* Show a success notification
|
|
@@ -1204,6 +1871,14 @@ declare class NotificationService {
|
|
|
1204
1871
|
* Show a notification for background tasks
|
|
1205
1872
|
*/
|
|
1206
1873
|
showBackgroundTask(taskName: string, isComplete?: boolean, options?: Partial<NotificationOptions>): string;
|
|
1874
|
+
/**
|
|
1875
|
+
* Show a progress notification
|
|
1876
|
+
*/
|
|
1877
|
+
showProgress(message: string, progress?: number, options?: Partial<NotificationOptions>): string;
|
|
1878
|
+
/**
|
|
1879
|
+
* Update progress for an existing notification
|
|
1880
|
+
*/
|
|
1881
|
+
updateProgress(id: string, progress: number, message?: string): void;
|
|
1207
1882
|
/**
|
|
1208
1883
|
* Core show method
|
|
1209
1884
|
*/
|
|
@@ -1223,43 +1898,500 @@ declare class NotificationService {
|
|
|
1223
1898
|
private addNotification;
|
|
1224
1899
|
private generateId;
|
|
1225
1900
|
private getDefaultIcon;
|
|
1226
|
-
getNotifications():
|
|
1227
|
-
getActiveNotifications():
|
|
1228
|
-
static ɵfac:
|
|
1229
|
-
static ɵprov:
|
|
1901
|
+
getNotifications(): _angular_core.WritableSignal<NotificationItem[]>;
|
|
1902
|
+
getActiveNotifications(): _angular_core.Signal<NotificationItem[]>;
|
|
1903
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<NotificationService, never>;
|
|
1904
|
+
static ɵprov: _angular_core.ɵɵInjectableDeclaration<NotificationService>;
|
|
1230
1905
|
}
|
|
1231
1906
|
|
|
1232
|
-
|
|
1233
|
-
|
|
1234
|
-
|
|
1235
|
-
|
|
1236
|
-
|
|
1237
|
-
|
|
1238
|
-
|
|
1239
|
-
|
|
1907
|
+
/**
|
|
1908
|
+
* File Manager Interfaces
|
|
1909
|
+
* Based on core_file_manager table schema
|
|
1910
|
+
*/
|
|
1911
|
+
interface ICoreCyfm {
|
|
1912
|
+
_id?: string;
|
|
1913
|
+
cyfm_name?: string;
|
|
1914
|
+
cyfm_alt_text?: string;
|
|
1915
|
+
cyfm_path?: string;
|
|
1916
|
+
cyfm_size_in_byte?: number;
|
|
1917
|
+
cyfm_type?: string;
|
|
1918
|
+
cyfm_creation_dt?: string;
|
|
1919
|
+
cyfm_id_user?: string;
|
|
1920
|
+
cyfm_permissions?: string[];
|
|
1921
|
+
cyfm_tags?: string[];
|
|
1922
|
+
cyfm_version?: number;
|
|
1923
|
+
cyfm_file_status_sygmt?: string;
|
|
1924
|
+
cyfm_group_id?: string;
|
|
1925
|
+
cyfm_ismultiple?: boolean;
|
|
1926
|
+
cyfm_isactive?: boolean;
|
|
1927
|
+
}
|
|
1928
|
+
interface ICoreFileManager extends ICoreCyfm {
|
|
1929
|
+
_id: string;
|
|
1930
|
+
cyfm_name: string;
|
|
1931
|
+
cyfm_path: string;
|
|
1932
|
+
cyfm_size_in_byte: number;
|
|
1933
|
+
cyfm_type: string;
|
|
1934
|
+
cyfm_creation_dt: string;
|
|
1935
|
+
cyfm_id_user: string;
|
|
1936
|
+
cyfm_permissions: string[];
|
|
1937
|
+
cyfm_tags: string[];
|
|
1938
|
+
cyfm_version: number;
|
|
1939
|
+
cyfm_file_status_sygmt: string;
|
|
1940
|
+
cyfm_group_id?: string;
|
|
1941
|
+
cyfm_ismultiple?: boolean;
|
|
1942
|
+
cyfm_isactive: boolean;
|
|
1943
|
+
}
|
|
1944
|
+
interface controllerResponse {
|
|
1945
|
+
success?: boolean;
|
|
1946
|
+
error_code?: string;
|
|
1947
|
+
message?: string;
|
|
1948
|
+
data?: any;
|
|
1949
|
+
code?: string;
|
|
1950
|
+
action?: string;
|
|
1951
|
+
total?: number;
|
|
1952
|
+
pageIndex?: number;
|
|
1953
|
+
pageSize?: number;
|
|
1954
|
+
controls?: {
|
|
1955
|
+
[key: string]: string;
|
|
1956
|
+
};
|
|
1957
|
+
}
|
|
1958
|
+
type IFileManagerErrorLogger = {
|
|
1959
|
+
[key in keyof MFileManager]: string;
|
|
1960
|
+
};
|
|
1961
|
+
declare class MFileManager {
|
|
1962
|
+
cyfm_id: string;
|
|
1963
|
+
constructor(init: MFileManager);
|
|
1964
|
+
Validate?(): Partial<IFileManagerErrorLogger>;
|
|
1965
|
+
}
|
|
1966
|
+
declare class ICoreCyfmSave implements ICoreCyfm {
|
|
1967
|
+
_id?: string;
|
|
1968
|
+
cyfm_name?: string;
|
|
1969
|
+
cyfm_alt_text?: string;
|
|
1970
|
+
cyfm_path?: string;
|
|
1971
|
+
cyfm_size_in_byte?: number;
|
|
1972
|
+
cyfm_type?: string;
|
|
1973
|
+
cyfm_creation_dt?: string;
|
|
1974
|
+
cyfm_id_user?: string;
|
|
1975
|
+
cyfm_permissions?: string[];
|
|
1976
|
+
cyfm_tags?: string[];
|
|
1977
|
+
cyfm_version?: number;
|
|
1978
|
+
cyfm_file_status_sygmt?: string;
|
|
1979
|
+
cyfm_group_id?: string;
|
|
1980
|
+
cyfm_isactive?: boolean;
|
|
1981
|
+
cyfm_ismultiple?: boolean;
|
|
1982
|
+
cyfm_file_base64: string;
|
|
1983
|
+
cyfm_temp_unique_id: string;
|
|
1984
|
+
constructor(init: ICoreCyfmSave);
|
|
1985
|
+
}
|
|
1986
|
+
declare class CoreFileManagerInsertUpdatePayload {
|
|
1987
|
+
core_file_manager_new: ICoreCyfmSave[];
|
|
1988
|
+
core_file_manager_update: ICoreCyfm[];
|
|
1989
|
+
core_file_manager_delete: ICoreCyfm[];
|
|
1990
|
+
constructor(init: CoreFileManagerInsertUpdatePayload);
|
|
1991
|
+
Validate?(): Partial<IFileManagerErrorLogger>;
|
|
1992
|
+
}
|
|
1993
|
+
interface fileManagerResponseData extends ICoreCyfm {
|
|
1994
|
+
cyfm_file_base64: string;
|
|
1995
|
+
}
|
|
1996
|
+
interface fileManagerControllerResponse extends controllerResponse {
|
|
1997
|
+
data?: fileManagerResponseData[];
|
|
1998
|
+
}
|
|
1999
|
+
interface CoreFileManagerInsertUpdateResponse extends controllerResponse {
|
|
2000
|
+
data?: {
|
|
2001
|
+
core_file_manager: {
|
|
2002
|
+
cyfm_id: string;
|
|
2003
|
+
cyfm_temp_unique_id: string;
|
|
2004
|
+
}[];
|
|
2005
|
+
};
|
|
2006
|
+
}
|
|
2007
|
+
interface mongooseObjectIdCreateControllerResponse extends controllerResponse {
|
|
2008
|
+
data?: {
|
|
2009
|
+
objectId: string;
|
|
2010
|
+
};
|
|
2011
|
+
}
|
|
2012
|
+
interface IFileUploadRequest {
|
|
2013
|
+
file: File;
|
|
2014
|
+
altText?: string;
|
|
2015
|
+
tags?: string[];
|
|
2016
|
+
permissions?: string[];
|
|
2017
|
+
userId?: string;
|
|
2018
|
+
groupId?: string;
|
|
2019
|
+
[key: string]: string | number | string[] | File | undefined;
|
|
2020
|
+
}
|
|
2021
|
+
interface IFileUploadResponse {
|
|
2022
|
+
success: boolean;
|
|
2023
|
+
message: string;
|
|
2024
|
+
data?: ICoreFileManager;
|
|
2025
|
+
error?: string;
|
|
2026
|
+
}
|
|
2027
|
+
interface IFileListRequest {
|
|
2028
|
+
pageIndex: number;
|
|
2029
|
+
pageSize: number;
|
|
2030
|
+
search?: string;
|
|
2031
|
+
fileType?: string;
|
|
2032
|
+
status?: string;
|
|
2033
|
+
userId?: string;
|
|
2034
|
+
tags?: string[];
|
|
2035
|
+
sortBy?: string;
|
|
2036
|
+
sortOrder?: 'asc' | 'desc';
|
|
2037
|
+
}
|
|
2038
|
+
interface IFileListResponse {
|
|
2039
|
+
success: boolean;
|
|
2040
|
+
message: string;
|
|
2041
|
+
data: ICoreFileManager[];
|
|
2042
|
+
total: number;
|
|
2043
|
+
pageIndex: number;
|
|
2044
|
+
pageSize: number;
|
|
2045
|
+
}
|
|
2046
|
+
interface IFileDeleteResponse {
|
|
2047
|
+
success: boolean;
|
|
2048
|
+
message: string;
|
|
2049
|
+
data?: string;
|
|
2050
|
+
}
|
|
2051
|
+
interface IFileUpdateRequest {
|
|
2052
|
+
_id: string;
|
|
2053
|
+
cyfm_name?: string;
|
|
2054
|
+
cyfm_alt_text?: string;
|
|
2055
|
+
cyfm_tags?: string[];
|
|
2056
|
+
cyfm_permissions?: string[];
|
|
2057
|
+
cyfm_file_status_sygmt?: string;
|
|
2058
|
+
cyfm_isactive?: boolean;
|
|
2059
|
+
}
|
|
2060
|
+
interface IFileUpdateResponse {
|
|
2061
|
+
success: boolean;
|
|
2062
|
+
message: string;
|
|
2063
|
+
data?: ICoreFileManager;
|
|
2064
|
+
}
|
|
2065
|
+
interface IFileUploadProgress {
|
|
2066
|
+
fileId: string;
|
|
2067
|
+
fileName: string;
|
|
2068
|
+
progress: number;
|
|
2069
|
+
status: 'pending' | 'uploading' | 'completed' | 'error' | 'cancelled';
|
|
2070
|
+
error?: string;
|
|
2071
|
+
uploadedFile?: any;
|
|
2072
|
+
}
|
|
2073
|
+
interface IFileUploadQueueItem extends IFileUploadProgress {
|
|
2074
|
+
file: File;
|
|
2075
|
+
}
|
|
2076
|
+
interface IFileFilterOptions {
|
|
2077
|
+
fileTypes: string[];
|
|
2078
|
+
statuses: string[];
|
|
2079
|
+
dateRange?: {
|
|
2080
|
+
start: Date;
|
|
2081
|
+
end: Date;
|
|
2082
|
+
};
|
|
2083
|
+
sizeRange?: {
|
|
2084
|
+
min: number;
|
|
2085
|
+
max: number;
|
|
2086
|
+
};
|
|
2087
|
+
tags: string[];
|
|
2088
|
+
}
|
|
2089
|
+
interface IFileGroupingOptions {
|
|
2090
|
+
groupBy: 'type' | 'status' | 'date' | 'size' | 'user' | 'none';
|
|
2091
|
+
sortBy: 'name' | 'size' | 'date' | 'type';
|
|
2092
|
+
sortOrder: 'asc' | 'desc';
|
|
2093
|
+
}
|
|
2094
|
+
|
|
2095
|
+
interface FileUploadOptions {
|
|
2096
|
+
altText?: string;
|
|
2097
|
+
userId?: string;
|
|
2098
|
+
permissions?: string[];
|
|
2099
|
+
tags?: string[];
|
|
2100
|
+
fileStatus?: string;
|
|
2101
|
+
groupId?: string;
|
|
2102
|
+
isMultiple?: boolean;
|
|
2103
|
+
retryAttempts?: number;
|
|
2104
|
+
timeout?: number;
|
|
2105
|
+
[key: string]: string | number | string[] | undefined | boolean;
|
|
2106
|
+
}
|
|
2107
|
+
interface UploadProgress {
|
|
2108
|
+
loaded: number;
|
|
2109
|
+
total: number;
|
|
2110
|
+
percentage: number;
|
|
2111
|
+
stage: 'reading' | 'uploading' | 'complete' | 'error';
|
|
2112
|
+
groupId?: string;
|
|
2113
|
+
}
|
|
2114
|
+
interface ServiceState {
|
|
2115
|
+
isUploading: boolean;
|
|
2116
|
+
uploadQueue: string[];
|
|
2117
|
+
activeUploads: Map<string, UploadProgress>;
|
|
2118
|
+
error: string | null;
|
|
2119
|
+
}
|
|
2120
|
+
declare class CideEleFileManagerService {
|
|
2121
|
+
private readonly http;
|
|
2122
|
+
private readonly destroyRef;
|
|
2123
|
+
private readonly _baseUrl;
|
|
2124
|
+
private readonly _objectIdEndpoint;
|
|
2125
|
+
private readonly _userId;
|
|
2126
|
+
private readonly _isUploading;
|
|
2127
|
+
private readonly _uploadQueue;
|
|
2128
|
+
private readonly _activeUploads;
|
|
2129
|
+
private readonly _fetchedFiles;
|
|
2130
|
+
private readonly _fileIdMapping;
|
|
2131
|
+
private readonly _error;
|
|
2132
|
+
readonly baseUrl: _angular_core.Signal<string>;
|
|
2133
|
+
readonly objectIdEndpoint: _angular_core.Signal<string>;
|
|
2134
|
+
readonly userId: _angular_core.Signal<string>;
|
|
2135
|
+
readonly isUploading: _angular_core.Signal<boolean>;
|
|
2136
|
+
readonly uploadQueue: _angular_core.Signal<string[]>;
|
|
2137
|
+
readonly activeUploads: _angular_core.Signal<Map<string, UploadProgress>>;
|
|
2138
|
+
readonly fetchedFiles: _angular_core.Signal<Map<string, any[]>>;
|
|
2139
|
+
readonly error: _angular_core.Signal<string | null>;
|
|
2140
|
+
readonly hasActiveUploads: _angular_core.Signal<boolean>;
|
|
2141
|
+
readonly queueLength: _angular_core.Signal<number>;
|
|
2142
|
+
readonly totalFetchedFiles: _angular_core.Signal<number>;
|
|
2143
|
+
readonly getFileCountByGroup: _angular_core.Signal<Map<string, number>>;
|
|
2144
|
+
readonly serviceState: _angular_core.Signal<{
|
|
2145
|
+
isUploading: boolean;
|
|
2146
|
+
uploadQueue: string[];
|
|
2147
|
+
activeUploads: Map<string, UploadProgress>;
|
|
2148
|
+
fetchedFiles: Map<string, any[]>;
|
|
2149
|
+
error: string | null;
|
|
2150
|
+
}>;
|
|
2151
|
+
constructor();
|
|
2152
|
+
/**
|
|
2153
|
+
* Upload a file with base64 encoding and progress tracking
|
|
2154
|
+
* Angular 20: Enhanced with better error handling, retry logic, and signal-based state
|
|
2155
|
+
* @param file The file to upload
|
|
2156
|
+
* @param options Upload options and additional data
|
|
2157
|
+
* @param progressCallback Optional callback for progress updates
|
|
2158
|
+
* @returns Observable with the upload response
|
|
2159
|
+
*/
|
|
2160
|
+
uploadFile(file: File, options?: FileUploadOptions, progressCallback?: (progress: number) => void): Observable<CoreFileManagerInsertUpdateResponse>;
|
|
2161
|
+
/**
|
|
2162
|
+
* Set the base URL for API calls
|
|
2163
|
+
* Angular 20: Using signal-based state management
|
|
2164
|
+
* @param url The base URL for the API
|
|
2165
|
+
*/
|
|
2166
|
+
setBaseUrl(url: string): void;
|
|
2167
|
+
/**
|
|
2168
|
+
* Set the user ID for file uploads
|
|
2169
|
+
* Angular 20: Using signal-based state management
|
|
2170
|
+
* @param userId The user ID to associate with uploaded files
|
|
2171
|
+
*/
|
|
2172
|
+
setUserId(userId: string): void;
|
|
2173
|
+
/**
|
|
2174
|
+
* Set the object ID generation endpoint
|
|
2175
|
+
* Angular 20: Using signal-based state management
|
|
2176
|
+
* @param endpoint The endpoint for generating object IDs (e.g., '/utility/generateObjectId')
|
|
2177
|
+
*/
|
|
2178
|
+
setObjectIdEndpoint(endpoint: string): void;
|
|
2179
|
+
/**
|
|
2180
|
+
* Generate Object ID for group uploads
|
|
2181
|
+
* Calls the backend API to generate a unique ObjectId for grouping multiple files
|
|
2182
|
+
* Uses the configurable object ID endpoint instead of hardcoded path
|
|
2183
|
+
* @returns Observable with the generated ObjectId
|
|
2184
|
+
*/
|
|
2185
|
+
generateObjectId(): Observable<mongooseObjectIdCreateControllerResponse>;
|
|
2186
|
+
/**
|
|
2187
|
+
* Angular 20: Helper methods for state management
|
|
2188
|
+
*/
|
|
2189
|
+
private generateFileId;
|
|
2190
|
+
private addToUploadQueue;
|
|
2191
|
+
private removeFromUploadQueue;
|
|
2192
|
+
private updateUploadProgress;
|
|
2193
|
+
private removeActiveUpload;
|
|
2194
|
+
/**
|
|
2195
|
+
* Angular 20: Enhanced error handling
|
|
2196
|
+
*/
|
|
2197
|
+
private handleError;
|
|
2198
|
+
/**
|
|
2199
|
+
* Get file details by ID
|
|
2200
|
+
* @param payload The file ID to fetch details for
|
|
2201
|
+
* @returns Observable with file details
|
|
2202
|
+
*/
|
|
2203
|
+
getFileDetails(payload: MFileManager): Observable<fileManagerControllerResponse>;
|
|
2204
|
+
/**
|
|
2205
|
+
* Get files by group ID and store them in service state
|
|
2206
|
+
* @param groupId The group ID to fetch files for
|
|
2207
|
+
* @returns Observable with files list
|
|
2208
|
+
*/
|
|
2209
|
+
getFilesByGroupId(groupId: string): Observable<fileManagerListByGroupIdControllerResponse>;
|
|
2210
|
+
/**
|
|
2211
|
+
* Fetch and store files by group ID in service state
|
|
2212
|
+
* @param groupId The group ID to fetch files for
|
|
2213
|
+
* @returns Observable that completes when files are stored
|
|
2214
|
+
*/
|
|
2215
|
+
fetchAndStoreFilesByGroupId(groupId: string): Observable<any[]>;
|
|
2216
|
+
/**
|
|
2217
|
+
* Get fetched files for a specific group ID
|
|
2218
|
+
* @param groupId The group ID to get files for
|
|
2219
|
+
* @returns Array of files for the group
|
|
2220
|
+
*/
|
|
2221
|
+
getFetchedFilesByGroupId(groupId: string): any[];
|
|
2222
|
+
/**
|
|
2223
|
+
* Signal to trigger floating uploader visibility
|
|
2224
|
+
*/
|
|
2225
|
+
private readonly _showFloatingUploader;
|
|
2226
|
+
private readonly _triggerGroupId;
|
|
2227
|
+
readonly showFloatingUploader: _angular_core.Signal<boolean>;
|
|
2228
|
+
readonly getTriggerGroupId: _angular_core.Signal<string | null>;
|
|
2229
|
+
/**
|
|
2230
|
+
* Trigger floating uploader to show with group ID
|
|
2231
|
+
* This is the ONLY way to pass group ID to floating uploader
|
|
2232
|
+
*/
|
|
2233
|
+
triggerFloatingUploaderShow(groupId?: string): void;
|
|
2234
|
+
/**
|
|
2235
|
+
* Get all files (active uploads + fetched files) for a group ID
|
|
2236
|
+
* @param groupId The group ID to get files for
|
|
2237
|
+
* @returns Combined array of active and fetched files
|
|
2238
|
+
*/
|
|
2239
|
+
getAllFilesForGroup(groupId: string): Array<{
|
|
2240
|
+
fileId: string;
|
|
2241
|
+
fileName: string;
|
|
2242
|
+
stage: string;
|
|
2243
|
+
percentage?: number;
|
|
2244
|
+
}>;
|
|
2245
|
+
/**
|
|
2246
|
+
* Get file name from file ID (extract from the ID format)
|
|
2247
|
+
*/
|
|
2248
|
+
private getFileNameFromId;
|
|
2249
|
+
/**
|
|
2250
|
+
* Angular 20: Service utility methods
|
|
2251
|
+
*/
|
|
2252
|
+
clearError(): void;
|
|
2253
|
+
getUploadProgress(fileId: string): UploadProgress | undefined;
|
|
2254
|
+
cancelUpload(fileId: string): void;
|
|
2255
|
+
/**
|
|
2256
|
+
* Clear all completed uploads from active uploads
|
|
2257
|
+
* Called when the floating uploader is closed
|
|
2258
|
+
*/
|
|
2259
|
+
clearCompletedUploads(): void;
|
|
2260
|
+
/**
|
|
2261
|
+
* Remove a specific completed upload from active uploads
|
|
2262
|
+
*/
|
|
2263
|
+
removeCompletedUpload(fileId: string): void;
|
|
2264
|
+
/**
|
|
2265
|
+
* Optimized method to get file count for a specific group
|
|
2266
|
+
* Uses computed property for better performance
|
|
2267
|
+
*/
|
|
2268
|
+
getFileCountForGroup(groupId: string): number;
|
|
2269
|
+
/**
|
|
2270
|
+
* Optimized method to check if group has active uploads
|
|
2271
|
+
*/
|
|
2272
|
+
hasActiveUploadsForGroup(groupId: string): boolean;
|
|
2273
|
+
/**
|
|
2274
|
+
* Angular 20: File validation utility
|
|
2275
|
+
*/
|
|
2276
|
+
validateFile(file: File, maxSizeMB?: number, allowedTypes?: string[]): {
|
|
2277
|
+
valid: boolean;
|
|
2278
|
+
error?: string;
|
|
2279
|
+
};
|
|
2280
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<CideEleFileManagerService, never>;
|
|
2281
|
+
static ɵprov: _angular_core.ɵɵInjectableDeclaration<CideEleFileManagerService>;
|
|
2282
|
+
}
|
|
2283
|
+
|
|
2284
|
+
declare class CideCoreFileManagerService {
|
|
2285
|
+
private http;
|
|
2286
|
+
private apiUrl;
|
|
2287
|
+
private fileListSubject;
|
|
2288
|
+
fileList$: Observable<ICoreFileManager[]>;
|
|
2289
|
+
constructor(http: HttpClient);
|
|
2290
|
+
/**
|
|
2291
|
+
* Get file list from API
|
|
2292
|
+
*/
|
|
2293
|
+
getFileList(body: IFileListRequest): Observable<IFileListResponse>;
|
|
2294
|
+
/**
|
|
2295
|
+
* Get file list using mock data (deprecated - use getFileList instead)
|
|
2296
|
+
*/
|
|
2297
|
+
getFileListWithMockData(_body: IFileListRequest): Observable<IFileListResponse>;
|
|
2298
|
+
/**
|
|
2299
|
+
* Get file list from cache (if available)
|
|
2300
|
+
*/
|
|
2301
|
+
getFileListFromCache(): ICoreFileManager[];
|
|
2302
|
+
/**
|
|
2303
|
+
* Upload file with progress tracking
|
|
2304
|
+
*/
|
|
2305
|
+
uploadFile(request: IFileUploadRequest): Observable<HttpEvent<IFileUploadResponse>>;
|
|
2306
|
+
/**
|
|
2307
|
+
* Upload file with progress tracking (mock version - deprecated)
|
|
2308
|
+
*/
|
|
2309
|
+
uploadFileWithMockData(request: IFileUploadRequest): Observable<HttpEvent<IFileUploadResponse>>;
|
|
2310
|
+
/**
|
|
2311
|
+
* Update file metadata
|
|
2312
|
+
*/
|
|
2313
|
+
updateFile(request: IFileUpdateRequest): Observable<IFileUpdateResponse>;
|
|
2314
|
+
/**
|
|
2315
|
+
* Delete file
|
|
2316
|
+
*/
|
|
2317
|
+
deleteFile(id: string): Observable<IFileDeleteResponse>;
|
|
2318
|
+
/**
|
|
2319
|
+
* Delete multiple files
|
|
2320
|
+
*/
|
|
2321
|
+
deleteMultipleFiles(ids: string[]): Observable<{
|
|
2322
|
+
success: boolean;
|
|
2323
|
+
message?: string;
|
|
2324
|
+
data?: unknown;
|
|
2325
|
+
}>;
|
|
2326
|
+
/**
|
|
2327
|
+
* Toggle file active status
|
|
2328
|
+
*/
|
|
2329
|
+
toggleFileStatus(id: string): Observable<IFileListResponse>;
|
|
2330
|
+
/**
|
|
2331
|
+
* Get file by ID
|
|
2332
|
+
*/
|
|
2333
|
+
getFileById(id: string): Observable<{
|
|
2334
|
+
success: boolean;
|
|
2335
|
+
message: string;
|
|
2336
|
+
data?: ICoreFileManager;
|
|
2337
|
+
}>;
|
|
2338
|
+
/**
|
|
2339
|
+
* Find file by ID
|
|
2340
|
+
*/
|
|
2341
|
+
findFileById(id: string, items?: ICoreFileManager[]): ICoreFileManager | null;
|
|
2342
|
+
/**
|
|
2343
|
+
* Get file size in human readable format
|
|
2344
|
+
*/
|
|
2345
|
+
getFileSizeDisplay(bytes: number): string;
|
|
2346
|
+
/**
|
|
2347
|
+
* Get file type icon
|
|
2348
|
+
*/
|
|
2349
|
+
getFileTypeIcon(fileType: string): string;
|
|
2350
|
+
/**
|
|
2351
|
+
* Refresh file list from server
|
|
2352
|
+
*/
|
|
2353
|
+
private refreshFileList;
|
|
2354
|
+
/**
|
|
2355
|
+
* Handle errors
|
|
2356
|
+
*/
|
|
2357
|
+
private handleError;
|
|
2358
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<CideCoreFileManagerService, never>;
|
|
2359
|
+
static ɵprov: _angular_core.ɵɵInjectableDeclaration<CideCoreFileManagerService>;
|
|
2360
|
+
}
|
|
2361
|
+
|
|
2362
|
+
declare class CideEleConfirmationModalComponent implements OnInit, OnDestroy {
|
|
2363
|
+
private readonly confirmationService;
|
|
2364
|
+
readonly hasActiveConfirmation: _angular_core.Signal<boolean>;
|
|
2365
|
+
readonly currentRequest: _angular_core.WritableSignal<cloud_ide_element.ConfirmationRequest<unknown> | null>;
|
|
2366
|
+
readonly customData: _angular_core.WritableSignal<unknown>;
|
|
2367
|
+
ngOnInit(): void;
|
|
2368
|
+
ngOnDestroy(): void;
|
|
2369
|
+
readonly getHeaderClass: _angular_core.Signal<string>;
|
|
2370
|
+
readonly getIconClass: _angular_core.Signal<string>;
|
|
2371
|
+
readonly getConfirmButtonClass: _angular_core.Signal<string>;
|
|
1240
2372
|
onBackdropClick(event: Event): void;
|
|
1241
2373
|
onCancel(): void;
|
|
1242
2374
|
onConfirm(): void;
|
|
1243
2375
|
updateCustomData(data: unknown): void;
|
|
1244
|
-
static ɵfac:
|
|
1245
|
-
static ɵcmp:
|
|
2376
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<CideEleConfirmationModalComponent, never>;
|
|
2377
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<CideEleConfirmationModalComponent, "cide-ele-confirmation-modal", never, {}, {}, never, never, true, never>;
|
|
1246
2378
|
}
|
|
1247
2379
|
|
|
1248
2380
|
declare class CideEleToastNotificationComponent {
|
|
1249
2381
|
private notificationService;
|
|
1250
|
-
activeNotifications:
|
|
2382
|
+
activeNotifications: _angular_core.Signal<NotificationItem[]>;
|
|
1251
2383
|
getToastClass(notification: NotificationItem): string;
|
|
1252
2384
|
getIconClass(type: string): string;
|
|
1253
2385
|
removeNotification(id: string): void;
|
|
1254
2386
|
executeUndo(id: string): void;
|
|
1255
2387
|
trackByNotification(index: number, notification: NotificationItem): string;
|
|
1256
|
-
static ɵfac:
|
|
1257
|
-
static ɵcmp:
|
|
2388
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<CideEleToastNotificationComponent, never>;
|
|
2389
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<CideEleToastNotificationComponent, "cide-ele-toast-notification", never, {}, {}, never, never, true, never>;
|
|
1258
2390
|
}
|
|
1259
2391
|
|
|
1260
2392
|
declare class CideEleGlobalNotificationsComponent {
|
|
1261
|
-
static ɵfac:
|
|
1262
|
-
static ɵcmp:
|
|
2393
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<CideEleGlobalNotificationsComponent, never>;
|
|
2394
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<CideEleGlobalNotificationsComponent, "cide-ele-global-notifications", never, {}, {}, never, never, true, never>;
|
|
1263
2395
|
}
|
|
1264
2396
|
|
|
1265
2397
|
interface JsonEditorConfig {
|
|
@@ -1294,24 +2426,24 @@ declare class CideEleJsonEditorComponent implements OnInit, ControlValueAccessor
|
|
|
1294
2426
|
label?: string;
|
|
1295
2427
|
helperText?: string;
|
|
1296
2428
|
required: boolean;
|
|
1297
|
-
disabled:
|
|
2429
|
+
disabled: _angular_core.WritableSignal<boolean>;
|
|
1298
2430
|
showCharacterCount: boolean;
|
|
1299
2431
|
config: JsonEditorConfig;
|
|
1300
|
-
configSignal:
|
|
2432
|
+
configSignal: _angular_core.WritableSignal<JsonEditorConfig>;
|
|
1301
2433
|
valueChange: EventEmitter<string>;
|
|
1302
2434
|
objectChange: EventEmitter<object | null>;
|
|
1303
2435
|
errorsChange: EventEmitter<JsonEditorError[]>;
|
|
1304
2436
|
validChange: EventEmitter<boolean>;
|
|
1305
|
-
jsonTextarea:
|
|
2437
|
+
jsonTextarea: _angular_core.Signal<ElementRef<HTMLTextAreaElement>>;
|
|
1306
2438
|
private destroyRef;
|
|
1307
|
-
jsonString:
|
|
1308
|
-
jsonObject:
|
|
1309
|
-
errors:
|
|
2439
|
+
jsonString: _angular_core.WritableSignal<string>;
|
|
2440
|
+
jsonObject: _angular_core.WritableSignal<object | null>;
|
|
2441
|
+
errors: _angular_core.WritableSignal<JsonEditorError[]>;
|
|
1310
2442
|
editorId: string;
|
|
1311
|
-
hasErrors:
|
|
1312
|
-
isValid:
|
|
1313
|
-
lineNumbers:
|
|
1314
|
-
containerClass:
|
|
2443
|
+
hasErrors: _angular_core.Signal<boolean>;
|
|
2444
|
+
isValid: _angular_core.Signal<boolean>;
|
|
2445
|
+
lineNumbers: _angular_core.Signal<number[]>;
|
|
2446
|
+
containerClass: _angular_core.Signal<string>;
|
|
1315
2447
|
private defaultConfig;
|
|
1316
2448
|
ngOnInit(): void;
|
|
1317
2449
|
/**
|
|
@@ -1372,9 +2504,376 @@ declare class CideEleJsonEditorComponent implements OnInit, ControlValueAccessor
|
|
|
1372
2504
|
setDisabledState(isDisabled: boolean): void;
|
|
1373
2505
|
private onChange;
|
|
1374
2506
|
private onTouched;
|
|
1375
|
-
static ɵfac:
|
|
1376
|
-
static ɵcmp:
|
|
2507
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<CideEleJsonEditorComponent, never>;
|
|
2508
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<CideEleJsonEditorComponent, "cide-ele-json-editor", never, { "label": { "alias": "label"; "required": false; }; "helperText": { "alias": "helperText"; "required": false; }; "required": { "alias": "required"; "required": false; }; "disabled": { "alias": "disabled"; "required": false; }; "showCharacterCount": { "alias": "showCharacterCount"; "required": false; }; "config": { "alias": "config"; "required": false; }; }, { "valueChange": "valueChange"; "objectChange": "objectChange"; "errorsChange": "errorsChange"; "validChange": "validChange"; }, never, never, true, never>;
|
|
2509
|
+
}
|
|
2510
|
+
|
|
2511
|
+
interface FloatingContainerConfig {
|
|
2512
|
+
id: string;
|
|
2513
|
+
title: string;
|
|
2514
|
+
icon?: string;
|
|
2515
|
+
headerColor?: string;
|
|
2516
|
+
width?: string;
|
|
2517
|
+
height?: string;
|
|
2518
|
+
minWidth?: string;
|
|
2519
|
+
minHeight?: string;
|
|
2520
|
+
maxWidth?: string;
|
|
2521
|
+
maxHeight?: string;
|
|
2522
|
+
resizable?: boolean;
|
|
2523
|
+
draggable?: boolean;
|
|
2524
|
+
closable?: boolean;
|
|
2525
|
+
minimizable?: boolean;
|
|
2526
|
+
maximizable?: boolean;
|
|
2527
|
+
isMinimized?: boolean;
|
|
2528
|
+
isMaximized?: boolean;
|
|
2529
|
+
componentId?: string;
|
|
2530
|
+
componentConfig?: {
|
|
2531
|
+
inputs?: {
|
|
2532
|
+
[key: string]: any;
|
|
2533
|
+
};
|
|
2534
|
+
outputs?: {
|
|
2535
|
+
[key: string]: (event: any) => void;
|
|
2536
|
+
};
|
|
2537
|
+
};
|
|
2538
|
+
}
|
|
2539
|
+
declare class CideEleFloatingContainerComponent implements AfterViewInit, OnDestroy {
|
|
2540
|
+
config: _angular_core.WritableSignal<FloatingContainerConfig>;
|
|
2541
|
+
isMinimized: Signal<boolean>;
|
|
2542
|
+
isMaximized: Signal<boolean>;
|
|
2543
|
+
isVisible: Signal<boolean>;
|
|
2544
|
+
closeEvent: EventEmitter<string>;
|
|
2545
|
+
minimizeEvent: EventEmitter<string>;
|
|
2546
|
+
maximizeEvent: EventEmitter<string>;
|
|
2547
|
+
clickEvent: EventEmitter<string>;
|
|
2548
|
+
containerRef: ElementRef<HTMLDivElement>;
|
|
2549
|
+
position: _angular_core.WritableSignal<{
|
|
2550
|
+
x: number;
|
|
2551
|
+
y: number;
|
|
2552
|
+
}>;
|
|
2553
|
+
isDragging: _angular_core.WritableSignal<boolean>;
|
|
2554
|
+
isResizing: _angular_core.WritableSignal<boolean>;
|
|
2555
|
+
computedConfig: Signal<FloatingContainerConfig>;
|
|
2556
|
+
private dragStart;
|
|
2557
|
+
private resizeStart;
|
|
2558
|
+
private originalPosition;
|
|
2559
|
+
private originalSize;
|
|
2560
|
+
private savedPosition;
|
|
2561
|
+
savedHeight: string;
|
|
2562
|
+
ngAfterViewInit(): void;
|
|
2563
|
+
constructor();
|
|
2564
|
+
ngOnDestroy(): void;
|
|
2565
|
+
centerContainer(): void;
|
|
2566
|
+
startDrag(event: MouseEvent): void;
|
|
2567
|
+
onDragMove(event: MouseEvent): void;
|
|
2568
|
+
onDragEnd(): void;
|
|
2569
|
+
startResize(event: MouseEvent): void;
|
|
2570
|
+
onResizeMove(event: MouseEvent): void;
|
|
2571
|
+
onResizeEnd(): void;
|
|
2572
|
+
onMouseDown(event: MouseEvent): void;
|
|
2573
|
+
onMouseMove(event: MouseEvent): void;
|
|
2574
|
+
onMouseUp(event: MouseEvent): void;
|
|
2575
|
+
onHeaderClick(event: MouseEvent): void;
|
|
2576
|
+
minimize(): void;
|
|
2577
|
+
bringToFront(): void;
|
|
2578
|
+
toggleMaximize(): void;
|
|
2579
|
+
close(): void;
|
|
2580
|
+
getHeaderBackground(): string;
|
|
2581
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<CideEleFloatingContainerComponent, never>;
|
|
2582
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<CideEleFloatingContainerComponent, "cide-ele-floating-container", never, { "config": { "alias": "config"; "required": false; }; "isMinimized": { "alias": "isMinimized"; "required": false; }; "isMaximized": { "alias": "isMaximized"; "required": false; }; "isVisible": { "alias": "isVisible"; "required": false; }; }, { "closeEvent": "closeEvent"; "minimizeEvent": "minimizeEvent"; "maximizeEvent": "maximizeEvent"; "clickEvent": "clickEvent"; }, never, ["*"], true, never>;
|
|
2583
|
+
}
|
|
2584
|
+
|
|
2585
|
+
interface FloatingComponentConfig {
|
|
2586
|
+
componentId: string;
|
|
2587
|
+
componentType?: Type<any>;
|
|
2588
|
+
inputs?: {
|
|
2589
|
+
[key: string]: any;
|
|
2590
|
+
};
|
|
2591
|
+
outputs?: {
|
|
2592
|
+
[key: string]: (event: any) => void;
|
|
2593
|
+
};
|
|
2594
|
+
}
|
|
2595
|
+
interface FloatingContainerInstance {
|
|
2596
|
+
id: string;
|
|
2597
|
+
config: FloatingContainerConfig;
|
|
2598
|
+
isVisible: boolean;
|
|
2599
|
+
isMinimized: boolean;
|
|
2600
|
+
isMaximized: boolean;
|
|
2601
|
+
zIndex: number;
|
|
2602
|
+
instanceId: string;
|
|
2603
|
+
componentType: string;
|
|
2604
|
+
createdAt: Date;
|
|
2605
|
+
lastAccessed: Date;
|
|
2606
|
+
}
|
|
2607
|
+
declare class CideEleFloatingContainerService {
|
|
2608
|
+
private injector;
|
|
2609
|
+
private containers;
|
|
2610
|
+
private nextZIndex;
|
|
2611
|
+
private instanceCounter;
|
|
2612
|
+
private componentRegistry;
|
|
2613
|
+
private activeComponents;
|
|
2614
|
+
constructor(injector: Injector);
|
|
2615
|
+
visibleContainers: _angular_core.Signal<FloatingContainerInstance[]>;
|
|
2616
|
+
minimizedContainers: _angular_core.Signal<FloatingContainerInstance[]>;
|
|
2617
|
+
maximizedContainers: _angular_core.Signal<FloatingContainerInstance[]>;
|
|
2618
|
+
show(config: FloatingContainerConfig): string;
|
|
2619
|
+
hide(containerId: string): void;
|
|
2620
|
+
/**
|
|
2621
|
+
* Get the maximum z-index among all visible containers
|
|
2622
|
+
*/
|
|
2623
|
+
private getMaxZIndex;
|
|
2624
|
+
/**
|
|
2625
|
+
* Bring a container to the front (highest z-index)
|
|
2626
|
+
*/
|
|
2627
|
+
bringToFront(containerId: string): void;
|
|
2628
|
+
minimize(containerId: string): void;
|
|
2629
|
+
maximize(containerId: string): void;
|
|
2630
|
+
getContainer(containerId: string): FloatingContainerInstance | undefined;
|
|
2631
|
+
isVisible(containerId: string): boolean;
|
|
2632
|
+
isMinimized(containerId: string): boolean;
|
|
2633
|
+
isMaximized(containerId: string): boolean;
|
|
2634
|
+
hideAll(): void;
|
|
2635
|
+
minimizeAll(): void;
|
|
2636
|
+
private generateId;
|
|
2637
|
+
private generateInstanceId;
|
|
2638
|
+
getInstancesByComponentType(componentType: string): FloatingContainerInstance[];
|
|
2639
|
+
getActiveInstancesByComponentType(componentType: string): FloatingContainerInstance[];
|
|
2640
|
+
getInstanceCount(componentType: string): number;
|
|
2641
|
+
getActiveInstanceCount(componentType: string): number;
|
|
2642
|
+
closeAllInstancesOfType(componentType: string): void;
|
|
2643
|
+
minimizeAllInstancesOfType(componentType: string): void;
|
|
2644
|
+
bringAllInstancesToFront(componentType: string): void;
|
|
2645
|
+
getInstanceByInstanceId(instanceId: string): FloatingContainerInstance | undefined;
|
|
2646
|
+
updateLastAccessed(containerId: string): void;
|
|
2647
|
+
/**
|
|
2648
|
+
* Register a component for dynamic loading
|
|
2649
|
+
*/
|
|
2650
|
+
registerComponent(componentId: string, componentType: Type<any>): void;
|
|
2651
|
+
/**
|
|
2652
|
+
* Unregister a component
|
|
2653
|
+
*/
|
|
2654
|
+
unregisterComponent(componentId: string): void;
|
|
2655
|
+
/**
|
|
2656
|
+
* Get registered component type
|
|
2657
|
+
*/
|
|
2658
|
+
getComponentType(componentId: string): Type<any> | undefined;
|
|
2659
|
+
/**
|
|
2660
|
+
* Check if component is registered
|
|
2661
|
+
*/
|
|
2662
|
+
isComponentRegistered(componentId: string): boolean;
|
|
2663
|
+
/**
|
|
2664
|
+
* Get registered component IDs
|
|
2665
|
+
*/
|
|
2666
|
+
getRegisteredComponentIds(): string[];
|
|
2667
|
+
/**
|
|
2668
|
+
* Create and load component dynamically
|
|
2669
|
+
*/
|
|
2670
|
+
loadComponent(componentId: string, viewContainer: ViewContainerRef, config?: FloatingComponentConfig): ComponentRef<any> | null;
|
|
2671
|
+
/**
|
|
2672
|
+
* Destroy component
|
|
2673
|
+
*/
|
|
2674
|
+
destroyComponent(componentId: string): void;
|
|
2675
|
+
/**
|
|
2676
|
+
* Get active component count
|
|
2677
|
+
*/
|
|
2678
|
+
getActiveComponentCount(): number;
|
|
2679
|
+
/**
|
|
2680
|
+
* Clear all active components
|
|
2681
|
+
*/
|
|
2682
|
+
clearActiveComponents(): void;
|
|
2683
|
+
/**
|
|
2684
|
+
* Get config signal for a container
|
|
2685
|
+
*/
|
|
2686
|
+
getConfigSignal(config: FloatingContainerConfig): _angular_core.WritableSignal<FloatingContainerConfig>;
|
|
2687
|
+
/**
|
|
2688
|
+
* Get minimized signal for a container
|
|
2689
|
+
*/
|
|
2690
|
+
getMinimizedSignal(containerId: string): _angular_core.Signal<boolean>;
|
|
2691
|
+
/**
|
|
2692
|
+
* Get maximized signal for a container
|
|
2693
|
+
*/
|
|
2694
|
+
getMaximizedSignal(containerId: string): _angular_core.Signal<boolean>;
|
|
2695
|
+
getZIndexSignal(containerId: string): _angular_core.Signal<number>;
|
|
2696
|
+
/**
|
|
2697
|
+
* Set z-index for a specific container
|
|
2698
|
+
*/
|
|
2699
|
+
setZIndex(containerId: string, zIndex: number): void;
|
|
2700
|
+
/**
|
|
2701
|
+
* Get visible signal for a container
|
|
2702
|
+
*/
|
|
2703
|
+
getVisibleSignal(containerId: string): _angular_core.Signal<boolean>;
|
|
2704
|
+
/**
|
|
2705
|
+
* Get component config for dynamic loading
|
|
2706
|
+
*/
|
|
2707
|
+
getComponentConfig(config: FloatingContainerConfig): {
|
|
2708
|
+
componentId: string;
|
|
2709
|
+
inputs: {
|
|
2710
|
+
[key: string]: any;
|
|
2711
|
+
} | undefined;
|
|
2712
|
+
outputs: {
|
|
2713
|
+
[key: string]: (event: any) => void;
|
|
2714
|
+
} | undefined;
|
|
2715
|
+
} | undefined;
|
|
2716
|
+
/**
|
|
2717
|
+
* Handle container close event
|
|
2718
|
+
*/
|
|
2719
|
+
onClose(containerId: string): void;
|
|
2720
|
+
/**
|
|
2721
|
+
* Handle container minimize event
|
|
2722
|
+
*/
|
|
2723
|
+
onMinimize(containerId: string): void;
|
|
2724
|
+
/**
|
|
2725
|
+
* Handle container maximize event
|
|
2726
|
+
*/
|
|
2727
|
+
onMaximize(containerId: string): void;
|
|
2728
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<CideEleFloatingContainerService, never>;
|
|
2729
|
+
static ɵprov: _angular_core.ɵɵInjectableDeclaration<CideEleFloatingContainerService>;
|
|
2730
|
+
}
|
|
2731
|
+
|
|
2732
|
+
declare class CideEleFloatingContainerManagerComponent {
|
|
2733
|
+
containerService: CideEleFloatingContainerService;
|
|
2734
|
+
visibleContainers: _angular_core.Signal<cloud_ide_element.FloatingContainerInstance[]>;
|
|
2735
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<CideEleFloatingContainerManagerComponent, never>;
|
|
2736
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<CideEleFloatingContainerManagerComponent, "cide-ele-floating-container-manager", never, {}, {}, never, never, true, never>;
|
|
2737
|
+
}
|
|
2738
|
+
|
|
2739
|
+
declare class CideEleFloatingFeaturesService {
|
|
2740
|
+
private containerService;
|
|
2741
|
+
private shortcutsService;
|
|
2742
|
+
constructor();
|
|
2743
|
+
showFeature(featureId: string, config: FloatingContainerConfig): string;
|
|
2744
|
+
showComponent(containerId: string, componentId: string, title: string, componentType?: any, config?: Partial<FloatingContainerConfig>): string;
|
|
2745
|
+
/**
|
|
2746
|
+
* Generic method for showing any component with input data
|
|
2747
|
+
*
|
|
2748
|
+
* @example
|
|
2749
|
+
* // Pass data to a component
|
|
2750
|
+
* this.floatingFeaturesService.showComponentWithData(
|
|
2751
|
+
* 'my-component-container',
|
|
2752
|
+
* 'my-component',
|
|
2753
|
+
* 'My Component Title',
|
|
2754
|
+
* {
|
|
2755
|
+
* data: {
|
|
2756
|
+
* userId: '123',
|
|
2757
|
+
* userName: 'John Doe',
|
|
2758
|
+
* settings: { theme: 'dark' }
|
|
2759
|
+
* },
|
|
2760
|
+
* outputs: {
|
|
2761
|
+
* onSave: (data) => console.log('Save event:', data),
|
|
2762
|
+
* onCancel: () => console.log('Cancel clicked')
|
|
2763
|
+
* }
|
|
2764
|
+
* },
|
|
2765
|
+
* {
|
|
2766
|
+
* width: '600px',
|
|
2767
|
+
* height: '400px',
|
|
2768
|
+
* icon: 'settings'
|
|
2769
|
+
* }
|
|
2770
|
+
* );
|
|
2771
|
+
*/
|
|
2772
|
+
showComponentWithData(containerId: string, componentId: string, title: string, componentData: {
|
|
2773
|
+
data: {
|
|
2774
|
+
[key: string]: any;
|
|
2775
|
+
};
|
|
2776
|
+
outputs?: {
|
|
2777
|
+
[key: string]: (event: any) => void;
|
|
2778
|
+
};
|
|
2779
|
+
}, containerConfig?: Partial<FloatingContainerConfig>): string;
|
|
2780
|
+
showMultipleInstances(componentId: string, titlePrefix: string, count: number, config?: Partial<FloatingContainerConfig>): string[];
|
|
2781
|
+
getInstancesOfType(componentType: string): cloud_ide_element.FloatingContainerInstance[];
|
|
2782
|
+
getActiveInstancesOfType(componentType: string): cloud_ide_element.FloatingContainerInstance[];
|
|
2783
|
+
closeAllInstancesOfType(componentType: string): void;
|
|
2784
|
+
minimizeAllInstancesOfType(componentType: string): void;
|
|
2785
|
+
getInstanceCount(componentType: string): number;
|
|
2786
|
+
getActiveInstanceCount(componentType: string): number;
|
|
2787
|
+
registerComponent(componentId: string, componentType: any): void;
|
|
2788
|
+
unregisterComponent(componentId: string): void;
|
|
2789
|
+
hideFeature(featureId: string): void;
|
|
2790
|
+
bringToFront(featureId: string): void;
|
|
2791
|
+
minimize(featureId: string): void;
|
|
2792
|
+
maximize(featureId: string): void;
|
|
2793
|
+
isVisible(featureId: string): boolean;
|
|
2794
|
+
hideAll(): void;
|
|
2795
|
+
minimizeAll(): void;
|
|
2796
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<CideEleFloatingFeaturesService, never>;
|
|
2797
|
+
static ɵprov: _angular_core.ɵɵInjectableDeclaration<CideEleFloatingFeaturesService>;
|
|
2798
|
+
}
|
|
2799
|
+
|
|
2800
|
+
declare class CideEleFloatingContainerDynamicDirective implements OnInit, OnDestroy {
|
|
2801
|
+
private viewContainer;
|
|
2802
|
+
private containerService;
|
|
2803
|
+
componentId: string;
|
|
2804
|
+
componentConfig?: FloatingComponentConfig;
|
|
2805
|
+
isVisible: boolean;
|
|
2806
|
+
private componentRef;
|
|
2807
|
+
constructor(viewContainer: ViewContainerRef, containerService: CideEleFloatingContainerService);
|
|
2808
|
+
ngOnInit(): void;
|
|
2809
|
+
ngOnDestroy(): void;
|
|
2810
|
+
ngOnChanges(): void;
|
|
2811
|
+
private loadComponent;
|
|
2812
|
+
private destroyComponent;
|
|
2813
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<CideEleFloatingContainerDynamicDirective, never>;
|
|
2814
|
+
static ɵdir: _angular_core.ɵɵDirectiveDeclaration<CideEleFloatingContainerDynamicDirective, "[cideEleFloatingDynamic]", never, { "componentId": { "alias": "componentId"; "required": false; }; "componentConfig": { "alias": "componentConfig"; "required": false; }; "isVisible": { "alias": "isVisible"; "required": false; }; }, {}, never, never, true, never>;
|
|
2815
|
+
}
|
|
2816
|
+
|
|
2817
|
+
declare class FloatingContainerShortcutsService {
|
|
2818
|
+
private keyboardShortcutService;
|
|
2819
|
+
private containerService;
|
|
2820
|
+
private readonly Z_INDEX_LAYERS;
|
|
2821
|
+
constructor();
|
|
2822
|
+
/**
|
|
2823
|
+
* Register default floating container shortcuts
|
|
2824
|
+
*/
|
|
2825
|
+
private registerDefaultShortcuts;
|
|
2826
|
+
/**
|
|
2827
|
+
* Register number shortcuts (Alt + 1, Alt + 2, etc.)
|
|
2828
|
+
*/
|
|
2829
|
+
private registerNumberShortcuts;
|
|
2830
|
+
/**
|
|
2831
|
+
* Open new floating container
|
|
2832
|
+
*/
|
|
2833
|
+
private openNewContainer;
|
|
2834
|
+
/**
|
|
2835
|
+
* Focus previous container
|
|
2836
|
+
*/
|
|
2837
|
+
private focusPreviousContainer;
|
|
2838
|
+
/**
|
|
2839
|
+
* Hide all containers
|
|
2840
|
+
*/
|
|
2841
|
+
private hideAllContainers;
|
|
2842
|
+
/**
|
|
2843
|
+
* Show all containers
|
|
2844
|
+
*/
|
|
2845
|
+
private showAllContainers;
|
|
2846
|
+
/**
|
|
2847
|
+
* Minimize all containers
|
|
2848
|
+
*/
|
|
2849
|
+
private minimizeAllContainers;
|
|
2850
|
+
/**
|
|
2851
|
+
* Focus container by index
|
|
2852
|
+
*/
|
|
2853
|
+
private focusContainerByIndex;
|
|
2854
|
+
/**
|
|
2855
|
+
* Open file uploader
|
|
2856
|
+
*/
|
|
2857
|
+
private openFileUploader;
|
|
2858
|
+
/**
|
|
2859
|
+
* Open entity rights sharing
|
|
2860
|
+
*/
|
|
2861
|
+
private openEntityRightsSharing;
|
|
2862
|
+
/**
|
|
2863
|
+
* Duplicate current container
|
|
2864
|
+
*/
|
|
2865
|
+
private duplicateCurrentContainer;
|
|
2866
|
+
/**
|
|
2867
|
+
* Close current container
|
|
2868
|
+
*/
|
|
2869
|
+
private closeCurrentContainer;
|
|
2870
|
+
/**
|
|
2871
|
+
* Toggle container visibility
|
|
2872
|
+
*/
|
|
2873
|
+
private toggleContainerVisibility;
|
|
2874
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<FloatingContainerShortcutsService, never>;
|
|
2875
|
+
static ɵprov: _angular_core.ɵɵInjectableDeclaration<FloatingContainerShortcutsService>;
|
|
1377
2876
|
}
|
|
1378
2877
|
|
|
1379
|
-
export { CideEleButtonComponent, CideEleConfirmationModalComponent, CideEleDataGridComponent, CideEleDropdownComponent, CideEleFileInputComponent, CideEleGlobalNotificationsComponent, CideEleJsonEditorComponent, CideEleResizerDirective, CideEleSkeletonLoaderComponent, CideEleTabComponent, CideEleToastNotificationComponent, CideElementsService, CideIconComponent, CideInputComponent, CideSelectComponent, CideSelectOptionComponent, CideSpinnerComponent, CideTextareaComponent, ConfirmationService, DEFAULT_GRID_CONFIG, DropdownManagerService, NotificationService, TooltipDirective };
|
|
1380
|
-
export type { ButtonElevation, ButtonShape, ButtonSize, ButtonType, ButtonVariant, CideEleResizerDirection, CideEleResizerDirectionTo, ColumnType, ColumnWidth, ConfirmationOptions, ConfirmationRequest, DropdownConfig, DropdownInstance, DropdownItem, DropdownPosition, ErrorValidationStatus, GridAction, GridColumn, GridConfiguration, GridCustomFormatter, GridCustomRenderer, GridDragDropConfig, GridEvent, GridEventHandler, GridExportConfig, GridFormatter, GridLoadingConfig, GridPaginationConfig, GridScrollConfig, GridSearchConfig, GridState, GridTreeConfig, JsonEditorConfig, JsonEditorError, NotificationItem, NotificationOptions,
|
|
2878
|
+
export { CideCoreFileManagerService, CideEleButtonComponent, CideEleConfirmationModalComponent, CideEleDataGridComponent, CideEleDropdownComponent, CideEleFileImageDirective, CideEleFileInputComponent, CideEleFileManagerService, CideEleFloatingContainerComponent, CideEleFloatingContainerDynamicDirective, CideEleFloatingContainerManagerComponent, CideEleFloatingContainerService, CideEleFloatingFeaturesService, CideEleFloatingFileUploaderComponent, CideEleFloatingFileUploaderService, CideEleGlobalNotificationsComponent, CideEleJsonEditorComponent, CideEleResizerDirective, CideEleSkeletonLoaderComponent, CideEleTabComponent, CideEleToastNotificationComponent, CideElementsService, CideIconComponent, CideInputComponent, CideSelectComponent, CideSelectOptionComponent, CideSpinnerComponent, CideTextareaComponent, ConfirmationService, CoreFileManagerInsertUpdatePayload, DEFAULT_GRID_CONFIG, DropdownManagerService, FloatingContainerShortcutsService, ICoreCyfmSave, KeyboardShortcutService, MFileManager, NotificationService, TooltipDirective };
|
|
2879
|
+
export type { ButtonElevation, ButtonShape, ButtonSize, ButtonType, ButtonVariant, CideEleResizerDirection, CideEleResizerDirectionTo, ColumnType, ColumnWidth, ConfirmationOptions, ConfirmationRequest, CoreFileManagerInsertUpdateResponse, DropdownConfig, DropdownInstance, DropdownItem, DropdownPosition, ErrorValidationStatus, FileUploadData, FileUploadOptions, FileUploaderData, FloatingComponentConfig, FloatingContainerConfig, FloatingContainerInstance, FloatingFileUploaderData, GridAction, GridColumn, GridConfiguration, GridCustomFormatter, GridCustomRenderer, GridDragDropConfig, GridEvent, GridEventHandler, GridExportConfig, GridFormatter, GridLoadingConfig, GridPaginationConfig, GridScrollConfig, GridSearchConfig, GridState, GridTreeConfig, ICoreCyfm, ICoreFileManager, IFileDeleteResponse, IFileFilterOptions, IFileGroupingOptions, IFileListRequest, IFileListResponse, IFileManagerErrorLogger, IFileUpdateRequest, IFileUpdateResponse, IFileUploadProgress, IFileUploadQueueItem, IFileUploadRequest, IFileUploadResponse, JsonEditorConfig, JsonEditorError, KeyboardShortcut, NotificationItem, NotificationOptions, SelectOption, SelectOptionObject, ServiceState, ShortcutOverride, StatusConfig, TabItem, TemplateContext, TemplateRenderer, TextAlign, TooltipPlacement, TooltipType, UploadProgress, ValidationStatus, controllerResponse, fileManagerControllerResponse, fileManagerResponseData, mongooseObjectIdCreateControllerResponse };
|