@hmcts/ccd-case-ui-toolkit 6.19.5-case-file-view-document-upload-date → 6.19.5-restricted-case-access

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 (49) hide show
  1. package/bundles/hmcts-ccd-case-ui-toolkit.umd.js +103 -377
  2. package/bundles/hmcts-ccd-case-ui-toolkit.umd.js.map +1 -1
  3. package/bundles/hmcts-ccd-case-ui-toolkit.umd.min.js +1 -1
  4. package/bundles/hmcts-ccd-case-ui-toolkit.umd.min.js.map +1 -1
  5. package/esm2015/lib/shared/components/case-viewer/services/case.resolver.js +10 -6
  6. package/esm2015/lib/shared/components/palette/case-file-view/components/case-file-view-folder/case-file-view-folder-sort/case-file-view-folder-sort.component.js +3 -6
  7. package/esm2015/lib/shared/components/palette/case-file-view/components/case-file-view-folder/case-file-view-folder.component.js +20 -30
  8. package/esm2015/lib/shared/components/palette/complex/read-complex-field-collection-table.component.js +2 -2
  9. package/esm2015/lib/shared/components/palette/complex/sort-order.js +7 -0
  10. package/esm2015/lib/shared/domain/case-file-view/case-file-view-document.model.js +1 -1
  11. package/esm2015/lib/shared/domain/case-file-view/document-tree-node/document-tree-node.model.js +13 -39
  12. package/esm2015/lib/shared/domain/case-file-view/index.js +2 -3
  13. package/esm2015/lib/shared/domain/index.js +10 -10
  14. package/esm2015/lib/shared/domain/search/sorting/sort-order.js +7 -0
  15. package/esm2015/lib/shared/domain/search/sorting/sort-parameters.js +1 -1
  16. package/esm2015/lib/shared/pipes/search-result/sorting/sort-search-result.pipe.js +2 -2
  17. package/esm2015/lib/shared/services/case-file-view/case-file-view.service.js +1 -12
  18. package/fesm2015/hmcts-ccd-case-ui-toolkit.js +81 -353
  19. package/fesm2015/hmcts-ccd-case-ui-toolkit.js.map +1 -1
  20. package/lib/shared/components/case-viewer/services/case.resolver.d.ts.map +1 -1
  21. package/lib/shared/components/palette/case-file-view/components/case-file-view-folder/case-file-view-folder-sort/case-file-view-folder-sort.component.d.ts +2 -2
  22. package/lib/shared/components/palette/case-file-view/components/case-file-view-folder/case-file-view-folder-sort/case-file-view-folder-sort.component.d.ts.map +1 -1
  23. package/lib/shared/components/palette/case-file-view/components/case-file-view-folder/case-file-view-folder.component.d.ts +2 -2
  24. package/lib/shared/components/palette/case-file-view/components/case-file-view-folder/case-file-view-folder.component.d.ts.map +1 -1
  25. package/lib/shared/components/palette/complex/read-complex-field-collection-table.component.d.ts.map +1 -1
  26. package/lib/shared/{domain/sort-order.enum.d.ts → components/palette/complex/sort-order.d.ts} +1 -1
  27. package/lib/shared/components/palette/complex/sort-order.d.ts.map +1 -0
  28. package/lib/shared/domain/case-file-view/case-file-view-document.model.d.ts +1 -1
  29. package/lib/shared/domain/case-file-view/case-file-view-document.model.d.ts.map +1 -1
  30. package/lib/shared/domain/case-file-view/document-tree-node/document-tree-node.model.d.ts +2 -4
  31. package/lib/shared/domain/case-file-view/document-tree-node/document-tree-node.model.d.ts.map +1 -1
  32. package/lib/shared/domain/case-file-view/index.d.ts +1 -2
  33. package/lib/shared/domain/case-file-view/index.d.ts.map +1 -1
  34. package/lib/shared/domain/index.d.ts +9 -9
  35. package/lib/shared/domain/index.d.ts.map +1 -1
  36. package/lib/shared/domain/search/sorting/sort-order.d.ts +6 -0
  37. package/lib/shared/domain/search/sorting/sort-order.d.ts.map +1 -0
  38. package/lib/shared/domain/search/sorting/sort-parameters.d.ts +1 -1
  39. package/lib/shared/domain/search/sorting/sort-parameters.d.ts.map +1 -1
  40. package/lib/shared/services/case-file-view/case-file-view.service.d.ts.map +1 -1
  41. package/package.json +1 -1
  42. package/esm2015/lib/shared/components/palette/case-file-view/test-data/categories-and-documents-test-data.js +0 -233
  43. package/esm2015/lib/shared/domain/case-file-view/case-file-view-sort-columns.enum.js +0 -6
  44. package/esm2015/lib/shared/domain/sort-order.enum.js +0 -7
  45. package/lib/shared/components/palette/case-file-view/test-data/categories-and-documents-test-data.d.ts +0 -3
  46. package/lib/shared/components/palette/case-file-view/test-data/categories-and-documents-test-data.d.ts.map +0 -1
  47. package/lib/shared/domain/case-file-view/case-file-view-sort-columns.enum.d.ts +0 -5
  48. package/lib/shared/domain/case-file-view/case-file-view-sort-columns.enum.d.ts.map +0 -1
  49. package/lib/shared/domain/sort-order.enum.d.ts.map +0 -1
@@ -2912,14 +2912,6 @@ class AddressModel {
2912
2912
  class Alert {
2913
2913
  }
2914
2914
 
2915
- // tslint:disable:variable-name
2916
- class CaseDetails {
2917
- }
2918
-
2919
- // tslint:disable:variable-name
2920
- class CaseEventData {
2921
- }
2922
-
2923
2915
  class WizardPageField {
2924
2916
  }
2925
2917
 
@@ -3290,9 +3282,6 @@ OrganisationConverter.ɵprov = i0.ɵɵdefineInjectable({ token: OrganisationConv
3290
3282
  type: Injectable
3291
3283
  }], null, null); })();
3292
3284
 
3293
- class PaginationMetadata {
3294
- }
3295
-
3296
3285
  function hasRoles(profile) {
3297
3286
  if (profile.user && profile.user.idam && Array.isArray(profile.user.idam.roles)) {
3298
3287
  return profile.user.idam.roles.length > 0;
@@ -3358,23 +3347,34 @@ __decorate([
3358
3347
  __metadata("design:type", Array)
3359
3348
  ], SearchResultView.prototype, "results", void 0);
3360
3349
 
3361
- class SortParameters {
3362
- constructor(comparator, sortOrder) {
3363
- this.comparator = comparator;
3364
- this.sortOrder = sortOrder;
3365
- }
3350
+ // tslint:disable:variable-name
3351
+ class CaseDetails {
3366
3352
  }
3367
3353
 
3368
- var SortOrder;
3354
+ // tslint:disable:variable-name
3355
+ class CaseEventData {
3356
+ }
3357
+
3358
+ class WorkbasketInputModel {
3359
+ }
3360
+ class WorkbasketInput {
3361
+ }
3362
+
3363
+ class PaginationMetadata {
3364
+ }
3365
+
3366
+ var SortOrder$1;
3369
3367
  (function (SortOrder) {
3370
3368
  SortOrder[SortOrder["ASCENDING"] = 0] = "ASCENDING";
3371
3369
  SortOrder[SortOrder["DESCENDING"] = 1] = "DESCENDING";
3372
3370
  SortOrder[SortOrder["UNSORTED"] = 2] = "UNSORTED";
3373
- })(SortOrder || (SortOrder = {}));
3371
+ })(SortOrder$1 || (SortOrder$1 = {}));
3374
3372
 
3375
- class WorkbasketInputModel {
3376
- }
3377
- class WorkbasketInput {
3373
+ class SortParameters {
3374
+ constructor(comparator, sortOrder) {
3375
+ this.comparator = comparator;
3376
+ this.sortOrder = sortOrder;
3377
+ }
3378
3378
  }
3379
3379
 
3380
3380
  // @dynamic
@@ -6202,239 +6202,6 @@ AddressesService.ɵprov = i0.ɵɵdefineInjectable({ token: AddressesService, fac
6202
6202
  type: Injectable
6203
6203
  }], function () { return [{ type: HttpService }, { type: AbstractAppConfig }]; }, null); })();
6204
6204
 
6205
- const categoriesAndDocumentsTestData = {
6206
- case_version: 1,
6207
- categories: [
6208
- {
6209
- category_id: 'Beers',
6210
- category_name: 'Beers',
6211
- category_order: 1,
6212
- documents: [
6213
- {
6214
- document_url: '/test',
6215
- document_filename: 'Lager encyclopedia',
6216
- document_binary_url: '/test/binary',
6217
- attribute_path: '',
6218
- upload_timestamp: new Date(2023, 4, 11),
6219
- content_type: ''
6220
- },
6221
- {
6222
- document_url: '/test',
6223
- document_filename: 'Beers encyclopedia',
6224
- document_binary_url: '/test/binary',
6225
- attribute_path: '',
6226
- upload_timestamp: new Date(2023, 3, 14),
6227
- content_type: ''
6228
- },
6229
- {
6230
- document_url: '/test',
6231
- document_filename: 'Ale encyclopedia',
6232
- document_binary_url: '/test/binary',
6233
- attribute_path: '',
6234
- upload_timestamp: new Date(2023, 2, 12),
6235
- content_type: ''
6236
- }
6237
- ],
6238
- sub_categories: [
6239
- {
6240
- category_id: 'BeersBitters',
6241
- category_name: 'Bitters',
6242
- category_order: 1,
6243
- documents: [],
6244
- sub_categories: []
6245
- },
6246
- {
6247
- category_id: 'BeersAmerican',
6248
- category_name: 'American',
6249
- category_order: 2,
6250
- documents: [],
6251
- sub_categories: []
6252
- },
6253
- {
6254
- category_id: 'BeersAsian',
6255
- category_name: 'Asian',
6256
- category_order: 3,
6257
- documents: [],
6258
- sub_categories: []
6259
- }
6260
- ]
6261
- },
6262
- {
6263
- category_id: 'Wines',
6264
- category_name: 'Wines',
6265
- category_order: 2,
6266
- documents: [],
6267
- sub_categories: [
6268
- {
6269
- category_id: 'WinesFrench',
6270
- category_name: 'French',
6271
- category_order: 1,
6272
- documents: [],
6273
- sub_categories: []
6274
- },
6275
- {
6276
- category_id: 'WinesItalian',
6277
- category_name: 'Italian',
6278
- category_order: 2,
6279
- documents: [
6280
- {
6281
- document_url: '/red-wine',
6282
- document_filename: 'Details about red wine',
6283
- document_binary_url: '/test/binary',
6284
- attribute_path: '',
6285
- upload_timestamp: null,
6286
- content_type: ''
6287
- },
6288
- {
6289
- document_url: '/white-wine',
6290
- document_filename: 'Details about white wine',
6291
- document_binary_url: '/test/binary',
6292
- attribute_path: '',
6293
- upload_timestamp: new Date(2023, 1, 10),
6294
- content_type: ''
6295
- },
6296
- {
6297
- document_url: '/prosecco',
6298
- document_filename: 'Details about Prosecco',
6299
- document_binary_url: '/test/binary',
6300
- attribute_path: '',
6301
- upload_timestamp: new Date(2023, 3, 12),
6302
- content_type: ''
6303
- },
6304
- {
6305
- document_url: '/pinot-grigio',
6306
- document_filename: 'Details about Pinot Grigio',
6307
- document_binary_url: '/test/binary',
6308
- attribute_path: '',
6309
- upload_timestamp: new Date(2023, 2, 16),
6310
- content_type: ''
6311
- }
6312
- ],
6313
- sub_categories: []
6314
- }
6315
- ]
6316
- },
6317
- {
6318
- category_id: 'Spirits',
6319
- category_name: 'Spirits',
6320
- category_order: 3,
6321
- documents: [],
6322
- sub_categories: [
6323
- {
6324
- category_id: 'SpiritsWhisky',
6325
- category_name: 'Scotch whisky',
6326
- category_order: 1,
6327
- documents: [],
6328
- sub_categories: [
6329
- {
6330
- category_id: 'WhiskyHighland',
6331
- category_name: 'Highland',
6332
- category_order: 1,
6333
- documents: [],
6334
- sub_categories: [
6335
- {
6336
- category_id: 'WhiskyHighland1',
6337
- category_name: 'Highland 1',
6338
- category_order: 1,
6339
- documents: [],
6340
- sub_categories: []
6341
- }
6342
- ]
6343
- },
6344
- {
6345
- category_id: 'WhiskyLowland',
6346
- category_name: 'Lowland',
6347
- category_order: 2,
6348
- documents: [],
6349
- sub_categories: [
6350
- {
6351
- category_id: 'WhiskyLowland1',
6352
- category_name: 'Lowland 1',
6353
- category_order: 1,
6354
- documents: [
6355
- {
6356
- document_url: '/test',
6357
- document_filename: 'Details about Whisky Lowland 1',
6358
- document_binary_url: '/test/binary',
6359
- attribute_path: '',
6360
- upload_timestamp: new Date(2022, 5, 21),
6361
- content_type: ''
6362
- }
6363
- ],
6364
- sub_categories: []
6365
- },
6366
- {
6367
- category_id: 'WhiskyLowland2',
6368
- category_name: 'Lowland 2',
6369
- category_order: 2,
6370
- documents: [],
6371
- sub_categories: []
6372
- }
6373
- ]
6374
- },
6375
- {
6376
- category_id: 'WhiskyIslay',
6377
- category_name: 'Islay',
6378
- category_order: 3,
6379
- documents: [
6380
- {
6381
- document_url: '/test',
6382
- document_filename: 'Details about Whisky Islay',
6383
- document_binary_url: '/test/binary',
6384
- attribute_path: '',
6385
- upload_timestamp: new Date(2022, 10, 4),
6386
- content_type: ''
6387
- },
6388
- {
6389
- document_url: '/test',
6390
- document_filename: 'More information about Whisky Islay',
6391
- document_binary_url: '/test/binary',
6392
- attribute_path: '',
6393
- upload_timestamp: new Date(2022, 11, 28),
6394
- content_type: ''
6395
- }
6396
- ],
6397
- sub_categories: []
6398
- },
6399
- {
6400
- category_id: 'WhiskySpeyside',
6401
- category_name: 'Speyside',
6402
- category_order: 4,
6403
- documents: [],
6404
- sub_categories: []
6405
- },
6406
- {
6407
- category_id: 'WhiskyCampbeltown',
6408
- category_name: 'Campbeltown',
6409
- category_order: 5,
6410
- documents: [],
6411
- sub_categories: []
6412
- }
6413
- ]
6414
- }
6415
- ]
6416
- }
6417
- ],
6418
- uncategorised_documents: [
6419
- {
6420
- document_url: '/uncategorised-document-1',
6421
- document_filename: 'Uncategorised document 1',
6422
- document_binary_url: '/test/binary',
6423
- attribute_path: '',
6424
- upload_timestamp: new Date(2022, 10, 17),
6425
- content_type: ''
6426
- },
6427
- {
6428
- document_url: '/uncategorised-document-2',
6429
- document_filename: 'Uncategorised document 2',
6430
- document_binary_url: '/test/binary',
6431
- attribute_path: '',
6432
- upload_timestamp: new Date(2023, 1, 23),
6433
- content_type: ''
6434
- }
6435
- ]
6436
- };
6437
-
6438
6205
  class CaseFileViewService {
6439
6206
  constructor(http, appConfig) {
6440
6207
  this.http = http;
@@ -6447,16 +6214,6 @@ class CaseFileViewService {
6447
6214
  * @returns An `Observable` of the `CategoriesAndDocuments` for the case
6448
6215
  */
6449
6216
  getCategoriesAndDocuments(caseRef) {
6450
- // Case file view v1.1 epic - https://tools.hmcts.net/jira/browse/EUI-7807
6451
- // Display upload_timestamp - https://tools.hmcts.net/jira/browse/EUI-7819
6452
- // Sort by upload_timestamp - https://tools.hmcts.net/jira/browse/EUI-7812
6453
- // The property upload_timestamp is not available as it is not yet implemented by CCD
6454
- // Using this case reference '1666863124102280' to return the mock data with upload_timestamp
6455
- // The below 'if' statement should be removed once the upload_timestamp property is made available by CCD
6456
- // https://tools.hmcts.net/jira/browse/EUI-8129
6457
- if (caseRef === '1666863124102280') {
6458
- return of(categoriesAndDocumentsTestData);
6459
- }
6460
6217
  let url = this.appConfig.getCategoriesAndDocumentsUrl();
6461
6218
  if (url) {
6462
6219
  url += `/${caseRef}`;
@@ -19205,22 +18962,14 @@ CaseFileViewFolderDocumentActionsComponent.ɵcmp = i0.ɵɵdefineComponent({ type
19205
18962
  type: Output
19206
18963
  }] }); })();
19207
18964
 
19208
- var CaseFileViewSortColumns;
19209
- (function (CaseFileViewSortColumns) {
19210
- CaseFileViewSortColumns[CaseFileViewSortColumns["DOCUMENT_NAME"] = 0] = "DOCUMENT_NAME";
19211
- CaseFileViewSortColumns[CaseFileViewSortColumns["DOCUMENT_UPLOAD_TIMESTAMP"] = 1] = "DOCUMENT_UPLOAD_TIMESTAMP";
19212
- })(CaseFileViewSortColumns || (CaseFileViewSortColumns = {}));
19213
-
19214
18965
  class CaseFileViewFolderSortComponent {
19215
18966
  constructor() {
19216
18967
  this.isOpen = false;
19217
18968
  this.sortAscending = new EventEmitter();
19218
18969
  this.sortDescending = new EventEmitter();
19219
18970
  this.overlayMenuItems = [
19220
- { actionText: 'A to Z ascending', iconSrc: '/assets/img/sort/sort-down-arrow.svg', actionFn: () => this.sortAscending.emit(CaseFileViewSortColumns.DOCUMENT_NAME) },
19221
- { actionText: 'Z to A descending', iconSrc: '/assets/img/sort/sort-up-arrow.svg', actionFn: () => this.sortDescending.emit(CaseFileViewSortColumns.DOCUMENT_NAME) },
19222
- { actionText: 'Recent first', iconSrc: '/assets/img/sort/sort-down-arrow.svg', actionFn: () => this.sortDescending.emit(CaseFileViewSortColumns.DOCUMENT_UPLOAD_TIMESTAMP) },
19223
- { actionText: 'Oldest first', iconSrc: '/assets/img/sort/sort-up-arrow.svg', actionFn: () => this.sortAscending.emit(CaseFileViewSortColumns.DOCUMENT_UPLOAD_TIMESTAMP) },
18971
+ { actionText: 'A to Z ascending', iconSrc: '/assets/img/sort/sort-down-arrow.svg', actionFn: () => this.sortAscending.emit() },
18972
+ { actionText: 'Z to A descending', iconSrc: '/assets/img/sort/sort-up-arrow.svg', actionFn: () => this.sortDescending.emit() },
19224
18973
  ];
19225
18974
  }
19226
18975
  }
@@ -19283,54 +19032,48 @@ class DocumentTreeNode {
19283
19032
  };
19284
19033
  return countChildren(this.children);
19285
19034
  }
19286
- sortChildrenAscending(column, sortOrder) {
19035
+ sortChildrenAscending() {
19287
19036
  var _a, _b;
19288
19037
  const sortAscending = () => {
19289
19038
  return (a, b) => {
19290
- const nodeA = this.getNodeToSort(a, column, sortOrder);
19291
- const nodeB = this.getNodeToSort(b, column, sortOrder);
19039
+ const nameA = a.name.toUpperCase();
19040
+ const nameB = b.name.toUpperCase();
19292
19041
  if (a.type === DocumentTreeNodeType.FOLDER || b.type === DocumentTreeNodeType.FOLDER) {
19293
19042
  return 0;
19294
19043
  }
19295
- if (!nodeA || !nodeB) {
19296
- return 0;
19297
- }
19298
- if (nodeA < nodeB) {
19044
+ if (nameA < nameB) {
19299
19045
  return -1;
19300
19046
  }
19301
- if (nodeA > nodeB) {
19047
+ if (nameA > nameB) {
19302
19048
  return 1;
19303
19049
  }
19304
19050
  };
19305
19051
  };
19306
19052
  (_a = this.children) === null || _a === void 0 ? void 0 : _a.sort(sortAscending());
19307
19053
  (_b = this.children) === null || _b === void 0 ? void 0 : _b.forEach((childNodes) => {
19308
- childNodes.sortChildrenAscending(column, sortOrder);
19054
+ childNodes.sortChildrenAscending();
19309
19055
  });
19310
19056
  }
19311
- sortChildrenDescending(column, sortOrder) {
19057
+ sortChildrenDescending() {
19312
19058
  var _a, _b;
19313
19059
  const sortDescending = () => {
19314
19060
  return (a, b) => {
19315
- const nodeA = this.getNodeToSort(a, column, sortOrder);
19316
- const nodeB = this.getNodeToSort(b, column, sortOrder);
19061
+ const nameA = a.name.toUpperCase();
19062
+ const nameB = b.name.toUpperCase();
19317
19063
  if (a.type === DocumentTreeNodeType.FOLDER || b.type === DocumentTreeNodeType.FOLDER) {
19318
19064
  return 0;
19319
19065
  }
19320
- if (!nodeA || !nodeB) {
19321
- return 0;
19322
- }
19323
- if (nodeA > nodeB) {
19066
+ if (nameA > nameB) {
19324
19067
  return -1;
19325
19068
  }
19326
- if (nodeA < nodeB) {
19069
+ if (nameA < nameB) {
19327
19070
  return 1;
19328
19071
  }
19329
19072
  };
19330
19073
  };
19331
19074
  (_a = this.children) === null || _a === void 0 ? void 0 : _a.sort(sortDescending());
19332
19075
  (_b = this.children) === null || _b === void 0 ? void 0 : _b.forEach((childNodes) => {
19333
- childNodes.sortChildrenDescending(column, sortOrder);
19076
+ childNodes.sortChildrenDescending();
19334
19077
  });
19335
19078
  }
19336
19079
  get flattenedAll() {
@@ -19353,24 +19096,6 @@ class DocumentTreeNode {
19353
19096
  }).flat()
19354
19097
  ];
19355
19098
  }
19356
- getNodeToSort(node, column, sortOrder) {
19357
- if (column === CaseFileViewSortColumns.DOCUMENT_NAME) {
19358
- return (node === null || node === void 0 ? void 0 : node.name) ? node.name.toUpperCase()
19359
- : '';
19360
- }
19361
- if (column === CaseFileViewSortColumns.DOCUMENT_UPLOAD_TIMESTAMP) {
19362
- if (node === null || node === void 0 ? void 0 : node.upload_timestamp) {
19363
- return new Date(node.upload_timestamp);
19364
- }
19365
- if (sortOrder === SortOrder.ASCENDING) {
19366
- return new Date(9999, 12, 31);
19367
- }
19368
- if (sortOrder === SortOrder.DESCENDING) {
19369
- return new Date(1111, 1, 1);
19370
- }
19371
- }
19372
- return '';
19373
- }
19374
19099
  }
19375
19100
  __decorate([
19376
19101
  Type(() => DocumentTreeNode),
@@ -19397,14 +19122,10 @@ function CaseFileViewFolderComponent_div_8_cdk_nested_tree_node_4_Template(rf, c
19397
19122
  i0.ɵɵelementEnd();
19398
19123
  i0.ɵɵelementStart(4, "span", 16);
19399
19124
  i0.ɵɵtext(5);
19400
- i0.ɵɵelement(6, "br");
19401
- i0.ɵɵelementStart(7, "span", 17);
19402
- i0.ɵɵtext(8);
19403
- i0.ɵɵelementEnd();
19404
19125
  i0.ɵɵelementEnd();
19405
- i0.ɵɵelementStart(9, "div", 18);
19406
- i0.ɵɵelementStart(10, "ccd-case-file-view-folder-document-actions", 19);
19407
- i0.ɵɵlistener("changeFolderAction", function CaseFileViewFolderComponent_div_8_cdk_nested_tree_node_4_Template_ccd_case_file_view_folder_document_actions_changeFolderAction_10_listener() { i0.ɵɵrestoreView(_r6); const node_r4 = ctx.$implicit; const ctx_r7 = i0.ɵɵnextContext(2); return ctx_r7.triggerDocumentAction("changeFolder", node_r4); })("openInANewTabAction", function CaseFileViewFolderComponent_div_8_cdk_nested_tree_node_4_Template_ccd_case_file_view_folder_document_actions_openInANewTabAction_10_listener() { i0.ɵɵrestoreView(_r6); const node_r4 = ctx.$implicit; const ctx_r8 = i0.ɵɵnextContext(2); return ctx_r8.triggerDocumentAction("openInANewTab", node_r4); })("downloadAction", function CaseFileViewFolderComponent_div_8_cdk_nested_tree_node_4_Template_ccd_case_file_view_folder_document_actions_downloadAction_10_listener() { i0.ɵɵrestoreView(_r6); const node_r4 = ctx.$implicit; const ctx_r9 = i0.ɵɵnextContext(2); return ctx_r9.triggerDocumentAction("download", node_r4); })("printAction", function CaseFileViewFolderComponent_div_8_cdk_nested_tree_node_4_Template_ccd_case_file_view_folder_document_actions_printAction_10_listener() { i0.ɵɵrestoreView(_r6); const node_r4 = ctx.$implicit; const ctx_r10 = i0.ɵɵnextContext(2); return ctx_r10.triggerDocumentAction("print", node_r4); });
19126
+ i0.ɵɵelementStart(6, "div", 17);
19127
+ i0.ɵɵelementStart(7, "ccd-case-file-view-folder-document-actions", 18);
19128
+ i0.ɵɵlistener("changeFolderAction", function CaseFileViewFolderComponent_div_8_cdk_nested_tree_node_4_Template_ccd_case_file_view_folder_document_actions_changeFolderAction_7_listener() { i0.ɵɵrestoreView(_r6); const node_r4 = ctx.$implicit; const ctx_r7 = i0.ɵɵnextContext(2); return ctx_r7.triggerDocumentAction("changeFolder", node_r4); })("openInANewTabAction", function CaseFileViewFolderComponent_div_8_cdk_nested_tree_node_4_Template_ccd_case_file_view_folder_document_actions_openInANewTabAction_7_listener() { i0.ɵɵrestoreView(_r6); const node_r4 = ctx.$implicit; const ctx_r8 = i0.ɵɵnextContext(2); return ctx_r8.triggerDocumentAction("openInANewTab", node_r4); })("downloadAction", function CaseFileViewFolderComponent_div_8_cdk_nested_tree_node_4_Template_ccd_case_file_view_folder_document_actions_downloadAction_7_listener() { i0.ɵɵrestoreView(_r6); const node_r4 = ctx.$implicit; const ctx_r9 = i0.ɵɵnextContext(2); return ctx_r9.triggerDocumentAction("download", node_r4); })("printAction", function CaseFileViewFolderComponent_div_8_cdk_nested_tree_node_4_Template_ccd_case_file_view_folder_document_actions_printAction_7_listener() { i0.ɵɵrestoreView(_r6); const node_r4 = ctx.$implicit; const ctx_r10 = i0.ɵɵnextContext(2); return ctx_r10.triggerDocumentAction("print", node_r4); });
19408
19129
  i0.ɵɵelementEnd();
19409
19130
  i0.ɵɵelementEnd();
19410
19131
  i0.ɵɵelementEnd();
@@ -19415,27 +19136,25 @@ function CaseFileViewFolderComponent_div_8_cdk_nested_tree_node_4_Template(rf, c
19415
19136
  i0.ɵɵadvance(1);
19416
19137
  i0.ɵɵclassProp("node--selected", (ctx_r2.selectedNodeItem == null ? null : ctx_r2.selectedNodeItem.name) === node_r4.name);
19417
19138
  i0.ɵɵadvance(4);
19418
- i0.ɵɵtextInterpolate1(" ", node_r4.name, " ");
19419
- i0.ɵɵadvance(3);
19420
- i0.ɵɵtextInterpolate(node_r4.upload_timestamp);
19139
+ i0.ɵɵtextInterpolate(node_r4.name);
19421
19140
  i0.ɵɵadvance(2);
19422
19141
  i0.ɵɵproperty("allowMoving", ctx_r2.allowMoving);
19423
19142
  } }
19424
19143
  function CaseFileViewFolderComponent_div_8_cdk_nested_tree_node_5_Template(rf, ctx) { if (rf & 1) {
19425
- i0.ɵɵelementStart(0, "cdk-nested-tree-node", 20);
19426
- i0.ɵɵelementStart(1, "button", 21);
19427
- i0.ɵɵelementStart(2, "div", 22);
19428
- i0.ɵɵelement(3, "img", 23);
19429
- i0.ɵɵelementStart(4, "span", 24);
19144
+ i0.ɵɵelementStart(0, "cdk-nested-tree-node", 19);
19145
+ i0.ɵɵelementStart(1, "button", 20);
19146
+ i0.ɵɵelementStart(2, "div", 21);
19147
+ i0.ɵɵelement(3, "img", 22);
19148
+ i0.ɵɵelementStart(4, "span", 23);
19430
19149
  i0.ɵɵtext(5);
19431
19150
  i0.ɵɵelementEnd();
19432
19151
  i0.ɵɵelementEnd();
19433
- i0.ɵɵelementStart(6, "span", 25);
19152
+ i0.ɵɵelementStart(6, "span", 24);
19434
19153
  i0.ɵɵtext(7);
19435
19154
  i0.ɵɵelementEnd();
19436
19155
  i0.ɵɵelementEnd();
19437
19156
  i0.ɵɵelementStart(8, "div");
19438
- i0.ɵɵelementContainer(9, 26);
19157
+ i0.ɵɵelementContainer(9, 25);
19439
19158
  i0.ɵɵelementEnd();
19440
19159
  i0.ɵɵelementEnd();
19441
19160
  } if (rf & 2) {
@@ -19457,7 +19176,7 @@ function CaseFileViewFolderComponent_div_8_Template(rf, ctx) { if (rf & 1) {
19457
19176
  i0.ɵɵtemplate(1, CaseFileViewFolderComponent_div_8_div_1_Template, 2, 0, "div", 8);
19458
19177
  i0.ɵɵelementStart(2, "div");
19459
19178
  i0.ɵɵelementStart(3, "cdk-tree", 9);
19460
- i0.ɵɵtemplate(4, CaseFileViewFolderComponent_div_8_cdk_nested_tree_node_4_Template, 11, 5, "cdk-nested-tree-node", 10);
19179
+ i0.ɵɵtemplate(4, CaseFileViewFolderComponent_div_8_cdk_nested_tree_node_4_Template, 8, 4, "cdk-nested-tree-node", 10);
19461
19180
  i0.ɵɵtemplate(5, CaseFileViewFolderComponent_div_8_cdk_nested_tree_node_5_Template, 10, 6, "cdk-nested-tree-node", 11);
19462
19181
  i0.ɵɵelementEnd();
19463
19182
  i0.ɵɵelementEnd();
@@ -19545,7 +19264,6 @@ class CaseFileViewFolderComponent {
19545
19264
  documentTreeNode.document_filename = document.document_filename;
19546
19265
  documentTreeNode.document_binary_url = document.document_binary_url;
19547
19266
  documentTreeNode.attribute_path = document.attribute_path;
19548
- documentTreeNode.upload_timestamp = document.upload_timestamp ? moment(document.upload_timestamp).format('DD MMM YYYY') : '';
19549
19267
  documentsToReturn.push(documentTreeNode);
19550
19268
  });
19551
19269
  return documentsToReturn;
@@ -19559,7 +19277,6 @@ class CaseFileViewFolderComponent {
19559
19277
  documentTreeNode.document_filename = document.document_filename;
19560
19278
  documentTreeNode.document_binary_url = document.document_binary_url;
19561
19279
  documentTreeNode.attribute_path = document.attribute_path;
19562
- documentTreeNode.upload_timestamp = document.upload_timestamp ? moment(document.upload_timestamp).format('DD MMM YYYY') : '';
19563
19280
  documents.push(documentTreeNode);
19564
19281
  });
19565
19282
  const uncategorisedNode = new DocumentTreeNode();
@@ -19614,16 +19331,16 @@ class CaseFileViewFolderComponent {
19614
19331
  return;
19615
19332
  }
19616
19333
  }
19617
- sortDataSourceAscending(column) {
19334
+ sortDataSourceAscAlphabetically() {
19618
19335
  const sortedData = this.nestedDataSource.map(item => {
19619
- item.sortChildrenAscending(column, SortOrder.ASCENDING);
19336
+ item.sortChildrenAscending();
19620
19337
  return item;
19621
19338
  });
19622
19339
  this.updateNodeData(sortedData);
19623
19340
  }
19624
- sortDataSourceDescending(column) {
19341
+ sortDataSourceDescAlphabetically() {
19625
19342
  const sortedData = this.nestedDataSource.map(item => {
19626
- item.sortChildrenDescending(column, SortOrder.DESCENDING);
19343
+ item.sortChildrenDescending();
19627
19344
  return item;
19628
19345
  });
19629
19346
  this.updateNodeData(sortedData);
@@ -19681,7 +19398,7 @@ CaseFileViewFolderComponent.UNCATEGORISED_DOCUMENTS_TITLE = 'Uncategorised docum
19681
19398
  CaseFileViewFolderComponent.DOCUMENT_SEARCH_FORM_CONTROL_NAME = 'documentSearchFormControl';
19682
19399
  CaseFileViewFolderComponent.MINIMUM_SEARCH_CHARACTERS = 1;
19683
19400
  CaseFileViewFolderComponent.ɵfac = function CaseFileViewFolderComponent_Factory(t) { return new (t || CaseFileViewFolderComponent)(i0.ɵɵdirectiveInject(WindowService), i0.ɵɵdirectiveInject(i1$1.Router), i0.ɵɵdirectiveInject(DocumentManagementService), i0.ɵɵdirectiveInject(i1$3.MatDialog)); };
19684
- CaseFileViewFolderComponent.ɵcmp = i0.ɵɵdefineComponent({ type: CaseFileViewFolderComponent, selectors: [["ccd-case-file-view-folder"]], inputs: { categoriesAndDocuments: "categoriesAndDocuments", allowMoving: "allowMoving" }, outputs: { clickedDocument: "clickedDocument", moveDocument: "moveDocument" }, decls: 9, vars: 3, consts: [[1, "document-filter-container"], [1, "form-group", "document-filter", 3, "formGroup"], ["type", "search", "id", "document-search", "name", "documentSearchFormControl", "formControlName", "documentSearchFormControl", "placeholder", "Search by document name", 1, "form-control", "document-search"], [1, "document-folders-header"], [1, "document-folders-header__title"], [3, "sortAscending", "sortDescending"], ["class", "document-tree-container", 4, "ngIf"], [1, "document-tree-container"], [4, "ngIf"], [3, "dataSource", "treeControl"], ["class", "document-tree-container__node document-tree-container__node--document", 4, "cdkTreeNodeDef"], ["class", "document-tree-container__node document-tree-container__folder", 4, "cdkTreeNodeDef", "cdkTreeNodeDefWhen"], [1, "document-tree-container__node", "document-tree-container__node--document"], [1, "node", 3, "click"], ["disabled", "", 1, "node__icon"], ["src", "/assets/img/case-file-view/case-file-view-document.svg", "alt", "Document icon", 1, "node__iconImg"], [1, "node__name", "node-name-document"], [1, "node__document-upload-timestamp"], [1, "node__document-options"], [3, "allowMoving", "changeFolderAction", "openInANewTabAction", "downloadAction", "printAction"], [1, "document-tree-container__node", "document-tree-container__folder"], ["cdkTreeNodeToggle", "", 1, "node"], [1, "node__icon"], ["alt", "Folder icon", 1, "node__iconImg", 3, "src"], [1, "node__count"], [1, "node__name", "node__name--folder"], ["cdkTreeNodeOutlet", ""]], template: function CaseFileViewFolderComponent_Template(rf, ctx) { if (rf & 1) {
19401
+ CaseFileViewFolderComponent.ɵcmp = i0.ɵɵdefineComponent({ type: CaseFileViewFolderComponent, selectors: [["ccd-case-file-view-folder"]], inputs: { categoriesAndDocuments: "categoriesAndDocuments", allowMoving: "allowMoving" }, outputs: { clickedDocument: "clickedDocument", moveDocument: "moveDocument" }, decls: 9, vars: 3, consts: [[1, "document-filter-container"], [1, "form-group", "document-filter", 3, "formGroup"], ["type", "search", "id", "document-search", "name", "documentSearchFormControl", "formControlName", "documentSearchFormControl", "placeholder", "Search by document name", 1, "form-control", "document-search"], [1, "document-folders-header"], [1, "document-folders-header__title"], [3, "sortAscending", "sortDescending"], ["class", "document-tree-container", 4, "ngIf"], [1, "document-tree-container"], [4, "ngIf"], [3, "dataSource", "treeControl"], ["class", "document-tree-container__node document-tree-container__node--document", 4, "cdkTreeNodeDef"], ["class", "document-tree-container__node document-tree-container__folder", 4, "cdkTreeNodeDef", "cdkTreeNodeDefWhen"], [1, "document-tree-container__node", "document-tree-container__node--document"], [1, "node", 3, "click"], ["disabled", "", 1, "node__icon"], ["src", "/assets/img/case-file-view/case-file-view-document.svg", "alt", "Document icon", 1, "node__iconImg"], [1, "node__name", "node-name-document"], [1, "node__document-options"], [3, "allowMoving", "changeFolderAction", "openInANewTabAction", "downloadAction", "printAction"], [1, "document-tree-container__node", "document-tree-container__folder"], ["cdkTreeNodeToggle", "", 1, "node"], [1, "node__icon"], ["alt", "Folder icon", 1, "node__iconImg", 3, "src"], [1, "node__count"], [1, "node__name", "node__name--folder"], ["cdkTreeNodeOutlet", ""]], template: function CaseFileViewFolderComponent_Template(rf, ctx) { if (rf & 1) {
19685
19402
  i0.ɵɵelementStart(0, "div", 0);
19686
19403
  i0.ɵɵelementStart(1, "div", 1);
19687
19404
  i0.ɵɵelement(2, "input", 2);
@@ -19693,7 +19410,7 @@ CaseFileViewFolderComponent.ɵcmp = i0.ɵɵdefineComponent({ type: CaseFileViewF
19693
19410
  i0.ɵɵelementEnd();
19694
19411
  i0.ɵɵelementStart(6, "div");
19695
19412
  i0.ɵɵelementStart(7, "ccd-case-file-view-folder-sort", 5);
19696
- i0.ɵɵlistener("sortAscending", function CaseFileViewFolderComponent_Template_ccd_case_file_view_folder_sort_sortAscending_7_listener($event) { return ctx.sortDataSourceAscending($event); })("sortDescending", function CaseFileViewFolderComponent_Template_ccd_case_file_view_folder_sort_sortDescending_7_listener($event) { return ctx.sortDataSourceDescending($event); });
19413
+ i0.ɵɵlistener("sortAscending", function CaseFileViewFolderComponent_Template_ccd_case_file_view_folder_sort_sortAscending_7_listener() { return ctx.sortDataSourceAscAlphabetically(); })("sortDescending", function CaseFileViewFolderComponent_Template_ccd_case_file_view_folder_sort_sortDescending_7_listener() { return ctx.sortDataSourceDescAlphabetically(); });
19697
19414
  i0.ɵɵelementEnd();
19698
19415
  i0.ɵɵelementEnd();
19699
19416
  i0.ɵɵelementEnd();
@@ -19705,7 +19422,7 @@ CaseFileViewFolderComponent.ɵcmp = i0.ɵɵdefineComponent({ type: CaseFileViewF
19705
19422
  i0.ɵɵtextInterpolate1("Documents (", ctx.documentCount, ")");
19706
19423
  i0.ɵɵadvance(3);
19707
19424
  i0.ɵɵproperty("ngIf", ctx.documentTreeData);
19708
- } }, directives: [i2$1.NgControlStatusGroup, i2$1.FormGroupDirective, i2$1.DefaultValueAccessor, i2$1.NgControlStatus, i2$1.FormControlName, CaseFileViewFolderSortComponent, i2.NgIf, i7.CdkTree, i7.CdkTreeNodeDef, i7.CdkNestedTreeNode, CaseFileViewFolderDocumentActionsComponent, i7.CdkTreeNodeToggle, i7.CdkTreeNodeOutlet], styles: ["[_nghost-%COMP%]{display:flex;height:100%;flex-direction:column}[_nghost-%COMP%] .document-tree-container[_ngcontent-%COMP%]{flex:1 0}.document-filter-container[_ngcontent-%COMP%]{border-bottom:2px solid #c9c9c9}.document-filter-container[_ngcontent-%COMP%] .document-filter[_ngcontent-%COMP%]{padding:10px}.document-filter-container[_ngcontent-%COMP%] .document-filter[_ngcontent-%COMP%] .document-search[_ngcontent-%COMP%]{background:url(/assets/images/icon-search-black.svg) no-repeat 100% #fff;background-position-x:calc(100% - 4px);padding-right:30px;width:100%}.document-filter-container[_ngcontent-%COMP%] .documents-title[_ngcontent-%COMP%]{height:30%;margin-left:8px;font-weight:700}.document-tree-container[_ngcontent-%COMP%]{padding:4px;overflow-x:hidden;overflow-y:scroll}.document-tree-container__node[_ngcontent-%COMP%]{display:block}.document-tree-container__node[_ngcontent-%COMP%] .document-tree-container__node[_ngcontent-%COMP%]{padding-left:40px}.document-tree-container[_ngcontent-%COMP%] .document-tree-invisible[_ngcontent-%COMP%]{display:none}.document-tree-container[_ngcontent-%COMP%]::-webkit-scrollbar{width:7px}.document-tree-container[_ngcontent-%COMP%]::-webkit-scrollbar-thumb{border:4px solid transparent;background-clip:padding-box;border-radius:9999px;background-color:#aaa}.document-tree-container[_ngcontent-%COMP%]::-webkit-scrollbar-button{display:none}.document-tree-container[_ngcontent-%COMP%]::-webkit-scrollbar-track-piece{background:#eee}.document-tree-container[_ngcontent-%COMP%]::-webkit-scrollbar-thumb{background:#ccc}.document-folders-header[_ngcontent-%COMP%]{display:flex;align-items:center;justify-content:space-between;border-bottom:2px solid #c9c9c9;padding:10px}.document-folders-header__title[_ngcontent-%COMP%]{font-weight:700}.node[_ngcontent-%COMP%]{display:flex;align-items:center;width:100%;padding:10px;background:none;border:0;cursor:pointer;white-space:nowrap}.node--selected[_ngcontent-%COMP%]{background:#fff2cc}.node__icon[_ngcontent-%COMP%]{position:relative;display:inline-block}.node__count[_ngcontent-%COMP%]{color:#fff;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);font-size:.875rem;padding-top:4px}.node__iconImg[_ngcontent-%COMP%]{display:block;height:30px;width:30px}.node__name[_ngcontent-%COMP%]{margin-left:6px;font-size:1rem;overflow:hidden;text-overflow:ellipsis}.node__document-options[_ngcontent-%COMP%]{margin-left:auto;margin-right:0}.node__document-upload-timestamp[_ngcontent-%COMP%]{font-size:.8rem;float:left;padding-left:10px}"] });
19425
+ } }, directives: [i2$1.NgControlStatusGroup, i2$1.FormGroupDirective, i2$1.DefaultValueAccessor, i2$1.NgControlStatus, i2$1.FormControlName, CaseFileViewFolderSortComponent, i2.NgIf, i7.CdkTree, i7.CdkTreeNodeDef, i7.CdkNestedTreeNode, CaseFileViewFolderDocumentActionsComponent, i7.CdkTreeNodeToggle, i7.CdkTreeNodeOutlet], styles: ["[_nghost-%COMP%]{display:flex;height:100%;flex-direction:column}[_nghost-%COMP%] .document-tree-container[_ngcontent-%COMP%]{flex:1 0}.document-filter-container[_ngcontent-%COMP%]{border-bottom:2px solid #c9c9c9}.document-filter-container[_ngcontent-%COMP%] .document-filter[_ngcontent-%COMP%]{padding:10px}.document-filter-container[_ngcontent-%COMP%] .document-filter[_ngcontent-%COMP%] .document-search[_ngcontent-%COMP%]{background:url(/assets/images/icon-search-black.svg) no-repeat 100% #fff;background-position-x:calc(100% - 4px);padding-right:30px;width:100%}.document-filter-container[_ngcontent-%COMP%] .documents-title[_ngcontent-%COMP%]{height:30%;margin-left:8px;font-weight:700}.document-tree-container[_ngcontent-%COMP%]{padding:4px;overflow-x:hidden;overflow-y:scroll}.document-tree-container__node[_ngcontent-%COMP%]{display:block}.document-tree-container__node[_ngcontent-%COMP%] .document-tree-container__node[_ngcontent-%COMP%]{padding-left:40px}.document-tree-container[_ngcontent-%COMP%] .document-tree-invisible[_ngcontent-%COMP%]{display:none}.document-tree-container[_ngcontent-%COMP%]::-webkit-scrollbar{width:7px}.document-tree-container[_ngcontent-%COMP%]::-webkit-scrollbar-thumb{border:4px solid transparent;background-clip:padding-box;border-radius:9999px;background-color:#aaa}.document-tree-container[_ngcontent-%COMP%]::-webkit-scrollbar-button{display:none}.document-tree-container[_ngcontent-%COMP%]::-webkit-scrollbar-track-piece{background:#eee}.document-tree-container[_ngcontent-%COMP%]::-webkit-scrollbar-thumb{background:#ccc}.document-folders-header[_ngcontent-%COMP%]{display:flex;align-items:center;justify-content:space-between;border-bottom:2px solid #c9c9c9;padding:10px}.document-folders-header__title[_ngcontent-%COMP%]{font-weight:700}.node[_ngcontent-%COMP%]{display:flex;align-items:center;width:100%;padding:6px;background:none;border:0;cursor:pointer;white-space:nowrap}.node--selected[_ngcontent-%COMP%]{background:#fff2cc}.node__icon[_ngcontent-%COMP%]{position:relative;display:inline-block}.node__count[_ngcontent-%COMP%]{color:#fff;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);font-size:.875rem;padding-top:4px}.node__iconImg[_ngcontent-%COMP%]{display:block;height:30px;width:30px}.node__name[_ngcontent-%COMP%]{margin-left:6px;font-size:1rem;overflow:hidden;text-overflow:ellipsis}.node__document-options[_ngcontent-%COMP%]{margin-left:auto;margin-right:0}"] });
19709
19426
  (function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(CaseFileViewFolderComponent, [{
19710
19427
  type: Component,
19711
19428
  args: [{
@@ -21426,6 +21143,13 @@ const ɵReadComplexFieldTableComponent_BaseFactory = /*@__PURE__*/ i0.ɵɵgetInh
21426
21143
  type: Input
21427
21144
  }] }); })();
21428
21145
 
21146
+ var SortOrder;
21147
+ (function (SortOrder) {
21148
+ SortOrder[SortOrder["ASCENDING"] = 0] = "ASCENDING";
21149
+ SortOrder[SortOrder["DESCENDING"] = 1] = "DESCENDING";
21150
+ SortOrder[SortOrder["UNSORTED"] = 2] = "UNSORTED";
21151
+ })(SortOrder || (SortOrder = {}));
21152
+
21429
21153
  function ReadComplexFieldCollectionTableComponent_th_10_Template(rf, ctx) { if (rf & 1) {
21430
21154
  const _r4 = i0.ɵɵgetCurrentView();
21431
21155
  i0.ɵɵelementStart(0, "th", 6);
@@ -27337,7 +27061,7 @@ class CaseResolver {
27337
27061
  else {
27338
27062
  console.info('getAndCacheCaseView - Path B.');
27339
27063
  return this.caseNotifier.fetchAndRefresh(cid)
27340
- .pipe(catchError(error => this.processErrorInCaseFetch(error)))
27064
+ .pipe(catchError(error => this.processErrorInCaseFetch(error, cid)))
27341
27065
  .toPromise();
27342
27066
  }
27343
27067
  }
@@ -27349,9 +27073,9 @@ class CaseResolver {
27349
27073
  this.caseNotifier.cachedCaseView = plainToClassFromExist(new CaseView(), caseView);
27350
27074
  this.caseNotifier.announceCase(this.caseNotifier.cachedCaseView);
27351
27075
  return this.caseNotifier.cachedCaseView;
27352
- }), catchError(error => this.processErrorInCaseFetch(error))).toPromise();
27076
+ }), catchError(error => this.processErrorInCaseFetch(error, cid))).toPromise();
27353
27077
  }
27354
- processErrorInCaseFetch(error) {
27078
+ processErrorInCaseFetch(error, caseReference) {
27355
27079
  console.error('!!! processErrorInCaseFetch !!!');
27356
27080
  console.error(error);
27357
27081
  // TODO Should be logged to remote logging infrastructure
@@ -27359,12 +27083,16 @@ class CaseResolver {
27359
27083
  this.router.navigate(['/search/noresults']);
27360
27084
  return of(null);
27361
27085
  }
27362
- console.error(error);
27363
27086
  if (CaseResolver.EVENT_REGEX.test(this.previousUrl) && error.status === 404) {
27364
27087
  this.router.navigate(['/list/case']);
27365
27088
  return of(null);
27366
27089
  }
27367
- if (error.status !== 401 && error.status !== 403) {
27090
+ // Error 403, navigate to restricted case access page
27091
+ if (error.status === 403) {
27092
+ this.router.navigate([`/cases/restricted-case-access/${caseReference}`]);
27093
+ return of(null);
27094
+ }
27095
+ if (error.status !== 401) {
27368
27096
  this.router.navigate(['/error']);
27369
27097
  }
27370
27098
  this.goToDefaultPage();
@@ -32763,12 +32491,12 @@ class SearchResultComponent {
32763
32491
  sort(column) {
32764
32492
  if (this.consumerSortingEnabled) {
32765
32493
  if (column.case_field_id !== this.consumerSortParameters.column) {
32766
- this.consumerSortParameters.order = SortOrder.DESCENDING;
32494
+ this.consumerSortParameters.order = SortOrder$1.DESCENDING;
32767
32495
  }
32768
32496
  else {
32769
- this.consumerSortParameters.order = this.consumerSortParameters.order === SortOrder.DESCENDING ?
32770
- SortOrder.ASCENDING :
32771
- SortOrder.DESCENDING;
32497
+ this.consumerSortParameters.order = this.consumerSortParameters.order === SortOrder$1.DESCENDING ?
32498
+ SortOrder$1.ASCENDING :
32499
+ SortOrder$1.DESCENDING;
32772
32500
  }
32773
32501
  this.consumerSortParameters.column = column.case_field_id;
32774
32502
  this.consumerSortParameters.type = column.case_field_type.type;
@@ -32779,10 +32507,10 @@ class SearchResultComponent {
32779
32507
  return;
32780
32508
  }
32781
32509
  else if (this.isSortAscending(column)) {
32782
- this.sortParameters = new SortParameters(this.comparator(column), SortOrder.ASCENDING);
32510
+ this.sortParameters = new SortParameters(this.comparator(column), SortOrder$1.ASCENDING);
32783
32511
  }
32784
32512
  else {
32785
- this.sortParameters = new SortParameters(this.comparator(column), SortOrder.DESCENDING);
32513
+ this.sortParameters = new SortParameters(this.comparator(column), SortOrder$1.DESCENDING);
32786
32514
  }
32787
32515
  }
32788
32516
  }
@@ -32790,7 +32518,7 @@ class SearchResultComponent {
32790
32518
  let condition = false;
32791
32519
  if (this.consumerSortingEnabled) {
32792
32520
  const isColumn = column.case_field_id === this.consumerSortParameters.column;
32793
- const isAscending = this.consumerSortParameters.order === SortOrder.ASCENDING;
32521
+ const isAscending = this.consumerSortParameters.order === SortOrder$1.ASCENDING;
32794
32522
  condition = !isColumn || (isColumn && isAscending);
32795
32523
  }
32796
32524
  else {
@@ -32824,13 +32552,13 @@ class SearchResultComponent {
32824
32552
  }
32825
32553
  isSortAscending(column) {
32826
32554
  const currentSortOrder = this.currentSortOrder(column);
32827
- return currentSortOrder === SortOrder.UNSORTED || currentSortOrder === SortOrder.DESCENDING;
32555
+ return currentSortOrder === SortOrder$1.UNSORTED || currentSortOrder === SortOrder$1.DESCENDING;
32828
32556
  }
32829
32557
  currentSortOrder(column) {
32830
32558
  let isAscending = true;
32831
32559
  let isDescending = true;
32832
32560
  if (this.comparator(column) === undefined) {
32833
- return SortOrder.UNSORTED;
32561
+ return SortOrder$1.UNSORTED;
32834
32562
  }
32835
32563
  for (let i = 0; i < this.resultView.results.length - 1; i++) {
32836
32564
  const comparison = this.comparator(column).compare(this.resultView.results[i], this.resultView.results[i + 1]);
@@ -32840,7 +32568,7 @@ class SearchResultComponent {
32840
32568
  break;
32841
32569
  }
32842
32570
  }
32843
- return isAscending ? SortOrder.ASCENDING : isDescending ? SortOrder.DESCENDING : SortOrder.UNSORTED;
32571
+ return isAscending ? SortOrder$1.ASCENDING : isDescending ? SortOrder$1.DESCENDING : SortOrder$1.UNSORTED;
32844
32572
  }
32845
32573
  getFirstResult() {
32846
32574
  const currentPage = (this.selected.page ? this.selected.page : 1);
@@ -33236,5 +32964,5 @@ class TestRouteSnapshotBuilder {
33236
32964
  * Generated bundle index. Do not edit.
33237
32965
  */
33238
32966
 
33239
- export { AbstractAppConfig, AbstractFieldReadComponent, AbstractFieldWriteComponent, Activity, ActivityBannerComponent, ActivityComponent, ActivityIconComponent, ActivityInfo, ActivityModule, ActivityPollingService, ActivityService, AddCommentsComponent, AddCommentsErrorMessage, AddCommentsStep, AddressModel, AddressOption, AddressesService, Alert, AlertComponent, AlertIconClassPipe, AlertMessageType, AlertModule, AlertService, AuthService, Banner, BannersService, BeforeYouStartComponent, BodyComponent, BrowserService, CCDCaseLinkType, CallbackErrorsComponent, CallbackErrorsContext, CaseAccessUtils, CaseBasicAccessViewComponent, CaseChallengedAccessRequestComponent, CaseChallengedAccessSuccessComponent, CaseCreateComponent, CaseDetails, CaseEditComponent, CaseEditConfirmComponent, CaseEditDataModule, CaseEditDataService, CaseEditFormComponent, CaseEditPageComponent, CaseEditSubmitComponent, CaseEditWizardGuard, CaseEditorConfig, CaseEditorModule, CaseEvent, CaseEventData, CaseEventTrigger, CaseEventTriggerComponent, CaseField, CaseFieldService, CaseFileViewFieldComponent, CaseFileViewFolderComponent, CaseFileViewFolderDocumentActionsComponent, CaseFileViewFolderSelectorComponent, CaseFileViewFolderSortComponent, CaseFileViewOverlayMenuComponent, CaseFileViewService, CaseFlagFieldState, CaseFlagRefdataService, CaseFlagStatus, CaseFlagSummaryListComponent, CaseFlagSummaryListDisplayMode, CaseFlagTableComponent, CaseFlagText, CaseFlagWizardStepTitle, CaseFullAccessViewComponent, CaseHeaderComponent, CaseHeaderModule, CaseHistoryViewerFieldComponent, CaseLink, CaseLinkResponse, CaseListComponent, CaseListFiltersComponent, CaseListFiltersModule, CaseListModule, CaseNotifier, CasePaymentHistoryViewerFieldComponent, CasePrintDocument, CasePrinterComponent, CaseProgressComponent, CaseReferencePipe, CaseResolver, CaseSpecificAccessRequestComponent, CaseSpecificAccessSuccessComponent, CaseState, CaseTab, CaseTimelineComponent, CaseTimelineDisplayMode, CaseTimelineModule, CaseType, CaseTypeLite, CaseView, CaseViewComponent, CaseViewEvent, CaseViewTrigger, CaseViewerComponent, CaseViewerModule, CasesService, CaseworkerService, CcdCYAPageLabelFilterPipe, CcdCaseTitlePipe, CcdCollectionTableCaseFieldsFilterPipe, CcdPageFieldsPipe, CcdTabFieldsPipe, CheckYourAnswersComponent, ConditionalShowFormDirective, ConditionalShowModule, ConditionalShowRegistrarService, Confirmation, ConvertHrefToRouterService, CreateCaseFiltersComponent, CreateCaseFiltersModule, CreateCaseFiltersSelection, DRAFT_PREFIX, DRAFT_QUERY_PARAM, DashPipe, DateInputComponent, DatePipe, DateTimeFormatUtils, DatetimePickerComponent, DefinitionsModule, DefinitionsService, DeleteOrCancelDialogComponent, DialogsModule, DisplayMode, Document, DocumentData, DocumentDialogComponent, DocumentLinks, DocumentManagementService, DocumentUrlPipe, Draft, DraftService, DynamicListPipe, DynamicRadioListPipe, ESQueryType, Embedded, ErrorMessageComponent, ErrorNotifierService, EventCaseField, EventCompletionReturnStates, EventCompletionStateMachineService, EventCompletionStates, EventLogComponent, EventLogDetailsComponent, EventLogTableComponent, EventMessageModule, EventStartComponent, EventStartModule, EventStartStateMachineService, EventStatusService, EventTriggerResolver, EventTriggerService, Fee, FeeValue, Field, FieldLabelPipe, FieldReadComponent, FieldReadLabelComponent, FieldType, FieldTypeSanitiser, FieldWriteComponent, FieldsFilterPipe, FieldsPurger, FieldsUtils, FirstErrorPipe, FixedListItem, FixedListPipe, FixedRadioListPipe, FocusElementDirective, FocusElementModule, FooterComponent, FormDocument, FormErrorService, FormValidatorsService, FormValueService, FormatTranslatorService, GreyBarService, HRef, HeaderBarComponent, HeadersModule, HttpError, HttpErrorService, HttpService, IsCompoundPipe, IsMandatoryPipe, IsReadOnlyAndNotCollectionPipe, IsReadOnlyPipe, JudicialworkerService, Jurisdiction, JurisdictionService, LabelFieldComponent, LabelSubstitutorDirective, LabelSubstitutorModule, LinkCaseReason, LinkCasesComponent, LinkCasesFromReasonValuePipe, LinkCasesReasonValuePipe, LinkDetails, LinkFromReason, LinkReason, LinkedCasesErrorMessages, LinkedCasesEventTriggers, LinkedCasesFromTableComponent, LinkedCasesPages, LinkedCasesResponse, LinkedCasesToTableComponent, LoadingModule, LoadingService, LoadingSpinnerComponent, LoadingSpinnerModule, MEDIA_VIEWER_LOCALSTORAGE_KEY, MULTIPLE_TASKS_FOUND, ManageCaseFlagsComponent, MarkdownComponent, MoneyGbpInputComponent, MultipleTasksExistComponent, NavigationComponent, NavigationItemComponent, NavigationNotifierService, NavigationOrigin, NoLinkedCasesComponent, NoTasksAvailableComponent, NotificationBannerComponent, NotificationBannerHeaderClass, NotificationBannerType, OrderService, OrderSummary, OrganisationConverter, OrganisationService, PageValidationService, PaginationComponent, PaginationMetadata, PaginationModule, PaletteContext, PaletteModule, PaletteService, PaletteUtilsModule, Patterns, PaymentField, PhaseComponent, PipesModule, PlaceholderService, PrintUrlPipe, Profile, ProfileNotifier, ProfileService, ReadCaseFlagFieldComponent, ReadCaseLinkFieldComponent, ReadCollectionFieldComponent, ReadComplexFieldCollectionTableComponent, ReadComplexFieldComponent, ReadComplexFieldRawComponent, ReadComplexFieldTableComponent, ReadDateFieldComponent, ReadDocumentFieldComponent, ReadDynamicListFieldComponent, ReadDynamicMultiSelectListFieldComponent, ReadDynamicRadioListFieldComponent, ReadEmailFieldComponent, ReadFieldsFilterPipe, ReadFixedListFieldComponent, ReadFixedRadioListFieldComponent, ReadJudicialUserFieldComponent, ReadLinkedCasesFieldComponent, ReadMoneyGbpFieldComponent, ReadMultiSelectListFieldComponent, ReadNumberFieldComponent, ReadOrderSummaryFieldComponent, ReadOrderSummaryRowComponent, ReadOrganisationFieldComponent, ReadOrganisationFieldRawComponent, ReadOrganisationFieldTableComponent, ReadPhoneUKFieldComponent, ReadTextAreaFieldComponent, ReadTextFieldComponent, ReadYesNoFieldComponent, RefdataCaseFlagType, RemoveDialogComponent, RequestOptionsBuilder, RetryUtil, RouterHelperService, SaveOrDiscardDialogComponent, SearchFiltersComponent, SearchFiltersModule, SearchFiltersWrapperComponent, SearchInput, SearchLanguageInterpreterComponent, SearchLanguageInterpreterErrorMessage, SearchLanguageInterpreterStep, SearchResultComponent, SearchResultModule, SearchResultView, SearchResultViewColumn, SearchResultViewItem, SearchResultViewItemComparatorFactory, SearchService, SelectFlagErrorMessage, SelectFlagLocationComponent, SelectFlagLocationErrorMessage, SelectFlagTypeComponent, SelectFlagTypeErrorMessage, SessionStorageService, ShowCondition, SortOrder, SortParameters, SortSearchResultPipe, TabComponent, TableColumnConfig, TableConfig, TabsComponent, TabsModule, TaskAssignedComponent, TaskCancelledComponent, TaskConflictComponent, TaskUnassignedComponent, Terms, TestRouteSnapshotBuilder, UnLinkCasesComponent, UnsupportedFieldComponent, UpdateFlagComponent, UpdateFlagErrorMessage, UpdateFlagStep, WaysToPayFieldComponent, WindowService, Wizard, WizardFactoryService, WizardPage, WizardPageField, WorkAllocationService, WorkbasketFiltersComponent, WorkbasketFiltersModule, WorkbasketInput, WorkbasketInputFilterService, WorkbasketInputModel, WriteAddressFieldComponent, WriteCaseFlagFieldComponent, WriteCaseLinkFieldComponent, WriteCollectionFieldComponent, WriteComplexFieldComponent, WriteDateContainerFieldComponent, WriteDateFieldComponent, WriteDocumentFieldComponent, WriteDynamicListFieldComponent, WriteDynamicMultiSelectListFieldComponent, WriteDynamicRadioListFieldComponent, WriteEmailFieldComponent, WriteFixedListFieldComponent, WriteFixedRadioListFieldComponent, WriteJudicialUserFieldComponent, WriteLinkedCasesFieldComponent, WriteMoneyGbpFieldComponent, WriteMultiSelectListFieldComponent, WriteNumberFieldComponent, WriteOrderSummaryFieldComponent, WriteOrganisationComplexFieldComponent, WriteOrganisationFieldComponent, WritePhoneUKFieldComponent, WriteTextAreaFieldComponent, WriteTextFieldComponent, WriteYesNoFieldComponent, YesNoService, aCaseField, createACL, createCaseEventTrigger, createCaseField, createComplexFieldOverride, createFieldType, createFixedListFieldType, createHiddenComplexFieldOverride, createMultiSelectListFieldType, createWizardPage, createWizardPageField, editorRouting, initDialog, newCaseField, textFieldType, viewerRouting };
32967
+ export { AbstractAppConfig, AbstractFieldReadComponent, AbstractFieldWriteComponent, Activity, ActivityBannerComponent, ActivityComponent, ActivityIconComponent, ActivityInfo, ActivityModule, ActivityPollingService, ActivityService, AddCommentsComponent, AddCommentsErrorMessage, AddCommentsStep, AddressModel, AddressOption, AddressesService, Alert, AlertComponent, AlertIconClassPipe, AlertMessageType, AlertModule, AlertService, AuthService, Banner, BannersService, BeforeYouStartComponent, BodyComponent, BrowserService, CCDCaseLinkType, CallbackErrorsComponent, CallbackErrorsContext, CaseAccessUtils, CaseBasicAccessViewComponent, CaseChallengedAccessRequestComponent, CaseChallengedAccessSuccessComponent, CaseCreateComponent, CaseDetails, CaseEditComponent, CaseEditConfirmComponent, CaseEditDataModule, CaseEditDataService, CaseEditFormComponent, CaseEditPageComponent, CaseEditSubmitComponent, CaseEditWizardGuard, CaseEditorConfig, CaseEditorModule, CaseEvent, CaseEventData, CaseEventTrigger, CaseEventTriggerComponent, CaseField, CaseFieldService, CaseFileViewFieldComponent, CaseFileViewFolderComponent, CaseFileViewFolderDocumentActionsComponent, CaseFileViewFolderSelectorComponent, CaseFileViewFolderSortComponent, CaseFileViewOverlayMenuComponent, CaseFileViewService, CaseFlagFieldState, CaseFlagRefdataService, CaseFlagStatus, CaseFlagSummaryListComponent, CaseFlagSummaryListDisplayMode, CaseFlagTableComponent, CaseFlagText, CaseFlagWizardStepTitle, CaseFullAccessViewComponent, CaseHeaderComponent, CaseHeaderModule, CaseHistoryViewerFieldComponent, CaseLink, CaseLinkResponse, CaseListComponent, CaseListFiltersComponent, CaseListFiltersModule, CaseListModule, CaseNotifier, CasePaymentHistoryViewerFieldComponent, CasePrintDocument, CasePrinterComponent, CaseProgressComponent, CaseReferencePipe, CaseResolver, CaseSpecificAccessRequestComponent, CaseSpecificAccessSuccessComponent, CaseState, CaseTab, CaseTimelineComponent, CaseTimelineDisplayMode, CaseTimelineModule, CaseType, CaseTypeLite, CaseView, CaseViewComponent, CaseViewEvent, CaseViewTrigger, CaseViewerComponent, CaseViewerModule, CasesService, CaseworkerService, CcdCYAPageLabelFilterPipe, CcdCaseTitlePipe, CcdCollectionTableCaseFieldsFilterPipe, CcdPageFieldsPipe, CcdTabFieldsPipe, CheckYourAnswersComponent, ConditionalShowFormDirective, ConditionalShowModule, ConditionalShowRegistrarService, Confirmation, ConvertHrefToRouterService, CreateCaseFiltersComponent, CreateCaseFiltersModule, CreateCaseFiltersSelection, DRAFT_PREFIX, DRAFT_QUERY_PARAM, DashPipe, DateInputComponent, DatePipe, DateTimeFormatUtils, DatetimePickerComponent, DefinitionsModule, DefinitionsService, DeleteOrCancelDialogComponent, DialogsModule, DisplayMode, Document, DocumentData, DocumentDialogComponent, DocumentLinks, DocumentManagementService, DocumentUrlPipe, Draft, DraftService, DynamicListPipe, DynamicRadioListPipe, ESQueryType, Embedded, ErrorMessageComponent, ErrorNotifierService, EventCaseField, EventCompletionReturnStates, EventCompletionStateMachineService, EventCompletionStates, EventLogComponent, EventLogDetailsComponent, EventLogTableComponent, EventMessageModule, EventStartComponent, EventStartModule, EventStartStateMachineService, EventStatusService, EventTriggerResolver, EventTriggerService, Fee, FeeValue, Field, FieldLabelPipe, FieldReadComponent, FieldReadLabelComponent, FieldType, FieldTypeSanitiser, FieldWriteComponent, FieldsFilterPipe, FieldsPurger, FieldsUtils, FirstErrorPipe, FixedListItem, FixedListPipe, FixedRadioListPipe, FocusElementDirective, FocusElementModule, FooterComponent, FormDocument, FormErrorService, FormValidatorsService, FormValueService, FormatTranslatorService, GreyBarService, HRef, HeaderBarComponent, HeadersModule, HttpError, HttpErrorService, HttpService, IsCompoundPipe, IsMandatoryPipe, IsReadOnlyAndNotCollectionPipe, IsReadOnlyPipe, JudicialworkerService, Jurisdiction, JurisdictionService, LabelFieldComponent, LabelSubstitutorDirective, LabelSubstitutorModule, LinkCaseReason, LinkCasesComponent, LinkCasesFromReasonValuePipe, LinkCasesReasonValuePipe, LinkDetails, LinkFromReason, LinkReason, LinkedCasesErrorMessages, LinkedCasesEventTriggers, LinkedCasesFromTableComponent, LinkedCasesPages, LinkedCasesResponse, LinkedCasesToTableComponent, LoadingModule, LoadingService, LoadingSpinnerComponent, LoadingSpinnerModule, MEDIA_VIEWER_LOCALSTORAGE_KEY, MULTIPLE_TASKS_FOUND, ManageCaseFlagsComponent, MarkdownComponent, MoneyGbpInputComponent, MultipleTasksExistComponent, NavigationComponent, NavigationItemComponent, NavigationNotifierService, NavigationOrigin, NoLinkedCasesComponent, NoTasksAvailableComponent, NotificationBannerComponent, NotificationBannerHeaderClass, NotificationBannerType, OrderService, OrderSummary, OrganisationConverter, OrganisationService, PageValidationService, PaginationComponent, PaginationMetadata, PaginationModule, PaletteContext, PaletteModule, PaletteService, PaletteUtilsModule, Patterns, PaymentField, PhaseComponent, PipesModule, PlaceholderService, PrintUrlPipe, Profile, ProfileNotifier, ProfileService, ReadCaseFlagFieldComponent, ReadCaseLinkFieldComponent, ReadCollectionFieldComponent, ReadComplexFieldCollectionTableComponent, ReadComplexFieldComponent, ReadComplexFieldRawComponent, ReadComplexFieldTableComponent, ReadDateFieldComponent, ReadDocumentFieldComponent, ReadDynamicListFieldComponent, ReadDynamicMultiSelectListFieldComponent, ReadDynamicRadioListFieldComponent, ReadEmailFieldComponent, ReadFieldsFilterPipe, ReadFixedListFieldComponent, ReadFixedRadioListFieldComponent, ReadJudicialUserFieldComponent, ReadLinkedCasesFieldComponent, ReadMoneyGbpFieldComponent, ReadMultiSelectListFieldComponent, ReadNumberFieldComponent, ReadOrderSummaryFieldComponent, ReadOrderSummaryRowComponent, ReadOrganisationFieldComponent, ReadOrganisationFieldRawComponent, ReadOrganisationFieldTableComponent, ReadPhoneUKFieldComponent, ReadTextAreaFieldComponent, ReadTextFieldComponent, ReadYesNoFieldComponent, RefdataCaseFlagType, RemoveDialogComponent, RequestOptionsBuilder, RetryUtil, RouterHelperService, SaveOrDiscardDialogComponent, SearchFiltersComponent, SearchFiltersModule, SearchFiltersWrapperComponent, SearchInput, SearchLanguageInterpreterComponent, SearchLanguageInterpreterErrorMessage, SearchLanguageInterpreterStep, SearchResultComponent, SearchResultModule, SearchResultView, SearchResultViewColumn, SearchResultViewItem, SearchResultViewItemComparatorFactory, SearchService, SelectFlagErrorMessage, SelectFlagLocationComponent, SelectFlagLocationErrorMessage, SelectFlagTypeComponent, SelectFlagTypeErrorMessage, SessionStorageService, ShowCondition, SortOrder$1 as SortOrder, SortParameters, SortSearchResultPipe, TabComponent, TableColumnConfig, TableConfig, TabsComponent, TabsModule, TaskAssignedComponent, TaskCancelledComponent, TaskConflictComponent, TaskUnassignedComponent, Terms, TestRouteSnapshotBuilder, UnLinkCasesComponent, UnsupportedFieldComponent, UpdateFlagComponent, UpdateFlagErrorMessage, UpdateFlagStep, WaysToPayFieldComponent, WindowService, Wizard, WizardFactoryService, WizardPage, WizardPageField, WorkAllocationService, WorkbasketFiltersComponent, WorkbasketFiltersModule, WorkbasketInput, WorkbasketInputFilterService, WorkbasketInputModel, WriteAddressFieldComponent, WriteCaseFlagFieldComponent, WriteCaseLinkFieldComponent, WriteCollectionFieldComponent, WriteComplexFieldComponent, WriteDateContainerFieldComponent, WriteDateFieldComponent, WriteDocumentFieldComponent, WriteDynamicListFieldComponent, WriteDynamicMultiSelectListFieldComponent, WriteDynamicRadioListFieldComponent, WriteEmailFieldComponent, WriteFixedListFieldComponent, WriteFixedRadioListFieldComponent, WriteJudicialUserFieldComponent, WriteLinkedCasesFieldComponent, WriteMoneyGbpFieldComponent, WriteMultiSelectListFieldComponent, WriteNumberFieldComponent, WriteOrderSummaryFieldComponent, WriteOrganisationComplexFieldComponent, WriteOrganisationFieldComponent, WritePhoneUKFieldComponent, WriteTextAreaFieldComponent, WriteTextFieldComponent, WriteYesNoFieldComponent, YesNoService, aCaseField, createACL, createCaseEventTrigger, createCaseField, createComplexFieldOverride, createFieldType, createFixedListFieldType, createHiddenComplexFieldOverride, createMultiSelectListFieldType, createWizardPage, createWizardPageField, editorRouting, initDialog, newCaseField, textFieldType, viewerRouting };
33240
32968
  //# sourceMappingURL=hmcts-ccd-case-ui-toolkit.js.map