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