vc-create-dashboard 9.0.0 → 10.0.0

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.
@@ -1,5 +1,5 @@
1
1
  import * as i0 from "@angular/core";
2
- import { AfterViewInit, ApplicationRef, ChangeDetectorRef, ComponentRef, ElementRef, EventEmitter, Injector, ModuleWithProviders, OnChanges, OnDestroy, OnInit, PipeTransform, Renderer2, SimpleChanges, Type, ViewContainerRef } from "@angular/core";
2
+ import { AfterViewInit, ApplicationRef, ChangeDetectorRef, ComponentRef, ElementRef, EnvironmentInjector, EventEmitter, Injector, ModuleWithProviders, OnChanges, OnDestroy, OnInit, PipeTransform, Renderer2, SimpleChanges, Type, ViewContainerRef } from "@angular/core";
3
3
  import * as i11 from "@vcomply/editor";
4
4
  import { EditorConfig } from "@vcomply/editor";
5
5
  import * as i27 from "ng2-date-picker";
@@ -9,6 +9,7 @@ import { BehaviorSubject, Observable, Subject } from "rxjs";
9
9
  import { Router } from "@angular/router";
10
10
  import * as i2 from "@angular/common";
11
11
  import * as i10 from "@angular/forms";
12
+ import { DomSanitizer } from "@angular/platform-browser";
12
13
  export declare class CreateDashboardService {
13
14
  constructor();
14
15
  static ɵfac: i0.ɵɵFactoryDeclaration<CreateDashboardService, never>;
@@ -18,22 +19,11 @@ declare class Configurations {
18
19
  envConfig: any;
19
20
  constructor();
20
21
  }
21
- declare class AuthService {
22
- private http;
23
- env: any;
24
- constructor(http: HttpClient, config?: Configurations);
25
- getAuthorizationToken(): any;
26
- static ɵfac: i0.ɵɵFactoryDeclaration<AuthService, [null, {
27
- optional: true;
28
- }]>;
29
- static ɵprov: i0.ɵɵInjectableDeclaration<any>;
30
- }
31
22
  declare class CreateDashboardService$1 {
32
23
  private http;
33
- private authService;
34
24
  env: any;
35
25
  httpOptions: any;
36
- constructor(http: HttpClient, authService: AuthService, config?: Configurations);
26
+ constructor(http: HttpClient, config?: Configurations);
37
27
  getOrganizationUsers(url?: any): import("rxjs").Observable<any>;
38
28
  /**
39
29
  * Fetches the OrganizationUsers details of users List to set pagination details including number of
@@ -61,12 +51,57 @@ declare class CreateDashboardService$1 {
61
51
  * Fetches the Dashboard details for data population to Edit the dashboard
62
52
  * @param id
63
53
  */
54
+ /** @deprecated Legacy Global-Dashboard edit fetch; custom dashboards use fetchCustomDashboardById + getWidgets. */
64
55
  fetchDashboard(id: any): import("rxjs").Observable<ArrayBuffer>;
65
- updateDashboard(id: any, payload: any): import("rxjs").Observable<ArrayBuffer>;
56
+ /**
57
+ * Edit mode only — GET Global-Dashboard/getWidgets?dashboardId={cdid}
58
+ * @param cdid Custom dashboard id (e.g. 438F8KSK22), not numeric record id
59
+ */
60
+ fetchCustomDashboardWidgetDetails(cdid: string): import("rxjs").Observable<{
61
+ widgetArr: any[];
62
+ allWidgetsArray: any[];
63
+ activeWidgetArr: any[];
64
+ }>;
65
+ normalizeWidgetDetailsResponse(res: any): {
66
+ widgetArr: any[];
67
+ allWidgetsArray: any[];
68
+ activeWidgetArr: any[];
69
+ };
70
+ getSailsProgramList(): import("rxjs").Observable<ArrayBuffer>;
71
+ getProgramCategories(programId: string | number): import("rxjs").Observable<ArrayBuffer>;
72
+ /** Full custom dashboard payload (includes responsibilityCenterId, programId, etc.). */
73
+ fetchCustomDashboardById(id: string | number): import("rxjs").Observable<ArrayBuffer>;
66
74
  getUserInformation(): import("rxjs").Observable<ArrayBuffer>;
67
75
  _ID(): any;
76
+ /**
77
+ * JWT timezone used until organization/?mode=users timezone is loaded.
78
+ */
79
+ getTokenTimezone(): string;
68
80
  checkDuplicateDashboardName(payload: any): import("rxjs").Observable<ArrayBuffer>;
69
- static ɵfac: i0.ɵɵFactoryDeclaration<CreateDashboardService$1, [null, null, {
81
+ createDashboard(payload: any): import("rxjs").Observable<ArrayBuffer>;
82
+ updateDashboard(payload: any, id: any): import("rxjs").Observable<ArrayBuffer>;
83
+ saveWidgetDetails(payload: any): import("rxjs").Observable<ArrayBuffer>;
84
+ buildPayload(payload: any): {
85
+ dashboard: {
86
+ name: any;
87
+ description: any;
88
+ viewer: {
89
+ userId: any;
90
+ userGroupId: any;
91
+ };
92
+ user: {
93
+ userId: any;
94
+ userGroupId: any;
95
+ };
96
+ responsibilityCenterId: any;
97
+ programId: any;
98
+ timeframe: {
99
+ from: any;
100
+ to: any;
101
+ } | null;
102
+ };
103
+ };
104
+ static ɵfac: i0.ɵɵFactoryDeclaration<CreateDashboardService$1, [null, {
70
105
  optional: true;
71
106
  }]>;
72
107
  static ɵprov: i0.ɵɵInjectableDeclaration<any>;
@@ -99,6 +134,8 @@ interface CreateDashboardForm {
99
134
  dashboardDescriptionText: string;
100
135
  selectedViewers: any[];
101
136
  selectedGroup: any[];
137
+ selectedUsers: any[];
138
+ selectedUserGroups: any[];
102
139
  selectedFromDate: any;
103
140
  selectedToDate: any;
104
141
  selectedResponsibilityCenters: any[];
@@ -119,42 +156,6 @@ declare class SnackBarService {
119
156
  static ɵfac: i0.ɵɵFactoryDeclaration<SnackBarService, never>;
120
157
  static ɵprov: i0.ɵɵInjectableDeclaration<any>;
121
158
  }
122
- declare class ConfigureWidgetsService {
123
- private http;
124
- private authService;
125
- env: any;
126
- constructor(http: HttpClient, authService: AuthService, config?: Configurations);
127
- complianceWidgetsData: ({
128
- title: string;
129
- id: string;
130
- description: string;
131
- widgetImage: string;
132
- value: number;
133
- tabOption?: undefined;
134
- } | {
135
- title: string;
136
- id: string;
137
- description: string;
138
- widgetImage: string;
139
- tabOption: boolean;
140
- value: number;
141
- })[];
142
- riskWidgetsData: {
143
- title: string;
144
- id: string;
145
- description: string;
146
- widgetImage: string;
147
- value: number;
148
- }[];
149
- auditWidgetsData: never[];
150
- policyWidgetsData: never[];
151
- dashBoardWidgetUpdate(widGetJson: any): import("rxjs").Observable<Object>;
152
- moduleType(identifier: string): "COMPLIANCE" | "RISK" | undefined;
153
- static ɵfac: i0.ɵɵFactoryDeclaration<ConfigureWidgetsService, [null, null, {
154
- optional: true;
155
- }]>;
156
- static ɵprov: i0.ɵɵInjectableDeclaration<any>;
157
- }
158
159
  declare class PopoverService {
159
160
  stopScroll: boolean;
160
161
  positionX: number;
@@ -172,19 +173,28 @@ declare class TextCountPipe implements PipeTransform {
172
173
  static ɵfac: i0.ɵɵFactoryDeclaration<TextCountPipe, never>;
173
174
  static ɵpipe: i0.ɵɵPipeDeclaration<TextCountPipe, "textCount", false>;
174
175
  }
176
+ interface ListItem {
177
+ id: string;
178
+ name: string;
179
+ type: "regulations" | "standards" | "internal_controls" | "others";
180
+ }
175
181
  export declare class CreateDashboardComponent implements OnInit, OnChanges {
176
182
  private createDashboardService;
177
183
  private paginationService;
178
184
  private cdr;
179
185
  private snackBar;
180
186
  popoverService: PopoverService;
181
- private configureWidgetsService;
182
187
  private textCount;
183
188
  feature: any;
184
189
  activeSelector: string;
185
190
  disabled: boolean;
186
191
  mode: string;
187
192
  dashboardId: string;
193
+ dashboardDetails: any;
194
+ /** API dashboard object from createDashboard response (used when navigating after create). */
195
+ private createdDashboard;
196
+ /** True after CREATE API succeeds; widget save should emit `created` for app redirect. */
197
+ private redirectAfterCreate;
188
198
  close: EventEmitter<any>;
189
199
  createdBy: number;
190
200
  fromDatePicker: DatePickerComponent;
@@ -197,11 +207,12 @@ export declare class CreateDashboardComponent implements OnInit, OnChanges {
197
207
  usersList: any[];
198
208
  vLoader: boolean;
199
209
  userListLoaded: boolean;
210
+ groupListLoaded: boolean;
200
211
  rcListLoaded: boolean;
201
- complianceCategoriesListLoaded: boolean;
202
- riskCategoryListLoaded: boolean;
203
212
  hideToDate: boolean;
204
213
  listDetails: UserListConfiguration;
214
+ /** Independent selection state for USERS & USER GROUPS (not shared with viewers). */
215
+ userFieldListDetails: UserListConfiguration;
205
216
  dashboardDescription: EditorConfig;
206
217
  responsibilityCategoriesTree: any;
207
218
  allComplianceCategories: any[];
@@ -212,12 +223,11 @@ export declare class CreateDashboardComponent implements OnInit, OnChanges {
212
223
  openConfigureWidgets: boolean;
213
224
  selectedWidgets: any;
214
225
  displayedWidgets: any;
215
- responsibilityCentersList: never[];
226
+ responsibilityCentersList: any[];
216
227
  datePickerOverlay: boolean;
217
228
  dayNames: string[];
218
229
  monthNames: string[];
219
230
  quarters: string[];
220
- categoryListLoaded: boolean;
221
231
  showRiskWidgets: boolean;
222
232
  showComplianceWidgets: boolean;
223
233
  isManageRisk: boolean;
@@ -239,6 +249,10 @@ export declare class CreateDashboardComponent implements OnInit, OnChanges {
239
249
  selectedList: never[];
240
250
  };
241
251
  };
252
+ programListUrl: any;
253
+ private readonly datePickerBaseConfig;
254
+ /** organization/?mode=users timezone; JWT timezone is the fallback. */
255
+ private userTimeZone;
242
256
  fromDatePickerConfig: IDatePickerConfig;
243
257
  toDatePickerConfig: IDatePickerConfig;
244
258
  isSmiley: boolean;
@@ -246,48 +260,57 @@ export declare class CreateDashboardComponent implements OnInit, OnChanges {
246
260
  groupList: any;
247
261
  groupsEnabled: boolean;
248
262
  totalgroups: any;
249
- fromDatePickerPopup: ElementRef;
250
- toDatePickerPopup: ElementRef;
251
263
  openedDatePicker: string;
252
- constructor(createDashboardService: CreateDashboardService$1, paginationService: PaginationService, cdr: ChangeDetectorRef, snackBar: SnackBarService, popoverService: PopoverService, configureWidgetsService: ConfigureWidgetsService, textCount: TextCountPipe);
253
- ngOnChanges(): void;
264
+ selectedPrograms: any;
265
+ allProgamSelected: any[];
266
+ private pendingEditRcIds;
267
+ private pendingEditRcEntries;
268
+ private editFormHydrated;
269
+ /** Tracks in-flight EDIT hydration HTTP calls; loader stays on until zero. */
270
+ private editHydrationCount;
271
+ constructor(createDashboardService: CreateDashboardService$1, paginationService: PaginationService, cdr: ChangeDetectorRef, snackBar: SnackBarService, popoverService: PopoverService, textCount: TextCountPipe);
272
+ ngOnChanges(changes: SimpleChanges): void;
254
273
  onKeydownHandler(event: KeyboardEvent): void;
255
274
  ngOnInit(): void;
275
+ animateContainer(): void;
276
+ getUserInfo(): void;
256
277
  /**
257
278
  * Displays the listing pages the left side of policy form to set and edit the dropdown fields values
258
279
  * @param type holds name of particular list is to be displayed
259
280
  * @param event contains boolean value to display the list or not
260
281
  */
261
282
  activateSelector(type: any, event: boolean): void;
262
- openFromDatePicker(): void;
263
- openToDatePicker(): void;
283
+ onProgramSelectionChange(items: ListItem[]): void;
284
+ selectCategory(): void;
285
+ checkDefaultProgramOnRemove(event: any): void;
286
+ removeProgram(program: any): void;
287
+ private syncProgramSelectionMapFromForm;
288
+ private hydrateProgramsFromDashboardData;
289
+ private applyFlatProgramCategories;
290
+ private applyResponsibilityCategoryWidgetFilters;
291
+ openFromDatePicker(event?: Event): void;
292
+ openToDatePicker(event?: Event): void;
264
293
  closeFromDatePicker(): void;
265
294
  closeToDatePicker(): void;
266
295
  animateImage(): void;
267
296
  saveFrequency(eventValues: any): void;
268
297
  getCurrentDate(): string;
298
+ /** Disables dates before today in the VComply user timezone. */
299
+ private applyFromDateMin;
269
300
  setToDate(data: string): string;
270
301
  getFromDate(data: string): string;
271
302
  /**
272
- * It takes a string, converts it to a date, then returns a string in the format of YYYY-MM-DD.
273
- * @param {string} data - the date you want to format
274
- * @returns A string in the format of YYYY-MM-DD
303
+ * @param data - the date you want to format
304
+ * @returns Date string in YYYY-MM-DD format, e.g. 2026-05-19
275
305
  */
276
306
  getDateFormate(data: string): string;
277
307
  configureDashboard(): void;
278
- /**
279
- * Fetches organization users count api to get total number of pages
280
- * @param Url contains prams
281
- */
282
- getOrganizationUsersCount(Url: any): void;
283
308
  /**
284
309
  * Get users list by making api call and pre selects all admins by adding to viewers
285
310
  * @param url contains query params for organization users api
286
311
  */
287
312
  getUsersList(url: any): void;
288
313
  getGroupList(): void;
289
- getComplianceCategoryList(): void;
290
- getCategoryList(): void;
291
314
  /**
292
315
  * It is to ensure whether all required lists on Policy from is loaded from the api call or not
293
316
  */
@@ -312,7 +335,30 @@ export declare class CreateDashboardComponent implements OnInit, OnChanges {
312
335
  uniqueByProp(array: any, key: string): unknown[];
313
336
  saveSelectedList(type: string, selectedItems: any): void;
314
337
  remove(type: any, event: any, removeIndex?: any): void;
315
- setList(list: any[], ids: any[], key: string): any;
338
+ setList(list: any[], ids: any[], key: string): any[];
339
+ private setListByIds;
340
+ private flattenRcTree;
341
+ private getRcNodeId;
342
+ private collectNestedChildIds;
343
+ private isNestedRc;
344
+ private resolveAllDescendantIds;
345
+ private normalizeRcList;
346
+ private resolveRcFromTree;
347
+ private applyPreresolvedRcEntries;
348
+ private applyPendingResponsibilityCenters;
349
+ private beginEditHydration;
350
+ private finishEditHydration;
351
+ private tryCompleteEditHydration;
352
+ private wrapEditRequest;
353
+ private syncProgramsForEdit;
354
+ private applyProgramsFromDashboardIds;
355
+ private ensureProgramSelectionMapForList;
356
+ private applyProgramSelectionMap;
357
+ private categoryMatchesId;
358
+ private loadProgramsForEdit;
359
+ /** Custom dashboards often store program ids only — resolve names for form chips. */
360
+ private resolveProgramIdsForEdit;
361
+ private buildEditDashboardData;
316
362
  submitted: boolean;
317
363
  /**
318
364
  * Returns id's from a particular list elements
@@ -325,18 +371,23 @@ export declare class CreateDashboardComponent implements OnInit, OnChanges {
325
371
  */
326
372
  validateDashboard(): boolean;
327
373
  /**
328
- * Makes an api call to create a policy
374
+ * Makes an api call to create a dashboad
329
375
  * @param dashboard contains dashboardForm data
330
376
  */
331
377
  submitDashboard(): false | undefined;
378
+ closeContainer(message: string): void;
379
+ onSubmitDashboard(): void;
380
+ saveDashboard(payload: any): void;
381
+ private getCreatedDashboardCdid;
382
+ private hydrateEditForm;
383
+ private applyWidgetsFromGetWidgetsResponse;
384
+ /** EDIT mode only: GET getWidgets?dashboardId={cdid} */
385
+ private loadEditModeWidgets;
332
386
  editDashboard(): void;
333
387
  populateDashboardForm(data: any): void;
334
- setFrequency(event: any, mode: any): string | undefined;
335
388
  ngAfterViewChecked(): void;
336
389
  setPermission(roleActions: any): void;
337
- getElementClassName(el: any): string;
338
- documentClick(event: any): void;
339
- documentClickListener(target: any, openedElements: ElementRef, selectedDatePicker: any): void;
390
+ documentClick(event: MouseEvent): void;
340
391
  static ɵfac: i0.ɵɵFactoryDeclaration<CreateDashboardComponent, never>;
341
392
  static ɵcmp: i0.ɵɵComponentDeclaration<CreateDashboardComponent, "app-create-dashboard", never, {
342
393
  "feature": {
@@ -351,6 +402,10 @@ export declare class CreateDashboardComponent implements OnInit, OnChanges {
351
402
  "alias": "dashboardId";
352
403
  "required": false;
353
404
  };
405
+ "dashboardDetails": {
406
+ "alias": "dashboardDetails";
407
+ "required": false;
408
+ };
354
409
  "createdBy": {
355
410
  "alias": "createdBy";
356
411
  "required": false;
@@ -380,6 +435,8 @@ declare class UserListComponent implements OnInit {
380
435
  closeUserList: EventEmitter<any>;
381
436
  saveSelectedUsers: EventEmitter<any>;
382
437
  selectionType: string;
438
+ listTitle: string;
439
+ searchPlaceholderSuffix: string;
383
440
  listDetails: UserListConfiguration;
384
441
  footerDetails: DashboardFooterConfig;
385
442
  vLoader: boolean;
@@ -494,6 +551,14 @@ declare class UserListComponent implements OnInit {
494
551
  "alias": "selectionType";
495
552
  "required": false;
496
553
  };
554
+ "listTitle": {
555
+ "alias": "listTitle";
556
+ "required": false;
557
+ };
558
+ "searchPlaceholderSuffix": {
559
+ "alias": "searchPlaceholderSuffix";
560
+ "required": false;
561
+ };
497
562
  "listDetails": {
498
563
  "alias": "listDetails";
499
564
  "required": false;
@@ -570,8 +635,9 @@ declare class DialogComponent implements AfterViewInit, OnDestroy, OnInit {
570
635
  declare class DialogService {
571
636
  private appRef;
572
637
  private injector;
638
+ private environmentInjector;
573
639
  dialogComponentRef: ComponentRef<DialogComponent>;
574
- constructor(appRef: ApplicationRef, injector: Injector);
640
+ constructor(appRef: ApplicationRef, injector: Injector, environmentInjector: EnvironmentInjector);
575
641
  open(componentType: Type<any>, config: DialogConfig): DialogRef;
576
642
  private appendDialogComponentToBody;
577
643
  private removeDialogComponentFromBody;
@@ -675,17 +741,27 @@ declare class ResponsibilityCenterComponent implements OnInit, OnChanges {
675
741
  responsibilitiesByAssignee: string;
676
742
  };
677
743
  selectedIds: any[];
744
+ selectedIdLookup: Record<string, boolean>;
745
+ isAllSelected: boolean;
678
746
  animation: boolean;
679
747
  search: string;
680
748
  footerDetails: DashboardFooterConfig;
681
749
  constructor();
682
750
  ngOnChanges(): void;
683
751
  ngOnInit(): void;
752
+ isSelected(id: any): boolean;
684
753
  selectRc(rc: any, mode: any): void;
685
754
  deleteEvent(event: any): void;
686
755
  selectAll(mode: any): void;
687
756
  setList(): void;
688
- checkSelectAll(): boolean;
757
+ private updateSelectionState;
758
+ private findRcById;
759
+ private getNodeId;
760
+ private resolveSelectedId;
761
+ private addSelectedIds;
762
+ private removeSelectedIds;
763
+ /** Direct and nested child RC ids for a selected parent. */
764
+ private getDescendantIds;
689
765
  save(): void;
690
766
  closeResponsibilityCenterList(): void;
691
767
  static ɵfac: i0.ɵɵFactoryDeclaration<ResponsibilityCenterComponent, never>;
@@ -970,6 +1046,8 @@ declare class FilterPipe implements PipeTransform {
970
1046
  static ɵpipe: i0.ɵɵPipeDeclaration<FilterPipe, "filter", false>;
971
1047
  }
972
1048
  declare class CsCheckboxComponent implements OnInit {
1049
+ private static nextControlId;
1050
+ readonly controlId: string;
973
1051
  disabled: boolean;
974
1052
  ngValue: any;
975
1053
  value: any;
@@ -996,17 +1074,25 @@ declare class CsCheckboxComponent implements OnInit {
996
1074
  }, never, ["*"], false, never>;
997
1075
  }
998
1076
  declare class CsRadioComponent implements OnInit {
1077
+ private static nextControlId;
1078
+ private readonly generatedId;
1079
+ inputId?: string;
999
1080
  disabled: boolean;
1000
1081
  readonly: boolean;
1001
1082
  name: string;
1002
1083
  checked: boolean;
1003
1084
  value: any;
1004
1085
  checkedEvent: EventEmitter<any>;
1086
+ get controlId(): string;
1005
1087
  constructor();
1006
1088
  ngOnInit(): void;
1007
1089
  changeState(evt: any): void;
1008
1090
  static ɵfac: i0.ɵɵFactoryDeclaration<CsRadioComponent, never>;
1009
1091
  static ɵcmp: i0.ɵɵComponentDeclaration<CsRadioComponent, "app-cs-radio", never, {
1092
+ "inputId": {
1093
+ "alias": "inputId";
1094
+ "required": false;
1095
+ };
1010
1096
  "disabled": {
1011
1097
  "alias": "disabled";
1012
1098
  "required": false;
@@ -1031,7 +1117,7 @@ declare class CsRadioComponent implements OnInit {
1031
1117
  "checkedEvent": "checkedEvent";
1032
1118
  }, never, ["*"], false, never>;
1033
1119
  }
1034
- declare class CsSwitchComponent {
1120
+ declare class CsSwitchComponent implements OnInit {
1035
1121
  disabled: boolean;
1036
1122
  ngValue: any;
1037
1123
  value: any;
@@ -1039,6 +1125,7 @@ declare class CsSwitchComponent {
1039
1125
  tooltipMessage: any;
1040
1126
  position: any;
1041
1127
  constructor();
1128
+ ngOnInit(): void;
1042
1129
  valueChanged(): void;
1043
1130
  static ɵfac: i0.ɵɵFactoryDeclaration<CsSwitchComponent, never>;
1044
1131
  static ɵcmp: i0.ɵɵComponentDeclaration<CsSwitchComponent, "app-cs-switch", never, {
@@ -1073,6 +1160,8 @@ declare class CsRadioGroupComponent implements OnInit {
1073
1160
  static ɵcmp: i0.ɵɵComponentDeclaration<CsRadioGroupComponent, "app-cs-radio-group", never, {}, {}, never, never, false, never>;
1074
1161
  }
1075
1162
  declare class CsFormSelectComponent implements OnChanges {
1163
+ private static nextSelectId;
1164
+ readonly selectId: string;
1076
1165
  dataList: any[];
1077
1166
  dropdownLabel: string;
1078
1167
  displayProperty: string;
@@ -1299,6 +1388,8 @@ declare class CsSelectService {
1299
1388
  declare class CsOptionComponent implements OnInit {
1300
1389
  csSelect: CsSelectComponent;
1301
1390
  colorSelector: CsSelectService;
1391
+ private static nextControlId;
1392
+ readonly controlId: string;
1302
1393
  value: string;
1303
1394
  option: ElementRef;
1304
1395
  color: any;
@@ -1318,7 +1409,9 @@ declare class CsOptionComponent implements OnInit {
1318
1409
  }, {}, never, ["*"], false, never>;
1319
1410
  }
1320
1411
  declare class SafeHtmlPipe implements PipeTransform {
1321
- transform(html: string | null | undefined): string;
1412
+ private sanitizer;
1413
+ constructor(sanitizer: DomSanitizer);
1414
+ transform(html: any): string;
1322
1415
  static ɵfac: i0.ɵɵFactoryDeclaration<SafeHtmlPipe, never>;
1323
1416
  static ɵpipe: i0.ɵɵPipeDeclaration<SafeHtmlPipe, "safeHtml", false>;
1324
1417
  }
@@ -1505,6 +1598,26 @@ declare class DialogModule {
1505
1598
  static ɵmod: i0.ɵɵNgModuleDeclaration<DialogModule, [typeof DialogComponent, typeof InsertionDirective], [typeof i2.CommonModule], never>;
1506
1599
  static ɵinj: i0.ɵɵInjectorDeclaration<DialogModule>;
1507
1600
  }
1601
+ declare class ConfigureWidgetsService {
1602
+ private http;
1603
+ env: any;
1604
+ constructor(http: HttpClient, config?: Configurations);
1605
+ riskWidgetsData: {
1606
+ title: string;
1607
+ id: string;
1608
+ description: string;
1609
+ widgetImage: string;
1610
+ value: number;
1611
+ }[];
1612
+ auditWidgetsData: never[];
1613
+ policyWidgetsData: never[];
1614
+ dashBoardWidgetUpdate(widGetJson: any): import("rxjs").Observable<Object>;
1615
+ moduleType(identifier: string): "RISK" | undefined;
1616
+ static ɵfac: i0.ɵɵFactoryDeclaration<ConfigureWidgetsService, [null, {
1617
+ optional: true;
1618
+ }]>;
1619
+ static ɵprov: i0.ɵɵInjectableDeclaration<any>;
1620
+ }
1508
1621
  interface widgetDataModel {
1509
1622
  title: string;
1510
1623
  id?: string;
@@ -1519,7 +1632,7 @@ interface widgetConfig {
1519
1632
  description: string;
1520
1633
  widgetImage: string;
1521
1634
  value: boolean;
1522
- module: 'COMPLIANCE' | 'RISK';
1635
+ module: 'COMPLIANCE';
1523
1636
  subWidgets: [];
1524
1637
  }
1525
1638
  declare class ConfigureWidgetsComponent implements OnInit, OnChanges {
@@ -1585,6 +1698,11 @@ declare class ConfigureWidgetsComponent implements OnInit, OnChanges {
1585
1698
  riskWidgetsDisplayCount: number;
1586
1699
  constructor(dialog: DialogRef, configureWidgetsService: ConfigureWidgetsService, snackBar: SnackBarService);
1587
1700
  ngOnChanges(): void;
1701
+ /** EDIT: show full widget catalog; check items present in getWidgets widgetArr. */
1702
+ private applyEditModeWidgetCatalog;
1703
+ /** CREATE: limit visible tiles to displayedWidgets when provided. */
1704
+ private applyCreateModeWidgetVisibility;
1705
+ private applySavedWidgetSelection;
1588
1706
  ngOnInit(): void;
1589
1707
  widgetsList: {
1590
1708
  COMPLIANCE: ({
@@ -1613,23 +1731,8 @@ declare class ConfigureWidgetsComponent implements OnInit, OnChanges {
1613
1731
  visibility: boolean;
1614
1732
  }[];
1615
1733
  })[];
1616
- RISK: {
1617
- title: string;
1618
- id: string;
1619
- description: string;
1620
- widgetImage: string;
1621
- value: boolean;
1622
- visibility: boolean;
1623
- module: string;
1624
- subWidgets: {
1625
- title: string;
1626
- id: string;
1627
- value: boolean;
1628
- visibility: boolean;
1629
- }[];
1630
- }[];
1631
1734
  };
1632
- selectWidget(event: any, module: 'COMPLIANCE' | 'RISK', widgetId: string, subWidgetId?: string): void;
1735
+ selectWidget(event: any, module: 'COMPLIANCE', widgetId: string, subWidgetId?: string): void;
1633
1736
  setSelectedWidgets(): void;
1634
1737
  removeWidget(widget: widgetConfig): void;
1635
1738
  onNextClick(): void;
@@ -1833,10 +1936,208 @@ declare class SmileyDialogModule {
1833
1936
  static ɵmod: i0.ɵɵNgModuleDeclaration<SmileyDialogModule, [typeof SmileyDialogComponent], [typeof i2.CommonModule], [typeof SmileyDialogComponent]>;
1834
1937
  static ɵinj: i0.ɵɵInjectorDeclaration<SmileyDialogModule>;
1835
1938
  }
1939
+ declare class ListUtilsService {
1940
+ paginate<T>(items: T[], currentPage: number, pageSize: number): T[];
1941
+ getPageNumbers(totalItems: number, pageSize: number): number[];
1942
+ static ɵfac: i0.ɵɵFactoryDeclaration<ListUtilsService, never>;
1943
+ static ɵprov: i0.ɵɵInjectableDeclaration<any>;
1944
+ }
1945
+ declare class ProgramListApiService {
1946
+ private http;
1947
+ env: any;
1948
+ constructor(http: HttpClient, config?: Configurations);
1949
+ getProgramList(apiUrl: string): Observable<any>;
1950
+ static ɵfac: i0.ɵɵFactoryDeclaration<ProgramListApiService, [null, {
1951
+ optional: true;
1952
+ }]>;
1953
+ static ɵprov: i0.ɵɵInjectableDeclaration<any>;
1954
+ }
1955
+ declare class ProgramListComponent<T extends ListItem> implements OnInit, OnChanges, OnDestroy {
1956
+ private listUtils;
1957
+ private programListApiService;
1958
+ /** Array of items to be displayed in the list */
1959
+ items: T[];
1960
+ /** Object containing selected items, keyed by program ID */
1961
+ selectedItems: any | null;
1962
+ /** URL configuration object for API endpoints */
1963
+ url: any;
1964
+ /** Event emitted when an item is selected */
1965
+ itemSelected: EventEmitter<T>;
1966
+ /** Event emitted when an item is deselected */
1967
+ itemDeselected: EventEmitter<T>;
1968
+ /** Event emitted when the selection changes */
1969
+ itemsSelectedChange: EventEmitter<T[]>;
1970
+ tableHeaders: string[];
1971
+ currentPage: number;
1972
+ pageSize: number;
1973
+ totalPages: number;
1974
+ searchTerm: string;
1975
+ paginatedItems: T[];
1976
+ activeProgram: any | null;
1977
+ categoryList: any;
1978
+ programTypeList: any[];
1979
+ selectedProgramType: any[];
1980
+ loaderState: any;
1981
+ appliedProgramType: any[];
1982
+ PROGRAM_NO_DATA: any;
1983
+ ASSETS: any;
1984
+ programCategoryList: any;
1985
+ /** Subject for handling debounced search */
1986
+ private searchSubject;
1987
+ /** Subject for cleanup subscriptions */
1988
+ private destroy$;
1989
+ constructor(listUtils: ListUtilsService, programListApiService: ProgramListApiService);
1990
+ /** Initialize component by fetching program list */
1991
+ ngOnInit(): void;
1992
+ /** Handle changes to inputs */
1993
+ ngOnChanges(changes: SimpleChanges): void;
1994
+ private focusFirstProgramWithSelections;
1995
+ /** Fetch program list from API */
1996
+ getProgramList(): void;
1997
+ /**
1998
+ * Load data and initialize pagination
1999
+ * @param data Array of items to load
2000
+ */
2001
+ loadData(data: any): void;
2002
+ /**
2003
+ * Handle item selection/deselection
2004
+ * @param event Selection event
2005
+ * @param item Item being selected/deselected
2006
+ */
2007
+ selectItem(event: any, item: any): void;
2008
+ /**
2009
+ * Deselect a specific item
2010
+ * @param item Item to deselect
2011
+ */
2012
+ deselectItem(item: T): void;
2013
+ /**
2014
+ * Check if an item is selected
2015
+ * @param item Item to check
2016
+ * @returns Boolean indicating if item is selected
2017
+ */
2018
+ isSelected(item: T): boolean;
2019
+ /**
2020
+ * Navigate to specific page
2021
+ * @param page Page number to navigate to
2022
+ * @param data Data to paginate
2023
+ */
2024
+ goToPage(page: number, data: any): void;
2025
+ /**
2026
+ * Get array of page numbers for pagination
2027
+ * @returns Array of page numbers
2028
+ */
2029
+ getPageNumbers(): number[];
2030
+ /**
2031
+ * Paginate items and update view
2032
+ * @param data Data to paginate
2033
+ */
2034
+ paginateItems(data: any): void;
2035
+ /**
2036
+ * View categories for a selected program
2037
+ * @param item Program to view categories for
2038
+ */
2039
+ viewCategory(item?: any): void;
2040
+ checkProgramCategoryExists(id: string): void;
2041
+ fetchProgramCategoryList(id: string): void;
2042
+ /**
2043
+ * Add parent tree information to categories
2044
+ * @param categories Array of categories
2045
+ * @returns Categories with parent tree information
2046
+ */
2047
+ addParentTreeToCategories(categories: any[]): any[];
2048
+ /**
2049
+ * Handle program type filter selection
2050
+ * @param event Selection event
2051
+ * @param item Program type being selected/deselected
2052
+ */
2053
+ selectFilter(event: any, item: any): void;
2054
+ /** Reset all applied filters */
2055
+ resetFilter(): void;
2056
+ /** Apply selected filters to the program list */
2057
+ onFilterChange(): void;
2058
+ checkCategoryAvailbility(): void;
2059
+ /** Trigger debounced search */
2060
+ search(): void;
2061
+ /** Perform search on items */
2062
+ private performSearch;
2063
+ /** Cleanup subscriptions on component destruction */
2064
+ ngOnDestroy(): void;
2065
+ closePopover(event: any): void;
2066
+ static ɵfac: i0.ɵɵFactoryDeclaration<ProgramListComponent<any>, never>;
2067
+ static ɵcmp: i0.ɵɵComponentDeclaration<ProgramListComponent<any>, "app-program-list", never, {
2068
+ "items": {
2069
+ "alias": "items";
2070
+ "required": false;
2071
+ };
2072
+ "selectedItems": {
2073
+ "alias": "selectedItems";
2074
+ "required": false;
2075
+ };
2076
+ "url": {
2077
+ "alias": "url";
2078
+ "required": false;
2079
+ };
2080
+ }, {
2081
+ "itemSelected": "itemSelected";
2082
+ "itemDeselected": "itemDeselected";
2083
+ "itemsSelectedChange": "itemsSelectedChange";
2084
+ }, never, never, false, never>;
2085
+ }
2086
+ declare class CheckSelectedItemsPipe implements PipeTransform {
2087
+ transform(id: string, selectedItems: any): boolean;
2088
+ static ɵfac: i0.ɵɵFactoryDeclaration<CheckSelectedItemsPipe, never>;
2089
+ static ɵpipe: i0.ɵɵPipeDeclaration<CheckSelectedItemsPipe, "checkSelectedItems", false>;
2090
+ }
2091
+ declare class ListContainerComponent {
2092
+ heading: string;
2093
+ close: EventEmitter<void>;
2094
+ onClose(): void;
2095
+ static ɵfac: i0.ɵɵFactoryDeclaration<ListContainerComponent, never>;
2096
+ static ɵcmp: i0.ɵɵComponentDeclaration<ListContainerComponent, "app-list-container", never, {
2097
+ "heading": {
2098
+ "alias": "heading";
2099
+ "required": false;
2100
+ };
2101
+ }, {
2102
+ "close": "close";
2103
+ }, never, ["[body]", "[footer]"], false, never>;
2104
+ }
2105
+ declare class SearchProgramPipe implements PipeTransform {
2106
+ transform(items: any[], ...args: any[]): any[];
2107
+ static ɵfac: i0.ɵɵFactoryDeclaration<SearchProgramPipe, never>;
2108
+ static ɵpipe: i0.ɵɵPipeDeclaration<SearchProgramPipe, "searchProgram", false>;
2109
+ }
2110
+ declare class InformationBlockComponent {
2111
+ constructor();
2112
+ static ɵfac: i0.ɵɵFactoryDeclaration<InformationBlockComponent, never>;
2113
+ static ɵcmp: i0.ɵɵComponentDeclaration<InformationBlockComponent, "app-information-block", never, {}, {}, never, never, false, never>;
2114
+ }
2115
+ declare class TableLoaderComponent implements OnInit {
2116
+ listSize: number[];
2117
+ constructor();
2118
+ ngOnInit(): void;
2119
+ static ɵfac: i0.ɵɵFactoryDeclaration<TableLoaderComponent, never>;
2120
+ static ɵcmp: i0.ɵɵComponentDeclaration<TableLoaderComponent, "app-table-loader", never, {
2121
+ "listSize": {
2122
+ "alias": "listSize";
2123
+ "required": false;
2124
+ };
2125
+ }, {}, never, never, false, never>;
2126
+ }
2127
+ declare class LoadersModule {
2128
+ static ɵfac: i0.ɵɵFactoryDeclaration<LoadersModule, never>;
2129
+ static ɵmod: i0.ɵɵNgModuleDeclaration<LoadersModule, [typeof TableLoaderComponent], [typeof i2.CommonModule], [typeof TableLoaderComponent]>;
2130
+ static ɵinj: i0.ɵɵInjectorDeclaration<LoadersModule>;
2131
+ }
2132
+ declare class ProgramListModule {
2133
+ static ɵfac: i0.ɵɵFactoryDeclaration<ProgramListModule, never>;
2134
+ static ɵmod: i0.ɵɵNgModuleDeclaration<ProgramListModule, [typeof ProgramListComponent, typeof CheckSelectedItemsPipe, typeof ListContainerComponent, typeof SearchProgramPipe, typeof InformationBlockComponent], [typeof i2.CommonModule, typeof i10.FormsModule, typeof FormgroupModule, typeof NoDataModule, typeof PopoverModule, typeof LoadersModule], [typeof ProgramListComponent, typeof ListContainerComponent, typeof InformationBlockComponent]>;
2135
+ static ɵinj: i0.ɵɵInjectorDeclaration<ProgramListModule>;
2136
+ }
1836
2137
  export declare class CreateDashboardModule {
1837
2138
  static forRoot(environmentConfig: Configurations): ModuleWithProviders<CreateDashboardModule>;
1838
2139
  static ɵfac: i0.ɵɵFactoryDeclaration<CreateDashboardModule, never>;
1839
- static ɵmod: i0.ɵɵNgModuleDeclaration<CreateDashboardModule, [typeof CreateDashboardComponent, typeof UserListComponent, typeof FormGroupComponent, typeof ResponsibilityCenterComponent, typeof CategoriesComponent, typeof RiskCategoriesComponent, typeof FrequencyComponent, typeof FilterPipe, typeof TextCountPipe], [typeof i2.CommonModule, typeof i11.VcomplyEditorModule, typeof FormgroupModule, typeof i10.FormsModule, typeof TooltipModule, typeof SelectModule, typeof DashboardFooterModule, typeof PaginationModule, typeof FloatingBarModule, typeof DialogModule, typeof ConfigureWidgetsModule, typeof PopoverModule, typeof VLoaderModule, typeof SnackBarModule, typeof NoDataModule, typeof DirectivesModule, typeof SmileyDialogModule, typeof i27.DpDatePickerModule, typeof i2.NgOptimizedImage], [typeof CreateDashboardComponent]>;
2140
+ static ɵmod: i0.ɵɵNgModuleDeclaration<CreateDashboardModule, [typeof CreateDashboardComponent, typeof UserListComponent, typeof FormGroupComponent, typeof ResponsibilityCenterComponent, typeof CategoriesComponent, typeof RiskCategoriesComponent, typeof FrequencyComponent, typeof FilterPipe, typeof TextCountPipe], [typeof i2.CommonModule, typeof i11.VcomplyEditorModule, typeof FormgroupModule, typeof i10.FormsModule, typeof TooltipModule, typeof SelectModule, typeof DashboardFooterModule, typeof PaginationModule, typeof FloatingBarModule, typeof DialogModule, typeof ConfigureWidgetsModule, typeof PopoverModule, typeof VLoaderModule, typeof SnackBarModule, typeof NoDataModule, typeof DirectivesModule, typeof SmileyDialogModule, typeof i27.DpDatePickerModule, typeof i2.NgOptimizedImage, typeof ProgramListModule], [typeof CreateDashboardComponent]>;
1840
2141
  static ɵinj: i0.ɵɵInjectorDeclaration<CreateDashboardModule>;
1841
2142
  }
1842
2143
  export {};