@netgrif/components-core 6.0.1 → 6.0.2-rc.2

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 (51) hide show
  1. package/bundles/netgrif-components-core.umd.js +82 -34
  2. package/bundles/netgrif-components-core.umd.js.map +1 -1
  3. package/bundles/netgrif-components-core.umd.min.js +1 -1
  4. package/bundles/netgrif-components-core.umd.min.js.map +1 -1
  5. package/esm2015/assets/i18n/de.json +3 -0
  6. package/esm2015/assets/i18n/en.json +3 -0
  7. package/esm2015/assets/i18n/sk.json +20 -17
  8. package/esm2015/lib/authorization/permission/permission.service.js +1 -5
  9. package/esm2015/lib/data-fields/enumeration-field/enumeration-list-field/abstract-enumeration-list-field.component.js +4 -1
  10. package/esm2015/lib/data-fields/enumeration-field/models/enumeration-field.js +2 -2
  11. package/esm2015/lib/data-fields/models/abstract-data-field.js +10 -1
  12. package/esm2015/lib/forms/email-submission/abstract-email-submission-form.component.js +5 -2
  13. package/esm2015/lib/forms/models/abstract-registration.component.js +6 -1
  14. package/esm2015/lib/header/case-header/case-header.service.js +2 -2
  15. package/esm2015/lib/navigation/navigation-drawer/abstract-navigation-drawer.component.js +6 -6
  16. package/esm2015/lib/search/models/category/no-configuration-user-autocomplete-category.js +2 -2
  17. package/esm2015/lib/side-menu/services/side-menu.service.js +17 -1
  18. package/esm2015/lib/task/services/assign-policy.service.js +1 -1
  19. package/esm2015/lib/task/services/finish-policy.service.js +1 -2
  20. package/esm2015/lib/task-content/services/task-content.service.js +11 -2
  21. package/esm5/assets/i18n/de.json +3 -0
  22. package/esm5/assets/i18n/en.json +3 -0
  23. package/esm5/assets/i18n/sk.json +20 -17
  24. package/esm5/lib/authorization/permission/permission.service.js +1 -7
  25. package/esm5/lib/data-fields/enumeration-field/enumeration-list-field/abstract-enumeration-list-field.component.js +4 -1
  26. package/esm5/lib/data-fields/enumeration-field/models/enumeration-field.js +2 -2
  27. package/esm5/lib/data-fields/models/abstract-data-field.js +11 -1
  28. package/esm5/lib/forms/email-submission/abstract-email-submission-form.component.js +5 -2
  29. package/esm5/lib/forms/models/abstract-registration.component.js +6 -1
  30. package/esm5/lib/header/case-header/case-header.service.js +2 -2
  31. package/esm5/lib/navigation/navigation-drawer/abstract-navigation-drawer.component.js +6 -6
  32. package/esm5/lib/search/models/category/no-configuration-user-autocomplete-category.js +2 -2
  33. package/esm5/lib/side-menu/services/side-menu.service.js +17 -1
  34. package/esm5/lib/task/services/assign-policy.service.js +1 -1
  35. package/esm5/lib/task/services/finish-policy.service.js +1 -2
  36. package/esm5/lib/task-content/services/task-content.service.js +12 -2
  37. package/fesm2015/netgrif-components-core.js +80 -32
  38. package/fesm2015/netgrif-components-core.js.map +1 -1
  39. package/fesm5/netgrif-components-core.js +82 -34
  40. package/fesm5/netgrif-components-core.js.map +1 -1
  41. package/lib/data-fields/enumeration-field/enumeration-list-field/abstract-enumeration-list-field.component.d.ts +1 -0
  42. package/lib/data-fields/models/abstract-data-field.d.ts +4 -0
  43. package/lib/forms/email-submission/abstract-email-submission-form.component.d.ts +2 -0
  44. package/lib/forms/models/abstract-registration.component.d.ts +1 -0
  45. package/lib/side-menu/services/side-menu.service.d.ts +8 -0
  46. package/lib/task-content/services/task-content.service.d.ts +1 -0
  47. package/netgrif-components-core.metadata.json +1 -1
  48. package/package.json +1 -1
  49. package/src/assets/i18n/de.json +3 -0
  50. package/src/assets/i18n/en.json +3 -0
  51. package/src/assets/i18n/sk.json +20 -17
@@ -1062,6 +1062,9 @@
1062
1062
  },
1063
1063
  dynamicEnum: {
1064
1064
  noData: "No items match your search"
1065
+ },
1066
+ "enum": {
1067
+ reset: "Reset"
1065
1068
  }
1066
1069
  };
1067
1070
  var dialog = {
@@ -1335,7 +1338,7 @@
1335
1338
  caseGetFailed: "Načítanie prípadov zlyhalo",
1336
1339
  noLongerExists: "Zvolená úloha už neexistuje",
1337
1340
  caseDeleteFailed: "Prípad sa nepodarilo vymazať",
1338
- caseDeleteSuccess: "Prípad úspešný zmazaný",
1341
+ caseDeleteSuccess: "Prípad bol úspešne zmazaný",
1339
1342
  rolesSuccessAssign: "Roly boli úspešne priradené vybraným používateľom"
1340
1343
  },
1341
1344
  view: {
@@ -1453,7 +1456,7 @@
1453
1456
  validations: {
1454
1457
  required: "Toto pole je potrebné!",
1455
1458
  requiredTrue: "Zadaná hodnota musí byť true",
1456
- odd: "Zadané čislo musí byť nepárne",
1459
+ odd: "Zadané číslo musí byť nepárne",
1457
1460
  even: "Zadané číslo musí byť párne",
1458
1461
  positive: "Zadané číslo musí byť kladné",
1459
1462
  negative: "Zadané číslo musí byť záporné",
@@ -1464,22 +1467,22 @@
1464
1467
  pattern: "Zadaný text je v nesprávnom formáte",
1465
1468
  phone: "Zadaný text musí byť tel. číslo",
1466
1469
  email: "Zadaný text musí byť email",
1467
- dateRange: "Zadaný dátum musí byť z rozsahu {{left}} a {{right}}",
1470
+ dateRange: "Zadaný dátum musí byť v rozsahu {{left}} a {{right}}",
1468
1471
  weekend: "Zadaný dátum musí byť víkendový deň",
1469
1472
  workday: "Zadaný dátum musí byť pracovný deň",
1470
1473
  enumeration: "Musí byť vybraná jedna z možností",
1471
1474
  min: "Zadané číslo musí byť väčšie ako {{length}}"
1472
1475
  },
1473
1476
  snackBar: {
1474
- downloadFail: " stahovanie zlyhalo",
1475
- moreFiles: "Zvolil si viac súborov ako je povolené",
1476
- sameFiles: "Nemôžeš nahrať dva rovnaké súbory",
1477
+ downloadFail: " sťahovanie zlyhalo",
1478
+ moreFiles: "Zvolili ste si viac súborov ako je povolené",
1479
+ sameFiles: "Nemôžete nahrať dva rovnaké súbory",
1477
1480
  fileSize: "Veľkosť súboru presiahla povolený limit",
1478
- wontUploadSameFile: "Súbor už existuje. Ak chcete súbor aktualizovať zvoľte iný názov súboru alebo súbor odstránte",
1479
- wontUploadSameFiles: "Vybrané súbory už boli nahrané. Ak chcete súbory aktualizovať odstránte už nahrané súbory",
1481
+ wontUploadSameFile: "Súbor už existuje. Ak chcete súbor aktualizovať, zvoľte iný názov súboru alebo súbor odstráňte",
1482
+ wontUploadSameFiles: "Vybrané súbory už boli nahrané. Ak chcete súbory aktualizovať, odstráňte už nahrané súbory",
1480
1483
  fileUploadFailed: "Súbor sa nepodarilo nahrať",
1481
1484
  fileDeleteFailed: "Súbor sa nepodarilo vymazať",
1482
- maxFilesExceeded: "Je presiahnutý maximálny počet nahrateľných súborov: ",
1485
+ maxFilesExceeded: "Je presiahnutý maximálny počet nahratých súborov: ",
1483
1486
  maxFilesSizeExceeded: "Je presiahnutá maximálna veľkosť nahrávaných súborov: ",
1484
1487
  notSelectedUser: "Nebol vybraný žiadny používateľ",
1485
1488
  userAssigned: "Používateľ {{userName}} bol pridelený"
@@ -1499,6 +1502,9 @@
1499
1502
  },
1500
1503
  dynamicEnum: {
1501
1504
  noData: "Vášmu vyhľadávaniu nezodpovedajú žiadne položky"
1505
+ },
1506
+ "enum": {
1507
+ reset: "Resetovať"
1502
1508
  }
1503
1509
  };
1504
1510
  var dialog$1 = {
@@ -1598,7 +1604,7 @@
1598
1604
  };
1599
1605
  var admin$1 = {
1600
1606
  "user-list": {
1601
- noUsersWereFound: "Momentálne nie sú v systéme žiadny používatelia",
1607
+ noUsersWereFound: "Momentálne nie sú v systéme žiadni používatelia",
1602
1608
  listTitle: "Používatelia"
1603
1609
  },
1604
1610
  "process-list": {
@@ -1612,14 +1618,14 @@
1612
1618
  newUser: "Nový používateľ",
1613
1619
  orgs: "Organizácie",
1614
1620
  selectedOrgs: "Vybrané Organizácie",
1615
- selectedRoless: "Vybrané Role",
1621
+ selectedRoless: "Vybrané Roly",
1616
1622
  mail: "Zadajte Email",
1617
- noSelectedOrgs: "Nie su zvolené žiadne organizácie!",
1618
- noSelectedRoles: "Nie su zvolené žiadne role!",
1623
+ noSelectedOrgs: "Nie zvolené žiadne organizácie!",
1624
+ noSelectedRoles: "Nie zvolené žiadne role!",
1619
1625
  noOrgs: "Nie sú žiadne dostupné organizácie!",
1620
1626
  version: "Verzia",
1621
1627
  emailFieldMandatory: "Email je povinný",
1622
- oneOrMoreOrganization: "Nový používateľ musí patriť aspoň do jenej organizácie",
1628
+ oneOrMoreOrganization: "Nový používateľ musí patriť aspoň do jednej organizácie",
1623
1629
  inviteSent: "Pozvánka bola odoslaná",
1624
1630
  inviteFailed: "Poslanie pozvánky zlyhalo",
1625
1631
  "invite-user": "POZVAŤ POUŽÍVATEĽA"
@@ -1633,7 +1639,7 @@
1633
1639
  };
1634
1640
  var caseTree$1 = {
1635
1641
  newNodeDefaultName: "Nový Vrchol",
1636
- noTaskSelected: "Momentálne nie je zvolený žiaden prípad. Pre vybranie prípadu zvoľte vrchol v strome."
1642
+ noTaskSelected: "Momentálne nie je zvolený žiadny prípad. Pre vybranie prípadu zvoľte vrchol v strome."
1637
1643
  };
1638
1644
  var dashboard$1 = {
1639
1645
  cases: "prípady"
@@ -1703,13 +1709,13 @@
1703
1709
  errSecond: "Názov je povinné pole.",
1704
1710
  errThird: "Farba je povinné pole.",
1705
1711
  noNets: "Žiadne povolené siete",
1706
- createCase: "Uspešne vytvorený nový prípad",
1712
+ createCase: "Úspešne vytvorený nový prípad",
1707
1713
  defaultCaseName: "s prednastaveným názvom prípadu"
1708
1714
  },
1709
1715
  user: {
1710
1716
  assign: "Priradiť používateľa",
1711
1717
  choose: "Zvoľte používateľa",
1712
- noUser: "Neexistujú žiadny používatelia",
1718
+ noUser: "Neexistujú žiadni používatelia",
1713
1719
  err: "Nepodarilo sa načítať používateľov",
1714
1720
  showcase: "Nebol zvolený mód zobrazenia používateľa!"
1715
1721
  },
@@ -1936,6 +1942,9 @@
1936
1942
  },
1937
1943
  dynamicEnum: {
1938
1944
  noData: "Keine Einträge entsprechen Ihrer Suchanfrage"
1945
+ },
1946
+ "enum": {
1947
+ reset: "Rücksetzen"
1939
1948
  }
1940
1949
  };
1941
1950
  var dialog$2 = {
@@ -3847,6 +3856,7 @@
3847
3856
  this._block = new rxjs.Subject();
3848
3857
  this._touch = new rxjs.Subject();
3849
3858
  this._validRequired = true;
3859
+ this.layoutSubject = new rxjs.BehaviorSubject(_layout);
3850
3860
  this.resetLocalLayout();
3851
3861
  }
3852
3862
  Object.defineProperty(DataField.prototype, "stringId", {
@@ -3946,6 +3956,7 @@
3946
3956
  },
3947
3957
  set: function (layout) {
3948
3958
  this._layout = layout;
3959
+ this.layoutSubject.next(layout);
3949
3960
  },
3950
3961
  enumerable: false,
3951
3962
  configurable: true
@@ -4083,6 +4094,7 @@
4083
4094
  this._touch.complete();
4084
4095
  this._block.complete();
4085
4096
  this._initialized$.complete();
4097
+ this.layoutSubject.complete();
4086
4098
  };
4087
4099
  DataField.prototype.registerFormControl = function (formControl) {
4088
4100
  var _this = this;
@@ -4244,6 +4256,7 @@
4244
4256
  });
4245
4257
  };
4246
4258
  DataField.prototype.resolveAppearance = function (config) {
4259
+ var _this = this;
4247
4260
  var appearance = 'outline';
4248
4261
  if (this.layout && this.layout.appearance) {
4249
4262
  appearance = this.layout.appearance;
@@ -4255,6 +4268,12 @@
4255
4268
  }
4256
4269
  }
4257
4270
  this.materialAppearance = appearance;
4271
+ /* Listen for changes of layout in future */
4272
+ this.layoutSubject.subscribe(function (layout) {
4273
+ if (_this.layout && _this.layout.appearance) {
4274
+ _this.materialAppearance = _this.layout.appearance;
4275
+ }
4276
+ });
4258
4277
  };
4259
4278
  DataField.prototype.resolvePrevValue = function (value) {
4260
4279
  if (this._value.getValue() !== undefined
@@ -5085,6 +5104,9 @@
5085
5104
  }
5086
5105
  AbstractEnumerationListFieldComponent.prototype.ngOnInit = function () {
5087
5106
  };
5107
+ AbstractEnumerationListFieldComponent.prototype.resetEnum = function () {
5108
+ this.formControlRef.reset();
5109
+ };
5088
5110
  AbstractEnumerationListFieldComponent.propDecorators = {
5089
5111
  enumerationField: [{ type: core.Input }],
5090
5112
  formControlRef: [{ type: core.Input }],
@@ -5182,7 +5204,7 @@
5182
5204
  if (this._choices === undefined || this._choices.length === 0 || control.value === '' || control.value === undefined) {
5183
5205
  return null;
5184
5206
  }
5185
- return this._choices.find(function (choice) { return choice.key === control.value; }) ? null : { wrongValue: true };
5207
+ return this._choices.find(function (choice) { return choice.key === control.value || control.value === null; }) ? null : { wrongValue: true };
5186
5208
  };
5187
5209
  EnumerationField.prototype.getType = function () {
5188
5210
  return !!this.component && !!this.component.name ? this.component.name : this.view;
@@ -7853,6 +7875,9 @@
7853
7875
  SideMenuService.prototype.open = function (componentOrTemplateRef, width, injectionData) {
7854
7876
  var _this = this;
7855
7877
  if (width === void 0) { width = exports.SideMenuSize.MEDIUM; }
7878
+ if (!this.componentIsPresent()) {
7879
+ throw new Error('Side menu is not initialized');
7880
+ }
7856
7881
  if (this._sideMenuComponent.isOpened()) {
7857
7882
  throw new Error('Side menu has been already opened with another content');
7858
7883
  }
@@ -7888,6 +7913,19 @@
7888
7913
  SideMenuService.prototype.close = function (closeEvent) {
7889
7914
  return this._controlObject.close(closeEvent);
7890
7915
  };
7916
+ /**
7917
+ * Toggle this _sideMenu. This is equivalent to calling close() when it's already opened, or open() when it's closed.
7918
+ *
7919
+ * @param isOpen Whether the _sideMenu should be open.
7920
+ *
7921
+ * @returns open or close side menu
7922
+ */
7923
+ // public toggle(isOpen?: boolean): Observable<MatDrawerToggleResult> {
7924
+ // return from(this._sideMenu.toggle(isOpen));
7925
+ // }
7926
+ SideMenuService.prototype.componentIsPresent = function () {
7927
+ return !!this._sideMenuComponent;
7928
+ };
7891
7929
  SideMenuService.ctorParameters = function () { return [
7892
7930
  { type: Boolean, decorators: [{ type: core.Optional }, { type: core.Inject, args: [NAE_NET_VERSION_VISIBLE,] }] },
7893
7931
  { type: Boolean, decorators: [{ type: core.Optional }, { type: core.Inject, args: [NAE_NET_ALL_VERSIONS,] }] }
@@ -11072,7 +11110,7 @@
11072
11110
  if (this.selectedOperator.numberOfOperands !== 1) {
11073
11111
  throw new Error("Only unary operators are currently supported by the " + this._className + " implementation");
11074
11112
  }
11075
- return this.selectedOperator.createQuery(this.elasticKeywords, userInput[0], false);
11113
+ return this.selectedOperator.createQuery(this.elasticKeywords, Array.isArray(userInput[0]) ? userInput[0] : userInput, false);
11076
11114
  };
11077
11115
  NoConfigurationUserAutocompleteCategory.prototype.serializeOperandValue = function (valueFormControl) {
11078
11116
  return this._userAutocomplete.serializeOperandValue(valueFormControl);
@@ -16151,6 +16189,7 @@
16151
16189
  var AbstractEmailSubmissionFormComponent = /** @class */ (function () {
16152
16190
  function AbstractEmailSubmissionFormComponent(formBuilder) {
16153
16191
  this.displayLegalNotice = true;
16192
+ this.loading = new LoadingEmitter();
16154
16193
  this.rootFormGroup = formBuilder.group({
16155
16194
  email: ['', forms$3.Validators.email]
16156
16195
  });
@@ -16160,6 +16199,7 @@
16160
16199
  AbstractEmailSubmissionFormComponent.prototype.ngOnDestroy = function () {
16161
16200
  this.formSubmit.complete();
16162
16201
  this.goBackButton.complete();
16202
+ this.loading.complete();
16163
16203
  };
16164
16204
  AbstractEmailSubmissionFormComponent.prototype.emitGoBack = function () {
16165
16205
  this.goBackButton.emit();
@@ -16168,7 +16208,7 @@
16168
16208
  if (!this.rootFormGroup.valid) {
16169
16209
  return;
16170
16210
  }
16171
- this.formSubmit.emit({ email: this.rootFormGroup.controls['email'].value });
16211
+ this.formSubmit.emit({ email: this.rootFormGroup.controls['email'].value, loading: this.loading });
16172
16212
  };
16173
16213
  AbstractEmailSubmissionFormComponent.propDecorators = {
16174
16214
  displayLegalNotice: [{ type: core.Input }],
@@ -16272,12 +16312,14 @@
16272
16312
  this.invalidToken = new core.EventEmitter();
16273
16313
  this._tokenVerified = false;
16274
16314
  this.loadingToken = new LoadingEmitter(true);
16315
+ this.loadingSubmit = new LoadingEmitter(false);
16275
16316
  }
16276
16317
  AbstractRegistrationComponent.prototype.ngOnDestroy = function () {
16277
16318
  this.formSubmit.complete();
16278
16319
  this.register.complete();
16279
16320
  this.invalidToken.complete();
16280
16321
  this.loadingToken.complete();
16322
+ this.loadingSubmit.complete();
16281
16323
  };
16282
16324
  Object.defineProperty(AbstractRegistrationComponent.prototype, "token", {
16283
16325
  get: function () {
@@ -16327,10 +16369,13 @@
16327
16369
  return;
16328
16370
  }
16329
16371
  request.token = this._token;
16372
+ this.loadingSubmit.on();
16330
16373
  this.callRegistration(request).pipe(operators.take(1)).subscribe(function (message) {
16331
16374
  _this.register.emit(message);
16375
+ _this.loadingSubmit.off();
16332
16376
  }, function (error) {
16333
16377
  _this.register.emit({ error: error });
16378
+ _this.loadingSubmit.off();
16334
16379
  });
16335
16380
  };
16336
16381
  AbstractRegistrationComponent.prototype.isFieldValid = function (formControlName) {
@@ -18639,12 +18684,6 @@
18639
18684
  })) {
18640
18685
  return false;
18641
18686
  }
18642
- if (!Object.keys(net.permissions).filter(function (role) { return Object.keys(net.permissions[role])
18643
- .some(function (perm) { return perm === action; }); }).some(function (role) {
18644
- return !!net.permissions[role][action];
18645
- })) {
18646
- return true;
18647
- }
18648
18687
  return Object.keys(net.permissions).some(function (role) {
18649
18688
  return _this._userService.hasRoleById(role) ? !!net.permissions[role][action] : false;
18650
18689
  });
@@ -19830,7 +19869,7 @@
19830
19869
  new HeaderColumn(exports.HeaderColumnType.META, exports.CaseMetaField.VISUAL_ID, 'headers.caseMeta.visualID', 'text'),
19831
19870
  new HeaderColumn(exports.HeaderColumnType.META, exports.CaseMetaField.MONGO_ID, 'headers.caseMeta.mongoID', 'text', false),
19832
19871
  new HeaderColumn(exports.HeaderColumnType.META, exports.CaseMetaField.TITLE, 'headers.caseMeta.title', 'text'),
19833
- new HeaderColumn(exports.HeaderColumnType.META, exports.CaseMetaField.AUTHOR, 'headers.caseMeta.author', 'text'),
19872
+ new HeaderColumn(exports.HeaderColumnType.META, exports.CaseMetaField.AUTHOR, 'headers.caseMeta.author', 'user'),
19834
19873
  new HeaderColumn(exports.HeaderColumnType.META, exports.CaseMetaField.CREATION_DATE, 'headers.caseMeta.creationDate', 'date'),
19835
19874
  ];
19836
19875
  };
@@ -21724,7 +21763,7 @@
21724
21763
  this.userPreferenceService = userPreferenceService;
21725
21764
  this._config = {
21726
21765
  mode: 'over',
21727
- opened: false,
21766
+ opened: true,
21728
21767
  disableClose: false
21729
21768
  };
21730
21769
  this.openedChange = new core.EventEmitter();
@@ -21785,14 +21824,14 @@
21785
21824
  configurable: true
21786
21825
  });
21787
21826
  AbstractNavigationDrawerComponent.prototype.open = function () {
21788
- if (this._fixed) {
21789
- return Promise.resolve('open');
21827
+ if (!this._sideNav.opened) {
21828
+ this._sideNav.open();
21790
21829
  }
21791
- return this._sideNav.open();
21830
+ return Promise.resolve('open');
21792
21831
  };
21793
21832
  AbstractNavigationDrawerComponent.prototype.close = function () {
21794
21833
  if (this._fixed) {
21795
- return Promise.resolve('open');
21834
+ return Promise.resolve('close');
21796
21835
  }
21797
21836
  return this._sideNav.close();
21798
21837
  };
@@ -23640,13 +23679,17 @@
23640
23679
  if (!!_this.taskFieldsIndex[chFields.taskId] && !!_this.taskFieldsIndex[chFields.taskId][changedField]) {
23641
23680
  _this.updateField(chFields, _this.taskFieldsIndex[chFields.taskId][changedField], frontendActions);
23642
23681
  }
23682
+ else if (_this.isFieldInTaskRef(changedField)) {
23683
+ _this._taskDataReloadRequest$.next(frontendActions ? frontendActions : undefined);
23684
+ }
23643
23685
  });
23644
23686
  this.$shouldCreate.next(this._task.dataGroups);
23645
23687
  this.performFrontendAction(frontendActions);
23646
23688
  };
23647
23689
  TaskContentService.prototype.updateField = function (chFields, field, frontendActions) {
23648
23690
  var _this = this;
23649
- if (this._fieldConverterService.resolveType(field) === exports.FieldTypeResource.TASK_REF) {
23691
+ if (this._fieldConverterService.resolveType(field) === exports.FieldTypeResource.TASK_REF
23692
+ || this.isFieldInTaskRef(field.stringId)) {
23650
23693
  this._taskDataReloadRequest$.next(frontendActions ? frontendActions : undefined);
23651
23694
  return;
23652
23695
  }
@@ -23717,6 +23760,12 @@
23717
23760
  rxjs.timer().subscribe(function () { return _this.validateTaskData(); });
23718
23761
  }
23719
23762
  };
23763
+ TaskContentService.prototype.isFieldInTaskRef = function (changedField) {
23764
+ var _this = this;
23765
+ return !!this.taskFieldsIndex &&
23766
+ Object.keys(this.taskFieldsIndex)
23767
+ .some(function (taskId) { return taskId !== _this.task.stringId && _this.taskFieldsIndex[taskId][changedField]; });
23768
+ };
23720
23769
  TaskContentService.FRONTEND_ACTIONS_KEY = '_frontend_actions';
23721
23770
  TaskContentService.VALIDATE_FRONTEND_ACTION = 'validate';
23722
23771
  TaskContentService.ctorParameters = function () { return [
@@ -25333,7 +25382,6 @@
25333
25382
  FinishPolicyService.prototype.autoNoDataFinishPolicy = function (afterAction) {
25334
25383
  if (this._safeTask.dataSize <= 0) {
25335
25384
  this._finishTaskService.validateDataAndFinish(afterAction);
25336
- this._taskOperations.close();
25337
25385
  }
25338
25386
  else {
25339
25387
  this._taskOperations.open();