bx-rest 0.2.13 → 0.2.14
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.
- package/esm2022/map/task.mjs +5 -7
- package/esm2022/map/tasks/task/result.mjs +27 -0
- package/esm2022/map/tasks/task.mjs +10 -3
- package/esm2022/request/bizproc/activity.mjs +1 -1
- package/esm2022/request/bizproc/event.mjs +1 -1
- package/esm2022/request/bizproc/robot.mjs +1 -1
- package/esm2022/request/bizproc/task.mjs +1 -1
- package/esm2022/request/bizproc/workflow/instance.mjs +1 -1
- package/esm2022/request/bizproc/workflow/template.mjs +1 -1
- package/esm2022/request/bizproc/workflow.mjs +1 -1
- package/esm2022/request/calendar/event.mjs +1 -1
- package/esm2022/request/calendar.mjs +2 -2
- package/esm2022/request/departments.mjs +1 -1
- package/esm2022/request/disk/attachedObject.mjs +1 -1
- package/esm2022/request/disk/file.mjs +1 -1
- package/esm2022/request/disk/folder.mjs +1 -1
- package/esm2022/request/disk/storage.mjs +1 -1
- package/esm2022/request/lists/element.mjs +1 -1
- package/esm2022/request/lists/field.mjs +1 -1
- package/esm2022/request/lists.mjs +1 -1
- package/esm2022/request/log/blogcomment.mjs +1 -1
- package/esm2022/request/log/blogpost.mjs +1 -1
- package/esm2022/request/server.mjs +1 -1
- package/esm2022/request/sonet_group.mjs +2 -5
- package/esm2022/request/task/commentitem.mjs +1 -1
- package/esm2022/request/task/elapseditem.mjs +1 -1
- package/esm2022/request/tasks/task/result.mjs +32 -0
- package/esm2022/request/tasks/task.mjs +20 -41
- package/esm2022/request/user/userfield.mjs +1 -1
- package/esm2022/request/user.mjs +1 -1
- package/esm2022/request-navvy/sonet_group.mjs +2 -5
- package/esm2022/request-navvy/task/delegate/elapseditem.mjs +37 -0
- package/esm2022/request-navvy/task/elapseditem.mjs +8 -19
- package/esm2022/request-navvy/task/operation/elapseditem.mjs +19 -4
- package/esm2022/request-navvy/tasks/task/result.mjs +30 -0
- package/esm2022/request-navvy/tasks/task.mjs +9 -38
- package/esm2022/request-navvy/user/userfield.mjs +1 -1
- package/esm2022/typification/rest/sonet_group/get.mjs +1 -1
- package/esm2022/typification/rest/task/commentitem/add.mjs +1 -1
- package/esm2022/typification/rest/task/commentitem/getlist.mjs +1 -1
- package/esm2022/typification/rest/tasks/base/fieldsName.mjs +53 -0
- package/esm2022/typification/rest/tasks/base/filterGenerator.mjs +2 -0
- package/esm2022/typification/rest/tasks/base/people.mjs +2 -0
- package/esm2022/typification/rest/tasks/result/list.mjs +2 -0
- package/esm2022/typification/rest/tasks/task/get.mjs +1 -1
- package/esm2022/typification/rest/tasks/task/list.mjs +1 -1
- package/esm2022/typification/rest/tasks/task/result/result.mjs +2 -0
- package/esm2022/typification/rest/tasks/task.mjs +2 -0
- package/fesm2022/bx-rest.mjs +728 -687
- package/fesm2022/bx-rest.mjs.map +1 -1
- package/map/task.d.ts +1 -3
- package/map/tasks/task/result.d.ts +10 -0
- package/map/tasks/task.d.ts +10 -7
- package/package.json +1 -1
- package/request/bizproc/activity.d.ts +1 -1
- package/request/bizproc/event.d.ts +1 -1
- package/request/bizproc/robot.d.ts +1 -1
- package/request/bizproc/task.d.ts +1 -1
- package/request/bizproc/workflow/instance.d.ts +1 -1
- package/request/bizproc/workflow/template.d.ts +1 -1
- package/request/bizproc/workflow.d.ts +1 -1
- package/request/calendar/event.d.ts +1 -1
- package/request/departments.d.ts +1 -1
- package/request/disk/attachedObject.d.ts +1 -1
- package/request/disk/file.d.ts +1 -1
- package/request/disk/folder.d.ts +1 -1
- package/request/disk/storage.d.ts +1 -1
- package/request/lists/element.d.ts +1 -1
- package/request/lists/field.d.ts +1 -1
- package/request/lists.d.ts +1 -1
- package/request/log/blogcomment.d.ts +1 -1
- package/request/log/blogpost.d.ts +1 -1
- package/request/server.d.ts +1 -1
- package/request/sonet_group.d.ts +1 -1
- package/request/task/commentitem.d.ts +1 -1
- package/request/task/elapseditem.d.ts +1 -1
- package/request/tasks/task/result.d.ts +18 -0
- package/request/tasks/task.d.ts +11 -15
- package/request/user/userfield.d.ts +1 -1
- package/request/user.d.ts +1 -1
- package/request-navvy/task/delegate/elapseditem.d.ts +13 -0
- package/request-navvy/task/elapseditem.d.ts +3 -1
- package/request-navvy/task/operation/elapseditem.d.ts +6 -3
- package/request-navvy/tasks/task/result.d.ts +15 -0
- package/request-navvy/tasks/task.d.ts +9 -10
- package/request-navvy/user/userfield.d.ts +1 -2
- package/typification/rest/sonet_group/get.d.ts +2 -2
- package/typification/rest/task/commentitem/add.d.ts +1 -0
- package/typification/rest/task/commentitem/getlist.d.ts +1 -1
- package/typification/rest/tasks/base/fieldsName.d.ts +7 -0
- package/typification/rest/tasks/result/list.d.ts +4 -0
- package/typification/rest/tasks/task/get.d.ts +32 -3
- package/typification/rest/tasks/task/list.d.ts +15 -12
- package/typification/rest/tasks/task/result/result.d.ts +20 -0
- package/typification/rest/tasks/task.d.ts +110 -0
- package/esm2022/map/task/result.mjs +0 -15
- package/esm2022/typification/rest/task/base/fieldsName.mjs +0 -2
- package/esm2022/typification/rest/task/base/filterGenerator.mjs +0 -2
- package/esm2022/typification/rest/task/people/base.mjs +0 -2
- package/esm2022/typification/rest/task/task.mjs +0 -2
- package/map/task/result.d.ts +0 -6
- package/typification/rest/task/base/fieldsName.d.ts +0 -1
- package/typification/rest/task/task.d.ts +0 -110
- /package/typification/rest/{task → tasks}/base/filterGenerator.d.ts +0 -0
- /package/typification/rest/{task/people/base.d.ts → tasks/base/people.d.ts} +0 -0
package/fesm2022/bx-rest.mjs
CHANGED
|
@@ -1513,8 +1513,45 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.6", ngImpor
|
|
|
1513
1513
|
}]
|
|
1514
1514
|
}], ctorParameters: function () { return [{ type: BXRestTaskElapseditem }, { type: BXRestTaskCommentItem }, { type: BXRestTaskPlanner }]; } });
|
|
1515
1515
|
|
|
1516
|
-
class
|
|
1516
|
+
class BXRestTasksTaskResult {
|
|
1517
1517
|
constructor(http) {
|
|
1518
|
+
this.http = http;
|
|
1519
|
+
this.url = {
|
|
1520
|
+
list: [$tasks, $task, $result, $list],
|
|
1521
|
+
addFromComment: [$tasks, $task, $result, 'addFromComment'],
|
|
1522
|
+
deleteFromComment: [$tasks, $task, $result, 'deleteFromComment'], // Удаление результата задачи по комментарию из которого он был создан
|
|
1523
|
+
};
|
|
1524
|
+
}
|
|
1525
|
+
deleteFromComment(commentID) {
|
|
1526
|
+
return this.http.post(this.url.deleteFromComment, { commentId: commentID });
|
|
1527
|
+
}
|
|
1528
|
+
addFromComment(commentID) {
|
|
1529
|
+
return this.http.post(this.url.addFromComment, { commentId: commentID });
|
|
1530
|
+
}
|
|
1531
|
+
list(param) {
|
|
1532
|
+
return this.http.post(this.url.list, param);
|
|
1533
|
+
}
|
|
1534
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.6", ngImport: i0, type: BXRestTasksTaskResult, deps: [{ token: HttpBXServices }], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
1535
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.2.6", ngImport: i0, type: BXRestTasksTaskResult, providedIn: 'root' }); }
|
|
1536
|
+
}
|
|
1537
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.6", ngImport: i0, type: BXRestTasksTaskResult, decorators: [{
|
|
1538
|
+
type: Injectable,
|
|
1539
|
+
args: [{
|
|
1540
|
+
providedIn: 'root'
|
|
1541
|
+
}]
|
|
1542
|
+
}], ctorParameters: function () { return [{ type: HttpBXServices }]; } });
|
|
1543
|
+
|
|
1544
|
+
// interface iBXRestParamTasksListWithSelect<S extends iBXRestTaskFieldsName> extends iBXRestParamTasksList<S> {
|
|
1545
|
+
// select: iBXRestFilterGenerator<iBXRestTaskFieldsName>[]
|
|
1546
|
+
// }
|
|
1547
|
+
// interface iBXRestParamTasksGetWithSelect extends iBXRestParamTasksList {
|
|
1548
|
+
// select: iBXRestFilterGenerator<iBXRestTaskFieldsName>[]
|
|
1549
|
+
// }
|
|
1550
|
+
// type SelectInterfaceListType<T> = T extends iBXRestParamTasksListWithSelect ? iBXRestTasksTaskListHttpDefault : iBXRestHttpTasksTaskList
|
|
1551
|
+
// type SelectInterfaceGetType<T> = T extends iBXRestParamTasksGetWithSelect ? iBXRestTasksTaskGetHttpDefault : iBXRestHttpTasksTaskGet
|
|
1552
|
+
class BXRestTasksTask {
|
|
1553
|
+
constructor(result, http) {
|
|
1554
|
+
this.result = result;
|
|
1518
1555
|
this.http = http;
|
|
1519
1556
|
this.url = {
|
|
1520
1557
|
add: [$tasks, $task, $add],
|
|
@@ -1546,12 +1583,7 @@ class BXRestTasksTask {
|
|
|
1546
1583
|
start: [$tasks, $task, $start],
|
|
1547
1584
|
startwatch: [$tasks, $task, 'startwatch'],
|
|
1548
1585
|
stopwatch: [$tasks, $task, 'stopwatch'],
|
|
1549
|
-
update: [$tasks, $task, $update],
|
|
1550
|
-
result: {
|
|
1551
|
-
list: [$tasks, $task, $result, $list],
|
|
1552
|
-
addFromComment: [$tasks, $task, $result, 'addFromComment'],
|
|
1553
|
-
deleteFromComment: [$tasks, $task, $result, 'deleteFromComment'], // Удаление результата задачи по комментарию из которого он был создан
|
|
1554
|
-
}
|
|
1586
|
+
update: [$tasks, $task, $update], // Обновляет задачу
|
|
1555
1587
|
};
|
|
1556
1588
|
}
|
|
1557
1589
|
add(param) {
|
|
@@ -1592,10 +1624,10 @@ class BXRestTasksTask {
|
|
|
1592
1624
|
return of(undefined)
|
|
1593
1625
|
}
|
|
1594
1626
|
*/
|
|
1595
|
-
get(
|
|
1596
|
-
return this.http.post(this.url.get,
|
|
1627
|
+
get(param) {
|
|
1628
|
+
return this.http.post(this.url.get, param);
|
|
1597
1629
|
}
|
|
1598
|
-
list(param
|
|
1630
|
+
list(param) {
|
|
1599
1631
|
return this.http.post(this.url.list, param);
|
|
1600
1632
|
}
|
|
1601
1633
|
/*
|
|
@@ -1687,37 +1719,11 @@ class BXRestTasksTask {
|
|
|
1687
1719
|
})
|
|
1688
1720
|
)
|
|
1689
1721
|
}
|
|
1690
|
-
|
|
1691
|
-
deleteResultFromComment(commentID: number) {
|
|
1692
|
-
return this.http.post<iHttpAnswerBX<any>>(this.url.result.deleteFromComment, {commentId: commentID})
|
|
1693
|
-
}
|
|
1694
|
-
|
|
1695
|
-
addResultFromComment(commentID: number) {
|
|
1696
|
-
return this.http.post<iHttpAnswerBX<iTaskResultHttp>>(this.url.result.addFromComment, {commentId: commentID})
|
|
1697
|
-
.pipe(
|
|
1698
|
-
map(v => {
|
|
1699
|
-
if (v && v.result) {
|
|
1700
|
-
this.taskResultMap.iTaskResultHttpToiTaskResult(v.result)
|
|
1701
|
-
}
|
|
1702
|
-
return undefined
|
|
1703
|
-
}))
|
|
1704
|
-
}
|
|
1705
|
-
|
|
1706
|
-
getResulList(taskId: number): Observable<iTaskResult[] | undefined> {
|
|
1707
|
-
return this.http.post<iHttpAnswerBX<iTaskResultHttp[]>>(this.url.result.list, {taskId: taskId})
|
|
1708
|
-
.pipe(
|
|
1709
|
-
map(v => {
|
|
1710
|
-
if (v && v.result) {
|
|
1711
|
-
return v.result.map(i => this.taskResultMap.iTaskResultHttpToiTaskResult(i))
|
|
1712
|
-
}
|
|
1713
|
-
return undefined
|
|
1714
|
-
}))
|
|
1715
|
-
}
|
|
1716
1722
|
*/
|
|
1717
1723
|
getaccess(param) {
|
|
1718
1724
|
return this.http.post(this.url.getaccess, param);
|
|
1719
1725
|
}
|
|
1720
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.6", ngImport: i0, type: BXRestTasksTask, deps: [{ token: HttpBXServices }], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
1726
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.6", ngImport: i0, type: BXRestTasksTask, deps: [{ token: BXRestTasksTaskResult }, { token: HttpBXServices }], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
1721
1727
|
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.2.6", ngImport: i0, type: BXRestTasksTask, providedIn: 'root' }); }
|
|
1722
1728
|
}
|
|
1723
1729
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.6", ngImport: i0, type: BXRestTasksTask, decorators: [{
|
|
@@ -1725,7 +1731,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.6", ngImpor
|
|
|
1725
1731
|
args: [{
|
|
1726
1732
|
providedIn: 'root'
|
|
1727
1733
|
}]
|
|
1728
|
-
}], ctorParameters: function () { return [{ type: HttpBXServices }]; } });
|
|
1734
|
+
}], ctorParameters: function () { return [{ type: BXRestTasksTaskResult }, { type: HttpBXServices }]; } });
|
|
1729
1735
|
|
|
1730
1736
|
class BXRestTasks {
|
|
1731
1737
|
constructor(task) {
|
|
@@ -2095,7 +2101,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.6", ngImpor
|
|
|
2095
2101
|
class BXRestCalendar {
|
|
2096
2102
|
// TODO: эту дичь расформировать потом по классам
|
|
2097
2103
|
/*
|
|
2098
|
-
url = {
|
|
2104
|
+
protected url = {
|
|
2099
2105
|
accessibility: {get: getNameMethod([$calendar, $accessibility, $get])}, // Возвращает занятость пользователей из списка.
|
|
2100
2106
|
meeting: {
|
|
2101
2107
|
params: {
|
|
@@ -2178,10 +2184,7 @@ class BXRestSonetGroup {
|
|
|
2178
2184
|
// }
|
|
2179
2185
|
// )
|
|
2180
2186
|
// }
|
|
2181
|
-
get(param = {
|
|
2182
|
-
filter: {},
|
|
2183
|
-
order: {}
|
|
2184
|
-
}) {
|
|
2187
|
+
get(param = {}) {
|
|
2185
2188
|
return this.http.post(this.url.get, param);
|
|
2186
2189
|
}
|
|
2187
2190
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.6", ngImport: i0, type: BXRestSonetGroup, deps: [{ token: HttpBXServices }], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
@@ -3057,152 +3060,12 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.6", ngImpor
|
|
|
3057
3060
|
}]
|
|
3058
3061
|
}] });
|
|
3059
3062
|
|
|
3060
|
-
class
|
|
3061
|
-
constructor(
|
|
3062
|
-
this.http = http;
|
|
3063
|
-
this.BXRestNavvyElapseditem = BXRestNavvyElapseditem;
|
|
3064
|
-
this.BXRestMapElapseditem = BXRestMapElapseditem;
|
|
3065
|
-
this.BXRestNavvyUser = BXRestNavvyUser;
|
|
3066
|
-
this.BXRestNavvyTasks = BXRestNavvyTasks;
|
|
3067
|
-
}
|
|
3068
|
-
getByInterval(idsUsers, dateStart, dateEnd) {
|
|
3069
|
-
const param = {
|
|
3070
|
-
ORDER: {
|
|
3071
|
-
ID: 'DESC'
|
|
3072
|
-
},
|
|
3073
|
-
FILTER: {
|
|
3074
|
-
USER_ID: idsUsers,
|
|
3075
|
-
'>=CREATED_DATE': dateStart.toLocaleString('ru-Ru'),
|
|
3076
|
-
'<=CREATED_DATE': dateEnd.toLocaleString('ru-Ru'),
|
|
3077
|
-
}
|
|
3078
|
-
};
|
|
3079
|
-
return this.BXRestNavvyElapseditem.getList(param);
|
|
3080
|
-
}
|
|
3081
|
-
getListByIDTask(ids) {
|
|
3082
|
-
return this.http.branch(ids.map(i => {
|
|
3083
|
-
return {
|
|
3084
|
-
name: this.http.getNameMethod([$task, $elapseditem, $getlist]),
|
|
3085
|
-
param: {
|
|
3086
|
-
TASKID: i
|
|
3087
|
-
}
|
|
3088
|
-
};
|
|
3089
|
-
})).pipe(map(v => {
|
|
3090
|
-
if (v && v.length) {
|
|
3091
|
-
return this.http.mapBranchResultWithoutKey(v).map(i => this.BXRestMapElapseditem.getList(i)).filter((i) => i !== undefined).flat();
|
|
3092
|
-
}
|
|
3093
|
-
return undefined;
|
|
3094
|
-
}));
|
|
3095
|
-
}
|
|
3096
|
-
checkPermissionAddElapsedtimeToTaskArr(tasks) {
|
|
3097
|
-
let request = Object.assign({}, ...tasks.map(i => {
|
|
3098
|
-
return { [i]: this.checkPermissionAddElapsedtimeToTask(i) };
|
|
3099
|
-
}));
|
|
3100
|
-
return forkJoin(request)
|
|
3101
|
-
.pipe(take(1), mergeMap(v => {
|
|
3102
|
-
let forForeach = Object.entries(v).map(([key, value]) => {
|
|
3103
|
-
return { id: Number(key), value: value };
|
|
3104
|
-
});
|
|
3105
|
-
if (forForeach.find(i => i.value === undefined) !== undefined) {
|
|
3106
|
-
let forForeachHave = forForeach.filter(i => i.value !== undefined);
|
|
3107
|
-
let forForeachNotHave = forForeach.filter(i => i.value === undefined); // тут получаем все id не сохраненных у нас прав
|
|
3108
|
-
return this.http.branch(Object.assign({}, ...forForeachNotHave
|
|
3109
|
-
.map(i => i.id)
|
|
3110
|
-
.map(i => {
|
|
3111
|
-
return {
|
|
3112
|
-
[i]: {
|
|
3113
|
-
name: this.http.getNameMethod([$tasks, $task, $getaccess]),
|
|
3114
|
-
param: {
|
|
3115
|
-
TASKID: i,
|
|
3116
|
-
ITEMID: 1,
|
|
3117
|
-
ACTIONID: 1
|
|
3118
|
-
}
|
|
3119
|
-
}
|
|
3120
|
-
};
|
|
3121
|
-
}))).pipe(map(v => {
|
|
3122
|
-
if (v && v.length) {
|
|
3123
|
-
const res = this.http.mapBranchResult(v);
|
|
3124
|
-
forForeachNotHave = Object.entries(res).map(([key, value]) => {
|
|
3125
|
-
return { id: Number(key), value: value };
|
|
3126
|
-
});
|
|
3127
|
-
return Object.assign(forForeachHave, forForeachNotHave);
|
|
3128
|
-
}
|
|
3129
|
-
return undefined;
|
|
3130
|
-
}));
|
|
3131
|
-
}
|
|
3132
|
-
return of(forForeach);
|
|
3133
|
-
}));
|
|
3134
|
-
}
|
|
3135
|
-
checkPermissionAddElapsedtimeToTask(idTask) {
|
|
3136
|
-
let permission = Permission.get();
|
|
3137
|
-
if (permission?.tasks?.length) {
|
|
3138
|
-
let findTask = permission.tasks.find(i => i.id === idTask);
|
|
3139
|
-
if (findTask?.permission) {
|
|
3140
|
-
return of(findTask.permission['ELAPSEDTIME.ADD']);
|
|
3141
|
-
}
|
|
3142
|
-
return this.BXRestNavvyUser.current().result().pipe(mergeMap(self => {
|
|
3143
|
-
if (self) {
|
|
3144
|
-
return this.BXRestNavvyTasks.task.getaccess({
|
|
3145
|
-
id: idTask,
|
|
3146
|
-
users: [self.ID]
|
|
3147
|
-
}).result().pipe(tap(v => {
|
|
3148
|
-
if (v && v[self.ID]) {
|
|
3149
|
-
Permission.set({
|
|
3150
|
-
tasks: [{ id: idTask, permission: v[self.ID], elapsedItem: [] }]
|
|
3151
|
-
});
|
|
3152
|
-
}
|
|
3153
|
-
}), map(v => {
|
|
3154
|
-
return (v && v[self.ID]) ? v[self.ID]['ELAPSEDTIME.ADD'] : false;
|
|
3155
|
-
}));
|
|
3156
|
-
}
|
|
3157
|
-
return of(undefined);
|
|
3158
|
-
}));
|
|
3159
|
-
}
|
|
3160
|
-
return of(undefined);
|
|
3161
|
-
}
|
|
3162
|
-
checkPermissionReadTask(idTask) {
|
|
3163
|
-
let permission = Permission.get();
|
|
3164
|
-
if (permission?.tasks?.length) {
|
|
3165
|
-
let findTask = permission.tasks.find(i => i.id === idTask);
|
|
3166
|
-
if (findTask?.permission) {
|
|
3167
|
-
return of(findTask.permission.ACCEPT);
|
|
3168
|
-
}
|
|
3169
|
-
return this.BXRestNavvyUser.current().result().pipe(mergeMap(self => {
|
|
3170
|
-
if (self) {
|
|
3171
|
-
return this.BXRestNavvyTasks.task.getaccess({
|
|
3172
|
-
id: idTask,
|
|
3173
|
-
users: [self.ID]
|
|
3174
|
-
}).result().pipe(tap(v => {
|
|
3175
|
-
if (v && v[self.ID]) {
|
|
3176
|
-
Permission.set({
|
|
3177
|
-
tasks: [{ id: idTask, permission: v[self.ID], elapsedItem: [] }]
|
|
3178
|
-
});
|
|
3179
|
-
}
|
|
3180
|
-
}), map(v => {
|
|
3181
|
-
return (v && v[self.ID]) ? v[self.ID].ACCEPT : false;
|
|
3182
|
-
}));
|
|
3183
|
-
}
|
|
3184
|
-
return of(undefined);
|
|
3185
|
-
}));
|
|
3186
|
-
}
|
|
3187
|
-
return of(undefined);
|
|
3188
|
-
}
|
|
3189
|
-
}
|
|
3190
|
-
|
|
3191
|
-
class BXRestNavvyElapseditem {
|
|
3192
|
-
constructor(BXRestElapseditem, BXRestMapElapseditem, operation) {
|
|
3063
|
+
class BXRestNavvyDelegateElapseditem {
|
|
3064
|
+
constructor(BXRestElapseditem, BXRestMapElapseditem) {
|
|
3193
3065
|
this.BXRestElapseditem = BXRestElapseditem;
|
|
3194
3066
|
this.BXRestMapElapseditem = BXRestMapElapseditem;
|
|
3195
|
-
this.operation = operation;
|
|
3196
3067
|
this.Navvy = new Navvy(this.BXRestElapseditem, this.BXRestMapElapseditem);
|
|
3197
3068
|
}
|
|
3198
|
-
/*
|
|
3199
|
-
call(methodName: string, ...args: any[]){
|
|
3200
|
-
if (typeof this[methodName] === 'function') {
|
|
3201
|
-
return this[methodName](...args);
|
|
3202
|
-
}
|
|
3203
|
-
return this[methodName](...args);
|
|
3204
|
-
}
|
|
3205
|
-
*/
|
|
3206
3069
|
getList(param = {}) {
|
|
3207
3070
|
if (param) {
|
|
3208
3071
|
if (!param.TASKID && !param.SELECT) {
|
|
@@ -3219,333 +3082,71 @@ class BXRestNavvyElapseditem {
|
|
|
3219
3082
|
}
|
|
3220
3083
|
return this.Navvy.alterPagNav(this.BXRestElapseditem.getList, param, 'Не удалось получить список затраченного на задачу(-и) времени', this.BXRestMapElapseditem.getList);
|
|
3221
3084
|
}
|
|
3222
|
-
|
|
3223
|
-
|
|
3224
|
-
|
|
3225
|
-
|
|
3226
|
-
|
|
3227
|
-
|
|
3228
|
-
|
|
3229
|
-
|
|
3230
|
-
|
|
3231
|
-
|
|
3232
|
-
|
|
3233
|
-
|
|
3234
|
-
|
|
3235
|
-
|
|
3236
|
-
}
|
|
3237
|
-
}));
|
|
3085
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.6", ngImport: i0, type: BXRestNavvyDelegateElapseditem, deps: [{ token: BXRestTaskElapseditem }, { token: BXRestMapTaskElapseditem }], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
3086
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.2.6", ngImport: i0, type: BXRestNavvyDelegateElapseditem, providedIn: 'root' }); }
|
|
3087
|
+
}
|
|
3088
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.6", ngImport: i0, type: BXRestNavvyDelegateElapseditem, decorators: [{
|
|
3089
|
+
type: Injectable,
|
|
3090
|
+
args: [{
|
|
3091
|
+
providedIn: 'root'
|
|
3092
|
+
}]
|
|
3093
|
+
}], ctorParameters: function () { return [{ type: BXRestTaskElapseditem }, { type: BXRestMapTaskElapseditem }]; } });
|
|
3094
|
+
|
|
3095
|
+
// import { iTaskResult, iTaskResultHttp } from '@/lib/typification/bitrix/api/rest/task/result/result'
|
|
3096
|
+
class BXRestMapTasksTaskResult extends BaseMapServices {
|
|
3097
|
+
list(item) {
|
|
3098
|
+
return (item) ? item.map(i => this.iTaskResultHttpToiTaskResult(i)) : undefined;
|
|
3238
3099
|
}
|
|
3239
|
-
|
|
3240
|
-
|
|
3241
|
-
*
|
|
3242
|
-
* @param param
|
|
3243
|
-
*/
|
|
3244
|
-
update(param) {
|
|
3245
|
-
return this.Navvy.simple(() => this.operation.checkPermissionReadTask(param.TASKID).pipe(mergeMap(allowedReadTask => {
|
|
3246
|
-
if (allowedReadTask) {
|
|
3247
|
-
return this.isAllowedModify(param.TASKID, param.ITEMID).pipe(mergeMap(allowed => {
|
|
3248
|
-
if (allowed) {
|
|
3249
|
-
return this.BXRestElapseditem.update(param);
|
|
3250
|
-
}
|
|
3251
|
-
else {
|
|
3252
|
-
return throwError(() => new Error('Отсутствуют права на изменение записи затраченного времени'));
|
|
3253
|
-
}
|
|
3254
|
-
}));
|
|
3255
|
-
}
|
|
3256
|
-
else {
|
|
3257
|
-
return throwError(() => new Error('Отсутствуют права на чтение задачи'));
|
|
3258
|
-
}
|
|
3259
|
-
})), 'Не удалось обновить элемент списка', this.BXRestMapElapseditem.update);
|
|
3100
|
+
addFromComment(item) {
|
|
3101
|
+
return (item) ? this.iTaskResultHttpToiTaskResult(item) : undefined;
|
|
3260
3102
|
}
|
|
3261
|
-
|
|
3262
|
-
|
|
3263
|
-
|
|
3264
|
-
|
|
3265
|
-
|
|
3266
|
-
return this.get(params, cache)
|
|
3267
|
-
.pipe(
|
|
3268
|
-
mergeMap(items => {
|
|
3269
|
-
if (items && items.result) {
|
|
3270
|
-
if (items.next) {
|
|
3271
|
-
params = (params) ? params : {}
|
|
3272
|
-
params.PARAMS = {
|
|
3273
|
-
NAV_PARAMS: {
|
|
3274
|
-
nPageSize: this.pageSize,
|
|
3275
|
-
iNumPage: items.next / this.pageSize + 1
|
|
3276
|
-
}
|
|
3277
|
-
}
|
|
3278
|
-
return this.getAll(params, cache).pipe(
|
|
3279
|
-
map(vEnd => {
|
|
3280
|
-
if (vEnd && vEnd.result && items.result) {
|
|
3281
|
-
return merge(clone(vEnd), {result: [...items.result, ...vEnd.result]})
|
|
3282
|
-
}
|
|
3283
|
-
return items
|
|
3284
|
-
})
|
|
3285
|
-
)
|
|
3286
|
-
}
|
|
3287
|
-
return of(items)
|
|
3288
|
-
} else {
|
|
3289
|
-
return of(undefined)
|
|
3290
|
-
}
|
|
3291
|
-
})
|
|
3292
|
-
)
|
|
3293
|
-
}
|
|
3294
|
-
*/
|
|
3295
|
-
/*
|
|
3296
|
-
getCacheOff(params: RequestParamsElapsedGetList | undefined = undefined) {
|
|
3297
|
-
return this.http.post<iHttpAnswerBX<BXRestElapsedHttp[]> | undefined>
|
|
3298
|
-
(this.url.getlist, params, 'не удалось получить время по задачам')
|
|
3299
|
-
.pipe(
|
|
3300
|
-
map(v => {
|
|
3301
|
-
if (v && v.result) {
|
|
3302
|
-
const newResult: BXRestElapsed[] = []
|
|
3303
|
-
for (let task of v.result) {
|
|
3304
|
-
newResult.push(this.elapsedBXMap.AnswerElapsedGetHttpToAnswerElapsedGet(task))
|
|
3305
|
-
}
|
|
3306
|
-
return extend(v, {result: newResult}) as iHttpAnswerBX<BXRestElapsed[]>
|
|
3307
|
-
}
|
|
3308
|
-
return undefined
|
|
3309
|
-
}),
|
|
3310
|
-
tap(v => {
|
|
3311
|
-
if (v && params) {
|
|
3312
|
-
this.store.dispatch(saveHttpTaskTime({
|
|
3313
|
-
filter: clone(params),
|
|
3314
|
-
time: v
|
|
3315
|
-
}))
|
|
3316
|
-
}
|
|
3317
|
-
})
|
|
3318
|
-
)
|
|
3319
|
-
}
|
|
3320
|
-
*/
|
|
3321
|
-
isAllowedModify(idTask, idItem) {
|
|
3322
|
-
let permission = Permission.get();
|
|
3323
|
-
if (permission?.tasks?.length) {
|
|
3324
|
-
let findTask = permission.tasks.find(i => i.id === idTask);
|
|
3325
|
-
if (findTask) {
|
|
3326
|
-
let find = findTask.elapsedItem.find(i => i.id === idItem);
|
|
3327
|
-
if (find && find.verified.edit) {
|
|
3328
|
-
return of(find.edit);
|
|
3329
|
-
}
|
|
3330
|
-
}
|
|
3331
|
-
}
|
|
3332
|
-
return this.isActionAllowed({
|
|
3333
|
-
TASKID: idTask,
|
|
3334
|
-
ITEMID: 2,
|
|
3335
|
-
ACTIONID: idItem
|
|
3336
|
-
}).result().pipe(tap(v => {
|
|
3337
|
-
if (v !== undefined) {
|
|
3338
|
-
Permission.setTaskElapsedItem(idTask, {
|
|
3339
|
-
id: idItem,
|
|
3340
|
-
edit: v,
|
|
3341
|
-
del: false,
|
|
3342
|
-
verified: {
|
|
3343
|
-
edit: true,
|
|
3344
|
-
del: false,
|
|
3345
|
-
}
|
|
3346
|
-
});
|
|
3347
|
-
}
|
|
3348
|
-
}));
|
|
3349
|
-
}
|
|
3350
|
-
isAllowedRemove(idTask, idItem) {
|
|
3351
|
-
return this.isActionAllowed({
|
|
3352
|
-
TASKID: idTask,
|
|
3353
|
-
ITEMID: 3,
|
|
3354
|
-
ACTIONID: idItem
|
|
3355
|
-
}).result();
|
|
3356
|
-
}
|
|
3357
|
-
/**
|
|
3358
|
-
* idAction:
|
|
3359
|
-
* 1 - ACTION_ELAPSED_TIME_ADD
|
|
3360
|
-
* 2 - ACTION_ELAPSED_TIME_MODIFY
|
|
3361
|
-
* 3 - ACTION_ELAPSED_TIME_REMOVE
|
|
3362
|
-
* @param param
|
|
3363
|
-
*/
|
|
3364
|
-
isActionAllowed(param) {
|
|
3365
|
-
return this.Navvy.simple(() => this.operation.checkPermissionReadTask(param.TASKID).pipe(mergeMap(canRead => {
|
|
3366
|
-
if (canRead) {
|
|
3367
|
-
return this.BXRestElapseditem.isActionAllowed(param);
|
|
3368
|
-
}
|
|
3369
|
-
return throwError(() => new Error('Отсутствуют права на чтение задачи'));
|
|
3370
|
-
})));
|
|
3371
|
-
}
|
|
3372
|
-
del(param) {
|
|
3373
|
-
return this.Navvy.simple(() => this.operation.checkPermissionReadTask(param.TASKID).pipe(mergeMap(allowedReadTask => {
|
|
3374
|
-
if (allowedReadTask) {
|
|
3375
|
-
return this.isAllowedRemove(param.TASKID, param.ITEMID).pipe(mergeMap(allowed => {
|
|
3376
|
-
if (allowed) {
|
|
3377
|
-
return this.BXRestElapseditem.del(param);
|
|
3378
|
-
}
|
|
3379
|
-
else {
|
|
3380
|
-
return throwError(() => new Error('Отсутствуют права на удаление записи затраченного времени'));
|
|
3381
|
-
}
|
|
3382
|
-
}));
|
|
3383
|
-
}
|
|
3384
|
-
else {
|
|
3385
|
-
return throwError(() => new Error('Отсутствуют права на чтение задачи'));
|
|
3386
|
-
}
|
|
3387
|
-
})), 'Не удалось удалить элемент списка', v => (v === null));
|
|
3388
|
-
}
|
|
3389
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.6", ngImport: i0, type: BXRestNavvyElapseditem, deps: [{ token: BXRestTaskElapseditem }, { token: BXRestMapTaskElapseditem }, { token: BXRestNavvyOperationElapseditem }], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
3390
|
-
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.2.6", ngImport: i0, type: BXRestNavvyElapseditem, providedIn: 'root' }); }
|
|
3391
|
-
}
|
|
3392
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.6", ngImport: i0, type: BXRestNavvyElapseditem, decorators: [{
|
|
3393
|
-
type: Injectable,
|
|
3394
|
-
args: [{
|
|
3395
|
-
providedIn: 'root'
|
|
3396
|
-
}]
|
|
3397
|
-
}], ctorParameters: function () { return [{ type: BXRestTaskElapseditem }, { type: BXRestMapTaskElapseditem }, { type: BXRestNavvyOperationElapseditem }]; } });
|
|
3398
|
-
|
|
3399
|
-
class BXRestMapTaskCommentItem extends BaseMapServices {
|
|
3400
|
-
getlist(value) {
|
|
3401
|
-
return value ? value.map(i => this.iCommentTaskHtmlToiCommentTask(i)) : undefined;
|
|
3402
|
-
}
|
|
3403
|
-
get(value) {
|
|
3404
|
-
return value ? this.iCommentTaskHtmlToiCommentTask(value) : undefined;
|
|
3405
|
-
}
|
|
3406
|
-
iCommentTaskHtmlToiCommentTask(item) {
|
|
3407
|
-
if (item.ATTACHED_OBJECTS) {
|
|
3408
|
-
return {
|
|
3409
|
-
ATTACHED_OBJECTS: Object.values(item.ATTACHED_OBJECTS).map(i => {
|
|
3410
|
-
return {
|
|
3411
|
-
ATTACHMENT_ID: this.toNum(i.ATTACHMENT_ID),
|
|
3412
|
-
FILE_ID: this.toNum(i.FILE_ID),
|
|
3413
|
-
SIZE: this.toNum(i.SIZE),
|
|
3414
|
-
DOWNLOAD_URL: i.DOWNLOAD_URL,
|
|
3415
|
-
NAME: i.NAME,
|
|
3416
|
-
VIEW_URL: i.VIEW_URL
|
|
3417
|
-
};
|
|
3418
|
-
}),
|
|
3419
|
-
AUTHOR_ID: this.toNum(item.AUTHOR_ID),
|
|
3420
|
-
ID: this.toNum(item.ID),
|
|
3421
|
-
POST_DATE: this.toDate(item.POST_DATE),
|
|
3422
|
-
AUTHOR_EMAIL: item.AUTHOR_EMAIL,
|
|
3423
|
-
AUTHOR_NAME: item.AUTHOR_NAME,
|
|
3424
|
-
POST_MESSAGE: item.POST_MESSAGE,
|
|
3425
|
-
POST_MESSAGE_HTML: item.POST_MESSAGE_HTML
|
|
3426
|
-
};
|
|
3427
|
-
}
|
|
3428
|
-
else {
|
|
3429
|
-
return {
|
|
3430
|
-
AUTHOR_ID: this.toNum(item.AUTHOR_ID),
|
|
3431
|
-
ID: this.toNum(item.ID),
|
|
3432
|
-
POST_DATE: this.toDate(item.POST_DATE),
|
|
3433
|
-
AUTHOR_EMAIL: item.AUTHOR_EMAIL,
|
|
3434
|
-
AUTHOR_NAME: item.AUTHOR_NAME,
|
|
3435
|
-
POST_MESSAGE: item.POST_MESSAGE,
|
|
3436
|
-
POST_MESSAGE_HTML: item.POST_MESSAGE_HTML
|
|
3437
|
-
};
|
|
3438
|
-
}
|
|
3103
|
+
iTaskResultHttpToiTaskResult(item) {
|
|
3104
|
+
return Object.assign(item, {
|
|
3105
|
+
createdAt: this.toDate(item.createdAt),
|
|
3106
|
+
updatedAt: this.toDate(item.updatedAt)
|
|
3107
|
+
});
|
|
3439
3108
|
}
|
|
3440
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.6", ngImport: i0, type:
|
|
3441
|
-
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.2.6", ngImport: i0, type:
|
|
3109
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.6", ngImport: i0, type: BXRestMapTasksTaskResult, deps: null, target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
3110
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.2.6", ngImport: i0, type: BXRestMapTasksTaskResult, providedIn: 'root' }); }
|
|
3442
3111
|
}
|
|
3443
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.6", ngImport: i0, type:
|
|
3112
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.6", ngImport: i0, type: BXRestMapTasksTaskResult, decorators: [{
|
|
3444
3113
|
type: Injectable,
|
|
3445
3114
|
args: [{
|
|
3446
3115
|
providedIn: 'root'
|
|
3447
3116
|
}]
|
|
3448
3117
|
}] });
|
|
3449
3118
|
|
|
3450
|
-
class
|
|
3451
|
-
constructor(
|
|
3452
|
-
this.
|
|
3453
|
-
this.
|
|
3454
|
-
this.
|
|
3455
|
-
this.Navvy = new Navvy(this.BXRestTaskCommentItem, this.mapTaskCommentItem);
|
|
3456
|
-
}
|
|
3457
|
-
add(param) {
|
|
3458
|
-
return this.Navvy.simpleWithArg(this.BXRestTaskCommentItem.add, param, 'Не удалось добавить комментарий к задаче');
|
|
3459
|
-
}
|
|
3460
|
-
update(param) {
|
|
3461
|
-
return this.Navvy.simpleWithArg(this.BXRestTaskCommentItem.update, param, 'Не удалось обновить комментарий к задаче');
|
|
3462
|
-
}
|
|
3463
|
-
get(param) {
|
|
3464
|
-
return this.Navvy.simpleWithArg(this.BXRestTaskCommentItem.get, param, 'Не удалось получить комментарий к задаче', this.mapTaskCommentItem.get);
|
|
3465
|
-
}
|
|
3466
|
-
getlist(param = {
|
|
3467
|
-
FILTER: {},
|
|
3468
|
-
ORDER: {
|
|
3469
|
-
POST_DATE: 'asc'
|
|
3470
|
-
}
|
|
3471
|
-
}) {
|
|
3472
|
-
return this.Navvy.simpleWithArg(this.BXRestTaskCommentItem.getlist, param, 'Не удалось получить комментарии к задаче', this.mapTaskCommentItem.getlist);
|
|
3473
|
-
}
|
|
3474
|
-
del(param) {
|
|
3475
|
-
if (param.ITEMID > 0) {
|
|
3476
|
-
return this.get(param).result().pipe(mergeMap(v => {
|
|
3477
|
-
if (v) {
|
|
3478
|
-
return this.Navvy.simpleWithArg(this.BXRestTaskCommentItem.del, param, 'Не удалось удалить комментарий').result();
|
|
3479
|
-
}
|
|
3480
|
-
this.snackBar.warning('comment not exist');
|
|
3481
|
-
return of(false);
|
|
3482
|
-
}));
|
|
3483
|
-
}
|
|
3484
|
-
else {
|
|
3485
|
-
this.snackBar.warning('comment not exist');
|
|
3486
|
-
return of(false);
|
|
3487
|
-
}
|
|
3488
|
-
}
|
|
3489
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.6", ngImport: i0, type: BXRestNavvyTaskCommentItem, deps: [{ token: BXRestTaskCommentItem }, { token: BXRestMapTaskCommentItem }, { token: SnackBarService }], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
3490
|
-
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.2.6", ngImport: i0, type: BXRestNavvyTaskCommentItem, providedIn: 'root' }); }
|
|
3491
|
-
}
|
|
3492
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.6", ngImport: i0, type: BXRestNavvyTaskCommentItem, decorators: [{
|
|
3493
|
-
type: Injectable,
|
|
3494
|
-
args: [{
|
|
3495
|
-
providedIn: 'root'
|
|
3496
|
-
}]
|
|
3497
|
-
}], ctorParameters: function () { return [{ type: BXRestTaskCommentItem }, { type: BXRestMapTaskCommentItem }, { type: SnackBarService }]; } });
|
|
3498
|
-
|
|
3499
|
-
class BXRestMapTaskPlaner extends BaseMapServices {
|
|
3500
|
-
getList(v) {
|
|
3501
|
-
return (v) ? v.map(i => this.toNum(i)) : undefined;
|
|
3119
|
+
class BXRestNavvyTasksTaskResult {
|
|
3120
|
+
constructor(BXRestTasksTaskResult, BXRestMapTasksTaskResult) {
|
|
3121
|
+
this.BXRestTasksTaskResult = BXRestTasksTaskResult;
|
|
3122
|
+
this.BXRestMapTasksTaskResult = BXRestMapTasksTaskResult;
|
|
3123
|
+
this.Navvy = new Navvy(this.BXRestTasksTaskResult, this.BXRestMapTasksTaskResult);
|
|
3502
3124
|
}
|
|
3503
|
-
|
|
3504
|
-
|
|
3505
|
-
}
|
|
3506
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.6", ngImport: i0, type: BXRestMapTaskPlaner, decorators: [{
|
|
3507
|
-
type: Injectable,
|
|
3508
|
-
args: [{
|
|
3509
|
-
providedIn: 'root'
|
|
3510
|
-
}]
|
|
3511
|
-
}] });
|
|
3512
|
-
|
|
3513
|
-
class BXRestNavvyTaskPlanner {
|
|
3514
|
-
constructor(BXRestTaskPlanner, BXRestMapTaskPlaner) {
|
|
3515
|
-
this.BXRestTaskPlanner = BXRestTaskPlanner;
|
|
3516
|
-
this.BXRestMapTaskPlaner = BXRestMapTaskPlaner;
|
|
3517
|
-
this.Navvy = new Navvy(this.BXRestTaskPlanner, this.BXRestMapTaskPlaner);
|
|
3125
|
+
deleteFromComment(commentID) {
|
|
3126
|
+
return this.Navvy.simpleWithArg(this.BXRestTasksTaskResult.deleteFromComment, commentID, 'Не удалось удалить комментарий');
|
|
3518
3127
|
}
|
|
3519
|
-
|
|
3520
|
-
return this.Navvy.
|
|
3128
|
+
addFromComment(commentID) {
|
|
3129
|
+
return this.Navvy.simpleWithArg(this.BXRestTasksTaskResult.addFromComment, commentID, 'Не удалось добавить комментарий', this.BXRestMapTasksTaskResult.addFromComment);
|
|
3521
3130
|
}
|
|
3522
|
-
|
|
3523
|
-
|
|
3524
|
-
}
|
|
3525
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.6", ngImport: i0, type: BXRestNavvyTaskPlanner, decorators: [{
|
|
3526
|
-
type: Injectable,
|
|
3527
|
-
args: [{
|
|
3528
|
-
providedIn: 'root'
|
|
3529
|
-
}]
|
|
3530
|
-
}], ctorParameters: function () { return [{ type: BXRestTaskPlanner }, { type: BXRestMapTaskPlaner }]; } });
|
|
3531
|
-
|
|
3532
|
-
class BXRestNavvyTask {
|
|
3533
|
-
constructor(elapseditem, commentitem, planner) {
|
|
3534
|
-
this.elapseditem = elapseditem;
|
|
3535
|
-
this.commentitem = commentitem;
|
|
3536
|
-
this.planner = planner;
|
|
3131
|
+
list(param) {
|
|
3132
|
+
return this.Navvy.PagNav(this.BXRestTasksTaskResult.list, param, 'Не удалось добавить комментарий', this.BXRestMapTasksTaskResult.list);
|
|
3537
3133
|
}
|
|
3538
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.6", ngImport: i0, type:
|
|
3539
|
-
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.2.6", ngImport: i0, type:
|
|
3134
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.6", ngImport: i0, type: BXRestNavvyTasksTaskResult, deps: [{ token: BXRestTasksTaskResult }, { token: BXRestMapTasksTaskResult }], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
3135
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.2.6", ngImport: i0, type: BXRestNavvyTasksTaskResult, providedIn: 'root' }); }
|
|
3540
3136
|
}
|
|
3541
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.6", ngImport: i0, type:
|
|
3137
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.6", ngImport: i0, type: BXRestNavvyTasksTaskResult, decorators: [{
|
|
3542
3138
|
type: Injectable,
|
|
3543
3139
|
args: [{
|
|
3544
3140
|
providedIn: 'root'
|
|
3545
3141
|
}]
|
|
3546
|
-
}], ctorParameters: function () { return [{ type:
|
|
3142
|
+
}], ctorParameters: function () { return [{ type: BXRestTasksTaskResult }, { type: BXRestMapTasksTaskResult }]; } });
|
|
3547
3143
|
|
|
3144
|
+
/// type SelectInterfaceTypeTasksTaskList<T> = T extends iBXRestHttpTasksTaskList ? iBXRestTasksTaskList : iBXRestTasksTaskListDefault
|
|
3548
3145
|
class BXRestMapTasksTask extends BaseMapServices {
|
|
3146
|
+
constructor(result) {
|
|
3147
|
+
super();
|
|
3148
|
+
this.result = result;
|
|
3149
|
+
}
|
|
3549
3150
|
getaccess(v) {
|
|
3550
3151
|
return (v && v.allowedActions) ? v.allowedActions : undefined;
|
|
3551
3152
|
}
|
|
@@ -3556,6 +3157,7 @@ class BXRestMapTasksTask extends BaseMapServices {
|
|
|
3556
3157
|
return (item && item.task) ? this.TaskBXHttpToTaskBX(item.task) : undefined;
|
|
3557
3158
|
}
|
|
3558
3159
|
list(item) {
|
|
3160
|
+
// @ts-ignore
|
|
3559
3161
|
return (item && item.tasks) ? item.tasks.map(i => this.TaskBXHttpToTaskBX(i)) : undefined;
|
|
3560
3162
|
}
|
|
3561
3163
|
TaskBXHttpToTaskBX(item) {
|
|
@@ -3659,7 +3261,7 @@ class BXRestMapTasksTask extends BaseMapServices {
|
|
|
3659
3261
|
}
|
|
3660
3262
|
return Object.assign(item, result);
|
|
3661
3263
|
}
|
|
3662
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.6", ngImport: i0, type: BXRestMapTasksTask, deps:
|
|
3264
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.6", ngImport: i0, type: BXRestMapTasksTask, deps: [{ token: BXRestMapTasksTaskResult }], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
3663
3265
|
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.2.6", ngImport: i0, type: BXRestMapTasksTask, providedIn: 'root' }); }
|
|
3664
3266
|
}
|
|
3665
3267
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.6", ngImport: i0, type: BXRestMapTasksTask, decorators: [{
|
|
@@ -3667,17 +3269,18 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.6", ngImpor
|
|
|
3667
3269
|
args: [{
|
|
3668
3270
|
providedIn: 'root'
|
|
3669
3271
|
}]
|
|
3670
|
-
}] });
|
|
3272
|
+
}], ctorParameters: function () { return [{ type: BXRestMapTasksTaskResult }]; } });
|
|
3671
3273
|
|
|
3672
3274
|
// export interface TimeProcess {
|
|
3673
3275
|
// total: number,
|
|
3674
3276
|
// next: number
|
|
3675
3277
|
// }
|
|
3676
3278
|
class BXRestNavvyTasksTask {
|
|
3677
|
-
constructor(BXRestTasksTask,
|
|
3279
|
+
constructor(result, BXRestTasksTask,
|
|
3678
3280
|
// private snackBar: SnackBarService,
|
|
3679
3281
|
// private store: Store<{ tasks: IStoreTask }>,
|
|
3680
3282
|
BXRestMapTasksTask) {
|
|
3283
|
+
this.result = result;
|
|
3681
3284
|
this.BXRestTasksTask = BXRestTasksTask;
|
|
3682
3285
|
this.BXRestMapTasksTask = BXRestMapTasksTask;
|
|
3683
3286
|
// pageSize = 50
|
|
@@ -3698,204 +3301,657 @@ class BXRestNavvyTasksTask {
|
|
|
3698
3301
|
// })
|
|
3699
3302
|
}
|
|
3700
3303
|
add(param) {
|
|
3701
|
-
return this.Navvy.simpleWithArg(this.BXRestTasksTask.add, param, 'Не удалось добавить задачу', this.BXRestMapTasksTask.add);
|
|
3702
|
-
// return this.http.post<{ task: TaskBXHttp }>(this.url.add, {fields: param}).pipe(
|
|
3703
|
-
// map(v => {
|
|
3704
|
-
// if (v && v.result && v.result.task) {
|
|
3705
|
-
// return Object.assign(
|
|
3706
|
-
// v,
|
|
3707
|
-
// {
|
|
3708
|
-
// result: this.taskBXMap.TaskBXHttpToTaskBX(v.result.task)
|
|
3709
|
-
// })
|
|
3710
|
-
// }
|
|
3711
|
-
// return undefined
|
|
3712
|
-
// }
|
|
3713
|
-
// ))
|
|
3304
|
+
return this.Navvy.simpleWithArg(this.BXRestTasksTask.add, param, 'Не удалось добавить задачу', this.BXRestMapTasksTask.add);
|
|
3305
|
+
// return this.http.post<{ task: TaskBXHttp }>(this.url.add, {fields: param}).pipe(
|
|
3306
|
+
// map(v => {
|
|
3307
|
+
// if (v && v.result && v.result.task) {
|
|
3308
|
+
// return Object.assign(
|
|
3309
|
+
// v,
|
|
3310
|
+
// {
|
|
3311
|
+
// result: this.taskBXMap.TaskBXHttpToTaskBX(v.result.task)
|
|
3312
|
+
// })
|
|
3313
|
+
// }
|
|
3314
|
+
// return undefined
|
|
3315
|
+
// }
|
|
3316
|
+
// ))
|
|
3317
|
+
}
|
|
3318
|
+
/*
|
|
3319
|
+
update(taskId: number, updateFields: iBXRestTaskFieldsName[], task: iBXRestTask) {
|
|
3320
|
+
let sendTask: Record<string, any> = {}
|
|
3321
|
+
let taskTS: Record<string, any> = task
|
|
3322
|
+
if (updateFields.length) {
|
|
3323
|
+
for (let updateField of updateFields) {
|
|
3324
|
+
if (taskTS[camelCase(updateField)]) {
|
|
3325
|
+
sendTask[updateField] = taskTS[camelCase(updateField)]
|
|
3326
|
+
}
|
|
3327
|
+
}
|
|
3328
|
+
if (Object.values(sendTask).length) {
|
|
3329
|
+
return this.http.post(
|
|
3330
|
+
this.url.update,
|
|
3331
|
+
{taskId: taskId, fields: sendTask},
|
|
3332
|
+
'error to update task')
|
|
3333
|
+
} else {
|
|
3334
|
+
this.snackBar.error('not valid send data task')
|
|
3335
|
+
console.error('not valid send data task', sendTask, task)
|
|
3336
|
+
return of(undefined)
|
|
3337
|
+
}
|
|
3338
|
+
}
|
|
3339
|
+
|
|
3340
|
+
this.snackBar.warning('not have field for update')
|
|
3341
|
+
return of(undefined)
|
|
3342
|
+
}
|
|
3343
|
+
*/
|
|
3344
|
+
get(param) {
|
|
3345
|
+
if (!param.select) {
|
|
3346
|
+
param.select = this.def.select;
|
|
3347
|
+
}
|
|
3348
|
+
return this.Navvy.simpleWithArg(this.BXRestTasksTask.get, param, 'Не удалось получить задачу', this.BXRestMapTasksTask.get);
|
|
3349
|
+
}
|
|
3350
|
+
list(param = {}) {
|
|
3351
|
+
if (!param.select) {
|
|
3352
|
+
param.select = this.def.select;
|
|
3353
|
+
}
|
|
3354
|
+
return this.Navvy.PagNavTasks(this.BXRestTasksTask.list, param, 'Не удалось получить список задач', this.BXRestMapTasksTask.list);
|
|
3355
|
+
}
|
|
3356
|
+
/*
|
|
3357
|
+
listArray(requestArray: RequestApiTaskListBX = {}) {
|
|
3358
|
+
return this.list(requestArray).pipe(
|
|
3359
|
+
map(v => this.http.mapResult(v)),
|
|
3360
|
+
map(v => (v && v.tasks) ? v.tasks : [])
|
|
3361
|
+
)
|
|
3362
|
+
}
|
|
3363
|
+
|
|
3364
|
+
listAll(requestArray: RequestApiTaskListBX = {}, cache = false): Observable<TaskBX[]> {
|
|
3365
|
+
if (!requestArray.select) {
|
|
3366
|
+
requestArray.select = this.def.select
|
|
3367
|
+
if (cache) {
|
|
3368
|
+
return this.storeTask$.pipe(
|
|
3369
|
+
take(1),
|
|
3370
|
+
mergeMap(tasks => {
|
|
3371
|
+
if (tasks && tasks.data.http.list && requestArray.filter && requestArray.filter.ID) {
|
|
3372
|
+
const ids = (typeof requestArray.filter.ID === 'number') ? [requestArray.filter.ID] : requestArray.filter.ID
|
|
3373
|
+
let filter = tasks.data.http.list.filter(i => (i.id) ? ids.includes(i.id) : false)
|
|
3374
|
+
if (filter.length === ids.length) {
|
|
3375
|
+
return of(filter)
|
|
3376
|
+
}
|
|
3377
|
+
}
|
|
3378
|
+
return this.getEndListArray(requestArray)
|
|
3379
|
+
})
|
|
3380
|
+
)
|
|
3381
|
+
}
|
|
3382
|
+
return this.getEndListArray(requestArray)
|
|
3383
|
+
}
|
|
3384
|
+
return this.getEndListArray(requestArray)
|
|
3385
|
+
}
|
|
3386
|
+
|
|
3387
|
+
getEndListArray(requestArray: RequestApiTaskListBX): Observable<TaskBX[]> {
|
|
3388
|
+
return this.list(requestArray).pipe(
|
|
3389
|
+
mergeMap((items: AnswerApiTaskBX | undefined): ObservableInput<any> | Observable<AnswerApiTaskBX[]> => {
|
|
3390
|
+
if (items && items.result && typeof items.result.tasks === 'object') {
|
|
3391
|
+
const items$ = of(items.result.tasks)
|
|
3392
|
+
if (items.next) {
|
|
3393
|
+
this.nowLoad$.next({
|
|
3394
|
+
total: (items.total) ? items.total : 0,
|
|
3395
|
+
next: items.next
|
|
3396
|
+
})
|
|
3397
|
+
requestArray.start = items.next
|
|
3398
|
+
return this.getEndListArray(requestArray).pipe(
|
|
3399
|
+
map(vEnd => {
|
|
3400
|
+
if (vEnd && items.result.tasks) {
|
|
3401
|
+
return [...items.result.tasks, ...vEnd]
|
|
3402
|
+
}
|
|
3403
|
+
return (items.result.tasks) ? items.result.tasks : []
|
|
3404
|
+
}))
|
|
3405
|
+
}
|
|
3406
|
+
this.nowLoad$.next({
|
|
3407
|
+
total: 0,
|
|
3408
|
+
next: 0
|
|
3409
|
+
})
|
|
3410
|
+
return items$
|
|
3411
|
+
} else {
|
|
3412
|
+
return of([])
|
|
3413
|
+
}
|
|
3414
|
+
})
|
|
3415
|
+
)
|
|
3416
|
+
}
|
|
3417
|
+
|
|
3418
|
+
getFields() {
|
|
3419
|
+
return this.storeTask$.pipe(
|
|
3420
|
+
mergeMap(v => {
|
|
3421
|
+
if (v && !v.data.fields) {
|
|
3422
|
+
return this.http.post<iHttpAnswerBX<{ fields: iGetFieldsDescription }>>(this.url.getFields).pipe(
|
|
3423
|
+
tap(v => {
|
|
3424
|
+
if (v && v.result) {
|
|
3425
|
+
this.store.dispatch(saveFields(v.result))
|
|
3426
|
+
}
|
|
3427
|
+
}),
|
|
3428
|
+
map(v => {
|
|
3429
|
+
if (v && v.result && v.result.fields) {
|
|
3430
|
+
return {result: v.result.fields}
|
|
3431
|
+
}
|
|
3432
|
+
|
|
3433
|
+
return undefined
|
|
3434
|
+
})
|
|
3435
|
+
)
|
|
3436
|
+
}
|
|
3437
|
+
if (v.data.fields) {
|
|
3438
|
+
return of({result: clone<iGetFieldsDescription>(v.data.fields)})
|
|
3439
|
+
} else {
|
|
3440
|
+
return of(undefined)
|
|
3441
|
+
}
|
|
3442
|
+
})
|
|
3443
|
+
)
|
|
3444
|
+
} */
|
|
3445
|
+
getaccess(param) {
|
|
3446
|
+
return this.Navvy.simpleWithArg(this.BXRestTasksTask.getaccess, param, 'Не удалось получить права на указанных пользователей', this.BXRestMapTasksTask.getaccess);
|
|
3447
|
+
}
|
|
3448
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.6", ngImport: i0, type: BXRestNavvyTasksTask, deps: [{ token: BXRestNavvyTasksTaskResult }, { token: BXRestTasksTask }, { token: BXRestMapTasksTask }], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
3449
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.2.6", ngImport: i0, type: BXRestNavvyTasksTask, providedIn: 'root' }); }
|
|
3450
|
+
}
|
|
3451
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.6", ngImport: i0, type: BXRestNavvyTasksTask, decorators: [{
|
|
3452
|
+
type: Injectable,
|
|
3453
|
+
args: [{
|
|
3454
|
+
providedIn: 'root'
|
|
3455
|
+
}]
|
|
3456
|
+
}], ctorParameters: function () { return [{ type: BXRestNavvyTasksTaskResult }, { type: BXRestTasksTask }, { type: BXRestMapTasksTask }]; } });
|
|
3457
|
+
|
|
3458
|
+
class BXRestNavvyTasks {
|
|
3459
|
+
constructor(task) {
|
|
3460
|
+
this.task = task;
|
|
3461
|
+
}
|
|
3462
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.6", ngImport: i0, type: BXRestNavvyTasks, deps: [{ token: BXRestNavvyTasksTask }], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
3463
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.2.6", ngImport: i0, type: BXRestNavvyTasks, providedIn: 'root' }); }
|
|
3464
|
+
}
|
|
3465
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.6", ngImport: i0, type: BXRestNavvyTasks, decorators: [{
|
|
3466
|
+
type: Injectable,
|
|
3467
|
+
args: [{
|
|
3468
|
+
providedIn: 'root'
|
|
3469
|
+
}]
|
|
3470
|
+
}], ctorParameters: function () { return [{ type: BXRestNavvyTasksTask }]; } });
|
|
3471
|
+
|
|
3472
|
+
class BXRestNavvyOperationElapseditem {
|
|
3473
|
+
constructor(http, delegate, BXRestMapElapseditem, BXRestNavvyUser, BXRestNavvyTasks) {
|
|
3474
|
+
this.http = http;
|
|
3475
|
+
this.delegate = delegate;
|
|
3476
|
+
this.BXRestMapElapseditem = BXRestMapElapseditem;
|
|
3477
|
+
this.BXRestNavvyUser = BXRestNavvyUser;
|
|
3478
|
+
this.BXRestNavvyTasks = BXRestNavvyTasks;
|
|
3479
|
+
}
|
|
3480
|
+
getByInterval(idsUsers, dateStart, dateEnd) {
|
|
3481
|
+
const param = {
|
|
3482
|
+
ORDER: {
|
|
3483
|
+
ID: 'DESC'
|
|
3484
|
+
},
|
|
3485
|
+
FILTER: {
|
|
3486
|
+
USER_ID: idsUsers,
|
|
3487
|
+
'>=CREATED_DATE': dateStart.toLocaleString('ru-Ru'),
|
|
3488
|
+
'<=CREATED_DATE': dateEnd.toLocaleString('ru-Ru'),
|
|
3489
|
+
}
|
|
3490
|
+
};
|
|
3491
|
+
return this.delegate.getList(param);
|
|
3492
|
+
}
|
|
3493
|
+
getListByIDTask(ids) {
|
|
3494
|
+
return this.http.branch(ids.map(i => {
|
|
3495
|
+
return {
|
|
3496
|
+
name: this.http.getNameMethod([$task, $elapseditem, $getlist]),
|
|
3497
|
+
param: {
|
|
3498
|
+
TASKID: i
|
|
3499
|
+
}
|
|
3500
|
+
};
|
|
3501
|
+
})).pipe(map(v => {
|
|
3502
|
+
if (v && v.length) {
|
|
3503
|
+
return this.http.mapBranchResultWithoutKey(v).map(i => this.BXRestMapElapseditem.getList(i)).filter((i) => i !== undefined).flat();
|
|
3504
|
+
}
|
|
3505
|
+
return undefined;
|
|
3506
|
+
}));
|
|
3507
|
+
}
|
|
3508
|
+
checkPermissionAddElapsedtimeToTaskArr(tasks) {
|
|
3509
|
+
let request = Object.assign({}, ...tasks.map(i => {
|
|
3510
|
+
return { [i]: this.checkPermissionAddElapsedtimeToTask(i) };
|
|
3511
|
+
}));
|
|
3512
|
+
return forkJoin(request)
|
|
3513
|
+
.pipe(take(1), mergeMap(v => {
|
|
3514
|
+
let forForeach = Object.entries(v).map(([key, value]) => {
|
|
3515
|
+
return { id: Number(key), value: value };
|
|
3516
|
+
});
|
|
3517
|
+
if (forForeach.find(i => i.value === undefined) !== undefined) {
|
|
3518
|
+
let forForeachHave = forForeach.filter(i => i.value !== undefined);
|
|
3519
|
+
let forForeachNotHave = forForeach.filter(i => i.value === undefined); // тут получаем все id не сохраненных у нас прав
|
|
3520
|
+
return this.http.branch(Object.assign({}, ...forForeachNotHave
|
|
3521
|
+
.map(i => i.id)
|
|
3522
|
+
.map(i => {
|
|
3523
|
+
return {
|
|
3524
|
+
[i]: {
|
|
3525
|
+
name: this.http.getNameMethod([$tasks, $task, $getaccess]),
|
|
3526
|
+
param: {
|
|
3527
|
+
TASKID: i,
|
|
3528
|
+
ITEMID: 1,
|
|
3529
|
+
ACTIONID: 1
|
|
3530
|
+
}
|
|
3531
|
+
}
|
|
3532
|
+
};
|
|
3533
|
+
}))).pipe(map(v => {
|
|
3534
|
+
if (v && v.length) {
|
|
3535
|
+
const res = this.http.mapBranchResult(v);
|
|
3536
|
+
forForeachNotHave = Object.entries(res).map(([key, value]) => {
|
|
3537
|
+
return { id: Number(key), value: value };
|
|
3538
|
+
});
|
|
3539
|
+
return Object.assign(forForeachHave, forForeachNotHave);
|
|
3540
|
+
}
|
|
3541
|
+
return undefined;
|
|
3542
|
+
}));
|
|
3543
|
+
}
|
|
3544
|
+
return of(forForeach);
|
|
3545
|
+
}));
|
|
3546
|
+
}
|
|
3547
|
+
checkPermissionAddElapsedtimeToTask(idTask) {
|
|
3548
|
+
let permission = Permission.get();
|
|
3549
|
+
if (permission?.tasks?.length) {
|
|
3550
|
+
let findTask = permission.tasks.find(i => i.id === idTask);
|
|
3551
|
+
if (findTask?.permission) {
|
|
3552
|
+
return of(findTask.permission['ELAPSEDTIME.ADD']);
|
|
3553
|
+
}
|
|
3554
|
+
return this.BXRestNavvyUser.current().result().pipe(mergeMap(self => {
|
|
3555
|
+
if (self) {
|
|
3556
|
+
return this.BXRestNavvyTasks.task.getaccess({
|
|
3557
|
+
id: idTask,
|
|
3558
|
+
users: [self.ID]
|
|
3559
|
+
}).result().pipe(tap(v => {
|
|
3560
|
+
if (v && v[self.ID]) {
|
|
3561
|
+
Permission.set({
|
|
3562
|
+
tasks: [{ id: idTask, permission: v[self.ID], elapsedItem: [] }]
|
|
3563
|
+
});
|
|
3564
|
+
}
|
|
3565
|
+
}), map(v => {
|
|
3566
|
+
return (v && v[self.ID]) ? v[self.ID]['ELAPSEDTIME.ADD'] : false;
|
|
3567
|
+
}));
|
|
3568
|
+
}
|
|
3569
|
+
return of(undefined);
|
|
3570
|
+
}));
|
|
3571
|
+
}
|
|
3572
|
+
return of(undefined);
|
|
3573
|
+
}
|
|
3574
|
+
checkPermissionReadTask(idTask) {
|
|
3575
|
+
let permission = Permission.get();
|
|
3576
|
+
if (permission?.tasks?.length) {
|
|
3577
|
+
let findTask = permission.tasks.find(i => i.id === idTask);
|
|
3578
|
+
if (findTask?.permission) {
|
|
3579
|
+
return of(findTask.permission.ACCEPT);
|
|
3580
|
+
}
|
|
3581
|
+
return this.BXRestNavvyUser.current().result().pipe(mergeMap(self => {
|
|
3582
|
+
if (self) {
|
|
3583
|
+
return this.BXRestNavvyTasks.task.getaccess({
|
|
3584
|
+
id: idTask,
|
|
3585
|
+
users: [self.ID]
|
|
3586
|
+
}).result().pipe(tap(v => {
|
|
3587
|
+
if (v && v[self.ID]) {
|
|
3588
|
+
Permission.set({
|
|
3589
|
+
tasks: [{ id: idTask, permission: v[self.ID], elapsedItem: [] }]
|
|
3590
|
+
});
|
|
3591
|
+
}
|
|
3592
|
+
}), map(v => {
|
|
3593
|
+
return (v && v[self.ID]) ? v[self.ID].ACCEPT : false;
|
|
3594
|
+
}));
|
|
3595
|
+
}
|
|
3596
|
+
return of(undefined);
|
|
3597
|
+
}));
|
|
3598
|
+
}
|
|
3599
|
+
return of(undefined);
|
|
3600
|
+
}
|
|
3601
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.6", ngImport: i0, type: BXRestNavvyOperationElapseditem, deps: [{ token: HttpBXServices }, { token: BXRestNavvyDelegateElapseditem }, { token: BXRestMapTaskElapseditem }, { token: BXRestNavvyUser }, { token: BXRestNavvyTasks }], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
3602
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.2.6", ngImport: i0, type: BXRestNavvyOperationElapseditem, providedIn: 'root' }); }
|
|
3603
|
+
}
|
|
3604
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.6", ngImport: i0, type: BXRestNavvyOperationElapseditem, decorators: [{
|
|
3605
|
+
type: Injectable,
|
|
3606
|
+
args: [{
|
|
3607
|
+
providedIn: 'root'
|
|
3608
|
+
}]
|
|
3609
|
+
}], ctorParameters: function () { return [{ type: HttpBXServices }, { type: BXRestNavvyDelegateElapseditem }, { type: BXRestMapTaskElapseditem }, { type: BXRestNavvyUser }, { type: BXRestNavvyTasks }]; } });
|
|
3610
|
+
|
|
3611
|
+
class BXRestNavvyElapseditem {
|
|
3612
|
+
constructor(BXRestElapseditem, BXRestMapElapseditem, delegate, operation) {
|
|
3613
|
+
this.BXRestElapseditem = BXRestElapseditem;
|
|
3614
|
+
this.BXRestMapElapseditem = BXRestMapElapseditem;
|
|
3615
|
+
this.delegate = delegate;
|
|
3616
|
+
this.operation = operation;
|
|
3617
|
+
this.Navvy = new Navvy(this.BXRestElapseditem, this.BXRestMapElapseditem);
|
|
3618
|
+
}
|
|
3619
|
+
/*
|
|
3620
|
+
call(methodName: string, ...args: any[]){
|
|
3621
|
+
if (typeof this[methodName] === 'function') {
|
|
3622
|
+
return this[methodName](...args);
|
|
3623
|
+
}
|
|
3624
|
+
return this[methodName](...args);
|
|
3625
|
+
}
|
|
3626
|
+
*/
|
|
3627
|
+
getList(param = {}) {
|
|
3628
|
+
return this.delegate.getList(param);
|
|
3629
|
+
}
|
|
3630
|
+
add(param) {
|
|
3631
|
+
return this.operation.checkPermissionReadTask(param.TASKID).pipe(mergeMap(allowedReadTask => {
|
|
3632
|
+
if (allowedReadTask) {
|
|
3633
|
+
return this.operation.checkPermissionAddElapsedtimeToTask(param.TASKID).pipe(mergeMap(allowed => {
|
|
3634
|
+
if (allowed) {
|
|
3635
|
+
return this.BXRestElapseditem.add(param);
|
|
3636
|
+
}
|
|
3637
|
+
else {
|
|
3638
|
+
return throwError(() => new Error('Отсутствуют права добавление записи затраченного времени'));
|
|
3639
|
+
}
|
|
3640
|
+
}));
|
|
3641
|
+
}
|
|
3642
|
+
else {
|
|
3643
|
+
return throwError(() => new Error('Отсутствуют права на чтение задачи'));
|
|
3644
|
+
}
|
|
3645
|
+
}));
|
|
3646
|
+
}
|
|
3647
|
+
/**
|
|
3648
|
+
* Обновление записи рабочего времени
|
|
3649
|
+
*
|
|
3650
|
+
* @param param
|
|
3651
|
+
*/
|
|
3652
|
+
update(param) {
|
|
3653
|
+
return this.Navvy.simple(() => this.operation.checkPermissionReadTask(param.TASKID).pipe(mergeMap(allowedReadTask => {
|
|
3654
|
+
if (allowedReadTask) {
|
|
3655
|
+
return this.isAllowedModify(param.TASKID, param.ITEMID).pipe(mergeMap(allowed => {
|
|
3656
|
+
if (allowed) {
|
|
3657
|
+
return this.BXRestElapseditem.update(param);
|
|
3658
|
+
}
|
|
3659
|
+
else {
|
|
3660
|
+
return throwError(() => new Error('Отсутствуют права на изменение записи затраченного времени'));
|
|
3661
|
+
}
|
|
3662
|
+
}));
|
|
3663
|
+
}
|
|
3664
|
+
else {
|
|
3665
|
+
return throwError(() => new Error('Отсутствуют права на чтение задачи'));
|
|
3666
|
+
}
|
|
3667
|
+
})), 'Не удалось обновить элемент списка', this.BXRestMapElapseditem.update);
|
|
3668
|
+
}
|
|
3669
|
+
/*
|
|
3670
|
+
getAll(
|
|
3671
|
+
params: RequestParamsElapsedGetList | undefined = undefined,
|
|
3672
|
+
cache = false
|
|
3673
|
+
): Observable<iHttpAnswerBX<BXRestElapsed[]> | undefined> {
|
|
3674
|
+
return this.get(params, cache)
|
|
3675
|
+
.pipe(
|
|
3676
|
+
mergeMap(items => {
|
|
3677
|
+
if (items && items.result) {
|
|
3678
|
+
if (items.next) {
|
|
3679
|
+
params = (params) ? params : {}
|
|
3680
|
+
params.PARAMS = {
|
|
3681
|
+
NAV_PARAMS: {
|
|
3682
|
+
nPageSize: this.pageSize,
|
|
3683
|
+
iNumPage: items.next / this.pageSize + 1
|
|
3684
|
+
}
|
|
3685
|
+
}
|
|
3686
|
+
return this.getAll(params, cache).pipe(
|
|
3687
|
+
map(vEnd => {
|
|
3688
|
+
if (vEnd && vEnd.result && items.result) {
|
|
3689
|
+
return merge(clone(vEnd), {result: [...items.result, ...vEnd.result]})
|
|
3690
|
+
}
|
|
3691
|
+
return items
|
|
3692
|
+
})
|
|
3693
|
+
)
|
|
3694
|
+
}
|
|
3695
|
+
return of(items)
|
|
3696
|
+
} else {
|
|
3697
|
+
return of(undefined)
|
|
3698
|
+
}
|
|
3699
|
+
})
|
|
3700
|
+
)
|
|
3701
|
+
}
|
|
3702
|
+
*/
|
|
3703
|
+
/*
|
|
3704
|
+
getCacheOff(params: RequestParamsElapsedGetList | undefined = undefined) {
|
|
3705
|
+
return this.http.post<iHttpAnswerBX<BXRestElapsedHttp[]> | undefined>
|
|
3706
|
+
(this.url.getlist, params, 'не удалось получить время по задачам')
|
|
3707
|
+
.pipe(
|
|
3708
|
+
map(v => {
|
|
3709
|
+
if (v && v.result) {
|
|
3710
|
+
const newResult: BXRestElapsed[] = []
|
|
3711
|
+
for (let task of v.result) {
|
|
3712
|
+
newResult.push(this.elapsedBXMap.AnswerElapsedGetHttpToAnswerElapsedGet(task))
|
|
3713
|
+
}
|
|
3714
|
+
return extend(v, {result: newResult}) as iHttpAnswerBX<BXRestElapsed[]>
|
|
3715
|
+
}
|
|
3716
|
+
return undefined
|
|
3717
|
+
}),
|
|
3718
|
+
tap(v => {
|
|
3719
|
+
if (v && params) {
|
|
3720
|
+
this.store.dispatch(saveHttpTaskTime({
|
|
3721
|
+
filter: clone(params),
|
|
3722
|
+
time: v
|
|
3723
|
+
}))
|
|
3724
|
+
}
|
|
3725
|
+
})
|
|
3726
|
+
)
|
|
3727
|
+
}
|
|
3728
|
+
*/
|
|
3729
|
+
isAllowedModify(idTask, idItem) {
|
|
3730
|
+
let permission = Permission.get();
|
|
3731
|
+
if (permission?.tasks?.length) {
|
|
3732
|
+
let findTask = permission.tasks.find(i => i.id === idTask);
|
|
3733
|
+
if (findTask) {
|
|
3734
|
+
let find = findTask.elapsedItem.find(i => i.id === idItem);
|
|
3735
|
+
if (find && find.verified.edit) {
|
|
3736
|
+
return of(find.edit);
|
|
3737
|
+
}
|
|
3738
|
+
}
|
|
3739
|
+
}
|
|
3740
|
+
return this.isActionAllowed({
|
|
3741
|
+
TASKID: idTask,
|
|
3742
|
+
ITEMID: 2,
|
|
3743
|
+
ACTIONID: idItem
|
|
3744
|
+
}).result().pipe(tap(v => {
|
|
3745
|
+
if (v !== undefined) {
|
|
3746
|
+
Permission.setTaskElapsedItem(idTask, {
|
|
3747
|
+
id: idItem,
|
|
3748
|
+
edit: v,
|
|
3749
|
+
del: false,
|
|
3750
|
+
verified: {
|
|
3751
|
+
edit: true,
|
|
3752
|
+
del: false,
|
|
3753
|
+
}
|
|
3754
|
+
});
|
|
3755
|
+
}
|
|
3756
|
+
}));
|
|
3757
|
+
}
|
|
3758
|
+
isAllowedRemove(idTask, idItem) {
|
|
3759
|
+
return this.isActionAllowed({
|
|
3760
|
+
TASKID: idTask,
|
|
3761
|
+
ITEMID: 3,
|
|
3762
|
+
ACTIONID: idItem
|
|
3763
|
+
}).result();
|
|
3764
|
+
}
|
|
3765
|
+
/**
|
|
3766
|
+
* idAction:
|
|
3767
|
+
* 1 - ACTION_ELAPSED_TIME_ADD
|
|
3768
|
+
* 2 - ACTION_ELAPSED_TIME_MODIFY
|
|
3769
|
+
* 3 - ACTION_ELAPSED_TIME_REMOVE
|
|
3770
|
+
* @param param
|
|
3771
|
+
*/
|
|
3772
|
+
isActionAllowed(param) {
|
|
3773
|
+
return this.Navvy.simple(() => this.operation.checkPermissionReadTask(param.TASKID).pipe(mergeMap(canRead => {
|
|
3774
|
+
if (canRead) {
|
|
3775
|
+
return this.BXRestElapseditem.isActionAllowed(param);
|
|
3776
|
+
}
|
|
3777
|
+
return throwError(() => new Error('Отсутствуют права на чтение задачи'));
|
|
3778
|
+
})));
|
|
3779
|
+
}
|
|
3780
|
+
del(param) {
|
|
3781
|
+
return this.Navvy.simple(() => this.operation.checkPermissionReadTask(param.TASKID).pipe(mergeMap(allowedReadTask => {
|
|
3782
|
+
if (allowedReadTask) {
|
|
3783
|
+
return this.isAllowedRemove(param.TASKID, param.ITEMID).pipe(mergeMap(allowed => {
|
|
3784
|
+
if (allowed) {
|
|
3785
|
+
return this.BXRestElapseditem.del(param);
|
|
3786
|
+
}
|
|
3787
|
+
else {
|
|
3788
|
+
return throwError(() => new Error('Отсутствуют права на удаление записи затраченного времени'));
|
|
3789
|
+
}
|
|
3790
|
+
}));
|
|
3791
|
+
}
|
|
3792
|
+
else {
|
|
3793
|
+
return throwError(() => new Error('Отсутствуют права на чтение задачи'));
|
|
3794
|
+
}
|
|
3795
|
+
})), 'Не удалось удалить элемент списка', v => (v === null));
|
|
3796
|
+
}
|
|
3797
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.6", ngImport: i0, type: BXRestNavvyElapseditem, deps: [{ token: BXRestTaskElapseditem }, { token: BXRestMapTaskElapseditem }, { token: BXRestNavvyDelegateElapseditem }, { token: BXRestNavvyOperationElapseditem }], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
3798
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.2.6", ngImport: i0, type: BXRestNavvyElapseditem, providedIn: 'root' }); }
|
|
3799
|
+
}
|
|
3800
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.6", ngImport: i0, type: BXRestNavvyElapseditem, decorators: [{
|
|
3801
|
+
type: Injectable,
|
|
3802
|
+
args: [{
|
|
3803
|
+
providedIn: 'root'
|
|
3804
|
+
}]
|
|
3805
|
+
}], ctorParameters: function () { return [{ type: BXRestTaskElapseditem }, { type: BXRestMapTaskElapseditem }, { type: BXRestNavvyDelegateElapseditem }, { type: BXRestNavvyOperationElapseditem }]; } });
|
|
3806
|
+
|
|
3807
|
+
class BXRestMapTaskCommentItem extends BaseMapServices {
|
|
3808
|
+
getlist(value) {
|
|
3809
|
+
return value ? value.map(i => this.iCommentTaskHtmlToiCommentTask(i)) : undefined;
|
|
3810
|
+
}
|
|
3811
|
+
get(value) {
|
|
3812
|
+
return value ? this.iCommentTaskHtmlToiCommentTask(value) : undefined;
|
|
3813
|
+
}
|
|
3814
|
+
iCommentTaskHtmlToiCommentTask(item) {
|
|
3815
|
+
if (item.ATTACHED_OBJECTS) {
|
|
3816
|
+
return {
|
|
3817
|
+
ATTACHED_OBJECTS: Object.values(item.ATTACHED_OBJECTS).map(i => {
|
|
3818
|
+
return {
|
|
3819
|
+
ATTACHMENT_ID: this.toNum(i.ATTACHMENT_ID),
|
|
3820
|
+
FILE_ID: this.toNum(i.FILE_ID),
|
|
3821
|
+
SIZE: this.toNum(i.SIZE),
|
|
3822
|
+
DOWNLOAD_URL: i.DOWNLOAD_URL,
|
|
3823
|
+
NAME: i.NAME,
|
|
3824
|
+
VIEW_URL: i.VIEW_URL
|
|
3825
|
+
};
|
|
3826
|
+
}),
|
|
3827
|
+
AUTHOR_ID: this.toNum(item.AUTHOR_ID),
|
|
3828
|
+
ID: this.toNum(item.ID),
|
|
3829
|
+
POST_DATE: this.toDate(item.POST_DATE),
|
|
3830
|
+
AUTHOR_EMAIL: item.AUTHOR_EMAIL,
|
|
3831
|
+
AUTHOR_NAME: item.AUTHOR_NAME,
|
|
3832
|
+
POST_MESSAGE: item.POST_MESSAGE,
|
|
3833
|
+
POST_MESSAGE_HTML: item.POST_MESSAGE_HTML
|
|
3834
|
+
};
|
|
3835
|
+
}
|
|
3836
|
+
else {
|
|
3837
|
+
return {
|
|
3838
|
+
AUTHOR_ID: this.toNum(item.AUTHOR_ID),
|
|
3839
|
+
ID: this.toNum(item.ID),
|
|
3840
|
+
POST_DATE: this.toDate(item.POST_DATE),
|
|
3841
|
+
AUTHOR_EMAIL: item.AUTHOR_EMAIL,
|
|
3842
|
+
AUTHOR_NAME: item.AUTHOR_NAME,
|
|
3843
|
+
POST_MESSAGE: item.POST_MESSAGE,
|
|
3844
|
+
POST_MESSAGE_HTML: item.POST_MESSAGE_HTML
|
|
3845
|
+
};
|
|
3846
|
+
}
|
|
3847
|
+
}
|
|
3848
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.6", ngImport: i0, type: BXRestMapTaskCommentItem, deps: null, target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
3849
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.2.6", ngImport: i0, type: BXRestMapTaskCommentItem, providedIn: 'root' }); }
|
|
3850
|
+
}
|
|
3851
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.6", ngImport: i0, type: BXRestMapTaskCommentItem, decorators: [{
|
|
3852
|
+
type: Injectable,
|
|
3853
|
+
args: [{
|
|
3854
|
+
providedIn: 'root'
|
|
3855
|
+
}]
|
|
3856
|
+
}] });
|
|
3857
|
+
|
|
3858
|
+
class BXRestNavvyTaskCommentItem {
|
|
3859
|
+
constructor(BXRestTaskCommentItem, mapTaskCommentItem, snackBar) {
|
|
3860
|
+
this.BXRestTaskCommentItem = BXRestTaskCommentItem;
|
|
3861
|
+
this.mapTaskCommentItem = mapTaskCommentItem;
|
|
3862
|
+
this.snackBar = snackBar;
|
|
3863
|
+
this.Navvy = new Navvy(this.BXRestTaskCommentItem, this.mapTaskCommentItem);
|
|
3864
|
+
}
|
|
3865
|
+
add(param) {
|
|
3866
|
+
return this.Navvy.simpleWithArg(this.BXRestTaskCommentItem.add, param, 'Не удалось добавить комментарий к задаче');
|
|
3714
3867
|
}
|
|
3715
|
-
|
|
3716
|
-
|
|
3717
|
-
let sendTask: Record<string, any> = {}
|
|
3718
|
-
let taskTS: Record<string, any> = task
|
|
3719
|
-
if (updateFields.length) {
|
|
3720
|
-
for (let updateField of updateFields) {
|
|
3721
|
-
if (taskTS[camelCase(updateField)]) {
|
|
3722
|
-
sendTask[updateField] = taskTS[camelCase(updateField)]
|
|
3723
|
-
}
|
|
3724
|
-
}
|
|
3725
|
-
if (Object.values(sendTask).length) {
|
|
3726
|
-
return this.http.post(
|
|
3727
|
-
this.url.update,
|
|
3728
|
-
{taskId: taskId, fields: sendTask},
|
|
3729
|
-
'error to update task')
|
|
3730
|
-
} else {
|
|
3731
|
-
this.snackBar.error('not valid send data task')
|
|
3732
|
-
console.error('not valid send data task', sendTask, task)
|
|
3733
|
-
return of(undefined)
|
|
3734
|
-
}
|
|
3735
|
-
}
|
|
3736
|
-
|
|
3737
|
-
this.snackBar.warning('not have field for update')
|
|
3738
|
-
return of(undefined)
|
|
3868
|
+
update(param) {
|
|
3869
|
+
return this.Navvy.simpleWithArg(this.BXRestTaskCommentItem.update, param, 'Не удалось обновить комментарий к задаче');
|
|
3739
3870
|
}
|
|
3740
|
-
*/
|
|
3741
3871
|
get(param) {
|
|
3742
|
-
|
|
3743
|
-
param.select = this.def.select;
|
|
3744
|
-
}
|
|
3745
|
-
return this.Navvy.simpleWithArg(this.BXRestTasksTask.get, param, 'Не удалось получить задачу', this.BXRestMapTasksTask.get);
|
|
3872
|
+
return this.Navvy.simpleWithArg(this.BXRestTaskCommentItem.get, param, 'Не удалось получить комментарий к задаче', this.mapTaskCommentItem.get);
|
|
3746
3873
|
}
|
|
3747
|
-
|
|
3748
|
-
|
|
3749
|
-
|
|
3874
|
+
getlist(param = {
|
|
3875
|
+
FILTER: {},
|
|
3876
|
+
ORDER: {
|
|
3877
|
+
POST_DATE: 'asc'
|
|
3750
3878
|
}
|
|
3751
|
-
|
|
3752
|
-
|
|
3753
|
-
/*
|
|
3754
|
-
listArray(requestArray: RequestApiTaskListBX = {}) {
|
|
3755
|
-
return this.list(requestArray).pipe(
|
|
3756
|
-
map(v => this.http.mapResult(v)),
|
|
3757
|
-
map(v => (v && v.tasks) ? v.tasks : [])
|
|
3758
|
-
)
|
|
3879
|
+
}) {
|
|
3880
|
+
return this.Navvy.simpleWithArg(this.BXRestTaskCommentItem.getlist, param, 'Не удалось получить комментарии к задаче', this.mapTaskCommentItem.getlist);
|
|
3759
3881
|
}
|
|
3760
|
-
|
|
3761
|
-
|
|
3762
|
-
|
|
3763
|
-
|
|
3764
|
-
|
|
3765
|
-
return this.storeTask$.pipe(
|
|
3766
|
-
take(1),
|
|
3767
|
-
mergeMap(tasks => {
|
|
3768
|
-
if (tasks && tasks.data.http.list && requestArray.filter && requestArray.filter.ID) {
|
|
3769
|
-
const ids = (typeof requestArray.filter.ID === 'number') ? [requestArray.filter.ID] : requestArray.filter.ID
|
|
3770
|
-
let filter = tasks.data.http.list.filter(i => (i.id) ? ids.includes(i.id) : false)
|
|
3771
|
-
if (filter.length === ids.length) {
|
|
3772
|
-
return of(filter)
|
|
3882
|
+
del(param) {
|
|
3883
|
+
if (param.ITEMID > 0) {
|
|
3884
|
+
return this.get(param).result().pipe(mergeMap(v => {
|
|
3885
|
+
if (v) {
|
|
3886
|
+
return this.Navvy.simpleWithArg(this.BXRestTaskCommentItem.del, param, 'Не удалось удалить комментарий').result();
|
|
3773
3887
|
}
|
|
3774
|
-
|
|
3775
|
-
|
|
3776
|
-
})
|
|
3777
|
-
|
|
3888
|
+
this.snackBar.warning('comment not exist');
|
|
3889
|
+
return of(false);
|
|
3890
|
+
}));
|
|
3891
|
+
}
|
|
3892
|
+
else {
|
|
3893
|
+
this.snackBar.warning('comment not exist');
|
|
3894
|
+
return of(false);
|
|
3778
3895
|
}
|
|
3779
|
-
return this.getEndListArray(requestArray)
|
|
3780
|
-
}
|
|
3781
|
-
return this.getEndListArray(requestArray)
|
|
3782
|
-
}
|
|
3783
|
-
|
|
3784
|
-
getEndListArray(requestArray: RequestApiTaskListBX): Observable<TaskBX[]> {
|
|
3785
|
-
return this.list(requestArray).pipe(
|
|
3786
|
-
mergeMap((items: AnswerApiTaskBX | undefined): ObservableInput<any> | Observable<AnswerApiTaskBX[]> => {
|
|
3787
|
-
if (items && items.result && typeof items.result.tasks === 'object') {
|
|
3788
|
-
const items$ = of(items.result.tasks)
|
|
3789
|
-
if (items.next) {
|
|
3790
|
-
this.nowLoad$.next({
|
|
3791
|
-
total: (items.total) ? items.total : 0,
|
|
3792
|
-
next: items.next
|
|
3793
|
-
})
|
|
3794
|
-
requestArray.start = items.next
|
|
3795
|
-
return this.getEndListArray(requestArray).pipe(
|
|
3796
|
-
map(vEnd => {
|
|
3797
|
-
if (vEnd && items.result.tasks) {
|
|
3798
|
-
return [...items.result.tasks, ...vEnd]
|
|
3799
|
-
}
|
|
3800
|
-
return (items.result.tasks) ? items.result.tasks : []
|
|
3801
|
-
}))
|
|
3802
|
-
}
|
|
3803
|
-
this.nowLoad$.next({
|
|
3804
|
-
total: 0,
|
|
3805
|
-
next: 0
|
|
3806
|
-
})
|
|
3807
|
-
return items$
|
|
3808
|
-
} else {
|
|
3809
|
-
return of([])
|
|
3810
|
-
}
|
|
3811
|
-
})
|
|
3812
|
-
)
|
|
3813
|
-
}
|
|
3814
|
-
|
|
3815
|
-
getFields() {
|
|
3816
|
-
return this.storeTask$.pipe(
|
|
3817
|
-
mergeMap(v => {
|
|
3818
|
-
if (v && !v.data.fields) {
|
|
3819
|
-
return this.http.post<iHttpAnswerBX<{ fields: iGetFieldsDescription }>>(this.url.getFields).pipe(
|
|
3820
|
-
tap(v => {
|
|
3821
|
-
if (v && v.result) {
|
|
3822
|
-
this.store.dispatch(saveFields(v.result))
|
|
3823
|
-
}
|
|
3824
|
-
}),
|
|
3825
|
-
map(v => {
|
|
3826
|
-
if (v && v.result && v.result.fields) {
|
|
3827
|
-
return {result: v.result.fields}
|
|
3828
|
-
}
|
|
3829
|
-
|
|
3830
|
-
return undefined
|
|
3831
|
-
})
|
|
3832
|
-
)
|
|
3833
|
-
}
|
|
3834
|
-
if (v.data.fields) {
|
|
3835
|
-
return of({result: clone<iGetFieldsDescription>(v.data.fields)})
|
|
3836
|
-
} else {
|
|
3837
|
-
return of(undefined)
|
|
3838
|
-
}
|
|
3839
|
-
})
|
|
3840
|
-
)
|
|
3841
|
-
}
|
|
3842
|
-
|
|
3843
|
-
deleteResultFromComment(commentID: number) {
|
|
3844
|
-
return this.http.post<iHttpAnswerBX<any>>(this.url.result.deleteFromComment, {commentId: commentID})
|
|
3845
|
-
}
|
|
3846
|
-
|
|
3847
|
-
addResultFromComment(commentID: number) {
|
|
3848
|
-
return this.http.post<iHttpAnswerBX<iTaskResultHttp>>(this.url.result.addFromComment, {commentId: commentID})
|
|
3849
|
-
.pipe(
|
|
3850
|
-
map(v => {
|
|
3851
|
-
if (v && v.result) {
|
|
3852
|
-
this.taskResultMap.iTaskResultHttpToiTaskResult(v.result)
|
|
3853
|
-
}
|
|
3854
|
-
return undefined
|
|
3855
|
-
}))
|
|
3856
3896
|
}
|
|
3857
|
-
|
|
3858
|
-
|
|
3859
|
-
|
|
3860
|
-
|
|
3861
|
-
|
|
3862
|
-
|
|
3863
|
-
|
|
3864
|
-
|
|
3865
|
-
|
|
3866
|
-
|
|
3897
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.6", ngImport: i0, type: BXRestNavvyTaskCommentItem, deps: [{ token: BXRestTaskCommentItem }, { token: BXRestMapTaskCommentItem }, { token: SnackBarService }], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
3898
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.2.6", ngImport: i0, type: BXRestNavvyTaskCommentItem, providedIn: 'root' }); }
|
|
3899
|
+
}
|
|
3900
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.6", ngImport: i0, type: BXRestNavvyTaskCommentItem, decorators: [{
|
|
3901
|
+
type: Injectable,
|
|
3902
|
+
args: [{
|
|
3903
|
+
providedIn: 'root'
|
|
3904
|
+
}]
|
|
3905
|
+
}], ctorParameters: function () { return [{ type: BXRestTaskCommentItem }, { type: BXRestMapTaskCommentItem }, { type: SnackBarService }]; } });
|
|
3906
|
+
|
|
3907
|
+
class BXRestMapTaskPlaner extends BaseMapServices {
|
|
3908
|
+
getList(v) {
|
|
3909
|
+
return (v) ? v.map(i => this.toNum(i)) : undefined;
|
|
3867
3910
|
}
|
|
3868
|
-
|
|
3869
|
-
|
|
3870
|
-
|
|
3911
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.6", ngImport: i0, type: BXRestMapTaskPlaner, deps: null, target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
3912
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.2.6", ngImport: i0, type: BXRestMapTaskPlaner, providedIn: 'root' }); }
|
|
3913
|
+
}
|
|
3914
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.6", ngImport: i0, type: BXRestMapTaskPlaner, decorators: [{
|
|
3915
|
+
type: Injectable,
|
|
3916
|
+
args: [{
|
|
3917
|
+
providedIn: 'root'
|
|
3918
|
+
}]
|
|
3919
|
+
}] });
|
|
3920
|
+
|
|
3921
|
+
class BXRestNavvyTaskPlanner {
|
|
3922
|
+
constructor(BXRestTaskPlanner, BXRestMapTaskPlaner) {
|
|
3923
|
+
this.BXRestTaskPlanner = BXRestTaskPlanner;
|
|
3924
|
+
this.BXRestMapTaskPlaner = BXRestMapTaskPlaner;
|
|
3925
|
+
this.Navvy = new Navvy(this.BXRestTaskPlanner, this.BXRestMapTaskPlaner);
|
|
3871
3926
|
}
|
|
3872
|
-
|
|
3873
|
-
|
|
3874
|
-
return this.Navvy.simpleWithArg(this.BXRestTasksTask.getaccess, param, 'Не удалось получить права на указанных пользователей', this.BXRestMapTasksTask.getaccess);
|
|
3927
|
+
getList() {
|
|
3928
|
+
return this.Navvy.simple(this.BXRestTaskPlanner.getList, 'Не удалось получить текущий клан на день', this.BXRestMapTaskPlaner.getList);
|
|
3875
3929
|
}
|
|
3876
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.6", ngImport: i0, type:
|
|
3877
|
-
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.2.6", ngImport: i0, type:
|
|
3930
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.6", ngImport: i0, type: BXRestNavvyTaskPlanner, deps: [{ token: BXRestTaskPlanner }, { token: BXRestMapTaskPlaner }], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
3931
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.2.6", ngImport: i0, type: BXRestNavvyTaskPlanner, providedIn: 'root' }); }
|
|
3878
3932
|
}
|
|
3879
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.6", ngImport: i0, type:
|
|
3933
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.6", ngImport: i0, type: BXRestNavvyTaskPlanner, decorators: [{
|
|
3880
3934
|
type: Injectable,
|
|
3881
3935
|
args: [{
|
|
3882
3936
|
providedIn: 'root'
|
|
3883
3937
|
}]
|
|
3884
|
-
}], ctorParameters: function () { return [{ type:
|
|
3938
|
+
}], ctorParameters: function () { return [{ type: BXRestTaskPlanner }, { type: BXRestMapTaskPlaner }]; } });
|
|
3885
3939
|
|
|
3886
|
-
class
|
|
3887
|
-
constructor(
|
|
3888
|
-
this.
|
|
3940
|
+
class BXRestNavvyTask {
|
|
3941
|
+
constructor(elapseditem, commentitem, planner) {
|
|
3942
|
+
this.elapseditem = elapseditem;
|
|
3943
|
+
this.commentitem = commentitem;
|
|
3944
|
+
this.planner = planner;
|
|
3889
3945
|
}
|
|
3890
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.6", ngImport: i0, type:
|
|
3891
|
-
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.2.6", ngImport: i0, type:
|
|
3946
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.6", ngImport: i0, type: BXRestNavvyTask, deps: [{ token: BXRestNavvyElapseditem }, { token: BXRestNavvyTaskCommentItem }, { token: BXRestNavvyTaskPlanner }], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
3947
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.2.6", ngImport: i0, type: BXRestNavvyTask, providedIn: 'root' }); }
|
|
3892
3948
|
}
|
|
3893
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.6", ngImport: i0, type:
|
|
3949
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.6", ngImport: i0, type: BXRestNavvyTask, decorators: [{
|
|
3894
3950
|
type: Injectable,
|
|
3895
3951
|
args: [{
|
|
3896
3952
|
providedIn: 'root'
|
|
3897
3953
|
}]
|
|
3898
|
-
}], ctorParameters: function () { return [{ type:
|
|
3954
|
+
}], ctorParameters: function () { return [{ type: BXRestNavvyElapseditem }, { type: BXRestNavvyTaskCommentItem }, { type: BXRestNavvyTaskPlanner }]; } });
|
|
3899
3955
|
|
|
3900
3956
|
class BXRestMapDiskBase extends BaseMapServices {
|
|
3901
3957
|
separationFoldersAndFiles(arr) {
|
|
@@ -4628,10 +4684,7 @@ class BXRestNavvySonetGroup {
|
|
|
4628
4684
|
this.mapSonetGroup = mapSonetGroup;
|
|
4629
4685
|
this.Navvy = new Navvy(this.BXRestSonetGroup, this.mapSonetGroup);
|
|
4630
4686
|
}
|
|
4631
|
-
get(param = {
|
|
4632
|
-
filter: {},
|
|
4633
|
-
order: {}
|
|
4634
|
-
}) {
|
|
4687
|
+
get(param = {}) {
|
|
4635
4688
|
return this.Navvy.simpleWithArg(this.BXRestSonetGroup.get, param, 'Не удалось получить рабочую группу', this.mapSonetGroup.get);
|
|
4636
4689
|
}
|
|
4637
4690
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.6", ngImport: i0, type: BXRestNavvySonetGroup, deps: [{ token: BXRestSonetGroup }, { token: BXRestMapSonetGroup }], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
@@ -4905,17 +4958,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.6", ngImpor
|
|
|
4905
4958
|
}]
|
|
4906
4959
|
}], ctorParameters: function () { return [{ type: BXRestMapLogBlogPost }]; } });
|
|
4907
4960
|
|
|
4908
|
-
class BXRestMapTaskResult extends BaseMapServices {
|
|
4909
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.6", ngImport: i0, type: BXRestMapTaskResult, deps: null, target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
4910
|
-
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.2.6", ngImport: i0, type: BXRestMapTaskResult, providedIn: 'root' }); }
|
|
4911
|
-
}
|
|
4912
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.6", ngImport: i0, type: BXRestMapTaskResult, decorators: [{
|
|
4913
|
-
type: Injectable,
|
|
4914
|
-
args: [{
|
|
4915
|
-
providedIn: 'root'
|
|
4916
|
-
}]
|
|
4917
|
-
}] });
|
|
4918
|
-
|
|
4919
4961
|
class BXRestMapTaskStage extends BaseMapServices {
|
|
4920
4962
|
get(value) {
|
|
4921
4963
|
return (value) ? value.map(i => Object.assign(i, {
|
|
@@ -4935,13 +4977,12 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.6", ngImpor
|
|
|
4935
4977
|
}] });
|
|
4936
4978
|
|
|
4937
4979
|
class BXRestMapTask {
|
|
4938
|
-
constructor(commentItem, elapsedItem,
|
|
4980
|
+
constructor(commentItem, elapsedItem, stages) {
|
|
4939
4981
|
this.commentItem = commentItem;
|
|
4940
4982
|
this.elapsedItem = elapsedItem;
|
|
4941
|
-
this.result = result;
|
|
4942
4983
|
this.stages = stages;
|
|
4943
4984
|
}
|
|
4944
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.6", ngImport: i0, type: BXRestMapTask, deps: [{ token: BXRestMapTaskCommentItem }, { token: BXRestMapTaskElapseditem }, { token:
|
|
4985
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.6", ngImport: i0, type: BXRestMapTask, deps: [{ token: BXRestMapTaskCommentItem }, { token: BXRestMapTaskElapseditem }, { token: BXRestMapTaskStage }], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
4945
4986
|
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.2.6", ngImport: i0, type: BXRestMapTask, providedIn: 'root' }); }
|
|
4946
4987
|
}
|
|
4947
4988
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.6", ngImport: i0, type: BXRestMapTask, decorators: [{
|
|
@@ -4949,7 +4990,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.6", ngImpor
|
|
|
4949
4990
|
args: [{
|
|
4950
4991
|
providedIn: 'root'
|
|
4951
4992
|
}]
|
|
4952
|
-
}], ctorParameters: function () { return [{ type: BXRestMapTaskCommentItem }, { type: BXRestMapTaskElapseditem }, { type:
|
|
4993
|
+
}], ctorParameters: function () { return [{ type: BXRestMapTaskCommentItem }, { type: BXRestMapTaskElapseditem }, { type: BXRestMapTaskStage }]; } });
|
|
4953
4994
|
|
|
4954
4995
|
class BXRestMapTasks {
|
|
4955
4996
|
constructor(task) {
|