@memberjunction/ng-explorer-core 2.48.0 → 2.50.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.
Files changed (105) hide show
  1. package/dist/app-routing.module.js +40 -53
  2. package/dist/app-routing.module.js.map +1 -1
  3. package/dist/generic/Events.types.js +104 -0
  4. package/dist/generic/Events.types.js.map +1 -1
  5. package/dist/generic/Item.types.js +28 -14
  6. package/dist/generic/Item.types.js.map +1 -1
  7. package/dist/generic/PathData.types.js +5 -0
  8. package/dist/generic/PathData.types.js.map +1 -1
  9. package/dist/generic/app-nav-view.types.js +3 -1
  10. package/dist/generic/app-nav-view.types.js.map +1 -1
  11. package/dist/lib/app-view/application-view.component.js +273 -294
  12. package/dist/lib/app-view/application-view.component.js.map +1 -1
  13. package/dist/lib/auth-button/auth-button.component.js +13 -22
  14. package/dist/lib/auth-button/auth-button.component.js.map +1 -1
  15. package/dist/lib/base-browser-component/base-browser-component.js +96 -108
  16. package/dist/lib/base-browser-component/base-browser-component.js.map +1 -1
  17. package/dist/lib/dashboard-browser-component/dashboard-browser.component.js +106 -124
  18. package/dist/lib/dashboard-browser-component/dashboard-browser.component.js.map +1 -1
  19. package/dist/lib/dashboard-preferences-dialog/dashboard-preferences-dialog.component.js +257 -281
  20. package/dist/lib/dashboard-preferences-dialog/dashboard-preferences-dialog.component.js.map +1 -1
  21. package/dist/lib/data-browser-component/data-browser.component.js +122 -137
  22. package/dist/lib/data-browser-component/data-browser.component.js.map +1 -1
  23. package/dist/lib/expansion-panel-component/expansion-panel-component.js +100 -117
  24. package/dist/lib/expansion-panel-component/expansion-panel-component.js.map +1 -1
  25. package/dist/lib/favorites/favorites.component.js +44 -54
  26. package/dist/lib/favorites/favorites.component.js.map +1 -1
  27. package/dist/lib/files/files.component.js +12 -11
  28. package/dist/lib/files/files.component.js.map +1 -1
  29. package/dist/lib/generic/form-toolbar.js +21 -20
  30. package/dist/lib/generic/form-toolbar.js.map +1 -1
  31. package/dist/lib/generic/resource-container-component.js +23 -20
  32. package/dist/lib/generic/resource-container-component.js.map +1 -1
  33. package/dist/lib/generic-browse-list/generic-browse-list.component.js +48 -46
  34. package/dist/lib/generic-browse-list/generic-browse-list.component.js.map +1 -1
  35. package/dist/lib/generic-browser-list/generic-browser-list.component.js +353 -386
  36. package/dist/lib/generic-browser-list/generic-browser-list.component.js.map +1 -1
  37. package/dist/lib/guards/auth-guard.service.js +4 -2
  38. package/dist/lib/guards/auth-guard.service.js.map +1 -1
  39. package/dist/lib/guards/entities.guard.js +1 -1
  40. package/dist/lib/guards/entities.guard.js.map +1 -1
  41. package/dist/lib/header/MSFT_UserImageService.js +4 -3
  42. package/dist/lib/header/MSFT_UserImageService.js.map +1 -1
  43. package/dist/lib/header/header.component.js +111 -121
  44. package/dist/lib/header/header.component.js.map +1 -1
  45. package/dist/lib/home-component/home.component.js +34 -42
  46. package/dist/lib/home-component/home.component.js.map +1 -1
  47. package/dist/lib/home-wrapper/home-wrapper.component.js +6 -6
  48. package/dist/lib/home-wrapper/home-wrapper.component.js.map +1 -1
  49. package/dist/lib/list-view/list-view.component.js +132 -152
  50. package/dist/lib/list-view/list-view.component.js.map +1 -1
  51. package/dist/lib/navigation/navigation.component.js +568 -615
  52. package/dist/lib/navigation/navigation.component.js.map +1 -1
  53. package/dist/lib/query-browser-component/query-browser.component.js +30 -39
  54. package/dist/lib/query-browser-component/query-browser.component.js.map +1 -1
  55. package/dist/lib/report-browser-component/report-browser.component.js +18 -30
  56. package/dist/lib/report-browser-component/report-browser.component.js.map +1 -1
  57. package/dist/lib/resource-browser/resource-browser.component.js +435 -457
  58. package/dist/lib/resource-browser/resource-browser.component.js.map +1 -1
  59. package/dist/lib/resource-wrappers/dashboard-resource.component.js +12 -25
  60. package/dist/lib/resource-wrappers/dashboard-resource.component.js.map +1 -1
  61. package/dist/lib/resource-wrappers/list-detail-resource.component.js +18 -31
  62. package/dist/lib/resource-wrappers/list-detail-resource.component.js.map +1 -1
  63. package/dist/lib/resource-wrappers/query-resource.component.js +15 -28
  64. package/dist/lib/resource-wrappers/query-resource.component.js.map +1 -1
  65. package/dist/lib/resource-wrappers/record-resource.component.js +35 -47
  66. package/dist/lib/resource-wrappers/record-resource.component.js.map +1 -1
  67. package/dist/lib/resource-wrappers/report-resource.component.js +15 -28
  68. package/dist/lib/resource-wrappers/report-resource.component.js.map +1 -1
  69. package/dist/lib/resource-wrappers/search-results-resource.component.js +21 -34
  70. package/dist/lib/resource-wrappers/search-results-resource.component.js.map +1 -1
  71. package/dist/lib/resource-wrappers/view-resource.component.js +23 -37
  72. package/dist/lib/resource-wrappers/view-resource.component.js.map +1 -1
  73. package/dist/lib/single-application/single-application.component.js +15 -20
  74. package/dist/lib/single-application/single-application.component.js.map +1 -1
  75. package/dist/lib/single-dashboard/Components/add-item/add-item.component.js +81 -95
  76. package/dist/lib/single-dashboard/Components/add-item/add-item.component.js.map +1 -1
  77. package/dist/lib/single-dashboard/Components/delete-item/delete-item.component.js +28 -29
  78. package/dist/lib/single-dashboard/Components/delete-item/delete-item.component.js.map +1 -1
  79. package/dist/lib/single-dashboard/Components/edit-dashboard/edit-dashboard.component.js +51 -64
  80. package/dist/lib/single-dashboard/Components/edit-dashboard/edit-dashboard.component.js.map +1 -1
  81. package/dist/lib/single-dashboard/single-dashboard.component.js +158 -165
  82. package/dist/lib/single-dashboard/single-dashboard.component.js.map +1 -1
  83. package/dist/lib/single-entity/single-entity.component.js +106 -118
  84. package/dist/lib/single-entity/single-entity.component.js.map +1 -1
  85. package/dist/lib/single-list-detail/single-list-detail.component.js +265 -287
  86. package/dist/lib/single-list-detail/single-list-detail.component.js.map +1 -1
  87. package/dist/lib/single-query/single-query.component.js +35 -44
  88. package/dist/lib/single-query/single-query.component.js.map +1 -1
  89. package/dist/lib/single-record/single-record.component.js +64 -73
  90. package/dist/lib/single-record/single-record.component.js.map +1 -1
  91. package/dist/lib/single-report/single-report.component.js +33 -43
  92. package/dist/lib/single-report/single-report.component.js.map +1 -1
  93. package/dist/lib/single-search-result/single-search-result.component.js +18 -30
  94. package/dist/lib/single-search-result/single-search-result.component.js.map +1 -1
  95. package/dist/lib/single-view/single-view.component.js +107 -124
  96. package/dist/lib/single-view/single-view.component.js.map +1 -1
  97. package/dist/lib/tabbed-dashboard/tabbed-dashboard.component.js +197 -210
  98. package/dist/lib/tabbed-dashboard/tabbed-dashboard.component.js.map +1 -1
  99. package/dist/lib/user-notifications/user-notifications.component.js +137 -155
  100. package/dist/lib/user-notifications/user-notifications.component.js.map +1 -1
  101. package/dist/lib/user-profile/user-profile.component.js +10 -8
  102. package/dist/lib/user-profile/user-profile.component.js.map +1 -1
  103. package/dist/module.js +51 -51
  104. package/dist/module.js.map +1 -1
  105. package/package.json +25 -25
@@ -1,12 +1,3 @@
1
- var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
2
- function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
3
- return new (P || (P = Promise))(function (resolve, reject) {
4
- function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
5
- function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
6
- function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
7
- step((generator = generator.apply(thisArg, _arguments || [])).next());
8
- });
9
- };
10
1
  import { Component, EventEmitter, Input, Output, ViewChild } from '@angular/core';
11
2
  import { SharedService } from '@memberjunction/ng-shared';
12
3
  import { Folder, Item, ItemType } from '../../generic/Item.types';
@@ -191,89 +182,88 @@ function GenericBrowserListComponent_kendo_dialog_24_Template(rf, ctx) { if (rf
191
182
  i0.ɵɵproperty("minWidth", 250)("width", 450);
192
183
  } }
193
184
  export class GenericBrowserListComponent {
185
+ sharedService;
186
+ entityFormDialogRef;
187
+ showLoader = true;
188
+ itemType = '';
189
+ title = '';
190
+ items = [];
191
+ iconName = 'view';
192
+ disableEditButton = false;
193
+ addText = 'Create New';
194
+ backText = 'Go Back';
195
+ ItemEntityName = '';
196
+ CategoryEntityName = '';
197
+ selectedFolderID = null;
198
+ showNotifications = true;
199
+ categoryEntityID = null;
200
+ displayAsGrid = false;
201
+ resourceName = "Resource";
202
+ /**
203
+ * If we are viewing a reesource, such as dashboards, reports, queries, etc
204
+ * then the UI will need to change abit to accomodate this like
205
+ * showing the name of the resouce as a header
206
+ */
207
+ viewingResource = false;
208
+ /**
209
+ * Indicates if the items should be displayed as a list
210
+ * or as a grid of icons
211
+ */
212
+ displayItemsAsList = false;
213
+ extraDropdownOptions = [];
214
+ //Before Evewnts
215
+ BeforeAddFolderEvent = new EventEmitter();
216
+ BeforeAddItemEvent = new EventEmitter();
217
+ BeforeDeleteFolderEvent = new EventEmitter();
218
+ BeforeDeleteItemEvent = new EventEmitter();
219
+ BeforeUnlinkItemEvent = new EventEmitter();
220
+ BeforeUpdateFolderEvent = new EventEmitter();
221
+ BeforeUpdateItemEvent = new EventEmitter();
222
+ //After Events
223
+ AfterAddFolderEvent = new EventEmitter();
224
+ AfterAddItemEvent = new EventEmitter();
225
+ AfterDeleteFolderEvent = new EventEmitter();
226
+ AfterDeleteItemEvent = new EventEmitter();
227
+ AfterUnlinkItemEvent = new EventEmitter();
228
+ AfterUpdateFolderEvent = new EventEmitter();
229
+ AfterUpdateItemEvent = new EventEmitter();
230
+ NavigateToParentEvent = new EventEmitter();
231
+ itemClickEvent = new EventEmitter();
232
+ backButtonClickEvent = new EventEmitter();
233
+ dropdownOptionClickEvent = new EventEmitter();
234
+ viewModeChangeEvent = new EventEmitter();
235
+ _resizeDebounceTime = 250;
236
+ _resizeEndDebounceTime = 500;
237
+ filterItemsSubject = new Subject();
238
+ filter = '';
239
+ sourceItems = null;
240
+ selectedItem = null;
241
+ deleteDialogOpened = false;
242
+ copyFromDialogOpened = false;
243
+ createFolderDialogOpened = false;
244
+ newFolderText = "Sample Folder";
245
+ resourceTypes = [];
246
+ createNewRecordName = "Record";
247
+ entityObjectName = "";
248
+ /**
249
+ * Options for the create button dropdown
250
+ */
251
+ dropdownOptions = [
252
+ { text: "Folder" }
253
+ ];
194
254
  constructor(sharedService) {
195
255
  this.sharedService = sharedService;
196
- this.showLoader = true;
197
- this.itemType = '';
198
- this.title = '';
199
- this.items = [];
200
- this.iconName = 'view';
201
- this.disableEditButton = false;
202
- this.addText = 'Create New';
203
- this.backText = 'Go Back';
204
- this.ItemEntityName = '';
205
- this.CategoryEntityName = '';
206
- this.selectedFolderID = null;
207
- this.showNotifications = true;
208
- this.categoryEntityID = null;
209
- this.displayAsGrid = false;
210
- this.resourceName = "Resource";
211
- /**
212
- * If we are viewing a reesource, such as dashboards, reports, queries, etc
213
- * then the UI will need to change abit to accomodate this like
214
- * showing the name of the resouce as a header
215
- */
216
- this.viewingResource = false;
217
- /**
218
- * Indicates if the items should be displayed as a list
219
- * or as a grid of icons
220
- */
221
- this.displayItemsAsList = false;
222
- this.extraDropdownOptions = [];
223
- //Before Evewnts
224
- this.BeforeAddFolderEvent = new EventEmitter();
225
- this.BeforeAddItemEvent = new EventEmitter();
226
- this.BeforeDeleteFolderEvent = new EventEmitter();
227
- this.BeforeDeleteItemEvent = new EventEmitter();
228
- this.BeforeUnlinkItemEvent = new EventEmitter();
229
- this.BeforeUpdateFolderEvent = new EventEmitter();
230
- this.BeforeUpdateItemEvent = new EventEmitter();
231
- //After Events
232
- this.AfterAddFolderEvent = new EventEmitter();
233
- this.AfterAddItemEvent = new EventEmitter();
234
- this.AfterDeleteFolderEvent = new EventEmitter();
235
- this.AfterDeleteItemEvent = new EventEmitter();
236
- this.AfterUnlinkItemEvent = new EventEmitter();
237
- this.AfterUpdateFolderEvent = new EventEmitter();
238
- this.AfterUpdateItemEvent = new EventEmitter();
239
- this.NavigateToParentEvent = new EventEmitter();
240
- this.itemClickEvent = new EventEmitter();
241
- this.backButtonClickEvent = new EventEmitter();
242
- this.dropdownOptionClickEvent = new EventEmitter();
243
- this.viewModeChangeEvent = new EventEmitter();
244
- this._resizeDebounceTime = 250;
245
- this._resizeEndDebounceTime = 500;
246
- this.filterItemsSubject = new Subject();
247
- this.filter = '';
248
- this.sourceItems = null;
249
- this.selectedItem = null;
250
- this.deleteDialogOpened = false;
251
- this.copyFromDialogOpened = false;
252
- this.createFolderDialogOpened = false;
253
- this.newFolderText = "Sample Folder";
254
- this.resourceTypes = [];
255
- this.createNewRecordName = "Record";
256
- this.entityObjectName = "";
257
- /**
258
- * Options for the create button dropdown
259
- */
260
- this.dropdownOptions = [
261
- { text: "Folder" }
262
- ];
263
- this._currentDeleteOrUnlinkState = false;
264
256
  this.filterItemsSubject
265
257
  .pipe(debounceTime(this._resizeDebounceTime))
266
258
  .subscribe(() => this.filterItems(this.filter));
267
259
  }
268
- ngOnInit() {
269
- return __awaiter(this, void 0, void 0, function* () {
270
- const md = new Metadata();
271
- if (this.extraDropdownOptions && this.extraDropdownOptions.length > 0) {
272
- this.dropdownOptions.push(...this.extraDropdownOptions);
273
- }
274
- const view = new RunView();
275
- this.resourceTypes = SharedService.Instance.ResourceTypes;
276
- });
260
+ async ngOnInit() {
261
+ const md = new Metadata();
262
+ if (this.extraDropdownOptions && this.extraDropdownOptions.length > 0) {
263
+ this.dropdownOptions.push(...this.extraDropdownOptions);
264
+ }
265
+ const view = new RunView();
266
+ this.resourceTypes = SharedService.Instance.ResourceTypes;
277
267
  }
278
268
  //wrapper function for the grid view
279
269
  onCellItemClicked(event) {
@@ -288,245 +278,226 @@ export class GenericBrowserListComponent {
288
278
  backButtonClicked() {
289
279
  this.backButtonClickEvent.emit();
290
280
  }
291
- addResourceButtonClicked() {
292
- return __awaiter(this, void 0, void 0, function* () {
293
- let event = new BeforeAddItemEvent("");
294
- this.BeforeAddItemEvent.emit(event);
295
- if (event.Cancel) {
296
- return;
297
- }
298
- const resourceName = `Sample ${this.ItemEntityName}`;
299
- const md = new Metadata();
300
- const entity = yield md.GetEntityObject(this.ItemEntityName);
301
- entity.NewRecord();
302
- //some entities, like resources, have common fields
303
- //we can try to set here
304
- entity.Set("Name", resourceName);
305
- entity.Set("UserID", md.CurrentUser.ID);
306
- let saveResult = yield entity.Save();
307
- if (saveResult) {
308
- this.showNotification(`successfully created ${resourceName}`, "info");
309
- let item = new Item(entity, ItemType.Resource);
310
- item.Name = resourceName;
311
- this.AfterAddItemEvent.emit(new AfterAddItemEvent(item));
312
- }
313
- else {
314
- this.showNotification(`Unable to create ${resourceName}`, "error");
315
- }
316
- });
281
+ async addResourceButtonClicked() {
282
+ let event = new BeforeAddItemEvent("");
283
+ this.BeforeAddItemEvent.emit(event);
284
+ if (event.Cancel) {
285
+ return;
286
+ }
287
+ const resourceName = `Sample ${this.ItemEntityName}`;
288
+ const md = new Metadata();
289
+ const entity = await md.GetEntityObject(this.ItemEntityName);
290
+ entity.NewRecord();
291
+ //some entities, like resources, have common fields
292
+ //we can try to set here
293
+ entity.Set("Name", resourceName);
294
+ entity.Set("UserID", md.CurrentUser.ID);
295
+ let saveResult = await entity.Save();
296
+ if (saveResult) {
297
+ this.showNotification(`successfully created ${resourceName}`, "info");
298
+ let item = new Item(entity, ItemType.Resource);
299
+ item.Name = resourceName;
300
+ this.AfterAddItemEvent.emit(new AfterAddItemEvent(item));
301
+ }
302
+ else {
303
+ this.showNotification(`Unable to create ${resourceName}`, "error");
304
+ }
317
305
  }
318
- createFolder() {
319
- return __awaiter(this, void 0, void 0, function* () {
320
- this.toggleCreateFolderView(false);
321
- let event = new BeforeAddFolderEvent(this.newFolderText);
306
+ async createFolder() {
307
+ this.toggleCreateFolderView(false);
308
+ let event = new BeforeAddFolderEvent(this.newFolderText);
309
+ if (event.Cancel) {
310
+ return;
311
+ }
312
+ let folderName = this.newFolderText;
313
+ let description = "";
314
+ const md = new Metadata();
315
+ const folderEntity = await md.GetEntityObject(this.CategoryEntityName);
316
+ folderEntity.NewRecord();
317
+ folderEntity.Set("Name", folderName);
318
+ folderEntity.Set("ParentID", this.selectedFolderID);
319
+ folderEntity.Set("Description", description);
320
+ folderEntity.Set("UserID", md.CurrentUser.ID);
321
+ if (this.categoryEntityID) {
322
+ folderEntity.Set("EntityID", this.categoryEntityID);
323
+ }
324
+ let saveResult = await folderEntity.Save();
325
+ if (saveResult) {
326
+ this.showNotification(`successfully created folder ${folderName}`, "info");
327
+ let folder = new Folder(folderEntity.Get("ID"), folderEntity.Get("Name"));
328
+ folder.Description = folderEntity.Get("Description");
329
+ let item = new Item(folder, ItemType.Folder);
330
+ let event = new AfterAddFolderEvent(item);
331
+ this.AfterAddFolderEvent.emit(event);
322
332
  if (event.Cancel) {
323
333
  return;
324
334
  }
325
- let folderName = this.newFolderText;
326
- let description = "";
327
- const md = new Metadata();
328
- const folderEntity = yield md.GetEntityObject(this.CategoryEntityName);
329
- folderEntity.NewRecord();
330
- folderEntity.Set("Name", folderName);
331
- folderEntity.Set("ParentID", this.selectedFolderID);
332
- folderEntity.Set("Description", description);
333
- folderEntity.Set("UserID", md.CurrentUser.ID);
334
- if (this.categoryEntityID) {
335
- folderEntity.Set("EntityID", this.categoryEntityID);
336
- }
337
- let saveResult = yield folderEntity.Save();
338
- if (saveResult) {
339
- this.showNotification(`successfully created folder ${folderName}`, "info");
340
- let folder = new Folder(folderEntity.Get("ID"), folderEntity.Get("Name"));
341
- folder.Description = folderEntity.Get("Description");
342
- let item = new Item(folder, ItemType.Folder);
343
- let event = new AfterAddFolderEvent(item);
344
- this.AfterAddFolderEvent.emit(event);
345
- if (event.Cancel) {
346
- return;
347
- }
348
- //navigate to the newly created folder
349
- //by raising an item click event
350
- this.itemClick(item);
351
- }
352
- else {
353
- this.sharedService.CreateSimpleNotification(`Unable to create folder ${folderName}`, "error", 3500);
354
- }
355
- this.newFolderText = "Sample Folder";
356
- });
335
+ //navigate to the newly created folder
336
+ //by raising an item click event
337
+ this.itemClick(item);
338
+ }
339
+ else {
340
+ this.sharedService.CreateSimpleNotification(`Unable to create folder ${folderName}`, "error", 3500);
341
+ }
342
+ this.newFolderText = "Sample Folder";
357
343
  }
358
- unlinkItem(item) {
359
- return __awaiter(this, void 0, void 0, function* () {
360
- yield this.deleteOrUnlink(item, false);
361
- });
344
+ async unlinkItem(item) {
345
+ await this.deleteOrUnlink(item, false);
362
346
  }
363
- deleteOrUnlink(item, bDelete) {
364
- return __awaiter(this, void 0, void 0, function* () {
365
- this._currentDeleteOrUnlinkState = bDelete;
366
- if (!item) {
347
+ _currentDeleteOrUnlinkState = false;
348
+ async deleteOrUnlink(item, bDelete) {
349
+ this._currentDeleteOrUnlinkState = bDelete;
350
+ if (!item) {
351
+ return;
352
+ }
353
+ this.selectedItem = item;
354
+ if (item.Type === ItemType.Folder && bDelete) {
355
+ let event = new BeforeDeleteFolderEvent(item);
356
+ this.BeforeDeleteFolderEvent.emit(event);
357
+ if (event.Cancel) {
367
358
  return;
368
359
  }
369
- this.selectedItem = item;
370
- if (item.Type === ItemType.Folder && bDelete) {
371
- let event = new BeforeDeleteFolderEvent(item);
372
- this.BeforeDeleteFolderEvent.emit(event);
373
- if (event.Cancel) {
374
- return;
375
- }
376
- this.deleteDialogOpened = true;
377
- }
378
- else if (item.Type === ItemType.Resource && bDelete) {
379
- let event = new BeforeDeleteItemEvent(item);
380
- this.BeforeDeleteItemEvent.emit(event);
381
- if (event.Cancel) {
382
- return;
383
- }
384
- this.deleteDialogOpened = true;
360
+ this.deleteDialogOpened = true;
361
+ }
362
+ else if (item.Type === ItemType.Resource && bDelete) {
363
+ let event = new BeforeDeleteItemEvent(item);
364
+ this.BeforeDeleteItemEvent.emit(event);
365
+ if (event.Cancel) {
366
+ return;
385
367
  }
386
- else if (item.Type === ItemType.Resource && !bDelete) {
387
- let event = new BeforeUnlinkItemEvent(item);
388
- this.BeforeUnlinkItemEvent.emit(event);
389
- if (event.Cancel) {
390
- return;
391
- }
392
- this.deleteDialogOpened = true;
368
+ this.deleteDialogOpened = true;
369
+ }
370
+ else if (item.Type === ItemType.Resource && !bDelete) {
371
+ let event = new BeforeUnlinkItemEvent(item);
372
+ this.BeforeUnlinkItemEvent.emit(event);
373
+ if (event.Cancel) {
374
+ return;
393
375
  }
394
- });
376
+ this.deleteDialogOpened = true;
377
+ }
395
378
  }
396
379
  goToParent() {
397
380
  this.NavigateToParentEvent.emit();
398
381
  }
399
- deleteItem(item) {
400
- return __awaiter(this, void 0, void 0, function* () {
401
- yield this.deleteOrUnlink(item, true);
402
- });
382
+ async deleteItem(item) {
383
+ await this.deleteOrUnlink(item, true);
403
384
  }
404
- onConfirmDeleteItem(shouldDelete) {
405
- return __awaiter(this, void 0, void 0, function* () {
406
- this.deleteDialogOpened = false;
407
- if (!this.selectedItem || !shouldDelete) {
408
- return;
409
- }
410
- let item = this.selectedItem;
411
- if (item.Type === ItemType.Folder && this._currentDeleteOrUnlinkState) {
412
- let deleteResult = yield this.deleteFolder(item);
413
- if (deleteResult) {
414
- let deleteFolderEvent = new AfterDeleteFolderEvent(item);
415
- this.AfterDeleteFolderEvent.emit(deleteFolderEvent);
416
- }
417
- }
418
- else if (item.Type === ItemType.Resource && this._currentDeleteOrUnlinkState) {
419
- yield this.deleteResource(item);
420
- let deleteItemEvent = new AfterDeleteItemEvent(item);
421
- this.AfterDeleteItemEvent.emit(deleteItemEvent);
422
- }
423
- else if (item.Type === ItemType.Resource && !this._currentDeleteOrUnlinkState) {
424
- yield this.unlinkResource(item);
425
- let unlinkItemEvent = new AfterUnlinkItemEvent(item);
426
- this.AfterUnlinkItemEvent.emit(unlinkItemEvent);
385
+ async onConfirmDeleteItem(shouldDelete) {
386
+ this.deleteDialogOpened = false;
387
+ if (!this.selectedItem || !shouldDelete) {
388
+ return;
389
+ }
390
+ let item = this.selectedItem;
391
+ if (item.Type === ItemType.Folder && this._currentDeleteOrUnlinkState) {
392
+ let deleteResult = await this.deleteFolder(item);
393
+ if (deleteResult) {
394
+ let deleteFolderEvent = new AfterDeleteFolderEvent(item);
395
+ this.AfterDeleteFolderEvent.emit(deleteFolderEvent);
427
396
  }
428
- this.selectedItem = null;
429
- });
397
+ }
398
+ else if (item.Type === ItemType.Resource && this._currentDeleteOrUnlinkState) {
399
+ await this.deleteResource(item);
400
+ let deleteItemEvent = new AfterDeleteItemEvent(item);
401
+ this.AfterDeleteItemEvent.emit(deleteItemEvent);
402
+ }
403
+ else if (item.Type === ItemType.Resource && !this._currentDeleteOrUnlinkState) {
404
+ await this.unlinkResource(item);
405
+ let unlinkItemEvent = new AfterUnlinkItemEvent(item);
406
+ this.AfterUnlinkItemEvent.emit(unlinkItemEvent);
407
+ }
408
+ this.selectedItem = null;
430
409
  }
431
- deleteFolder(item) {
432
- return __awaiter(this, void 0, void 0, function* () {
433
- const folder = item.Data;
434
- //the DB will throw an error if we attempt to delete a folder that has children
435
- //i.e. sub folders or resources
436
- //so the default behavior is to notify the user that the delete operation cannot
437
- //go through
438
- const folderHasChildren = yield this.doesFolderHaveChildren(folder.ID);
439
- if (folderHasChildren) {
440
- this.showNotification(`unable to delete folder ${folder.Name} because it has children`, "error");
441
- return false;
442
- }
443
- this.showLoader = true;
410
+ async deleteFolder(item) {
411
+ const folder = item.Data;
412
+ //the DB will throw an error if we attempt to delete a folder that has children
413
+ //i.e. sub folders or resources
414
+ //so the default behavior is to notify the user that the delete operation cannot
415
+ //go through
416
+ const folderHasChildren = await this.doesFolderHaveChildren(folder.ID);
417
+ if (folderHasChildren) {
418
+ this.showNotification(`unable to delete folder ${folder.Name} because it has children`, "error");
419
+ return false;
420
+ }
421
+ this.showLoader = true;
422
+ const md = new Metadata();
423
+ let folderEntity = await md.GetEntityObject(this.CategoryEntityName);
424
+ let pkv = new KeyValuePair();
425
+ pkv.FieldName = "ID";
426
+ pkv.Value = folder.ID;
427
+ let compositeKey = new CompositeKey([pkv]);
428
+ //create view browser component - this will be used to display views
429
+ //then create a new component for applications that wraps around the view browser component
430
+ let loadResult = await folderEntity.InnerLoad(compositeKey);
431
+ if (!loadResult) {
432
+ this.sharedService.CreateSimpleNotification(`Unable to fetch folder ${folder.Name}`, "error", 3500);
433
+ this.showLoader = false;
434
+ return false;
435
+ }
436
+ let deleteResult = await folderEntity.Delete();
437
+ if (!deleteResult) {
438
+ this.sharedService.CreateSimpleNotification(`Unable to delete folder ${folder.Name}`, "error", 3500);
439
+ this.showLoader = false;
440
+ return false;
441
+ }
442
+ else {
443
+ this.sharedService.CreateSimpleNotification(`Successfully deleted folder ${folder.Name}`, "info", 2000);
444
+ this.showLoader = false;
445
+ }
446
+ return true;
447
+ }
448
+ async deleteResource(item) {
449
+ let genericEntity = item.Data;
450
+ if (!genericEntity) {
451
+ return false;
452
+ }
453
+ //the only assumption we are making here is that the entityID
454
+ //is a number
455
+ const entityID = this.TryGetID(genericEntity);
456
+ if (entityID && entityID.length > 0) {
444
457
  const md = new Metadata();
445
- let folderEntity = yield md.GetEntityObject(this.CategoryEntityName);
458
+ let entityObject = await md.GetEntityObject(this.ItemEntityName);
446
459
  let pkv = new KeyValuePair();
447
460
  pkv.FieldName = "ID";
448
- pkv.Value = folder.ID;
461
+ pkv.Value = entityID;
449
462
  let compositeKey = new CompositeKey([pkv]);
450
- //create view browser component - this will be used to display views
451
- //then create a new component for applications that wraps around the view browser component
452
- let loadResult = yield folderEntity.InnerLoad(compositeKey);
453
- if (!loadResult) {
454
- this.sharedService.CreateSimpleNotification(`Unable to fetch folder ${folder.Name}`, "error", 3500);
455
- this.showLoader = false;
456
- return false;
457
- }
458
- let deleteResult = yield folderEntity.Delete();
459
- if (!deleteResult) {
460
- this.sharedService.CreateSimpleNotification(`Unable to delete folder ${folder.Name}`, "error", 3500);
461
- this.showLoader = false;
462
- return false;
463
- }
464
- else {
465
- this.sharedService.CreateSimpleNotification(`Successfully deleted folder ${folder.Name}`, "info", 2000);
466
- this.showLoader = false;
467
- }
468
- return true;
469
- });
470
- }
471
- deleteResource(item) {
472
- return __awaiter(this, void 0, void 0, function* () {
473
- let genericEntity = item.Data;
474
- if (!genericEntity) {
475
- return false;
476
- }
477
- //the only assumption we are making here is that the entityID
478
- //is a number
479
- const entityID = this.TryGetID(genericEntity);
480
- if (entityID && entityID.length > 0) {
481
- const md = new Metadata();
482
- let entityObject = yield md.GetEntityObject(this.ItemEntityName);
483
- let pkv = new KeyValuePair();
484
- pkv.FieldName = "ID";
485
- pkv.Value = entityID;
486
- let compositeKey = new CompositeKey([pkv]);
487
- let loadResult = yield entityObject.InnerLoad(compositeKey);
488
- if (loadResult) {
489
- let deleteResult = yield entityObject.Delete();
490
- if (deleteResult) {
491
- this.showNotification(`successfully deleted`, "info");
492
- return true;
493
- }
494
- else {
495
- this.showNotification(`Unable to delete`, "error");
496
- }
463
+ let loadResult = await entityObject.InnerLoad(compositeKey);
464
+ if (loadResult) {
465
+ let deleteResult = await entityObject.Delete();
466
+ if (deleteResult) {
467
+ this.showNotification(`successfully deleted`, "info");
468
+ return true;
497
469
  }
498
470
  else {
499
- this.showNotification(`unable to fetch`, "error");
471
+ this.showNotification(`Unable to delete`, "error");
500
472
  }
501
473
  }
502
- return false;
503
- });
504
- }
505
- unlinkResource(item) {
506
- return __awaiter(this, void 0, void 0, function* () {
507
- // remove the link by removing the Resource Link record
508
- if (item.ResourceLinkID) {
509
- const md = new Metadata();
510
- const link = yield md.GetEntityObject("Resource Links");
511
- if (yield link.Load(item.ResourceLinkID))
512
- return yield link.Delete();
513
- else
514
- return false;
474
+ else {
475
+ this.showNotification(`unable to fetch`, "error");
515
476
  }
477
+ }
478
+ return false;
479
+ }
480
+ async unlinkResource(item) {
481
+ // remove the link by removing the Resource Link record
482
+ if (item.ResourceLinkID) {
483
+ const md = new Metadata();
484
+ const link = await md.GetEntityObject("Resource Links");
485
+ if (await link.Load(item.ResourceLinkID))
486
+ return await link.Delete();
516
487
  else
517
488
  return false;
518
- });
489
+ }
490
+ else
491
+ return false;
519
492
  }
520
- doesFolderHaveChildren(folderID) {
521
- return __awaiter(this, void 0, void 0, function* () {
522
- const md = new Metadata();
523
- const rv = new RunView();
524
- const folderResult = yield rv.RunView({
525
- EntityName: this.CategoryEntityName,
526
- ExtraFilter: `ParentID ='${folderID}'`
527
- });
528
- return folderResult && folderResult.Success && folderResult.Results.length > 0;
493
+ async doesFolderHaveChildren(folderID) {
494
+ const md = new Metadata();
495
+ const rv = new RunView();
496
+ const folderResult = await rv.RunView({
497
+ EntityName: this.CategoryEntityName,
498
+ ExtraFilter: `ParentID ='${folderID}'`
529
499
  });
500
+ return folderResult && folderResult.Success && folderResult.Results.length > 0;
530
501
  }
531
502
  showNotification(message, type) {
532
503
  if (this.showNotifications) {
@@ -564,17 +535,15 @@ export class GenericBrowserListComponent {
564
535
  return item.Name.toLowerCase().includes(filter.toLowerCase());
565
536
  });
566
537
  }
567
- SetFavoriteStatus(item) {
568
- return __awaiter(this, void 0, void 0, function* () {
569
- if (!item) {
570
- return;
571
- }
572
- item.Favorite = !item.Favorite;
573
- const md = new Metadata();
574
- let entityName = item.Type === ItemType.Folder ? this.CategoryEntityName : this.ItemEntityName;
575
- let compositeKey = new CompositeKey([{ FieldName: "ID", Value: item.Data.ID }]);
576
- yield md.SetRecordFavoriteStatus(md.CurrentUser.ID, entityName, compositeKey, item.Favorite);
577
- });
538
+ async SetFavoriteStatus(item) {
539
+ if (!item) {
540
+ return;
541
+ }
542
+ item.Favorite = !item.Favorite;
543
+ const md = new Metadata();
544
+ let entityName = item.Type === ItemType.Folder ? this.CategoryEntityName : this.ItemEntityName;
545
+ let compositeKey = new CompositeKey([{ FieldName: "ID", Value: item.Data.ID }]);
546
+ await md.SetRecordFavoriteStatus(md.CurrentUser.ID, entityName, compositeKey, item.Favorite);
578
547
  }
579
548
  editItem(item) {
580
549
  if (!item) {
@@ -595,31 +564,29 @@ export class GenericBrowserListComponent {
595
564
  }
596
565
  }
597
566
  }
598
- onDropdownItemClick(data) {
599
- return __awaiter(this, void 0, void 0, function* () {
600
- if (!data || !data.text) {
601
- return;
602
- }
603
- if (data.text === "Folder") {
604
- this.toggleCreateFolderView();
605
- }
606
- else if (data.text === this.resourceName) {
607
- this.addResourceButtonClicked();
608
- }
609
- else if (data.text === this.createNewRecordName) {
610
- if (this.entityFormDialogRef) {
611
- // create a new record for the given entity
612
- const md = new Metadata();
613
- const newRecord = yield md.GetEntityObject(this.entityObjectName);
614
- this.entityFormDialogRef.Record = newRecord;
615
- this.entityFormDialogRef.ShowForm();
616
- }
617
- }
618
- else {
619
- let event = new DropdownOptionClickEvent(data.text);
620
- this.dropdownOptionClickEvent.emit(event);
567
+ async onDropdownItemClick(data) {
568
+ if (!data || !data.text) {
569
+ return;
570
+ }
571
+ if (data.text === "Folder") {
572
+ this.toggleCreateFolderView();
573
+ }
574
+ else if (data.text === this.resourceName) {
575
+ this.addResourceButtonClicked();
576
+ }
577
+ else if (data.text === this.createNewRecordName) {
578
+ if (this.entityFormDialogRef) {
579
+ // create a new record for the given entity
580
+ const md = new Metadata();
581
+ const newRecord = await md.GetEntityObject(this.entityObjectName);
582
+ this.entityFormDialogRef.Record = newRecord;
583
+ this.entityFormDialogRef.ShowForm();
621
584
  }
622
- });
585
+ }
586
+ else {
587
+ let event = new DropdownOptionClickEvent(data.text);
588
+ this.dropdownOptionClickEvent.emit(event);
589
+ }
623
590
  }
624
591
  toggleCopyFromView() {
625
592
  this.copyFromDialogOpened = !this.copyFromDialogOpened;
@@ -649,63 +616,63 @@ export class GenericBrowserListComponent {
649
616
  }
650
617
  return "";
651
618
  }
619
+ static ɵfac = function GenericBrowserListComponent_Factory(t) { return new (t || GenericBrowserListComponent)(i0.ɵɵdirectiveInject(i1.SharedService)); };
620
+ static ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: GenericBrowserListComponent, selectors: [["app-generic-browser-list"]], viewQuery: function GenericBrowserListComponent_Query(rf, ctx) { if (rf & 1) {
621
+ i0.ɵɵviewQuery(_c0, 5);
622
+ } if (rf & 2) {
623
+ let _t;
624
+ i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.entityFormDialogRef = _t.first);
625
+ } }, inputs: { showLoader: "showLoader", itemType: "itemType", title: "title", items: "items", iconName: "iconName", disableEditButton: "disableEditButton", addText: "addText", backText: "backText", ItemEntityName: "ItemEntityName", CategoryEntityName: "CategoryEntityName", selectedFolderID: "selectedFolderID", showNotifications: "showNotifications", categoryEntityID: "categoryEntityID", displayAsGrid: "displayAsGrid", resourceName: "resourceName", viewingResource: "viewingResource", displayItemsAsList: "displayItemsAsList", extraDropdownOptions: "extraDropdownOptions" }, outputs: { BeforeAddFolderEvent: "BeforeAddFolderEvent", BeforeAddItemEvent: "BeforeAddItemEvent", BeforeDeleteFolderEvent: "BeforeDeleteFolderEvent", BeforeDeleteItemEvent: "BeforeDeleteItemEvent", BeforeUnlinkItemEvent: "BeforeUnlinkItemEvent", BeforeUpdateFolderEvent: "BeforeUpdateFolderEvent", BeforeUpdateItemEvent: "BeforeUpdateItemEvent", AfterAddFolderEvent: "AfterAddFolderEvent", AfterAddItemEvent: "AfterAddItemEvent", AfterDeleteFolderEvent: "AfterDeleteFolderEvent", AfterDeleteItemEvent: "AfterDeleteItemEvent", AfterUnlinkItemEvent: "AfterUnlinkItemEvent", AfterUpdateFolderEvent: "AfterUpdateFolderEvent", AfterUpdateItemEvent: "AfterUpdateItemEvent", NavigateToParentEvent: "NavigateToParentEvent", itemClickEvent: "itemClickEvent", backButtonClickEvent: "backButtonClickEvent", dropdownOptionClickEvent: "dropdownOptionClickEvent", viewModeChangeEvent: "viewModeChangeEvent" }, decls: 27, vars: 9, consts: [["searchInput", ""], ["entityFormDialog", ""], [1, "generic-browser-list-container"], [1, "main-fav-wrapper"], [1, "title-wrapper"], [1, "title-flex-display"], ["themeColor", "info", 1, "custom-dropdwn", 3, "itemClick", "data"], [1, "fa-solid", "fa-plus"], [1, "search"], ["type", "text", "placeholder", "Search", "size", "large", "rounded", "large", "fillMode", "solid", 3, "keyup", "clearButton"], ["kendoTextBoxPrefixTemplate", "", 3, "showSeparator"], [1, "filter-wrapper"], ["kendobutton", "", 1, "cursor-pointer", "grid-btn", "btn-cmn", 3, "click"], [1, "fa-solid", "fa-bars"], ["kendobutton", "", 1, "cursor-pointer", "active", "btn-cmn", 3, "click"], [1, "fa-solid", "fa-table-cells-large"], [1, "main-area"], ["type", "converging-spinner", 4, "ngIf"], ["class", "dialog-wrapper", "title", "Confirm", 3, "minWidth", "width", "close", 4, "ngIf"], ["title", "Create new folder", "class", "dialog-wrapper", 3, "minWidth", "width", "close", 4, "ngIf"], ["Mode", "complete"], ["title", "Parent", 1, "title-folder", "fa-solid", "fa-arrow-left", "fa-2xl", "breadcrumb-icon", 3, "click"], ["title", "Folder", 1, "title-folder", "fa-regular", "fa-folder", "fa-2xl"], [1, "fa-solid", "fa-magnifying-glass", "margin-left-small"], ["type", "converging-spinner"], [3, "kendoGridBinding"], [1, "card-list", "k-d-flex", "k-flex-row", "k-h-full", "k-flex-wrap"], [3, "cellClick", "kendoGridBinding"], ["field", "Name", "title", "Name"], ["field", "Size", "title", "Size"], ["field", "LastOpened", "title", "Last Opened"], ["field", "ModifiedBy", "title", "Modified By"], ["title", ""], ["kendoGridCellTemplate", ""], [1, "grid-wrapper"], [1, "list-btn"], [1, "list-btn", 3, "click"], [1, "fa-regular", "fa-trash-can"], [1, "fa-regular", "fa-pen-to-square"], [1, "card-wrapper", "cursor-pointer"], [1, "list-item-icon"], ["title", "Edit Item", 1, "list-btn"], ["title", "Delete Item", 1, "list-btn"], ["title", "Remove Link to Shared Item", 1, "list-btn"], [3, "click"], [2, "color", "rgb(19, 92, 201)", 3, "title", "ngClass"], [3, "title", "ngClass"], [1, "padding-top-small"], ["kendoCardTitle", ""], ["kendoCardSubtitle", ""], ["title", "Edit Item", 1, "list-btn", 3, "click"], ["title", "Delete Item", 1, "list-btn", 3, "click"], ["title", "Remove Link to Shared Item", 1, "list-btn", 3, "click"], [1, "fa-solid", "fa-link-slash", 2, "color", "rgb(19, 92, 201)"], ["title", "Confirm", 1, "dialog-wrapper", 3, "close", "minWidth", "width"], [1, "k-m-7.5", "k-text-center"], [1, "popup-actions-btn"], ["kendoButton", "", "themeColor", "info", 1, "cancel-btn", 3, "click"], ["kendoButton", "", "fillMode", "outline", "themeColor", "info", 1, "yes-btn", 3, "click"], ["title", "Create new folder", 1, "dialog-wrapper", 3, "close", "minWidth", "width"], ["placeholder", "Enter a folder name", 3, "valueChange"]], template: function GenericBrowserListComponent_Template(rf, ctx) { if (rf & 1) {
626
+ const _r1 = i0.ɵɵgetCurrentView();
627
+ i0.ɵɵelementStart(0, "div", 2)(1, "div", 3)(2, "div", 4)(3, "div", 5);
628
+ i0.ɵɵtemplate(4, GenericBrowserListComponent_Conditional_4_Template, 2, 0);
629
+ i0.ɵɵelementStart(5, "h4");
630
+ i0.ɵɵtext(6);
631
+ i0.ɵɵelementEnd()();
632
+ i0.ɵɵelementStart(7, "kendo-dropdownbutton", 6);
633
+ i0.ɵɵlistener("itemClick", function GenericBrowserListComponent_Template_kendo_dropdownbutton_itemClick_7_listener($event) { i0.ɵɵrestoreView(_r1); return i0.ɵɵresetView(ctx.onDropdownItemClick($event)); });
634
+ i0.ɵɵelement(8, "span", 7);
635
+ i0.ɵɵtext(9, " Create New ");
636
+ i0.ɵɵelementEnd()();
637
+ i0.ɵɵelementStart(10, "div", 4)(11, "div", 8)(12, "kendo-textbox", 9, 0);
638
+ i0.ɵɵlistener("keyup", function GenericBrowserListComponent_Template_kendo_textbox_keyup_12_listener() { i0.ɵɵrestoreView(_r1); const searchInput_r4 = i0.ɵɵreference(13); return i0.ɵɵresetView(ctx.onKeyup(searchInput_r4.value)); });
639
+ i0.ɵɵtemplate(14, GenericBrowserListComponent_ng_template_14_Template, 1, 0, "ng-template", 10);
640
+ i0.ɵɵelementEnd()();
641
+ i0.ɵɵelementStart(15, "div", 11)(16, "button", 12);
642
+ i0.ɵɵlistener("click", function GenericBrowserListComponent_Template_button_click_16_listener() { i0.ɵɵrestoreView(_r1); return i0.ɵɵresetView(ctx.changeViewMode("grid")); });
643
+ i0.ɵɵelement(17, "span", 13);
644
+ i0.ɵɵelementEnd();
645
+ i0.ɵɵelementStart(18, "button", 14);
646
+ i0.ɵɵlistener("click", function GenericBrowserListComponent_Template_button_click_18_listener() { i0.ɵɵrestoreView(_r1); return i0.ɵɵresetView(ctx.changeViewMode("list")); });
647
+ i0.ɵɵelement(19, "span", 15);
648
+ i0.ɵɵelementEnd()()();
649
+ i0.ɵɵelementStart(20, "div", 16);
650
+ i0.ɵɵtemplate(21, GenericBrowserListComponent_kendo_loader_21_Template, 1, 0, "kendo-loader", 17)(22, GenericBrowserListComponent_Conditional_22_Template, 2, 1);
651
+ i0.ɵɵelementEnd()();
652
+ i0.ɵɵtemplate(23, GenericBrowserListComponent_kendo_dialog_23_Template, 10, 4, "kendo-dialog", 18)(24, GenericBrowserListComponent_kendo_dialog_24_Template, 8, 2, "kendo-dialog", 19);
653
+ i0.ɵɵelement(25, "mj-entity-form-dialog", 20, 1);
654
+ i0.ɵɵelementEnd();
655
+ } if (rf & 2) {
656
+ i0.ɵɵadvance(4);
657
+ i0.ɵɵconditional(ctx.selectedFolderID ? 4 : -1);
658
+ i0.ɵɵadvance(2);
659
+ i0.ɵɵtextInterpolate(ctx.title);
660
+ i0.ɵɵadvance();
661
+ i0.ɵɵproperty("data", ctx.dropdownOptions);
662
+ i0.ɵɵadvance(5);
663
+ i0.ɵɵproperty("clearButton", true);
664
+ i0.ɵɵadvance(2);
665
+ i0.ɵɵproperty("showSeparator", true);
666
+ i0.ɵɵadvance(7);
667
+ i0.ɵɵproperty("ngIf", ctx.showLoader);
668
+ i0.ɵɵadvance();
669
+ i0.ɵɵconditional(!ctx.showLoader ? 22 : -1);
670
+ i0.ɵɵadvance();
671
+ i0.ɵɵproperty("ngIf", ctx.deleteDialogOpened);
672
+ i0.ɵɵadvance();
673
+ i0.ɵɵproperty("ngIf", ctx.createFolderDialogOpened);
674
+ } }, dependencies: [i2.NgClass, i2.NgIf, i3.GridComponent, i3.DataBindingDirective, i3.ColumnComponent, i3.CellTemplateDirective, i4.DialogComponent, i4.DialogActionsComponent, i5.LoaderComponent, i6.ButtonComponent, i6.DropDownButtonComponent, i7.TextBoxComponent, i7.TextBoxPrefixTemplateDirective, i8.CardComponent, i8.CardBodyComponent, i8.CardTitleDirective, i8.CardSubtitleDirective, i9.EntityFormDialogComponent], styles: [".card-header-entity .title-wrap h1 {\n margin: 0 !important;\n font-size: 36px !important;\n line-height: 42px !important;\n color: var(--black) !important;\n}\n .card-header-entity .add-item .k-button {\n border: 1px solid var(--border-blue) !important;\n background: var(--white-color) !important;\n color: var(--border-blue);\n font-weight: 500 ;\n font-size: 16px ;\n border-radius: 10px;\n line-height: 34px;\n}\n .card-header-entity .add-item .k-button:hover {\n background: var(--border-blue) !important;\n color: var(--white-color);\n}\n .card-header-entity .add-item .k-button:hover .k-button-text svg path {\n fill: var(--white-color) !important;\n}\n .title-wrapper[_ngcontent-%COMP%] {\n display: flex;\n justify-content: space-between;\n align-items: center;\n padding: 14px 0;\n border-bottom: 1px solid var(--med-gray);\n}\n .title-wrapper[_ngcontent-%COMP%] h4[_ngcontent-%COMP%] {\n margin: 0;\n font-size: 24px;\n line-height: 28px;\n }\n .main-fav-wrapper[_ngcontent-%COMP%] {\n background: #fff;\n padding: 20px;\n }\n .filter-wrapper[_ngcontent-%COMP%] {\n display: flex;\n justify-content: flex-start;\n gap: 14px;\n align-items: center;\n}\n .title-wrapper[_ngcontent-%COMP%] .search[_ngcontent-%COMP%] input[_ngcontent-%COMP%] {\n width: 100%;\n height: 100%;\n font-size: 16px;\n background: transparent;\n border: none;\n box-sizing: border-box;\n padding-left: 40px;\n\n }\n .title-wrapper[_ngcontent-%COMP%] .search[_ngcontent-%COMP%] {\n background: var(--light-shade);\n width: 360px;\n height: 44px;\n position: relative;\n border-radius: 10px;\n }\n .title-wrapper[_ngcontent-%COMP%] .search[_ngcontent-%COMP%] svg[_ngcontent-%COMP%] {\n position: absolute;\n top: 50%;\n transform: translateY(-50%);\n left: 12px;\n}\n .main-fav-wrapper .title-wrapper .k-dropdown-button .k-button {\n background: var(--border-blue);\n color: var(--white-color);\n font-size: 16px;\n border: none;\n padding: 8px 25px;\n border-radius: 10px;\n}\n .main-fav-wrapper .title-wrapper .k-dropdown-button .k-button .k-button-text, .card-header-entity .add-item .k-button .k-button-text {\n display: flex;\n align-items: center;\n gap: 8px;\n}\n.btn-cmn[_ngcontent-%COMP%] {\n width: 44px;\n height: 44px;\n min-width: 44px;\n background: transparent;\n border-radius: 8px;\n border: 1px solid var(--gray-color);\n}\n.btn-cmn.active[_ngcontent-%COMP%] {\n border: 1px solid var(--border-blue);\n}\n .main-fav-wrapper .title-wrapper .filter-wrapper .k-dropdown-button .k-button {\n border: 1px solid var(--gray-color);\n border-radius: 8px; padding: 10px 25px;\n background: var(--white-color);\n color: var(--sideNav);\n}\n .main-area .card-list .card-wrapper .k-card-body {\n padding: 16px !important;\n position: relative;\n}\n .main-fav-wrapper .main-area .card-list .card-wrapper .list-item-icon {\n position: absolute;\n display: flex;\n align-items: center;\n gap: 8px;\n top:12px;\n right: 12px;\n z-index: 9;\n}\n.grid-wrapper[_ngcontent-%COMP%] {\n display: flex;\n align-items: center;\n gap: 8px;\n}\n .main-fav-wrapper .main-area .card-list .card-wrapper .list-item-icon .common-btn, .list-btn[_ngcontent-%COMP%] {\n width: 38px;\n height: 38px;\n background: #000;\n min-width: 38px;\n border: 1px solid var(--gray-color);\n border-radius: 8px; \n display: flex;\n justify-content: center;\n align-items: center;\n background: transparent;\n cursor: pointer;\n}\n .main-fav-wrapper .main-area .card-list .card-wrapper .k-card-body .list-item-icon:hover, .list-btn[_ngcontent-%COMP%]:hover {\n border: 1px solid var(--border-active);\n}\n\n\n .main-area .card-list .card-wrapper:hover {\n box-shadow: 0px 0px 20px 0px rgba(60, 73, 99, 0.2);\n border: 1px solid var(--border-active);\n}\n .main-area .card-list .card-wrapper:hover .k-card-body .view-card-content-list h5 {\n color: var(--border-blue);\n}\n .main-area .card-list .card-wrapper .k-card-body .view-card-content-list p {\n color: var(--sideNav);\n font-size: 14px;\n line-height: 16px;\n height: auto;\n text-overflow: ellipsis;\n overflow: hidden;\n display: -webkit-box;\n -webkit-box-orient: vertical;\n\n}\n .main-area .card-list .card-wrapper .k-card-body .view-card-content-list h5 {\n font-size: 18px;\n line-height: 21px;\n color: var(--text-darked);\n font-weight: 600;\n}\n.breadcrumb-wrap[_ngcontent-%COMP%] {\n display: flex;\n align-items: center;\n gap: 8px;\n padding: 12px 0;\n}\n.breadcrumb-wrap[_ngcontent-%COMP%] span[_ngcontent-%COMP%] {\n font-size: 16px;\n line-height: 18px;\n font-weight: 400;\n color: var(--black);\n}\n .k-menu-popup {\n box-shadow: 0px 0px 20px 0px rgba(60, 73, 99, 0.2);\n border-radius: 10px;\n padding: 16px;\n}\n\n .k-menu-popup kendo-button-list ul li .k-menu-link {\n box-shadow: none !important;\n} \n .k-menu-popup kendo-button-list ul li .k-menu-link:active {\n background: transparent !important;\n}\n .k-menu-popup kendo-button-list ul li .k-menu-link .k-menu-link-text:hover {\n color: var(--primary-color);\n background: transparent !important;\n\n}\n .dialog-wrapper .popup-actions-btn button {\n flex: 1;\n}\n .dialog-wrapper .popup-actions-btn {\n display: flex;\n}\n .dialog-wrapper .popup-actions-btn .cancel-btn {\n background: var(--primary-color);\n color: var(--white-color);\n font-size: 16px;\n font-weight: 700;\n line-height: 34px;\n text-align: center;\n border-radius: 10px;\n border: 1px solid transparent;\n\n}\n .dialog-wrapper .popup-actions-btn .yes-btn {\n border:1px solid var(--primary-color);\n background: transparent;\n color: var(--primary-color);\n font-size: 16px;\n font-weight: 700;\n line-height: 34px;\n text-align: center;\n border-radius: 10px;\n box-shadow: none;\n}\n .dialog-wrapper .popup-actions-btn .yes-btn:focus {\n box-shadow: none !important;\n}\n .dialog-wrapper .k-window-title {\n font-size: 30px;\n font-weight: 500;\n line-height: 36px;\n text-align: left;\n color: var(--text-darked);\n}\n .dialog-wrapper p {\n font-size: 16px;\n font-weight: 500;\n line-height: 20px;\n text-align: left;\n color: var(--black);\n}\n\n.margin-left-small[_ngcontent-%COMP%] {\n margin-left: 10px;\n}\n\n.card-wrapper[_ngcontent-%COMP%] {\n min-width: 230px;\n height: 150px;\n min-height: 125px;\n}\n\n.padding-top-small[_ngcontent-%COMP%] {\n padding-top: 10px;\n}\n\n.cursor-pointer[_ngcontent-%COMP%] {\n cursor: pointer;\n}\n\n.title-folder[_ngcontent-%COMP%] {\n padding-right: 20px;\n margin: auto;\n}\n\n.title-flex-display[_ngcontent-%COMP%] {\n display: flex;\n flex-direction: row;\n}\n\n.breadcrumb-icon[_ngcontent-%COMP%] {\n cursor: pointer;\n}\n.breacrumb-icon[_ngcontent-%COMP%]:hover {\n color: var(--primary-color);\n}", ".main-area[_ngcontent-%COMP%] {\n display: flex;\n flex-direction: column;\n height: 100%;\n width: 100%;\n gap: 24px;\n padding: 24px 0;\n}\n.list-view[_ngcontent-%COMP%] {\n padding: 16px;\n min-width: 300px;\n border-radius: 4px;\n background: #FAFAFA;\n border: none;\n}\n .list-view .k-listview-header, \n .list-view .k-listview-footer {\n border: none;\n}\n .list-view .k-listview-content {\n border: 1px solid rgba(0, 0, 0, 0.08);\n border-radius: 4px;\n background: #fff;\n padding: 16px;\n}\n\n.header[_ngcontent-%COMP%], \n.footer[_ngcontent-%COMP%] {\n color: #424242;\n font-size: 16px;\n height: auto;\n margin:0;\n}\n\n.header[_ngcontent-%COMP%] {\n color: #424242;\n margin-bottom: 16px;\n display: flex;\n justify-content: space-between;\n align-items: center;\n}\n.header[_ngcontent-%COMP%] .head-tag[_ngcontent-%COMP%] {\n display: flex;\n align-items: center;\n gap: 8px;\n color: #424242;\nfont-size: 16px;\nfont-style: normal;\nfont-weight: 400;\nline-height: 20px;\n}\n\n.header[_ngcontent-%COMP%] .count[_ngcontent-%COMP%] {\n width: 24px;\n height: 24px;\n min-width: 24px;\n display: flex;\n justify-content: center;\n align-items: center;\n font-size: 10px;\n background: rgba(0, 0, 0, 0.08);\n border-radius: 50%;\n}\n.footer[_ngcontent-%COMP%] {\n font-size: 14px;\n margin-top: 16px;\n}\n\n.list-item[_ngcontent-%COMP%] {\n color: #424242;\n font-size: 14px;\n font-style: normal;\n font-weight: 400;\n line-height: 30px;\n cursor: pointer;\n margin: 4px;\n}\n.card-container[_ngcontent-%COMP%] {\n margin: 0;\n padding: 0;\n box-shadow: none;\n}\n.card-header-entity[_ngcontent-%COMP%] {\n display: flex;\n justify-content: space-between;\n align-items: flex-start;\n padding-bottom: 20px;\n border-bottom: 1px solid rgba(0, 0, 0, 0.08);\n}\n.card-header-entity[_ngcontent-%COMP%] .title-wrap[_ngcontent-%COMP%] h1[_ngcontent-%COMP%] {\n color: #424242;\n font-size: 28px;\n font-style: normal;\n font-weight: 300;\n line-height: 28px;\n margin-bottom: 15px;\n}\n.card-header-entity[_ngcontent-%COMP%] .title-wrap[_ngcontent-%COMP%] {\n display: flex;\n flex-direction: column;\n}\n.card-header-entity[_ngcontent-%COMP%] .title-wrap[_ngcontent-%COMP%] p[_ngcontent-%COMP%] {\n margin: 0;\n display: flex;\n align-items: center;\n gap: 8px;\n color: #424242;\n font-size: 14px;\n font-style: normal;\n font-weight: 400;\n line-height: 20px;\n}\n\n\n\n\n \n.view-card[_ngcontent-%COMP%] .view-icon[_ngcontent-%COMP%] {\n color: var(--sideNav);\n}\n.card-wrapper[_ngcontent-%COMP%] {\n border: 1px solid rgba(0, 0, 0, 0.08);\n border-radius: 6px;\n width: 100% !important;\n}\n.card-wrapper[_ngcontent-%COMP%] .k-card-body[_ngcontent-%COMP%] {\n background: #fff;\n padding: 12px 20px;\n}\n.card-wrapper[_ngcontent-%COMP%] .view-card[_ngcontent-%COMP%] {\n overflow: auto;\n display: flex;\n justify-content: space-between;\n align-items: center;\n background: #fafafa;\n padding: 4px 15px;\n}\n.view-card[_ngcontent-%COMP%] .btn-wrapper[_ngcontent-%COMP%] {\n display: flex;\n align-items: center;\n}\n\n.k-card-body[_ngcontent-%COMP%] .view-card-content[_ngcontent-%COMP%] h5[_ngcontent-%COMP%] {\n color: #424242;\n font-size: 16px;\n font-style: normal;\n font-weight: 400;\n line-height: 20px;\n margin-bottom: 0;\n letter-spacing: 0.18px;\n}\n.k-card-body[_ngcontent-%COMP%] .view-card-content[_ngcontent-%COMP%] p[_ngcontent-%COMP%] {\n color: #666;\n font-size: 14px;\n font-style: normal;\n font-weight: 400;\n line-height: 20px;\n height: 48px;\n margin-bottom: 0;\n}\n.card-container[_ngcontent-%COMP%] {\n padding: 0;\n margin: 0;\n box-shadow: none;\n}\n.card-header-entity[_ngcontent-%COMP%] {\n display: flex;\n justify-content: space-between;\n align-items: flex-start;\n padding-bottom: 20px;\n border-bottom: 1px solid rgba(0, 0, 0, 0.08);\n}\n\n.card-header-entity[_ngcontent-%COMP%] .title-wrap[_ngcontent-%COMP%] h1[_ngcontent-%COMP%] {\n color: #424242;\n font-size: 28px;\n font-style: normal;\n font-weight: 300;\n line-height: 28px;\n margin-bottom: 15px;\n}\n.card-header-entity[_ngcontent-%COMP%] .title-wrap[_ngcontent-%COMP%] {\n display: flex;\n flex-direction: column;\n}\n.card-header-entity[_ngcontent-%COMP%] .title-wrap[_ngcontent-%COMP%] p[_ngcontent-%COMP%] {\n margin: 0;\n display: flex;\n align-items: center;\n gap: 8px;\n color: #424242;\n font-size: 14px;\n font-style: normal;\n font-weight: 400;\n line-height: 20px;\n}\n.main-area[_ngcontent-%COMP%] .card-list[_ngcontent-%COMP%] {\n display: grid;\n grid-template-columns: repeat(4, 1fr);\n gap: 20px;\n}"] });
652
675
  }
653
- GenericBrowserListComponent.ɵfac = function GenericBrowserListComponent_Factory(t) { return new (t || GenericBrowserListComponent)(i0.ɵɵdirectiveInject(i1.SharedService)); };
654
- GenericBrowserListComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: GenericBrowserListComponent, selectors: [["app-generic-browser-list"]], viewQuery: function GenericBrowserListComponent_Query(rf, ctx) { if (rf & 1) {
655
- i0.ɵɵviewQuery(_c0, 5);
656
- } if (rf & 2) {
657
- let _t;
658
- i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.entityFormDialogRef = _t.first);
659
- } }, inputs: { showLoader: "showLoader", itemType: "itemType", title: "title", items: "items", iconName: "iconName", disableEditButton: "disableEditButton", addText: "addText", backText: "backText", ItemEntityName: "ItemEntityName", CategoryEntityName: "CategoryEntityName", selectedFolderID: "selectedFolderID", showNotifications: "showNotifications", categoryEntityID: "categoryEntityID", displayAsGrid: "displayAsGrid", resourceName: "resourceName", viewingResource: "viewingResource", displayItemsAsList: "displayItemsAsList", extraDropdownOptions: "extraDropdownOptions" }, outputs: { BeforeAddFolderEvent: "BeforeAddFolderEvent", BeforeAddItemEvent: "BeforeAddItemEvent", BeforeDeleteFolderEvent: "BeforeDeleteFolderEvent", BeforeDeleteItemEvent: "BeforeDeleteItemEvent", BeforeUnlinkItemEvent: "BeforeUnlinkItemEvent", BeforeUpdateFolderEvent: "BeforeUpdateFolderEvent", BeforeUpdateItemEvent: "BeforeUpdateItemEvent", AfterAddFolderEvent: "AfterAddFolderEvent", AfterAddItemEvent: "AfterAddItemEvent", AfterDeleteFolderEvent: "AfterDeleteFolderEvent", AfterDeleteItemEvent: "AfterDeleteItemEvent", AfterUnlinkItemEvent: "AfterUnlinkItemEvent", AfterUpdateFolderEvent: "AfterUpdateFolderEvent", AfterUpdateItemEvent: "AfterUpdateItemEvent", NavigateToParentEvent: "NavigateToParentEvent", itemClickEvent: "itemClickEvent", backButtonClickEvent: "backButtonClickEvent", dropdownOptionClickEvent: "dropdownOptionClickEvent", viewModeChangeEvent: "viewModeChangeEvent" }, decls: 27, vars: 9, consts: [["searchInput", ""], ["entityFormDialog", ""], [1, "generic-browser-list-container"], [1, "main-fav-wrapper"], [1, "title-wrapper"], [1, "title-flex-display"], ["themeColor", "info", 1, "custom-dropdwn", 3, "itemClick", "data"], [1, "fa-solid", "fa-plus"], [1, "search"], ["type", "text", "placeholder", "Search", "size", "large", "rounded", "large", "fillMode", "solid", 3, "keyup", "clearButton"], ["kendoTextBoxPrefixTemplate", "", 3, "showSeparator"], [1, "filter-wrapper"], ["kendobutton", "", 1, "cursor-pointer", "grid-btn", "btn-cmn", 3, "click"], [1, "fa-solid", "fa-bars"], ["kendobutton", "", 1, "cursor-pointer", "active", "btn-cmn", 3, "click"], [1, "fa-solid", "fa-table-cells-large"], [1, "main-area"], ["type", "converging-spinner", 4, "ngIf"], ["class", "dialog-wrapper", "title", "Confirm", 3, "minWidth", "width", "close", 4, "ngIf"], ["title", "Create new folder", "class", "dialog-wrapper", 3, "minWidth", "width", "close", 4, "ngIf"], ["Mode", "complete"], ["title", "Parent", 1, "title-folder", "fa-solid", "fa-arrow-left", "fa-2xl", "breadcrumb-icon", 3, "click"], ["title", "Folder", 1, "title-folder", "fa-regular", "fa-folder", "fa-2xl"], [1, "fa-solid", "fa-magnifying-glass", "margin-left-small"], ["type", "converging-spinner"], [3, "kendoGridBinding"], [1, "card-list", "k-d-flex", "k-flex-row", "k-h-full", "k-flex-wrap"], [3, "cellClick", "kendoGridBinding"], ["field", "Name", "title", "Name"], ["field", "Size", "title", "Size"], ["field", "LastOpened", "title", "Last Opened"], ["field", "ModifiedBy", "title", "Modified By"], ["title", ""], ["kendoGridCellTemplate", ""], [1, "grid-wrapper"], [1, "list-btn"], [1, "list-btn", 3, "click"], [1, "fa-regular", "fa-trash-can"], [1, "fa-regular", "fa-pen-to-square"], [1, "card-wrapper", "cursor-pointer"], [1, "list-item-icon"], ["title", "Edit Item", 1, "list-btn"], ["title", "Delete Item", 1, "list-btn"], ["title", "Remove Link to Shared Item", 1, "list-btn"], [3, "click"], [2, "color", "rgb(19, 92, 201)", 3, "title", "ngClass"], [3, "title", "ngClass"], [1, "padding-top-small"], ["kendoCardTitle", ""], ["kendoCardSubtitle", ""], ["title", "Edit Item", 1, "list-btn", 3, "click"], ["title", "Delete Item", 1, "list-btn", 3, "click"], ["title", "Remove Link to Shared Item", 1, "list-btn", 3, "click"], [1, "fa-solid", "fa-link-slash", 2, "color", "rgb(19, 92, 201)"], ["title", "Confirm", 1, "dialog-wrapper", 3, "close", "minWidth", "width"], [1, "k-m-7.5", "k-text-center"], [1, "popup-actions-btn"], ["kendoButton", "", "themeColor", "info", 1, "cancel-btn", 3, "click"], ["kendoButton", "", "fillMode", "outline", "themeColor", "info", 1, "yes-btn", 3, "click"], ["title", "Create new folder", 1, "dialog-wrapper", 3, "close", "minWidth", "width"], ["placeholder", "Enter a folder name", 3, "valueChange"]], template: function GenericBrowserListComponent_Template(rf, ctx) { if (rf & 1) {
660
- const _r1 = i0.ɵɵgetCurrentView();
661
- i0.ɵɵelementStart(0, "div", 2)(1, "div", 3)(2, "div", 4)(3, "div", 5);
662
- i0.ɵɵtemplate(4, GenericBrowserListComponent_Conditional_4_Template, 2, 0);
663
- i0.ɵɵelementStart(5, "h4");
664
- i0.ɵɵtext(6);
665
- i0.ɵɵelementEnd()();
666
- i0.ɵɵelementStart(7, "kendo-dropdownbutton", 6);
667
- i0.ɵɵlistener("itemClick", function GenericBrowserListComponent_Template_kendo_dropdownbutton_itemClick_7_listener($event) { i0.ɵɵrestoreView(_r1); return i0.ɵɵresetView(ctx.onDropdownItemClick($event)); });
668
- i0.ɵɵelement(8, "span", 7);
669
- i0.ɵɵtext(9, " Create New ");
670
- i0.ɵɵelementEnd()();
671
- i0.ɵɵelementStart(10, "div", 4)(11, "div", 8)(12, "kendo-textbox", 9, 0);
672
- i0.ɵɵlistener("keyup", function GenericBrowserListComponent_Template_kendo_textbox_keyup_12_listener() { i0.ɵɵrestoreView(_r1); const searchInput_r4 = i0.ɵɵreference(13); return i0.ɵɵresetView(ctx.onKeyup(searchInput_r4.value)); });
673
- i0.ɵɵtemplate(14, GenericBrowserListComponent_ng_template_14_Template, 1, 0, "ng-template", 10);
674
- i0.ɵɵelementEnd()();
675
- i0.ɵɵelementStart(15, "div", 11)(16, "button", 12);
676
- i0.ɵɵlistener("click", function GenericBrowserListComponent_Template_button_click_16_listener() { i0.ɵɵrestoreView(_r1); return i0.ɵɵresetView(ctx.changeViewMode("grid")); });
677
- i0.ɵɵelement(17, "span", 13);
678
- i0.ɵɵelementEnd();
679
- i0.ɵɵelementStart(18, "button", 14);
680
- i0.ɵɵlistener("click", function GenericBrowserListComponent_Template_button_click_18_listener() { i0.ɵɵrestoreView(_r1); return i0.ɵɵresetView(ctx.changeViewMode("list")); });
681
- i0.ɵɵelement(19, "span", 15);
682
- i0.ɵɵelementEnd()()();
683
- i0.ɵɵelementStart(20, "div", 16);
684
- i0.ɵɵtemplate(21, GenericBrowserListComponent_kendo_loader_21_Template, 1, 0, "kendo-loader", 17)(22, GenericBrowserListComponent_Conditional_22_Template, 2, 1);
685
- i0.ɵɵelementEnd()();
686
- i0.ɵɵtemplate(23, GenericBrowserListComponent_kendo_dialog_23_Template, 10, 4, "kendo-dialog", 18)(24, GenericBrowserListComponent_kendo_dialog_24_Template, 8, 2, "kendo-dialog", 19);
687
- i0.ɵɵelement(25, "mj-entity-form-dialog", 20, 1);
688
- i0.ɵɵelementEnd();
689
- } if (rf & 2) {
690
- i0.ɵɵadvance(4);
691
- i0.ɵɵconditional(ctx.selectedFolderID ? 4 : -1);
692
- i0.ɵɵadvance(2);
693
- i0.ɵɵtextInterpolate(ctx.title);
694
- i0.ɵɵadvance();
695
- i0.ɵɵproperty("data", ctx.dropdownOptions);
696
- i0.ɵɵadvance(5);
697
- i0.ɵɵproperty("clearButton", true);
698
- i0.ɵɵadvance(2);
699
- i0.ɵɵproperty("showSeparator", true);
700
- i0.ɵɵadvance(7);
701
- i0.ɵɵproperty("ngIf", ctx.showLoader);
702
- i0.ɵɵadvance();
703
- i0.ɵɵconditional(!ctx.showLoader ? 22 : -1);
704
- i0.ɵɵadvance();
705
- i0.ɵɵproperty("ngIf", ctx.deleteDialogOpened);
706
- i0.ɵɵadvance();
707
- i0.ɵɵproperty("ngIf", ctx.createFolderDialogOpened);
708
- } }, dependencies: [i2.NgClass, i2.NgIf, i3.GridComponent, i3.DataBindingDirective, i3.ColumnComponent, i3.CellTemplateDirective, i4.DialogComponent, i4.DialogActionsComponent, i5.LoaderComponent, i6.ButtonComponent, i6.DropDownButtonComponent, i7.TextBoxComponent, i7.TextBoxPrefixTemplateDirective, i8.CardComponent, i8.CardBodyComponent, i8.CardTitleDirective, i8.CardSubtitleDirective, i9.EntityFormDialogComponent], styles: [".card-header-entity .title-wrap h1 {\n margin: 0 !important;\n font-size: 36px !important;\n line-height: 42px !important;\n color: var(--black) !important;\n}\n .card-header-entity .add-item .k-button {\n border: 1px solid var(--border-blue) !important;\n background: var(--white-color) !important;\n color: var(--border-blue);\n font-weight: 500 ;\n font-size: 16px ;\n border-radius: 10px;\n line-height: 34px;\n}\n .card-header-entity .add-item .k-button:hover {\n background: var(--border-blue) !important;\n color: var(--white-color);\n}\n .card-header-entity .add-item .k-button:hover .k-button-text svg path {\n fill: var(--white-color) !important;\n}\n .title-wrapper[_ngcontent-%COMP%] {\n display: flex;\n justify-content: space-between;\n align-items: center;\n padding: 14px 0;\n border-bottom: 1px solid var(--med-gray);\n}\n .title-wrapper[_ngcontent-%COMP%] h4[_ngcontent-%COMP%] {\n margin: 0;\n font-size: 24px;\n line-height: 28px;\n }\n .main-fav-wrapper[_ngcontent-%COMP%] {\n background: #fff;\n padding: 20px;\n }\n .filter-wrapper[_ngcontent-%COMP%] {\n display: flex;\n justify-content: flex-start;\n gap: 14px;\n align-items: center;\n}\n .title-wrapper[_ngcontent-%COMP%] .search[_ngcontent-%COMP%] input[_ngcontent-%COMP%] {\n width: 100%;\n height: 100%;\n font-size: 16px;\n background: transparent;\n border: none;\n box-sizing: border-box;\n padding-left: 40px;\n\n }\n .title-wrapper[_ngcontent-%COMP%] .search[_ngcontent-%COMP%] {\n background: var(--light-shade);\n width: 360px;\n height: 44px;\n position: relative;\n border-radius: 10px;\n }\n .title-wrapper[_ngcontent-%COMP%] .search[_ngcontent-%COMP%] svg[_ngcontent-%COMP%] {\n position: absolute;\n top: 50%;\n transform: translateY(-50%);\n left: 12px;\n}\n .main-fav-wrapper .title-wrapper .k-dropdown-button .k-button {\n background: var(--border-blue);\n color: var(--white-color);\n font-size: 16px;\n border: none;\n padding: 8px 25px;\n border-radius: 10px;\n}\n .main-fav-wrapper .title-wrapper .k-dropdown-button .k-button .k-button-text, .card-header-entity .add-item .k-button .k-button-text {\n display: flex;\n align-items: center;\n gap: 8px;\n}\n.btn-cmn[_ngcontent-%COMP%] {\n width: 44px;\n height: 44px;\n min-width: 44px;\n background: transparent;\n border-radius: 8px;\n border: 1px solid var(--gray-color);\n}\n.btn-cmn.active[_ngcontent-%COMP%] {\n border: 1px solid var(--border-blue);\n}\n .main-fav-wrapper .title-wrapper .filter-wrapper .k-dropdown-button .k-button {\n border: 1px solid var(--gray-color);\n border-radius: 8px; padding: 10px 25px;\n background: var(--white-color);\n color: var(--sideNav);\n}\n .main-area .card-list .card-wrapper .k-card-body {\n padding: 16px !important;\n position: relative;\n}\n .main-fav-wrapper .main-area .card-list .card-wrapper .list-item-icon {\n position: absolute;\n display: flex;\n align-items: center;\n gap: 8px;\n top:12px;\n right: 12px;\n z-index: 9;\n}\n.grid-wrapper[_ngcontent-%COMP%] {\n display: flex;\n align-items: center;\n gap: 8px;\n}\n .main-fav-wrapper .main-area .card-list .card-wrapper .list-item-icon .common-btn, .list-btn[_ngcontent-%COMP%] {\n width: 38px;\n height: 38px;\n background: #000;\n min-width: 38px;\n border: 1px solid var(--gray-color);\n border-radius: 8px; \n display: flex;\n justify-content: center;\n align-items: center;\n background: transparent;\n cursor: pointer;\n}\n .main-fav-wrapper .main-area .card-list .card-wrapper .k-card-body .list-item-icon:hover, .list-btn[_ngcontent-%COMP%]:hover {\n border: 1px solid var(--border-active);\n}\n\n\n .main-area .card-list .card-wrapper:hover {\n box-shadow: 0px 0px 20px 0px rgba(60, 73, 99, 0.2);\n border: 1px solid var(--border-active);\n}\n .main-area .card-list .card-wrapper:hover .k-card-body .view-card-content-list h5 {\n color: var(--border-blue);\n}\n .main-area .card-list .card-wrapper .k-card-body .view-card-content-list p {\n color: var(--sideNav);\n font-size: 14px;\n line-height: 16px;\n height: auto;\n text-overflow: ellipsis;\n overflow: hidden;\n display: -webkit-box;\n -webkit-box-orient: vertical;\n\n}\n .main-area .card-list .card-wrapper .k-card-body .view-card-content-list h5 {\n font-size: 18px;\n line-height: 21px;\n color: var(--text-darked);\n font-weight: 600;\n}\n.breadcrumb-wrap[_ngcontent-%COMP%] {\n display: flex;\n align-items: center;\n gap: 8px;\n padding: 12px 0;\n}\n.breadcrumb-wrap[_ngcontent-%COMP%] span[_ngcontent-%COMP%] {\n font-size: 16px;\n line-height: 18px;\n font-weight: 400;\n color: var(--black);\n}\n .k-menu-popup {\n box-shadow: 0px 0px 20px 0px rgba(60, 73, 99, 0.2);\n border-radius: 10px;\n padding: 16px;\n}\n\n .k-menu-popup kendo-button-list ul li .k-menu-link {\n box-shadow: none !important;\n} \n .k-menu-popup kendo-button-list ul li .k-menu-link:active {\n background: transparent !important;\n}\n .k-menu-popup kendo-button-list ul li .k-menu-link .k-menu-link-text:hover {\n color: var(--primary-color);\n background: transparent !important;\n\n}\n .dialog-wrapper .popup-actions-btn button {\n flex: 1;\n}\n .dialog-wrapper .popup-actions-btn {\n display: flex;\n}\n .dialog-wrapper .popup-actions-btn .cancel-btn {\n background: var(--primary-color);\n color: var(--white-color);\n font-size: 16px;\n font-weight: 700;\n line-height: 34px;\n text-align: center;\n border-radius: 10px;\n border: 1px solid transparent;\n\n}\n .dialog-wrapper .popup-actions-btn .yes-btn {\n border:1px solid var(--primary-color);\n background: transparent;\n color: var(--primary-color);\n font-size: 16px;\n font-weight: 700;\n line-height: 34px;\n text-align: center;\n border-radius: 10px;\n box-shadow: none;\n}\n .dialog-wrapper .popup-actions-btn .yes-btn:focus {\n box-shadow: none !important;\n}\n .dialog-wrapper .k-window-title {\n font-size: 30px;\n font-weight: 500;\n line-height: 36px;\n text-align: left;\n color: var(--text-darked);\n}\n .dialog-wrapper p {\n font-size: 16px;\n font-weight: 500;\n line-height: 20px;\n text-align: left;\n color: var(--black);\n}\n\n.margin-left-small[_ngcontent-%COMP%] {\n margin-left: 10px;\n}\n\n.card-wrapper[_ngcontent-%COMP%] {\n min-width: 230px;\n height: 150px;\n min-height: 125px;\n}\n\n.padding-top-small[_ngcontent-%COMP%] {\n padding-top: 10px;\n}\n\n.cursor-pointer[_ngcontent-%COMP%] {\n cursor: pointer;\n}\n\n.title-folder[_ngcontent-%COMP%] {\n padding-right: 20px;\n margin: auto;\n}\n\n.title-flex-display[_ngcontent-%COMP%] {\n display: flex;\n flex-direction: row;\n}\n\n.breadcrumb-icon[_ngcontent-%COMP%] {\n cursor: pointer;\n}\n.breacrumb-icon[_ngcontent-%COMP%]:hover {\n color: var(--primary-color);\n}", ".main-area[_ngcontent-%COMP%] {\n display: flex;\n flex-direction: column;\n height: 100%;\n width: 100%;\n gap: 24px;\n padding: 24px 0;\n}\n.list-view[_ngcontent-%COMP%] {\n padding: 16px;\n min-width: 300px;\n border-radius: 4px;\n background: #FAFAFA;\n border: none;\n}\n .list-view .k-listview-header, \n .list-view .k-listview-footer {\n border: none;\n}\n .list-view .k-listview-content {\n border: 1px solid rgba(0, 0, 0, 0.08);\n border-radius: 4px;\n background: #fff;\n padding: 16px;\n}\n\n.header[_ngcontent-%COMP%], \n.footer[_ngcontent-%COMP%] {\n color: #424242;\n font-size: 16px;\n height: auto;\n margin:0;\n}\n\n.header[_ngcontent-%COMP%] {\n color: #424242;\n margin-bottom: 16px;\n display: flex;\n justify-content: space-between;\n align-items: center;\n}\n.header[_ngcontent-%COMP%] .head-tag[_ngcontent-%COMP%] {\n display: flex;\n align-items: center;\n gap: 8px;\n color: #424242;\nfont-size: 16px;\nfont-style: normal;\nfont-weight: 400;\nline-height: 20px;\n}\n\n.header[_ngcontent-%COMP%] .count[_ngcontent-%COMP%] {\n width: 24px;\n height: 24px;\n min-width: 24px;\n display: flex;\n justify-content: center;\n align-items: center;\n font-size: 10px;\n background: rgba(0, 0, 0, 0.08);\n border-radius: 50%;\n}\n.footer[_ngcontent-%COMP%] {\n font-size: 14px;\n margin-top: 16px;\n}\n\n.list-item[_ngcontent-%COMP%] {\n color: #424242;\n font-size: 14px;\n font-style: normal;\n font-weight: 400;\n line-height: 30px;\n cursor: pointer;\n margin: 4px;\n}\n.card-container[_ngcontent-%COMP%] {\n margin: 0;\n padding: 0;\n box-shadow: none;\n}\n.card-header-entity[_ngcontent-%COMP%] {\n display: flex;\n justify-content: space-between;\n align-items: flex-start;\n padding-bottom: 20px;\n border-bottom: 1px solid rgba(0, 0, 0, 0.08);\n}\n.card-header-entity[_ngcontent-%COMP%] .title-wrap[_ngcontent-%COMP%] h1[_ngcontent-%COMP%] {\n color: #424242;\n font-size: 28px;\n font-style: normal;\n font-weight: 300;\n line-height: 28px;\n margin-bottom: 15px;\n}\n.card-header-entity[_ngcontent-%COMP%] .title-wrap[_ngcontent-%COMP%] {\n display: flex;\n flex-direction: column;\n}\n.card-header-entity[_ngcontent-%COMP%] .title-wrap[_ngcontent-%COMP%] p[_ngcontent-%COMP%] {\n margin: 0;\n display: flex;\n align-items: center;\n gap: 8px;\n color: #424242;\n font-size: 14px;\n font-style: normal;\n font-weight: 400;\n line-height: 20px;\n}\n\n\n\n\n \n.view-card[_ngcontent-%COMP%] .view-icon[_ngcontent-%COMP%] {\n color: var(--sideNav);\n}\n.card-wrapper[_ngcontent-%COMP%] {\n border: 1px solid rgba(0, 0, 0, 0.08);\n border-radius: 6px;\n width: 100% !important;\n}\n.card-wrapper[_ngcontent-%COMP%] .k-card-body[_ngcontent-%COMP%] {\n background: #fff;\n padding: 12px 20px;\n}\n.card-wrapper[_ngcontent-%COMP%] .view-card[_ngcontent-%COMP%] {\n overflow: auto;\n display: flex;\n justify-content: space-between;\n align-items: center;\n background: #fafafa;\n padding: 4px 15px;\n}\n.view-card[_ngcontent-%COMP%] .btn-wrapper[_ngcontent-%COMP%] {\n display: flex;\n align-items: center;\n}\n\n.k-card-body[_ngcontent-%COMP%] .view-card-content[_ngcontent-%COMP%] h5[_ngcontent-%COMP%] {\n color: #424242;\n font-size: 16px;\n font-style: normal;\n font-weight: 400;\n line-height: 20px;\n margin-bottom: 0;\n letter-spacing: 0.18px;\n}\n.k-card-body[_ngcontent-%COMP%] .view-card-content[_ngcontent-%COMP%] p[_ngcontent-%COMP%] {\n color: #666;\n font-size: 14px;\n font-style: normal;\n font-weight: 400;\n line-height: 20px;\n height: 48px;\n margin-bottom: 0;\n}\n.card-container[_ngcontent-%COMP%] {\n padding: 0;\n margin: 0;\n box-shadow: none;\n}\n.card-header-entity[_ngcontent-%COMP%] {\n display: flex;\n justify-content: space-between;\n align-items: flex-start;\n padding-bottom: 20px;\n border-bottom: 1px solid rgba(0, 0, 0, 0.08);\n}\n\n.card-header-entity[_ngcontent-%COMP%] .title-wrap[_ngcontent-%COMP%] h1[_ngcontent-%COMP%] {\n color: #424242;\n font-size: 28px;\n font-style: normal;\n font-weight: 300;\n line-height: 28px;\n margin-bottom: 15px;\n}\n.card-header-entity[_ngcontent-%COMP%] .title-wrap[_ngcontent-%COMP%] {\n display: flex;\n flex-direction: column;\n}\n.card-header-entity[_ngcontent-%COMP%] .title-wrap[_ngcontent-%COMP%] p[_ngcontent-%COMP%] {\n margin: 0;\n display: flex;\n align-items: center;\n gap: 8px;\n color: #424242;\n font-size: 14px;\n font-style: normal;\n font-weight: 400;\n line-height: 20px;\n}\n.main-area[_ngcontent-%COMP%] .card-list[_ngcontent-%COMP%] {\n display: grid;\n grid-template-columns: repeat(4, 1fr);\n gap: 20px;\n}"] });
709
676
  (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(GenericBrowserListComponent, [{
710
677
  type: Component,
711
678
  args: [{ selector: 'app-generic-browser-list', template: "\n<div class=\"generic-browser-list-container\">\n <div class=\"main-fav-wrapper\">\n <div class=\"title-wrapper\">\n <div class=\"title-flex-display\">\n @if(selectedFolderID){\n <span title=\"Parent\" class=\"title-folder fa-solid fa-arrow-left fa-2xl breadcrumb-icon\" (click)=\"goToParent()\"></span> \n <span title=\"Folder\" class=\"title-folder fa-regular fa-folder fa-2xl\"></span>\n }\n <h4>{{title}}</h4>\n </div>\n <kendo-dropdownbutton class=\"custom-dropdwn\" (itemClick)=\"onDropdownItemClick($event)\" [data]=\"dropdownOptions\" themeColor=\"info\">\n <span class=\"fa-solid fa-plus\"></span>\n Create New\n </kendo-dropdownbutton>\n </div>\n <div class=\"title-wrapper\">\n <div class=\"search\">\n <kendo-textbox \n type=\"text\" \n #searchInput \n placeholder=\"Search\" \n (keyup)=\"onKeyup(searchInput.value)\"\n [clearButton]=\"true\"\n size=\"large\"\n rounded=\"large\"\n fillMode=\"solid\"\n >\n <ng-template kendoTextBoxPrefixTemplate [showSeparator]=\"true\">\n <span class=\"fa-solid fa-magnifying-glass margin-left-small\"></span>\n </ng-template>\n </kendo-textbox>\n </div>\n <div class=\"filter-wrapper\">\n <!--\n <kendo-dropdownbutton [data]=\"data\" themeColor=\"primary\">\n Sort By Recents\n </kendo-dropdownbutton>\n -->\n <button kendobutton (click)=\"changeViewMode('grid')\" class=\"cursor-pointer grid-btn btn-cmn\">\n <span class=\"fa-solid fa-bars\"></span>\n </button>\n <button kendobutton (click)=\"changeViewMode('list')\" class=\"cursor-pointer active btn-cmn\">\n <span class=\"fa-solid fa-table-cells-large\"></span>\n </button>\n </div>\n </div>\n\n <div class=\"main-area\">\n <kendo-loader *ngIf=\"showLoader\" type=\"converging-spinner\"></kendo-loader>\n @if(!showLoader){\n @if(displayAsGrid){\n <kendo-grid (cellClick)=\"onCellItemClicked($event)\" [kendoGridBinding]=\"items\">\n <kendo-grid-column field=\"Name\" title=\"Name\"></kendo-grid-column>\n <kendo-grid-column field=\"Size\" title=\"Size\"></kendo-grid-column>\n <kendo-grid-column field=\"LastOpened\" title=\"Last Opened\"></kendo-grid-column>\n <kendo-grid-column field=\"ModifiedBy\" title=\"Modified By\"></kendo-grid-column>\n <kendo-grid-column title=\"\">\n <ng-template kendoGridCellTemplate let-dataItem>\n <div class=\"grid-wrapper\">\n @if(disableEditButton){\n <button class=\"list-btn\" (click)=\"editItem(dataItem)\">\n <span class=\"fa-regular fa-pen-to-square\"></span>\n </button>\n }\n <button class=\"list-btn\" (click)=\"deleteItem(dataItem)\">\n <span class=\"fa-regular fa-trash-can\"></span>\n </button>\n </div>\n </ng-template>\n </kendo-grid-column>\n </kendo-grid>\n }\n @else{\n <div class=\"card-list k-d-flex k-flex-row k-h-full k-flex-wrap\">\n @for(item of items; track item){\n <kendo-card class=\"card-wrapper cursor-pointer\">\n <div class=\"list-item-icon\">\n @if(!disableEditButton && (!item.IsLink || item.LinkPermissionLevel === 'Owner' || item.LinkPermissionLevel === 'Edit')) {\n <button (click)=\"editItem(item)\" class=\"list-btn\" title=\"Edit Item\">\n <span class=\"fa-regular fa-pen-to-square\"></span>\n </button>\n }\n @if(!item.IsLink || item.LinkPermissionLevel === 'Owner') {\n <button (click)=\"deleteItem(item)\" class=\"list-btn\" title=\"Delete Item\">\n <span class=\"fa-regular fa-trash-can\"></span>\n </button> \n }\n @else if (item.IsLink) {\n <button (click)=\"unlinkItem(item)\" class=\"list-btn\" title=\"Remove Link to Shared Item\" >\n <span class=\"fa-solid fa-link-slash\" style=\"color: rgb(19, 92, 201);\"></span>\n </button> \n }\n </div>\n <kendo-card-body (click)=\"itemClick(item)\">\n @if(item.IsLink) {\n <i [title]=\"item.Name + '(Shared)'\" [ngClass]=\"getIconForResourceType(item)\" style=\"color: rgb(19, 92, 201);\"></i>\n }\n @else {\n <span [title]=\"item.Name\" [ngClass]=\"getIconForResourceType(item)\"></span>\n }\n <div class=\"padding-top-small\">\n <h5 kendoCardTitle>{{ item.Name }}</h5>\n <p kendoCardSubtitle>{{ item.Description }}</p>\n </div>\n </kendo-card-body>\n </kendo-card>\n }\n </div>\n }\n }\n </div>\n </div>\n\n <kendo-dialog \n [minWidth]=\"450\"\n [width]=\"650\"\n class=\"dialog-wrapper\" \n title=\"Confirm\" \n *ngIf=\"deleteDialogOpened\" \n (close)=\"onConfirmDeleteItem(false)\">\n <p class=\"k-m-7.5 k-text-center\">\n Are you sure you want to {{(selectedItem?.IsLink && selectedItem?.LinkPermissionLevel === 'Owner') || !selectedItem?.IsLink ? 'delete' : 'unlink'}} <b>{{selectedItem?.Name}}?</b>\n </p>\n <kendo-dialog-actions class=\"popup-actions-btn\">\n <button class=\"cancel-btn\" (click)=\"onConfirmDeleteItem(true)\" kendoButton themeColor=\"info\">\n Yes\n </button>\n <button class=\"yes-btn\" (click)=\"onConfirmDeleteItem(false)\" kendoButton fillMode=\"outline\" themeColor=\"info\">\n No \n </button>\n </kendo-dialog-actions>\n </kendo-dialog>\n\n <kendo-dialog \n title=\"Create new folder\" \n *ngIf=\"createFolderDialogOpened\" \n (close)=\"toggleCreateFolderView()\"\n [minWidth]=\"250\"\n [width]=\"450\"\n class=\"dialog-wrapper\"\n >\n <div class=\"search\">\n <kendo-textbox placeholder=\"Enter a folder name\" (valueChange)=\"onCreateFolderKeyup($event)\"/>\n </div>\n <kendo-dialog-actions class=\"popup-actions-btn\">\n <button class=\"cancel-btn\" (click)=\"createFolder()\" kendoButton themeColor=\"info\">\n Create\n </button>\n <button class=\"yes-btn\" (click)=\"toggleCreateFolderView()\" kendoButton fillMode=\"outline\" themeColor=\"info\">\n Cancel\n </button>\n </kendo-dialog-actions>\n </kendo-dialog>\n <mj-entity-form-dialog\n #entityFormDialog\n Mode=\"complete\"\n >\n </mj-entity-form-dialog>\n</div>\n", styles: ["::ng-deep .card-header-entity .title-wrap h1 {\n margin: 0 !important;\n font-size: 36px !important;\n line-height: 42px !important;\n color: var(--black) !important;\n}\n ::ng-deep .card-header-entity .add-item .k-button {\n border: 1px solid var(--border-blue) !important;\n background: var(--white-color) !important;\n color: var(--border-blue);\n font-weight: 500 ;\n font-size: 16px ;\n border-radius: 10px;\n line-height: 34px;\n}\n::ng-deep .card-header-entity .add-item .k-button:hover {\n background: var(--border-blue) !important;\n color: var(--white-color);\n}\n::ng-deep .card-header-entity .add-item .k-button:hover .k-button-text svg path {\n fill: var(--white-color) !important;\n}\n .title-wrapper {\n display: flex;\n justify-content: space-between;\n align-items: center;\n padding: 14px 0;\n border-bottom: 1px solid var(--med-gray);\n}\n .title-wrapper h4 {\n margin: 0;\n font-size: 24px;\n line-height: 28px;\n }\n .main-fav-wrapper {\n background: #fff;\n padding: 20px;\n }\n .filter-wrapper {\n display: flex;\n justify-content: flex-start;\n gap: 14px;\n align-items: center;\n}\n .title-wrapper .search input {\n width: 100%;\n height: 100%;\n font-size: 16px;\n background: transparent;\n border: none;\n box-sizing: border-box;\n padding-left: 40px;\n\n }\n .title-wrapper .search {\n background: var(--light-shade);\n width: 360px;\n height: 44px;\n position: relative;\n border-radius: 10px;\n }\n .title-wrapper .search svg {\n position: absolute;\n top: 50%;\n transform: translateY(-50%);\n left: 12px;\n}\n::ng-deep .main-fav-wrapper .title-wrapper .k-dropdown-button .k-button {\n background: var(--border-blue);\n color: var(--white-color);\n font-size: 16px;\n border: none;\n padding: 8px 25px;\n border-radius: 10px;\n}\n::ng-deep .main-fav-wrapper .title-wrapper .k-dropdown-button .k-button .k-button-text, ::ng-deep .card-header-entity .add-item .k-button .k-button-text {\n display: flex;\n align-items: center;\n gap: 8px;\n}\n.btn-cmn {\n width: 44px;\n height: 44px;\n min-width: 44px;\n background: transparent;\n border-radius: 8px;\n border: 1px solid var(--gray-color);\n}\n.btn-cmn.active {\n border: 1px solid var(--border-blue);\n}\n::ng-deep .main-fav-wrapper .title-wrapper .filter-wrapper .k-dropdown-button .k-button {\n border: 1px solid var(--gray-color);\n border-radius: 8px; padding: 10px 25px;\n background: var(--white-color);\n color: var(--sideNav);\n}\n::ng-deep .main-area .card-list .card-wrapper .k-card-body {\n padding: 16px !important;\n position: relative;\n}\n::ng-deep .main-fav-wrapper .main-area .card-list .card-wrapper .list-item-icon {\n position: absolute;\n display: flex;\n align-items: center;\n gap: 8px;\n top:12px;\n right: 12px;\n z-index: 9;\n}\n.grid-wrapper {\n display: flex;\n align-items: center;\n gap: 8px;\n}\n::ng-deep .main-fav-wrapper .main-area .card-list .card-wrapper .list-item-icon .common-btn, .list-btn {\n width: 38px;\n height: 38px;\n background: #000;\n min-width: 38px;\n border: 1px solid var(--gray-color);\n border-radius: 8px; \n display: flex;\n justify-content: center;\n align-items: center;\n background: transparent;\n cursor: pointer;\n}\n::ng-deep .main-fav-wrapper .main-area .card-list .card-wrapper .k-card-body .list-item-icon:hover, .list-btn:hover {\n border: 1px solid var(--border-active);\n}\n\n\n::ng-deep .main-area .card-list .card-wrapper:hover {\n box-shadow: 0px 0px 20px 0px rgba(60, 73, 99, 0.2);\n border: 1px solid var(--border-active);\n}\n::ng-deep .main-area .card-list .card-wrapper:hover .k-card-body .view-card-content-list h5 {\n color: var(--border-blue);\n}\n::ng-deep .main-area .card-list .card-wrapper .k-card-body .view-card-content-list p {\n color: var(--sideNav);\n font-size: 14px;\n line-height: 16px;\n height: auto;\n text-overflow: ellipsis;\n overflow: hidden;\n display: -webkit-box;\n -webkit-box-orient: vertical;\n\n}\n::ng-deep .main-area .card-list .card-wrapper .k-card-body .view-card-content-list h5 {\n font-size: 18px;\n line-height: 21px;\n color: var(--text-darked);\n font-weight: 600;\n}\n.breadcrumb-wrap {\n display: flex;\n align-items: center;\n gap: 8px;\n padding: 12px 0;\n}\n.breadcrumb-wrap span {\n font-size: 16px;\n line-height: 18px;\n font-weight: 400;\n color: var(--black);\n}\n::ng-deep .k-menu-popup {\n box-shadow: 0px 0px 20px 0px rgba(60, 73, 99, 0.2);\n border-radius: 10px;\n padding: 16px;\n}\n\n::ng-deep .k-menu-popup kendo-button-list ul li .k-menu-link {\n box-shadow: none !important;\n} \n::ng-deep .k-menu-popup kendo-button-list ul li .k-menu-link:active {\n background: transparent !important;\n}\n::ng-deep .k-menu-popup kendo-button-list ul li .k-menu-link .k-menu-link-text:hover {\n color: var(--primary-color);\n background: transparent !important;\n\n}\n::ng-deep .dialog-wrapper .popup-actions-btn button {\n flex: 1;\n}\n::ng-deep .dialog-wrapper .popup-actions-btn {\n display: flex;\n}\n::ng-deep .dialog-wrapper .popup-actions-btn .cancel-btn {\n background: var(--primary-color);\n color: var(--white-color);\n font-size: 16px;\n font-weight: 700;\n line-height: 34px;\n text-align: center;\n border-radius: 10px;\n border: 1px solid transparent;\n\n}\n::ng-deep .dialog-wrapper .popup-actions-btn .yes-btn {\n border:1px solid var(--primary-color);\n background: transparent;\n color: var(--primary-color);\n font-size: 16px;\n font-weight: 700;\n line-height: 34px;\n text-align: center;\n border-radius: 10px;\n box-shadow: none;\n}\n::ng-deep .dialog-wrapper .popup-actions-btn .yes-btn:focus {\n box-shadow: none !important;\n}\n::ng-deep .dialog-wrapper .k-window-title {\n font-size: 30px;\n font-weight: 500;\n line-height: 36px;\n text-align: left;\n color: var(--text-darked);\n}\n::ng-deep .dialog-wrapper p {\n font-size: 16px;\n font-weight: 500;\n line-height: 20px;\n text-align: left;\n color: var(--black);\n}\n\n.margin-left-small {\n margin-left: 10px;\n}\n\n.card-wrapper {\n min-width: 230px;\n height: 150px;\n min-height: 125px;\n}\n\n.padding-top-small {\n padding-top: 10px;\n}\n\n.cursor-pointer {\n cursor: pointer;\n}\n\n.title-folder {\n padding-right: 20px;\n margin: auto;\n}\n\n.title-flex-display {\n display: flex;\n flex-direction: row;\n}\n\n.breadcrumb-icon {\n cursor: pointer;\n}\n.breacrumb-icon:hover {\n color: var(--primary-color);\n}", "\n.main-area {\n display: flex;\n flex-direction: column;\n height: 100%;\n width: 100%;\n gap: 24px;\n padding: 24px 0;\n}\n.list-view {\n padding: 16px;\n min-width: 300px;\n border-radius: 4px;\n background: #FAFAFA;\n border: none;\n}\n::ng-deep .list-view .k-listview-header, \n::ng-deep .list-view .k-listview-footer {\n border: none;\n}\n::ng-deep .list-view .k-listview-content {\n border: 1px solid rgba(0, 0, 0, 0.08);\n border-radius: 4px;\n background: #fff;\n padding: 16px;\n}\n\n.header,\n.footer {\n color: #424242;\n font-size: 16px;\n height: auto;\n margin:0;\n}\n\n.header {\n color: #424242;\n margin-bottom: 16px;\n display: flex;\n justify-content: space-between;\n align-items: center;\n}\n.header .head-tag {\n display: flex;\n align-items: center;\n gap: 8px;\n color: #424242;\nfont-size: 16px;\nfont-style: normal;\nfont-weight: 400;\nline-height: 20px;\n}\n\n.header .count {\n width: 24px;\n height: 24px;\n min-width: 24px;\n display: flex;\n justify-content: center;\n align-items: center;\n font-size: 10px;\n background: rgba(0, 0, 0, 0.08);\n border-radius: 50%;\n}\n.footer {\n font-size: 14px;\n margin-top: 16px;\n}\n\n.list-item {\n color: #424242;\n font-size: 14px;\n font-style: normal;\n font-weight: 400;\n line-height: 30px;\n cursor: pointer;\n margin: 4px;\n}\n.card-container {\n margin: 0;\n padding: 0;\n box-shadow: none;\n}\n.card-header-entity {\n display: flex;\n justify-content: space-between;\n align-items: flex-start;\n padding-bottom: 20px;\n border-bottom: 1px solid rgba(0, 0, 0, 0.08);\n}\n.card-header-entity .title-wrap h1 {\n color: #424242;\n font-size: 28px;\n font-style: normal;\n font-weight: 300;\n line-height: 28px;\n margin-bottom: 15px;\n}\n.card-header-entity .title-wrap {\n display: flex;\n flex-direction: column;\n}\n.card-header-entity .title-wrap p {\n margin: 0;\n display: flex;\n align-items: center;\n gap: 8px;\n color: #424242;\n font-size: 14px;\n font-style: normal;\n font-weight: 400;\n line-height: 20px;\n}\n\n\n\n\n \n.view-card .view-icon {\n color: var(--sideNav);\n}\n.card-wrapper {\n border: 1px solid rgba(0, 0, 0, 0.08);\n border-radius: 6px;\n width: 100% !important;\n}\n.card-wrapper .k-card-body {\n background: #fff;\n padding: 12px 20px;\n}\n.card-wrapper .view-card {\n overflow: auto;\n display: flex;\n justify-content: space-between;\n align-items: center;\n background: #fafafa;\n padding: 4px 15px;\n}\n.view-card .btn-wrapper {\n display: flex;\n align-items: center;\n}\n\n.k-card-body .view-card-content h5 {\n color: #424242;\n font-size: 16px;\n font-style: normal;\n font-weight: 400;\n line-height: 20px;\n margin-bottom: 0;\n letter-spacing: 0.18px;\n}\n.k-card-body .view-card-content p {\n color: #666;\n font-size: 14px;\n font-style: normal;\n font-weight: 400;\n line-height: 20px;\n height: 48px;\n margin-bottom: 0;\n}\n.card-container {\n padding: 0;\n margin: 0;\n box-shadow: none;\n}\n.card-header-entity {\n display: flex;\n justify-content: space-between;\n align-items: flex-start;\n padding-bottom: 20px;\n border-bottom: 1px solid rgba(0, 0, 0, 0.08);\n}\n\n.card-header-entity .title-wrap h1 {\n color: #424242;\n font-size: 28px;\n font-style: normal;\n font-weight: 300;\n line-height: 28px;\n margin-bottom: 15px;\n}\n.card-header-entity .title-wrap {\n display: flex;\n flex-direction: column;\n}\n.card-header-entity .title-wrap p {\n margin: 0;\n display: flex;\n align-items: center;\n gap: 8px;\n color: #424242;\n font-size: 14px;\n font-style: normal;\n font-weight: 400;\n line-height: 20px;\n}\n.main-area .card-list {\n display: grid;\n grid-template-columns: repeat(4, 1fr);\n gap: 20px;\n}\n"] }]