cloud-ide-element 1.1.2 → 1.1.5
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 +4653 -4775
- package/fesm2022/cloud-ide-element.mjs.map +1 -1
- package/index.d.ts +1571 -1632
- package/package.json +1 -1
package/index.d.ts
CHANGED
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
import * as _angular_core from '@angular/core';
|
|
2
|
-
import { PipeTransform, OnChanges, OnInit, OnDestroy, EventEmitter, TemplateRef, SimpleChanges,
|
|
2
|
+
import { PipeTransform, OnChanges, OnInit, OnDestroy, EventEmitter, TemplateRef, SimpleChanges, ElementRef, AfterContentInit, QueryList, ViewContainerRef, Renderer2, Signal, AfterViewInit, Type, Injector, ComponentRef } from '@angular/core';
|
|
3
3
|
import { ControlValueAccessor, Validator, AbstractControl, ValidationErrors, FormGroup } from '@angular/forms';
|
|
4
|
-
import { elementStyleType, labelPlacementType, labelDirType, autocapitalizeType, autocompleteType, controlType, inputType, themeSize,
|
|
5
|
-
import { Router, NavigationExtras } from '@angular/router';
|
|
6
|
-
import { BehaviorSubject, Observable } from 'rxjs';
|
|
4
|
+
import { elementStyleType, labelPlacementType, labelDirType, autocapitalizeType, autocompleteType, controlType, inputType, themeSize, selectSearchType, ICoreSype, GetElementDataRequest, iconType, spinnerType, fileManagerListByGroupIdControllerResponse } from 'cloud-ide-lms-model';
|
|
7
5
|
import * as cloud_ide_element from 'cloud-ide-element';
|
|
6
|
+
import { BehaviorSubject, Observable } from 'rxjs';
|
|
7
|
+
import { Router, NavigationExtras } from '@angular/router';
|
|
8
8
|
import { HttpClient, HttpEvent } from '@angular/common/http';
|
|
9
9
|
|
|
10
10
|
declare class CapitalizePipe implements PipeTransform {
|
|
@@ -273,114 +273,6 @@ declare class CideInputComponent implements ControlValueAccessor, Validator, OnC
|
|
|
273
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>;
|
|
274
274
|
}
|
|
275
275
|
|
|
276
|
-
type ButtonVariant = 'primary' | 'secondary' | 'outline' | 'text' | 'link' | 'success' | 'danger' | 'warning' | 'info' | 'ghost';
|
|
277
|
-
type ButtonSize = 'xs' | 'sm' | 'md' | 'lg' | 'xl';
|
|
278
|
-
type ButtonType = 'button' | 'submit' | 'reset';
|
|
279
|
-
type ButtonShape = 'default' | 'rounded' | 'pill' | 'square';
|
|
280
|
-
type ButtonElevation = 'none' | 'low' | 'medium' | 'high';
|
|
281
|
-
/**
|
|
282
|
-
* Advanced Angular button component that provides a comprehensive button implementation
|
|
283
|
-
* with loading state, styling variants, animations, tooltips, and other features.
|
|
284
|
-
*
|
|
285
|
-
* This component uses proper Angular templating to avoid hydration issues (NG0500).
|
|
286
|
-
*/
|
|
287
|
-
declare class CideEleButtonComponent implements OnInit, OnChanges, OnDestroy {
|
|
288
|
-
private elementService;
|
|
289
|
-
private router;
|
|
290
|
-
private renderer;
|
|
291
|
-
private elementRef;
|
|
292
|
-
private destroy$;
|
|
293
|
-
private clickCount;
|
|
294
|
-
private clickDebouncer$;
|
|
295
|
-
constructor(elementService: CideElementsService, router: Router, renderer: Renderer2, elementRef: ElementRef);
|
|
296
|
-
/**
|
|
297
|
-
* @description Label of button like Submit, Update, Add, etc.
|
|
298
|
-
* Note: it is only used in case you did not set label between tags (via ng-content)
|
|
299
|
-
*/
|
|
300
|
-
label: string;
|
|
301
|
-
/** @description Button style variant */
|
|
302
|
-
variant: ButtonVariant;
|
|
303
|
-
/** @description Button size */
|
|
304
|
-
size: ButtonSize;
|
|
305
|
-
/** @description Button HTML type attribute */
|
|
306
|
-
type: ButtonType;
|
|
307
|
-
/** @description Button shape */
|
|
308
|
-
shape: ButtonShape;
|
|
309
|
-
/** @description Button shadow elevation */
|
|
310
|
-
elevation: ButtonElevation;
|
|
311
|
-
/** @description Button disabled state */
|
|
312
|
-
disabled: boolean | null;
|
|
313
|
-
/** @description Unique ID of control, used to differentiate elements */
|
|
314
|
-
id: string;
|
|
315
|
-
/** @description Enables loading state with spinner */
|
|
316
|
-
loading: boolean;
|
|
317
|
-
/** @description Makes button take full width of container */
|
|
318
|
-
fullWidth: boolean;
|
|
319
|
-
/** @description Icon to display on the left side of the button */
|
|
320
|
-
leftIcon: string;
|
|
321
|
-
/** @description Icon to display on the right side of the button */
|
|
322
|
-
rightIcon: string;
|
|
323
|
-
/** @description Additional CSS classes to apply */
|
|
324
|
-
customClass: string;
|
|
325
|
-
/** @description Tooltip text to display on hover */
|
|
326
|
-
tooltip: string;
|
|
327
|
-
/** @description Aria label for accessibility */
|
|
328
|
-
ariaLabel: string;
|
|
329
|
-
/** @description Test ID for automated testing */
|
|
330
|
-
testId: string;
|
|
331
|
-
/** @description Route to navigate to when clicked (for link buttons) */
|
|
332
|
-
routerLink: string | unknown[];
|
|
333
|
-
/** @description Router navigation extras */
|
|
334
|
-
routerExtras: NavigationExtras;
|
|
335
|
-
/** @description Prevent multiple rapid clicks (debounce) */
|
|
336
|
-
preventDoubleClick: boolean;
|
|
337
|
-
/** @description Animation on click */
|
|
338
|
-
animated: boolean;
|
|
339
|
-
/**
|
|
340
|
-
* @description Click event of button
|
|
341
|
-
*/
|
|
342
|
-
btnClick: EventEmitter<Event>;
|
|
343
|
-
/**
|
|
344
|
-
* @description Double click event
|
|
345
|
-
*/
|
|
346
|
-
doubleClick: EventEmitter<Event>;
|
|
347
|
-
onClick(event: Event): void;
|
|
348
|
-
private handleClick;
|
|
349
|
-
private addClickAnimation;
|
|
350
|
-
ngOnInit(): void;
|
|
351
|
-
ngOnChanges(changes: SimpleChanges): void;
|
|
352
|
-
ngOnDestroy(): void;
|
|
353
|
-
getControlData(): Promise<void>;
|
|
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>;
|
|
356
|
-
}
|
|
357
|
-
|
|
358
|
-
declare class CideSpinnerComponent {
|
|
359
|
-
/**
|
|
360
|
-
* @description
|
|
361
|
-
* Holds the size of the component like Small, Extra small, Large
|
|
362
|
-
* by Default it takes small size
|
|
363
|
-
* or the size set by the project setup service
|
|
364
|
-
* or it will beset for individual component
|
|
365
|
-
*
|
|
366
|
-
* Size Appled
|
|
367
|
-
* Component level then setup service then finally default md
|
|
368
|
-
* Options: "xs" | "sm" | "md" | "lg" | "xl" | "xxl"
|
|
369
|
-
*/
|
|
370
|
-
size: themeSize;
|
|
371
|
-
type: spinnerType;
|
|
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>;
|
|
374
|
-
}
|
|
375
|
-
|
|
376
|
-
declare class CideIconComponent {
|
|
377
|
-
size: themeSize;
|
|
378
|
-
type: iconType;
|
|
379
|
-
toolTip: string;
|
|
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>;
|
|
382
|
-
}
|
|
383
|
-
|
|
384
276
|
interface SelectOption {
|
|
385
277
|
value: string | number;
|
|
386
278
|
label: string;
|
|
@@ -604,7 +496,7 @@ declare class CideEleFileInputComponent implements ControlValueAccessor, OnDestr
|
|
|
604
496
|
readonly id: _angular_core.WritableSignal<string>;
|
|
605
497
|
readonly isUploading: _angular_core.WritableSignal<boolean>;
|
|
606
498
|
readonly uploadProgress: _angular_core.WritableSignal<number>;
|
|
607
|
-
readonly uploadStatus: _angular_core.WritableSignal<"error" | "start" | "
|
|
499
|
+
readonly uploadStatus: _angular_core.WritableSignal<"error" | "start" | "uploading" | "success" | "idle">;
|
|
608
500
|
readonly files: _angular_core.WritableSignal<FileList | null>;
|
|
609
501
|
readonly fileNames: _angular_core.WritableSignal<string[]>;
|
|
610
502
|
readonly previewUrls: _angular_core.WritableSignal<string[]>;
|
|
@@ -731,7 +623,7 @@ declare class CideEleFileInputComponent implements ControlValueAccessor, OnDestr
|
|
|
731
623
|
multiple: boolean;
|
|
732
624
|
showPreview: boolean;
|
|
733
625
|
autoUpload: boolean;
|
|
734
|
-
uploadStatus: "error" | "start" | "
|
|
626
|
+
uploadStatus: "error" | "start" | "uploading" | "success" | "idle";
|
|
735
627
|
isUploading: boolean;
|
|
736
628
|
uploadProgress: number;
|
|
737
629
|
files: {
|
|
@@ -994,156 +886,107 @@ declare class CideTextareaComponent implements ControlValueAccessor, Validator,
|
|
|
994
886
|
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>;
|
|
995
887
|
}
|
|
996
888
|
|
|
997
|
-
interface
|
|
889
|
+
interface BreadcrumbItem {
|
|
998
890
|
id: string;
|
|
999
|
-
|
|
1000
|
-
|
|
1001
|
-
|
|
1002
|
-
|
|
1003
|
-
|
|
1004
|
-
|
|
1005
|
-
action: () => void;
|
|
1006
|
-
preventDefault?: boolean;
|
|
1007
|
-
stopPropagation?: boolean;
|
|
891
|
+
label: string;
|
|
892
|
+
icon?: string;
|
|
893
|
+
url?: string;
|
|
894
|
+
disabled?: boolean;
|
|
895
|
+
type?: 'root' | 'category' | 'entity' | 'custom';
|
|
896
|
+
metadata?: any;
|
|
1008
897
|
}
|
|
1009
|
-
interface
|
|
1010
|
-
|
|
1011
|
-
|
|
1012
|
-
|
|
1013
|
-
|
|
1014
|
-
|
|
1015
|
-
newMetaKey?: boolean;
|
|
898
|
+
interface BreadcrumbDropdownOption {
|
|
899
|
+
id: string;
|
|
900
|
+
label: string;
|
|
901
|
+
icon?: string;
|
|
902
|
+
disabled?: boolean;
|
|
903
|
+
action?: () => void;
|
|
1016
904
|
}
|
|
1017
|
-
|
|
1018
|
-
|
|
1019
|
-
|
|
1020
|
-
|
|
1021
|
-
constructor();
|
|
1022
|
-
ngOnDestroy(): void;
|
|
1023
|
-
/**
|
|
1024
|
-
* Register a new keyboard shortcut
|
|
1025
|
-
*/
|
|
1026
|
-
register(shortcut: KeyboardShortcut): void;
|
|
1027
|
-
/**
|
|
1028
|
-
* Override an existing shortcut with new key combination
|
|
1029
|
-
*/
|
|
1030
|
-
override(shortcutId: string, newKey: string, options?: {
|
|
1031
|
-
ctrlKey?: boolean;
|
|
1032
|
-
altKey?: boolean;
|
|
1033
|
-
shiftKey?: boolean;
|
|
1034
|
-
metaKey?: boolean;
|
|
1035
|
-
}): void;
|
|
1036
|
-
/**
|
|
1037
|
-
* Remove a shortcut
|
|
1038
|
-
*/
|
|
1039
|
-
unregister(shortcutId: string): void;
|
|
1040
|
-
/**
|
|
1041
|
-
* Remove override for a shortcut (restore original key combination)
|
|
1042
|
-
*/
|
|
1043
|
-
removeOverride(shortcutId: string): void;
|
|
1044
|
-
/**
|
|
1045
|
-
* Get all registered shortcuts
|
|
1046
|
-
*/
|
|
1047
|
-
getAllShortcuts(): KeyboardShortcut[];
|
|
1048
|
-
/**
|
|
1049
|
-
* Get shortcuts by category or filter
|
|
1050
|
-
*/
|
|
1051
|
-
getShortcuts(filter?: (shortcut: KeyboardShortcut) => boolean): KeyboardShortcut[];
|
|
1052
|
-
/**
|
|
1053
|
-
* Check if a shortcut is registered
|
|
1054
|
-
*/
|
|
1055
|
-
hasShortcut(shortcutId: string): boolean;
|
|
1056
|
-
/**
|
|
1057
|
-
* Get shortcut information
|
|
1058
|
-
*/
|
|
1059
|
-
getShortcut(shortcutId: string): KeyboardShortcut | undefined;
|
|
1060
|
-
/**
|
|
1061
|
-
* Clear all shortcuts
|
|
1062
|
-
*/
|
|
1063
|
-
clearAll(): void;
|
|
1064
|
-
/**
|
|
1065
|
-
* Set up global keyboard listener
|
|
1066
|
-
*/
|
|
1067
|
-
private setupGlobalListener;
|
|
1068
|
-
/**
|
|
1069
|
-
* Remove global keyboard listener
|
|
1070
|
-
*/
|
|
1071
|
-
private removeGlobalListener;
|
|
1072
|
-
/**
|
|
1073
|
-
* Handle keydown events
|
|
1074
|
-
*/
|
|
1075
|
-
private handleKeydown;
|
|
1076
|
-
/**
|
|
1077
|
-
* Check if event matches shortcut
|
|
1078
|
-
*/
|
|
1079
|
-
private matchesShortcut;
|
|
1080
|
-
/**
|
|
1081
|
-
* Check if event matches override
|
|
1082
|
-
*/
|
|
1083
|
-
private matchesOverride;
|
|
1084
|
-
/**
|
|
1085
|
-
* Get human-readable key description
|
|
1086
|
-
*/
|
|
1087
|
-
private getKeyDescription;
|
|
1088
|
-
/**
|
|
1089
|
-
* Get key description for a shortcut ID
|
|
1090
|
-
*/
|
|
1091
|
-
getKeyDescriptionForShortcut(shortcutId: string): string;
|
|
1092
|
-
static ɵfac: _angular_core.ɵɵFactoryDeclaration<KeyboardShortcutService, never>;
|
|
1093
|
-
static ɵprov: _angular_core.ɵɵInjectableDeclaration<KeyboardShortcutService>;
|
|
905
|
+
interface BreadcrumbSeparator {
|
|
906
|
+
type: 'chevron' | 'slash' | 'arrow' | 'dot' | 'custom';
|
|
907
|
+
icon?: string;
|
|
908
|
+
text?: string;
|
|
1094
909
|
}
|
|
1095
|
-
|
|
1096
|
-
|
|
1097
|
-
|
|
1098
|
-
|
|
1099
|
-
|
|
1100
|
-
|
|
1101
|
-
|
|
1102
|
-
|
|
1103
|
-
|
|
910
|
+
type BreadcrumbStyle = 'modern' | 'classic' | 'minimal' | 'hierarchical';
|
|
911
|
+
interface BreadcrumbConfig {
|
|
912
|
+
style: BreadcrumbStyle;
|
|
913
|
+
separator: BreadcrumbSeparator;
|
|
914
|
+
showHomeIcon: boolean;
|
|
915
|
+
homeIcon: string;
|
|
916
|
+
maxItems: number;
|
|
917
|
+
showDropdownOnOverflow: boolean;
|
|
918
|
+
dropdownOptions: BreadcrumbDropdownOption[];
|
|
919
|
+
clickableItems: boolean;
|
|
920
|
+
showTooltips: boolean;
|
|
921
|
+
responsive: boolean;
|
|
922
|
+
compact: boolean;
|
|
923
|
+
animated: boolean;
|
|
1104
924
|
}
|
|
1105
|
-
|
|
1106
|
-
|
|
1107
|
-
|
|
1108
|
-
|
|
1109
|
-
|
|
1110
|
-
|
|
1111
|
-
|
|
1112
|
-
|
|
1113
|
-
|
|
1114
|
-
|
|
1115
|
-
|
|
1116
|
-
|
|
1117
|
-
|
|
1118
|
-
|
|
1119
|
-
|
|
1120
|
-
|
|
1121
|
-
|
|
1122
|
-
|
|
1123
|
-
|
|
1124
|
-
|
|
1125
|
-
|
|
1126
|
-
|
|
1127
|
-
|
|
1128
|
-
private
|
|
1129
|
-
private
|
|
1130
|
-
private
|
|
1131
|
-
private
|
|
1132
|
-
|
|
1133
|
-
|
|
1134
|
-
|
|
1135
|
-
|
|
1136
|
-
|
|
1137
|
-
|
|
925
|
+
declare class CideEleBreadcrumbComponent implements OnInit, OnDestroy {
|
|
926
|
+
items: _angular_core.InputSignal<BreadcrumbItem[]>;
|
|
927
|
+
style: _angular_core.InputSignal<BreadcrumbStyle>;
|
|
928
|
+
separator: _angular_core.InputSignal<BreadcrumbSeparator>;
|
|
929
|
+
showHomeIcon: _angular_core.InputSignal<boolean>;
|
|
930
|
+
homeIcon: _angular_core.InputSignal<string>;
|
|
931
|
+
maxItems: _angular_core.InputSignal<number>;
|
|
932
|
+
showDropdownOnOverflow: _angular_core.InputSignal<boolean>;
|
|
933
|
+
dropdownOptions: _angular_core.InputSignal<BreadcrumbDropdownOption[]>;
|
|
934
|
+
clickableItems: _angular_core.InputSignal<boolean>;
|
|
935
|
+
showTooltips: _angular_core.InputSignal<boolean>;
|
|
936
|
+
responsive: _angular_core.InputSignal<boolean>;
|
|
937
|
+
compact: _angular_core.InputSignal<boolean>;
|
|
938
|
+
animated: _angular_core.InputSignal<boolean>;
|
|
939
|
+
loadingInput: _angular_core.InputSignal<boolean>;
|
|
940
|
+
disabled: _angular_core.InputSignal<boolean>;
|
|
941
|
+
contextId: _angular_core.InputSignal<string | undefined>;
|
|
942
|
+
pageCode: _angular_core.InputSignal<string | undefined>;
|
|
943
|
+
itemClick: EventEmitter<BreadcrumbItem>;
|
|
944
|
+
dropdownOptionClick: EventEmitter<BreadcrumbDropdownOption>;
|
|
945
|
+
homeClick: EventEmitter<void>;
|
|
946
|
+
private showDropdown;
|
|
947
|
+
private isOverflowing;
|
|
948
|
+
private visibleItems;
|
|
949
|
+
private hiddenItems;
|
|
950
|
+
private localItems;
|
|
951
|
+
private localLoading;
|
|
952
|
+
showDropdownSignal: _angular_core.Signal<boolean>;
|
|
953
|
+
isOverflowingSignal: _angular_core.Signal<boolean>;
|
|
954
|
+
visibleItemsSignal: _angular_core.Signal<BreadcrumbItem[]>;
|
|
955
|
+
hiddenItemsSignal: _angular_core.Signal<BreadcrumbItem[]>;
|
|
956
|
+
config: _angular_core.Signal<BreadcrumbConfig>;
|
|
957
|
+
effectiveLoading: _angular_core.Signal<boolean>;
|
|
958
|
+
private cleanupEffect?;
|
|
1138
959
|
ngOnInit(): void;
|
|
1139
|
-
|
|
1140
|
-
|
|
1141
|
-
private
|
|
1142
|
-
private
|
|
1143
|
-
|
|
1144
|
-
|
|
1145
|
-
|
|
1146
|
-
|
|
960
|
+
ngOnDestroy(): void;
|
|
961
|
+
onDocumentClick(event: Event): void;
|
|
962
|
+
private processItems;
|
|
963
|
+
private getConfigForStyle;
|
|
964
|
+
onItemClick(item: BreadcrumbItem): void;
|
|
965
|
+
onHomeClick(): void;
|
|
966
|
+
onDropdownToggle(): void;
|
|
967
|
+
onDropdownOptionClick(option: BreadcrumbDropdownOption): void;
|
|
968
|
+
getItemClasses(item: BreadcrumbItem, isLast?: boolean): string;
|
|
969
|
+
getContainerClasses(): string;
|
|
970
|
+
getSeparatorIcon(): string;
|
|
971
|
+
getTooltipText(item: BreadcrumbItem): string;
|
|
972
|
+
toggleDropdown(): void;
|
|
973
|
+
closeDropdown(): void;
|
|
974
|
+
updateItems(newItems: BreadcrumbItem[]): void;
|
|
975
|
+
addItem(item: BreadcrumbItem): void;
|
|
976
|
+
removeItem(itemId: string): void;
|
|
977
|
+
setLoading(value: boolean): void;
|
|
978
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<CideEleBreadcrumbComponent, never>;
|
|
979
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<CideEleBreadcrumbComponent, "cide-ele-breadcrumb", never, { "items": { "alias": "items"; "required": false; "isSignal": true; }; "style": { "alias": "style"; "required": false; "isSignal": true; }; "separator": { "alias": "separator"; "required": false; "isSignal": true; }; "showHomeIcon": { "alias": "showHomeIcon"; "required": false; "isSignal": true; }; "homeIcon": { "alias": "homeIcon"; "required": false; "isSignal": true; }; "maxItems": { "alias": "maxItems"; "required": false; "isSignal": true; }; "showDropdownOnOverflow": { "alias": "showDropdownOnOverflow"; "required": false; "isSignal": true; }; "dropdownOptions": { "alias": "dropdownOptions"; "required": false; "isSignal": true; }; "clickableItems": { "alias": "clickableItems"; "required": false; "isSignal": true; }; "showTooltips": { "alias": "showTooltips"; "required": false; "isSignal": true; }; "responsive": { "alias": "responsive"; "required": false; "isSignal": true; }; "compact": { "alias": "compact"; "required": false; "isSignal": true; }; "animated": { "alias": "animated"; "required": false; "isSignal": true; }; "loadingInput": { "alias": "loadingInput"; "required": false; "isSignal": true; }; "disabled": { "alias": "disabled"; "required": false; "isSignal": true; }; "contextId": { "alias": "contextId"; "required": false; "isSignal": true; }; "pageCode": { "alias": "pageCode"; "required": false; "isSignal": true; }; }, { "itemClick": "itemClick"; "dropdownOptionClick": "dropdownOptionClick"; "homeClick": "homeClick"; }, never, never, true, never>;
|
|
980
|
+
}
|
|
981
|
+
|
|
982
|
+
declare class CideElementsService {
|
|
983
|
+
cide_element_data: {
|
|
984
|
+
[key: string]: ICoreSype;
|
|
985
|
+
};
|
|
986
|
+
is_cide_element_data_updated: BehaviorSubject<boolean>;
|
|
987
|
+
getElementData(body: GetElementDataRequest): Promise<ICoreSype>;
|
|
988
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<CideElementsService, never>;
|
|
989
|
+
static ɵprov: _angular_core.ɵɵInjectableDeclaration<CideElementsService>;
|
|
1147
990
|
}
|
|
1148
991
|
|
|
1149
992
|
type TooltipPlacement = 'top' | 'bottom' | 'left' | 'right';
|
|
@@ -1188,1329 +1031,1569 @@ declare class TooltipDirective implements OnInit, OnDestroy {
|
|
|
1188
1031
|
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>;
|
|
1189
1032
|
}
|
|
1190
1033
|
|
|
1034
|
+
type CideEleResizerDirection = 'horizontal' | 'vertical';
|
|
1035
|
+
type CideEleResizerDirectionTo = "right-to-left" | "left-to-right" | "";
|
|
1036
|
+
declare class CideEleResizerDirective implements OnInit {
|
|
1037
|
+
private el;
|
|
1038
|
+
private renderer;
|
|
1039
|
+
direction: CideEleResizerDirection;
|
|
1040
|
+
to: CideEleResizerDirectionTo;
|
|
1041
|
+
prevElementSelector: string;
|
|
1042
|
+
nextElementSelector: string;
|
|
1043
|
+
parentElementSelector: string;
|
|
1044
|
+
minPrevSize: number;
|
|
1045
|
+
minNextSize: number;
|
|
1046
|
+
usePercentage: boolean;
|
|
1047
|
+
resizeStart: EventEmitter<void>;
|
|
1048
|
+
resizing: EventEmitter<{
|
|
1049
|
+
prevSize: number;
|
|
1050
|
+
nextSize: number;
|
|
1051
|
+
}>;
|
|
1052
|
+
resizeEnd: EventEmitter<{
|
|
1053
|
+
prevSize: number;
|
|
1054
|
+
nextSize: number;
|
|
1055
|
+
}>;
|
|
1056
|
+
private isResizing;
|
|
1057
|
+
private startPosition;
|
|
1058
|
+
private prevElement;
|
|
1059
|
+
private nextElement;
|
|
1060
|
+
private prevSize;
|
|
1061
|
+
private nextSize;
|
|
1062
|
+
private containerSize;
|
|
1063
|
+
private startPrevSize;
|
|
1064
|
+
private startNextSize;
|
|
1065
|
+
constructor(el: ElementRef, renderer: Renderer2);
|
|
1066
|
+
ngOnInit(): void;
|
|
1067
|
+
onMouseDown(event: MouseEvent): void;
|
|
1068
|
+
private onMouseMove;
|
|
1069
|
+
private onMouseUp;
|
|
1070
|
+
private getPrevElement;
|
|
1071
|
+
private getNextElement;
|
|
1072
|
+
private getSizeProperty;
|
|
1073
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<CideEleResizerDirective, never>;
|
|
1074
|
+
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>;
|
|
1075
|
+
}
|
|
1076
|
+
|
|
1077
|
+
type ButtonVariant = 'primary' | 'secondary' | 'outline' | 'text' | 'link' | 'success' | 'danger' | 'warning' | 'info' | 'ghost';
|
|
1078
|
+
type ButtonSize = 'xs' | 'sm' | 'md' | 'lg' | 'xl';
|
|
1079
|
+
type ButtonType = 'button' | 'submit' | 'reset';
|
|
1080
|
+
type ButtonShape = 'default' | 'rounded' | 'pill' | 'square';
|
|
1081
|
+
type ButtonElevation = 'none' | 'low' | 'medium' | 'high';
|
|
1191
1082
|
/**
|
|
1192
|
-
*
|
|
1193
|
-
*
|
|
1083
|
+
* Advanced Angular button component that provides a comprehensive button implementation
|
|
1084
|
+
* with loading state, styling variants, animations, tooltips, and other features.
|
|
1085
|
+
*
|
|
1086
|
+
* This component uses proper Angular templating to avoid hydration issues (NG0500).
|
|
1194
1087
|
*/
|
|
1195
|
-
declare class
|
|
1196
|
-
|
|
1197
|
-
|
|
1198
|
-
private
|
|
1199
|
-
private
|
|
1200
|
-
private
|
|
1088
|
+
declare class CideEleButtonComponent implements OnInit, OnChanges, OnDestroy {
|
|
1089
|
+
private elementService;
|
|
1090
|
+
private router;
|
|
1091
|
+
private renderer;
|
|
1092
|
+
private elementRef;
|
|
1093
|
+
private destroy$;
|
|
1094
|
+
private clickCount;
|
|
1095
|
+
private clickDebouncer$;
|
|
1096
|
+
constructor(elementService: CideElementsService, router: Router, renderer: Renderer2, elementRef: ElementRef);
|
|
1097
|
+
/**
|
|
1098
|
+
* @description Label of button like Submit, Update, Add, etc.
|
|
1099
|
+
* Note: it is only used in case you did not set label between tags (via ng-content)
|
|
1100
|
+
*/
|
|
1101
|
+
label: string;
|
|
1102
|
+
/** @description Button style variant */
|
|
1103
|
+
variant: ButtonVariant;
|
|
1104
|
+
/** @description Button size */
|
|
1105
|
+
size: ButtonSize;
|
|
1106
|
+
/** @description Button HTML type attribute */
|
|
1107
|
+
type: ButtonType;
|
|
1108
|
+
/** @description Button shape */
|
|
1109
|
+
shape: ButtonShape;
|
|
1110
|
+
/** @description Button shadow elevation */
|
|
1111
|
+
elevation: ButtonElevation;
|
|
1112
|
+
/** @description Button disabled state */
|
|
1113
|
+
disabled: boolean | null;
|
|
1114
|
+
/** @description Unique ID of control, used to differentiate elements */
|
|
1115
|
+
id: string;
|
|
1116
|
+
/** @description Enables loading state with spinner */
|
|
1117
|
+
loading: boolean;
|
|
1118
|
+
/** @description Makes button take full width of container */
|
|
1119
|
+
fullWidth: boolean;
|
|
1120
|
+
/** @description Icon to display on the left side of the button */
|
|
1121
|
+
leftIcon: string;
|
|
1122
|
+
/** @description Icon to display on the right side of the button */
|
|
1123
|
+
rightIcon: string;
|
|
1124
|
+
/** @description Additional CSS classes to apply */
|
|
1125
|
+
customClass: string;
|
|
1126
|
+
/** @description Tooltip text to display on hover */
|
|
1127
|
+
tooltip: string;
|
|
1128
|
+
/** @description Aria label for accessibility */
|
|
1129
|
+
ariaLabel: string;
|
|
1130
|
+
/** @description Test ID for automated testing */
|
|
1131
|
+
testId: string;
|
|
1132
|
+
/** @description Route to navigate to when clicked (for link buttons) */
|
|
1133
|
+
routerLink: string | unknown[];
|
|
1134
|
+
/** @description Router navigation extras */
|
|
1135
|
+
routerExtras: NavigationExtras;
|
|
1136
|
+
/** @description Prevent multiple rapid clicks (debounce) */
|
|
1137
|
+
preventDoubleClick: boolean;
|
|
1138
|
+
/** @description Animation on click */
|
|
1139
|
+
animated: boolean;
|
|
1140
|
+
/**
|
|
1141
|
+
* @description Click event of button
|
|
1142
|
+
*/
|
|
1143
|
+
btnClick: EventEmitter<Event>;
|
|
1144
|
+
/**
|
|
1145
|
+
* @description Double click event
|
|
1146
|
+
*/
|
|
1147
|
+
doubleClick: EventEmitter<Event>;
|
|
1148
|
+
onClick(event: Event): void;
|
|
1149
|
+
private handleClick;
|
|
1150
|
+
private addClickAnimation;
|
|
1201
1151
|
ngOnInit(): void;
|
|
1152
|
+
ngOnChanges(changes: SimpleChanges): void;
|
|
1202
1153
|
ngOnDestroy(): void;
|
|
1203
|
-
|
|
1204
|
-
|
|
1205
|
-
static
|
|
1206
|
-
static ɵdir: _angular_core.ɵɵDirectiveDeclaration<CideEleFileImageDirective, "[cideEleFileImage]", never, { "fileId": { "alias": "fileId"; "required": false; }; "altText": { "alias": "altText"; "required": false; }; }, {}, never, never, true, never>;
|
|
1154
|
+
getControlData(): Promise<void>;
|
|
1155
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<CideEleButtonComponent, never>;
|
|
1156
|
+
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>;
|
|
1207
1157
|
}
|
|
1208
1158
|
|
|
1209
|
-
declare class
|
|
1210
|
-
|
|
1211
|
-
|
|
1212
|
-
|
|
1213
|
-
|
|
1214
|
-
|
|
1215
|
-
animation: 'pulse' | 'wave' | 'none';
|
|
1216
|
-
static ɵfac: _angular_core.ɵɵFactoryDeclaration<CideEleSkeletonLoaderComponent, never>;
|
|
1217
|
-
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>;
|
|
1159
|
+
declare class CideIconComponent {
|
|
1160
|
+
size: themeSize;
|
|
1161
|
+
type: iconType;
|
|
1162
|
+
toolTip: string;
|
|
1163
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<CideIconComponent, never>;
|
|
1164
|
+
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>;
|
|
1218
1165
|
}
|
|
1219
1166
|
|
|
1220
|
-
|
|
1221
|
-
|
|
1222
|
-
|
|
1223
|
-
|
|
1224
|
-
|
|
1225
|
-
|
|
1226
|
-
|
|
1227
|
-
|
|
1228
|
-
|
|
1229
|
-
|
|
1230
|
-
|
|
1231
|
-
|
|
1232
|
-
|
|
1233
|
-
|
|
1234
|
-
|
|
1235
|
-
|
|
1236
|
-
statusConfig?: StatusConfig;
|
|
1167
|
+
declare class CideSpinnerComponent {
|
|
1168
|
+
/**
|
|
1169
|
+
* @description
|
|
1170
|
+
* Holds the size of the component like Small, Extra small, Large
|
|
1171
|
+
* by Default it takes small size
|
|
1172
|
+
* or the size set by the project setup service
|
|
1173
|
+
* or it will beset for individual component
|
|
1174
|
+
*
|
|
1175
|
+
* Size Appled
|
|
1176
|
+
* Component level then setup service then finally default md
|
|
1177
|
+
* Options: "xs" | "sm" | "md" | "lg" | "xl" | "xxl"
|
|
1178
|
+
*/
|
|
1179
|
+
size: themeSize;
|
|
1180
|
+
type: spinnerType;
|
|
1181
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<CideSpinnerComponent, never>;
|
|
1182
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<CideSpinnerComponent, "cide-ele-spinner", never, { "size": { "alias": "size"; "required": false; }; "type": { "alias": "type"; "required": false; }; }, {}, never, never, true, never>;
|
|
1237
1183
|
}
|
|
1238
|
-
|
|
1239
|
-
|
|
1240
|
-
|
|
1241
|
-
|
|
1184
|
+
|
|
1185
|
+
interface NotificationOptions {
|
|
1186
|
+
message: string;
|
|
1187
|
+
type?: 'success' | 'error' | 'warning' | 'info';
|
|
1188
|
+
duration?: number;
|
|
1189
|
+
showUndo?: boolean;
|
|
1190
|
+
undoAction?: () => void;
|
|
1191
|
+
undoText?: string;
|
|
1192
|
+
icon?: string;
|
|
1193
|
+
title?: string;
|
|
1194
|
+
progress?: number;
|
|
1195
|
+
showProgress?: boolean;
|
|
1242
1196
|
}
|
|
1243
|
-
interface
|
|
1244
|
-
activeValue: string | number | boolean;
|
|
1245
|
-
activeLabel: string;
|
|
1246
|
-
inactiveLabel: string;
|
|
1247
|
-
activeClass: string;
|
|
1248
|
-
inactiveClass: string;
|
|
1249
|
-
}
|
|
1250
|
-
interface GridAction {
|
|
1251
|
-
key: string;
|
|
1252
|
-
label: string;
|
|
1253
|
-
icon: string;
|
|
1254
|
-
variant: 'ghost' | 'primary' | 'outline' | 'danger';
|
|
1255
|
-
tooltip?: string;
|
|
1256
|
-
condition?: string;
|
|
1257
|
-
onClick: string;
|
|
1258
|
-
}
|
|
1259
|
-
interface GridPaginationConfig {
|
|
1260
|
-
enabled: boolean;
|
|
1261
|
-
pageSize: number;
|
|
1262
|
-
pageSizeOptions: number[];
|
|
1263
|
-
showQuickJump: boolean;
|
|
1264
|
-
showPageInfo: boolean;
|
|
1265
|
-
showRefresh: boolean;
|
|
1266
|
-
}
|
|
1267
|
-
interface GridSearchConfig {
|
|
1268
|
-
enabled: boolean;
|
|
1269
|
-
placeholder: string;
|
|
1270
|
-
searchableColumns: string[];
|
|
1271
|
-
debounceMs?: number;
|
|
1272
|
-
}
|
|
1273
|
-
interface GridExportConfig {
|
|
1274
|
-
enabled: boolean;
|
|
1275
|
-
formats: ('csv' | 'excel' | 'pdf')[];
|
|
1276
|
-
filename?: string;
|
|
1277
|
-
}
|
|
1278
|
-
interface GridLoadingConfig {
|
|
1279
|
-
useDefer: boolean;
|
|
1280
|
-
skeletonRows: number;
|
|
1281
|
-
showOverlay: boolean;
|
|
1282
|
-
}
|
|
1283
|
-
interface GridScrollConfig {
|
|
1284
|
-
enabled: boolean;
|
|
1285
|
-
maxHeight?: string;
|
|
1286
|
-
minHeight?: string;
|
|
1287
|
-
stickyHeader?: boolean;
|
|
1288
|
-
virtualScroll?: boolean;
|
|
1289
|
-
rowHeight?: number;
|
|
1290
|
-
}
|
|
1291
|
-
interface GridTreeConfig {
|
|
1292
|
-
enabled: boolean;
|
|
1293
|
-
primaryKey: string;
|
|
1294
|
-
foreignKey: string;
|
|
1295
|
-
childrenKey?: string;
|
|
1296
|
-
levelKey?: string;
|
|
1297
|
-
expandedKey?: string;
|
|
1298
|
-
hasChildrenKey?: string;
|
|
1299
|
-
}
|
|
1300
|
-
interface GridDragDropConfig {
|
|
1301
|
-
enabled: boolean;
|
|
1302
|
-
dragHandle?: string;
|
|
1303
|
-
orderField?: string;
|
|
1304
|
-
dragClass?: string;
|
|
1305
|
-
dropClass?: string;
|
|
1306
|
-
}
|
|
1307
|
-
interface GridConfiguration<T = Record<string, unknown>> {
|
|
1197
|
+
interface NotificationItem {
|
|
1308
1198
|
id: string;
|
|
1199
|
+
message: string;
|
|
1200
|
+
type: 'success' | 'error' | 'warning' | 'info';
|
|
1201
|
+
duration: number;
|
|
1202
|
+
showUndo: boolean;
|
|
1203
|
+
undoAction?: () => void;
|
|
1204
|
+
undoText: string;
|
|
1205
|
+
icon: string;
|
|
1309
1206
|
title?: string;
|
|
1310
|
-
|
|
1311
|
-
|
|
1312
|
-
|
|
1313
|
-
|
|
1314
|
-
pagination: GridPaginationConfig;
|
|
1315
|
-
search: GridSearchConfig;
|
|
1316
|
-
export?: GridExportConfig;
|
|
1317
|
-
loading: GridLoadingConfig;
|
|
1318
|
-
scroll?: GridScrollConfig;
|
|
1319
|
-
tree?: GridTreeConfig;
|
|
1320
|
-
dragDrop?: GridDragDropConfig;
|
|
1321
|
-
responsive: boolean;
|
|
1322
|
-
striped?: boolean;
|
|
1323
|
-
bordered?: boolean;
|
|
1324
|
-
compact?: boolean;
|
|
1325
|
-
fullHeight?: boolean;
|
|
1326
|
-
onRowClick?: string;
|
|
1327
|
-
onSort?: string;
|
|
1328
|
-
onPageChange?: string;
|
|
1329
|
-
onSearch?: string;
|
|
1330
|
-
onRefresh?: string;
|
|
1331
|
-
onExport?: string;
|
|
1332
|
-
onRowReorder?: string;
|
|
1333
|
-
tableClass?: string;
|
|
1334
|
-
headerClass?: string;
|
|
1335
|
-
rowClass?: string;
|
|
1336
|
-
cellClass?: string;
|
|
1337
|
-
}
|
|
1338
|
-
interface GridState<T = Record<string, unknown>> {
|
|
1339
|
-
currentPage: number;
|
|
1340
|
-
pageSize: number;
|
|
1341
|
-
totalItems: number;
|
|
1342
|
-
totalPages: number;
|
|
1343
|
-
searchQuery: string;
|
|
1344
|
-
sortColumn?: string;
|
|
1345
|
-
sortDirection?: 'asc' | 'desc';
|
|
1346
|
-
loading: boolean;
|
|
1347
|
-
isRefreshing: boolean;
|
|
1348
|
-
selectedRows: T[];
|
|
1349
|
-
}
|
|
1350
|
-
interface GridEvent<T = Record<string, unknown>> {
|
|
1351
|
-
type: 'rowClick' | 'sort' | 'pageChange' | 'search' | 'refresh' | 'export' | 'action' | 'rowReorder';
|
|
1352
|
-
data: T | T[] | string | number | null | {
|
|
1353
|
-
sourceItem: T;
|
|
1354
|
-
sourceIndex: number;
|
|
1355
|
-
targetItem: T;
|
|
1356
|
-
targetIndex: number;
|
|
1357
|
-
newOrder: T[];
|
|
1358
|
-
allOrders?: T[];
|
|
1359
|
-
};
|
|
1360
|
-
column?: GridColumn;
|
|
1361
|
-
action?: GridAction;
|
|
1362
|
-
}
|
|
1363
|
-
declare const DEFAULT_GRID_CONFIG: Partial<GridConfiguration>;
|
|
1364
|
-
type GridEventHandler<T = Record<string, unknown>> = (event: GridEvent<T>) => void;
|
|
1365
|
-
type GridCustomRenderer<T = Record<string, unknown>> = (value: unknown, row: T, column: GridColumn) => string;
|
|
1366
|
-
type GridCustomFormatter = (value: unknown, format?: string) => string;
|
|
1367
|
-
|
|
1368
|
-
interface TemplateContext<T = Record<string, unknown>> {
|
|
1369
|
-
$implicit: unknown;
|
|
1370
|
-
row: T;
|
|
1371
|
-
value: unknown;
|
|
1372
|
-
column: GridColumn;
|
|
1207
|
+
timestamp: number;
|
|
1208
|
+
isVisible: boolean;
|
|
1209
|
+
progress?: number;
|
|
1210
|
+
showProgress?: boolean;
|
|
1373
1211
|
}
|
|
1374
|
-
|
|
1375
|
-
|
|
1376
|
-
|
|
1377
|
-
|
|
1378
|
-
|
|
1379
|
-
actionHandlers: Record<string, (data: T, action?: GridAction) => void>;
|
|
1380
|
-
serverSidePagination: boolean;
|
|
1381
|
-
totalServerItems: number;
|
|
1382
|
-
currentServerPage: number;
|
|
1383
|
-
currentServerPageSize: number;
|
|
1384
|
-
dragDropEnabled: boolean;
|
|
1385
|
-
gridEvent: EventEmitter<GridEvent<T>>;
|
|
1386
|
-
private internalData;
|
|
1387
|
-
private filteredData;
|
|
1388
|
-
currentPage: _angular_core.WritableSignal<number>;
|
|
1389
|
-
pageSize: _angular_core.WritableSignal<number>;
|
|
1390
|
-
totalItems: _angular_core.WritableSignal<number>;
|
|
1391
|
-
totalPages: _angular_core.WritableSignal<number>;
|
|
1392
|
-
searchQuery: _angular_core.WritableSignal<string>;
|
|
1393
|
-
loading: _angular_core.WritableSignal<boolean>;
|
|
1394
|
-
isRefreshing: _angular_core.WritableSignal<boolean>;
|
|
1395
|
-
pageChangeLoading: _angular_core.WritableSignal<boolean>;
|
|
1396
|
-
jumpToPage: number;
|
|
1397
|
-
isDragOverRow: number | null;
|
|
1398
|
-
isDragging: _angular_core.WritableSignal<boolean>;
|
|
1399
|
-
hasOrderChanged: _angular_core.WritableSignal<boolean>;
|
|
1400
|
-
private originalOrderIds;
|
|
1401
|
-
private initialDataOrderIds;
|
|
1402
|
-
private rowOrderMap;
|
|
1403
|
-
private localReorderedData;
|
|
1404
|
-
private searchDebounceTimer?;
|
|
1405
|
-
private isDataUpdate;
|
|
1406
|
-
hasNextPage: _angular_core.Signal<boolean>;
|
|
1407
|
-
hasPreviousPage: _angular_core.Signal<boolean>;
|
|
1408
|
-
mergedConfig: _angular_core.WritableSignal<GridConfiguration<T>>;
|
|
1409
|
-
ngOnInit(): void;
|
|
1410
|
-
ngOnDestroy(): void;
|
|
1411
|
-
ngOnChanges(changes: SimpleChanges): void;
|
|
1412
|
-
/**
|
|
1413
|
-
* Check if the config change is only a data update
|
|
1414
|
-
*/
|
|
1415
|
-
private isDataOnlyUpdate;
|
|
1212
|
+
declare class NotificationService {
|
|
1213
|
+
private notifications;
|
|
1214
|
+
private maxNotifications;
|
|
1215
|
+
activeNotifications: _angular_core.Signal<NotificationItem[]>;
|
|
1216
|
+
constructor();
|
|
1416
1217
|
/**
|
|
1417
|
-
*
|
|
1418
|
-
* This prevents the search input and other UI state from being reset
|
|
1218
|
+
* Show a success notification
|
|
1419
1219
|
*/
|
|
1420
|
-
|
|
1421
|
-
private mergeConfigWithDefaults;
|
|
1422
|
-
private initializeGrid;
|
|
1220
|
+
success(message: string, options?: Partial<NotificationOptions>): string;
|
|
1423
1221
|
/**
|
|
1424
|
-
*
|
|
1222
|
+
* Show an error notification
|
|
1425
1223
|
*/
|
|
1426
|
-
|
|
1224
|
+
error(message: string, options?: Partial<NotificationOptions>): string;
|
|
1427
1225
|
/**
|
|
1428
|
-
*
|
|
1226
|
+
* Show a warning notification
|
|
1429
1227
|
*/
|
|
1430
|
-
|
|
1228
|
+
warning(message: string, options?: Partial<NotificationOptions>): string;
|
|
1431
1229
|
/**
|
|
1432
|
-
*
|
|
1230
|
+
* Show an info notification
|
|
1433
1231
|
*/
|
|
1434
|
-
|
|
1232
|
+
info(message: string, options?: Partial<NotificationOptions>): string;
|
|
1435
1233
|
/**
|
|
1436
|
-
*
|
|
1234
|
+
* Show a notification with undo functionality
|
|
1437
1235
|
*/
|
|
1438
|
-
|
|
1439
|
-
private applyFilters;
|
|
1236
|
+
showWithUndo(message: string, undoAction: () => void, options?: Partial<NotificationOptions>): string;
|
|
1440
1237
|
/**
|
|
1441
|
-
*
|
|
1238
|
+
* Show a notification for reversible destructive actions
|
|
1442
1239
|
*/
|
|
1443
|
-
|
|
1240
|
+
showReversibleAction(action: string, itemName: string, undoAction: () => void, options?: Partial<NotificationOptions>): string;
|
|
1444
1241
|
/**
|
|
1445
|
-
*
|
|
1242
|
+
* Show a notification for background tasks
|
|
1446
1243
|
*/
|
|
1447
|
-
|
|
1244
|
+
showBackgroundTask(taskName: string, isComplete?: boolean, options?: Partial<NotificationOptions>): string;
|
|
1448
1245
|
/**
|
|
1449
|
-
*
|
|
1246
|
+
* Show a progress notification
|
|
1450
1247
|
*/
|
|
1451
|
-
|
|
1248
|
+
showProgress(message: string, progress?: number, options?: Partial<NotificationOptions>): string;
|
|
1452
1249
|
/**
|
|
1453
|
-
*
|
|
1250
|
+
* Update progress for an existing notification
|
|
1454
1251
|
*/
|
|
1455
|
-
|
|
1252
|
+
updateProgress(id: string, progress: number, message?: string): void;
|
|
1456
1253
|
/**
|
|
1457
|
-
*
|
|
1254
|
+
* Core show method
|
|
1458
1255
|
*/
|
|
1459
|
-
private
|
|
1256
|
+
private show;
|
|
1460
1257
|
/**
|
|
1461
|
-
*
|
|
1258
|
+
* Remove a specific notification
|
|
1462
1259
|
*/
|
|
1463
|
-
|
|
1464
|
-
private updatePaginationState;
|
|
1465
|
-
onPageChange(page: number | string): void;
|
|
1466
|
-
onPageSizeChange(): void;
|
|
1467
|
-
updatePageSize(value: string | number | string[]): void;
|
|
1468
|
-
previousPage(): void;
|
|
1469
|
-
nextPage(): void;
|
|
1470
|
-
onJumpToPage(): void;
|
|
1471
|
-
getEnhancedPageNumbers(): (number | string)[];
|
|
1472
|
-
updateSearchQuery(value: inputType): void;
|
|
1473
|
-
onSearch(): void;
|
|
1474
|
-
onRefresh(): void;
|
|
1475
|
-
setRefreshing(isRefreshing: boolean): void;
|
|
1476
|
-
clearPageChangeLoading(): void;
|
|
1260
|
+
remove(id: string): void;
|
|
1477
1261
|
/**
|
|
1478
|
-
*
|
|
1262
|
+
* Remove all notifications
|
|
1479
1263
|
*/
|
|
1480
|
-
|
|
1264
|
+
clearAll(): void;
|
|
1481
1265
|
/**
|
|
1482
|
-
*
|
|
1266
|
+
* Execute undo action for a notification
|
|
1483
1267
|
*/
|
|
1484
|
-
|
|
1485
|
-
|
|
1486
|
-
|
|
1487
|
-
|
|
1488
|
-
|
|
1489
|
-
|
|
1490
|
-
|
|
1491
|
-
|
|
1492
|
-
getItemLevel(item: T): number;
|
|
1493
|
-
/**
|
|
1494
|
-
* Check if item is expanded
|
|
1495
|
-
*/
|
|
1496
|
-
isItemExpanded(item: T): boolean;
|
|
1497
|
-
/**
|
|
1498
|
-
* Get tree indent style
|
|
1499
|
-
*/
|
|
1500
|
-
getTreeIndentStyle(item: T): string;
|
|
1501
|
-
/**
|
|
1502
|
-
* Get tree level background class for visual distinction
|
|
1503
|
-
*/
|
|
1504
|
-
getTreeLevelClass(item: T): string;
|
|
1505
|
-
/**
|
|
1506
|
-
* Check if drag and drop is enabled
|
|
1507
|
-
*/
|
|
1508
|
-
isDragDropEnabled(): boolean;
|
|
1509
|
-
/**
|
|
1510
|
-
* Get drag and drop configuration
|
|
1511
|
-
*/
|
|
1512
|
-
getDragDropConfig(): cloud_ide_element.GridDragDropConfig | undefined;
|
|
1513
|
-
/**
|
|
1514
|
-
* Handle drag start event
|
|
1515
|
-
*/
|
|
1516
|
-
onDragStart(event: DragEvent, item: T, index: number): void;
|
|
1517
|
-
/**
|
|
1518
|
-
* Handle drag over event
|
|
1519
|
-
*/
|
|
1520
|
-
onDragOver(event: DragEvent): void;
|
|
1521
|
-
/**
|
|
1522
|
-
* Handle drag leave event
|
|
1523
|
-
*/
|
|
1524
|
-
onDragLeave(event: DragEvent): void;
|
|
1525
|
-
/**
|
|
1526
|
-
* Handle drop event
|
|
1527
|
-
*/
|
|
1528
|
-
onDrop(event: DragEvent, targetItem: T, targetIndex: number): void;
|
|
1529
|
-
/**
|
|
1530
|
-
* Handle drag end event
|
|
1531
|
-
*/
|
|
1532
|
-
onDragEnd(event: DragEvent): void;
|
|
1533
|
-
/**
|
|
1534
|
-
* Calculate new order after reordering
|
|
1535
|
-
*/
|
|
1536
|
-
private getNewOrder;
|
|
1537
|
-
/**
|
|
1538
|
-
* Get the current order number for a specific item
|
|
1539
|
-
*/
|
|
1540
|
-
getCurrentOrderNumber(item: T): number;
|
|
1541
|
-
/**
|
|
1542
|
-
* Update the row order map with new positions after reordering
|
|
1543
|
-
*/
|
|
1544
|
-
private updateRowOrderMap;
|
|
1545
|
-
/**
|
|
1546
|
-
* Check if any row has changed position by comparing old vs new positions
|
|
1547
|
-
*/
|
|
1548
|
-
private checkIfOrderChanged;
|
|
1549
|
-
/**
|
|
1550
|
-
* Reset the row order map to original positions (for reset action)
|
|
1551
|
-
* Includes all items from hierarchical structure (parents and children)
|
|
1552
|
-
*/
|
|
1553
|
-
private resetRowOrderMap;
|
|
1554
|
-
/**
|
|
1555
|
-
* Update the row order map baseline to current positions (for save action)
|
|
1556
|
-
* Includes all items from hierarchical structure (parents and children)
|
|
1557
|
-
*/
|
|
1558
|
-
private updateRowOrderMapBaseline;
|
|
1559
|
-
/**
|
|
1560
|
-
* Get the current order array from the row order map
|
|
1561
|
-
* Includes all items from hierarchical structure (parents and children)
|
|
1562
|
-
*/
|
|
1563
|
-
private getCurrentOrderFromMap;
|
|
1564
|
-
/**
|
|
1565
|
-
* Get only the items that have actually changed order
|
|
1566
|
-
* Includes all items from hierarchical structure (parents and children)
|
|
1567
|
-
*/
|
|
1568
|
-
private getChangedOrders;
|
|
1569
|
-
/**
|
|
1570
|
-
* Flatten all data for order tracking (includes all hierarchical children)
|
|
1571
|
-
* This method ensures that all items (parents and children) are included in order tracking
|
|
1572
|
-
*/
|
|
1573
|
-
private flattenAllDataForOrderTracking;
|
|
1574
|
-
/**
|
|
1575
|
-
* Update local data order for visual reordering (LOCAL ONLY)
|
|
1576
|
-
*/
|
|
1577
|
-
private updateLocalDataOrder;
|
|
1578
|
-
/**
|
|
1579
|
-
* Check if the current order has changed from the initial order
|
|
1580
|
-
*/
|
|
1581
|
-
private checkOrderChanged;
|
|
1582
|
-
onRowClick(item: T): void;
|
|
1583
|
-
onActionClick(item: T, action: GridAction): void;
|
|
1584
|
-
private emitEvent;
|
|
1585
|
-
/**
|
|
1586
|
-
* Get nested value from an object
|
|
1587
|
-
* @param obj - The object to get the nested value from
|
|
1588
|
-
* @param path - The path to the nested value (e.g., 'contact.email')
|
|
1589
|
-
* @returns The nested value or undefined if not found
|
|
1590
|
-
* @example
|
|
1591
|
-
* const obj = { contact: { email: 'test@example.com' } };
|
|
1592
|
-
* const value = getNestedValue(obj, 'contact.email');
|
|
1593
|
-
* // value === 'test@example.com'
|
|
1594
|
-
*/
|
|
1595
|
-
getNestedValue(obj: T, path: string): unknown;
|
|
1596
|
-
/**
|
|
1597
|
-
* Set a nested value in an object using dot notation
|
|
1598
|
-
* @param obj The object to modify
|
|
1599
|
-
* @param path The dot notation path (e.g., 'contact.email')
|
|
1600
|
-
* @param value The value to set
|
|
1601
|
-
* @example
|
|
1602
|
-
* const obj = { contact: { email: 'old@example.com' } };
|
|
1603
|
-
* setNestedValue(obj, 'contact.email', 'new@example.com');
|
|
1604
|
-
* // obj.contact.email === 'new@example.com'
|
|
1605
|
-
*/
|
|
1606
|
-
setNestedValue(obj: T, path: string, value: unknown): void;
|
|
1607
|
-
/**
|
|
1608
|
-
* Compare two order arrays to check if they are different
|
|
1609
|
-
* This method can be used by parent components to check if order has actually changed
|
|
1610
|
-
* @param currentOrder Current order array
|
|
1611
|
-
* @param originalOrder Original order array
|
|
1612
|
-
* @returns true if orders are different, false if they are the same
|
|
1613
|
-
*/
|
|
1614
|
-
compareOrders(currentOrder: Array<{
|
|
1615
|
-
id: string | undefined;
|
|
1616
|
-
order: number | undefined;
|
|
1617
|
-
}>, originalOrder: Array<{
|
|
1618
|
-
id: string | undefined;
|
|
1619
|
-
order: number | undefined;
|
|
1620
|
-
}>): boolean;
|
|
1621
|
-
formatValue(value: unknown, column: GridColumn): string;
|
|
1622
|
-
private formatDate;
|
|
1623
|
-
private formatCurrency;
|
|
1624
|
-
private formatPercentage;
|
|
1625
|
-
isTemplateRenderer(rendererKey: string): boolean;
|
|
1626
|
-
getTemplateRenderer(rendererKey: string): TemplateRenderer<T> | null;
|
|
1627
|
-
getTemplateContext(value: unknown, row: T, column: GridColumn): TemplateContext<T>;
|
|
1628
|
-
getColumnWidthClass(width?: ColumnWidth): string;
|
|
1629
|
-
getColumnMaxWidthClass(width?: ColumnWidth): string;
|
|
1630
|
-
getStatusClass(value: unknown, statusConfig?: StatusConfig): string;
|
|
1631
|
-
getStatusText(value: unknown, statusConfig?: StatusConfig): string;
|
|
1632
|
-
getItemRangeText(): string;
|
|
1633
|
-
getPageSizeOptions(): {
|
|
1634
|
-
value: number;
|
|
1635
|
-
label: string;
|
|
1636
|
-
}[];
|
|
1637
|
-
trackByFn(index: number, item: T): unknown;
|
|
1638
|
-
getSkeletonArray(): number[];
|
|
1639
|
-
get displayedData(): T[];
|
|
1640
|
-
get columns(): GridColumn[];
|
|
1641
|
-
get paginationConfig(): cloud_ide_element.GridPaginationConfig;
|
|
1642
|
-
get searchConfig(): cloud_ide_element.GridSearchConfig;
|
|
1643
|
-
get loadingConfig(): cloud_ide_element.GridLoadingConfig;
|
|
1644
|
-
get scrollConfig(): cloud_ide_element.GridScrollConfig | undefined;
|
|
1645
|
-
static ɵfac: _angular_core.ɵɵFactoryDeclaration<CideEleDataGridComponent<any>, never>;
|
|
1646
|
-
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>;
|
|
1268
|
+
executeUndo(id: string): void;
|
|
1269
|
+
private addNotification;
|
|
1270
|
+
private generateId;
|
|
1271
|
+
private getDefaultIcon;
|
|
1272
|
+
getNotifications(): _angular_core.WritableSignal<NotificationItem[]>;
|
|
1273
|
+
getActiveNotifications(): _angular_core.Signal<NotificationItem[]>;
|
|
1274
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<NotificationService, never>;
|
|
1275
|
+
static ɵprov: _angular_core.ɵɵInjectableDeclaration<NotificationService>;
|
|
1647
1276
|
}
|
|
1648
1277
|
|
|
1649
|
-
|
|
1650
|
-
|
|
1651
|
-
|
|
1652
|
-
|
|
1653
|
-
|
|
1654
|
-
|
|
1655
|
-
|
|
1656
|
-
|
|
1657
|
-
|
|
1278
|
+
/**
|
|
1279
|
+
* File Manager Interfaces
|
|
1280
|
+
* Based on core_file_manager table schema
|
|
1281
|
+
*/
|
|
1282
|
+
interface ICoreCyfm {
|
|
1283
|
+
_id?: string;
|
|
1284
|
+
cyfm_name?: string;
|
|
1285
|
+
cyfm_alt_text?: string;
|
|
1286
|
+
cyfm_path?: string;
|
|
1287
|
+
cyfm_size_in_byte?: number;
|
|
1288
|
+
cyfm_type?: string;
|
|
1289
|
+
cyfm_creation_dt?: string;
|
|
1290
|
+
cyfm_id_user?: string;
|
|
1291
|
+
cyfm_permissions?: string[];
|
|
1292
|
+
cyfm_tags?: string[];
|
|
1293
|
+
cyfm_version?: number;
|
|
1294
|
+
cyfm_file_status_sygmt?: string;
|
|
1295
|
+
cyfm_group_id?: string;
|
|
1296
|
+
cyfm_ismultiple?: boolean;
|
|
1297
|
+
cyfm_isactive?: boolean;
|
|
1658
1298
|
}
|
|
1659
|
-
interface
|
|
1660
|
-
|
|
1661
|
-
|
|
1662
|
-
|
|
1663
|
-
|
|
1664
|
-
|
|
1665
|
-
|
|
1666
|
-
|
|
1667
|
-
|
|
1668
|
-
|
|
1669
|
-
|
|
1670
|
-
|
|
1671
|
-
|
|
1672
|
-
|
|
1299
|
+
interface ICoreFileManager extends ICoreCyfm {
|
|
1300
|
+
_id: string;
|
|
1301
|
+
cyfm_name: string;
|
|
1302
|
+
cyfm_path: string;
|
|
1303
|
+
cyfm_size_in_byte: number;
|
|
1304
|
+
cyfm_type: string;
|
|
1305
|
+
cyfm_creation_dt: string;
|
|
1306
|
+
cyfm_id_user: string;
|
|
1307
|
+
cyfm_permissions: string[];
|
|
1308
|
+
cyfm_tags: string[];
|
|
1309
|
+
cyfm_version: number;
|
|
1310
|
+
cyfm_file_status_sygmt: string;
|
|
1311
|
+
cyfm_group_id?: string;
|
|
1312
|
+
cyfm_ismultiple?: boolean;
|
|
1313
|
+
cyfm_isactive: boolean;
|
|
1673
1314
|
}
|
|
1674
|
-
interface
|
|
1675
|
-
|
|
1676
|
-
|
|
1677
|
-
|
|
1678
|
-
|
|
1679
|
-
|
|
1680
|
-
|
|
1681
|
-
|
|
1315
|
+
interface controllerResponse {
|
|
1316
|
+
success?: boolean;
|
|
1317
|
+
error_code?: string;
|
|
1318
|
+
message?: string;
|
|
1319
|
+
data?: any;
|
|
1320
|
+
code?: string;
|
|
1321
|
+
action?: string;
|
|
1322
|
+
total?: number;
|
|
1323
|
+
pageIndex?: number;
|
|
1324
|
+
pageSize?: number;
|
|
1325
|
+
controls?: {
|
|
1326
|
+
[key: string]: string;
|
|
1682
1327
|
};
|
|
1683
1328
|
}
|
|
1684
|
-
|
|
1685
|
-
|
|
1686
|
-
|
|
1687
|
-
|
|
1688
|
-
|
|
1689
|
-
|
|
1690
|
-
|
|
1691
|
-
dropdownContainer: _angular_core.Signal<ElementRef<any>>;
|
|
1692
|
-
dropdownMenu: _angular_core.Signal<ElementRef<any> | undefined>;
|
|
1693
|
-
dropdownMenuTemplate: _angular_core.Signal<TemplateRef<any> | undefined>;
|
|
1694
|
-
set items(value: DropdownItem[]);
|
|
1695
|
-
get items(): DropdownItem[];
|
|
1696
|
-
private _items;
|
|
1697
|
-
config: DropdownConfig;
|
|
1698
|
-
triggerTemplate?: TemplateRef<{
|
|
1699
|
-
$implicit: boolean;
|
|
1700
|
-
}>;
|
|
1701
|
-
menuTemplate?: TemplateRef<{
|
|
1702
|
-
$implicit: DropdownItem[];
|
|
1703
|
-
}>;
|
|
1704
|
-
itemClick: EventEmitter<DropdownItem>;
|
|
1705
|
-
dropdownToggle: EventEmitter<boolean>;
|
|
1706
|
-
isOpen: _angular_core.WritableSignal<boolean>;
|
|
1707
|
-
currentPosition: _angular_core.WritableSignal<DropdownPosition>;
|
|
1708
|
-
ngOnInit(): void;
|
|
1709
|
-
getTriggerClasses(): string;
|
|
1710
|
-
getTriggerIconClasses(): string;
|
|
1711
|
-
getMenuClasses(): string;
|
|
1712
|
-
getMenuStyles(): string;
|
|
1713
|
-
calculatePosition(): DropdownPosition;
|
|
1714
|
-
private getMenuWidth;
|
|
1715
|
-
protected getSafeConfig(): DropdownConfig;
|
|
1716
|
-
private getEstimatedMenuHeight;
|
|
1717
|
-
toggleDropdown(event: Event): void;
|
|
1718
|
-
private openDropdown;
|
|
1719
|
-
testMouseDown(item: DropdownItem): void;
|
|
1720
|
-
onItemClick(item: DropdownItem, event: Event): void;
|
|
1721
|
-
private createPortalDropdown;
|
|
1722
|
-
private destroyPortalDropdown;
|
|
1723
|
-
closeDropdown(): void;
|
|
1724
|
-
getItemClasses(item: DropdownItem): string;
|
|
1725
|
-
onWindowResize(): void;
|
|
1726
|
-
onWindowScroll(): void;
|
|
1727
|
-
ngOnDestroy(): void;
|
|
1728
|
-
static ɵfac: _angular_core.ɵɵFactoryDeclaration<CideEleDropdownComponent, never>;
|
|
1729
|
-
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>;
|
|
1329
|
+
type IFileManagerErrorLogger = {
|
|
1330
|
+
[key in keyof MFileManager]: string;
|
|
1331
|
+
};
|
|
1332
|
+
declare class MFileManager {
|
|
1333
|
+
cyfm_id: string;
|
|
1334
|
+
constructor(init: MFileManager);
|
|
1335
|
+
Validate?(): Partial<IFileManagerErrorLogger>;
|
|
1730
1336
|
}
|
|
1731
|
-
|
|
1732
|
-
|
|
1733
|
-
|
|
1734
|
-
|
|
1735
|
-
|
|
1337
|
+
declare class ICoreCyfmSave implements ICoreCyfm {
|
|
1338
|
+
_id?: string;
|
|
1339
|
+
cyfm_name?: string;
|
|
1340
|
+
cyfm_alt_text?: string;
|
|
1341
|
+
cyfm_path?: string;
|
|
1342
|
+
cyfm_size_in_byte?: number;
|
|
1343
|
+
cyfm_type?: string;
|
|
1344
|
+
cyfm_creation_dt?: string;
|
|
1345
|
+
cyfm_id_user?: string;
|
|
1346
|
+
cyfm_permissions?: string[];
|
|
1347
|
+
cyfm_tags?: string[];
|
|
1348
|
+
cyfm_version?: number;
|
|
1349
|
+
cyfm_file_status_sygmt?: string;
|
|
1350
|
+
cyfm_group_id?: string;
|
|
1351
|
+
cyfm_isactive?: boolean;
|
|
1352
|
+
cyfm_ismultiple?: boolean;
|
|
1353
|
+
cyfm_file_base64: string;
|
|
1354
|
+
cyfm_temp_unique_id: string;
|
|
1355
|
+
constructor(init: ICoreCyfmSave);
|
|
1736
1356
|
}
|
|
1737
|
-
declare class
|
|
1738
|
-
|
|
1739
|
-
|
|
1740
|
-
|
|
1741
|
-
constructor();
|
|
1742
|
-
|
|
1743
|
-
|
|
1744
|
-
|
|
1745
|
-
|
|
1746
|
-
|
|
1747
|
-
|
|
1748
|
-
|
|
1749
|
-
|
|
1750
|
-
|
|
1751
|
-
|
|
1357
|
+
declare class CoreFileManagerInsertUpdatePayload {
|
|
1358
|
+
core_file_manager_new: ICoreCyfmSave[];
|
|
1359
|
+
core_file_manager_update: ICoreCyfm[];
|
|
1360
|
+
core_file_manager_delete: ICoreCyfm[];
|
|
1361
|
+
constructor(init: CoreFileManagerInsertUpdatePayload);
|
|
1362
|
+
Validate?(): Partial<IFileManagerErrorLogger>;
|
|
1363
|
+
}
|
|
1364
|
+
interface fileManagerResponseData extends ICoreCyfm {
|
|
1365
|
+
cyfm_file_base64: string;
|
|
1366
|
+
}
|
|
1367
|
+
interface fileManagerControllerResponse extends controllerResponse {
|
|
1368
|
+
data?: fileManagerResponseData[];
|
|
1369
|
+
}
|
|
1370
|
+
interface CoreFileManagerInsertUpdateResponse extends controllerResponse {
|
|
1371
|
+
data?: {
|
|
1372
|
+
core_file_manager: {
|
|
1373
|
+
cyfm_id: string;
|
|
1374
|
+
cyfm_temp_unique_id: string;
|
|
1375
|
+
}[];
|
|
1376
|
+
};
|
|
1377
|
+
}
|
|
1378
|
+
interface mongooseObjectIdCreateControllerResponse extends controllerResponse {
|
|
1379
|
+
data?: {
|
|
1380
|
+
objectId: string;
|
|
1381
|
+
};
|
|
1382
|
+
}
|
|
1383
|
+
interface IFileUploadRequest {
|
|
1384
|
+
file: File;
|
|
1385
|
+
altText?: string;
|
|
1386
|
+
tags?: string[];
|
|
1387
|
+
permissions?: string[];
|
|
1388
|
+
userId?: string;
|
|
1389
|
+
groupId?: string;
|
|
1390
|
+
[key: string]: string | number | string[] | File | undefined;
|
|
1391
|
+
}
|
|
1392
|
+
interface IFileUploadResponse {
|
|
1393
|
+
success: boolean;
|
|
1394
|
+
message: string;
|
|
1395
|
+
data?: ICoreFileManager;
|
|
1396
|
+
error?: string;
|
|
1397
|
+
}
|
|
1398
|
+
interface IFileListRequest {
|
|
1399
|
+
pageIndex: number;
|
|
1400
|
+
pageSize: number;
|
|
1401
|
+
search?: string;
|
|
1402
|
+
fileType?: string;
|
|
1403
|
+
status?: string;
|
|
1404
|
+
userId?: string;
|
|
1405
|
+
tags?: string[];
|
|
1406
|
+
sortBy?: string;
|
|
1407
|
+
sortOrder?: 'asc' | 'desc';
|
|
1408
|
+
}
|
|
1409
|
+
interface IFileListResponse {
|
|
1410
|
+
success: boolean;
|
|
1411
|
+
message: string;
|
|
1412
|
+
data: ICoreFileManager[];
|
|
1413
|
+
total: number;
|
|
1414
|
+
pageIndex: number;
|
|
1415
|
+
pageSize: number;
|
|
1416
|
+
}
|
|
1417
|
+
interface IFileDeleteResponse {
|
|
1418
|
+
success: boolean;
|
|
1419
|
+
message: string;
|
|
1420
|
+
data?: string;
|
|
1421
|
+
}
|
|
1422
|
+
interface IFileUpdateRequest {
|
|
1423
|
+
_id: string;
|
|
1424
|
+
cyfm_name?: string;
|
|
1425
|
+
cyfm_alt_text?: string;
|
|
1426
|
+
cyfm_tags?: string[];
|
|
1427
|
+
cyfm_permissions?: string[];
|
|
1428
|
+
cyfm_file_status_sygmt?: string;
|
|
1429
|
+
cyfm_isactive?: boolean;
|
|
1430
|
+
}
|
|
1431
|
+
interface IFileUpdateResponse {
|
|
1432
|
+
success: boolean;
|
|
1433
|
+
message: string;
|
|
1434
|
+
data?: ICoreFileManager;
|
|
1435
|
+
}
|
|
1436
|
+
interface IFileUploadProgress {
|
|
1437
|
+
fileId: string;
|
|
1438
|
+
fileName: string;
|
|
1439
|
+
progress: number;
|
|
1440
|
+
status: 'pending' | 'uploading' | 'completed' | 'error' | 'cancelled';
|
|
1441
|
+
error?: string;
|
|
1442
|
+
uploadedFile?: any;
|
|
1443
|
+
}
|
|
1444
|
+
interface IFileUploadQueueItem extends IFileUploadProgress {
|
|
1445
|
+
file: File;
|
|
1446
|
+
}
|
|
1447
|
+
interface IFileFilterOptions {
|
|
1448
|
+
fileTypes: string[];
|
|
1449
|
+
statuses: string[];
|
|
1450
|
+
dateRange?: {
|
|
1451
|
+
start: Date;
|
|
1452
|
+
end: Date;
|
|
1453
|
+
};
|
|
1454
|
+
sizeRange?: {
|
|
1455
|
+
min: number;
|
|
1456
|
+
max: number;
|
|
1457
|
+
};
|
|
1458
|
+
tags: string[];
|
|
1459
|
+
}
|
|
1460
|
+
interface IFileGroupingOptions {
|
|
1461
|
+
groupBy: 'type' | 'status' | 'date' | 'size' | 'user' | 'none';
|
|
1462
|
+
sortBy: 'name' | 'size' | 'date' | 'type';
|
|
1463
|
+
sortOrder: 'asc' | 'desc';
|
|
1752
1464
|
}
|
|
1753
1465
|
|
|
1754
|
-
interface
|
|
1755
|
-
|
|
1756
|
-
|
|
1757
|
-
|
|
1758
|
-
|
|
1759
|
-
|
|
1760
|
-
|
|
1761
|
-
|
|
1762
|
-
|
|
1763
|
-
|
|
1764
|
-
|
|
1765
|
-
reject: (reason?: unknown) => void;
|
|
1466
|
+
interface FileUploadOptions {
|
|
1467
|
+
altText?: string;
|
|
1468
|
+
userId?: string;
|
|
1469
|
+
permissions?: string[];
|
|
1470
|
+
tags?: string[];
|
|
1471
|
+
fileStatus?: string;
|
|
1472
|
+
groupId?: string;
|
|
1473
|
+
isMultiple?: boolean;
|
|
1474
|
+
retryAttempts?: number;
|
|
1475
|
+
timeout?: number;
|
|
1476
|
+
[key: string]: string | number | string[] | undefined | boolean;
|
|
1766
1477
|
}
|
|
1767
|
-
interface
|
|
1768
|
-
|
|
1769
|
-
|
|
1770
|
-
|
|
1771
|
-
|
|
1772
|
-
|
|
1773
|
-
cancelText?: string;
|
|
1774
|
-
customTemplate?: TemplateRef<unknown>;
|
|
1775
|
-
customData?: T;
|
|
1478
|
+
interface UploadProgress {
|
|
1479
|
+
loaded: number;
|
|
1480
|
+
total: number;
|
|
1481
|
+
percentage: number;
|
|
1482
|
+
stage: 'reading' | 'uploading' | 'complete' | 'error';
|
|
1483
|
+
groupId?: string;
|
|
1776
1484
|
}
|
|
1777
|
-
|
|
1778
|
-
|
|
1779
|
-
|
|
1780
|
-
|
|
1485
|
+
interface ServiceState {
|
|
1486
|
+
isUploading: boolean;
|
|
1487
|
+
uploadQueue: string[];
|
|
1488
|
+
activeUploads: Map<string, UploadProgress>;
|
|
1489
|
+
error: string | null;
|
|
1490
|
+
}
|
|
1491
|
+
declare class CideEleFileManagerService {
|
|
1492
|
+
private readonly http;
|
|
1493
|
+
private readonly destroyRef;
|
|
1494
|
+
private readonly _baseUrl;
|
|
1495
|
+
private readonly _objectIdEndpoint;
|
|
1496
|
+
private readonly _userId;
|
|
1497
|
+
private readonly _isUploading;
|
|
1498
|
+
private readonly _uploadQueue;
|
|
1499
|
+
private readonly _activeUploads;
|
|
1500
|
+
private readonly _fetchedFiles;
|
|
1501
|
+
private readonly _fileIdMapping;
|
|
1502
|
+
private readonly _error;
|
|
1503
|
+
readonly baseUrl: _angular_core.Signal<string>;
|
|
1504
|
+
readonly objectIdEndpoint: _angular_core.Signal<string>;
|
|
1505
|
+
readonly userId: _angular_core.Signal<string>;
|
|
1506
|
+
readonly isUploading: _angular_core.Signal<boolean>;
|
|
1507
|
+
readonly uploadQueue: _angular_core.Signal<string[]>;
|
|
1508
|
+
readonly activeUploads: _angular_core.Signal<Map<string, UploadProgress>>;
|
|
1509
|
+
readonly fetchedFiles: _angular_core.Signal<Map<string, any[]>>;
|
|
1510
|
+
readonly error: _angular_core.Signal<string | null>;
|
|
1511
|
+
readonly hasActiveUploads: _angular_core.Signal<boolean>;
|
|
1781
1512
|
readonly queueLength: _angular_core.Signal<number>;
|
|
1513
|
+
readonly totalFetchedFiles: _angular_core.Signal<number>;
|
|
1514
|
+
readonly getFileCountByGroup: _angular_core.Signal<Map<string, number>>;
|
|
1515
|
+
readonly serviceState: _angular_core.Signal<{
|
|
1516
|
+
isUploading: boolean;
|
|
1517
|
+
uploadQueue: string[];
|
|
1518
|
+
activeUploads: Map<string, UploadProgress>;
|
|
1519
|
+
fetchedFiles: Map<string, any[]>;
|
|
1520
|
+
error: string | null;
|
|
1521
|
+
}>;
|
|
1782
1522
|
constructor();
|
|
1783
|
-
ngOnDestroy(): void;
|
|
1784
1523
|
/**
|
|
1785
|
-
*
|
|
1524
|
+
* Upload a file with base64 encoding and progress tracking
|
|
1525
|
+
* Angular 20: Enhanced with better error handling, retry logic, and signal-based state
|
|
1526
|
+
* @param file The file to upload
|
|
1527
|
+
* @param options Upload options and additional data
|
|
1528
|
+
* @param progressCallback Optional callback for progress updates
|
|
1529
|
+
* @returns Observable with the upload response
|
|
1786
1530
|
*/
|
|
1787
|
-
|
|
1531
|
+
uploadFile(file: File, options?: FileUploadOptions, progressCallback?: (progress: number) => void): Observable<CoreFileManagerInsertUpdateResponse>;
|
|
1788
1532
|
/**
|
|
1789
|
-
*
|
|
1533
|
+
* Set the base URL for API calls
|
|
1534
|
+
* Angular 20: Using signal-based state management
|
|
1535
|
+
* @param url The base URL for the API
|
|
1790
1536
|
*/
|
|
1791
|
-
|
|
1792
|
-
customTemplate: TemplateRef<unknown>;
|
|
1793
|
-
}): Promise<T>;
|
|
1537
|
+
setBaseUrl(url: string): void;
|
|
1794
1538
|
/**
|
|
1795
|
-
*
|
|
1539
|
+
* Set the user ID for file uploads
|
|
1540
|
+
* Angular 20: Using signal-based state management
|
|
1541
|
+
* @param userId The user ID to associate with uploaded files
|
|
1796
1542
|
*/
|
|
1797
|
-
|
|
1543
|
+
setUserId(userId: string): void;
|
|
1798
1544
|
/**
|
|
1799
|
-
*
|
|
1545
|
+
* Set the object ID generation endpoint
|
|
1546
|
+
* Angular 20: Using signal-based state management
|
|
1547
|
+
* @param endpoint The endpoint for generating object IDs (e.g., '/utility/generateObjectId')
|
|
1800
1548
|
*/
|
|
1801
|
-
|
|
1549
|
+
setObjectIdEndpoint(endpoint: string): void;
|
|
1802
1550
|
/**
|
|
1803
|
-
*
|
|
1551
|
+
* Generate Object ID for group uploads
|
|
1552
|
+
* Calls the backend API to generate a unique ObjectId for grouping multiple files
|
|
1553
|
+
* Uses the configurable object ID endpoint instead of hardcoded path
|
|
1554
|
+
* @returns Observable with the generated ObjectId
|
|
1804
1555
|
*/
|
|
1805
|
-
|
|
1806
|
-
|
|
1807
|
-
|
|
1808
|
-
|
|
1809
|
-
|
|
1810
|
-
private
|
|
1811
|
-
private
|
|
1812
|
-
private
|
|
1813
|
-
|
|
1814
|
-
|
|
1815
|
-
|
|
1816
|
-
|
|
1817
|
-
|
|
1818
|
-
|
|
1819
|
-
|
|
1820
|
-
|
|
1821
|
-
|
|
1822
|
-
|
|
1823
|
-
|
|
1824
|
-
|
|
1825
|
-
|
|
1826
|
-
|
|
1827
|
-
|
|
1828
|
-
|
|
1829
|
-
|
|
1830
|
-
|
|
1831
|
-
|
|
1832
|
-
|
|
1833
|
-
|
|
1834
|
-
|
|
1835
|
-
|
|
1836
|
-
|
|
1837
|
-
|
|
1838
|
-
|
|
1839
|
-
|
|
1840
|
-
|
|
1841
|
-
|
|
1842
|
-
|
|
1843
|
-
|
|
1844
|
-
|
|
1556
|
+
generateObjectId(): Observable<mongooseObjectIdCreateControllerResponse>;
|
|
1557
|
+
/**
|
|
1558
|
+
* Angular 20: Helper methods for state management
|
|
1559
|
+
*/
|
|
1560
|
+
private generateFileId;
|
|
1561
|
+
private addToUploadQueue;
|
|
1562
|
+
private removeFromUploadQueue;
|
|
1563
|
+
private updateUploadProgress;
|
|
1564
|
+
private removeActiveUpload;
|
|
1565
|
+
/**
|
|
1566
|
+
* Angular 20: Enhanced error handling
|
|
1567
|
+
*/
|
|
1568
|
+
private handleError;
|
|
1569
|
+
/**
|
|
1570
|
+
* Get file details by ID
|
|
1571
|
+
* @param payload The file ID to fetch details for
|
|
1572
|
+
* @returns Observable with file details
|
|
1573
|
+
*/
|
|
1574
|
+
getFileDetails(payload: MFileManager): Observable<fileManagerControllerResponse>;
|
|
1575
|
+
/**
|
|
1576
|
+
* Get files by group ID and store them in service state
|
|
1577
|
+
* @param groupId The group ID to fetch files for
|
|
1578
|
+
* @returns Observable with files list
|
|
1579
|
+
*/
|
|
1580
|
+
getFilesByGroupId(groupId: string): Observable<fileManagerListByGroupIdControllerResponse>;
|
|
1581
|
+
/**
|
|
1582
|
+
* Fetch and store files by group ID in service state
|
|
1583
|
+
* @param groupId The group ID to fetch files for
|
|
1584
|
+
* @returns Observable that completes when files are stored
|
|
1585
|
+
*/
|
|
1586
|
+
fetchAndStoreFilesByGroupId(groupId: string): Observable<any[]>;
|
|
1587
|
+
/**
|
|
1588
|
+
* Get fetched files for a specific group ID
|
|
1589
|
+
* @param groupId The group ID to get files for
|
|
1590
|
+
* @returns Array of files for the group
|
|
1591
|
+
*/
|
|
1592
|
+
getFetchedFilesByGroupId(groupId: string): any[];
|
|
1593
|
+
/**
|
|
1594
|
+
* Signal to trigger floating uploader visibility
|
|
1595
|
+
*/
|
|
1596
|
+
private readonly _showFloatingUploader;
|
|
1597
|
+
private readonly _triggerGroupId;
|
|
1598
|
+
readonly showFloatingUploader: _angular_core.Signal<boolean>;
|
|
1599
|
+
readonly getTriggerGroupId: _angular_core.Signal<string | null>;
|
|
1600
|
+
/**
|
|
1601
|
+
* Trigger floating uploader to show with group ID
|
|
1602
|
+
* This is the ONLY way to pass group ID to floating uploader
|
|
1603
|
+
*/
|
|
1604
|
+
triggerFloatingUploaderShow(groupId?: string): void;
|
|
1605
|
+
/**
|
|
1606
|
+
* Get all files (active uploads + fetched files) for a group ID
|
|
1607
|
+
* @param groupId The group ID to get files for
|
|
1608
|
+
* @returns Combined array of active and fetched files
|
|
1609
|
+
*/
|
|
1610
|
+
getAllFilesForGroup(groupId: string): Array<{
|
|
1611
|
+
fileId: string;
|
|
1612
|
+
fileName: string;
|
|
1613
|
+
stage: string;
|
|
1614
|
+
percentage?: number;
|
|
1615
|
+
}>;
|
|
1616
|
+
/**
|
|
1617
|
+
* Get file name from file ID (extract from the ID format)
|
|
1618
|
+
*/
|
|
1619
|
+
private getFileNameFromId;
|
|
1620
|
+
/**
|
|
1621
|
+
* Angular 20: Service utility methods
|
|
1622
|
+
*/
|
|
1623
|
+
clearError(): void;
|
|
1624
|
+
getUploadProgress(fileId: string): UploadProgress | undefined;
|
|
1625
|
+
cancelUpload(fileId: string): void;
|
|
1626
|
+
/**
|
|
1627
|
+
* Clear all completed uploads from active uploads
|
|
1628
|
+
* Called when the floating uploader is closed
|
|
1629
|
+
*/
|
|
1630
|
+
clearCompletedUploads(): void;
|
|
1631
|
+
/**
|
|
1632
|
+
* Remove a specific completed upload from active uploads
|
|
1633
|
+
*/
|
|
1634
|
+
removeCompletedUpload(fileId: string): void;
|
|
1635
|
+
/**
|
|
1636
|
+
* Optimized method to get file count for a specific group
|
|
1637
|
+
* Uses computed property for better performance
|
|
1638
|
+
*/
|
|
1639
|
+
getFileCountForGroup(groupId: string): number;
|
|
1640
|
+
/**
|
|
1641
|
+
* Optimized method to check if group has active uploads
|
|
1642
|
+
*/
|
|
1643
|
+
hasActiveUploadsForGroup(groupId: string): boolean;
|
|
1644
|
+
/**
|
|
1645
|
+
* Angular 20: File validation utility
|
|
1646
|
+
*/
|
|
1647
|
+
validateFile(file: File, maxSizeMB?: number, allowedTypes?: string[]): {
|
|
1648
|
+
valid: boolean;
|
|
1649
|
+
error?: string;
|
|
1650
|
+
};
|
|
1651
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<CideEleFileManagerService, never>;
|
|
1652
|
+
static ɵprov: _angular_core.ɵɵInjectableDeclaration<CideEleFileManagerService>;
|
|
1845
1653
|
}
|
|
1846
|
-
|
|
1847
|
-
|
|
1848
|
-
private
|
|
1849
|
-
|
|
1850
|
-
|
|
1654
|
+
|
|
1655
|
+
declare class CideCoreFileManagerService {
|
|
1656
|
+
private http;
|
|
1657
|
+
private apiUrl;
|
|
1658
|
+
private fileListSubject;
|
|
1659
|
+
fileList$: Observable<ICoreFileManager[]>;
|
|
1660
|
+
constructor(http: HttpClient);
|
|
1851
1661
|
/**
|
|
1852
|
-
*
|
|
1662
|
+
* Get file list from API
|
|
1853
1663
|
*/
|
|
1854
|
-
|
|
1664
|
+
getFileList(body: IFileListRequest): Observable<IFileListResponse>;
|
|
1855
1665
|
/**
|
|
1856
|
-
*
|
|
1666
|
+
* Get file list using mock data (deprecated - use getFileList instead)
|
|
1857
1667
|
*/
|
|
1858
|
-
|
|
1668
|
+
getFileListWithMockData(_body: IFileListRequest): Observable<IFileListResponse>;
|
|
1859
1669
|
/**
|
|
1860
|
-
*
|
|
1670
|
+
* Get file list from cache (if available)
|
|
1861
1671
|
*/
|
|
1862
|
-
|
|
1672
|
+
getFileListFromCache(): ICoreFileManager[];
|
|
1863
1673
|
/**
|
|
1864
|
-
*
|
|
1674
|
+
* Upload file with progress tracking
|
|
1865
1675
|
*/
|
|
1866
|
-
|
|
1676
|
+
uploadFile(request: IFileUploadRequest): Observable<HttpEvent<IFileUploadResponse>>;
|
|
1867
1677
|
/**
|
|
1868
|
-
*
|
|
1678
|
+
* Upload file with progress tracking (mock version - deprecated)
|
|
1869
1679
|
*/
|
|
1870
|
-
|
|
1680
|
+
uploadFileWithMockData(request: IFileUploadRequest): Observable<HttpEvent<IFileUploadResponse>>;
|
|
1871
1681
|
/**
|
|
1872
|
-
*
|
|
1682
|
+
* Update file metadata
|
|
1873
1683
|
*/
|
|
1874
|
-
|
|
1684
|
+
updateFile(request: IFileUpdateRequest): Observable<IFileUpdateResponse>;
|
|
1875
1685
|
/**
|
|
1876
|
-
*
|
|
1686
|
+
* Delete file
|
|
1877
1687
|
*/
|
|
1878
|
-
|
|
1688
|
+
deleteFile(id: string): Observable<IFileDeleteResponse>;
|
|
1879
1689
|
/**
|
|
1880
|
-
*
|
|
1690
|
+
* Delete multiple files
|
|
1881
1691
|
*/
|
|
1882
|
-
|
|
1692
|
+
deleteMultipleFiles(ids: string[]): Observable<{
|
|
1693
|
+
success: boolean;
|
|
1694
|
+
message?: string;
|
|
1695
|
+
data?: unknown;
|
|
1696
|
+
}>;
|
|
1883
1697
|
/**
|
|
1884
|
-
*
|
|
1698
|
+
* Toggle file active status
|
|
1885
1699
|
*/
|
|
1886
|
-
|
|
1700
|
+
toggleFileStatus(id: string): Observable<IFileListResponse>;
|
|
1887
1701
|
/**
|
|
1888
|
-
*
|
|
1702
|
+
* Get file by ID
|
|
1889
1703
|
*/
|
|
1890
|
-
|
|
1704
|
+
getFileById(id: string): Observable<{
|
|
1705
|
+
success: boolean;
|
|
1706
|
+
message: string;
|
|
1707
|
+
data?: ICoreFileManager;
|
|
1708
|
+
}>;
|
|
1891
1709
|
/**
|
|
1892
|
-
*
|
|
1710
|
+
* Find file by ID
|
|
1893
1711
|
*/
|
|
1894
|
-
|
|
1712
|
+
findFileById(id: string, items?: ICoreFileManager[]): ICoreFileManager | null;
|
|
1895
1713
|
/**
|
|
1896
|
-
*
|
|
1714
|
+
* Get file size in human readable format
|
|
1897
1715
|
*/
|
|
1898
|
-
|
|
1716
|
+
getFileSizeDisplay(bytes: number): string;
|
|
1899
1717
|
/**
|
|
1900
|
-
*
|
|
1718
|
+
* Get file type icon
|
|
1901
1719
|
*/
|
|
1902
|
-
|
|
1903
|
-
|
|
1904
|
-
|
|
1905
|
-
|
|
1906
|
-
|
|
1907
|
-
|
|
1908
|
-
|
|
1909
|
-
|
|
1910
|
-
|
|
1911
|
-
|
|
1912
|
-
|
|
1913
|
-
* File Manager Interfaces
|
|
1914
|
-
* Based on core_file_manager table schema
|
|
1915
|
-
*/
|
|
1916
|
-
interface ICoreCyfm {
|
|
1917
|
-
_id?: string;
|
|
1918
|
-
cyfm_name?: string;
|
|
1919
|
-
cyfm_alt_text?: string;
|
|
1920
|
-
cyfm_path?: string;
|
|
1921
|
-
cyfm_size_in_byte?: number;
|
|
1922
|
-
cyfm_type?: string;
|
|
1923
|
-
cyfm_creation_dt?: string;
|
|
1924
|
-
cyfm_id_user?: string;
|
|
1925
|
-
cyfm_permissions?: string[];
|
|
1926
|
-
cyfm_tags?: string[];
|
|
1927
|
-
cyfm_version?: number;
|
|
1928
|
-
cyfm_file_status_sygmt?: string;
|
|
1929
|
-
cyfm_group_id?: string;
|
|
1930
|
-
cyfm_ismultiple?: boolean;
|
|
1931
|
-
cyfm_isactive?: boolean;
|
|
1932
|
-
}
|
|
1933
|
-
interface ICoreFileManager extends ICoreCyfm {
|
|
1934
|
-
_id: string;
|
|
1935
|
-
cyfm_name: string;
|
|
1936
|
-
cyfm_path: string;
|
|
1937
|
-
cyfm_size_in_byte: number;
|
|
1938
|
-
cyfm_type: string;
|
|
1939
|
-
cyfm_creation_dt: string;
|
|
1940
|
-
cyfm_id_user: string;
|
|
1941
|
-
cyfm_permissions: string[];
|
|
1942
|
-
cyfm_tags: string[];
|
|
1943
|
-
cyfm_version: number;
|
|
1944
|
-
cyfm_file_status_sygmt: string;
|
|
1945
|
-
cyfm_group_id?: string;
|
|
1946
|
-
cyfm_ismultiple?: boolean;
|
|
1947
|
-
cyfm_isactive: boolean;
|
|
1948
|
-
}
|
|
1949
|
-
interface controllerResponse {
|
|
1950
|
-
success?: boolean;
|
|
1951
|
-
error_code?: string;
|
|
1952
|
-
message?: string;
|
|
1953
|
-
data?: any;
|
|
1954
|
-
code?: string;
|
|
1955
|
-
action?: string;
|
|
1956
|
-
total?: number;
|
|
1957
|
-
pageIndex?: number;
|
|
1958
|
-
pageSize?: number;
|
|
1959
|
-
controls?: {
|
|
1960
|
-
[key: string]: string;
|
|
1961
|
-
};
|
|
1962
|
-
}
|
|
1963
|
-
type IFileManagerErrorLogger = {
|
|
1964
|
-
[key in keyof MFileManager]: string;
|
|
1965
|
-
};
|
|
1966
|
-
declare class MFileManager {
|
|
1967
|
-
cyfm_id: string;
|
|
1968
|
-
constructor(init: MFileManager);
|
|
1969
|
-
Validate?(): Partial<IFileManagerErrorLogger>;
|
|
1970
|
-
}
|
|
1971
|
-
declare class ICoreCyfmSave implements ICoreCyfm {
|
|
1972
|
-
_id?: string;
|
|
1973
|
-
cyfm_name?: string;
|
|
1974
|
-
cyfm_alt_text?: string;
|
|
1975
|
-
cyfm_path?: string;
|
|
1976
|
-
cyfm_size_in_byte?: number;
|
|
1977
|
-
cyfm_type?: string;
|
|
1978
|
-
cyfm_creation_dt?: string;
|
|
1979
|
-
cyfm_id_user?: string;
|
|
1980
|
-
cyfm_permissions?: string[];
|
|
1981
|
-
cyfm_tags?: string[];
|
|
1982
|
-
cyfm_version?: number;
|
|
1983
|
-
cyfm_file_status_sygmt?: string;
|
|
1984
|
-
cyfm_group_id?: string;
|
|
1985
|
-
cyfm_isactive?: boolean;
|
|
1986
|
-
cyfm_ismultiple?: boolean;
|
|
1987
|
-
cyfm_file_base64: string;
|
|
1988
|
-
cyfm_temp_unique_id: string;
|
|
1989
|
-
constructor(init: ICoreCyfmSave);
|
|
1990
|
-
}
|
|
1991
|
-
declare class CoreFileManagerInsertUpdatePayload {
|
|
1992
|
-
core_file_manager_new: ICoreCyfmSave[];
|
|
1993
|
-
core_file_manager_update: ICoreCyfm[];
|
|
1994
|
-
core_file_manager_delete: ICoreCyfm[];
|
|
1995
|
-
constructor(init: CoreFileManagerInsertUpdatePayload);
|
|
1996
|
-
Validate?(): Partial<IFileManagerErrorLogger>;
|
|
1997
|
-
}
|
|
1998
|
-
interface fileManagerResponseData extends ICoreCyfm {
|
|
1999
|
-
cyfm_file_base64: string;
|
|
2000
|
-
}
|
|
2001
|
-
interface fileManagerControllerResponse extends controllerResponse {
|
|
2002
|
-
data?: fileManagerResponseData[];
|
|
2003
|
-
}
|
|
2004
|
-
interface CoreFileManagerInsertUpdateResponse extends controllerResponse {
|
|
2005
|
-
data?: {
|
|
2006
|
-
core_file_manager: {
|
|
2007
|
-
cyfm_id: string;
|
|
2008
|
-
cyfm_temp_unique_id: string;
|
|
2009
|
-
}[];
|
|
2010
|
-
};
|
|
2011
|
-
}
|
|
2012
|
-
interface mongooseObjectIdCreateControllerResponse extends controllerResponse {
|
|
2013
|
-
data?: {
|
|
2014
|
-
objectId: string;
|
|
2015
|
-
};
|
|
2016
|
-
}
|
|
2017
|
-
interface IFileUploadRequest {
|
|
2018
|
-
file: File;
|
|
2019
|
-
altText?: string;
|
|
2020
|
-
tags?: string[];
|
|
2021
|
-
permissions?: string[];
|
|
2022
|
-
userId?: string;
|
|
2023
|
-
groupId?: string;
|
|
2024
|
-
[key: string]: string | number | string[] | File | undefined;
|
|
2025
|
-
}
|
|
2026
|
-
interface IFileUploadResponse {
|
|
2027
|
-
success: boolean;
|
|
2028
|
-
message: string;
|
|
2029
|
-
data?: ICoreFileManager;
|
|
2030
|
-
error?: string;
|
|
2031
|
-
}
|
|
2032
|
-
interface IFileListRequest {
|
|
2033
|
-
pageIndex: number;
|
|
2034
|
-
pageSize: number;
|
|
2035
|
-
search?: string;
|
|
2036
|
-
fileType?: string;
|
|
2037
|
-
status?: string;
|
|
2038
|
-
userId?: string;
|
|
2039
|
-
tags?: string[];
|
|
2040
|
-
sortBy?: string;
|
|
2041
|
-
sortOrder?: 'asc' | 'desc';
|
|
2042
|
-
}
|
|
2043
|
-
interface IFileListResponse {
|
|
2044
|
-
success: boolean;
|
|
2045
|
-
message: string;
|
|
2046
|
-
data: ICoreFileManager[];
|
|
2047
|
-
total: number;
|
|
2048
|
-
pageIndex: number;
|
|
2049
|
-
pageSize: number;
|
|
2050
|
-
}
|
|
2051
|
-
interface IFileDeleteResponse {
|
|
2052
|
-
success: boolean;
|
|
2053
|
-
message: string;
|
|
2054
|
-
data?: string;
|
|
2055
|
-
}
|
|
2056
|
-
interface IFileUpdateRequest {
|
|
2057
|
-
_id: string;
|
|
2058
|
-
cyfm_name?: string;
|
|
2059
|
-
cyfm_alt_text?: string;
|
|
2060
|
-
cyfm_tags?: string[];
|
|
2061
|
-
cyfm_permissions?: string[];
|
|
2062
|
-
cyfm_file_status_sygmt?: string;
|
|
2063
|
-
cyfm_isactive?: boolean;
|
|
2064
|
-
}
|
|
2065
|
-
interface IFileUpdateResponse {
|
|
2066
|
-
success: boolean;
|
|
2067
|
-
message: string;
|
|
2068
|
-
data?: ICoreFileManager;
|
|
2069
|
-
}
|
|
2070
|
-
interface IFileUploadProgress {
|
|
2071
|
-
fileId: string;
|
|
2072
|
-
fileName: string;
|
|
2073
|
-
progress: number;
|
|
2074
|
-
status: 'pending' | 'uploading' | 'completed' | 'error' | 'cancelled';
|
|
2075
|
-
error?: string;
|
|
2076
|
-
uploadedFile?: any;
|
|
2077
|
-
}
|
|
2078
|
-
interface IFileUploadQueueItem extends IFileUploadProgress {
|
|
2079
|
-
file: File;
|
|
1720
|
+
getFileTypeIcon(fileType: string): string;
|
|
1721
|
+
/**
|
|
1722
|
+
* Refresh file list from server
|
|
1723
|
+
*/
|
|
1724
|
+
private refreshFileList;
|
|
1725
|
+
/**
|
|
1726
|
+
* Handle errors
|
|
1727
|
+
*/
|
|
1728
|
+
private handleError;
|
|
1729
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<CideCoreFileManagerService, never>;
|
|
1730
|
+
static ɵprov: _angular_core.ɵɵInjectableDeclaration<CideCoreFileManagerService>;
|
|
2080
1731
|
}
|
|
2081
|
-
|
|
2082
|
-
|
|
2083
|
-
|
|
2084
|
-
|
|
2085
|
-
|
|
2086
|
-
end: Date;
|
|
2087
|
-
};
|
|
2088
|
-
sizeRange?: {
|
|
2089
|
-
min: number;
|
|
2090
|
-
max: number;
|
|
2091
|
-
};
|
|
2092
|
-
tags: string[];
|
|
1732
|
+
|
|
1733
|
+
interface DropdownInstance {
|
|
1734
|
+
id: string;
|
|
1735
|
+
close: () => void;
|
|
1736
|
+
element?: Element;
|
|
2093
1737
|
}
|
|
2094
|
-
|
|
2095
|
-
|
|
2096
|
-
|
|
2097
|
-
|
|
1738
|
+
declare class DropdownManagerService {
|
|
1739
|
+
private activeDropdowns;
|
|
1740
|
+
private documentClickListener?;
|
|
1741
|
+
private escapeKeyListener?;
|
|
1742
|
+
constructor();
|
|
1743
|
+
private initializeGlobalListeners;
|
|
1744
|
+
registerDropdown(dropdown: DropdownInstance): void;
|
|
1745
|
+
unregisterDropdown(id: string): void;
|
|
1746
|
+
closeAllDropdowns(): void;
|
|
1747
|
+
closeDropdown(id: string): void;
|
|
1748
|
+
isDropdownOpen(id: string): boolean;
|
|
1749
|
+
private handleDocumentClick;
|
|
1750
|
+
ngOnDestroy(): void;
|
|
1751
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<DropdownManagerService, never>;
|
|
1752
|
+
static ɵprov: _angular_core.ɵɵInjectableDeclaration<DropdownManagerService>;
|
|
2098
1753
|
}
|
|
2099
1754
|
|
|
2100
|
-
interface
|
|
2101
|
-
|
|
2102
|
-
|
|
2103
|
-
|
|
2104
|
-
|
|
2105
|
-
|
|
2106
|
-
|
|
2107
|
-
|
|
2108
|
-
|
|
2109
|
-
|
|
2110
|
-
|
|
2111
|
-
}
|
|
2112
|
-
interface UploadProgress {
|
|
2113
|
-
loaded: number;
|
|
2114
|
-
total: number;
|
|
2115
|
-
percentage: number;
|
|
2116
|
-
stage: 'reading' | 'uploading' | 'complete' | 'error';
|
|
2117
|
-
groupId?: string;
|
|
1755
|
+
interface KeyboardShortcut {
|
|
1756
|
+
id: string;
|
|
1757
|
+
key: string;
|
|
1758
|
+
ctrlKey?: boolean;
|
|
1759
|
+
altKey?: boolean;
|
|
1760
|
+
shiftKey?: boolean;
|
|
1761
|
+
metaKey?: boolean;
|
|
1762
|
+
description?: string;
|
|
1763
|
+
action: () => void;
|
|
1764
|
+
preventDefault?: boolean;
|
|
1765
|
+
stopPropagation?: boolean;
|
|
2118
1766
|
}
|
|
2119
|
-
interface
|
|
2120
|
-
|
|
2121
|
-
|
|
2122
|
-
|
|
2123
|
-
|
|
1767
|
+
interface ShortcutOverride {
|
|
1768
|
+
shortcutId: string;
|
|
1769
|
+
newKey: string;
|
|
1770
|
+
newCtrlKey?: boolean;
|
|
1771
|
+
newAltKey?: boolean;
|
|
1772
|
+
newShiftKey?: boolean;
|
|
1773
|
+
newMetaKey?: boolean;
|
|
2124
1774
|
}
|
|
2125
|
-
declare class
|
|
2126
|
-
private
|
|
2127
|
-
private
|
|
2128
|
-
private
|
|
2129
|
-
private readonly _objectIdEndpoint;
|
|
2130
|
-
private readonly _userId;
|
|
2131
|
-
private readonly _isUploading;
|
|
2132
|
-
private readonly _uploadQueue;
|
|
2133
|
-
private readonly _activeUploads;
|
|
2134
|
-
private readonly _fetchedFiles;
|
|
2135
|
-
private readonly _fileIdMapping;
|
|
2136
|
-
private readonly _error;
|
|
2137
|
-
readonly baseUrl: _angular_core.Signal<string>;
|
|
2138
|
-
readonly objectIdEndpoint: _angular_core.Signal<string>;
|
|
2139
|
-
readonly userId: _angular_core.Signal<string>;
|
|
2140
|
-
readonly isUploading: _angular_core.Signal<boolean>;
|
|
2141
|
-
readonly uploadQueue: _angular_core.Signal<string[]>;
|
|
2142
|
-
readonly activeUploads: _angular_core.Signal<Map<string, UploadProgress>>;
|
|
2143
|
-
readonly fetchedFiles: _angular_core.Signal<Map<string, any[]>>;
|
|
2144
|
-
readonly error: _angular_core.Signal<string | null>;
|
|
2145
|
-
readonly hasActiveUploads: _angular_core.Signal<boolean>;
|
|
2146
|
-
readonly queueLength: _angular_core.Signal<number>;
|
|
2147
|
-
readonly totalFetchedFiles: _angular_core.Signal<number>;
|
|
2148
|
-
readonly getFileCountByGroup: _angular_core.Signal<Map<string, number>>;
|
|
2149
|
-
readonly serviceState: _angular_core.Signal<{
|
|
2150
|
-
isUploading: boolean;
|
|
2151
|
-
uploadQueue: string[];
|
|
2152
|
-
activeUploads: Map<string, UploadProgress>;
|
|
2153
|
-
fetchedFiles: Map<string, any[]>;
|
|
2154
|
-
error: string | null;
|
|
2155
|
-
}>;
|
|
1775
|
+
declare class KeyboardShortcutService implements OnDestroy {
|
|
1776
|
+
private shortcuts;
|
|
1777
|
+
private overrides;
|
|
1778
|
+
private keydownListener?;
|
|
2156
1779
|
constructor();
|
|
1780
|
+
ngOnDestroy(): void;
|
|
2157
1781
|
/**
|
|
2158
|
-
*
|
|
2159
|
-
* Angular 20: Enhanced with better error handling, retry logic, and signal-based state
|
|
2160
|
-
* @param file The file to upload
|
|
2161
|
-
* @param options Upload options and additional data
|
|
2162
|
-
* @param progressCallback Optional callback for progress updates
|
|
2163
|
-
* @returns Observable with the upload response
|
|
1782
|
+
* Register a new keyboard shortcut
|
|
2164
1783
|
*/
|
|
2165
|
-
|
|
1784
|
+
register(shortcut: KeyboardShortcut): void;
|
|
2166
1785
|
/**
|
|
2167
|
-
*
|
|
2168
|
-
* Angular 20: Using signal-based state management
|
|
2169
|
-
* @param url The base URL for the API
|
|
1786
|
+
* Override an existing shortcut with new key combination
|
|
2170
1787
|
*/
|
|
2171
|
-
|
|
1788
|
+
override(shortcutId: string, newKey: string, options?: {
|
|
1789
|
+
ctrlKey?: boolean;
|
|
1790
|
+
altKey?: boolean;
|
|
1791
|
+
shiftKey?: boolean;
|
|
1792
|
+
metaKey?: boolean;
|
|
1793
|
+
}): void;
|
|
2172
1794
|
/**
|
|
2173
|
-
*
|
|
2174
|
-
* Angular 20: Using signal-based state management
|
|
2175
|
-
* @param userId The user ID to associate with uploaded files
|
|
1795
|
+
* Remove a shortcut
|
|
2176
1796
|
*/
|
|
2177
|
-
|
|
1797
|
+
unregister(shortcutId: string): void;
|
|
2178
1798
|
/**
|
|
2179
|
-
*
|
|
2180
|
-
* Angular 20: Using signal-based state management
|
|
2181
|
-
* @param endpoint The endpoint for generating object IDs (e.g., '/utility/generateObjectId')
|
|
1799
|
+
* Remove override for a shortcut (restore original key combination)
|
|
2182
1800
|
*/
|
|
2183
|
-
|
|
1801
|
+
removeOverride(shortcutId: string): void;
|
|
2184
1802
|
/**
|
|
2185
|
-
*
|
|
2186
|
-
* Calls the backend API to generate a unique ObjectId for grouping multiple files
|
|
2187
|
-
* Uses the configurable object ID endpoint instead of hardcoded path
|
|
2188
|
-
* @returns Observable with the generated ObjectId
|
|
1803
|
+
* Get all registered shortcuts
|
|
2189
1804
|
*/
|
|
2190
|
-
|
|
1805
|
+
getAllShortcuts(): KeyboardShortcut[];
|
|
2191
1806
|
/**
|
|
2192
|
-
*
|
|
1807
|
+
* Get shortcuts by category or filter
|
|
2193
1808
|
*/
|
|
2194
|
-
|
|
2195
|
-
private addToUploadQueue;
|
|
2196
|
-
private removeFromUploadQueue;
|
|
2197
|
-
private updateUploadProgress;
|
|
2198
|
-
private removeActiveUpload;
|
|
1809
|
+
getShortcuts(filter?: (shortcut: KeyboardShortcut) => boolean): KeyboardShortcut[];
|
|
2199
1810
|
/**
|
|
2200
|
-
*
|
|
1811
|
+
* Check if a shortcut is registered
|
|
2201
1812
|
*/
|
|
2202
|
-
|
|
1813
|
+
hasShortcut(shortcutId: string): boolean;
|
|
2203
1814
|
/**
|
|
2204
|
-
* Get
|
|
2205
|
-
* @param payload The file ID to fetch details for
|
|
2206
|
-
* @returns Observable with file details
|
|
1815
|
+
* Get shortcut information
|
|
2207
1816
|
*/
|
|
2208
|
-
|
|
1817
|
+
getShortcut(shortcutId: string): KeyboardShortcut | undefined;
|
|
2209
1818
|
/**
|
|
2210
|
-
*
|
|
2211
|
-
* @param groupId The group ID to fetch files for
|
|
2212
|
-
* @returns Observable with files list
|
|
1819
|
+
* Clear all shortcuts
|
|
2213
1820
|
*/
|
|
2214
|
-
|
|
1821
|
+
clearAll(): void;
|
|
2215
1822
|
/**
|
|
2216
|
-
*
|
|
2217
|
-
* @param groupId The group ID to fetch files for
|
|
2218
|
-
* @returns Observable that completes when files are stored
|
|
1823
|
+
* Set up global keyboard listener
|
|
2219
1824
|
*/
|
|
2220
|
-
|
|
1825
|
+
private setupGlobalListener;
|
|
1826
|
+
/**
|
|
1827
|
+
* Remove global keyboard listener
|
|
1828
|
+
*/
|
|
1829
|
+
private removeGlobalListener;
|
|
1830
|
+
/**
|
|
1831
|
+
* Handle keydown events
|
|
1832
|
+
*/
|
|
1833
|
+
private handleKeydown;
|
|
1834
|
+
/**
|
|
1835
|
+
* Check if event matches shortcut
|
|
1836
|
+
*/
|
|
1837
|
+
private matchesShortcut;
|
|
1838
|
+
/**
|
|
1839
|
+
* Check if event matches override
|
|
1840
|
+
*/
|
|
1841
|
+
private matchesOverride;
|
|
1842
|
+
/**
|
|
1843
|
+
* Get human-readable key description
|
|
1844
|
+
*/
|
|
1845
|
+
private getKeyDescription;
|
|
1846
|
+
/**
|
|
1847
|
+
* Get key description for a shortcut ID
|
|
1848
|
+
*/
|
|
1849
|
+
getKeyDescriptionForShortcut(shortcutId: string): string;
|
|
1850
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<KeyboardShortcutService, never>;
|
|
1851
|
+
static ɵprov: _angular_core.ɵɵInjectableDeclaration<KeyboardShortcutService>;
|
|
1852
|
+
}
|
|
1853
|
+
|
|
1854
|
+
interface ConfirmationRequest<T = unknown> {
|
|
1855
|
+
id: string;
|
|
1856
|
+
title: string;
|
|
1857
|
+
message: string;
|
|
1858
|
+
type: 'danger' | 'warning' | 'info' | 'success';
|
|
1859
|
+
icon?: string;
|
|
1860
|
+
confirmText?: string;
|
|
1861
|
+
cancelText?: string;
|
|
1862
|
+
customTemplate?: TemplateRef<unknown>;
|
|
1863
|
+
customData?: T;
|
|
1864
|
+
resolve: (value: boolean | T) => void;
|
|
1865
|
+
reject: (reason?: unknown) => void;
|
|
1866
|
+
}
|
|
1867
|
+
interface ConfirmationOptions<T = unknown> {
|
|
1868
|
+
title: string;
|
|
1869
|
+
message: string;
|
|
1870
|
+
type?: 'danger' | 'warning' | 'info' | 'success';
|
|
1871
|
+
icon?: string;
|
|
1872
|
+
confirmText?: string;
|
|
1873
|
+
cancelText?: string;
|
|
1874
|
+
customTemplate?: TemplateRef<unknown>;
|
|
1875
|
+
customData?: T;
|
|
1876
|
+
}
|
|
1877
|
+
declare class ConfirmationService implements OnDestroy {
|
|
1878
|
+
private readonly confirmationQueue;
|
|
1879
|
+
private readonly currentRequest;
|
|
1880
|
+
readonly hasActiveConfirmation: _angular_core.Signal<boolean>;
|
|
1881
|
+
readonly queueLength: _angular_core.Signal<number>;
|
|
1882
|
+
constructor();
|
|
1883
|
+
ngOnDestroy(): void;
|
|
1884
|
+
/**
|
|
1885
|
+
* Ask for confirmation with a simple yes/no dialog
|
|
1886
|
+
*/
|
|
1887
|
+
ask(options: ConfirmationOptions<unknown>): Promise<boolean>;
|
|
1888
|
+
/**
|
|
1889
|
+
* Ask for confirmation with custom template and return custom data
|
|
1890
|
+
*/
|
|
1891
|
+
askWithTemplate<T = unknown>(options: ConfirmationOptions<T> & {
|
|
1892
|
+
customTemplate: TemplateRef<unknown>;
|
|
1893
|
+
}): Promise<T>;
|
|
1894
|
+
/**
|
|
1895
|
+
* Quick confirmation for dangerous actions
|
|
1896
|
+
*/
|
|
1897
|
+
confirmDelete(itemName?: string): Promise<boolean>;
|
|
2221
1898
|
/**
|
|
2222
|
-
*
|
|
2223
|
-
* @param groupId The group ID to get files for
|
|
2224
|
-
* @returns Array of files for the group
|
|
1899
|
+
* Quick confirmation for permanent actions
|
|
2225
1900
|
*/
|
|
2226
|
-
|
|
1901
|
+
confirmPermanentAction(action: string, itemName?: string): Promise<boolean>;
|
|
2227
1902
|
/**
|
|
2228
|
-
*
|
|
1903
|
+
* Quick confirmation for safe actions
|
|
2229
1904
|
*/
|
|
2230
|
-
|
|
2231
|
-
private
|
|
2232
|
-
|
|
2233
|
-
|
|
1905
|
+
confirmSafeAction(action: string, itemName?: string): Promise<boolean>;
|
|
1906
|
+
private addToQueue;
|
|
1907
|
+
private processQueue;
|
|
1908
|
+
confirmCurrentRequest(data?: unknown): void;
|
|
1909
|
+
cancelCurrentRequest(): void;
|
|
1910
|
+
private removeCurrentRequest;
|
|
1911
|
+
private generateId;
|
|
1912
|
+
private getDefaultIcon;
|
|
1913
|
+
getCurrentRequest(): _angular_core.WritableSignal<ConfirmationRequest<unknown> | null>;
|
|
1914
|
+
getHasActiveConfirmation(): _angular_core.Signal<boolean>;
|
|
1915
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<ConfirmationService, never>;
|
|
1916
|
+
static ɵprov: _angular_core.ɵɵInjectableDeclaration<ConfirmationService>;
|
|
1917
|
+
}
|
|
1918
|
+
|
|
1919
|
+
interface PortalPosition {
|
|
1920
|
+
top: number;
|
|
1921
|
+
left: number;
|
|
1922
|
+
maxHeight?: number;
|
|
1923
|
+
maxWidth?: number;
|
|
1924
|
+
minWidth?: number;
|
|
1925
|
+
}
|
|
1926
|
+
interface PortalConfig {
|
|
1927
|
+
triggerElement: HTMLElement;
|
|
1928
|
+
content: string;
|
|
1929
|
+
className?: string;
|
|
1930
|
+
position?: 'bottom' | 'top' | 'auto';
|
|
1931
|
+
align?: 'left' | 'right' | 'center' | 'auto';
|
|
1932
|
+
offsetX?: number;
|
|
1933
|
+
offsetY?: number;
|
|
1934
|
+
maxHeight?: number;
|
|
1935
|
+
minWidth?: number;
|
|
1936
|
+
closeOnClickOutside?: boolean;
|
|
1937
|
+
closeOnEscape?: boolean;
|
|
1938
|
+
}
|
|
1939
|
+
interface TemplatePortalConfig {
|
|
1940
|
+
triggerElement: HTMLElement;
|
|
1941
|
+
template: TemplateRef<any>;
|
|
1942
|
+
viewContainerRef: ViewContainerRef;
|
|
1943
|
+
context?: any;
|
|
1944
|
+
className?: string;
|
|
1945
|
+
position?: 'bottom' | 'top' | 'auto';
|
|
1946
|
+
align?: 'left' | 'right' | 'center' | 'auto';
|
|
1947
|
+
offsetX?: number;
|
|
1948
|
+
offsetY?: number;
|
|
1949
|
+
maxHeight?: number;
|
|
1950
|
+
minWidth?: number;
|
|
1951
|
+
closeOnClickOutside?: boolean;
|
|
1952
|
+
closeOnEscape?: boolean;
|
|
1953
|
+
}
|
|
1954
|
+
declare class PortalService {
|
|
1955
|
+
private portals;
|
|
1956
|
+
private templatePortals;
|
|
1957
|
+
private boundClickOutsideHandler;
|
|
1958
|
+
private boundEscapeHandler;
|
|
1959
|
+
private closeCallbacks;
|
|
1960
|
+
constructor();
|
|
2234
1961
|
/**
|
|
2235
|
-
*
|
|
2236
|
-
* This is the ONLY way to pass group ID to floating uploader
|
|
1962
|
+
* Create a portal with the given configuration
|
|
2237
1963
|
*/
|
|
2238
|
-
|
|
1964
|
+
createPortal(id: string, config: PortalConfig): HTMLElement;
|
|
2239
1965
|
/**
|
|
2240
|
-
*
|
|
2241
|
-
* @param groupId The group ID to get files for
|
|
2242
|
-
* @returns Combined array of active and fetched files
|
|
1966
|
+
* Create a template-based portal with Angular template
|
|
2243
1967
|
*/
|
|
2244
|
-
|
|
2245
|
-
fileId: string;
|
|
2246
|
-
fileName: string;
|
|
2247
|
-
stage: string;
|
|
2248
|
-
percentage?: number;
|
|
2249
|
-
}>;
|
|
1968
|
+
createTemplatePortal(id: string, config: TemplatePortalConfig): HTMLElement;
|
|
2250
1969
|
/**
|
|
2251
|
-
*
|
|
1970
|
+
* Update portal content
|
|
2252
1971
|
*/
|
|
2253
|
-
|
|
1972
|
+
updatePortal(id: string, content: string): void;
|
|
2254
1973
|
/**
|
|
2255
|
-
*
|
|
1974
|
+
* Update portal position
|
|
2256
1975
|
*/
|
|
2257
|
-
|
|
2258
|
-
getUploadProgress(fileId: string): UploadProgress | undefined;
|
|
2259
|
-
cancelUpload(fileId: string): void;
|
|
1976
|
+
updatePortalPosition(id: string, config: PortalConfig): void;
|
|
2260
1977
|
/**
|
|
2261
|
-
*
|
|
2262
|
-
* Called when the floating uploader is closed
|
|
1978
|
+
* Destroy a portal
|
|
2263
1979
|
*/
|
|
2264
|
-
|
|
1980
|
+
destroyPortal(id: string): void;
|
|
2265
1981
|
/**
|
|
2266
|
-
*
|
|
1982
|
+
* Destroy all portals
|
|
2267
1983
|
*/
|
|
2268
|
-
|
|
1984
|
+
destroyAllPortals(): void;
|
|
2269
1985
|
/**
|
|
2270
|
-
*
|
|
2271
|
-
* Uses computed property for better performance
|
|
1986
|
+
* Register a close callback for a portal
|
|
2272
1987
|
*/
|
|
2273
|
-
|
|
1988
|
+
registerCloseCallback(id: string, callback: () => void): void;
|
|
2274
1989
|
/**
|
|
2275
|
-
*
|
|
1990
|
+
* Get portal element by ID
|
|
2276
1991
|
*/
|
|
2277
|
-
|
|
1992
|
+
getPortal(id: string): HTMLElement | undefined;
|
|
2278
1993
|
/**
|
|
2279
|
-
*
|
|
1994
|
+
* Check if portal exists
|
|
2280
1995
|
*/
|
|
2281
|
-
|
|
2282
|
-
|
|
2283
|
-
|
|
1996
|
+
hasPortal(id: string): boolean;
|
|
1997
|
+
private calculatePosition;
|
|
1998
|
+
private adjustPosition;
|
|
1999
|
+
private setupEventListeners;
|
|
2000
|
+
private cleanupEventListeners;
|
|
2001
|
+
private handleClickOutside;
|
|
2002
|
+
private handleEscape;
|
|
2003
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<PortalService, never>;
|
|
2004
|
+
static ɵprov: _angular_core.ɵɵInjectableDeclaration<PortalService>;
|
|
2005
|
+
}
|
|
2006
|
+
|
|
2007
|
+
/**
|
|
2008
|
+
* Directive to display images from file manager by ID
|
|
2009
|
+
* Usage: <img cideEleFileImage [fileId]="yourFileId" [altText]="'Image'" class="your-css-classes" />
|
|
2010
|
+
*/
|
|
2011
|
+
declare class CideEleFileImageDirective implements OnInit, OnDestroy {
|
|
2012
|
+
fileId: string | null;
|
|
2013
|
+
altText: string;
|
|
2014
|
+
private readonly fileManagerService;
|
|
2015
|
+
private readonly elementRef;
|
|
2016
|
+
private readonly destroyRef;
|
|
2017
|
+
ngOnInit(): void;
|
|
2018
|
+
ngOnDestroy(): void;
|
|
2019
|
+
private loadImage;
|
|
2020
|
+
private displayImage;
|
|
2021
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<CideEleFileImageDirective, never>;
|
|
2022
|
+
static ɵdir: _angular_core.ɵɵDirectiveDeclaration<CideEleFileImageDirective, "[cideEleFileImage]", never, { "fileId": { "alias": "fileId"; "required": false; }; "altText": { "alias": "altText"; "required": false; }; }, {}, never, never, true, never>;
|
|
2023
|
+
}
|
|
2024
|
+
|
|
2025
|
+
declare class CideFormFieldErrorComponent implements OnInit, OnChanges {
|
|
2026
|
+
control: AbstractControl;
|
|
2027
|
+
formGroup: FormGroup;
|
|
2028
|
+
fieldName: string;
|
|
2029
|
+
customMessages: {
|
|
2030
|
+
[key: string]: string;
|
|
2031
|
+
};
|
|
2032
|
+
private fieldLabelsMap;
|
|
2033
|
+
private elementService;
|
|
2034
|
+
formErrors: _angular_core.WritableSignal<string[]>;
|
|
2035
|
+
ngOnInit(): void;
|
|
2036
|
+
ngOnChanges(changes: SimpleChanges): void;
|
|
2037
|
+
private setupFormChangeListener;
|
|
2038
|
+
private updateFormErrors;
|
|
2039
|
+
private loadFormErrors;
|
|
2040
|
+
isFormGroupMode(): boolean;
|
|
2041
|
+
getFormGroupErrors(): Promise<string[]>;
|
|
2042
|
+
private buildFieldLabelsMap;
|
|
2043
|
+
getFormGroupErrorMessage(): string;
|
|
2044
|
+
getControlErrorMessage(control: AbstractControl, fieldName: string): string;
|
|
2045
|
+
getErrorMessage(): string;
|
|
2046
|
+
private getFieldDisplayName;
|
|
2047
|
+
private convertToDisplayName;
|
|
2048
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<CideFormFieldErrorComponent, never>;
|
|
2049
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<CideFormFieldErrorComponent, "cide-form-field-error", never, { "control": { "alias": "control"; "required": false; }; "formGroup": { "alias": "formGroup"; "required": false; }; "fieldName": { "alias": "fieldName"; "required": false; }; "customMessages": { "alias": "customMessages"; "required": false; }; }, {}, never, never, true, never>;
|
|
2050
|
+
}
|
|
2051
|
+
|
|
2052
|
+
declare class CideEleConfirmationModalComponent implements OnInit, OnDestroy {
|
|
2053
|
+
private readonly confirmationService;
|
|
2054
|
+
readonly hasActiveConfirmation: _angular_core.Signal<boolean>;
|
|
2055
|
+
readonly currentRequest: _angular_core.WritableSignal<cloud_ide_element.ConfirmationRequest<unknown> | null>;
|
|
2056
|
+
readonly customData: _angular_core.WritableSignal<unknown>;
|
|
2057
|
+
ngOnInit(): void;
|
|
2058
|
+
ngOnDestroy(): void;
|
|
2059
|
+
readonly getHeaderClass: _angular_core.Signal<string>;
|
|
2060
|
+
readonly getIconClass: _angular_core.Signal<string>;
|
|
2061
|
+
readonly getConfirmButtonClass: _angular_core.Signal<string>;
|
|
2062
|
+
onBackdropClick(event: Event): void;
|
|
2063
|
+
onCancel(): void;
|
|
2064
|
+
onConfirm(): void;
|
|
2065
|
+
updateCustomData(data: unknown): void;
|
|
2066
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<CideEleConfirmationModalComponent, never>;
|
|
2067
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<CideEleConfirmationModalComponent, "cide-ele-confirmation-modal", never, {}, {}, never, never, true, never>;
|
|
2068
|
+
}
|
|
2069
|
+
|
|
2070
|
+
declare class CideEleGlobalNotificationsComponent {
|
|
2071
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<CideEleGlobalNotificationsComponent, never>;
|
|
2072
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<CideEleGlobalNotificationsComponent, "cide-ele-global-notifications", never, {}, {}, never, never, true, never>;
|
|
2073
|
+
}
|
|
2074
|
+
|
|
2075
|
+
declare class CideEleToastNotificationComponent {
|
|
2076
|
+
private notificationService;
|
|
2077
|
+
activeNotifications: _angular_core.Signal<NotificationItem[]>;
|
|
2078
|
+
getToastClass(notification: NotificationItem): string;
|
|
2079
|
+
getIconClass(type: string): string;
|
|
2080
|
+
removeNotification(id: string): void;
|
|
2081
|
+
executeUndo(id: string): void;
|
|
2082
|
+
trackByNotification(index: number, notification: NotificationItem): string;
|
|
2083
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<CideEleToastNotificationComponent, never>;
|
|
2084
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<CideEleToastNotificationComponent, "cide-ele-toast-notification", never, {}, {}, never, never, true, never>;
|
|
2085
|
+
}
|
|
2086
|
+
|
|
2087
|
+
type ColumnType = 'text' | 'number' | 'date' | 'boolean' | 'status' | 'actions' | 'custom' | 'order';
|
|
2088
|
+
type ColumnWidth = 'xs' | 'sm' | 'md' | 'lg' | 'xl' | 'auto' | string;
|
|
2089
|
+
type TextAlign = 'left' | 'center' | 'right';
|
|
2090
|
+
interface GridColumn {
|
|
2091
|
+
key: string;
|
|
2092
|
+
header: string;
|
|
2093
|
+
type: ColumnType;
|
|
2094
|
+
width?: ColumnWidth;
|
|
2095
|
+
sortable?: boolean;
|
|
2096
|
+
searchable?: boolean;
|
|
2097
|
+
truncate?: boolean;
|
|
2098
|
+
align?: TextAlign;
|
|
2099
|
+
renderer?: string;
|
|
2100
|
+
valueGetter?: string;
|
|
2101
|
+
formatter?: GridFormatter;
|
|
2102
|
+
actions?: GridAction[];
|
|
2103
|
+
statusConfig?: StatusConfig;
|
|
2104
|
+
}
|
|
2105
|
+
interface GridFormatter {
|
|
2106
|
+
type: 'date' | 'currency' | 'percentage' | 'custom';
|
|
2107
|
+
format?: string;
|
|
2108
|
+
customFunction?: string;
|
|
2109
|
+
}
|
|
2110
|
+
interface StatusConfig {
|
|
2111
|
+
activeValue: string | number | boolean;
|
|
2112
|
+
activeLabel: string;
|
|
2113
|
+
inactiveLabel: string;
|
|
2114
|
+
activeClass: string;
|
|
2115
|
+
inactiveClass: string;
|
|
2116
|
+
}
|
|
2117
|
+
interface GridAction {
|
|
2118
|
+
key: string;
|
|
2119
|
+
label: string;
|
|
2120
|
+
icon: string;
|
|
2121
|
+
variant: 'ghost' | 'primary' | 'outline' | 'danger';
|
|
2122
|
+
tooltip?: string;
|
|
2123
|
+
condition?: string;
|
|
2124
|
+
onClick: string;
|
|
2125
|
+
}
|
|
2126
|
+
interface GridPaginationConfig {
|
|
2127
|
+
enabled: boolean;
|
|
2128
|
+
pageSize: number;
|
|
2129
|
+
pageSizeOptions: number[];
|
|
2130
|
+
showQuickJump: boolean;
|
|
2131
|
+
showPageInfo: boolean;
|
|
2132
|
+
showRefresh: boolean;
|
|
2133
|
+
}
|
|
2134
|
+
interface GridSearchConfig {
|
|
2135
|
+
enabled: boolean;
|
|
2136
|
+
placeholder: string;
|
|
2137
|
+
searchableColumns: string[];
|
|
2138
|
+
debounceMs?: number;
|
|
2139
|
+
}
|
|
2140
|
+
interface GridExportConfig {
|
|
2141
|
+
enabled: boolean;
|
|
2142
|
+
formats: ('csv' | 'excel' | 'pdf')[];
|
|
2143
|
+
filename?: string;
|
|
2144
|
+
}
|
|
2145
|
+
interface GridLoadingConfig {
|
|
2146
|
+
useDefer: boolean;
|
|
2147
|
+
skeletonRows: number;
|
|
2148
|
+
showOverlay: boolean;
|
|
2149
|
+
}
|
|
2150
|
+
interface GridScrollConfig {
|
|
2151
|
+
enabled: boolean;
|
|
2152
|
+
maxHeight?: string;
|
|
2153
|
+
minHeight?: string;
|
|
2154
|
+
stickyHeader?: boolean;
|
|
2155
|
+
virtualScroll?: boolean;
|
|
2156
|
+
rowHeight?: number;
|
|
2157
|
+
}
|
|
2158
|
+
interface GridTreeConfig {
|
|
2159
|
+
enabled: boolean;
|
|
2160
|
+
primaryKey: string;
|
|
2161
|
+
foreignKey: string;
|
|
2162
|
+
childrenKey?: string;
|
|
2163
|
+
levelKey?: string;
|
|
2164
|
+
expandedKey?: string;
|
|
2165
|
+
hasChildrenKey?: string;
|
|
2166
|
+
}
|
|
2167
|
+
interface GridDragDropConfig {
|
|
2168
|
+
enabled: boolean;
|
|
2169
|
+
dragHandle?: string;
|
|
2170
|
+
orderField?: string;
|
|
2171
|
+
dragClass?: string;
|
|
2172
|
+
dropClass?: string;
|
|
2173
|
+
}
|
|
2174
|
+
interface GridConfiguration<T = Record<string, unknown>> {
|
|
2175
|
+
id: string;
|
|
2176
|
+
title?: string;
|
|
2177
|
+
subtitle?: string;
|
|
2178
|
+
columns: GridColumn[];
|
|
2179
|
+
data: T[];
|
|
2180
|
+
trackBy?: string;
|
|
2181
|
+
pagination: GridPaginationConfig;
|
|
2182
|
+
search: GridSearchConfig;
|
|
2183
|
+
export?: GridExportConfig;
|
|
2184
|
+
loading: GridLoadingConfig;
|
|
2185
|
+
scroll?: GridScrollConfig;
|
|
2186
|
+
tree?: GridTreeConfig;
|
|
2187
|
+
dragDrop?: GridDragDropConfig;
|
|
2188
|
+
responsive: boolean;
|
|
2189
|
+
striped?: boolean;
|
|
2190
|
+
bordered?: boolean;
|
|
2191
|
+
compact?: boolean;
|
|
2192
|
+
fullHeight?: boolean;
|
|
2193
|
+
onRowClick?: string;
|
|
2194
|
+
onSort?: string;
|
|
2195
|
+
onPageChange?: string;
|
|
2196
|
+
onSearch?: string;
|
|
2197
|
+
onRefresh?: string;
|
|
2198
|
+
onExport?: string;
|
|
2199
|
+
onRowReorder?: string;
|
|
2200
|
+
tableClass?: string;
|
|
2201
|
+
headerClass?: string;
|
|
2202
|
+
rowClass?: string;
|
|
2203
|
+
cellClass?: string;
|
|
2204
|
+
}
|
|
2205
|
+
interface GridState<T = Record<string, unknown>> {
|
|
2206
|
+
currentPage: number;
|
|
2207
|
+
pageSize: number;
|
|
2208
|
+
totalItems: number;
|
|
2209
|
+
totalPages: number;
|
|
2210
|
+
searchQuery: string;
|
|
2211
|
+
sortColumn?: string;
|
|
2212
|
+
sortDirection?: 'asc' | 'desc';
|
|
2213
|
+
loading: boolean;
|
|
2214
|
+
isRefreshing: boolean;
|
|
2215
|
+
selectedRows: T[];
|
|
2216
|
+
}
|
|
2217
|
+
interface GridEvent<T = Record<string, unknown>> {
|
|
2218
|
+
type: 'rowClick' | 'sort' | 'pageChange' | 'search' | 'refresh' | 'export' | 'action' | 'rowReorder';
|
|
2219
|
+
data: T | T[] | string | number | null | {
|
|
2220
|
+
sourceItem: T;
|
|
2221
|
+
sourceIndex: number;
|
|
2222
|
+
targetItem: T;
|
|
2223
|
+
targetIndex: number;
|
|
2224
|
+
newOrder: T[];
|
|
2225
|
+
allOrders?: T[];
|
|
2284
2226
|
};
|
|
2285
|
-
|
|
2286
|
-
|
|
2227
|
+
column?: GridColumn;
|
|
2228
|
+
action?: GridAction;
|
|
2287
2229
|
}
|
|
2230
|
+
declare const DEFAULT_GRID_CONFIG: Partial<GridConfiguration>;
|
|
2231
|
+
type GridEventHandler<T = Record<string, unknown>> = (event: GridEvent<T>) => void;
|
|
2232
|
+
type GridCustomRenderer<T = Record<string, unknown>> = (value: unknown, row: T, column: GridColumn) => string;
|
|
2233
|
+
type GridCustomFormatter = (value: unknown, format?: string) => string;
|
|
2288
2234
|
|
|
2289
|
-
|
|
2290
|
-
|
|
2291
|
-
|
|
2292
|
-
|
|
2293
|
-
|
|
2294
|
-
|
|
2295
|
-
|
|
2296
|
-
|
|
2297
|
-
|
|
2298
|
-
|
|
2299
|
-
|
|
2300
|
-
|
|
2301
|
-
|
|
2302
|
-
|
|
2303
|
-
|
|
2304
|
-
|
|
2305
|
-
|
|
2306
|
-
|
|
2307
|
-
|
|
2308
|
-
|
|
2309
|
-
|
|
2310
|
-
|
|
2235
|
+
interface TemplateContext<T = Record<string, unknown>> {
|
|
2236
|
+
$implicit: unknown;
|
|
2237
|
+
row: T;
|
|
2238
|
+
value: unknown;
|
|
2239
|
+
column: GridColumn;
|
|
2240
|
+
}
|
|
2241
|
+
type TemplateRenderer<T = Record<string, unknown>> = TemplateRef<TemplateContext<T>>;
|
|
2242
|
+
declare class CideEleDataGridComponent<T = Record<string, unknown>> implements OnInit, OnChanges, OnDestroy {
|
|
2243
|
+
config: GridConfiguration<T>;
|
|
2244
|
+
templateRenderers: Record<string, unknown>;
|
|
2245
|
+
customFormatters: Record<string, (value: unknown, format?: string) => string>;
|
|
2246
|
+
actionHandlers: Record<string, (data: T, action?: GridAction) => void>;
|
|
2247
|
+
serverSidePagination: boolean;
|
|
2248
|
+
totalServerItems: number;
|
|
2249
|
+
currentServerPage: number;
|
|
2250
|
+
currentServerPageSize: number;
|
|
2251
|
+
dragDropEnabled: boolean;
|
|
2252
|
+
gridEvent: EventEmitter<GridEvent<T>>;
|
|
2253
|
+
private internalData;
|
|
2254
|
+
private filteredData;
|
|
2255
|
+
currentPage: _angular_core.WritableSignal<number>;
|
|
2256
|
+
pageSize: _angular_core.WritableSignal<number>;
|
|
2257
|
+
totalItems: _angular_core.WritableSignal<number>;
|
|
2258
|
+
totalPages: _angular_core.WritableSignal<number>;
|
|
2259
|
+
searchQuery: _angular_core.WritableSignal<string>;
|
|
2260
|
+
loading: _angular_core.WritableSignal<boolean>;
|
|
2261
|
+
isRefreshing: _angular_core.WritableSignal<boolean>;
|
|
2262
|
+
pageChangeLoading: _angular_core.WritableSignal<boolean>;
|
|
2263
|
+
jumpToPage: number;
|
|
2264
|
+
isDragOverRow: number | null;
|
|
2265
|
+
isDragging: _angular_core.WritableSignal<boolean>;
|
|
2266
|
+
hasOrderChanged: _angular_core.WritableSignal<boolean>;
|
|
2267
|
+
private originalOrderIds;
|
|
2268
|
+
private initialDataOrderIds;
|
|
2269
|
+
private rowOrderMap;
|
|
2270
|
+
private localReorderedData;
|
|
2271
|
+
private searchDebounceTimer?;
|
|
2272
|
+
private isDataUpdate;
|
|
2273
|
+
hasNextPage: _angular_core.Signal<boolean>;
|
|
2274
|
+
hasPreviousPage: _angular_core.Signal<boolean>;
|
|
2275
|
+
mergedConfig: _angular_core.WritableSignal<GridConfiguration<T>>;
|
|
2276
|
+
ngOnInit(): void;
|
|
2277
|
+
ngOnDestroy(): void;
|
|
2278
|
+
ngOnChanges(changes: SimpleChanges): void;
|
|
2311
2279
|
/**
|
|
2312
|
-
*
|
|
2280
|
+
* Check if the config change is only a data update
|
|
2313
2281
|
*/
|
|
2314
|
-
|
|
2282
|
+
private isDataOnlyUpdate;
|
|
2315
2283
|
/**
|
|
2316
|
-
* Update
|
|
2284
|
+
* Update only the data without triggering full grid re-initialization
|
|
2285
|
+
* This prevents the search input and other UI state from being reset
|
|
2317
2286
|
*/
|
|
2318
|
-
|
|
2287
|
+
private updateDataOnly;
|
|
2288
|
+
private mergeConfigWithDefaults;
|
|
2289
|
+
private initializeGrid;
|
|
2319
2290
|
/**
|
|
2320
|
-
*
|
|
2291
|
+
* Get the unique identifier for an item
|
|
2321
2292
|
*/
|
|
2322
|
-
|
|
2293
|
+
private getItemId;
|
|
2323
2294
|
/**
|
|
2324
|
-
*
|
|
2295
|
+
* Get the order value for an item from the config
|
|
2325
2296
|
*/
|
|
2326
|
-
|
|
2327
|
-
success: boolean;
|
|
2328
|
-
message?: string;
|
|
2329
|
-
data?: unknown;
|
|
2330
|
-
}>;
|
|
2297
|
+
private getItemOrder;
|
|
2331
2298
|
/**
|
|
2332
|
-
*
|
|
2299
|
+
* Initialize the original order for drag and drop
|
|
2333
2300
|
*/
|
|
2334
|
-
|
|
2301
|
+
private initializeOriginalOrder;
|
|
2335
2302
|
/**
|
|
2336
|
-
*
|
|
2303
|
+
* Refresh order tracking with current data (called when data updates)
|
|
2337
2304
|
*/
|
|
2338
|
-
|
|
2339
|
-
|
|
2340
|
-
message: string;
|
|
2341
|
-
data?: ICoreFileManager;
|
|
2342
|
-
}>;
|
|
2305
|
+
private refreshOrderTracking;
|
|
2306
|
+
private applyFilters;
|
|
2343
2307
|
/**
|
|
2344
|
-
*
|
|
2308
|
+
* Preserve tree expansion state from current data
|
|
2345
2309
|
*/
|
|
2346
|
-
|
|
2310
|
+
private preserveTreeExpansionState;
|
|
2347
2311
|
/**
|
|
2348
|
-
*
|
|
2312
|
+
* Apply preserved tree expansion state to new data
|
|
2349
2313
|
*/
|
|
2350
|
-
|
|
2314
|
+
private applyTreeExpansionState;
|
|
2351
2315
|
/**
|
|
2352
|
-
*
|
|
2316
|
+
* Transform flat data to tree structure based on foreign key relationships
|
|
2353
2317
|
*/
|
|
2354
|
-
|
|
2318
|
+
private transformToTree;
|
|
2355
2319
|
/**
|
|
2356
|
-
*
|
|
2320
|
+
* Recursively calculate item level in hierarchy for unlimited depth support
|
|
2357
2321
|
*/
|
|
2358
|
-
private
|
|
2322
|
+
private calculateItemLevel;
|
|
2359
2323
|
/**
|
|
2360
|
-
*
|
|
2324
|
+
* Flatten tree structure for display, respecting expansion state with unlimited nesting
|
|
2361
2325
|
*/
|
|
2362
|
-
private
|
|
2363
|
-
static ɵfac: _angular_core.ɵɵFactoryDeclaration<CideCoreFileManagerService, never>;
|
|
2364
|
-
static ɵprov: _angular_core.ɵɵInjectableDeclaration<CideCoreFileManagerService>;
|
|
2365
|
-
}
|
|
2366
|
-
|
|
2367
|
-
declare class CideEleConfirmationModalComponent implements OnInit, OnDestroy {
|
|
2368
|
-
private readonly confirmationService;
|
|
2369
|
-
readonly hasActiveConfirmation: _angular_core.Signal<boolean>;
|
|
2370
|
-
readonly currentRequest: _angular_core.WritableSignal<cloud_ide_element.ConfirmationRequest<unknown> | null>;
|
|
2371
|
-
readonly customData: _angular_core.WritableSignal<unknown>;
|
|
2372
|
-
ngOnInit(): void;
|
|
2373
|
-
ngOnDestroy(): void;
|
|
2374
|
-
readonly getHeaderClass: _angular_core.Signal<string>;
|
|
2375
|
-
readonly getIconClass: _angular_core.Signal<string>;
|
|
2376
|
-
readonly getConfirmButtonClass: _angular_core.Signal<string>;
|
|
2377
|
-
onBackdropClick(event: Event): void;
|
|
2378
|
-
onCancel(): void;
|
|
2379
|
-
onConfirm(): void;
|
|
2380
|
-
updateCustomData(data: unknown): void;
|
|
2381
|
-
static ɵfac: _angular_core.ɵɵFactoryDeclaration<CideEleConfirmationModalComponent, never>;
|
|
2382
|
-
static ɵcmp: _angular_core.ɵɵComponentDeclaration<CideEleConfirmationModalComponent, "cide-ele-confirmation-modal", never, {}, {}, never, never, true, never>;
|
|
2383
|
-
}
|
|
2384
|
-
|
|
2385
|
-
declare class CideEleToastNotificationComponent {
|
|
2386
|
-
private notificationService;
|
|
2387
|
-
activeNotifications: _angular_core.Signal<NotificationItem[]>;
|
|
2388
|
-
getToastClass(notification: NotificationItem): string;
|
|
2389
|
-
getIconClass(type: string): string;
|
|
2390
|
-
removeNotification(id: string): void;
|
|
2391
|
-
executeUndo(id: string): void;
|
|
2392
|
-
trackByNotification(index: number, notification: NotificationItem): string;
|
|
2393
|
-
static ɵfac: _angular_core.ɵɵFactoryDeclaration<CideEleToastNotificationComponent, never>;
|
|
2394
|
-
static ɵcmp: _angular_core.ɵɵComponentDeclaration<CideEleToastNotificationComponent, "cide-ele-toast-notification", never, {}, {}, never, never, true, never>;
|
|
2395
|
-
}
|
|
2396
|
-
|
|
2397
|
-
declare class CideEleGlobalNotificationsComponent {
|
|
2398
|
-
static ɵfac: _angular_core.ɵɵFactoryDeclaration<CideEleGlobalNotificationsComponent, never>;
|
|
2399
|
-
static ɵcmp: _angular_core.ɵɵComponentDeclaration<CideEleGlobalNotificationsComponent, "cide-ele-global-notifications", never, {}, {}, never, never, true, never>;
|
|
2400
|
-
}
|
|
2401
|
-
|
|
2402
|
-
interface JsonEditorConfig {
|
|
2403
|
-
/** Enable syntax highlighting */
|
|
2404
|
-
syntaxHighlighting?: boolean;
|
|
2405
|
-
/** Enable line numbers */
|
|
2406
|
-
showLineNumbers?: boolean;
|
|
2407
|
-
/** Enable auto-formatting */
|
|
2408
|
-
autoFormat?: boolean;
|
|
2409
|
-
/** Enable validation */
|
|
2410
|
-
validateOnChange?: boolean;
|
|
2411
|
-
/** Theme for the editor */
|
|
2412
|
-
theme?: 'light' | 'dark';
|
|
2413
|
-
/** Minimum height in pixels */
|
|
2414
|
-
minHeight?: number;
|
|
2415
|
-
/** Maximum height in pixels */
|
|
2416
|
-
maxHeight?: number;
|
|
2417
|
-
/** Placeholder text */
|
|
2418
|
-
placeholder?: string;
|
|
2419
|
-
/** Read-only mode */
|
|
2420
|
-
readOnly?: boolean;
|
|
2421
|
-
/** Show error messages */
|
|
2422
|
-
showErrors?: boolean;
|
|
2423
|
-
}
|
|
2424
|
-
interface JsonEditorError {
|
|
2425
|
-
line: number;
|
|
2426
|
-
column: number;
|
|
2427
|
-
message: string;
|
|
2428
|
-
type: 'syntax' | 'validation';
|
|
2429
|
-
}
|
|
2430
|
-
declare class CideEleJsonEditorComponent implements OnInit, ControlValueAccessor {
|
|
2431
|
-
label?: string;
|
|
2432
|
-
helperText?: string;
|
|
2433
|
-
required: boolean;
|
|
2434
|
-
disabled: _angular_core.WritableSignal<boolean>;
|
|
2435
|
-
showCharacterCount: boolean;
|
|
2436
|
-
config: JsonEditorConfig;
|
|
2437
|
-
configSignal: _angular_core.WritableSignal<JsonEditorConfig>;
|
|
2438
|
-
valueChange: EventEmitter<string>;
|
|
2439
|
-
objectChange: EventEmitter<object | null>;
|
|
2440
|
-
errorsChange: EventEmitter<JsonEditorError[]>;
|
|
2441
|
-
validChange: EventEmitter<boolean>;
|
|
2442
|
-
jsonTextarea: _angular_core.Signal<ElementRef<HTMLTextAreaElement>>;
|
|
2443
|
-
private destroyRef;
|
|
2444
|
-
jsonString: _angular_core.WritableSignal<string>;
|
|
2445
|
-
jsonObject: _angular_core.WritableSignal<object | null>;
|
|
2446
|
-
errors: _angular_core.WritableSignal<JsonEditorError[]>;
|
|
2447
|
-
editorId: string;
|
|
2448
|
-
hasErrors: _angular_core.Signal<boolean>;
|
|
2449
|
-
isValid: _angular_core.Signal<boolean>;
|
|
2450
|
-
lineNumbers: _angular_core.Signal<number[]>;
|
|
2451
|
-
containerClass: _angular_core.Signal<string>;
|
|
2452
|
-
private defaultConfig;
|
|
2453
|
-
ngOnInit(): void;
|
|
2326
|
+
private flattenTreeForDisplay;
|
|
2454
2327
|
/**
|
|
2455
|
-
*
|
|
2328
|
+
* Toggle expand/collapse state of a tree item with unlimited nesting support
|
|
2456
2329
|
*/
|
|
2457
|
-
|
|
2330
|
+
private toggleTreeExpand;
|
|
2331
|
+
private updatePaginationState;
|
|
2332
|
+
onPageChange(page: number | string): void;
|
|
2333
|
+
onPageSizeChange(): void;
|
|
2334
|
+
updatePageSize(value: string | number | string[]): void;
|
|
2335
|
+
previousPage(): void;
|
|
2336
|
+
nextPage(): void;
|
|
2337
|
+
onJumpToPage(): void;
|
|
2338
|
+
getEnhancedPageNumbers(): (number | string)[];
|
|
2339
|
+
updateSearchQuery(value: inputType): void;
|
|
2340
|
+
onSearch(): void;
|
|
2341
|
+
onRefresh(): void;
|
|
2342
|
+
setRefreshing(isRefreshing: boolean): void;
|
|
2343
|
+
clearPageChangeLoading(): void;
|
|
2458
2344
|
/**
|
|
2459
|
-
*
|
|
2345
|
+
* Check if tree view is enabled
|
|
2460
2346
|
*/
|
|
2461
|
-
|
|
2347
|
+
isTreeEnabled(): boolean;
|
|
2462
2348
|
/**
|
|
2463
|
-
*
|
|
2349
|
+
* Get tree configuration
|
|
2464
2350
|
*/
|
|
2465
|
-
|
|
2351
|
+
getTreeConfig(): cloud_ide_element.GridTreeConfig | undefined;
|
|
2466
2352
|
/**
|
|
2467
|
-
*
|
|
2353
|
+
* Check if an item has children
|
|
2468
2354
|
*/
|
|
2469
|
-
|
|
2355
|
+
hasChildren(item: T): boolean;
|
|
2470
2356
|
/**
|
|
2471
|
-
*
|
|
2357
|
+
* Get item level in tree
|
|
2472
2358
|
*/
|
|
2473
|
-
|
|
2359
|
+
getItemLevel(item: T): number;
|
|
2474
2360
|
/**
|
|
2475
|
-
* Check if
|
|
2361
|
+
* Check if item is expanded
|
|
2476
2362
|
*/
|
|
2477
|
-
|
|
2363
|
+
isItemExpanded(item: T): boolean;
|
|
2478
2364
|
/**
|
|
2479
|
-
* Get
|
|
2365
|
+
* Get tree indent style
|
|
2480
2366
|
*/
|
|
2481
|
-
|
|
2367
|
+
getTreeIndentStyle(item: T): string;
|
|
2482
2368
|
/**
|
|
2483
|
-
*
|
|
2369
|
+
* Get tree level background class for visual distinction
|
|
2484
2370
|
*/
|
|
2485
|
-
|
|
2371
|
+
getTreeLevelClass(item: T): string;
|
|
2486
2372
|
/**
|
|
2487
|
-
*
|
|
2373
|
+
* Check if drag and drop is enabled
|
|
2488
2374
|
*/
|
|
2489
|
-
|
|
2375
|
+
isDragDropEnabled(): boolean;
|
|
2490
2376
|
/**
|
|
2491
|
-
* Get
|
|
2377
|
+
* Get drag and drop configuration
|
|
2492
2378
|
*/
|
|
2493
|
-
|
|
2379
|
+
getDragDropConfig(): cloud_ide_element.GridDragDropConfig | undefined;
|
|
2494
2380
|
/**
|
|
2495
|
-
*
|
|
2381
|
+
* Handle drag start event
|
|
2496
2382
|
*/
|
|
2497
|
-
|
|
2383
|
+
onDragStart(event: DragEvent, item: T, index: number): void;
|
|
2498
2384
|
/**
|
|
2499
|
-
*
|
|
2385
|
+
* Handle drag over event
|
|
2500
2386
|
*/
|
|
2501
|
-
|
|
2387
|
+
onDragOver(event: DragEvent): void;
|
|
2502
2388
|
/**
|
|
2503
|
-
*
|
|
2389
|
+
* Handle drag leave event
|
|
2504
2390
|
*/
|
|
2505
|
-
|
|
2506
|
-
|
|
2507
|
-
|
|
2508
|
-
|
|
2509
|
-
|
|
2510
|
-
|
|
2511
|
-
|
|
2512
|
-
|
|
2513
|
-
|
|
2391
|
+
onDragLeave(event: DragEvent): void;
|
|
2392
|
+
/**
|
|
2393
|
+
* Handle drop event
|
|
2394
|
+
*/
|
|
2395
|
+
onDrop(event: DragEvent, targetItem: T, targetIndex: number): void;
|
|
2396
|
+
/**
|
|
2397
|
+
* Handle drag end event
|
|
2398
|
+
*/
|
|
2399
|
+
onDragEnd(event: DragEvent): void;
|
|
2400
|
+
/**
|
|
2401
|
+
* Calculate new order after reordering
|
|
2402
|
+
*/
|
|
2403
|
+
private getNewOrder;
|
|
2404
|
+
/**
|
|
2405
|
+
* Get the current order number for a specific item
|
|
2406
|
+
*/
|
|
2407
|
+
getCurrentOrderNumber(item: T): number;
|
|
2408
|
+
/**
|
|
2409
|
+
* Update the row order map with new positions after reordering
|
|
2410
|
+
*/
|
|
2411
|
+
private updateRowOrderMap;
|
|
2412
|
+
/**
|
|
2413
|
+
* Check if any row has changed position by comparing old vs new positions
|
|
2414
|
+
*/
|
|
2415
|
+
private checkIfOrderChanged;
|
|
2416
|
+
/**
|
|
2417
|
+
* Reset the row order map to original positions (for reset action)
|
|
2418
|
+
* Includes all items from hierarchical structure (parents and children)
|
|
2419
|
+
*/
|
|
2420
|
+
private resetRowOrderMap;
|
|
2421
|
+
/**
|
|
2422
|
+
* Update the row order map baseline to current positions (for save action)
|
|
2423
|
+
* Includes all items from hierarchical structure (parents and children)
|
|
2424
|
+
*/
|
|
2425
|
+
private updateRowOrderMapBaseline;
|
|
2426
|
+
/**
|
|
2427
|
+
* Get the current order array from the row order map
|
|
2428
|
+
* Includes all items from hierarchical structure (parents and children)
|
|
2429
|
+
*/
|
|
2430
|
+
private getCurrentOrderFromMap;
|
|
2431
|
+
/**
|
|
2432
|
+
* Get only the items that have actually changed order
|
|
2433
|
+
* Includes all items from hierarchical structure (parents and children)
|
|
2434
|
+
*/
|
|
2435
|
+
private getChangedOrders;
|
|
2436
|
+
/**
|
|
2437
|
+
* Flatten all data for order tracking (includes all hierarchical children)
|
|
2438
|
+
* This method ensures that all items (parents and children) are included in order tracking
|
|
2439
|
+
*/
|
|
2440
|
+
private flattenAllDataForOrderTracking;
|
|
2441
|
+
/**
|
|
2442
|
+
* Update local data order for visual reordering (LOCAL ONLY)
|
|
2443
|
+
*/
|
|
2444
|
+
private updateLocalDataOrder;
|
|
2445
|
+
/**
|
|
2446
|
+
* Check if the current order has changed from the initial order
|
|
2447
|
+
*/
|
|
2448
|
+
private checkOrderChanged;
|
|
2449
|
+
onRowClick(item: T): void;
|
|
2450
|
+
onActionClick(item: T, action: GridAction): void;
|
|
2451
|
+
private emitEvent;
|
|
2452
|
+
/**
|
|
2453
|
+
* Get nested value from an object
|
|
2454
|
+
* @param obj - The object to get the nested value from
|
|
2455
|
+
* @param path - The path to the nested value (e.g., 'contact.email')
|
|
2456
|
+
* @returns The nested value or undefined if not found
|
|
2457
|
+
* @example
|
|
2458
|
+
* const obj = { contact: { email: 'test@example.com' } };
|
|
2459
|
+
* const value = getNestedValue(obj, 'contact.email');
|
|
2460
|
+
* // value === 'test@example.com'
|
|
2461
|
+
*/
|
|
2462
|
+
getNestedValue(obj: T, path: string): unknown;
|
|
2463
|
+
/**
|
|
2464
|
+
* Set a nested value in an object using dot notation
|
|
2465
|
+
* @param obj The object to modify
|
|
2466
|
+
* @param path The dot notation path (e.g., 'contact.email')
|
|
2467
|
+
* @param value The value to set
|
|
2468
|
+
* @example
|
|
2469
|
+
* const obj = { contact: { email: 'old@example.com' } };
|
|
2470
|
+
* setNestedValue(obj, 'contact.email', 'new@example.com');
|
|
2471
|
+
* // obj.contact.email === 'new@example.com'
|
|
2472
|
+
*/
|
|
2473
|
+
setNestedValue(obj: T, path: string, value: unknown): void;
|
|
2474
|
+
/**
|
|
2475
|
+
* Compare two order arrays to check if they are different
|
|
2476
|
+
* This method can be used by parent components to check if order has actually changed
|
|
2477
|
+
* @param currentOrder Current order array
|
|
2478
|
+
* @param originalOrder Original order array
|
|
2479
|
+
* @returns true if orders are different, false if they are the same
|
|
2480
|
+
*/
|
|
2481
|
+
compareOrders(currentOrder: Array<{
|
|
2482
|
+
id: string | undefined;
|
|
2483
|
+
order: number | undefined;
|
|
2484
|
+
}>, originalOrder: Array<{
|
|
2485
|
+
id: string | undefined;
|
|
2486
|
+
order: number | undefined;
|
|
2487
|
+
}>): boolean;
|
|
2488
|
+
formatValue(value: unknown, column: GridColumn): string;
|
|
2489
|
+
private formatDate;
|
|
2490
|
+
private formatCurrency;
|
|
2491
|
+
private formatPercentage;
|
|
2492
|
+
isTemplateRenderer(rendererKey: string): boolean;
|
|
2493
|
+
getTemplateRenderer(rendererKey: string): TemplateRenderer<T> | null;
|
|
2494
|
+
getTemplateContext(value: unknown, row: T, column: GridColumn): TemplateContext<T>;
|
|
2495
|
+
getColumnWidthClass(width?: ColumnWidth): string;
|
|
2496
|
+
getColumnMaxWidthClass(width?: ColumnWidth): string;
|
|
2497
|
+
getStatusClass(value: unknown, statusConfig?: StatusConfig): string;
|
|
2498
|
+
getStatusText(value: unknown, statusConfig?: StatusConfig): string;
|
|
2499
|
+
getItemRangeText(): string;
|
|
2500
|
+
getPageSizeOptions(): {
|
|
2501
|
+
value: number;
|
|
2502
|
+
label: string;
|
|
2503
|
+
}[];
|
|
2504
|
+
trackByFn(index: number, item: T): unknown;
|
|
2505
|
+
getSkeletonArray(): number[];
|
|
2506
|
+
get displayedData(): T[];
|
|
2507
|
+
get columns(): GridColumn[];
|
|
2508
|
+
get paginationConfig(): cloud_ide_element.GridPaginationConfig;
|
|
2509
|
+
get searchConfig(): cloud_ide_element.GridSearchConfig;
|
|
2510
|
+
get loadingConfig(): cloud_ide_element.GridLoadingConfig;
|
|
2511
|
+
get scrollConfig(): cloud_ide_element.GridScrollConfig | undefined;
|
|
2512
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<CideEleDataGridComponent<any>, never>;
|
|
2513
|
+
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>;
|
|
2514
|
+
}
|
|
2515
|
+
|
|
2516
|
+
interface DropdownItem {
|
|
2517
|
+
id: string;
|
|
2518
|
+
label: string;
|
|
2519
|
+
icon?: string;
|
|
2520
|
+
iconColor?: string;
|
|
2521
|
+
textColor?: string;
|
|
2522
|
+
hoverBgColor?: string;
|
|
2523
|
+
disabled?: boolean;
|
|
2524
|
+
divider?: boolean;
|
|
2525
|
+
}
|
|
2526
|
+
interface DropdownConfig {
|
|
2527
|
+
triggerIcon?: string;
|
|
2528
|
+
triggerSize?: 'xs' | 'sm' | 'md' | 'lg';
|
|
2529
|
+
triggerColor?: string;
|
|
2530
|
+
triggerHoverColor?: string;
|
|
2531
|
+
triggerHoverBgColor?: string;
|
|
2532
|
+
menuWidth?: string;
|
|
2533
|
+
menuPosition?: 'left' | 'right' | 'auto';
|
|
2534
|
+
showArrow?: boolean;
|
|
2535
|
+
forcePosition?: 'top' | 'bottom' | 'left' | 'right';
|
|
2536
|
+
offsetX?: number;
|
|
2537
|
+
offsetY?: number;
|
|
2538
|
+
minWidth?: number;
|
|
2539
|
+
usePortal?: boolean;
|
|
2540
|
+
}
|
|
2541
|
+
interface DropdownPosition {
|
|
2542
|
+
vertical: 'top' | 'bottom';
|
|
2543
|
+
horizontal: 'left' | 'right';
|
|
2544
|
+
spaceAvailable: {
|
|
2545
|
+
top: number;
|
|
2546
|
+
bottom: number;
|
|
2547
|
+
left: number;
|
|
2548
|
+
right: number;
|
|
2549
|
+
};
|
|
2550
|
+
}
|
|
2551
|
+
declare class CideEleDropdownComponent implements OnInit, OnDestroy {
|
|
2552
|
+
private destroyRef;
|
|
2553
|
+
private dropdownManager;
|
|
2554
|
+
private portalService;
|
|
2555
|
+
private viewContainerRef;
|
|
2556
|
+
private dropdownId;
|
|
2557
|
+
private portalId;
|
|
2558
|
+
dropdownContainer: _angular_core.Signal<ElementRef<any>>;
|
|
2559
|
+
dropdownMenu: _angular_core.Signal<ElementRef<any> | undefined>;
|
|
2560
|
+
dropdownMenuTemplate: _angular_core.Signal<TemplateRef<any> | undefined>;
|
|
2561
|
+
set items(value: DropdownItem[]);
|
|
2562
|
+
get items(): DropdownItem[];
|
|
2563
|
+
private _items;
|
|
2564
|
+
config: DropdownConfig;
|
|
2565
|
+
triggerTemplate?: TemplateRef<{
|
|
2566
|
+
$implicit: boolean;
|
|
2567
|
+
}>;
|
|
2568
|
+
menuTemplate?: TemplateRef<{
|
|
2569
|
+
$implicit: DropdownItem[];
|
|
2570
|
+
}>;
|
|
2571
|
+
itemClick: EventEmitter<DropdownItem>;
|
|
2572
|
+
dropdownToggle: EventEmitter<boolean>;
|
|
2573
|
+
isOpen: _angular_core.WritableSignal<boolean>;
|
|
2574
|
+
currentPosition: _angular_core.WritableSignal<DropdownPosition>;
|
|
2575
|
+
ngOnInit(): void;
|
|
2576
|
+
getTriggerClasses(): string;
|
|
2577
|
+
getTriggerIconClasses(): string;
|
|
2578
|
+
getMenuClasses(): string;
|
|
2579
|
+
getMenuStyles(): string;
|
|
2580
|
+
calculatePosition(): DropdownPosition;
|
|
2581
|
+
private getMenuWidth;
|
|
2582
|
+
protected getSafeConfig(): DropdownConfig;
|
|
2583
|
+
private getEstimatedMenuHeight;
|
|
2584
|
+
toggleDropdown(event: Event): void;
|
|
2585
|
+
private openDropdown;
|
|
2586
|
+
testMouseDown(item: DropdownItem): void;
|
|
2587
|
+
onItemClick(item: DropdownItem, event: Event): void;
|
|
2588
|
+
private createPortalDropdown;
|
|
2589
|
+
private destroyPortalDropdown;
|
|
2590
|
+
closeDropdown(): void;
|
|
2591
|
+
getItemClasses(item: DropdownItem): string;
|
|
2592
|
+
onWindowResize(): void;
|
|
2593
|
+
onWindowScroll(): void;
|
|
2594
|
+
ngOnDestroy(): void;
|
|
2595
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<CideEleDropdownComponent, never>;
|
|
2596
|
+
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>;
|
|
2514
2597
|
}
|
|
2515
2598
|
|
|
2516
2599
|
interface FloatingContainerConfig {
|
|
@@ -2820,274 +2903,130 @@ declare class CideEleFloatingContainerDynamicDirective implements OnInit, OnDest
|
|
|
2820
2903
|
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>;
|
|
2821
2904
|
}
|
|
2822
2905
|
|
|
2823
|
-
|
|
2824
|
-
|
|
2825
|
-
|
|
2826
|
-
|
|
2827
|
-
|
|
2906
|
+
interface JsonEditorConfig {
|
|
2907
|
+
/** Enable syntax highlighting */
|
|
2908
|
+
syntaxHighlighting?: boolean;
|
|
2909
|
+
/** Enable line numbers */
|
|
2910
|
+
showLineNumbers?: boolean;
|
|
2911
|
+
/** Enable auto-formatting */
|
|
2912
|
+
autoFormat?: boolean;
|
|
2913
|
+
/** Enable validation */
|
|
2914
|
+
validateOnChange?: boolean;
|
|
2915
|
+
/** Theme for the editor */
|
|
2916
|
+
theme?: 'light' | 'dark';
|
|
2917
|
+
/** Minimum height in pixels */
|
|
2918
|
+
minHeight?: number;
|
|
2919
|
+
/** Maximum height in pixels */
|
|
2920
|
+
maxHeight?: number;
|
|
2921
|
+
/** Placeholder text */
|
|
2922
|
+
placeholder?: string;
|
|
2923
|
+
/** Read-only mode */
|
|
2924
|
+
readOnly?: boolean;
|
|
2925
|
+
/** Show error messages */
|
|
2926
|
+
showErrors?: boolean;
|
|
2927
|
+
}
|
|
2928
|
+
interface JsonEditorError {
|
|
2929
|
+
line: number;
|
|
2930
|
+
column: number;
|
|
2931
|
+
message: string;
|
|
2932
|
+
type: 'syntax' | 'validation';
|
|
2933
|
+
}
|
|
2934
|
+
declare class CideEleJsonEditorComponent implements OnInit, ControlValueAccessor {
|
|
2935
|
+
label?: string;
|
|
2936
|
+
helperText?: string;
|
|
2937
|
+
required: boolean;
|
|
2938
|
+
disabled: _angular_core.WritableSignal<boolean>;
|
|
2939
|
+
showCharacterCount: boolean;
|
|
2940
|
+
config: JsonEditorConfig;
|
|
2941
|
+
configSignal: _angular_core.WritableSignal<JsonEditorConfig>;
|
|
2942
|
+
valueChange: EventEmitter<string>;
|
|
2943
|
+
objectChange: EventEmitter<object | null>;
|
|
2944
|
+
errorsChange: EventEmitter<JsonEditorError[]>;
|
|
2945
|
+
validChange: EventEmitter<boolean>;
|
|
2946
|
+
jsonTextarea: _angular_core.Signal<ElementRef<HTMLTextAreaElement>>;
|
|
2947
|
+
private destroyRef;
|
|
2948
|
+
jsonString: _angular_core.WritableSignal<string>;
|
|
2949
|
+
jsonObject: _angular_core.WritableSignal<object | null>;
|
|
2950
|
+
errors: _angular_core.WritableSignal<JsonEditorError[]>;
|
|
2951
|
+
editorId: string;
|
|
2952
|
+
hasErrors: _angular_core.Signal<boolean>;
|
|
2953
|
+
isValid: _angular_core.Signal<boolean>;
|
|
2954
|
+
lineNumbers: _angular_core.Signal<number[]>;
|
|
2955
|
+
containerClass: _angular_core.Signal<string>;
|
|
2956
|
+
private defaultConfig;
|
|
2957
|
+
ngOnInit(): void;
|
|
2828
2958
|
/**
|
|
2829
|
-
*
|
|
2959
|
+
* Handle input changes
|
|
2830
2960
|
*/
|
|
2831
|
-
|
|
2961
|
+
onInput(event: Event): void;
|
|
2832
2962
|
/**
|
|
2833
|
-
*
|
|
2963
|
+
* Handle blur event
|
|
2834
2964
|
*/
|
|
2835
|
-
|
|
2965
|
+
onBlur(): void;
|
|
2836
2966
|
/**
|
|
2837
|
-
*
|
|
2967
|
+
* Parse JSON string and emit object
|
|
2838
2968
|
*/
|
|
2839
|
-
private
|
|
2969
|
+
private parseJson;
|
|
2840
2970
|
/**
|
|
2841
|
-
*
|
|
2971
|
+
* Validate JSON and update errors
|
|
2842
2972
|
*/
|
|
2843
|
-
private
|
|
2973
|
+
private validateJson;
|
|
2844
2974
|
/**
|
|
2845
|
-
*
|
|
2975
|
+
* Format JSON with proper indentation
|
|
2846
2976
|
*/
|
|
2847
|
-
|
|
2977
|
+
formatJson(): void;
|
|
2848
2978
|
/**
|
|
2849
|
-
*
|
|
2979
|
+
* Check if there's an error on a specific line
|
|
2850
2980
|
*/
|
|
2851
|
-
|
|
2981
|
+
hasErrorOnLine(line: number): boolean;
|
|
2852
2982
|
/**
|
|
2853
|
-
*
|
|
2983
|
+
* Get error ID for accessibility
|
|
2854
2984
|
*/
|
|
2855
|
-
|
|
2985
|
+
errorId(): string;
|
|
2856
2986
|
/**
|
|
2857
|
-
* Focus
|
|
2987
|
+
* Focus the editor
|
|
2858
2988
|
*/
|
|
2859
|
-
|
|
2989
|
+
focus(): void;
|
|
2860
2990
|
/**
|
|
2861
|
-
*
|
|
2991
|
+
* Clear the editor
|
|
2862
2992
|
*/
|
|
2863
|
-
|
|
2993
|
+
clear(): void;
|
|
2864
2994
|
/**
|
|
2865
|
-
*
|
|
2995
|
+
* Get current JSON object
|
|
2866
2996
|
*/
|
|
2867
|
-
|
|
2997
|
+
getValue(): object | null;
|
|
2868
2998
|
/**
|
|
2869
|
-
*
|
|
2999
|
+
* Get current JSON string
|
|
2870
3000
|
*/
|
|
2871
|
-
|
|
3001
|
+
getStringValue(): string;
|
|
2872
3002
|
/**
|
|
2873
|
-
*
|
|
3003
|
+
* Check if JSON is valid
|
|
2874
3004
|
*/
|
|
2875
|
-
|
|
3005
|
+
isValidJson(): boolean;
|
|
2876
3006
|
/**
|
|
2877
|
-
*
|
|
3007
|
+
* Get validation errors
|
|
2878
3008
|
*/
|
|
2879
|
-
|
|
2880
|
-
|
|
2881
|
-
|
|
2882
|
-
|
|
2883
|
-
|
|
2884
|
-
|
|
2885
|
-
|
|
2886
|
-
|
|
2887
|
-
|
|
2888
|
-
customMessages: {
|
|
2889
|
-
[key: string]: string;
|
|
2890
|
-
};
|
|
2891
|
-
private fieldLabelsMap;
|
|
2892
|
-
private elementService;
|
|
2893
|
-
formErrors: _angular_core.WritableSignal<string[]>;
|
|
2894
|
-
ngOnInit(): void;
|
|
2895
|
-
ngOnChanges(changes: SimpleChanges): void;
|
|
2896
|
-
private setupFormChangeListener;
|
|
2897
|
-
private updateFormErrors;
|
|
2898
|
-
private loadFormErrors;
|
|
2899
|
-
isFormGroupMode(): boolean;
|
|
2900
|
-
getFormGroupErrors(): Promise<string[]>;
|
|
2901
|
-
private buildFieldLabelsMap;
|
|
2902
|
-
getFormGroupErrorMessage(): string;
|
|
2903
|
-
getControlErrorMessage(control: AbstractControl, fieldName: string): string;
|
|
2904
|
-
getErrorMessage(): string;
|
|
2905
|
-
private getFieldDisplayName;
|
|
2906
|
-
private convertToDisplayName;
|
|
2907
|
-
static ɵfac: _angular_core.ɵɵFactoryDeclaration<CideFormFieldErrorComponent, never>;
|
|
2908
|
-
static ɵcmp: _angular_core.ɵɵComponentDeclaration<CideFormFieldErrorComponent, "cide-form-field-error", never, { "control": { "alias": "control"; "required": false; }; "formGroup": { "alias": "formGroup"; "required": false; }; "fieldName": { "alias": "fieldName"; "required": false; }; "customMessages": { "alias": "customMessages"; "required": false; }; }, {}, never, never, true, never>;
|
|
2909
|
-
}
|
|
2910
|
-
|
|
2911
|
-
interface BreadcrumbItem$1 {
|
|
2912
|
-
id: string;
|
|
2913
|
-
label: string;
|
|
2914
|
-
icon?: string;
|
|
2915
|
-
url?: string;
|
|
2916
|
-
disabled?: boolean;
|
|
2917
|
-
type?: 'root' | 'category' | 'entity' | 'custom';
|
|
2918
|
-
metadata?: any;
|
|
2919
|
-
}
|
|
2920
|
-
interface BreadcrumbDropdownOption$1 {
|
|
2921
|
-
id: string;
|
|
2922
|
-
label: string;
|
|
2923
|
-
icon?: string;
|
|
2924
|
-
disabled?: boolean;
|
|
2925
|
-
action?: () => void;
|
|
2926
|
-
}
|
|
2927
|
-
interface BreadcrumbSeparator$1 {
|
|
2928
|
-
type: 'chevron' | 'slash' | 'arrow' | 'dot' | 'custom';
|
|
2929
|
-
icon?: string;
|
|
2930
|
-
text?: string;
|
|
2931
|
-
}
|
|
2932
|
-
type BreadcrumbStyle$1 = 'modern' | 'classic' | 'minimal' | 'hierarchical';
|
|
2933
|
-
interface BreadcrumbConfig$1 {
|
|
2934
|
-
style: BreadcrumbStyle$1;
|
|
2935
|
-
separator: BreadcrumbSeparator$1;
|
|
2936
|
-
showHomeIcon: boolean;
|
|
2937
|
-
homeIcon: string;
|
|
2938
|
-
maxItems: number;
|
|
2939
|
-
showDropdownOnOverflow: boolean;
|
|
2940
|
-
dropdownOptions: BreadcrumbDropdownOption$1[];
|
|
2941
|
-
clickableItems: boolean;
|
|
2942
|
-
showTooltips: boolean;
|
|
2943
|
-
responsive: boolean;
|
|
2944
|
-
compact: boolean;
|
|
2945
|
-
animated: boolean;
|
|
2946
|
-
}
|
|
2947
|
-
declare class CideEleBreadcrumbComponent implements OnInit, OnDestroy {
|
|
2948
|
-
items: BreadcrumbItem$1[];
|
|
2949
|
-
style: BreadcrumbStyle$1;
|
|
2950
|
-
separator: BreadcrumbSeparator$1;
|
|
2951
|
-
showHomeIcon: boolean;
|
|
2952
|
-
homeIcon: string;
|
|
2953
|
-
maxItems: number;
|
|
2954
|
-
showDropdownOnOverflow: boolean;
|
|
2955
|
-
dropdownOptions: BreadcrumbDropdownOption$1[];
|
|
2956
|
-
clickableItems: boolean;
|
|
2957
|
-
showTooltips: boolean;
|
|
2958
|
-
responsive: boolean;
|
|
2959
|
-
compact: boolean;
|
|
2960
|
-
animated: boolean;
|
|
2961
|
-
loading: boolean;
|
|
2962
|
-
disabled: boolean;
|
|
2963
|
-
itemClick: EventEmitter<BreadcrumbItem$1>;
|
|
2964
|
-
dropdownOptionClick: EventEmitter<BreadcrumbDropdownOption$1>;
|
|
2965
|
-
homeClick: EventEmitter<void>;
|
|
2966
|
-
private showDropdown;
|
|
2967
|
-
private isOverflowing;
|
|
2968
|
-
private visibleItems;
|
|
2969
|
-
private hiddenItems;
|
|
2970
|
-
showDropdownSignal: _angular_core.Signal<boolean>;
|
|
2971
|
-
isOverflowingSignal: _angular_core.Signal<boolean>;
|
|
2972
|
-
visibleItemsSignal: _angular_core.Signal<BreadcrumbItem$1[]>;
|
|
2973
|
-
hiddenItemsSignal: _angular_core.Signal<BreadcrumbItem$1[]>;
|
|
2974
|
-
config: _angular_core.Signal<BreadcrumbConfig$1>;
|
|
2975
|
-
ngOnInit(): void;
|
|
2976
|
-
ngOnDestroy(): void;
|
|
2977
|
-
onDocumentClick(event: Event): void;
|
|
2978
|
-
private processItems;
|
|
2979
|
-
private getConfigForStyle;
|
|
2980
|
-
onItemClick(item: BreadcrumbItem$1): void;
|
|
2981
|
-
onHomeClick(): void;
|
|
2982
|
-
onDropdownToggle(): void;
|
|
2983
|
-
onDropdownOptionClick(option: BreadcrumbDropdownOption$1): void;
|
|
2984
|
-
getItemClasses(item: BreadcrumbItem$1, isLast?: boolean): string;
|
|
2985
|
-
getContainerClasses(): string;
|
|
2986
|
-
getSeparatorIcon(): string;
|
|
2987
|
-
getTooltipText(item: BreadcrumbItem$1): string;
|
|
2988
|
-
toggleDropdown(): void;
|
|
2989
|
-
closeDropdown(): void;
|
|
2990
|
-
updateItems(newItems: BreadcrumbItem$1[]): void;
|
|
2991
|
-
addItem(item: BreadcrumbItem$1): void;
|
|
2992
|
-
removeItem(itemId: string): void;
|
|
2993
|
-
static ɵfac: _angular_core.ɵɵFactoryDeclaration<CideEleBreadcrumbComponent, never>;
|
|
2994
|
-
static ɵcmp: _angular_core.ɵɵComponentDeclaration<CideEleBreadcrumbComponent, "cide-ele-breadcrumb", never, { "items": { "alias": "items"; "required": false; }; "style": { "alias": "style"; "required": false; }; "separator": { "alias": "separator"; "required": false; }; "showHomeIcon": { "alias": "showHomeIcon"; "required": false; }; "homeIcon": { "alias": "homeIcon"; "required": false; }; "maxItems": { "alias": "maxItems"; "required": false; }; "showDropdownOnOverflow": { "alias": "showDropdownOnOverflow"; "required": false; }; "dropdownOptions": { "alias": "dropdownOptions"; "required": false; }; "clickableItems": { "alias": "clickableItems"; "required": false; }; "showTooltips": { "alias": "showTooltips"; "required": false; }; "responsive": { "alias": "responsive"; "required": false; }; "compact": { "alias": "compact"; "required": false; }; "animated": { "alias": "animated"; "required": false; }; "loading": { "alias": "loading"; "required": false; }; "disabled": { "alias": "disabled"; "required": false; }; }, { "itemClick": "itemClick"; "dropdownOptionClick": "dropdownOptionClick"; "homeClick": "homeClick"; }, never, never, true, never>;
|
|
3009
|
+
getErrors(): JsonEditorError[];
|
|
3010
|
+
writeValue(value: string | object | null | undefined): void;
|
|
3011
|
+
registerOnChange(fn: (value: string) => void): void;
|
|
3012
|
+
registerOnTouched(fn: () => void): void;
|
|
3013
|
+
setDisabledState(isDisabled: boolean): void;
|
|
3014
|
+
private onChange;
|
|
3015
|
+
private onTouched;
|
|
3016
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<CideEleJsonEditorComponent, never>;
|
|
3017
|
+
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>;
|
|
2995
3018
|
}
|
|
2996
3019
|
|
|
2997
|
-
|
|
2998
|
-
|
|
2999
|
-
|
|
3000
|
-
|
|
3001
|
-
|
|
3002
|
-
|
|
3003
|
-
|
|
3004
|
-
|
|
3005
|
-
|
|
3006
|
-
/** Whether the item is disabled */
|
|
3007
|
-
disabled?: boolean;
|
|
3008
|
-
/** Type of the breadcrumb item */
|
|
3009
|
-
type?: 'root' | 'category' | 'entity' | 'custom';
|
|
3010
|
-
/** Additional metadata for the item */
|
|
3011
|
-
metadata?: any;
|
|
3012
|
-
}
|
|
3013
|
-
interface BreadcrumbDropdownOption {
|
|
3014
|
-
/** Unique identifier for the dropdown option */
|
|
3015
|
-
id: string;
|
|
3016
|
-
/** Display label for the option */
|
|
3017
|
-
label: string;
|
|
3018
|
-
/** Optional icon name (Material Icons) */
|
|
3019
|
-
icon?: string;
|
|
3020
|
-
/** Whether the option is disabled */
|
|
3021
|
-
disabled?: boolean;
|
|
3022
|
-
/** Optional action function to execute when clicked */
|
|
3023
|
-
action?: () => void;
|
|
3024
|
-
}
|
|
3025
|
-
interface BreadcrumbSeparator {
|
|
3026
|
-
/** Type of separator to use */
|
|
3027
|
-
type: 'chevron' | 'slash' | 'arrow' | 'dot' | 'custom';
|
|
3028
|
-
/** Custom icon name (when type is not 'custom') */
|
|
3029
|
-
icon?: string;
|
|
3030
|
-
/** Custom text (when type is 'custom') */
|
|
3031
|
-
text?: string;
|
|
3032
|
-
}
|
|
3033
|
-
type BreadcrumbStyle = 'modern' | 'classic' | 'minimal' | 'hierarchical';
|
|
3034
|
-
interface BreadcrumbConfig {
|
|
3035
|
-
/** Style variant */
|
|
3036
|
-
style: BreadcrumbStyle;
|
|
3037
|
-
/** Separator configuration */
|
|
3038
|
-
separator: BreadcrumbSeparator;
|
|
3039
|
-
/** Whether to show home icon */
|
|
3040
|
-
showHomeIcon: boolean;
|
|
3041
|
-
/** Home icon name */
|
|
3042
|
-
homeIcon: string;
|
|
3043
|
-
/** Maximum number of items to show before overflow */
|
|
3044
|
-
maxItems: number;
|
|
3045
|
-
/** Whether to show dropdown on overflow */
|
|
3046
|
-
showDropdownOnOverflow: boolean;
|
|
3047
|
-
/** Additional dropdown options */
|
|
3048
|
-
dropdownOptions: BreadcrumbDropdownOption[];
|
|
3049
|
-
/** Whether items are clickable */
|
|
3050
|
-
clickableItems: boolean;
|
|
3051
|
-
/** Whether to show tooltips */
|
|
3052
|
-
showTooltips: boolean;
|
|
3053
|
-
/** Whether to enable responsive behavior */
|
|
3054
|
-
responsive: boolean;
|
|
3055
|
-
/** Whether to use compact styling */
|
|
3056
|
-
compact: boolean;
|
|
3057
|
-
/** Whether to enable animations */
|
|
3058
|
-
animated: boolean;
|
|
3059
|
-
}
|
|
3060
|
-
interface BreadcrumbEvents {
|
|
3061
|
-
/** Emitted when a breadcrumb item is clicked */
|
|
3062
|
-
itemClick: BreadcrumbItem;
|
|
3063
|
-
/** Emitted when a dropdown option is clicked */
|
|
3064
|
-
dropdownOptionClick: BreadcrumbDropdownOption;
|
|
3065
|
-
/** Emitted when home icon is clicked */
|
|
3066
|
-
homeClick: void;
|
|
3067
|
-
}
|
|
3068
|
-
declare const BREADCRUMB_STYLES: Record<BreadcrumbStyle, BreadcrumbConfig>;
|
|
3069
|
-
declare class BreadcrumbUtils {
|
|
3070
|
-
/**
|
|
3071
|
-
* Create a breadcrumb item
|
|
3072
|
-
*/
|
|
3073
|
-
static createItem(id: string, label: string, options?: Partial<BreadcrumbItem>): BreadcrumbItem;
|
|
3074
|
-
/**
|
|
3075
|
-
* Create a dropdown option
|
|
3076
|
-
*/
|
|
3077
|
-
static createDropdownOption(id: string, label: string, options?: Partial<BreadcrumbDropdownOption>): BreadcrumbDropdownOption;
|
|
3078
|
-
/**
|
|
3079
|
-
* Create a separator
|
|
3080
|
-
*/
|
|
3081
|
-
static createSeparator(type: BreadcrumbSeparator['type'], options?: Partial<BreadcrumbSeparator>): BreadcrumbSeparator;
|
|
3082
|
-
/**
|
|
3083
|
-
* Get default configuration for a style
|
|
3084
|
-
*/
|
|
3085
|
-
static getDefaultConfig(style: BreadcrumbStyle): BreadcrumbConfig;
|
|
3086
|
-
/**
|
|
3087
|
-
* Merge configurations
|
|
3088
|
-
*/
|
|
3089
|
-
static mergeConfig(base: BreadcrumbConfig, override: Partial<BreadcrumbConfig>): BreadcrumbConfig;
|
|
3020
|
+
declare class CideEleSkeletonLoaderComponent {
|
|
3021
|
+
width: string;
|
|
3022
|
+
height: string;
|
|
3023
|
+
borderRadius: string;
|
|
3024
|
+
count: number;
|
|
3025
|
+
circle: boolean;
|
|
3026
|
+
animation: 'pulse' | 'wave' | 'none';
|
|
3027
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<CideEleSkeletonLoaderComponent, never>;
|
|
3028
|
+
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>;
|
|
3090
3029
|
}
|
|
3091
3030
|
|
|
3092
|
-
export {
|
|
3093
|
-
export type { BreadcrumbConfig, BreadcrumbDropdownOption,
|
|
3031
|
+
export { CapitalizePipe, CideCoreFileManagerService, CideEleBreadcrumbComponent, CideEleButtonComponent, CideEleConfirmationModalComponent, CideEleDataGridComponent, CideEleDropdownComponent, CideEleFileImageDirective, CideEleFileInputComponent, CideEleFileManagerService, CideEleFloatingContainerComponent, CideEleFloatingContainerDynamicDirective, CideEleFloatingContainerManagerComponent, CideEleFloatingContainerService, CideEleFloatingFeaturesService, CideEleFloatingFileUploaderComponent, CideEleFloatingFileUploaderService, CideEleGlobalNotificationsComponent, CideEleJsonEditorComponent, CideEleResizerDirective, CideEleSkeletonLoaderComponent, CideEleTabComponent, CideEleToastNotificationComponent, CideElementsService, CideFormFieldErrorComponent, CideIconComponent, CideInputComponent, CideSelectComponent, CideSelectOptionComponent, CideSpinnerComponent, CideTextareaComponent, ConfirmationService, CoreFileManagerInsertUpdatePayload, DEFAULT_GRID_CONFIG, DropdownManagerService, ICoreCyfmSave, KeyboardShortcutService, MFileManager, NotificationService, PortalService, TooltipDirective };
|
|
3032
|
+
export type { BreadcrumbConfig, BreadcrumbDropdownOption, BreadcrumbItem, BreadcrumbSeparator, BreadcrumbStyle, 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, PortalConfig, PortalPosition, SelectOption, SelectOptionObject, ServiceState, ShortcutOverride, StatusConfig, TabItem, TemplateContext, TemplatePortalConfig, TemplateRenderer, TextAlign, TooltipPlacement, TooltipType, UploadProgress, ValidationStatus, controllerResponse, fileManagerControllerResponse, fileManagerResponseData, mongooseObjectIdCreateControllerResponse };
|