bx-rest 0.1.11 → 0.1.16

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 (238) hide show
  1. package/README.md +2 -3
  2. package/{esm2020 → esm2022}/map/base.mjs +4 -4
  3. package/{esm2020 → esm2022}/map/calendar/event.mjs +4 -4
  4. package/{esm2020 → esm2022}/map/disk/attachedObject.mjs +4 -4
  5. package/{esm2020 → esm2022}/map/disk/base.mjs +4 -4
  6. package/esm2022/map/disk/file.mjs +20 -0
  7. package/esm2022/map/disk/folder.mjs +17 -0
  8. package/esm2022/map/disk/storage.mjs +17 -0
  9. package/esm2022/map/lists/element.mjs +24 -0
  10. package/esm2022/map/lists/field.mjs +16 -0
  11. package/esm2022/map/lists.mjs +67 -0
  12. package/{esm2020 → esm2022}/map/sonet_group.mjs +4 -4
  13. package/esm2022/map/task/elapseditem.mjs +16 -0
  14. package/esm2022/map/tasks/task.mjs +127 -0
  15. package/esm2022/map/user.mjs +89 -0
  16. package/{esm2020 → esm2022}/public-api.mjs +2 -1
  17. package/{esm2020 → esm2022}/request/bizproc/activity.mjs +4 -4
  18. package/{esm2020 → esm2022}/request/bizproc/event.mjs +4 -4
  19. package/{esm2020 → esm2022}/request/bizproc/robot.mjs +4 -4
  20. package/{esm2020 → esm2022}/request/bizproc/task.mjs +4 -4
  21. package/{esm2020 → esm2022}/request/bizproc/workflow/instance.mjs +4 -4
  22. package/{esm2020 → esm2022}/request/bizproc/workflow/template.mjs +4 -4
  23. package/{esm2020 → esm2022}/request/bizproc/workflow.mjs +4 -4
  24. package/{esm2020 → esm2022}/request/bizproc.mjs +4 -4
  25. package/{esm2020 → esm2022}/request/bx-rest.module.mjs +9 -9
  26. package/{esm2020 → esm2022}/request/calendar/event.mjs +4 -4
  27. package/{esm2020 → esm2022}/request/calendar.mjs +4 -4
  28. package/{esm2020 → esm2022}/request/disk/attachedObject.mjs +4 -4
  29. package/{esm2020 → esm2022}/request/disk/file.mjs +5 -5
  30. package/{esm2020 → esm2022}/request/disk/folder.mjs +4 -4
  31. package/esm2022/request/disk/storage.mjs +45 -0
  32. package/{esm2020 → esm2022}/request/disk.mjs +4 -4
  33. package/{esm2020 → esm2022}/request/lists/element.mjs +4 -4
  34. package/esm2022/request/lists/field.mjs +30 -0
  35. package/esm2022/request/lists.mjs +32 -0
  36. package/{esm2020 → esm2022}/request/log/blogcomment.mjs +4 -4
  37. package/{esm2020 → esm2022}/request/log/blogpost.mjs +4 -4
  38. package/{esm2020 → esm2022}/request/log.mjs +4 -4
  39. package/{esm2020 → esm2022}/request/sonet_group.mjs +4 -4
  40. package/{esm2020 → esm2022}/request/task/elapseditem.mjs +4 -4
  41. package/{esm2020 → esm2022}/request/task.mjs +4 -4
  42. package/{esm2020 → esm2022}/request/tasks/task.mjs +4 -4
  43. package/{esm2020 → esm2022}/request/tasks.mjs +4 -4
  44. package/esm2022/request/user.mjs +109 -0
  45. package/esm2022/request-navvy/bizproc/workflow.mjs +22 -0
  46. package/esm2022/request-navvy/bizproc.mjs +61 -0
  47. package/esm2022/request-navvy/calendar/event.mjs +24 -0
  48. package/{esm2020 → esm2022}/request-navvy/calendar.mjs +4 -4
  49. package/esm2022/request-navvy/disk/attachedObject.mjs +24 -0
  50. package/esm2022/request-navvy/disk/file.mjs +27 -0
  51. package/esm2022/request-navvy/disk/folder.mjs +38 -0
  52. package/esm2022/request-navvy/disk/interlayer/storage.mjs +60 -0
  53. package/esm2022/request-navvy/disk/operation.mjs +87 -0
  54. package/esm2022/request-navvy/disk/storage.mjs +54 -0
  55. package/{esm2020 → esm2022}/request-navvy/disk.mjs +4 -4
  56. package/esm2022/request-navvy/lists/element.mjs +27 -0
  57. package/esm2022/request-navvy/lists/field.mjs +24 -0
  58. package/esm2022/request-navvy/lists.mjs +28 -0
  59. package/{esm2020 → esm2022}/request-navvy/log/blogcomment.mjs +4 -4
  60. package/esm2022/request-navvy/log/blogpost.mjs +36 -0
  61. package/{esm2020 → esm2022}/request-navvy/log.mjs +4 -4
  62. package/esm2022/request-navvy/sonet_group.mjs +27 -0
  63. package/esm2022/request-navvy/task/elapseditem.mjs +300 -0
  64. package/{esm2020 → esm2022}/request-navvy/task.mjs +4 -4
  65. package/esm2022/request-navvy/tasks/task.mjs +219 -0
  66. package/{esm2020 → esm2022}/request-navvy/tasks.mjs +4 -4
  67. package/esm2022/request-navvy/user.mjs +66 -0
  68. package/{esm2020 → esm2022}/rest.mjs +10 -10
  69. package/esm2022/services/Navvy/NavvyAlternativePaginationNavigation.mjs +65 -0
  70. package/esm2022/services/Navvy/NavvyPagNav.mjs +42 -0
  71. package/esm2022/services/Navvy/NavvyPagNavWithUselessKey.mjs +57 -0
  72. package/esm2022/services/Navvy/NavvySimple.mjs +25 -0
  73. package/esm2022/services/Navvy/NavvySupport.mjs +22 -0
  74. package/esm2022/services/Navvy/extends/NavvyPagNavBase.mjs +28 -0
  75. package/{esm2020 → esm2022}/services/base.mjs +4 -4
  76. package/{esm2020 → esm2022}/services/http/HttpBX.mjs +4 -4
  77. package/{esm2020 → esm2022}/services/http/base/base.mjs +4 -4
  78. package/{esm2020 → esm2022}/services/http/http.mjs +4 -4
  79. package/{esm2020 → esm2022}/services/http/sessionKey.mjs +4 -4
  80. package/esm2022/services/navvy.mjs +28 -0
  81. package/{esm2020 → esm2022}/services/permission.mjs +4 -4
  82. package/{esm2020 → esm2022}/services/snack-bar/snack-bar.service.mjs +4 -4
  83. package/{esm2020 → esm2022}/services/snack-bar/toast-message/toast-message.component.mjs +4 -4
  84. package/{esm2020 → esm2022}/services/vanilla/JSON.mjs +4 -4
  85. package/{esm2020 → esm2022}/services/vanilla/localStorage.mjs +4 -4
  86. package/{esm2020 → esm2022}/services/vanilla/sessionStorage.mjs +4 -4
  87. package/{esm2020 → esm2022}/services/vanilla//321/201ookies.mjs +4 -4
  88. package/{esm2020 → esm2022}/typification/rest/api-lib.mjs +4 -4
  89. package/esm2022/typification/rest/disk/storage/getchildren.mjs +2 -0
  90. package/esm2022/typification/rest/lists/element/get.mjs +2 -0
  91. package/esm2022/typification/rest/lists/field/get.mjs +2 -0
  92. package/{esm2020 → esm2022}/typification/rest/lists/get.mjs +1 -1
  93. package/{fesm2020 → fesm2022}/bx-rest.mjs +880 -494
  94. package/fesm2022/bx-rest.mjs.map +1 -0
  95. package/map/disk/file.d.ts +13 -0
  96. package/map/disk/folder.d.ts +1 -1
  97. package/map/disk/storage.d.ts +1 -1
  98. package/map/lists/element.d.ts +1 -1
  99. package/map/lists/field.d.ts +9 -0
  100. package/map/lists.d.ts +1 -4
  101. package/map/task/elapseditem.d.ts +6 -0
  102. package/map/tasks/task.d.ts +21 -0
  103. package/package.json +5 -11
  104. package/public-api.d.ts +1 -0
  105. package/request/disk/file.d.ts +1 -1
  106. package/request/disk/storage.d.ts +2 -4
  107. package/request/lists/field.d.ts +21 -0
  108. package/request/lists.d.ts +3 -1
  109. package/request/user.d.ts +1 -1
  110. package/request-navvy/bizproc/workflow.d.ts +2 -3
  111. package/request-navvy/bizproc.d.ts +1 -0
  112. package/request-navvy/calendar/event.d.ts +3 -4
  113. package/request-navvy/disk/attachedObject.d.ts +2 -3
  114. package/request-navvy/disk/file.d.ts +6 -6
  115. package/request-navvy/disk/folder.d.ts +2 -3
  116. package/request-navvy/disk/interlayer/storage.d.ts +21 -0
  117. package/request-navvy/disk/operation.d.ts +1 -1
  118. package/request-navvy/disk/storage.d.ts +8 -12
  119. package/request-navvy/lists/element.d.ts +3 -4
  120. package/request-navvy/lists/field.d.ts +13 -0
  121. package/request-navvy/lists.d.ts +7 -5
  122. package/request-navvy/log/blogpost.d.ts +4 -5
  123. package/request-navvy/sonet_group.d.ts +2 -3
  124. package/request-navvy/task/elapseditem.d.ts +12 -12
  125. package/request-navvy/tasks/task.d.ts +14 -10
  126. package/request-navvy/user.d.ts +8 -11
  127. package/services/Navvy/NavvyAlternativePaginationNavigation.d.ts +21 -0
  128. package/services/Navvy/NavvyPagNav.d.ts +8 -0
  129. package/services/Navvy/NavvyPagNavWithUselessKey.d.ts +8 -0
  130. package/services/Navvy/NavvySimple.d.ts +13 -0
  131. package/services/Navvy/NavvySupport.d.ts +14 -0
  132. package/services/Navvy/extends/NavvyPagNavBase.d.ts +16 -0
  133. package/services/base.d.ts +1 -1
  134. package/services/http/sessionKey.d.ts +1 -1
  135. package/services/navvy.d.ts +20 -8
  136. package/typification/base/modyfy.d.ts +4 -4
  137. package/typification/rest/base/OrderOptions.d.ts +1 -1
  138. package/typification/rest/base/YesNo.d.ts +1 -1
  139. package/typification/rest/base/filterGenerator.d.ts +3 -3
  140. package/typification/rest/base/sort.d.ts +1 -1
  141. package/typification/rest/batch/batchRequestParam.d.ts +3 -3
  142. package/typification/rest/bizproc/base/filedEnum.d.ts +1 -1
  143. package/typification/rest/bizproc/workflow/template/list.d.ts +1 -1
  144. package/typification/rest/calendar/base/type.d.ts +1 -1
  145. package/typification/rest/calendar/get/answer.d.ts +1 -1
  146. package/typification/rest/disk/storage/getchildren.d.ts +4 -0
  147. package/typification/rest/lists/element/get.d.ts +3 -2
  148. package/typification/rest/lists/field/get.d.ts +34 -0
  149. package/typification/rest/lists/get.d.ts +2 -1
  150. package/typification/rest/sonet_group/base.d.ts +7 -7
  151. package/typification/rest/sonet_group/get.d.ts +4 -4
  152. package/typification/rest/task/base/fieldsName.d.ts +1 -1
  153. package/typification/rest/user/user.d.ts +3 -3
  154. package/esm2020/map/disk/folder.mjs +0 -17
  155. package/esm2020/map/disk/storage.mjs +0 -17
  156. package/esm2020/map/lists/element.mjs +0 -22
  157. package/esm2020/map/lists.mjs +0 -72
  158. package/esm2020/map/task.mjs +0 -124
  159. package/esm2020/map/user.mjs +0 -89
  160. package/esm2020/request/disk/storage.mjs +0 -46
  161. package/esm2020/request/lists.mjs +0 -30
  162. package/esm2020/request/user.mjs +0 -103
  163. package/esm2020/request-navvy/bizproc/workflow.mjs +0 -22
  164. package/esm2020/request-navvy/bizproc.mjs +0 -60
  165. package/esm2020/request-navvy/calendar/event.mjs +0 -25
  166. package/esm2020/request-navvy/disk/attachedObject.mjs +0 -25
  167. package/esm2020/request-navvy/disk/file.mjs +0 -39
  168. package/esm2020/request-navvy/disk/folder.mjs +0 -44
  169. package/esm2020/request-navvy/disk/operation.mjs +0 -95
  170. package/esm2020/request-navvy/disk/storage.mjs +0 -56
  171. package/esm2020/request-navvy/lists/element.mjs +0 -28
  172. package/esm2020/request-navvy/lists.mjs +0 -27
  173. package/esm2020/request-navvy/log/blogpost.mjs +0 -36
  174. package/esm2020/request-navvy/sonet_group.mjs +0 -28
  175. package/esm2020/request-navvy/task/elapseditem.mjs +0 -261
  176. package/esm2020/request-navvy/tasks/task.mjs +0 -235
  177. package/esm2020/request-navvy/user.mjs +0 -64
  178. package/esm2020/services/navvy.mjs +0 -26
  179. package/esm2020/typification/rest/lists/element/get.mjs +0 -2
  180. package/fesm2015/bx-rest.mjs +0 -3827
  181. package/fesm2015/bx-rest.mjs.map +0 -1
  182. package/fesm2020/bx-rest.mjs.map +0 -1
  183. package/map/task.d.ts +0 -11
  184. /package/{esm2020 → esm2022}/bx-rest.mjs +0 -0
  185. /package/{esm2020 → esm2022}/consts/part-name-metods.mjs +0 -0
  186. /package/{esm2020 → esm2022}/consts/time.mjs +0 -0
  187. /package/{esm2020 → esm2022}/functions/mapResult.mjs +0 -0
  188. /package/{esm2020 → esm2022}/functions/serializeJavascript.mjs +0 -0
  189. /package/{esm2020 → esm2022}/services/http/HttpData.mjs +0 -0
  190. /package/{esm2020 → esm2022}/services/http/base/http.mjs +0 -0
  191. /package/{esm2020 → esm2022}/settings.mjs +0 -0
  192. /package/{esm2020 → esm2022}/typification/auth/save.mjs +0 -0
  193. /package/{esm2020 → esm2022}/typification/base/modyfy.mjs +0 -0
  194. /package/{esm2020 → esm2022}/typification/permission.mjs +0 -0
  195. /package/{esm2020 → esm2022}/typification/rest/base/ApiPaginationBX.mjs +0 -0
  196. /package/{esm2020 → esm2022}/typification/rest/base/OrderOptions.mjs +0 -0
  197. /package/{esm2020 → esm2022}/typification/rest/base/YesNo.mjs +0 -0
  198. /package/{esm2020 → esm2022}/typification/rest/base/answer.mjs +0 -0
  199. /package/{esm2020 → esm2022}/typification/rest/base/filterGenerator.mjs +0 -0
  200. /package/{esm2020 → esm2022}/typification/rest/base/sort.mjs +0 -0
  201. /package/{esm2020 → esm2022}/typification/rest/batch/batchRequestParam.mjs +0 -0
  202. /package/{esm2020 → esm2022}/typification/rest/bizproc/base/filedEnum.mjs +0 -0
  203. /package/{esm2020 → esm2022}/typification/rest/bizproc/workflow/start.mjs +0 -0
  204. /package/{esm2020 → esm2022}/typification/rest/bizproc/workflow/template/list.mjs +0 -0
  205. /package/{esm2020 → esm2022}/typification/rest/calendar/base/type.mjs +0 -0
  206. /package/{esm2020 → esm2022}/typification/rest/calendar/get/answer.mjs +0 -0
  207. /package/{esm2020 → esm2022}/typification/rest/calendar/get/param.mjs +0 -0
  208. /package/{esm2020 → esm2022}/typification/rest/disk/AttachedObject.mjs +0 -0
  209. /package/{esm2020 → esm2022}/typification/rest/disk/file.mjs +0 -0
  210. /package/{esm2020 → esm2022}/typification/rest/disk/folder.mjs +0 -0
  211. /package/{esm2020 → esm2022}/typification/rest/disk/map.mjs +0 -0
  212. /package/{esm2020 → esm2022}/typification/rest/disk/storage/uploadfile.mjs +0 -0
  213. /package/{esm2020 → esm2022}/typification/rest/lib.mjs +0 -0
  214. /package/{esm2020 → esm2022}/typification/rest/lists/element/add.mjs +0 -0
  215. /package/{esm2020 → esm2022}/typification/rest/log/blogpost/add.mjs +0 -0
  216. /package/{esm2020 → esm2022}/typification/rest/log/blogpost/essence.mjs +0 -0
  217. /package/{esm2020 → esm2022}/typification/rest/log/blogpost/get.mjs +0 -0
  218. /package/{esm2020 → esm2022}/typification/rest/settings.mjs +0 -0
  219. /package/{esm2020 → esm2022}/typification/rest/sonet_group/base.mjs +0 -0
  220. /package/{esm2020 → esm2022}/typification/rest/sonet_group/get.mjs +0 -0
  221. /package/{esm2020 → esm2022}/typification/rest/support/param.mjs +0 -0
  222. /package/{esm2020 → esm2022}/typification/rest/task/access/getaccess.mjs +0 -0
  223. /package/{esm2020 → esm2022}/typification/rest/task/base/fieldsName.mjs +0 -0
  224. /package/{esm2020 → esm2022}/typification/rest/task/elapseditem/add.mjs +0 -0
  225. /package/{esm2020 → esm2022}/typification/rest/task/elapseditem/del.mjs +0 -0
  226. /package/{esm2020 → esm2022}/typification/rest/task/elapseditem/get.mjs +0 -0
  227. /package/{esm2020 → esm2022}/typification/rest/task/elapseditem/isActionAllowedParam.mjs +0 -0
  228. /package/{esm2020 → esm2022}/typification/rest/task/elapseditem/item.mjs +0 -0
  229. /package/{esm2020 → esm2022}/typification/rest/task/elapseditem/update.mjs +0 -0
  230. /package/{esm2020 → esm2022}/typification/rest/task/people/base.mjs +0 -0
  231. /package/{esm2020 → esm2022}/typification/rest/task/task.mjs +0 -0
  232. /package/{esm2020 → esm2022}/typification/rest/tasks/task/add.mjs +0 -0
  233. /package/{esm2020 → esm2022}/typification/rest/tasks/task/get.mjs +0 -0
  234. /package/{esm2020 → esm2022}/typification/rest/tasks/task/list.mjs +0 -0
  235. /package/{esm2020 → esm2022}/typification/rest/user/UserFilterSearch.mjs +0 -0
  236. /package/{esm2020 → esm2022}/typification/rest/user/get.mjs +0 -0
  237. /package/{esm2020 → esm2022}/typification/rest/user/user.mjs +0 -0
  238. /package/{esm2020 → esm2022}/typification/settings.mjs +0 -0
@@ -0,0 +1,300 @@
1
+ import { Injectable } from '@angular/core';
2
+ import { map } from 'rxjs/operators';
3
+ import { mergeMap, of, tap, throwError } from 'rxjs';
4
+ import { Permission } from '../../services/permission';
5
+ import { Navvy } from '../../services/navvy';
6
+ import * as i0 from "@angular/core";
7
+ import * as i1 from "../../request/task/elapseditem";
8
+ import * as i2 from "../user";
9
+ import * as i3 from "../tasks";
10
+ import * as i4 from "../../map/task/elapseditem";
11
+ export class BXRestNavvyElapseditem {
12
+ constructor(BXRestElapseditem, BXRestNavvyUser, BXRestNavvyTasks, BXRestMapElapseditem) {
13
+ this.BXRestElapseditem = BXRestElapseditem;
14
+ this.BXRestNavvyUser = BXRestNavvyUser;
15
+ this.BXRestNavvyTasks = BXRestNavvyTasks;
16
+ this.BXRestMapElapseditem = BXRestMapElapseditem;
17
+ this.Navvy = new Navvy(this.BXRestElapseditem, this.BXRestMapElapseditem);
18
+ }
19
+ /*
20
+ call(methodName: string, ...args: any[]){
21
+ if (typeof this[methodName] === 'function') {
22
+ return this[methodName](...args);
23
+ }
24
+ return this[methodName](...args);
25
+ }
26
+ */
27
+ getList(param = undefined) {
28
+ if (param) {
29
+ if (!param.TASKID && !param.SELECT) {
30
+ param.SELECT = ['*'];
31
+ }
32
+ if (!param.TASKID && !param.PARAMS) {
33
+ param.PARAMS = {
34
+ NAV_PARAMS: {
35
+ nPageSize: 50,
36
+ iNumPage: 1
37
+ }
38
+ };
39
+ }
40
+ }
41
+ return this.Navvy.alterPagNav(this.BXRestElapseditem.getList, param);
42
+ }
43
+ add(param) {
44
+ return this.checkPermissionReadTask(param.TASKID).pipe(mergeMap(allowedReadTask => {
45
+ if (allowedReadTask) {
46
+ return this.checkPermissionAddTask(param.TASKID).pipe(mergeMap(allowed => {
47
+ if (allowed) {
48
+ return this.BXRestElapseditem.add(param);
49
+ }
50
+ else {
51
+ return throwError(() => new Error('Отсутствуют права добавление записи затраченного времени'));
52
+ }
53
+ }));
54
+ }
55
+ else {
56
+ return throwError(() => new Error('Отсутствуют права на чтение задачи'));
57
+ }
58
+ }));
59
+ }
60
+ update(param) {
61
+ return this.Navvy.simple(() => this.checkPermissionReadTask(param.TASKID).pipe(mergeMap(allowedReadTask => {
62
+ if (allowedReadTask) {
63
+ return this.isAllowedModify(param.TASKID, param.ITEMID).pipe(mergeMap(allowed => {
64
+ if (allowed) {
65
+ return this.BXRestElapseditem.update(param);
66
+ }
67
+ else {
68
+ return throwError(() => new Error('Отсутствуют права на изменение записи затраченного времени'));
69
+ }
70
+ }));
71
+ }
72
+ else {
73
+ return throwError(() => new Error('Отсутствуют права на чтение задачи'));
74
+ }
75
+ })), 'Не удалось обновить элемент списка', this.BXRestMapElapseditem.update);
76
+ }
77
+ /*
78
+ getAll(
79
+ params: RequestParamsElapsedGetList | undefined = undefined,
80
+ cache = false
81
+ ): Observable<iHttpAnswerBX<BXRestElapsed[]> | undefined> {
82
+ return this.get(params, cache)
83
+ .pipe(
84
+ mergeMap(items => {
85
+ if (items && items.result) {
86
+ if (items.next) {
87
+ params = (params) ? params : {}
88
+ params.PARAMS = {
89
+ NAV_PARAMS: {
90
+ nPageSize: this.pageSize,
91
+ iNumPage: items.next / this.pageSize + 1
92
+ }
93
+ }
94
+ return this.getAll(params, cache).pipe(
95
+ map(vEnd => {
96
+ if (vEnd && vEnd.result && items.result) {
97
+ return merge(clone(vEnd), {result: [...items.result, ...vEnd.result]})
98
+ }
99
+ return items
100
+ })
101
+ )
102
+ }
103
+ return of(items)
104
+ } else {
105
+ return of(undefined)
106
+ }
107
+ })
108
+ )
109
+ }
110
+ */
111
+ /*
112
+ getByInterval(idsUsers: number[], dateStart: Date, dateEnd: Date) {
113
+ return new Navvy(
114
+ this.BXRestElapseditem.getList(
115
+ {
116
+ ORDER: {
117
+ ID: 'DESC'
118
+ },
119
+ FILTER: {
120
+ USER_ID: idsUsers,
121
+ '>=CREATED_DATE': dateStart.toLocaleString('ru-Ru'),
122
+ '<=CREATED_DATE': dateEnd.toLocaleString('ru-Ru'),
123
+ }
124
+ }
125
+ ))
126
+ /*
127
+ return this.BXRestElapseditem.getList({
128
+ ORDER: {
129
+ ID: 'DESC'
130
+ },
131
+ FILTER: {
132
+ USER_ID: idsUsers,
133
+ '>=CREATED_DATE': dateStart.toLocaleString('ru-Ru'),
134
+ '<=CREATED_DATE': dateEnd.toLocaleString('ru-Ru'),
135
+ }
136
+ }
137
+ )
138
+ */
139
+ /*
140
+ }
141
+
142
+
143
+ /*
144
+ getCacheOff(params: RequestParamsElapsedGetList | undefined = undefined) {
145
+ return this.http.post<iHttpAnswerBX<BXRestElapsedHttp[]> | undefined>
146
+ (this.url.getlist, params, 'не удалось получить время по задачам')
147
+ .pipe(
148
+ map(v => {
149
+ if (v && v.result) {
150
+ const newResult: BXRestElapsed[] = []
151
+ for (let task of v.result) {
152
+ newResult.push(this.elapsedBXMap.AnswerElapsedGetHttpToAnswerElapsedGet(task))
153
+ }
154
+ return extend(v, {result: newResult}) as iHttpAnswerBX<BXRestElapsed[]>
155
+ }
156
+ return undefined
157
+ }),
158
+ tap(v => {
159
+ if (v && params) {
160
+ this.store.dispatch(saveHttpTaskTime({
161
+ filter: clone(params),
162
+ time: v
163
+ }))
164
+ }
165
+ })
166
+ )
167
+ }
168
+ */
169
+ isAllowedModify(idTask, idItem) {
170
+ let permission = Permission.get();
171
+ if (permission?.tasks?.length) {
172
+ let findTask = permission.tasks.find(i => i.id === idTask);
173
+ if (findTask) {
174
+ let find = findTask.elapsedItem.find(i => i.id === idItem);
175
+ if (find && find.verified.edit) {
176
+ return of(find.edit);
177
+ }
178
+ }
179
+ }
180
+ return this.isActionAllowed({
181
+ TASKID: idTask,
182
+ ITEMID: 2,
183
+ ACTIONID: idItem
184
+ }).result().pipe(tap(v => {
185
+ if (v !== undefined) {
186
+ Permission.setTaskElapsedItem(idTask, {
187
+ id: idItem,
188
+ edit: v,
189
+ del: false,
190
+ verified: {
191
+ edit: true,
192
+ del: false,
193
+ }
194
+ });
195
+ }
196
+ }));
197
+ }
198
+ isAllowedRemove(idTask, idItem) {
199
+ return this.isActionAllowed({
200
+ TASKID: idTask,
201
+ ITEMID: 3,
202
+ ACTIONID: idItem
203
+ }).result();
204
+ }
205
+ /**
206
+ * idAction:
207
+ * 1 - ACTION_ELAPSED_TIME_ADD
208
+ * 2 - ACTION_ELAPSED_TIME_MODIFY
209
+ * 3 - ACTION_ELAPSED_TIME_REMOVE
210
+ * @param param
211
+ */
212
+ isActionAllowed(param) {
213
+ return this.Navvy.simple(() => this.checkPermissionReadTask(param.TASKID).pipe(mergeMap(canRead => {
214
+ if (canRead) {
215
+ return this.BXRestElapseditem.isActionAllowed(param);
216
+ }
217
+ return throwError(() => new Error('Отсутствуют права на чтение задачи'));
218
+ })));
219
+ }
220
+ checkPermissionAddTask(idTask) {
221
+ let permission = Permission.get();
222
+ if (permission?.tasks?.length) {
223
+ let findTask = permission.tasks.find(i => i.id === idTask);
224
+ if (findTask?.permission) {
225
+ return of(findTask.permission['ELAPSEDTIME.ADD']);
226
+ }
227
+ return this.BXRestNavvyUser.current().result().pipe(mergeMap(self => {
228
+ if (self) {
229
+ return this.BXRestNavvyTasks.task.getaccess({
230
+ id: idTask,
231
+ users: [self.ID]
232
+ }).result().pipe(tap(v => {
233
+ if (v && v[self.ID]) {
234
+ Permission.set({
235
+ tasks: [{ id: idTask, permission: v[self.ID], elapsedItem: [] }]
236
+ });
237
+ }
238
+ }), map(v => {
239
+ return (v && v[self.ID]) ? v[self.ID]['ELAPSEDTIME.ADD'] : false;
240
+ }));
241
+ }
242
+ return of(undefined);
243
+ }));
244
+ }
245
+ return of(undefined);
246
+ }
247
+ checkPermissionReadTask(idTask) {
248
+ let permission = Permission.get();
249
+ if (permission?.tasks?.length) {
250
+ let findTask = permission.tasks.find(i => i.id === idTask);
251
+ if (findTask?.permission) {
252
+ return of(findTask.permission.ACCEPT);
253
+ }
254
+ return this.BXRestNavvyUser.current().result().pipe(mergeMap(self => {
255
+ if (self) {
256
+ return this.BXRestNavvyTasks.task.getaccess({
257
+ id: idTask,
258
+ users: [self.ID]
259
+ }).result().pipe(tap(v => {
260
+ if (v && v[self.ID]) {
261
+ Permission.set({
262
+ tasks: [{ id: idTask, permission: v[self.ID], elapsedItem: [] }]
263
+ });
264
+ }
265
+ }), map(v => {
266
+ return (v && v[self.ID]) ? v[self.ID].ACCEPT : false;
267
+ }));
268
+ }
269
+ return of(undefined);
270
+ }));
271
+ }
272
+ return of(undefined);
273
+ }
274
+ del(param) {
275
+ return this.Navvy.simple(() => this.checkPermissionReadTask(param.TASKID).pipe(mergeMap(allowedReadTask => {
276
+ if (allowedReadTask) {
277
+ return this.isAllowedRemove(param.TASKID, param.ITEMID).pipe(mergeMap(allowed => {
278
+ if (allowed) {
279
+ return this.BXRestElapseditem.del(param);
280
+ }
281
+ else {
282
+ return throwError(() => new Error('Отсутствуют права на удаление записи затраченного времени'));
283
+ }
284
+ }));
285
+ }
286
+ else {
287
+ return throwError(() => new Error('Отсутствуют права на чтение задачи'));
288
+ }
289
+ })), 'Не удалось удалить элемент списка', v => (v === null));
290
+ }
291
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.6", ngImport: i0, type: BXRestNavvyElapseditem, deps: [{ token: i1.BXRestElapseditem }, { token: i2.BXRestNavvyUser }, { token: i3.BXRestNavvyTasks }, { token: i4.BXRestMapTaskElapseditem }], target: i0.ɵɵFactoryTarget.Injectable }); }
292
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.2.6", ngImport: i0, type: BXRestNavvyElapseditem, providedIn: 'root' }); }
293
+ }
294
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.6", ngImport: i0, type: BXRestNavvyElapseditem, decorators: [{
295
+ type: Injectable,
296
+ args: [{
297
+ providedIn: 'root'
298
+ }]
299
+ }], ctorParameters: function () { return [{ type: i1.BXRestElapseditem }, { type: i2.BXRestNavvyUser }, { type: i3.BXRestNavvyTasks }, { type: i4.BXRestMapTaskElapseditem }]; } });
300
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWxhcHNlZGl0ZW0uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9ieC1yZXN0L3NyYy9yZXF1ZXN0LW5hdnZ5L3Rhc2svZWxhcHNlZGl0ZW0udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQTtBQUMxQyxPQUFPLEVBQUUsR0FBRyxFQUFFLE1BQU0sZ0JBQWdCLENBQUE7QUFDcEMsT0FBTyxFQUFFLFFBQVEsRUFBRSxFQUFFLEVBQUUsR0FBRyxFQUFFLFVBQVUsRUFBRSxNQUFNLE1BQU0sQ0FBQTtBQUlwRCxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sMkJBQTJCLENBQUE7QUFNdEQsT0FBTyxFQUFFLEtBQUssRUFBRSxNQUFNLHNCQUFzQixDQUFBOzs7Ozs7QUFNNUMsTUFBTSxPQUFPLHNCQUFzQjtJQUdqQyxZQUNVLGlCQUFvQyxFQUNwQyxlQUFnQyxFQUNoQyxnQkFBa0MsRUFDbEMsb0JBQThDO1FBSDlDLHNCQUFpQixHQUFqQixpQkFBaUIsQ0FBbUI7UUFDcEMsb0JBQWUsR0FBZixlQUFlLENBQWlCO1FBQ2hDLHFCQUFnQixHQUFoQixnQkFBZ0IsQ0FBa0I7UUFDbEMseUJBQW9CLEdBQXBCLG9CQUFvQixDQUEwQjtRQUV0RCxJQUFJLENBQUMsS0FBSyxHQUFHLElBQUksS0FBSyxDQUFDLElBQUksQ0FBQyxpQkFBaUIsRUFBRSxJQUFJLENBQUMsb0JBQW9CLENBQUMsQ0FBQTtJQUMzRSxDQUFDO0lBRUQ7Ozs7Ozs7T0FPRztJQUVILE9BQU8sQ0FDTCxRQUFnRCxTQUFTO1FBRXpELElBQUksS0FBSyxFQUFFO1lBQ1QsSUFBSSxDQUFDLEtBQUssQ0FBQyxNQUFNLElBQUksQ0FBQyxLQUFLLENBQUMsTUFBTSxFQUFFO2dCQUNsQyxLQUFLLENBQUMsTUFBTSxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUE7YUFDckI7WUFDRCxJQUFJLENBQUMs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Q0FBQyxNQUFNLENBQUUsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLHVCQUF1QixDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsQ0FBQyxJQUFJLENBQzdFLFFBQVEsQ0FBQyxlQUFlLENBQUMsRUFBRTtZQUN6QixJQUFJLGVBQWUsRUFBRTtnQkFDbkIsT0FBTyxJQUFJLENBQUMsZUFBZSxDQUFDLEtBQUssQ0FBQyxNQUFNLEVBQUUsS0FBSyxDQUFDLE1BQU0sQ0FBQyxDQUFDLElBQUksQ0FDMUQsUUFBUSxDQUFDLE9BQU8sQ0FBQyxFQUFFO29CQUNqQixJQUFJLE9BQU8sRUFBRTt3QkFDWCxPQUFPLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLENBQUE7cUJBQ3pDO3lCQUFNO3dCQUNMLE9BQU8sVUFBVSxDQUFDLEdBQUcsRUFBRSxDQUFDLElBQUksS0FBSyxDQUFDLDJEQUEyRCxDQUFDLENBQUMsQ0FBQTtxQkFDaEc7Z0JBQ0gsQ0FBQyxDQUFDLENBQUMsQ0FBQTthQUNOO2lCQUFNO2dCQUNMLE9BQU8sVUFBVSxDQUFDLEdBQUcsRUFBRSxDQUFDLElBQUksS0FBSyxDQUFDLG9DQUFvQyxDQUFDLENBQUMsQ0FBQTthQUN6RTtRQUNILENBQUMsQ0FBQyxDQUNILEVBQUUsbUNBQW1DLEVBQUUsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsS0FBSyxJQUFJLENBQUMsQ0FBQyxDQUFBO0lBQzVELENBQUM7OEdBN1RVLHNCQUFzQjtrSEFBdEIsc0JBQXNCLGNBRnJCLE1BQU07OzJGQUVQLHNCQUFzQjtrQkFIbEMsVUFBVTttQkFBQztvQkFDVixVQUFVLEVBQUUsTUFBTTtpQkFDbkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSdcclxuaW1wb3J0IHsgbWFwIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnXHJcbmltcG9ydCB7IG1lcmdlTWFwLCBvZiwgdGFwLCB0aHJvd0Vycm9yIH0gZnJvbSAncnhqcydcclxuaW1wb3J0IHsgaUJYUmVzdFBhcmFtRWxhcHNlZGl0ZW1HZXQgfSBmcm9tICcuLi8uLi90eXBpZmljYXRpb24vcmVzdC90YXNrL2VsYXBzZWRpdGVtL2dldCdcclxuaW1wb3J0IHsgQlhSZXN0RWxhcHNlZGl0ZW0gfSBmcm9tICcuLi8uLi9yZXF1ZXN0L3Rhc2svZWxhcHNlZGl0ZW0nXHJcbmltcG9ydCB7IGlCWFJlc3RQYXJhbUFkZEVsYXBzZWRpdGVtIH0gZnJvbSAnLi4vLi4vdHlwaWZpY2F0aW9uL3Jlc3QvdGFzay9lbGFwc2VkaXRlbS9hZGQnXHJcbmltcG9ydCB7IFBlcm1pc3Npb24gfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy9wZXJtaXNzaW9uJ1xyXG5pbXBvcnQgeyBCWFJlc3ROYXZ2eVVzZXIgfSBmcm9tICcuLi91c2VyJ1xyXG5pbXBvcnQgeyBCWFJlc3ROYXZ2eVRhc2tzIH0gZnJvbSAnLi4vdGFza3MnXHJcbmltcG9ydCB7IGlCWFJlc3RQYXJhbVVwZGF0ZUVsYXBzZWRpdGVtIH0gZnJvbSAnLi4vLi4vdHlwaWZpY2F0aW9uL3Jlc3QvdGFzay9lbGFwc2VkaXRlbS91cGRhdGUnXHJcbmltcG9ydCB7IGlJc0FjdGlvbkFsbG93ZWRQYXJhbSB9IGZyb20gJy4uLy4uL3R5cGlmaWNhdGlvbi9yZXN0L3Rhc2svZWxhcHNlZGl0ZW0vaXNBY3Rpb25BbGxvd2VkUGFyYW0nXHJcbmltcG9ydCB7IGlCWFJlc3RQYXJhbURlbEVsYXBzZWRpdGVtIH0gZnJvbSAnLi4vLi4vdHlwaWZpY2F0aW9uL3Jlc3QvdGFzay9lbGFwc2VkaXRlbS9kZWwnXHJcbmltcG9ydCB7IE5hdnZ5IH0gZnJvbSAnLi4vLi4vc2VydmljZXMvbmF2dnknXHJcbmltcG9ydCB7IEJYUmVzdE1hcFRhc2tFbGFwc2VkaXRlbSB9IGZyb20gJy4uLy4uL21hcC90YXNrL2VsYXBzZWRpdGVtJ1xyXG5cclxuQEluamVjdGFibGUoe1xyXG4gIHByb3ZpZGVkSW46ICdyb290J1xyXG59KVxyXG5leHBvcnQgY2xhc3MgQlhSZXN0TmF2dnlFbGFwc2VkaXRlbSB7XHJcbiAgcHJpdmF0ZSBOYXZ2eTogTmF2dnk8QlhSZXN0RWxhcHNlZGl0ZW0sIEJYUmVzdE1hcFRhc2tFbGFwc2VkaXRlbT5cclxuXHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICBwcml2YXRlIEJYUmVzdEVsYXBzZWRpdGVtOiBCWFJlc3RFbGFwc2VkaXRlbSxcclxuICAgIHByaXZhdGUgQlhSZXN0TmF2dnlVc2VyOiBCWFJlc3ROYXZ2eVVzZXIsXHJcbiAgICBwcml2YXRlIEJYUmVzdE5hdnZ5VGFza3M6IEJYUmVzdE5hdnZ5VGFza3MsXHJcbiAgICBwcml2YXRlIEJYUmVzdE1hcEVsYXBzZWRpdGVtOiBCWFJlc3RNYXBUYXNrRWxhcHNlZGl0ZW0sXHJcbiAgKSB7XHJcbiAgICB0aGlzLk5hdnZ5ID0gbmV3IE5hdnZ5KHRoaXMuQlhSZXN0RWxhcHNlZGl0ZW0sIHRoaXMuQlhSZXN0TWFwRWxhcHNlZGl0ZW0pXHJcbiAgfVxyXG5cclxuICAvKlxyXG4gIGNhbGwobWV0aG9kTmFtZTogc3RyaW5nLCAuLi5hcmdzOiBhbnlbXSl7XHJcbiAgICBpZiAodHlwZW9mIHRoaXNbbWV0aG9kTmFtZV0gPT09ICdmdW5jdGlvbicpIHtcclxuICAgICAgcmV0dXJuIHRoaXNbbWV0aG9kTmFtZV0oLi4uYXJncyk7XHJcbiAgICB9XHJcbiAgICByZXR1cm4gdGhpc1ttZXRob2ROYW1lXSguLi5hcmdzKTtcclxuICB9XHJcbiAgICovXHJcblxyXG4gIGdldExpc3QoXHJcbiAgICBwYXJhbTogaUJYUmVzdFBhcmFtRWxhcHNlZGl0ZW1HZXQgfCB1bmRlZmluZWQgPSB1bmRlZmluZWRcclxuICApIHtcclxuICAgIGlmIChwYXJhbSkge1xyXG4gICAgICBpZiAoIXBhcmFtLlRBU0tJRCAmJiAhcGFyYW0uU0VMRUNUKSB7XHJcbiAgICAgICAgcGFyYW0uU0VMRUNUID0gWycqJ11cclxuICAgICAgfVxyXG4gICAgICBpZiAoIXBhcmFtLlRBU0tJRCAmJiAhcGFyYW0uUEFSQU1TKSB7XHJcbiAgICAgICAgcGFyYW0uUEFSQU1TID0ge1xyXG4gICAgICAgICAgTkFWX1BBUkFNUzoge1xyXG4gICAgICAgICAgICBuUGFnZVNpemU6IDUwLFxyXG4gICAgICAgICAgICBpTnVtUGFnZTogMVxyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfVxyXG4gICAgcmV0dXJuIHRoaXMuTmF2dnkuYWx0ZXJQYWdOYXYodGhpcy5CWFJlc3RFbGFwc2VkaXRlbS5nZXRMaXN0LCBwYXJhbSlcclxuICB9XHJcblxyXG4gIGFkZChwYXJhbTogaUJYUmVzdFBhcmFtQWRkRWxhcHNlZGl0ZW0pIHtcclxuICAgIHJldHVybiB0aGlzLmNoZWNrUGVybWlzc2lvblJlYWRUYXNrKHBhcmFtLlRBU0tJRCkucGlwZShcclxuICAgICAgbWVyZ2VNYXAoYWxsb3dlZFJlYWRUYXNrID0+IHtcclxuICAgICAgICBpZiAoYWxsb3dlZFJlYWRUYXNrKSB7XHJcbiAgICAgICAgICByZXR1cm4gdGhpcy5jaGVja1Blcm1pc3Npb25BZGRUYXNrKHBhcmFtLlRBU0tJRCkucGlwZShcclxuICAgICAgICAgICAgbWVyZ2VNYXAoYWxsb3dlZCA9PiB7XHJcbiAgICAgICAgICAgICAgaWYgKGFsbG93ZWQpIHtcclxuICAgICAgICAgICAgICAgIHJldHVybiB0aGlzLkJYUmVzdEVsYXBzZWRpdGVtLmFkZChwYXJhbSlcclxuICAgICAgICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICAgICAgcmV0dXJuIHRocm93RXJyb3IoKCkgPT4gbmV3IEVycm9yKCfQntGC0YHRg9GC0YHRgtCy0YPRjtGCINC/0YDQsNCy0LAg0LTQvtCx0LDQstC70LXQvdC40LUg0LfQsNC/0LjRgdC4INC30LDRgtGA0LDRh9C10L3QvdC+0LPQviDQstGA0LXQvNC10L3QuCcpKVxyXG4gICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfSkpXHJcbiAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgIHJldHVybiB0aHJvd0Vycm9yKCgpID0+IG5ldyBFcnJvcign0J7RgtGB0YPRgtGB0YLQstGD0Y7RgiDQv9GA0LDQstCwINC90LAg0YfRgtC10L3QuNC1INC30LDQtNCw0YfQuCcpKVxyXG4gICAgICAgIH1cclxuICAgICAgfSkpXHJcbiAgfVxyXG5cclxuICB1cGRhdGUocGFyYW06IGlCWFJlc3RQYXJhbVVwZGF0ZUVsYXBzZWRpdGVtKSB7XHJcbiAgICByZXR1cm4gdGhpcy5OYXZ2eS5zaW1wbGUoICgpID0+IHRoaXMuY2hlY2tQZXJtaXNzaW9uUmVhZFRhc2socGFyYW0uVEFTS0lEKS5waXBlKFxyXG4gICAgICBtZXJnZU1hcChhbGxvd2VkUmVhZFRhc2sgPT4ge1xyXG4gICAgICAgIGlmIChhbGxvd2VkUmVhZFRhc2spIHtcclxuICAgICAgICAgIHJldHVybiB0aGlzLmlzQWxsb3dlZE1vZGlmeShwYXJhbS5UQVNLSUQsIHBhcmFtLklURU1JRCkucGlwZShcclxuICAgICAgICAgICAgbWVyZ2VNYXAoYWxsb3dlZCA9PiB7XHJcbiAgICAgICAgICAgICAgaWYgKGFsbG93ZWQpIHtcclxuICAgICAgICAgICAgICAgIHJldHVybiB0aGlzLkJYUmVzdEVsYXBzZWRpdGVtLnVwZGF0ZShwYXJhbSlcclxuICAgICAgICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICAgICAgcmV0dXJuIHRocm93RXJyb3IoKCkgPT4gbmV3IEVycm9yKCfQntGC0YHRg9GC0YHRgtCy0YPRjtGCINC/0YDQsNCy0LAg0L3QsCDQuNC30LzQtdC90LXQvdC40LUg0LfQsNC/0LjRgdC4INC30LDRgtGA0LDRh9C10L3QvdC+0LPQviDQstGA0LXQvNC10L3QuCcpKVxyXG4gICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfSkpXHJcbiAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgIHJldHVybiB0aHJvd0Vycm9yKCgpID0+IG5ldyBFcnJvcign0J7RgtGB0YPRgtGB0YLQstGD0Y7RgiDQv9GA0LDQstCwINC90LAg0YfRgtC10L3QuNC1INC30LDQtNCw0YfQuCcpKVxyXG4gICAgICAgIH1cclxuICAgICAgfSkpLCAn0J3QtSDRg9C00LDQu9C+0YHRjCDQvtCx0L3QvtCy0LjRgtGMINGN0LvQtdC80LXQvdGCINGB0L/QuNGB0LrQsCcsIHRoaXMuQlhSZXN0TWFwRWxhcHNlZGl0ZW0udXBkYXRlKVxyXG4gIH1cclxuXHJcbiAgLypcclxuICBnZXRBbGwoXHJcbiAgICBwYXJhbXM6IFJlcXVlc3RQYXJhbXNFbGFwc2VkR2V0TGlzdCB8IHVuZGVmaW5lZCA9IHVuZGVmaW5lZCxcclxuICAgIGNhY2hlID0gZmFsc2VcclxuICApOiBPYnNlcnZhYmxlPGlIdHRwQW5zd2VyQlg8QlhSZXN0RWxhcHNlZFtdPiB8IHVuZGVmaW5lZD4ge1xyXG4gICAgcmV0dXJuIHRoaXMuZ2V0KHBhcmFtcywgY2FjaGUpXHJcbiAgICAgIC5waXBlKFxyXG4gICAgICAgIG1lcmdlTWFwKGl0ZW1zID0+IHtcclxuICAgICAgICAgIGlmIChpdGVtcyAmJiBpdGVtcy5yZXN1bHQpIHtcclxuICAgICAgICAgICAgaWYgKGl0ZW1zLm5leHQpIHtcclxuICAgICAgICAgICAgICBwYXJhbXMgPSAocGFyYW1zKSA/IHBhcmFtcyA6IHt9XHJcbiAgICAgICAgICAgICAgcGFyYW1zLlBBUkFNUyA9IHtcclxuICAgICAgICAgICAgICAgIE5BVl9QQVJBTVM6IHtcclxuICAgICAgICAgICAgICAgICAgblBhZ2VTaXplOiB0aGlzLnBhZ2VTaXplLFxyXG4gICAgICAgICAgICAgICAgICBpTnVtUGFnZTogaXRlbXMubmV4dCAvIHRoaXMucGFnZVNpemUgKyAxXHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgIHJldHVybiB0aGlzLmdldEFsbChwYXJhbXMsIGNhY2hlKS5waXBlKFxyXG4gICAgICAgICAgICAgICAgbWFwKHZFbmQgPT4ge1xyXG4gICAgICAgICAgICAgICAgICBpZiAodkVuZCAmJiB2RW5kLnJlc3VsdCAmJiBpdGVtcy5yZXN1bHQpIHtcclxuICAgICAgICAgICAgICAgICAgICByZXR1cm4gbWVyZ2UoY2xvbmUodkVuZCksIHtyZXN1bHQ6IFsuLi5pdGVtcy5yZXN1bHQsIC4uLnZFbmQucmVzdWx0XX0pXHJcbiAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgcmV0dXJuIGl0ZW1zXHJcbiAgICAgICAgICAgICAgICB9KVxyXG4gICAgICAgICAgICAgIClcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICByZXR1cm4gb2YoaXRlbXMpXHJcbiAgICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICByZXR1cm4gb2YodW5kZWZpbmVkKVxyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH0pXHJcbiAgICAgIClcclxuICB9XHJcbiAgICovXHJcbiAgLypcclxuICBnZXRCeUludGVydmFsKGlkc1VzZXJzOiBudW1iZXJbXSwgZGF0ZVN0YXJ0OiBEYXRlLCBkYXRlRW5kOiBEYXRlKSB7XHJcbiAgICByZXR1cm4gbmV3IE5hdnZ5KFxyXG4gICAgICB0aGlzLkJYUmVzdEVsYXBzZWRpdGVtLmdldExpc3QoXHJcbiAgICAgICAge1xyXG4gICAgICAgICAgT1JERVI6IHtcclxuICAgICAgICAgICAgSUQ6ICdERVNDJ1xyXG4gICAgICAgICAgfSxcclxuICAgICAgICAgIEZJTFRFUjoge1xyXG4gICAgICAgICAgICBVU0VSX0lEOiBpZHNVc2VycyxcclxuICAgICAgICAgICAgJz49Q1JFQVRFRF9EQVRFJzogZGF0ZVN0YXJ0LnRvTG9jYWxlU3RyaW5nKCdydS1SdScpLFxyXG4gICAgICAgICAgICAnPD1DUkVBVEVEX0RBVEUnOiBkYXRlRW5kLnRvTG9jYWxlU3RyaW5nKCdydS1SdScpLFxyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgKSlcclxuICAgIC8qXHJcbiAgICByZXR1cm4gdGhpcy5CWFJlc3RFbGFwc2VkaXRlbS5nZXRMaXN0KHtcclxuICAgICAgICBPUkRFUjoge1xyXG4gICAgICAgICAgSUQ6ICdERVNDJ1xyXG4gICAgICAgIH0sXHJcbiAgICAgICAgRklMVEVSOiB7XHJcbiAgICAgICAgICBVU0VSX0lEOiBpZHNVc2VycyxcclxuICAgICAgICAgICc+PUNSRUFURURfREFURSc6IGRhdGVTdGFydC50b0xvY2FsZVN0cmluZygncnUtUnUnKSxcclxuICAgICAgICAgICc8PUNSRUFURURfREFURSc6IGRhdGVFbmQudG9Mb2NhbGVTdHJpbmcoJ3J1LVJ1JyksXHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICApXHJcbiAgICovXHJcbi8qXHJcbiAgfVxyXG5cclxuXHJcbiAgLypcclxuICBnZXRDYWNoZU9mZihwYXJhbXM6IFJlcXVlc3RQYXJhbXNFbGFwc2VkR2V0TGlzdCB8IHVuZGVmaW5lZCA9IHVuZGVmaW5lZCkge1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0PGlIdHRwQW5zd2VyQlg8QlhSZXN0RWxhcHNlZEh0dHBbXT4gfCB1bmRlZmluZWQ+XHJcbiAgICAodGhpcy51cmwuZ2V0bGlzdCwgcGFyYW1zLCAn0L3QtSDRg9C00LDQu9C+0YHRjCDQv9C+0LvRg9GH0LjRgtGMINCy0YDQtdC80Y8g0L/QviDQt9Cw0LTQsNGH0LDQvCcpXHJcbiAgICAgIC5waXBlKFxyXG4gICAgICAgIG1hcCh2ID0+IHtcclxuICAgICAgICAgIGlmICh2ICYmIHYucmVzdWx0KSB7XHJcbiAgICAgICAgICAgIGNvbnN0IG5ld1Jlc3VsdDogQlhSZXN0RWxhcHNlZFtdID0gW11cclxuICAgICAgICAgICAgZm9yIChsZXQgdGFzayBvZiB2LnJlc3VsdCkge1xyXG4gICAgICAgICAgICAgIG5ld1Jlc3VsdC5wdXNoKHRoaXMuZWxhcHNlZEJYTWFwLkFuc3dlckVsYXBzZWRHZXRIdHRwVG9BbnN3ZXJFbGFwc2VkR2V0KHRhc2spKVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIHJldHVybiBleHRlbmQodiwge3Jlc3VsdDogbmV3UmVzdWx0fSkgYXMgaUh0dHBBbnN3ZXJCWDxCWFJlc3RFbGFwc2VkW10+XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgICByZXR1cm4gdW5kZWZpbmVkXHJcbiAgICAgICAgfSksXHJcbiAgICAgICAgdGFwKHYgPT4ge1xyXG4gICAgICAgICAgaWYgKHYgJiYgcGFyYW1zKSB7XHJcbiAgICAgICAgICAgIHRoaXMuc3RvcmUuZGlzcGF0Y2goc2F2ZUh0dHBUYXNrVGltZSh7XHJcbiAgICAgICAgICAgICAgZmlsdGVyOiBjbG9uZShwYXJhbXMpLFxyXG4gICAgICAgICAgICAgIHRpbWU6IHZcclxuICAgICAgICAgICAgfSkpXHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfSlcclxuICAgICAgKVxyXG4gIH1cclxuICAqL1xyXG5cclxuICBpc0FsbG93ZWRNb2RpZnkoaWRUYXNrOiBudW1iZXIsIGlkSXRlbTogbnVtYmVyKSB7XHJcbiAgICBsZXQgcGVybWlzc2lvbiA9IFBlcm1pc3Npb24uZ2V0KClcclxuICAgIGlmIChwZXJtaXNzaW9uPy50YXNrcz8ubGVuZ3RoKSB7XHJcbiAgICAgIGxldCBmaW5kVGFzayA9IHBlcm1pc3Npb24udGFza3MuZmluZChpID0+IGkuaWQgPT09IGlkVGFzaylcclxuICAgICAgaWYgKGZpbmRUYXNrKSB7XHJcbiAgICAgICAgbGV0IGZpbmQgPSBmaW5kVGFzay5lbGFwc2VkSXRlbS5maW5kKGkgPT4gaS5pZCA9PT0gaWRJdGVtKVxyXG4gICAgICAgIGlmIChmaW5kICYmIGZpbmQudmVyaWZpZWQuZWRpdCkge1xyXG4gICAgICAgICAgcmV0dXJuIG9mKGZpbmQuZWRpdClcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICByZXR1cm4gdGhpcy5pc0FjdGlvbkFsbG93ZWQoe1xyXG4gICAgICBUQVNLSUQ6IGlkVGFzayxcclxuICAgICAgSVRFTUlEOiAyLFxyXG4gICAgICBBQ1RJT05JRDogaWRJdGVtXHJcbiAgICB9KS5yZXN1bHQoKS5waXBlKFxyXG4gICAgICB0YXAodiA9PiB7XHJcbiAgICAgICAgaWYgKHYgIT09IHVuZGVmaW5lZCkge1xyXG4gICAgICAgICAgUGVybWlzc2lvbi5zZXRUYXNrRWxhcHNlZEl0ZW0oaWRUYXNrLFxyXG4gICAgICAgICAgICB7XHJcbiAgICAgICAgICAgICAgaWQ6IGlkSXRlbSxcclxuICAgICAgICAgICAgICBlZGl0OiB2LFxyXG4gICAgICAgICAgICAgIGRlbDogZmFsc2UsXHJcbiAgICAgICAgICAgICAgdmVyaWZpZWQ6IHtcclxuICAgICAgICAgICAgICAgIGVkaXQ6IHRydWUsXHJcbiAgICAgICAgICAgICAgICBkZWw6IGZhbHNlLFxyXG4gICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfSlcclxuICAgICAgICB9XHJcbiAgICAgIH0pXHJcbiAgICApXHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGlzQWxsb3dlZFJlbW92ZShpZFRhc2s6IG51bWJlciwgaWRJdGVtOiBudW1iZXIpIHtcclxuICAgIHJldHVybiB0aGlzLmlzQWN0aW9uQWxsb3dlZChcclxuICAgICAge1xyXG4gICAgICAgIFRBU0tJRDogaWRUYXNrLFxyXG4gICAgICAgIElURU1JRDogMyxcclxuICAgICAgICBBQ1RJT05JRDogaWRJdGVtXHJcbiAgICAgIH0pLnJlc3VsdCgpXHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBpZEFjdGlvbjpcclxuICAgKiAxIC0gQUNUSU9OX0VMQVBTRURfVElNRV9BRERcclxuICAgKiAyIC0gQUNUSU9OX0VMQVBTRURfVElNRV9NT0RJRllcclxuICAgKiAzIC0gQUNUSU9OX0VMQVBTRURfVElNRV9SRU1PVkVcclxuICAgKiBAcGFyYW0gcGFyYW1cclxuICAgKi9cclxuICBpc0FjdGlvbkFsbG93ZWQocGFyYW06IGlJc0FjdGlvbkFsbG93ZWRQYXJhbSkge1xyXG4gICAgcmV0dXJuIHRoaXMuTmF2dnkuc2ltcGxlKCgpID0+IHRoaXMuY2hlY2tQZXJtaXNzaW9uUmVhZFRhc2socGFyYW0uVEFTS0lEKS5waXBlKFxyXG4gICAgICBtZXJnZU1hcChjYW5SZWFkID0+IHtcclxuICAgICAgICBpZiAoY2FuUmVhZCkge1xyXG4gICAgICAgICAgcmV0dXJuIHRoaXMuQlhSZXN0RWxhcHNlZGl0ZW0uaXNBY3Rpb25BbGxvd2VkKHBhcmFtKVxyXG4gICAgICAgIH1cclxuICAgICAgICByZXR1cm4gdGhyb3dFcnJvcigoKSA9PiBuZXcgRXJyb3IoJ9Ce0YLRgdGD0YLRgdGC0LLRg9GO0YIg0L/RgNCw0LLQsCDQvdCwINGH0YLQtdC90LjQtSDQt9Cw0LTQsNGH0LgnKSlcclxuICAgICAgfSlcclxuICAgICkpXHJcbiAgfVxyXG5cclxuICBjaGVja1Blcm1pc3Npb25BZGRUYXNrKGlkVGFzazogbnVtYmVyKSB7XHJcbiAgICBsZXQgcGVybWlzc2lvbiA9IFBlcm1pc3Npb24uZ2V0KClcclxuICAgIGlmIChwZXJtaXNzaW9uPy50YXNrcz8ubGVuZ3RoKSB7XHJcbiAgICAgIGxldCBmaW5kVGFzayA9IHBlcm1pc3Npb24udGFza3MuZmluZChpID0+IGkuaWQgPT09IGlkVGFzaylcclxuICAgICAgaWYgKGZpbmRUYXNrPy5wZXJtaXNzaW9uKSB7XHJcbiAgICAgICAgcmV0dXJuIG9mKGZpbmRUYXNrLnBlcm1pc3Npb25bJ0VMQVBTRURUSU1FLkFERCddKVxyXG4gICAgICB9XHJcbiAgICAgIHJldHVybiB0aGlzLkJYUmVzdE5hdnZ5VXNlci5jdXJyZW50KCkucmVzdWx0KCkucGlwZShcclxuICAgICAgICBtZXJnZU1hcChzZWxmID0+IHtcclxuICAgICAgICAgIGlmIChzZWxmKSB7XHJcbiAgICAgICAgICAgIHJldHVybiB0aGlzLkJYUmVzdE5hdnZ5VGFza3MudGFzay5nZXRhY2Nlc3MoXHJcbiAgICAgICAgICAgICAge1xyXG4gICAgICAgICAgICAgICAgaWQ6IGlkVGFzayxcclxuICAgICAgICAgICAgICAgIHVzZXJzOiBbc2VsZi5JRF1cclxuICAgICAgICAgICAgICB9KS5yZXN1bHQoKS5waXBlKFxyXG4gICAgICAgICAgICAgIHRhcCh2ID0+IHtcclxuICAgICAgICAgICAgICAgIGlmICh2ICYmIHZbc2VsZi5JRF0pIHtcclxuICAgICAgICAgICAgICAgICAgUGVybWlzc2lvbi5zZXQoe1xyXG4gICAgICAgICAgICAgICAgICAgIHRhc2tzOiBbe2lkOiBpZFRhc2ssIHBlcm1pc3Npb246IHZbc2VsZi5JRF0sIGVsYXBzZWRJdGVtOiBbXX1dXHJcbiAgICAgICAgICAgICAgICAgIH0pXHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgfSksXHJcbiAgICAgICAgICAgICAgbWFwKHYgPT4ge1xyXG4gICAgICAgICAgICAgICAgcmV0dXJuICh2ICYmIHZbc2VsZi5JRF0pID8gdltzZWxmLklEXVsnRUxBUFNFRFRJTUUuQUREJ10gOiBmYWxzZVxyXG4gICAgICAgICAgICAgIH0pLFxyXG4gICAgICAgICAgICApXHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgICByZXR1cm4gb2YodW5kZWZpbmVkKVxyXG4gICAgICAgIH0pXHJcbiAgICAgIClcclxuICAgIH1cclxuXHJcbiAgICByZXR1cm4gb2YodW5kZWZpbmVkKVxyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBjaGVja1Blcm1pc3Npb25SZWFkVGFzayhpZFRhc2s6IG51bWJlcikge1xyXG4gICAgbGV0IHBlcm1pc3Npb24gPSBQZXJtaXNzaW9uLmdldCgpXHJcbiAgICBpZiAocGVybWlzc2lvbj8udGFza3M/Lmxlbmd0aCkge1xyXG4gICAgICBsZXQgZmluZFRhc2sgPSBwZXJtaXNzaW9uLnRhc2tzLmZpbmQoaSA9PiBpLmlkID09PSBpZFRhc2spXHJcbiAgICAgIGlmIChmaW5kVGFzaz8ucGVybWlzc2lvbikge1xyXG4gICAgICAgIHJldHVybiBvZihmaW5kVGFzay5wZXJtaXNzaW9uLkFDQ0VQVClcclxuICAgICAgfVxyXG4gICAgICByZXR1cm4gdGhpcy5CWFJlc3ROYXZ2eVVzZXIuY3VycmVudCgpLnJlc3VsdCgpLnBpcGUoXHJcbiAgICAgICAgbWVyZ2VNYXAoc2VsZiA9PiB7XHJcbiAgICAgICAgICBpZiAoc2VsZikge1xyXG4gICAgICAgICAgICByZXR1cm4gdGhpcy5CWFJlc3ROYXZ2eVRhc2tzLnRhc2suZ2V0YWNjZXNzKFxyXG4gICAgICAgICAgICAgIHtcclxuICAgICAgICAgICAgICAgIGlkOiBpZFRhc2ssXHJcbiAgICAgICAgICAgICAgICB1c2VyczogW3NlbGYuSURdXHJcbiAgICAgICAgICAgICAgfSkucmVzdWx0KCkucGlwZShcclxuICAgICAgICAgICAgICB0YXAodiA9PiB7XHJcbiAgICAgICAgICAgICAgICBpZiAodiAmJiB2W3NlbGYuSURdKSB7XHJcbiAgICAgICAgICAgICAgICAgIFBlcm1pc3Npb24uc2V0KHtcclxuICAgICAgICAgICAgICAgICAgICB0YXNrczogW3tpZDogaWRUYXNrLCBwZXJtaXNzaW9uOiB2W3NlbGYuSURdLCBlbGFwc2VkSXRlbTogW119XVxyXG4gICAgICAgICAgICAgICAgICB9KVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgIH0pLFxyXG4gICAgICAgICAgICAgIG1hcCh2ID0+IHtcclxuICAgICAgICAgICAgICAgIHJldHVybiAodiAmJiB2W3NlbGYuSURdKSA/IHZbc2VsZi5JRF0uQUNDRVBUIDogZmFsc2VcclxuICAgICAgICAgICAgICB9KSxcclxuICAgICAgICAgICAgKVxyXG4gICAgICAgICAgfVxyXG4gICAgICAgICAgcmV0dXJuIG9mKHVuZGVmaW5lZClcclxuICAgICAgICB9KVxyXG4gICAgICApXHJcbiAgICB9XHJcblxyXG4gICAgcmV0dXJuIG9mKHVuZGVmaW5lZClcclxuICB9XHJcblxyXG4gIGRlbChwYXJhbTogaUJYUmVzdFBhcmFtRGVsRWxhcHNlZGl0ZW0pIHtcclxuICAgIHJldHVybiB0aGlzLk5hdnZ5LnNpbXBsZSggKCkgPT4gdGhpcy5jaGVja1Blcm1pc3Npb25SZWFkVGFzayhwYXJhbS5UQVNLSUQpLnBpcGUoXHJcbiAgICAgIG1lcmdlTWFwKGFsbG93ZWRSZWFkVGFzayA9PiB7XHJcbiAgICAgICAgaWYgKGFsbG93ZWRSZWFkVGFzaykge1xyXG4gICAgICAgICAgcmV0dXJuIHRoaXMuaXNBbGxvd2VkUmVtb3ZlKHBhcmFtLlRBU0tJRCwgcGFyYW0uSVRFTUlEKS5waXBlKFxyXG4gICAgICAgICAgICBtZXJnZU1hcChhbGxvd2VkID0+IHtcclxuICAgICAgICAgICAgICBpZiAoYWxsb3dlZCkge1xyXG4gICAgICAgICAgICAgICAgcmV0dXJuIHRoaXMuQlhSZXN0RWxhcHNlZGl0ZW0uZGVsKHBhcmFtKVxyXG4gICAgICAgICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgICAgICByZXR1cm4gdGhyb3dFcnJvcigoKSA9PiBuZXcgRXJyb3IoJ9Ce0YLRgdGD0YLRgdGC0LLRg9GO0YIg0L/RgNCw0LLQsCDQvdCwINGD0LTQsNC70LXQvdC40LUg0LfQsNC/0LjRgdC4INC30LDRgtGA0LDRh9C10L3QvdC+0LPQviDQstGA0LXQvNC10L3QuCcpKVxyXG4gICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfSkpXHJcbiAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgIHJldHVybiB0aHJvd0Vycm9yKCgpID0+IG5ldyBFcnJvcign0J7RgtGB0YPRgtGB0YLQstGD0Y7RgiDQv9GA0LDQstCwINC90LAg0YfRgtC10L3QuNC1INC30LDQtNCw0YfQuCcpKVxyXG4gICAgICAgIH1cclxuICAgICAgfSlcclxuICAgICksICfQndC1INGD0LTQsNC70L7RgdGMINGD0LTQsNC70LjRgtGMINGN0LvQtdC80LXQvdGCINGB0L/QuNGB0LrQsCcsIHYgPT4gKHYgPT09IG51bGwpKVxyXG4gIH1cclxuXHJcbn1cclxuIl19
@@ -5,13 +5,13 @@ export class BXRestNavvyTask {
5
5
  constructor(elapseditem) {
6
6
  this.elapseditem = elapseditem;
7
7
  }
8
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.6", ngImport: i0, type: BXRestNavvyTask, deps: [{ token: i1.BXRestNavvyElapseditem }], target: i0.ɵɵFactoryTarget.Injectable }); }
9
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.2.6", ngImport: i0, type: BXRestNavvyTask, providedIn: 'root' }); }
8
10
  }
9
- BXRestNavvyTask.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: BXRestNavvyTask, deps: [{ token: i1.BXRestNavvyElapseditem }], target: i0.ɵɵFactoryTarget.Injectable });
10
- BXRestNavvyTask.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: BXRestNavvyTask, providedIn: 'root' });
11
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: BXRestNavvyTask, decorators: [{
11
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.6", ngImport: i0, type: BXRestNavvyTask, decorators: [{
12
12
  type: Injectable,
13
13
  args: [{
14
14
  providedIn: 'root'
15
15
  }]
16
16
  }], ctorParameters: function () { return [{ type: i1.BXRestNavvyElapseditem }]; } });
17
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFzay5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL2J4LXJlc3Qvc3JjL3JlcXVlc3QtbmF2dnkvdGFzay50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFBOzs7QUFNMUMsTUFBTSxPQUFPLGVBQWU7SUFFMUIsWUFDUyxXQUFtQztRQUFuQyxnQkFBVyxHQUFYLFdBQVcsQ0FBd0I7SUFFNUMsQ0FBQzs7NEdBTFUsZUFBZTtnSEFBZixlQUFlLGNBRmQsTUFBTTsyRkFFUCxlQUFlO2tCQUgzQixVQUFVO21CQUFDO29CQUNWLFVBQVUsRUFBRSxNQUFNO2lCQUNuQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJ1xyXG5pbXBvcnQgeyBCWFJlc3ROYXZ2eUVsYXBzZWRpdGVtIH0gZnJvbSAnLi90YXNrL2VsYXBzZWRpdGVtJ1xyXG5cclxuQEluamVjdGFibGUoe1xyXG4gIHByb3ZpZGVkSW46ICdyb290J1xyXG59KVxyXG5leHBvcnQgY2xhc3MgQlhSZXN0TmF2dnlUYXNrIHtcclxuXHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICBwdWJsaWMgZWxhcHNlZGl0ZW06IEJYUmVzdE5hdnZ5RWxhcHNlZGl0ZW0sXHJcbiAgKSB7XHJcbiAgfVxyXG5cclxufVxyXG4iXX0=
17
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFzay5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL2J4LXJlc3Qvc3JjL3JlcXVlc3QtbmF2dnkvdGFzay50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFBOzs7QUFNMUMsTUFBTSxPQUFPLGVBQWU7SUFFMUIsWUFDUyxXQUFtQztRQUFuQyxnQkFBVyxHQUFYLFdBQVcsQ0FBd0I7SUFFNUMsQ0FBQzs4R0FMVSxlQUFlO2tIQUFmLGVBQWUsY0FGZCxNQUFNOzsyRkFFUCxlQUFlO2tCQUgzQixVQUFVO21CQUFDO29CQUNWLFVBQVUsRUFBRSxNQUFNO2lCQUNuQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJ1xyXG5pbXBvcnQgeyBCWFJlc3ROYXZ2eUVsYXBzZWRpdGVtIH0gZnJvbSAnLi90YXNrL2VsYXBzZWRpdGVtJ1xyXG5cclxuQEluamVjdGFibGUoe1xyXG4gIHByb3ZpZGVkSW46ICdyb290J1xyXG59KVxyXG5leHBvcnQgY2xhc3MgQlhSZXN0TmF2dnlUYXNrIHtcclxuXHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICBwdWJsaWMgZWxhcHNlZGl0ZW06IEJYUmVzdE5hdnZ5RWxhcHNlZGl0ZW0sXHJcbiAgKSB7XHJcbiAgfVxyXG5cclxufVxyXG4iXX0=
@@ -0,0 +1,219 @@
1
+ import { Injectable } from '@angular/core';
2
+ import { Navvy } from '../../services/navvy';
3
+ import * as i0 from "@angular/core";
4
+ import * as i1 from "../../request/tasks/task";
5
+ import * as i2 from "../../map/tasks/task";
6
+ // export interface TimeProcess {
7
+ // total: number,
8
+ // next: number
9
+ // }
10
+ export class BXRestNavvyTasksTask {
11
+ constructor(BXRestTasksTask,
12
+ // private snackBar: SnackBarService,
13
+ // private store: Store<{ tasks: IStoreTask }>,
14
+ BXRestMapTasksTask) {
15
+ this.BXRestTasksTask = BXRestTasksTask;
16
+ this.BXRestMapTasksTask = BXRestMapTasksTask;
17
+ // pageSize = 50
18
+ // nowLoad$ = new ReplaySubject<TimeProcess>(1)
19
+ this.def = {
20
+ select: ['ID', 'PARENT_ID', 'TITLE', 'DESCRIPTION', 'MARK', 'PRIORITY', 'STATUS', 'MULTITASK',
21
+ 'GROUP_ID', 'STAGE_ID', 'CREATED_BY', 'CREATED_DATE', 'RESPONSIBLE_ID', 'ACCOMPLICES', 'AUDITORS',
22
+ 'CHANGED_BY', 'CHANGED_DATE', 'STATUS_CHANGED_DATE', 'CLOSED_BY', 'CLOSED_DATE', 'DATE_START', 'VIEWED_DATE',
23
+ 'DEADLINE', 'START_DATE_PLAN', 'END_DATE_PLAN', 'FORKED_BY_TEMPLATE_ID', 'TIME_ESTIMATE', 'TIME_SPENT_IN_LOGS',
24
+ 'TAGS', 'ALLOW_TIME_TRACKING'
25
+ ]
26
+ };
27
+ this.Navvy = new Navvy(this.BXRestTasksTask, this.BXRestMapTasksTask);
28
+ // this.storeTask$ = this.store.select('tasks')
29
+ // this.nowLoad$.next({
30
+ // total: 0,
31
+ // next: 0
32
+ // })
33
+ }
34
+ add(param) {
35
+ return this.Navvy.simpleWithArg(this.BXRestTasksTask.add, param, 'Не удалось добавить задачу', this.BXRestMapTasksTask.add);
36
+ // return this.http.post<{ task: TaskBXHttp }>(this.url.add, {fields: param}).pipe(
37
+ // map(v => {
38
+ // if (v && v.result && v.result.task) {
39
+ // return Object.assign(
40
+ // v,
41
+ // {
42
+ // result: this.taskBXMap.TaskBXHttpToTaskBX(v.result.task)
43
+ // })
44
+ // }
45
+ // return undefined
46
+ // }
47
+ // ))
48
+ }
49
+ /*
50
+ update(taskId: number, updateFields: iBXRestTaskFieldsName[], task: iBXRestTask) {
51
+ let sendTask: Record<string, any> = {}
52
+ let taskTS: Record<string, any> = task
53
+ if (updateFields.length) {
54
+ for (let updateField of updateFields) {
55
+ if (taskTS[camelCase(updateField)]) {
56
+ sendTask[updateField] = taskTS[camelCase(updateField)]
57
+ }
58
+ }
59
+ if (Object.values(sendTask).length) {
60
+ return this.http.post(
61
+ this.url.update,
62
+ {taskId: taskId, fields: sendTask},
63
+ 'error to update task')
64
+ } else {
65
+ this.snackBar.error('not valid send data task')
66
+ console.error('not valid send data task', sendTask, task)
67
+ return of(undefined)
68
+ }
69
+ }
70
+
71
+ this.snackBar.warning('not have field for update')
72
+ return of(undefined)
73
+ }
74
+ */
75
+ get(param) {
76
+ if (!param.select) {
77
+ param.select = this.def.select;
78
+ }
79
+ return this.Navvy.simpleWithArg(this.BXRestTasksTask.get, param, 'Не удалось получить задачу', this.BXRestMapTasksTask.get);
80
+ }
81
+ list(param = {}) {
82
+ if (!param.select) {
83
+ param.select = this.def.select;
84
+ }
85
+ return this.Navvy.simpleWithArg(this.BXRestTasksTask.list, param, 'Не удалось получить список задач', this.BXRestMapTasksTask.list);
86
+ }
87
+ /*
88
+ listArray(requestArray: RequestApiTaskListBX = {}) {
89
+ return this.list(requestArray).pipe(
90
+ map(v => this.http.mapResult(v)),
91
+ map(v => (v && v.tasks) ? v.tasks : [])
92
+ )
93
+ }
94
+
95
+ listAll(requestArray: RequestApiTaskListBX = {}, cache = false): Observable<TaskBX[]> {
96
+ if (!requestArray.select) {
97
+ requestArray.select = this.def.select
98
+ if (cache) {
99
+ return this.storeTask$.pipe(
100
+ take(1),
101
+ mergeMap(tasks => {
102
+ if (tasks && tasks.data.http.list && requestArray.filter && requestArray.filter.ID) {
103
+ const ids = (typeof requestArray.filter.ID === 'number') ? [requestArray.filter.ID] : requestArray.filter.ID
104
+ let filter = tasks.data.http.list.filter(i => (i.id) ? ids.includes(i.id) : false)
105
+ if (filter.length === ids.length) {
106
+ return of(filter)
107
+ }
108
+ }
109
+ return this.getEndListArray(requestArray)
110
+ })
111
+ )
112
+ }
113
+ return this.getEndListArray(requestArray)
114
+ }
115
+ return this.getEndListArray(requestArray)
116
+ }
117
+
118
+ getEndListArray(requestArray: RequestApiTaskListBX): Observable<TaskBX[]> {
119
+ return this.list(requestArray).pipe(
120
+ mergeMap((items: AnswerApiTaskBX | undefined): ObservableInput<any> | Observable<AnswerApiTaskBX[]> => {
121
+ if (items && items.result && typeof items.result.tasks === 'object') {
122
+ const items$ = of(items.result.tasks)
123
+ if (items.next) {
124
+ this.nowLoad$.next({
125
+ total: (items.total) ? items.total : 0,
126
+ next: items.next
127
+ })
128
+ requestArray.start = items.next
129
+ return this.getEndListArray(requestArray).pipe(
130
+ map(vEnd => {
131
+ if (vEnd && items.result.tasks) {
132
+ return [...items.result.tasks, ...vEnd]
133
+ }
134
+ return (items.result.tasks) ? items.result.tasks : []
135
+ }))
136
+ }
137
+ this.nowLoad$.next({
138
+ total: 0,
139
+ next: 0
140
+ })
141
+ return items$
142
+ } else {
143
+ return of([])
144
+ }
145
+ })
146
+ )
147
+ }
148
+
149
+ getFields() {
150
+ return this.storeTask$.pipe(
151
+ mergeMap(v => {
152
+ if (v && !v.data.fields) {
153
+ return this.http.post<iHttpAnswerBX<{ fields: iGetFieldsDescription }>>(this.url.getFields).pipe(
154
+ tap(v => {
155
+ if (v && v.result) {
156
+ this.store.dispatch(saveFields(v.result))
157
+ }
158
+ }),
159
+ map(v => {
160
+ if (v && v.result && v.result.fields) {
161
+ return {result: v.result.fields}
162
+ }
163
+
164
+ return undefined
165
+ })
166
+ )
167
+ }
168
+ if (v.data.fields) {
169
+ return of({result: clone<iGetFieldsDescription>(v.data.fields)})
170
+ } else {
171
+ return of(undefined)
172
+ }
173
+ })
174
+ )
175
+ }
176
+
177
+ deleteResultFromComment(commentID: number) {
178
+ return this.http.post<iHttpAnswerBX<any>>(this.url.result.deleteFromComment, {commentId: commentID})
179
+ }
180
+
181
+ addResultFromComment(commentID: number) {
182
+ return this.http.post<iHttpAnswerBX<iTaskResultHttp>>(this.url.result.addFromComment, {commentId: commentID})
183
+ .pipe(
184
+ map(v => {
185
+ if (v && v.result) {
186
+ this.taskResultMap.iTaskResultHttpToiTaskResult(v.result)
187
+ }
188
+ return undefined
189
+ }))
190
+ }
191
+
192
+ getResulList(taskId: number): Observable<iTaskResult[] | undefined> {
193
+ return this.http.post<iHttpAnswerBX<iTaskResultHttp[]>>(this.url.result.list, {taskId: taskId})
194
+ .pipe(
195
+ map(v => {
196
+ if (v && v.result) {
197
+ return v.result.map(i => this.taskResultMap.iTaskResultHttpToiTaskResult(i))
198
+ }
199
+ return undefined
200
+ }))
201
+ }
202
+
203
+ getPlannerList() {
204
+ return this.http.post<iHttpAnswerBX<(string | number)[]>>(this.url.planner.getlist)
205
+ }
206
+ */
207
+ getaccess(param) {
208
+ return this.Navvy.simpleWithArg(this.BXRestTasksTask.getaccess, param, 'Не удалось получить права на указанных пользователей', this.BXRestMapTasksTask.getaccess);
209
+ }
210
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.6", ngImport: i0, type: BXRestNavvyTasksTask, deps: [{ token: i1.BXRestTasksTask }, { token: i2.BXRestMapTasksTask }], target: i0.ɵɵFactoryTarget.Injectable }); }
211
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.2.6", ngImport: i0, type: BXRestNavvyTasksTask, providedIn: 'root' }); }
212
+ }
213
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.6", ngImport: i0, type: BXRestNavvyTasksTask, decorators: [{
214
+ type: Injectable,
215
+ args: [{
216
+ providedIn: 'root'
217
+ }]
218
+ }], ctorParameters: function () { return [{ type: i1.BXRestTasksTask }, { type: i2.BXRestMapTasksTask }]; } });
219
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFzay5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2J4LXJlc3Qvc3JjL3JlcXVlc3QtbmF2dnkvdGFza3MvdGFzay50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFBO0FBSzFDLE9BQU8sRUFBRSxLQUFLLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQTs7OztBQUs1QyxpQ0FBaUM7QUFDakMsbUJBQW1CO0FBQ25CLGlCQUFpQjtBQUNqQixJQUFJO0FBTUosTUFBTSxPQUFPLG9CQUFvQjtJQWlCL0IsWUFDVSxlQUFnQztJQUN4QyxxQ0FBcUM7SUFDckMsZ0RBQWdEO0lBQ3hDLGtCQUFzQztRQUh0QyxvQkFBZSxHQUFmLGVBQWUsQ0FBaUI7UUFHaEMsdUJBQWtCLEdBQWxCLGtCQUFrQixDQUFvQjtRQW5CaEQsZ0JBQWdCO1FBQ2hCLCtDQUErQztRQUUvQyxRQUFHLEdBQXdDO1lBQ3pDLE1BQU0sRUFBRSxDQUFDLElBQUksRUFBRSxXQUFXLEVBQUUsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLEVBQUUsVUFBVSxFQUFFLFFBQVEsRUFBRSxXQUFXO2dCQUMzRixVQUFVLEVBQUUsVUFBVSxFQUFFLFlBQVksRUFBRSxjQUFjLEVBQUUsZ0JBQWdCLEVBQUUsYUFBYSxFQUFFLFVBQVU7Z0JBQ2pHLFlBQVksRUFBRSxjQUFjLEVBQUUscUJBQXFCLEVBQUUsV0FBVyxFQUFFLGFBQWEsRUFBRSxZQUFZLEVBQUUsYUFBYTtnQkFDNUcsVUFBVSxFQUFFLGlCQUFpQixFQUFFLGVBQWUsRUFBRSx1QkFBdUIsRUFBRSxlQUFlLEVBQUUsb0JBQW9CO2dCQUM5RyxNQUFNLEVBQUUscUJBQXFCO2FBQzlCO1NBQ0YsQ0FBQTtRQWFDLElBQUksQ0FBQyxLQUFLLEdBQUcsSUFBSSxLQUFLLENBQUMsSUFBSSxDQUFDLGVBQWUsRUFBRSxJQUFJLENBQUMsa0JBQWtCLENBQUMsQ0FBQTtRQUNyRSxnREFBZ0Q7UUFDaEQsd0JBQXdCO1FBQ3hCLGVBQWU7UUFDZixhQUFhO1FBQ2IsTUFBTTtJQUNSLENBQUM7SUFFRCxHQUFHLENBQUMsS0FBc0M7UUFDeEMsT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDLGFBQWEsQ0FDN0IsSUFBSSxDQUFDLGVBQWUsQ0FBQyxHQUFHLEVBQ3hCLEtBQUssRUFDTCw0QkFBNEIsRUFDNUIsSUFBSSxDQUFDLGtCQUFrQixDQUFDLEdBQUcsQ0FDNUIsQ0FBQTtRQUNELG1GQUFtRjtRQUNuRixlQUFlO1FBQ2YsOENBQThDO1FBQzlDLGdDQUFnQztRQUNoQyxlQUFlO1FBQ2YsY0FBYztRQUNkLHVFQUF1RTtRQUN2RSxlQUFlO1FBQ2YsVUFBVTtRQUNWLHlCQUF5QjtRQUN6QixRQUFRO1FBQ1IsT0FBTztJQUNULENBQUM7SUFFRDs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztNQXlCRTtJQUVGLEdBQUcsQ0FBQyxLQUEwQjtRQUM1QixJQUFJLENBQUMsS0FBSyxDQUFDLE1BQU0sRUFBRTtZQUNqQixLQUFLLENBQUMsTUFBTSxHQUFHLElBQUksQ0FBQyxHQUFHLENBQUMsTUFBTSxDQUFBO1NBQy9CO1FBQ0QsT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDLGFBQWEsQ0FDN0IsSUFBSSxDQUFDLGVBQWUsQ0FBQyxHQUFHLEVBQ3hCLEtBQUssRUFDTCw0QkFBNEIsRUFDNUIsSUFBSSxDQUFDLGtCQUFrQixDQUFDLEdBQUcsQ0FDNUIsQ0FBQTtJQUNILENBQUM7SUFHRCxJQUFJLENBQUMsUUFBK0IsRUFBRTtRQUNwQyxJQUFJLENBQUMsS0FBSyxDQUFDLE1BQU0sRUFBRTtZQUNqQixLQUFLLENBQUMsTUFBTSxHQUFHLElBQUksQ0FBQyxHQUFHLENBQUMsTUFBTSxDQUFBO1NBQy9CO1FBQ0QsT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDLGFBQWEsQ0FDN0IsSUFBSSxDQUFDLGVBQWUsQ0FBQyxJQUFJLEVBQ3pCLEtBQUssRUFDTCxrQ0FBa0MsRUFDbEMsSUFBSSxDQUFDLGtCQUFrQixDQUFDLElBQUksQ0FDN0IsQ0FBQTtJQUNILENBQUM7SUFFRDs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7T0F1SEc7SUFFSCxTQUFTLENBQUMsS0FBZ0M7UUFDeEMsT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDLGFBQWEsQ0FDN0IsSUFBSSxDQUFDLGVBQWUsQ0FBQyxTQUFTLEVBQzlCLEtBQUssRUFDTCxzREFBc0QsRUFDdEQsSUFBSSxDQUFDLGtCQUFrQixDQUFDLFNBQVMsQ0FDbEMsQ0FBQTtJQUNILENBQUM7OEdBMU9VLG9CQUFvQjtrSEFBcEIsb0JBQW9CLGNBRm5CLE1BQU07OzJGQUVQLG9CQUFvQjtrQkFIaEMsVUFBVTttQkFBQztvQkFDVixVQUFVLEVBQUUsTUFBTTtpQkFDbkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSdcbmltcG9ydCB7IEJYUmVzdFRhc2tzVGFzayB9IGZyb20gJy4uLy4uL3JlcXVlc3QvdGFza3MvdGFzaydcbmltcG9ydCB7IGlCWFJlc3RUYXNrRmllbGRzTmFtZSB9IGZyb20gJy4uLy4uL3R5cGlmaWNhdGlvbi9yZXN0L3Rhc2svYmFzZS9maWVsZHNOYW1lJ1xuaW1wb3J0IHsgaUJYUmVzdFBhcmFtVGFza0FkZCB9IGZyb20gJy4uLy4uL3R5cGlmaWNhdGlvbi9yZXN0L3Rhc2tzL3Rhc2svYWRkJ1xuaW1wb3J0IGlCWFJlc3RQYXJhbVRhc2tHZXQgZnJvbSAnLi4vLi4vdHlwaWZpY2F0aW9uL3Jlc3QvdGFza3MvdGFzay9nZXQnXG5pbXBvcnQgeyBOYXZ2eSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL25hdnZ5J1xuaW1wb3J0IHsgaUJYUmVzdFBhcmFtVGFza3NMaXN0IH0gZnJvbSAnLi4vLi4vdHlwaWZpY2F0aW9uL3Jlc3QvdGFza3MvdGFzay9saXN0J1xuaW1wb3J0IHsgaUJYUmVzdFBhcmFtVGFza0dldEFjY2VzcyB9IGZyb20gJy4uLy4uL3R5cGlmaWNhdGlvbi9yZXN0L3Rhc2svYWNjZXNzL2dldGFjY2VzcydcbmltcG9ydCB7IEJYUmVzdE1hcFRhc2tzVGFzayB9IGZyb20gJy4uLy4uL21hcC90YXNrcy90YXNrJ1xuXG4vLyBleHBvcnQgaW50ZXJmYWNlIFRpbWVQcm9jZXNzIHtcbi8vICAgdG90YWw6IG51bWJlcixcbi8vICAgbmV4dDogbnVtYmVyXG4vLyB9XG5cblxuQEluamVjdGFibGUoe1xuICBwcm92aWRlZEluOiAncm9vdCdcbn0pXG5leHBvcnQgY2xhc3MgQlhSZXN0TmF2dnlUYXNrc1Rhc2sge1xuXG4gIC8vIHBhZ2VTaXplID0gNTBcbiAgLy8gbm93TG9hZCQgPSBuZXcgUmVwbGF5U3ViamVjdDxUaW1lUHJvY2Vzcz4oMSlcblxuICBkZWY6IHsgc2VsZWN0OiBpQlhSZXN0VGFza0ZpZWxkc05hbWVbXSB9ID0ge1xuICAgIHNlbGVjdDogWydJRCcsICdQQVJFTlRfSUQnLCAnVElUTEUnLCAnREVTQ1JJUFRJT04nLCAnTUFSSycsICdQUklPUklUWScsICdTVEFUVVMnLCAnTVVMVElUQVNLJyxcbiAgICAgICdHUk9VUF9JRCcsICdTVEFHRV9JRCcsICdDUkVBVEVEX0JZJywgJ0NSRUFURURfREFURScsICdSRVNQT05TSUJMRV9JRCcsICdBQ0NPTVBMSUNFUycsICdBVURJVE9SUycsXG4gICAgICAnQ0hBTkdFRF9CWScsICdDSEFOR0VEX0RBVEUnLCAnU1RBVFVTX0NIQU5HRURfREFURScsICdDTE9TRURfQlknLCAnQ0xPU0VEX0RBVEUnLCAnREFURV9TVEFSVCcsICdWSUVXRURfREFURScsXG4gICAgICAnREVBRExJTkUnLCAnU1RBUlRfREFURV9QTEFOJywgJ0VORF9EQVRFX1BMQU4nLCAnRk9SS0VEX0JZX1RFTVBMQVRFX0lEJywgJ1RJTUVfRVNUSU1BVEUnLCAnVElNRV9TUEVOVF9JTl9MT0dTJyxcbiAgICAgICdUQUdTJywgJ0FMTE9XX1RJTUVfVFJBQ0tJTkcnXG4gICAgXVxuICB9XG5cbiAgLy8gc3RvcmVUYXNrJDogT2JzZXJ2YWJsZTxpU3RvcmVUYXNrPlxuICBOYXZ2eTogTmF2dnk8QlhSZXN0VGFza3NUYXNrLCBCWFJlc3RNYXBUYXNrc1Rhc2s+XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSBCWFJlc3RUYXNrc1Rhc2s6IEJYUmVzdFRhc2tzVGFzayxcbiAgICAvLyBwcml2YXRlIHNuYWNrQmFyOiBTbmFja0JhclNlcnZpY2UsXG4gICAgLy8gIHByaXZhdGUgc3RvcmU6IFN0b3JlPHsgdGFza3M6IElTdG9yZVRhc2sgfT4sXG4gICAgcHJpdmF0ZSBCWFJlc3RNYXBUYXNrc1Rhc2s6IEJYUmVzdE1hcFRhc2tzVGFzayxcblxuICAgIC8vIHByaXZhdGUgdGFza1Jlc3VsdE1hcDogQml0cml4QXBpVGFza1Jlc3VsdE1hcFNlcnZpY2VzXG4gICkge1xuICAgIHRoaXMuTmF2dnkgPSBuZXcgTmF2dnkodGhpcy5CWFJlc3RUYXNrc1Rhc2ssIHRoaXMuQlhSZXN0TWFwVGFza3NUYXNrKVxuICAgIC8vICB0aGlzLnN0b3JlVGFzayQgPSB0aGlzLnN0b3JlLnNlbGVjdCgndGFza3MnKVxuICAgIC8vICB0aGlzLm5vd0xvYWQkLm5leHQoe1xuICAgIC8vICAgIHRvdGFsOiAwLFxuICAgIC8vICAgIG5leHQ6IDBcbiAgICAvLyAgfSlcbiAgfVxuXG4gIGFkZChwYXJhbTogeyBmaWVsZHM6IGlCWFJlc3RQYXJhbVRhc2tBZGQgfSkge1xuICAgIHJldHVybiB0aGlzLk5hdnZ5LnNpbXBsZVdpdGhBcmcoXG4gICAgICB0aGlzLkJYUmVzdFRhc2tzVGFzay5hZGQsXG4gICAgICBwYXJhbSxcbiAgICAgICfQndC1INGD0LTQsNC70L7RgdGMINC00L7QsdCw0LLQuNGC0Ywg0LfQsNC00LDRh9GDJyxcbiAgICAgIHRoaXMuQlhSZXN0TWFwVGFza3NUYXNrLmFkZFxuICAgIClcbiAgICAvLyByZXR1cm4gdGhpcy5odHRwLnBvc3Q8eyB0YXNrOiBUYXNrQlhIdHRwIH0+KHRoaXMudXJsLmFkZCwge2ZpZWxkczogcGFyYW19KS5waXBlKFxuICAgIC8vICAgbWFwKHYgPT4ge1xuICAgIC8vICAgICAgIGlmICh2ICYmIHYucmVzdWx0ICYmIHYucmVzdWx0LnRhc2spIHtcbiAgICAvLyAgICAgICAgIHJldHVybiBPYmplY3QuYXNzaWduKFxuICAgIC8vICAgICAgICAgICB2LFxuICAgIC8vICAgICAgICAgICB7XG4gICAgLy8gICAgICAgICAgICAgcmVzdWx0OiB0aGlzLnRhc2tCWE1hcC5UYXNrQlhIdHRwVG9UYXNrQlgodi5yZXN1bHQudGFzaylcbiAgICAvLyAgICAgICAgICAgfSlcbiAgICAvLyAgICAgICB9XG4gICAgLy8gICAgICAgcmV0dXJuIHVuZGVmaW5lZFxuICAgIC8vICAgICB9XG4gICAgLy8gICApKVxuICB9XG5cbiAgLypcbiAgdXBkYXRlKHRhc2tJZDogbnVtYmVyLCB1cGRhdGVGaWVsZHM6IGlCWFJlc3RUYXNrRmllbGRzTmFtZVtdLCB0YXNrOiBpQlhSZXN0VGFzaykge1xuICAgIGxldCBzZW5kVGFzazogUmVjb3JkPHN0cmluZywgYW55PiA9IHt9XG4gICAgbGV0IHRhc2tUUzogUmVjb3JkPHN0cmluZywgYW55PiA9IHRhc2tcbiAgICBpZiAodXBkYXRlRmllbGRzLmxlbmd0aCkge1xuICAgICAgZm9yIChsZXQgdXBkYXRlRmllbGQgb2YgdXBkYXRlRmllbGRzKSB7XG4gICAgICAgIGlmICh0YXNrVFNbY2FtZWxDYXNlKHVwZGF0ZUZpZWxkKV0pIHtcbiAgICAgICAgICBzZW5kVGFza1t1cGRhdGVGaWVsZF0gPSB0YXNrVFNbY2FtZWxDYXNlKHVwZGF0ZUZpZWxkKV1cbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgaWYgKE9iamVjdC52YWx1ZXMoc2VuZFRhc2spLmxlbmd0aCkge1xuICAgICAgICByZXR1cm4gdGhpcy5odHRwLnBvc3QoXG4gICAgICAgICAgdGhpcy51cmwudXBkYXRlLFxuICAgICAgICAgIHt0YXNrSWQ6IHRhc2tJZCwgZmllbGRzOiBzZW5kVGFza30sXG4gICAgICAgICAgJ2Vycm9yIHRvIHVwZGF0ZSB0YXNrJylcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHRoaXMuc25hY2tCYXIuZXJyb3IoJ25vdCB2YWxpZCBzZW5kIGRhdGEgdGFzaycpXG4gICAgICAgIGNvbnNvbGUuZXJyb3IoJ25vdCB2YWxpZCBzZW5kIGRhdGEgdGFzaycsIHNlbmRUYXNrLCB0YXNrKVxuICAgICAgICByZXR1cm4gb2YodW5kZWZpbmVkKVxuICAgICAgfVxuICAgIH1cblxuICAgIHRoaXMuc25hY2tCYXIud2FybmluZygnbm90IGhhdmUgZmllbGQgZm9yIHVwZGF0ZScpXG4gICAgcmV0dXJuIG9mKHVuZGVmaW5lZClcbiAgfVxuICAqL1xuXG4gIGdldChwYXJhbTogaUJYUmVzdFBhcmFtVGFza0dldCkge1xuICAgIGlmICghcGFyYW0uc2VsZWN0KSB7XG4gICAgICBwYXJhbS5zZWxlY3QgPSB0aGlzLmRlZi5zZWxlY3RcbiAgICB9XG4gICAgcmV0dXJuIHRoaXMuTmF2dnkuc2ltcGxlV2l0aEFyZyhcbiAgICAgIHRoaXMuQlhSZXN0VGFza3NUYXNrLmdldCxcbiAgICAgIHBhcmFtLFxuICAgICAgJ9Cd0LUg0YPQtNCw0LvQvtGB0Ywg0L/QvtC70YPRh9C40YLRjCDQt9Cw0LTQsNGH0YMnLFxuICAgICAgdGhpcy5CWFJlc3RNYXBUYXNrc1Rhc2suZ2V0XG4gICAgKVxuICB9XG5cblxuICBsaXN0KHBhcmFtOiBpQlhSZXN0UGFyYW1UYXNrc0xpc3QgPSB7fSkge1xuICAgIGlmICghcGFyYW0uc2VsZWN0KSB7XG4gICAgICBwYXJhbS5zZWxlY3QgPSB0aGlzLmRlZi5zZWxlY3RcbiAgICB9XG4gICAgcmV0dXJuIHRoaXMuTmF2dnkuc2ltcGxlV2l0aEFyZyhcbiAgICAgIHRoaXMuQlhSZXN0VGFza3NUYXNrLmxpc3QsXG4gICAgICBwYXJhbSxcbiAgICAgICfQndC1INGD0LTQsNC70L7RgdGMINC/0L7Qu9GD0YfQuNGC0Ywg0YHQv9C40YHQvtC6INC30LDQtNCw0YcnLFxuICAgICAgdGhpcy5CWFJlc3RNYXBUYXNrc1Rhc2subGlzdFxuICAgIClcbiAgfVxuXG4gIC8qXG4gIGxpc3RBcnJheShyZXF1ZXN0QXJyYXk6IFJlcXVlc3RBcGlUYXNrTGlzdEJYID0ge30pIHtcbiAgICByZXR1cm4gdGhpcy5saXN0KHJlcXVlc3RBcnJheSkucGlwZShcbiAgICAgIG1hcCh2ID0+IHRoaXMuaHR0cC5tYXBSZXN1bHQodikpLFxuICAgICAgbWFwKHYgPT4gKHYgJiYgdi50YXNrcykgPyB2LnRhc2tzIDogW10pXG4gICAgKVxuICB9XG5cbiAgbGlzdEFsbChyZXF1ZXN0QXJyYXk6IFJlcXVlc3RBcGlUYXNrTGlzdEJYID0ge30sIGNhY2hlID0gZmFsc2UpOiBPYnNlcnZhYmxlPFRhc2tCWFtdPiB7XG4gICAgaWYgKCFyZXF1ZXN0QXJyYXkuc2VsZWN0KSB7XG4gICAgICByZXF1ZXN0QXJyYXkuc2VsZWN0ID0gdGhpcy5kZWYuc2VsZWN0XG4gICAgICBpZiAoY2FjaGUpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuc3RvcmVUYXNrJC5waXBlKFxuICAgICAgICAgIHRha2UoMSksXG4gICAgICAgICAgbWVyZ2VNYXAodGFza3MgPT4ge1xuICAgICAgICAgICAgaWYgKHRhc2tzICYmIHRhc2tzLmRhdGEuaHR0cC5saXN0ICYmIHJlcXVlc3RBcnJheS5maWx0ZXIgJiYgcmVxdWVzdEFycmF5LmZpbHRlci5JRCkge1xuICAgICAgICAgICAgICBjb25zdCBpZHMgPSAodHlwZW9mIHJlcXVlc3RBcnJheS5maWx0ZXIuSUQgPT09ICdudW1iZXInKSA/IFtyZXF1ZXN0QXJyYXkuZmlsdGVyLklEXSA6IHJlcXVlc3RBcnJheS5maWx0ZXIuSURcbiAgICAgICAgICAgICAgbGV0IGZpbHRlciA9IHRhc2tzLmRhdGEuaHR0cC5saXN0LmZpbHRlcihpID0+IChpLmlkKSA/IGlkcy5pbmNsdWRlcyhpLmlkKSA6IGZhbHNlKVxuICAgICAgICAgICAgICBpZiAoZmlsdGVyLmxlbmd0aCA9PT0gaWRzLmxlbmd0aCkge1xuICAgICAgICAgICAgICAgIHJldHVybiBvZihmaWx0ZXIpXG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHJldHVybiB0aGlzLmdldEVuZExpc3RBcnJheShyZXF1ZXN0QXJyYXkpXG4gICAgICAgICAgfSlcbiAgICAgICAgKVxuICAgICAgfVxuICAgICAgcmV0dXJuIHRoaXMuZ2V0RW5kTGlzdEFycmF5KHJlcXVlc3RBcnJheSlcbiAgICB9XG4gICAgcmV0dXJuIHRoaXMuZ2V0RW5kTGlzdEFycmF5KHJlcXVlc3RBcnJheSlcbiAgfVxuXG4gIGdldEVuZExpc3RBcnJheShyZXF1ZXN0QXJyYXk6IFJlcXVlc3RBcGlUYXNrTGlzdEJYKTogT2JzZXJ2YWJsZTxUYXNrQlhbXT4ge1xuICAgIHJldHVybiB0aGlzLmxpc3QocmVxdWVzdEFycmF5KS5waXBlKFxuICAgICAgbWVyZ2VNYXAoKGl0ZW1zOiBBbnN3ZXJBcGlUYXNrQlggfCB1bmRlZmluZWQpOiBPYnNlcnZhYmxlSW5wdXQ8YW55PiB8IE9ic2VydmFibGU8QW5zd2VyQXBpVGFza0JYW10+ID0+IHtcbiAgICAgICAgaWYgKGl0ZW1zICYmIGl0ZW1zLnJlc3VsdCAmJiB0eXBlb2YgaXRlbXMucmVzdWx0LnRhc2tzID09PSAnb2JqZWN0Jykge1xuICAgICAgICAgIGNvbnN0IGl0ZW1zJCA9IG9mKGl0ZW1zLnJlc3VsdC50YXNrcylcbiAgICAgICAgICBpZiAoaXRlbXMubmV4dCkge1xuICAgICAgICAgICAgdGhpcy5ub3dMb2FkJC5uZXh0KHtcbiAgICAgICAgICAgICAgdG90YWw6IChpdGVtcy50b3RhbCkgPyBpdGVtcy50b3RhbCA6IDAsXG4gICAgICAgICAgICAgIG5leHQ6IGl0ZW1zLm5leHRcbiAgICAgICAgICAgIH0pXG4gICAgICAgICAgICByZXF1ZXN0QXJyYXkuc3RhcnQgPSBpdGVtcy5uZXh0XG4gICAgICAgICAgICByZXR1cm4gdGhpcy5nZXRFbmRMaXN0QXJyYXkocmVxdWVzdEFycmF5KS5waXBlKFxuICAgICAgICAgICAgICBtYXAodkVuZCA9PiB7XG4gICAgICAgICAgICAgICAgaWYgKHZFbmQgJiYgaXRlbXMucmVzdWx0LnRhc2tzKSB7XG4gICAgICAgICAgICAgICAgICByZXR1cm4gWy4uLml0ZW1zLnJlc3VsdC50YXNrcywgLi4udkVuZF1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgcmV0dXJuIChpdGVtcy5yZXN1bHQudGFza3MpID8gaXRlbXMucmVzdWx0LnRhc2tzIDogW11cbiAgICAgICAgICAgICAgfSkpXG4gICAgICAgICAgfVxuICAgICAgICAgIHRoaXMubm93TG9hZCQubmV4dCh7XG4gICAgICAgICAgICB0b3RhbDogMCxcbiAgICAgICAgICAgIG5leHQ6IDBcbiAgICAgICAgICB9KVxuICAgICAgICAgIHJldHVybiBpdGVtcyRcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICByZXR1cm4gb2YoW10pXG4gICAgICAgIH1cbiAgICAgIH0pXG4gICAgKVxuICB9XG5cbiAgZ2V0RmllbGRzKCkge1xuICAgIHJldHVybiB0aGlzLnN0b3JlVGFzayQucGlwZShcbiAgICAgIG1lcmdlTWFwKHYgPT4ge1xuICAgICAgICBpZiAodiAmJiAhdi5kYXRhLmZpZWxkcykge1xuICAgICAgICAgIHJldHVybiB0aGlzLmh0dHAucG9zdDxpSHR0cEFuc3dlckJYPHsgZmllbGRzOiBpR2V0RmllbGRzRGVzY3JpcHRpb24gfT4+KHRoaXMudXJsLmdldEZpZWxkcykucGlwZShcbiAgICAgICAgICAgIHRhcCh2ID0+IHtcbiAgICAgICAgICAgICAgaWYgKHYgJiYgdi5yZXN1bHQpIHtcbiAgICAgICAgICAgICAgICB0aGlzLnN0b3JlLmRpc3BhdGNoKHNhdmVGaWVsZHModi5yZXN1bHQpKVxuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9KSxcbiAgICAgICAgICAgIG1hcCh2ID0+IHtcbiAgICAgICAgICAgICAgaWYgKHYgJiYgdi5yZXN1bHQgJiYgdi5yZXN1bHQuZmllbGRzKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIHtyZXN1bHQ6IHYucmVzdWx0LmZpZWxkc31cbiAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgIHJldHVybiB1bmRlZmluZWRcbiAgICAgICAgICAgIH0pXG4gICAgICAgICAgKVxuICAgICAgICB9XG4gICAgICAgIGlmICh2LmRhdGEuZmllbGRzKSB7XG4gICAgICAgICAgcmV0dXJuIG9mKHtyZXN1bHQ6IGNsb25lPGlHZXRGaWVsZHNEZXNjcmlwdGlvbj4odi5kYXRhLmZpZWxkcyl9KVxuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIHJldHVybiBvZih1bmRlZmluZWQpXG4gICAgICAgIH1cbiAgICAgIH0pXG4gICAgKVxuICB9XG5cbiAgZGVsZXRlUmVzdWx0RnJvbUNvbW1lbnQoY29tbWVudElEOiBudW1iZXIpIHtcbiAgICByZXR1cm4gdGhpcy5odHRwLnBvc3Q8aUh0dHBBbnN3ZXJCWDxhbnk+Pih0aGlzLnVybC5yZXN1bHQuZGVsZXRlRnJvbUNvbW1lbnQsIHtjb21tZW50SWQ6IGNvbW1lbnRJRH0pXG4gIH1cblxuICBhZGRSZXN1bHRGcm9tQ29tbWVudChjb21tZW50SUQ6IG51bWJlcikge1xuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdDxpSHR0cEFuc3dlckJYPGlUYXNrUmVzdWx0SHR0cD4+KHRoaXMudXJsLnJlc3VsdC5hZGRGcm9tQ29tbWVudCwge2NvbW1lbnRJZDogY29tbWVudElEfSlcbiAgICAgIC5waXBlKFxuICAgICAgICBtYXAodiA9PiB7XG4gICAgICAgICAgaWYgKHYgJiYgdi5yZXN1bHQpIHtcbiAgICAgICAgICAgIHRoaXMudGFza1Jlc3VsdE1hcC5pVGFza1Jlc3VsdEh0dHBUb2lUYXNrUmVzdWx0KHYucmVzdWx0KVxuICAgICAgICAgIH1cbiAgICAgICAgICByZXR1cm4gdW5kZWZpbmVkXG4gICAgICAgIH0pKVxuICB9XG5cbiAgZ2V0UmVzdWxMaXN0KHRhc2tJZDogbnVtYmVyKTogT2JzZXJ2YWJsZTxpVGFza1Jlc3VsdFtdIHwgdW5kZWZpbmVkPiB7XG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0PGlIdHRwQW5zd2VyQlg8aVRhc2tSZXN1bHRIdHRwW10+Pih0aGlzLnVybC5yZXN1bHQubGlzdCwge3Rhc2tJZDogdGFza0lkfSlcbiAgICAgIC5waXBlKFxuICAgICAgICBtYXAodiA9PiB7XG4gICAgICAgICAgaWYgKHYgJiYgdi5yZXN1bHQpIHtcbiAgICAgICAgICAgIHJldHVybiB2LnJlc3VsdC5tYXAoaSA9PiB0aGlzLnRhc2tSZXN1bHRNYXAuaVRhc2tSZXN1bHRIdHRwVG9pVGFza1Jlc3VsdChpKSlcbiAgICAgICAgICB9XG4gICAgICAgICAgcmV0dXJuIHVuZGVmaW5lZFxuICAgICAgICB9KSlcbiAgfVxuXG4gIGdldFBsYW5uZXJMaXN0KCkge1xuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdDxpSHR0cEFuc3dlckJYPChzdHJpbmcgfCBudW1iZXIpW10+Pih0aGlzLnVybC5wbGFubmVyLmdldGxpc3QpXG4gIH1cbiAgICovXG5cbiAgZ2V0YWNjZXNzKHBhcmFtOiBpQlhSZXN0UGFyYW1UYXNrR2V0QWNjZXNzKSB7XG4gICAgcmV0dXJuIHRoaXMuTmF2dnkuc2ltcGxlV2l0aEFyZyhcbiAgICAgIHRoaXMuQlhSZXN0VGFza3NUYXNrLmdldGFjY2VzcyxcbiAgICAgIHBhcmFtLFxuICAgICAgJ9Cd0LUg0YPQtNCw0LvQvtGB0Ywg0L/QvtC70YPRh9C40YLRjCDQv9GA0LDQstCwINC90LAg0YPQutCw0LfQsNC90L3Ri9GFINC/0L7Qu9GM0LfQvtCy0LDRgtC10LvQtdC5JyxcbiAgICAgIHRoaXMuQlhSZXN0TWFwVGFza3NUYXNrLmdldGFjY2Vzc1xuICAgIClcbiAgfVxuXG59XG4iXX0=
@@ -5,13 +5,13 @@ export class BXRestNavvyTasks {
5
5
  constructor(task) {
6
6
  this.task = task;
7
7
  }
8
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.6", ngImport: i0, type: BXRestNavvyTasks, deps: [{ token: i1.BXRestNavvyTasksTask }], target: i0.ɵɵFactoryTarget.Injectable }); }
9
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.2.6", ngImport: i0, type: BXRestNavvyTasks, providedIn: 'root' }); }
8
10
  }
9
- BXRestNavvyTasks.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: BXRestNavvyTasks, deps: [{ token: i1.BXRestNavvyTasksTask }], target: i0.ɵɵFactoryTarget.Injectable });
10
- BXRestNavvyTasks.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: BXRestNavvyTasks, providedIn: 'root' });
11
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: BXRestNavvyTasks, decorators: [{
11
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.6", ngImport: i0, type: BXRestNavvyTasks, decorators: [{
12
12
  type: Injectable,
13
13
  args: [{
14
14
  providedIn: 'root'
15
15
  }]
16
16
  }], ctorParameters: function () { return [{ type: i1.BXRestNavvyTasksTask }]; } });
17
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFza3MuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9ieC1yZXN0L3NyYy9yZXF1ZXN0LW5hdnZ5L3Rhc2tzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUE7OztBQU0xQyxNQUFNLE9BQU8sZ0JBQWdCO0lBRTNCLFlBQW1CLElBQTBCO1FBQTFCLFNBQUksR0FBSixJQUFJLENBQXNCO0lBQzdDLENBQUM7OzZHQUhVLGdCQUFnQjtpSEFBaEIsZ0JBQWdCLGNBRmYsTUFBTTsyRkFFUCxnQkFBZ0I7a0JBSDVCLFVBQVU7bUJBQUM7b0JBQ1YsVUFBVSxFQUFFLE1BQU07aUJBQ25CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnXG5pbXBvcnQgeyBCWFJlc3ROYXZ2eVRhc2tzVGFzayB9IGZyb20gJy4vdGFza3MvdGFzaydcblxuQEluamVjdGFibGUoe1xuICBwcm92aWRlZEluOiAncm9vdCdcbn0pXG5leHBvcnQgY2xhc3MgQlhSZXN0TmF2dnlUYXNrcyB7XG5cbiAgY29uc3RydWN0b3IocHVibGljIHRhc2s6IEJYUmVzdE5hdnZ5VGFza3NUYXNrKSB7XG4gIH1cbn1cbiJdfQ==
17
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFza3MuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9ieC1yZXN0L3NyYy9yZXF1ZXN0LW5hdnZ5L3Rhc2tzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUE7OztBQU0xQyxNQUFNLE9BQU8sZ0JBQWdCO0lBRTNCLFlBQW1CLElBQTBCO1FBQTFCLFNBQUksR0FBSixJQUFJLENBQXNCO0lBQzdDLENBQUM7OEdBSFUsZ0JBQWdCO2tIQUFoQixnQkFBZ0IsY0FGZixNQUFNOzsyRkFFUCxnQkFBZ0I7a0JBSDVCLFVBQVU7bUJBQUM7b0JBQ1YsVUFBVSxFQUFFLE1BQU07aUJBQ25CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnXG5pbXBvcnQgeyBCWFJlc3ROYXZ2eVRhc2tzVGFzayB9IGZyb20gJy4vdGFza3MvdGFzaydcblxuQEluamVjdGFibGUoe1xuICBwcm92aWRlZEluOiAncm9vdCdcbn0pXG5leHBvcnQgY2xhc3MgQlhSZXN0TmF2dnlUYXNrcyB7XG5cbiAgY29uc3RydWN0b3IocHVibGljIHRhc2s6IEJYUmVzdE5hdnZ5VGFza3NUYXNrKSB7XG4gIH1cbn1cbiJdfQ==