@netgrif/components-core 6.0.4-rc.1 → 6.1.0-rc.1

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 (108) hide show
  1. package/bundles/netgrif-components-core.umd.js +380 -129
  2. package/bundles/netgrif-components-core.umd.js.map +1 -1
  3. package/bundles/netgrif-components-core.umd.min.js +2 -2
  4. package/bundles/netgrif-components-core.umd.min.js.map +1 -1
  5. package/esm2015/lib/allowed-nets/services/base-allowed-nets.service.js +2 -1
  6. package/esm2015/lib/allowed-nets/services/factory/allowed-nets-service-factory.js +8 -6
  7. package/esm2015/lib/data-fields/file-field/abstract-file-field.component.js +2 -2
  8. package/esm2015/lib/data-fields/models/abstract-data-field.js +2 -2
  9. package/esm2015/lib/data-fields/text-field/html-textarea-field/abstract-html-textarea-field.component.js +6 -3
  10. package/esm2015/lib/groups/services/next-group.service.js +3 -2
  11. package/esm2015/lib/panel/abstract/panel-with-header-binding.js +2 -5
  12. package/esm2015/lib/panel/panel-item/abstract-panel-item.component.js +13 -0
  13. package/esm2015/lib/panel/public-api.js +3 -1
  14. package/esm2015/lib/panel/task-panel-list/abstract-task-list.component.js +9 -60
  15. package/esm2015/lib/panel/task-panel-list/default-task-panel-list/abstract-default-task-list.js +80 -0
  16. package/esm2015/lib/panel/task-panel-list/task-panel-list-pagination/abstract-task-list-pagination.component.js +42 -0
  17. package/esm2015/lib/resources/abstract-endpoint/abstract-resource.service.js +3 -2
  18. package/esm2015/lib/side-menu/content-components/new-case/abstract-new-case.component.js +6 -1
  19. package/esm2015/lib/task/services/finish-task.service.js +18 -13
  20. package/esm2015/lib/task/services/task-data.service.js +2 -1
  21. package/esm2015/lib/user/services/user-list.service.js +4 -3
  22. package/esm2015/lib/utility/pagination/load-all-pages.js +4 -3
  23. package/esm2015/lib/utility/pagination/pagination-params.js +19 -0
  24. package/esm2015/lib/utility/pagination/pagination-sort.js +17 -0
  25. package/esm2015/lib/utility/public-api.js +3 -1
  26. package/esm2015/lib/utility/tests/mocks/mock-endpoint.js +4 -3
  27. package/esm2015/lib/utility/tests/utility/create-mock-net.js +3 -2
  28. package/esm2015/lib/view/abstract/sortable-view.js +4 -3
  29. package/esm2015/lib/view/case-view/abstract-case-view.js +11 -2
  30. package/esm2015/lib/view/case-view/components/case-list/abstract-case-list.component.js +5 -48
  31. package/esm2015/lib/view/case-view/components/case-list-paginator/abstract-case-list-paginator.component.js +38 -0
  32. package/esm2015/lib/view/case-view/components/default-case-list/abstract-default-case-list.js +66 -0
  33. package/esm2015/lib/view/case-view/service/case-view-service.js +20 -4
  34. package/esm2015/lib/view/public-api.js +4 -1
  35. package/esm2015/lib/view/task-view/service/task-view.service.js +20 -4
  36. package/esm2015/lib/view/tree-case-view/tree-component/case-tree.service.js +19 -5
  37. package/esm2015/lib/view/tree-case-view/tree-component/model/tree-case-view-configuration.js +2 -0
  38. package/esm2015/lib/view/tree-case-view/tree-component/model/tree-configuration-injection-token.js +3 -0
  39. package/esm2015/lib/view/workflow-view/workflow-view.service.js +4 -11
  40. package/esm2015/netgrif-components-core.js +9 -7
  41. package/esm5/lib/allowed-nets/services/base-allowed-nets.service.js +2 -1
  42. package/esm5/lib/allowed-nets/services/factory/allowed-nets-service-factory.js +8 -6
  43. package/esm5/lib/data-fields/file-field/abstract-file-field.component.js +2 -2
  44. package/esm5/lib/data-fields/models/abstract-data-field.js +2 -2
  45. package/esm5/lib/data-fields/text-field/html-textarea-field/abstract-html-textarea-field.component.js +6 -3
  46. package/esm5/lib/groups/services/next-group.service.js +3 -2
  47. package/esm5/lib/panel/abstract/panel-with-header-binding.js +5 -5
  48. package/esm5/lib/panel/panel-item/abstract-panel-item.component.js +15 -0
  49. package/esm5/lib/panel/public-api.js +3 -1
  50. package/esm5/lib/panel/task-panel-list/abstract-task-list.component.js +9 -61
  51. package/esm5/lib/panel/task-panel-list/default-task-panel-list/abstract-default-task-list.js +90 -0
  52. package/esm5/lib/panel/task-panel-list/task-panel-list-pagination/abstract-task-list-pagination.component.js +52 -0
  53. package/esm5/lib/resources/abstract-endpoint/abstract-resource.service.js +3 -2
  54. package/esm5/lib/side-menu/content-components/new-case/abstract-new-case.component.js +6 -1
  55. package/esm5/lib/task/services/finish-task.service.js +18 -13
  56. package/esm5/lib/task/services/task-data.service.js +2 -1
  57. package/esm5/lib/user/services/user-list.service.js +4 -3
  58. package/esm5/lib/utility/pagination/load-all-pages.js +4 -3
  59. package/esm5/lib/utility/pagination/pagination-params.js +19 -0
  60. package/esm5/lib/utility/pagination/pagination-sort.js +17 -0
  61. package/esm5/lib/utility/public-api.js +3 -1
  62. package/esm5/lib/utility/tests/mocks/mock-endpoint.js +4 -3
  63. package/esm5/lib/utility/tests/utility/create-mock-net.js +4 -2
  64. package/esm5/lib/view/abstract/sortable-view.js +4 -3
  65. package/esm5/lib/view/case-view/abstract-case-view.js +11 -2
  66. package/esm5/lib/view/case-view/components/case-list/abstract-case-list.component.js +5 -49
  67. package/esm5/lib/view/case-view/components/case-list-paginator/abstract-case-list-paginator.component.js +43 -0
  68. package/esm5/lib/view/case-view/components/default-case-list/abstract-default-case-list.js +72 -0
  69. package/esm5/lib/view/case-view/service/case-view-service.js +24 -4
  70. package/esm5/lib/view/public-api.js +4 -1
  71. package/esm5/lib/view/task-view/service/task-view.service.js +24 -4
  72. package/esm5/lib/view/tree-case-view/tree-component/case-tree.service.js +19 -5
  73. package/esm5/lib/view/tree-case-view/tree-component/model/tree-case-view-configuration.js +2 -0
  74. package/esm5/lib/view/tree-case-view/tree-component/model/tree-configuration-injection-token.js +3 -0
  75. package/esm5/lib/view/workflow-view/workflow-view.service.js +4 -11
  76. package/esm5/netgrif-components-core.js +9 -7
  77. package/fesm2015/netgrif-components-core.js +311 -100
  78. package/fesm2015/netgrif-components-core.js.map +1 -1
  79. package/fesm5/netgrif-components-core.js +362 -118
  80. package/fesm5/netgrif-components-core.js.map +1 -1
  81. package/lib/allowed-nets/services/base-allowed-nets.service.d.ts +1 -0
  82. package/lib/data-fields/text-field/html-textarea-field/abstract-html-textarea-field.component.d.ts +1 -0
  83. package/lib/panel/panel-item/abstract-panel-item.component.d.ts +8 -0
  84. package/lib/panel/public-api.d.ts +2 -0
  85. package/lib/panel/task-panel-list/abstract-task-list.component.d.ts +6 -34
  86. package/lib/panel/task-panel-list/default-task-panel-list/abstract-default-task-list.d.ts +43 -0
  87. package/lib/panel/task-panel-list/task-panel-list-pagination/abstract-task-list-pagination.component.d.ts +20 -0
  88. package/lib/side-menu/content-components/new-case/abstract-new-case.component.d.ts +1 -0
  89. package/lib/task/services/finish-task.service.d.ts +5 -0
  90. package/lib/utility/pagination/pagination-params.d.ts +17 -0
  91. package/lib/utility/pagination/pagination-sort.d.ts +13 -0
  92. package/lib/utility/public-api.d.ts +2 -0
  93. package/lib/utility/tests/utility/create-mock-net.d.ts +2 -1
  94. package/lib/view/case-view/abstract-case-view.d.ts +6 -2
  95. package/lib/view/case-view/components/case-list/abstract-case-list.component.d.ts +2 -21
  96. package/lib/view/case-view/components/case-list-paginator/abstract-case-list-paginator.component.d.ts +18 -0
  97. package/lib/view/case-view/components/default-case-list/abstract-default-case-list.d.ts +30 -0
  98. package/lib/view/case-view/service/case-view-service.d.ts +3 -1
  99. package/lib/view/public-api.d.ts +3 -0
  100. package/lib/view/task-view/service/task-view.service.d.ts +2 -0
  101. package/lib/view/tree-case-view/tree-component/case-tree.service.d.ts +4 -1
  102. package/lib/view/tree-case-view/tree-component/model/tree-case-view-configuration.d.ts +9 -0
  103. package/lib/view/tree-case-view/tree-component/model/tree-configuration-injection-token.d.ts +3 -0
  104. package/lib/view/workflow-view/workflow-view.service.d.ts +0 -1
  105. package/netgrif-components-core.d.ts +10 -8
  106. package/netgrif-components-core.metadata.json +1 -1
  107. package/package.json +2 -2
  108. package/schematics/collection.json +0 -3
@@ -2734,6 +2734,25 @@
2734
2734
  return ResourceProvider;
2735
2735
  }(AbstractResourceProvider));
2736
2736
 
2737
+ /**
2738
+ * Constants for pagination configuration of HTTP requests.
2739
+ */
2740
+
2741
+ (function (PaginationParams) {
2742
+ /**
2743
+ * Size of page - maximal number of elements per page.
2744
+ */
2745
+ PaginationParams["PAGE_SIZE"] = "size";
2746
+ /**
2747
+ * Requested page index. 0 based.
2748
+ */
2749
+ PaginationParams["PAGE_NUMBER"] = "page";
2750
+ /**
2751
+ * Sort configuration of the requested page. Use the {@link createSortParam} function to generate the value for this attribute.
2752
+ */
2753
+ PaginationParams["PAGE_SORT"] = "sort";
2754
+ })(exports.PaginationParams || (exports.PaginationParams = {}));
2755
+
2737
2756
  /**
2738
2757
  * The class that contains behavior common to all resource services.
2739
2758
  *
@@ -2796,7 +2815,7 @@
2796
2815
  };
2797
2816
  return {
2798
2817
  content: this.changeType(r, propertiesParams),
2799
- pagination: r.hasOwnProperty('page') ? r.page : defaultPage
2818
+ pagination: r.hasOwnProperty(exports.PaginationParams.PAGE_NUMBER) ? r.page : defaultPage
2800
2819
  };
2801
2820
  };
2802
2821
  /**
@@ -4244,7 +4263,7 @@
4244
4263
  * @param b - second compared value
4245
4264
  */
4246
4265
  DataField.prototype.valueEquality = function (a, b) {
4247
- return a === b;
4266
+ return a === b || (Number.isNaN(a) && Number.isNaN(b));
4248
4267
  };
4249
4268
  /**
4250
4269
  * Updates the state of this data field model object.
@@ -7027,7 +7046,7 @@
7027
7046
  return;
7028
7047
  }
7029
7048
  this.state.downloading = true;
7030
- this._taskResourceService.downloadFilePreview(this.taskId, this.dataField.stringId).subscribe(function (response) {
7049
+ this._taskResourceService.downloadFilePreview(this.resolveParentTaskId(), this.dataField.stringId).subscribe(function (response) {
7031
7050
  if (response instanceof Blob) {
7032
7051
  _this._log.debug("Preview of file [" + _this.dataField.stringId + "] " + _this.dataField.value.name + " was successfully downloaded");
7033
7052
  _this.fileForPreview = new Blob([response], { type: 'application/octet-stream' });
@@ -7704,11 +7723,14 @@
7704
7723
  }
7705
7724
  AbstractHtmlTextareaFieldComponent.prototype.ngOnInit = function () {
7706
7725
  var _this = this;
7707
- this.disabledDisplay = this._sanitizer.bypassSecurityTrustHtml(this.textAreaField.value);
7726
+ this.disabledDisplay = this.sanitizeValue();
7708
7727
  this.textAreaField.valueChanges().subscribe(function () {
7709
- _this.disabledDisplay = _this._sanitizer.bypassSecurityTrustHtml(_this.textAreaField.value);
7728
+ _this.disabledDisplay = _this.sanitizeValue();
7710
7729
  });
7711
7730
  };
7731
+ AbstractHtmlTextareaFieldComponent.prototype.sanitizeValue = function () {
7732
+ return this._sanitizer.bypassSecurityTrustHtml(this.textAreaField.value !== undefined ? this.textAreaField.value : '');
7733
+ };
7712
7734
  AbstractHtmlTextareaFieldComponent.prototype.getErrorMessage = function () {
7713
7735
  return this.buildErrorMessage(this.textAreaField, this.formControlRef);
7714
7736
  };
@@ -14690,9 +14712,9 @@
14690
14712
  * @param page Page number that is requested. / Next page users list.
14691
14713
  */
14692
14714
  UserListService.prototype.addPageParams = function (params, page) {
14693
- params = params.set('size', this._pagination.size + '');
14715
+ params = params.set(exports.PaginationParams.PAGE_SIZE, "" + this._pagination.size);
14694
14716
  page = page !== null ? page : this._pagination.number;
14695
- params = params.set('page', page + '');
14717
+ params = params.set(exports.PaginationParams.PAGE_NUMBER, "" + page);
14696
14718
  return params;
14697
14719
  };
14698
14720
  UserListService.ctorParameters = function () { return [
@@ -14963,14 +14985,13 @@
14963
14985
  }
14964
14986
  };
14965
14987
  PanelWithHeaderBinding.prototype.resolveFeaturedFieldsValues = function () {
14988
+ var _a;
14989
+ var _this = this;
14966
14990
  if (!this._lastSelectedHeaders) {
14967
14991
  return;
14968
14992
  }
14969
14993
  this.featuredFieldsValues.splice(0, this.featuredFieldsValues.length);
14970
- this.firstFeaturedValue = this.getFeaturedValue(this._lastSelectedHeaders[0]).value;
14971
- for (var i = 1; i < this._lastSelectedHeaders.length; i++) {
14972
- this.featuredFieldsValues.push(this.getFeaturedValue(this._lastSelectedHeaders[i]));
14973
- }
14994
+ (_a = this.featuredFieldsValues).push.apply(_a, __spread(this._lastSelectedHeaders.map(function (item) { return _this.getFeaturedValue(item); })));
14974
14995
  };
14975
14996
  PanelWithHeaderBinding.prototype.getFeaturedValue = function (selectedHeader) {
14976
14997
  if (!selectedHeader) {
@@ -15610,10 +15631,10 @@
15610
15631
  };
15611
15632
  SortableView.prototype.addSortParams = function (params) {
15612
15633
  if (this._lastHeaderSearchState.sortDirection !== '') {
15613
- return params.set('sort', this.getSortId() + "," + this._lastHeaderSearchState.sortDirection);
15634
+ return params.set(exports.PaginationParams.PAGE_SORT, this.getSortId() + "," + this._lastHeaderSearchState.sortDirection);
15614
15635
  }
15615
15636
  else {
15616
- return params.set('sort', this.getDefaultSortParam());
15637
+ return params.set(exports.PaginationParams.PAGE_SORT, this.getDefaultSortParam());
15617
15638
  }
15618
15639
  };
15619
15640
  SortableView.prototype.getSortId = function () {
@@ -15656,6 +15677,23 @@
15656
15677
  }
15657
15678
  }
15658
15679
 
15680
+ /**
15681
+ * Constants for use with the
15682
+ */
15683
+
15684
+ (function (PaginationSort) {
15685
+ PaginationSort["ASCENDING"] = "asc";
15686
+ PaginationSort["DESCENDING"] = "desc";
15687
+ })(exports.PaginationSort || (exports.PaginationSort = {}));
15688
+ /**
15689
+ * Creates the configuration string for use with the [PAGE_SORT]{@link PaginationParams#PAGE_SORT} configuration attribute
15690
+ * @param attribute the name of the attribute that should be used for sorting the results
15691
+ * @param direction the sorting direction
15692
+ */
15693
+ function createSortParam(attribute, direction) {
15694
+ return attribute + "," + direction;
15695
+ }
15696
+
15659
15697
  var TaskViewService = /** @class */ (function (_super) {
15660
15698
  __extends(TaskViewService, _super);
15661
15699
  function TaskViewService(_taskService, _userService, _snackBarService, _translate, _searchService, _log, _userComparator, resolver, _preferredEndpoint, taskViewConfig) {
@@ -15798,6 +15836,13 @@
15798
15836
  enumerable: false,
15799
15837
  configurable: true
15800
15838
  });
15839
+ Object.defineProperty(TaskViewService.prototype, "pagination", {
15840
+ get: function () {
15841
+ return this._pagination;
15842
+ },
15843
+ enumerable: false,
15844
+ configurable: true
15845
+ });
15801
15846
  Object.defineProperty(TaskViewService.prototype, "activeFilter", {
15802
15847
  get: function () {
15803
15848
  return this._searchService.activeFilter;
@@ -15897,6 +15942,17 @@
15897
15942
  this._requestedPage$.next(requestContext);
15898
15943
  }
15899
15944
  };
15945
+ TaskViewService.prototype.nextPagePagination = function (length, pageIndex, requestContext) {
15946
+ if (requestContext === undefined) {
15947
+ requestContext = new PageLoadRequestContext(this.activeFilter, this._pagination);
15948
+ requestContext.pagination.size = length;
15949
+ requestContext.pagination.number = pageIndex;
15950
+ }
15951
+ if (this.isLoadingRelevantFilter(requestContext) || this._endOfData) {
15952
+ return;
15953
+ }
15954
+ this._requestedPage$.next(requestContext);
15955
+ };
15900
15956
  TaskViewService.prototype.isLoadingRelevantFilter = function (requestContext) {
15901
15957
  return requestContext === undefined || (this._loading$.isActiveWithFilter(requestContext.filter) && !requestContext.force);
15902
15958
  };
@@ -15931,11 +15987,11 @@
15931
15987
  return this._lastHeaderSearchState.fieldIdentifier;
15932
15988
  };
15933
15989
  TaskViewService.prototype.getDefaultSortParam = function () {
15934
- return 'priority,desc';
15990
+ return createSortParam('priority', exports.PaginationSort.DESCENDING);
15935
15991
  };
15936
15992
  TaskViewService.prototype.addPageParams = function (params, pagination) {
15937
- params = params.set('size', pagination.size + '');
15938
- params = params.set('page', pagination.number + '');
15993
+ params = params.set(exports.PaginationParams.PAGE_SIZE, "" + pagination.size);
15994
+ params = params.set(exports.PaginationParams.PAGE_NUMBER, "" + pagination.number);
15939
15995
  return params;
15940
15996
  };
15941
15997
  TaskViewService.ctorParameters = function () { return [
@@ -16006,9 +16062,9 @@
16006
16062
  return TabbedVirtualScrollComponent;
16007
16063
  }());
16008
16064
 
16009
- var AbstractTaskListComponent = /** @class */ (function (_super) {
16010
- __extends(AbstractTaskListComponent, _super);
16011
- function AbstractTaskListComponent(_taskViewService, _log, injectedTabData, route) {
16065
+ var AbstractDefaultTaskList = /** @class */ (function (_super) {
16066
+ __extends(AbstractDefaultTaskList, _super);
16067
+ function AbstractDefaultTaskList(_taskViewService, _log, injectedTabData, route) {
16012
16068
  var _this = _super.call(this, injectedTabData) || this;
16013
16069
  _this._taskViewService = _taskViewService;
16014
16070
  _this._log = _log;
@@ -16018,11 +16074,11 @@
16018
16074
  _this.forceLoadDataOnOpen = false;
16019
16075
  _this.textEllipsis = false;
16020
16076
  _this.taskEvent = new core.EventEmitter();
16021
- _this.taskPanelRefs = new Map();
16022
- _this.unsubscribe$ = new rxjs.Subject();
16077
+ _this._taskPanelRefs = new Map();
16078
+ _this._unsubscribe$ = new rxjs.Subject();
16023
16079
  return _this;
16024
16080
  }
16025
- Object.defineProperty(AbstractTaskListComponent.prototype, "allowMultiOpen", {
16081
+ Object.defineProperty(AbstractDefaultTaskList.prototype, "allowMultiOpen", {
16026
16082
  get: function () {
16027
16083
  return this._allowMultiOpen;
16028
16084
  },
@@ -16033,66 +16089,139 @@
16033
16089
  enumerable: false,
16034
16090
  configurable: true
16035
16091
  });
16036
- AbstractTaskListComponent.prototype.ngAfterViewInit = function () {
16037
- this.onRedirect();
16038
- };
16039
- AbstractTaskListComponent.prototype.ngOnDestroy = function () {
16092
+ AbstractDefaultTaskList.prototype.ngOnDestroy = function () {
16040
16093
  _super.prototype.ngOnDestroy.call(this);
16041
16094
  this.taskEvent.complete();
16042
- this.unsubscribe$.complete();
16095
+ this._unsubscribe$.complete();
16043
16096
  };
16044
- AbstractTaskListComponent.prototype.trackBy = function (idx, item) {
16045
- return item.task.stringId; // + (item.task.user ? item.task.user.email : '');
16097
+ AbstractDefaultTaskList.prototype.ngAfterViewInit = function () {
16098
+ this.onRedirect();
16046
16099
  };
16047
- AbstractTaskListComponent.prototype.loadNextPage = function () {
16048
- if (!this.viewport) {
16049
- return;
16050
- }
16051
- this._taskViewService.nextPage(this.viewport.getRenderedRange(), this.viewport.getDataLength());
16100
+ AbstractDefaultTaskList.prototype.trackBy = function (_idx, item) {
16101
+ return item.task.stringId; // + (item.task.user ? item.task.user.email : '');
16052
16102
  };
16053
16103
  /**
16054
16104
  * Emits an event into this component's @Output attribute
16055
16105
  * @param event the event that will be emitted
16056
16106
  */
16057
- AbstractTaskListComponent.prototype.emitTaskEvent = function (event) {
16107
+ AbstractDefaultTaskList.prototype.emitTaskEvent = function (event) {
16058
16108
  this.taskEvent.emit(event);
16059
16109
  };
16060
- AbstractTaskListComponent.prototype.addToPanelRefs = function (task, panelRef) {
16061
- this.taskPanelRefs.set(task.task.stringId, panelRef);
16110
+ AbstractDefaultTaskList.prototype.addToPanelRefs = function (task, panelRef) {
16111
+ this._taskPanelRefs.set(task.task.stringId, panelRef);
16062
16112
  };
16063
- AbstractTaskListComponent.prototype.onRedirect = function () {
16113
+ AbstractDefaultTaskList.prototype.onRedirect = function () {
16064
16114
  var _this = this;
16065
16115
  this.route.queryParams.pipe(operators.filter(function (pm) { return !!pm['taskId']; })).subscribe(function (pm) {
16066
- _this.redirectTaskId = pm['taskId'];
16067
- _this.tasks$.pipe().subscribe(function (tasks) {
16068
- var task = tasks.find(function (t) { return t.task.stringId === _this.redirectTaskId; });
16116
+ _this._redirectTaskId = pm['taskId'];
16117
+ _this._tasks$.pipe().subscribe(function (tasks) {
16118
+ var task = tasks.find(function (t) { return t.task.stringId === _this._redirectTaskId; });
16069
16119
  if (!!task && !task.initiallyExpanded) {
16070
- _this.taskPanelRefs.get(_this.redirectTaskId).open();
16071
- _this.taskPanelRefs.get(_this.redirectTaskId).expanded = true;
16072
- _this.unsubscribe$.next();
16120
+ _this._taskPanelRefs.get(_this._redirectTaskId).open();
16121
+ _this._taskPanelRefs.get(_this._redirectTaskId).expanded = true;
16122
+ _this._unsubscribe$.next();
16073
16123
  }
16074
16124
  });
16075
16125
  });
16076
16126
  };
16077
- AbstractTaskListComponent.ctorParameters = function () { return [
16127
+ AbstractDefaultTaskList.ctorParameters = function () { return [
16078
16128
  { type: TaskViewService },
16079
16129
  { type: LoggerService },
16080
16130
  { type: undefined, decorators: [{ type: core.Optional }, { type: core.Inject, args: [NAE_TAB_DATA,] }] },
16081
16131
  { type: router.ActivatedRoute }
16082
16132
  ]; };
16083
- AbstractTaskListComponent.propDecorators = {
16084
- tasks$: [{ type: core.Input }],
16133
+ AbstractDefaultTaskList.propDecorators = {
16085
16134
  loading$: [{ type: core.Input }],
16086
16135
  selectedHeaders$: [{ type: core.Input }],
16087
16136
  responsiveBody: [{ type: core.Input }],
16088
16137
  forceLoadDataOnOpen: [{ type: core.Input }],
16089
16138
  textEllipsis: [{ type: core.Input }],
16090
16139
  allowMultiOpen: [{ type: core.Input }],
16091
- taskEvent: [{ type: core.Output }],
16140
+ taskEvent: [{ type: core.Output }]
16141
+ };
16142
+ return AbstractDefaultTaskList;
16143
+ }(TabbedVirtualScrollComponent));
16144
+
16145
+ var AbstractTaskListComponent = /** @class */ (function (_super) {
16146
+ __extends(AbstractTaskListComponent, _super);
16147
+ function AbstractTaskListComponent(_taskViewService, _log, injectedTabData, route) {
16148
+ var _this = _super.call(this, _taskViewService, _log, injectedTabData, route) || this;
16149
+ _this._taskViewService = _taskViewService;
16150
+ _this._log = _log;
16151
+ _this.route = route;
16152
+ return _this;
16153
+ }
16154
+ Object.defineProperty(AbstractTaskListComponent.prototype, "tasks$", {
16155
+ get: function () {
16156
+ return this._tasks$;
16157
+ },
16158
+ set: function (tasks) {
16159
+ this._tasks$ = tasks;
16160
+ },
16161
+ enumerable: false,
16162
+ configurable: true
16163
+ });
16164
+ AbstractTaskListComponent.prototype.loadNextPage = function () {
16165
+ if (!this.viewport) {
16166
+ return;
16167
+ }
16168
+ this._taskViewService.nextPage(this.viewport.getRenderedRange(), this.viewport.getDataLength());
16169
+ };
16170
+ AbstractTaskListComponent.ctorParameters = function () { return [
16171
+ { type: TaskViewService },
16172
+ { type: LoggerService },
16173
+ { type: undefined, decorators: [{ type: core.Optional }, { type: core.Inject, args: [NAE_TAB_DATA,] }] },
16174
+ { type: router.ActivatedRoute }
16175
+ ]; };
16176
+ AbstractTaskListComponent.propDecorators = {
16177
+ tasks$: [{ type: core.Input }],
16092
16178
  viewport: [{ type: core.ViewChild, args: [scrolling.CdkVirtualScrollViewport,] }]
16093
16179
  };
16094
16180
  return AbstractTaskListComponent;
16095
- }(TabbedVirtualScrollComponent));
16181
+ }(AbstractDefaultTaskList));
16182
+
16183
+ var AbstractTaskListPaginationComponent = /** @class */ (function (_super) {
16184
+ __extends(AbstractTaskListPaginationComponent, _super);
16185
+ function AbstractTaskListPaginationComponent(_taskViewService, _log, injectedTabData, route) {
16186
+ var _this = _super.call(this, _taskViewService, _log, injectedTabData, route) || this;
16187
+ _this._taskViewService = _taskViewService;
16188
+ _this._log = _log;
16189
+ _this.route = route;
16190
+ _this.pageSize = 20;
16191
+ _this.pageIndex = 0;
16192
+ _this.pageSizeOptions = [10, 20, 50];
16193
+ return _this;
16194
+ }
16195
+ Object.defineProperty(AbstractTaskListPaginationComponent.prototype, "tasks$", {
16196
+ get: function () {
16197
+ return this._tasks$;
16198
+ },
16199
+ set: function (tasks) {
16200
+ var _this = this;
16201
+ this._tasks$ = tasks.pipe((operators.tap(function () {
16202
+ _this.length = _this._taskViewService.pagination.totalElements;
16203
+ _this.pageIndex = _this._taskViewService.pagination.number;
16204
+ })));
16205
+ },
16206
+ enumerable: false,
16207
+ configurable: true
16208
+ });
16209
+ AbstractTaskListPaginationComponent.prototype.onPageChanged = function (e) {
16210
+ this.pageIndex = e.pageIndex;
16211
+ this.pageSize = e.pageSize;
16212
+ this._taskViewService.nextPagePagination(this.pageSize, this.pageIndex);
16213
+ };
16214
+ AbstractTaskListPaginationComponent.ctorParameters = function () { return [
16215
+ { type: TaskViewService },
16216
+ { type: LoggerService },
16217
+ { type: undefined, decorators: [{ type: core.Optional }, { type: core.Inject, args: [NAE_TAB_DATA,] }] },
16218
+ { type: router.ActivatedRoute }
16219
+ ]; };
16220
+ AbstractTaskListPaginationComponent.propDecorators = {
16221
+ tasks$: [{ type: core.Input }]
16222
+ };
16223
+ return AbstractTaskListPaginationComponent;
16224
+ }(AbstractDefaultTaskList));
16096
16225
 
16097
16226
 
16098
16227
  (function (WorkflowMetaField) {
@@ -16267,6 +16396,19 @@
16267
16396
  return AbstractImmediateFilterTextContentComponent;
16268
16397
  }());
16269
16398
 
16399
+ var AbstractPanelItemComponent = /** @class */ (function () {
16400
+ function AbstractPanelItemComponent() {
16401
+ this.textEllipsis = false;
16402
+ }
16403
+ AbstractPanelItemComponent.propDecorators = {
16404
+ leadingIcon: [{ type: core.Input }],
16405
+ leadingIconEnabled: [{ type: core.Input }],
16406
+ featuredValue: [{ type: core.Input }],
16407
+ textEllipsis: [{ type: core.Input }]
16408
+ };
16409
+ return AbstractPanelItemComponent;
16410
+ }());
16411
+
16270
16412
  var NAE_TASK_PANEL_DISABLE_BUTTON_FUNCTIONS = new core.InjectionToken('NaeTaskPanelDisableFunctions');
16271
16413
 
16272
16414
  /* COMPONENTS */
@@ -17507,6 +17649,11 @@
17507
17649
  this.netVersion = '';
17508
17650
  }
17509
17651
  };
17652
+ AbstractNewCaseComponent.prototype.toNextStep = function (viewValue) {
17653
+ if (viewValue !== null && viewValue.value !== undefined) {
17654
+ this.stepper1.next();
17655
+ }
17656
+ };
17510
17657
  AbstractNewCaseComponent.ctorParameters = function () { return [
17511
17658
  { type: SideMenuControl, decorators: [{ type: core.Inject, args: [NAE_SIDE_MENU_CONTROL,] }] },
17512
17659
  { type: forms$3.FormBuilder },
@@ -18672,6 +18819,9 @@
18672
18819
  _this._caseViewService.loading$.subscribe(function (loading) {
18673
18820
  _this.loading = loading;
18674
18821
  });
18822
+ _this.canCreateSub = _this._caseViewService.getNewCaseAllowedNets().subscribe(function (allowedNets) {
18823
+ _this.canCreate = allowedNets.length > 0;
18824
+ });
18675
18825
  _this.cases$ = _this._caseViewService.cases$;
18676
18826
  _this.authorityToCreate = _authority.map(function (a) { return a.authority; });
18677
18827
  return _this;
@@ -18685,7 +18835,7 @@
18685
18835
  }
18686
18836
  };
18687
18837
  AbstractCaseView.prototype.hasAuthority = function () {
18688
- return (this._caseViewService.hasAuthority(this.authorityToCreate) && this._caseViewService.getAllowedNetsCount() > 0);
18838
+ return (this._caseViewService.hasAuthority(this.authorityToCreate) && this.canCreate);
18689
18839
  };
18690
18840
  AbstractCaseView.prototype.getWidth = function () {
18691
18841
  return (this._overflowService && this._overflowService.overflowMode && this._overflowService.columnCount) ?
@@ -18694,6 +18844,12 @@
18694
18844
  AbstractCaseView.prototype.getOverflowStatus = function () {
18695
18845
  return this._overflowService ? this._overflowService.overflowMode : false;
18696
18846
  };
18847
+ AbstractCaseView.prototype.ngOnDestroy = function () {
18848
+ _super.prototype.ngOnDestroy.call(this);
18849
+ if (this.canCreateSub) {
18850
+ this.canCreateSub.unsubscribe();
18851
+ }
18852
+ };
18697
18853
  return AbstractCaseView;
18698
18854
  }(ViewWithHeaders));
18699
18855
 
@@ -18927,6 +19083,13 @@
18927
19083
  enumerable: false,
18928
19084
  configurable: true
18929
19085
  });
19086
+ Object.defineProperty(CaseViewService.prototype, "pagination", {
19087
+ get: function () {
19088
+ return this._pagination;
19089
+ },
19090
+ enumerable: false,
19091
+ configurable: true
19092
+ });
18930
19093
  Object.defineProperty(CaseViewService.prototype, "activeFilter", {
18931
19094
  get: function () {
18932
19095
  return this._searchService.activeFilter;
@@ -18980,6 +19143,17 @@
18980
19143
  this._nextPage$.next(requestContext);
18981
19144
  }
18982
19145
  };
19146
+ CaseViewService.prototype.nextPagePagination = function (length, pageIndex, requestContext) {
19147
+ if (requestContext === undefined) {
19148
+ requestContext = new PageLoadRequestContext(this.activeFilter, this._pagination);
19149
+ requestContext.pagination.size = length;
19150
+ requestContext.pagination.number = pageIndex;
19151
+ }
19152
+ if (this.isLoadingRelevantFilter(requestContext) || this._endOfData) {
19153
+ return;
19154
+ }
19155
+ this._nextPage$.next(requestContext);
19156
+ };
18983
19157
  CaseViewService.prototype.isLoadingRelevantFilter = function (requestContext) {
18984
19158
  return requestContext === undefined || this._loading$.isActiveWithFilter(requestContext.filter);
18985
19159
  };
@@ -19040,12 +19214,12 @@
19040
19214
  return this._allowedNetsService.allowedNets === undefined ? 0 : this._allowedNetsService.allowedNets.length;
19041
19215
  };
19042
19216
  CaseViewService.prototype.addPageParams = function (params, pagination) {
19043
- params = params.set('size', pagination.size + '');
19044
- params = params.set('page', pagination.number + '');
19217
+ params = params.set(exports.PaginationParams.PAGE_SIZE, "" + pagination.size);
19218
+ params = params.set(exports.PaginationParams.PAGE_NUMBER, "" + pagination.number);
19045
19219
  return params;
19046
19220
  };
19047
19221
  CaseViewService.prototype.getDefaultSortParam = function () {
19048
- return 'stringId,desc';
19222
+ return createSortParam('stringId', exports.PaginationSort.DESCENDING);
19049
19223
  };
19050
19224
  CaseViewService.prototype.getMetaFieldSortId = function () {
19051
19225
  switch (this._lastHeaderSearchState.fieldIdentifier) {
@@ -22422,6 +22596,8 @@
22422
22596
  */
22423
22597
  var NAE_WORKFLOW_SERVICE_CONFIRM_DELETE = new core.InjectionToken('NaeWorkflowServiceConfirmDelete');
22424
22598
 
22599
+ var NAE_TREE_CASE_VIEW_CONFIGURATION = new core.InjectionToken('NaeTreeCaseViewConfiguration');
22600
+
22425
22601
  var WorkflowViewService = /** @class */ (function (_super) {
22426
22602
  __extends(WorkflowViewService, _super);
22427
22603
  function WorkflowViewService(_petriNetResource, _log, _dialogService, _snackBarService, _translate, resolver, injectedBaseFilter, confirmDelete) {
@@ -22597,17 +22773,9 @@
22597
22773
  // TODO 7.4.2020 - workflow sorting and searching
22598
22774
  return '';
22599
22775
  };
22600
- WorkflowViewService.prototype.addSortParams = function (params) {
22601
- if (this._lastHeaderSearchState.sortDirection !== '') {
22602
- return params.set('sort', this.getSortId() + "," + this._lastHeaderSearchState.sortDirection);
22603
- }
22604
- else {
22605
- return params.set('sort', this.getDefaultSortParam());
22606
- }
22607
- };
22608
22776
  WorkflowViewService.prototype.addPageParams = function (params, pagination) {
22609
- params = params.set('size', pagination.size + '');
22610
- params = params.set('page', pagination.number + '');
22777
+ params = params.set(exports.PaginationParams.PAGE_SIZE, "" + pagination.size);
22778
+ params = params.set(exports.PaginationParams.PAGE_NUMBER, "" + pagination.number);
22611
22779
  return params;
22612
22780
  };
22613
22781
  WorkflowViewService.ctorParameters = function () { return [
@@ -22686,7 +22854,7 @@
22686
22854
  }());
22687
22855
 
22688
22856
  var CaseTreeService = /** @class */ (function () {
22689
- function CaseTreeService(_caseResourceService, _treeCaseViewService, _taskResourceService, _logger, _processService, _sideMenuService, _translateService, _optionSelectorComponent) {
22857
+ function CaseTreeService(_caseResourceService, _treeCaseViewService, _taskResourceService, _logger, _processService, _sideMenuService, _translateService, _optionSelectorComponent, _treeConfiguration) {
22690
22858
  var _this = this;
22691
22859
  this._caseResourceService = _caseResourceService;
22692
22860
  this._treeCaseViewService = _treeCaseViewService;
@@ -22696,6 +22864,7 @@
22696
22864
  this._sideMenuService = _sideMenuService;
22697
22865
  this._translateService = _translateService;
22698
22866
  this._optionSelectorComponent = _optionSelectorComponent;
22867
+ this._treeConfiguration = _treeConfiguration;
22699
22868
  /**
22700
22869
  * Weather the tree is eager loaded or not.
22701
22870
  *
@@ -22704,6 +22873,11 @@
22704
22873
  * It is not recommended to eager load large trees as each node sends a separate backend request to load its data.
22705
22874
  */
22706
22875
  this._isEagerLoaded = false;
22876
+ if (!this._treeConfiguration) {
22877
+ this._treeConfiguration = {
22878
+ pageSize: CaseTreeService.DEFAULT_PAGE_SIZE
22879
+ };
22880
+ }
22707
22881
  this._treeDataSource = new tree$1.MatTreeNestedDataSource();
22708
22882
  this._treeControl = new tree.NestedTreeControl(function (node) { return node.children; });
22709
22883
  _treeCaseViewService.reloadCase$.asObservable().subscribe(function () {
@@ -23002,7 +23176,9 @@
23002
23176
  }
23003
23177
  var done = new rxjs.ReplaySubject(1);
23004
23178
  var params = new http.HttpParams();
23005
- params = params.set('page', "" + pageNumber).set('sort', 'creationDate,asc');
23179
+ params = params.set(exports.PaginationParams.PAGE_SIZE, "" + this._treeConfiguration.pageSize)
23180
+ .set(exports.PaginationParams.PAGE_NUMBER, "" + pageNumber)
23181
+ .set(exports.PaginationParams.PAGE_SORT, createSortParam('creationDate', exports.PaginationSort.ASCENDING));
23006
23182
  this._caseResourceService.getCases(requestBody, params).subscribe(function (page) {
23007
23183
  if (!hasContent(page)) {
23008
23184
  _this._logger.error('Child cases invalid page content', page);
@@ -23533,6 +23709,7 @@
23533
23709
  });
23534
23710
  return result;
23535
23711
  };
23712
+ CaseTreeService.DEFAULT_PAGE_SIZE = 50;
23536
23713
  CaseTreeService.ctorParameters = function () { return [
23537
23714
  { type: CaseResourceService },
23538
23715
  { type: TreeCaseViewService },
@@ -23541,7 +23718,8 @@
23541
23718
  { type: ProcessService },
23542
23719
  { type: SideMenuService },
23543
23720
  { type: core$2.TranslateService },
23544
- { type: undefined, decorators: [{ type: core.Optional }, { type: core.Inject, args: [NAE_OPTION_SELECTOR_COMPONENT,] }] }
23721
+ { type: undefined, decorators: [{ type: core.Optional }, { type: core.Inject, args: [NAE_OPTION_SELECTOR_COMPONENT,] }] },
23722
+ { type: undefined, decorators: [{ type: core.Optional }, { type: core.Inject, args: [NAE_TREE_CASE_VIEW_CONFIGURATION,] }] }
23545
23723
  ]; };
23546
23724
  CaseTreeService.decorators = [
23547
23725
  { type: core.Injectable }
@@ -23554,7 +23732,8 @@
23554
23732
  { type: ProcessService },
23555
23733
  { type: SideMenuService },
23556
23734
  { type: core$2.TranslateService },
23557
- { type: undefined, decorators: [{ type: core.Optional }, { type: core.Inject, args: [NAE_OPTION_SELECTOR_COMPONENT,] }] }
23735
+ { type: undefined, decorators: [{ type: core.Optional }, { type: core.Inject, args: [NAE_OPTION_SELECTOR_COMPONENT,] }] },
23736
+ { type: undefined, decorators: [{ type: core.Optional }, { type: core.Inject, args: [NAE_TREE_CASE_VIEW_CONFIGURATION,] }] }
23558
23737
  ]; };
23559
23738
  return CaseTreeService;
23560
23739
  }());
@@ -24459,6 +24638,7 @@
24459
24638
  if (dataGroups.length === 0) {
24460
24639
  this._log.info('Task has no data ' + this._safeTask);
24461
24640
  this._safeTask.dataSize = 0;
24641
+ this._taskContentService.taskFieldsIndex[this._safeTask.stringId] = {};
24462
24642
  }
24463
24643
  else {
24464
24644
  this._taskContentService.referencedTaskAndCaseIds[this._safeTask.caseId] = [this._safeTask.stringId];
@@ -25326,7 +25506,7 @@
25326
25506
  FinishTaskService.prototype.validateDataAndFinish = function (afterAction) {
25327
25507
  var _this = this;
25328
25508
  if (afterAction === void 0) { afterAction = new AfterAction(); }
25329
- if (this._safeTask.dataSize <= 0) {
25509
+ if (this.dataIsEmpty()) {
25330
25510
  this._taskDataService.initializeTaskDataFields(this._callChain.create(function () {
25331
25511
  if (_this._safeTask.dataSize <= 0 ||
25332
25512
  (_this._taskContentService.validateDynamicEnumField() && _this._taskContentService.validateTaskData())) {
@@ -25337,17 +25517,15 @@
25337
25517
  else if (this._taskContentService.validateDynamicEnumField() && this._taskContentService.validateTaskData()) {
25338
25518
  var finishedTaskId_1 = this._safeTask.stringId;
25339
25519
  this._taskDataService.updateTaskDataFields(this._callChain.create(function (success) {
25340
- if (success) {
25341
- if (_this._taskState.isUpdating(finishedTaskId_1)) {
25342
- _this._taskDataService.updateSuccess$.pipe(operators.take(1)).subscribe(function (bool) {
25343
- if (bool) {
25344
- _this.queueFinishTaskRequest(afterAction);
25345
- }
25346
- });
25347
- }
25348
- else {
25349
- _this.queueFinishTaskRequest(afterAction);
25350
- }
25520
+ if (success && _this._taskState.isUpdating(finishedTaskId_1)) {
25521
+ _this._taskDataService.updateSuccess$.pipe(operators.take(1)).subscribe(function (bool) {
25522
+ if (bool) {
25523
+ _this.queueFinishTaskRequest(afterAction);
25524
+ }
25525
+ });
25526
+ }
25527
+ else if (success) {
25528
+ _this.queueFinishTaskRequest(afterAction);
25351
25529
  }
25352
25530
  }));
25353
25531
  }
@@ -25445,6 +25623,13 @@
25445
25623
  FinishTaskService.prototype.sendNotification = function (success) {
25446
25624
  this._taskEvent.publishTaskEvent(createTaskEventNotification(this._safeTask, exports.TaskEvent.FINISH, success));
25447
25625
  };
25626
+ /**
25627
+ * Checks data size
25628
+ * @return boolean whether the task contains data or not
25629
+ */
25630
+ FinishTaskService.prototype.dataIsEmpty = function () {
25631
+ return this._safeTask.dataSize <= 0 || !this._safeTask.dataGroups || this._safeTask.dataGroups.length <= 0;
25632
+ };
25448
25633
  FinishTaskService.ctorParameters = function () { return [
25449
25634
  { type: LoggerService },
25450
25635
  { type: TaskResourceService },
@@ -26153,9 +26338,9 @@
26153
26338
  return AbstractWorkflowViewComponent;
26154
26339
  }(ViewWithHeaders));
26155
26340
 
26156
- var AbstractCaseListComponent = /** @class */ (function (_super) {
26157
- __extends(AbstractCaseListComponent, _super);
26158
- function AbstractCaseListComponent(_caseViewService, _log, injectedTabData, route) {
26341
+ var AbstractDefaultCaseList = /** @class */ (function (_super) {
26342
+ __extends(AbstractDefaultCaseList, _super);
26343
+ function AbstractDefaultCaseList(_caseViewService, _log, injectedTabData, route) {
26159
26344
  var _this = _super.call(this, injectedTabData) || this;
26160
26345
  _this._caseViewService = _caseViewService;
26161
26346
  _this._log = _log;
@@ -26165,38 +26350,20 @@
26165
26350
  _this.showDeleteMenu = false;
26166
26351
  _this.textEllipsis = false;
26167
26352
  _this.redirectEnabled = true;
26168
- _this.cases$ = _this._caseViewService.cases$;
26169
26353
  _this.unsubscribe$ = new rxjs.Subject();
26170
26354
  _this.loading$ = _this._caseViewService.loading$;
26171
26355
  _this.caseClick = new core.EventEmitter();
26172
- _this.onRedirect();
26173
26356
  return _this;
26174
26357
  }
26175
- AbstractCaseListComponent.prototype.ngOnDestroy = function () {
26358
+ AbstractDefaultCaseList.prototype.ngOnDestroy = function () {
26176
26359
  _super.prototype.ngOnDestroy.call(this);
26177
26360
  this.caseClick.complete();
26178
26361
  this.unsubscribe$.complete();
26179
26362
  };
26180
- AbstractCaseListComponent.prototype.trackBy = function (i) {
26181
- return i;
26182
- };
26183
- Object.defineProperty(AbstractCaseListComponent.prototype, "loadedDataSize", {
26184
- get: function () {
26185
- return this.viewport && this.viewport.getDataLength() ? this.viewport.getDataLength() : 0;
26186
- },
26187
- enumerable: false,
26188
- configurable: true
26189
- });
26190
- AbstractCaseListComponent.prototype.loadNextPage = function () {
26191
- if (!this.viewport) {
26192
- return;
26193
- }
26194
- this._caseViewService.nextPage(this.viewport.getRenderedRange(), this.viewport.getDataLength());
26195
- };
26196
- AbstractCaseListComponent.prototype.onCaseClick = function (case_) {
26363
+ AbstractDefaultCaseList.prototype.onCaseClick = function (case_) {
26197
26364
  this.caseClick.emit(case_);
26198
26365
  };
26199
- AbstractCaseListComponent.prototype.onRedirect = function () {
26366
+ AbstractDefaultCaseList.prototype.onRedirect = function () {
26200
26367
  var _this = this;
26201
26368
  if (!this.redirectEnabled) {
26202
26369
  return;
@@ -26214,13 +26381,13 @@
26214
26381
  });
26215
26382
  });
26216
26383
  };
26217
- AbstractCaseListComponent.ctorParameters = function () { return [
26384
+ AbstractDefaultCaseList.ctorParameters = function () { return [
26218
26385
  { type: CaseViewService },
26219
26386
  { type: LoggerService },
26220
26387
  { type: undefined, decorators: [{ type: core.Optional }, { type: core.Inject, args: [NAE_TAB_DATA,] }] },
26221
26388
  { type: router.ActivatedRoute }
26222
26389
  ]; };
26223
- AbstractCaseListComponent.propDecorators = {
26390
+ AbstractDefaultCaseList.propDecorators = {
26224
26391
  selectedHeaders$: [{ type: core.Input }],
26225
26392
  responsiveBody: [{ type: core.Input }],
26226
26393
  caseClick: [{ type: core.Output }],
@@ -26228,11 +26395,83 @@
26228
26395
  showDeleteMenu: [{ type: core.Input }],
26229
26396
  textEllipsis: [{ type: core.Input }],
26230
26397
  width: [{ type: core.Input }],
26231
- redirectEnabled: [{ type: core.Input }],
26398
+ redirectEnabled: [{ type: core.Input }]
26399
+ };
26400
+ return AbstractDefaultCaseList;
26401
+ }(TabbedVirtualScrollComponent));
26402
+
26403
+ var AbstractCaseListComponent = /** @class */ (function (_super) {
26404
+ __extends(AbstractCaseListComponent, _super);
26405
+ function AbstractCaseListComponent(_caseViewService, _log, injectedTabData, route) {
26406
+ var _this = _super.call(this, _caseViewService, _log, injectedTabData, route) || this;
26407
+ _this._caseViewService = _caseViewService;
26408
+ _this._log = _log;
26409
+ _this.route = route;
26410
+ _this.cases$ = _this._caseViewService.cases$;
26411
+ _this.onRedirect();
26412
+ return _this;
26413
+ }
26414
+ AbstractCaseListComponent.prototype.trackBy = function (i) {
26415
+ return i;
26416
+ };
26417
+ Object.defineProperty(AbstractCaseListComponent.prototype, "loadedDataSize", {
26418
+ get: function () {
26419
+ return this.viewport && this.viewport.getDataLength() ? this.viewport.getDataLength() : 0;
26420
+ },
26421
+ enumerable: false,
26422
+ configurable: true
26423
+ });
26424
+ AbstractCaseListComponent.prototype.loadNextPage = function () {
26425
+ if (!this.viewport) {
26426
+ return;
26427
+ }
26428
+ this._caseViewService.nextPage(this.viewport.getRenderedRange(), this.viewport.getDataLength());
26429
+ };
26430
+ AbstractCaseListComponent.ctorParameters = function () { return [
26431
+ { type: CaseViewService },
26432
+ { type: LoggerService },
26433
+ { type: undefined, decorators: [{ type: core.Optional }, { type: core.Inject, args: [NAE_TAB_DATA,] }] },
26434
+ { type: router.ActivatedRoute }
26435
+ ]; };
26436
+ AbstractCaseListComponent.propDecorators = {
26232
26437
  viewport: [{ type: core.ViewChild, args: [scrolling.CdkVirtualScrollViewport,] }]
26233
26438
  };
26234
26439
  return AbstractCaseListComponent;
26235
- }(TabbedVirtualScrollComponent));
26440
+ }(AbstractDefaultCaseList));
26441
+
26442
+ var AbstractCaseListPaginatorComponent = /** @class */ (function (_super) {
26443
+ __extends(AbstractCaseListPaginatorComponent, _super);
26444
+ function AbstractCaseListPaginatorComponent(_caseViewService, _log, injectedTabData, route) {
26445
+ var _this = _super.call(this, _caseViewService, _log, injectedTabData, route) || this;
26446
+ _this._caseViewService = _caseViewService;
26447
+ _this._log = _log;
26448
+ _this.route = route;
26449
+ _this.pageSize = 20;
26450
+ _this.pageIndex = 0;
26451
+ _this.pageSizeOptions = [10, 20, 50];
26452
+ _this.cases$ = _this._caseViewService.cases$.pipe(operators.tap(function () {
26453
+ _this.length = _this._caseViewService.pagination.totalElements;
26454
+ _this.pageIndex = _this._caseViewService.pagination.number;
26455
+ }));
26456
+ _this.onRedirect();
26457
+ return _this;
26458
+ }
26459
+ AbstractCaseListPaginatorComponent.prototype.onPageChanged = function (e) {
26460
+ this.pageIndex = e.pageIndex;
26461
+ this.pageSize = e.pageSize;
26462
+ this._caseViewService.nextPagePagination(this.pageSize, this.pageIndex);
26463
+ };
26464
+ AbstractCaseListPaginatorComponent.prototype.trackById = function (_index, caze) {
26465
+ return caze.stringId;
26466
+ };
26467
+ AbstractCaseListPaginatorComponent.ctorParameters = function () { return [
26468
+ { type: CaseViewService },
26469
+ { type: LoggerService },
26470
+ { type: undefined, decorators: [{ type: core.Optional }, { type: core.Inject, args: [NAE_TAB_DATA,] }] },
26471
+ { type: router.ActivatedRoute }
26472
+ ]; };
26473
+ return AbstractCaseListPaginatorComponent;
26474
+ }(AbstractDefaultCaseList));
26236
26475
 
26237
26476
  var AbstractTreeComponent = /** @class */ (function () {
26238
26477
  function AbstractTreeComponent(_treeService) {
@@ -28287,8 +28526,8 @@
28287
28526
  }
28288
28527
  function paginationParams(basePagination, pageNumber) {
28289
28528
  var params = new http.HttpParams();
28290
- params = params.set('size', basePagination.size + '');
28291
- params = params.set('page', (pageNumber !== undefined ? pageNumber : basePagination.number) + '');
28529
+ params = params.set(exports.PaginationParams.PAGE_SIZE, "" + basePagination.size);
28530
+ params = params.set(exports.PaginationParams.PAGE_NUMBER, (pageNumber !== undefined ? pageNumber : basePagination.number) + '');
28292
28531
  return params;
28293
28532
  }
28294
28533
  function mapToContent(source, filter, pagination) {
@@ -28737,13 +28976,14 @@
28737
28976
  * The attributes are filled with mostly empty values, if you want to make a test that uses some of them,
28738
28977
  * we recommend setting them yourself, as the returned object might change between versions.
28739
28978
  */
28740
- function createMockNet(stringId, identifier, title, roles, transitions, immediateData) {
28979
+ function createMockNet(stringId, identifier, title, roles, transitions, immediateData, permissions) {
28741
28980
  if (stringId === void 0) { stringId = 'stringId'; }
28742
28981
  if (identifier === void 0) { identifier = 'identifier'; }
28743
28982
  if (title === void 0) { title = 'title'; }
28744
28983
  if (roles === void 0) { roles = []; }
28745
28984
  if (transitions === void 0) { transitions = []; }
28746
28985
  if (immediateData === void 0) { immediateData = []; }
28986
+ if (permissions === void 0) { permissions = {}; }
28747
28987
  var net = new Net({
28748
28988
  stringId: stringId,
28749
28989
  title: title,
@@ -28760,6 +29000,7 @@
28760
29000
  });
28761
29001
  net.roles = roles;
28762
29002
  net.transitions = transitions.map(function (t) { return (__assign(__assign({}, t), { petriNetId: '', immediateData: [] })); });
29003
+ net.permissions = permissions;
28763
29004
  return net;
28764
29005
  }
28765
29006
 
@@ -28780,7 +29021,7 @@
28780
29021
  * Layouting algorithm used in NAE versions < 4.0.0
28781
29022
  */
28782
29023
  DataGroupLayoutType["LEGACY"] = "legacy";
28783
- })(exports["ɵu"] || (exports["ɵu"] = {}));
29024
+ })(exports["ɵw"] || (exports["ɵw"] = {}));
28784
29025
  /**
28785
29026
  * Determines what direction(s) should be used when compacting form layout
28786
29027
  */
@@ -28838,7 +29079,7 @@
28838
29079
  */
28839
29080
  function createMockDataGroup(fields, title, alignment, layoutType, compact, hideRows, stretch, cols, parentTaskId, parentTaskRefId, nestingLevel) {
28840
29081
  if (alignment === void 0) { alignment = exports.DataGroupAlignment.START; }
28841
- if (layoutType === void 0) { layoutType = exports["ɵu"].LEGACY; }
29082
+ if (layoutType === void 0) { layoutType = exports["ɵw"].LEGACY; }
28842
29083
  if (stretch === void 0) { stretch = false; }
28843
29084
  if (cols === void 0) { cols = 4; }
28844
29085
  return {
@@ -29554,8 +29795,8 @@
29554
29795
  };
29555
29796
  MockEndpoint.prototype.getPagination = function (params) {
29556
29797
  return {
29557
- pageSize: parseInt(params.get('size'), 10),
29558
- pageNumber: parseInt(params.get('page'), 10)
29798
+ pageSize: parseInt(params.get(exports.PaginationParams.PAGE_SIZE), 10),
29799
+ pageNumber: parseInt(params.get(exports.PaginationParams.PAGE_NUMBER), 10)
29559
29800
  };
29560
29801
  };
29561
29802
  return MockEndpoint;
@@ -29962,7 +30203,7 @@
29962
30203
  return rxjs.of([]);
29963
30204
  }
29964
30205
  var params = new http.HttpParams();
29965
- params.set('size', "" + user.nextGroups.length);
30206
+ params.set(exports.PaginationParams.PAGE_SIZE, "" + user.nextGroups.length);
29966
30207
  return _this._caseResourceService.searchCases(SimpleFilter.fromCaseQuery({ stringId: user.nextGroups }), params)
29967
30208
  .pipe(operators.map(function (page) { return page.content ? page.content : []; }), operators.map(function (groups) { return groups.filter(function (group) { return group.author.fullName !== 'application engine'; }); }));
29968
30209
  })).subscribe(function (groups) {
@@ -30764,7 +31005,7 @@
30764
31005
  this._paperView = _paperView;
30765
31006
  this._logger = _logger;
30766
31007
  this._taskEventService = _taskEventService;
30767
- this.DEFAULT_LAYOUT_TYPE = exports["ɵu"].LEGACY;
31008
+ this.DEFAULT_LAYOUT_TYPE = exports["ɵw"].LEGACY;
30768
31009
  this.DEFAULT_FIELD_ALIGNMENT = exports.FieldAlignment.CENTER;
30769
31010
  this.DEFAULT_ASYNC_RENDERING_CONFIGURATION = {
30770
31011
  batchSize: 4,
@@ -30951,13 +31192,13 @@
30951
31192
  subgrid.addRow(_this.newGridRow(subgrid.cols, title.gridAreaId));
30952
31193
  }
30953
31194
  switch (group.layout.type) {
30954
- case exports["ɵu"].GRID:
31195
+ case exports["ɵw"].GRID:
30955
31196
  _this.computeGridLayout(group, subgrid);
30956
31197
  break;
30957
- case exports["ɵu"].FLOW:
31198
+ case exports["ɵw"].FLOW:
30958
31199
  _this.computeFlowLayout(group, subgrid);
30959
31200
  break;
30960
- case exports["ɵu"].LEGACY:
31201
+ case exports["ɵw"].LEGACY:
30961
31202
  _this.computeLegacyLayout(group, subgrid);
30962
31203
  break;
30963
31204
  default:
@@ -31871,6 +32112,7 @@
31871
32112
  };
31872
32113
  Object.defineProperty(BaseAllowedNetsService.prototype, "allowedNets", {
31873
32114
  /**
32115
+ * @deprecated This method should not be used. Use {@link BaseAllowedNetsService#allowedNets$} instead
31874
32116
  * @returns the currently set allowed nets. Returns an empty array if no value was set.
31875
32117
  */
31876
32118
  get: function () {
@@ -31938,12 +32180,14 @@
31938
32180
  if (filterField === undefined) {
31939
32181
  throw new Error("Provided navigation item task data does not contain a filter field with ID '" + exports.UserFilterConstants.FILTER_FIELD_ID + "'! Allowed nets cannot be generated from it!");
31940
32182
  }
31941
- var nets = __spread(filterField.allowedNets);
32183
+ var nets = new rxjs.BehaviorSubject(Array.from(new Set(__spread(filterField.allowedNets))));
31942
32184
  if (filterField.filterMetadata.inheritAllowedNets) {
31943
- nets.push.apply(nets, __spread(baseAllowedNets.allowedNets));
32185
+ baseAllowedNets.allowedNets$.subscribe(function (allowedNets) {
32186
+ var netSet = new Set(allowedNets);
32187
+ nets.next(Array.from(netSet));
32188
+ });
31944
32189
  }
31945
- var uniqueNets = new Set(nets);
31946
- return factory.createFromArray(Array.from(uniqueNets));
32190
+ return factory.createFromObservable(nets.asObservable());
31947
32191
  }
31948
32192
  /**
31949
32193
  * Simplifies the creation of {@link AllowedNetsService} instances
@@ -32040,6 +32284,7 @@
32040
32284
  exports.AbstractBooleanFieldComponent = AbstractBooleanFieldComponent;
32041
32285
  exports.AbstractButtonFieldComponent = AbstractButtonFieldComponent;
32042
32286
  exports.AbstractCaseListComponent = AbstractCaseListComponent;
32287
+ exports.AbstractCaseListPaginatorComponent = AbstractCaseListPaginatorComponent;
32043
32288
  exports.AbstractCasePanelComponent = AbstractCasePanelComponent;
32044
32289
  exports.AbstractCaseView = AbstractCaseView;
32045
32290
  exports.AbstractCountCard = AbstractCountCard;
@@ -32098,6 +32343,7 @@
32098
32343
  exports.AbstractNumberFieldComponent = AbstractNumberFieldComponent;
32099
32344
  exports.AbstractOptionSelectorComponent = AbstractOptionSelectorComponent;
32100
32345
  exports.AbstractPanelComponent = AbstractPanelComponent;
32346
+ exports.AbstractPanelItemComponent = AbstractPanelItemComponent;
32101
32347
  exports.AbstractPasswordTextFieldComponent = AbstractPasswordTextFieldComponent;
32102
32348
  exports.AbstractProfileComponent = AbstractProfileComponent;
32103
32349
  exports.AbstractQuickPanelComponent = AbstractQuickPanelComponent;
@@ -32122,6 +32368,7 @@
32122
32368
  exports.AbstractTabViewComponent = AbstractTabViewComponent;
32123
32369
  exports.AbstractTaskContentComponent = AbstractTaskContentComponent;
32124
32370
  exports.AbstractTaskListComponent = AbstractTaskListComponent;
32371
+ exports.AbstractTaskListPaginationComponent = AbstractTaskListPaginationComponent;
32125
32372
  exports.AbstractTaskPanelComponent = AbstractTaskPanelComponent;
32126
32373
  exports.AbstractTaskView = AbstractTaskView;
32127
32374
  exports.AbstractTextErrorsComponent = AbstractTextErrorsComponent;
@@ -32295,6 +32542,7 @@
32295
32542
  exports.NAE_TASK_OPERATIONS = NAE_TASK_OPERATIONS;
32296
32543
  exports.NAE_TASK_PANEL_DISABLE_BUTTON_FUNCTIONS = NAE_TASK_PANEL_DISABLE_BUTTON_FUNCTIONS;
32297
32544
  exports.NAE_TASK_VIEW_CONFIGURATION = NAE_TASK_VIEW_CONFIGURATION;
32545
+ exports.NAE_TREE_CASE_VIEW_CONFIGURATION = NAE_TREE_CASE_VIEW_CONFIGURATION;
32298
32546
  exports.NAE_USER_ASSIGN_COMPONENT = NAE_USER_ASSIGN_COMPONENT;
32299
32547
  exports.NAE_VIEW_ID = NAE_VIEW_ID;
32300
32548
  exports.NAE_VIEW_ID_SEGMENT = NAE_VIEW_ID_SEGMENT;
@@ -32429,6 +32677,7 @@
32429
32677
  exports.createMockSetDataOutcome = createMockSetDataOutcome;
32430
32678
  exports.createMockTask = createMockTask;
32431
32679
  exports.createMockTaskOutcome = createMockTaskOutcome;
32680
+ exports.createSortParam = createSortParam;
32432
32681
  exports.createTaskEventNotification = createTaskEventNotification;
32433
32682
  exports.defaultCaseSearchCategoriesFactory = defaultCaseSearchCategoriesFactory;
32434
32683
  exports.defaultTaskSearchCategoriesFactory = defaultTaskSearchCategoriesFactory;
@@ -32470,12 +32719,14 @@
32470
32719
  exports.ɵk = AbstractNavigationResizableDrawerComponent;
32471
32720
  exports.ɵl = PanelWithImmediateData;
32472
32721
  exports.ɵm = PanelWithHeaderBinding;
32473
- exports.ɵn = AbstractDialog;
32474
- exports.ɵq = AlertDialogModule;
32475
- exports.ɵr = ConfirmDialogModule;
32476
- exports.ɵs = PromptDialogModule;
32477
- exports.ɵt = AbstractHeaderModeComponent;
32478
- exports.ɵu = exports["ɵu"];
32722
+ exports.ɵn = AbstractDefaultTaskList;
32723
+ exports.ɵo = AbstractDialog;
32724
+ exports.ɵr = AlertDialogModule;
32725
+ exports.ɵs = ConfirmDialogModule;
32726
+ exports.ɵt = PromptDialogModule;
32727
+ exports.ɵu = AbstractHeaderModeComponent;
32728
+ exports.ɵv = AbstractDefaultCaseList;
32729
+ exports.ɵw = exports["ɵw"];
32479
32730
 
32480
32731
  Object.defineProperty(exports, '__esModule', { value: true });
32481
32732