@partium/js-sdk 14.4.1 → 14.5.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/catalog/index.js +1 -21
- package/catalog/models/catalog-image-info.js +1 -22
- package/catalog/models/catalog-image.js +1 -40
- package/catalog/models/upsert-catalog-images-dto.js +1 -3
- package/catalog/models/upsert-images-result.js +1 -3
- package/catalog/services/images.service.js +1 -62
- package/core/constants/constants.d.ts +1 -0
- package/core/constants/constants.js +1 -16
- package/core/decorators/injection-identifier.js +1 -19
- package/core/factories/paginated-request-service.factory.js +1 -33
- package/core/index.js +1 -63
- package/core/integration-defaults/http/fetch-api-http-error-helper.js +1 -129
- package/core/integration-defaults/http/file-transfer/axios-file-transfer.service.js +1 -138
- package/core/integration-defaults/http/file-transfer/fetch-api-file-transfer.service.js +1 -210
- package/core/integration-defaults/http/handle-axios-error-helper.js +1 -79
- package/core/integration-defaults/http/https-client/axios-https-client.service.js +1 -182
- package/core/integration-defaults/http/https-client/fetch-api-https-client.service.js +1 -198
- package/core/integration-defaults/http/js-oauth-keycloak-https.service.js +1 -32
- package/core/integration-defaults/js-p-file.js +1 -36
- package/core/integration-defaults/session/js-oauth-api-key-session.service.js +1 -206
- package/core/integration-defaults/session/js-oauth-keycloak-auth-config.js +1 -64
- package/core/integration-defaults/session/js-oauth-keycloak-session.service.js +1 -257
- package/core/integration-defaults/web-device-status.service.js +1 -125
- package/core/integration-defaults/web-file.service.js +1 -135
- package/core/integration-defaults/web-indexeddb.service.js +1 -142
- package/core/integration-defaults/web-local-storage.service.js +1 -310
- package/core/models/api-object.js +1 -16
- package/core/models/auth-config.js +1 -72
- package/core/models/device-info.js +1 -34
- package/core/models/error.js +1 -107
- package/core/models/formatted-string.js +1 -14
- package/core/models/i18n-map.js +1 -61
- package/core/models/i18n-string.js +1 -35
- package/core/models/log.js +1 -137
- package/core/models/organization.js +1 -159
- package/core/models/p-file.js +1 -23
- package/core/models/paginated-list.js +1 -41
- package/core/models/partium-config.js +1 -43
- package/core/models/user-token.js +1 -11
- package/core/models/user.js +1 -89
- package/core/services/backend-status.service.js +1 -147
- package/core/services/base-login-init.service.js +1 -57
- package/core/services/base.service.js +1 -37
- package/core/services/device-status.service.interface.js +1 -117
- package/core/services/file.service.interface.js +1 -61
- package/core/services/http/file-transfer/file-transfer.service.interface.js +1 -125
- package/core/services/http/https-client/https-client.service.interface.js +1 -152
- package/core/services/http/https.service.interface.d.ts +3 -1
- package/core/services/http/https.service.interface.js +1 -294
- package/core/services/http/oauth-https.service.js +1 -218
- package/core/services/local-storage.service.interface.js +1 -378
- package/core/services/log.service.js +1 -139
- package/core/services/organization.service.js +1 -202
- package/core/services/paginated-request.service.js +1 -154
- package/core/services/recent-parts.service.js +1 -194
- package/core/services/service-provider.js +1 -114
- package/core/services/session/oauth-session.service.js +1 -104
- package/core/services/session/session.service.interface.js +1 -367
- package/core/utils/general-helper.js +1 -110
- package/data/index.js +1 -44
- package/data/models/announcement.js +1 -70
- package/data/models/assembly-hierarchy-node-breadcrumb.js +1 -51
- package/data/models/assembly-hierarchy-node.js +1 -46
- package/data/models/attribute.js +1 -106
- package/data/models/csa-request-search.js +1 -46
- package/data/models/csa-request-status.js +1 -51
- package/data/models/csa-request.js +1 -112
- package/data/models/document.js +1 -17
- package/data/models/filter-key.js +1 -36
- package/data/models/filter-option-value.js +1 -41
- package/data/models/image.js +1 -77
- package/data/models/inquiry.js +1 -71
- package/data/models/mounting-location.js +1 -58
- package/data/models/multiple-expert-searches.js +1 -40
- package/data/models/part-enrichment-data.js +1 -50
- package/data/models/part.d.ts +1 -1
- package/data/models/part.js +1 -168
- package/data/models/shopping-cart.js +1 -60
- package/data/services/announcement.service.js +1 -89
- package/data/services/assembly-hierarchy-nodes.service.js +1 -193
- package/data/services/csa-helper.service.js +1 -158
- package/data/services/customer-service-assistance.service.js +1 -276
- package/data/services/filter.service.js +1 -97
- package/data/services/inquiry.service.js +1 -68
- package/data/services/part-attribute.service.js +1 -118
- package/data/services/part-enrichment.service.js +1 -56
- package/data/services/part.service.js +1 -182
- package/data/services/related-parts.service.js +1 -83
- package/data/services/shopping-cart.service.js +1 -152
- package/datacuration/index.d.ts +4 -0
- package/datacuration/index.js +2 -0
- package/datacuration/models/image-submission-request.d.ts +55 -0
- package/datacuration/models/image-submission-request.js +2 -0
- package/datacuration/models/submitted-image-response.d.ts +27 -0
- package/datacuration/models/submitted-image-response.js +2 -0
- package/datacuration/services/image-submission.service.d.ts +26 -0
- package/datacuration/services/image-submission.service.js +2 -0
- package/find/index.js +1 -51
- package/find/models/assets/asset.js +1 -32
- package/find/models/search-filter.js +1 -205
- package/find/models/search-input.js +1 -3
- package/find/models/search-output.js +1 -3
- package/find/models/search-result-status.js +1 -40
- package/find/models/search-session-log-object.js +1 -22
- package/find/models/search-status/cv-search-status.js +1 -22
- package/find/models/search-status/search-filter-status.js +1 -36
- package/find/models/search-status/search-status.js +1 -56
- package/find/models/search-status/tag-search-status.js +1 -23
- package/find/models/search-status/text-search-status.js +1 -18
- package/find/models/search-tag.js +1 -16
- package/find/models/smart-filter.js +1 -49
- package/find/models/tagable/i18n-tagable.js +1 -37
- package/find/models/tagable/tagable-base.js +1 -22
- package/find/models/tagable/tagable.js +1 -37
- package/find/models/text-search-config.js +1 -70
- package/find/models/text-search-manipulator.js +1 -90
- package/find/models/text-search-result-item/text-search-error.js +1 -12
- package/find/models/text-search-result-item/text-search-result-item-document.js +1 -34
- package/find/models/text-search-result-item/text-search-result-item-part.js +1 -36
- package/find/models/text-search-result-item/text-search-result-item-recent-query.js +1 -35
- package/find/models/text-search-result-item/text-search-result-item-unknown.js +1 -38
- package/find/models/text-search-result-item/text-search-result-item.js +1 -22
- package/find/services/asset.service.js +1 -348
- package/find/services/filter-uploaders/filter-uploader.js +1 -3
- package/find/services/filter-uploaders/update-filters-uploader.js +1 -77
- package/find/services/filter-uploaders/update-filters.model.js +1 -7
- package/find/services/search/cv-search.service.js +1 -214
- package/find/services/search/recent-text-search-queries.service.js +1 -260
- package/find/services/search/search-result.service.js +1 -539
- package/find/services/search/search.service.js +1 -514
- package/find/services/search/tag-search.service.js +1 -124
- package/find/services/search/text-search.service.js +1 -316
- package/find/services/search-filter.service.js +1 -292
- package/find/utils/search-helper.js +1 -75
- package/gen/sdk-version.d.ts +1 -1
- package/gen/sdk-version.js +1 -5
- package/index.d.ts +2 -0
- package/index.js +1 -392
- package/management/index.js +1 -21
- package/management/models/api-key-list-response.js +1 -3
- package/management/models/api-key-type.js +1 -9
- package/management/models/api-key.js +1 -3
- package/management/services/api-key.service.js +1 -53
- package/ocr/index.js +1 -20
- package/ocr/models/detect-response.js +1 -3
- package/ocr/models/detected-text-entry.js +1 -3
- package/ocr/services/ocr.service.js +1 -59
- package/package.json +1 -1
- package/user-data/index.js +1 -21
- package/user-data/models/part-with-nullable.js +1 -3
- package/user-data/models/request-list/request-list.js +1 -63
- package/user-data/services/favorite/favorite.service.js +1 -108
- package/user-data/services/request-list/request-list.service.js +1 -133
|
@@ -1,194 +1,2 @@
|
|
|
1
1
|
// Copyright © 2022-2025 Partium, Inc. DBA Partium
|
|
2
|
-
"use strict";
|
|
3
|
-
var __extends = (this && this.__extends) || (function () {
|
|
4
|
-
var extendStatics = function (d, b) {
|
|
5
|
-
extendStatics = Object.setPrototypeOf ||
|
|
6
|
-
({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
|
|
7
|
-
function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };
|
|
8
|
-
return extendStatics(d, b);
|
|
9
|
-
};
|
|
10
|
-
return function (d, b) {
|
|
11
|
-
if (typeof b !== "function" && b !== null)
|
|
12
|
-
throw new TypeError("Class extends value " + String(b) + " is not a constructor or null");
|
|
13
|
-
extendStatics(d, b);
|
|
14
|
-
function __() { this.constructor = d; }
|
|
15
|
-
d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
|
|
16
|
-
};
|
|
17
|
-
})();
|
|
18
|
-
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
19
|
-
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
20
|
-
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
21
|
-
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
22
|
-
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
23
|
-
};
|
|
24
|
-
var __spreadArray = (this && this.__spreadArray) || function (to, from, pack) {
|
|
25
|
-
if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {
|
|
26
|
-
if (ar || !(i in from)) {
|
|
27
|
-
if (!ar) ar = Array.prototype.slice.call(from, 0, i);
|
|
28
|
-
ar[i] = from[i];
|
|
29
|
-
}
|
|
30
|
-
}
|
|
31
|
-
return to.concat(ar || Array.prototype.slice.call(from));
|
|
32
|
-
};
|
|
33
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
34
|
-
exports.AssemblyHierarchyNodesServiceImpl = void 0;
|
|
35
|
-
var core_1 = require("../../core");
|
|
36
|
-
var rxjs_1 = require("rxjs");
|
|
37
|
-
var operators_1 = require("rxjs/operators");
|
|
38
|
-
var assembly_hierarchy_node_1 = require("../models/assembly-hierarchy-node");
|
|
39
|
-
var AssemblyHierarchyNodesServiceImpl = /** @class */ (function (_super) {
|
|
40
|
-
__extends(AssemblyHierarchyNodesServiceImpl, _super);
|
|
41
|
-
function AssemblyHierarchyNodesServiceImpl(serviceProvider) {
|
|
42
|
-
var _this = _super.call(this, serviceProvider) || this;
|
|
43
|
-
_this.DOWNLOAD_PAGE_SIZE = 250; // size of item-patches when downloading all items
|
|
44
|
-
_this.PAGINATION_PAGE_SIZE = 25; // size of page when retrieving page of items and user decides when to load next page
|
|
45
|
-
return _this;
|
|
46
|
-
}
|
|
47
|
-
AssemblyHierarchyNodesServiceImpl.prototype.onCreate = function () {
|
|
48
|
-
this.httpsService = this.serviceProvider.getService(core_1.HttpsService);
|
|
49
|
-
};
|
|
50
|
-
AssemblyHierarchyNodesServiceImpl.prototype.getAssemblyHierarchyRootNodes = function (cursorPaginationEnabled, treeOrder) {
|
|
51
|
-
if (treeOrder === void 0) { treeOrder = 'root'; }
|
|
52
|
-
return this.getAssemblyHierarchyNodesByParentId(null, cursorPaginationEnabled, treeOrder);
|
|
53
|
-
};
|
|
54
|
-
AssemblyHierarchyNodesServiceImpl.prototype.getAssemblyHierarchyNodesByParentId = function (parentPartiumId, cursorPaginationEnabled, treeOrder) {
|
|
55
|
-
if (treeOrder === void 0) { treeOrder = 'root'; }
|
|
56
|
-
var urlParams = [];
|
|
57
|
-
urlParams.push({ max_depth: 1 });
|
|
58
|
-
urlParams.push({ tree_order: treeOrder });
|
|
59
|
-
if (parentPartiumId) {
|
|
60
|
-
urlParams.push({ assembly_uuid: parentPartiumId });
|
|
61
|
-
}
|
|
62
|
-
else {
|
|
63
|
-
urlParams.push({ root_nodes: true });
|
|
64
|
-
}
|
|
65
|
-
if (cursorPaginationEnabled) {
|
|
66
|
-
urlParams.push({ paginator: 'cursor' });
|
|
67
|
-
}
|
|
68
|
-
return core_1.PaginatedRequestServiceFactory.generatePaginatedRequestService(assembly_hierarchy_node_1.AssemblyHierarchyNode.fromAPIResponse, this.httpsService, 'assemblies', core_1.BACKEND_SERVICE.DATA, urlParams, this.PAGINATION_PAGE_SIZE, cursorPaginationEnabled);
|
|
69
|
-
};
|
|
70
|
-
AssemblyHierarchyNodesServiceImpl.prototype.searchAssemblyHierarchyNodesByText = function (query, parentPartiumId, language, maxDepth, cursorPaginationEnabled, treeOrder) {
|
|
71
|
-
if (treeOrder === void 0) { treeOrder = 'root'; }
|
|
72
|
-
var urlParams = [];
|
|
73
|
-
urlParams.push({ search: query });
|
|
74
|
-
urlParams.push({ tree_order: treeOrder });
|
|
75
|
-
if (parentPartiumId) {
|
|
76
|
-
urlParams.push({ assembly_uuid: parentPartiumId });
|
|
77
|
-
}
|
|
78
|
-
if (language) {
|
|
79
|
-
urlParams.push({ lang: language });
|
|
80
|
-
}
|
|
81
|
-
if (maxDepth !== undefined) {
|
|
82
|
-
urlParams.push({ max_depth: maxDepth });
|
|
83
|
-
}
|
|
84
|
-
return core_1.PaginatedRequestServiceFactory.generatePaginatedRequestService(assembly_hierarchy_node_1.AssemblyHierarchyNode.fromAPIResponse, this.httpsService, 'assemblies', core_1.BACKEND_SERVICE.DATA, urlParams, this.PAGINATION_PAGE_SIZE, cursorPaginationEnabled);
|
|
85
|
-
};
|
|
86
|
-
AssemblyHierarchyNodesServiceImpl.prototype.getAssemblyHierarchyNode = function (partiumId, treeOrder) {
|
|
87
|
-
if (treeOrder === void 0) { treeOrder = 'root'; }
|
|
88
|
-
return this.getAssemblyHierarchyNodes([partiumId], treeOrder).pipe((0, operators_1.map)(function (nodes) { return nodes[0]; }));
|
|
89
|
-
};
|
|
90
|
-
AssemblyHierarchyNodesServiceImpl.prototype.getAssemblyHierarchyNodes = function (partiumIds, treeOrder) {
|
|
91
|
-
var _this = this;
|
|
92
|
-
if (treeOrder === void 0) { treeOrder = 'root'; }
|
|
93
|
-
return this.loadAssemblyHierarchyNodesFromServer(partiumIds, treeOrder).pipe((0, operators_1.map)(function (nodes) { return _this.orderAssemblyHierarchyNodes(nodes, partiumIds); }), (0, operators_1.catchError)(function (error) {
|
|
94
|
-
console.log('Error while loading assembly hierarchy node-information from server.', error);
|
|
95
|
-
return (0, rxjs_1.throwError)(error);
|
|
96
|
-
}));
|
|
97
|
-
};
|
|
98
|
-
/**
|
|
99
|
-
* Load all requested assembly hierarchy nodes from the server.
|
|
100
|
-
* Since the response is paginated, it is necessary to do as many request as needed until
|
|
101
|
-
* all nodes are loaded.
|
|
102
|
-
*
|
|
103
|
-
* @param partiumIds the partium-ids of the assembly hierarchy nodes to get
|
|
104
|
-
*/
|
|
105
|
-
AssemblyHierarchyNodesServiceImpl.prototype.loadAssemblyHierarchyNodesFromServer = function (partiumIds, treeOrder) {
|
|
106
|
-
var _this = this;
|
|
107
|
-
if (treeOrder === void 0) { treeOrder = 'root'; }
|
|
108
|
-
var i = 1;
|
|
109
|
-
var repeat$ = new rxjs_1.Subject();
|
|
110
|
-
var nextPageUrlCursor;
|
|
111
|
-
// do as many requests (1 per page) until all nodes are loaded
|
|
112
|
-
// we use "defer" here instead of using requestPaginatedAssemblyHierarchyNodes directly, because this allows us to increase the page-number, which is passed to the function. Otherwise it would always be called with the same value.
|
|
113
|
-
return (0, rxjs_1.defer)(function () { return _this.requestPaginatedAssemblyHierarchyNodes(partiumIds, i, nextPageUrlCursor, true, treeOrder); }).pipe((0, operators_1.map)(function (res) {
|
|
114
|
-
var isCursorPaginationEnabled = !res['pagination']['page_size'] || res['pagination']['items_count'];
|
|
115
|
-
if (isCursorPaginationEnabled) {
|
|
116
|
-
var nextPage = res['pagination']['next'] && res['pagination']['next'].split('?');
|
|
117
|
-
if (!!nextPage) {
|
|
118
|
-
nextPageUrlCursor = new URLSearchParams(nextPage[1]).get('cursor');
|
|
119
|
-
repeat$.next();
|
|
120
|
-
}
|
|
121
|
-
else {
|
|
122
|
-
repeat$.complete(); // final page reached
|
|
123
|
-
}
|
|
124
|
-
}
|
|
125
|
-
else {
|
|
126
|
-
var pageSize = res['pagination']['page_size'];
|
|
127
|
-
var itemsCnt = res['pagination']['items_count'];
|
|
128
|
-
var pageCnt = Math.ceil(itemsCnt / pageSize);
|
|
129
|
-
if (i >= pageCnt) {
|
|
130
|
-
repeat$.complete(); // final page reached
|
|
131
|
-
}
|
|
132
|
-
else if (i++ < pageCnt) {
|
|
133
|
-
setTimeout(function () {
|
|
134
|
-
repeat$.next(); // more pages to load
|
|
135
|
-
});
|
|
136
|
-
}
|
|
137
|
-
}
|
|
138
|
-
return res['results'];
|
|
139
|
-
}), (0, operators_1.repeatWhen)(function () { return repeat$.asObservable(); }), (0, operators_1.reduce)(function (cum, newItems) {
|
|
140
|
-
return __spreadArray(__spreadArray([], cum, true), newItems, true);
|
|
141
|
-
}), (0, operators_1.map)(function (nodesData) {
|
|
142
|
-
return nodesData.map(function (nodeData) { return assembly_hierarchy_node_1.AssemblyHierarchyNode.fromAPIResponse(nodeData); });
|
|
143
|
-
}));
|
|
144
|
-
};
|
|
145
|
-
/**
|
|
146
|
-
* Send request for one page of nodes
|
|
147
|
-
*
|
|
148
|
-
* @param page the current page of the pagination (1-indexed)
|
|
149
|
-
*/
|
|
150
|
-
AssemblyHierarchyNodesServiceImpl.prototype.requestPaginatedAssemblyHierarchyNodes = function (partiumIds, page, urlCursorParam, cursorPaginationEnabled, treeOrder) {
|
|
151
|
-
if (cursorPaginationEnabled === void 0) { cursorPaginationEnabled = true; }
|
|
152
|
-
if (treeOrder === void 0) { treeOrder = 'root'; }
|
|
153
|
-
var urlParams = [];
|
|
154
|
-
urlParams.push({ page_size: this.DOWNLOAD_PAGE_SIZE });
|
|
155
|
-
urlParams.push({ tree_order: treeOrder });
|
|
156
|
-
if (page) {
|
|
157
|
-
urlParams.push({ page: page });
|
|
158
|
-
}
|
|
159
|
-
if (cursorPaginationEnabled) {
|
|
160
|
-
urlParams.push({ paginator: 'cursor' });
|
|
161
|
-
}
|
|
162
|
-
if (urlCursorParam) {
|
|
163
|
-
urlParams.push({ cursor: urlCursorParam });
|
|
164
|
-
}
|
|
165
|
-
return this.httpsService.post("assemblies/many", {
|
|
166
|
-
uuids: partiumIds,
|
|
167
|
-
}, urlParams, core_1.BACKEND_SERVICE.DATA);
|
|
168
|
-
};
|
|
169
|
-
/**
|
|
170
|
-
* Order the given assembly hierarchy nodes by the part-ids given in the part-id-array.
|
|
171
|
-
* If any part is not found in unorderedAssemblyHierarchyNodes, the array contains null instead.
|
|
172
|
-
*
|
|
173
|
-
* @param unorderedAssemblyHierarchyNodes the assembly hierarchy nodes to order
|
|
174
|
-
* @param partiumIds the order in which to sort
|
|
175
|
-
* @returns array of given assembly hierarchy nodes, ordered by partiumIds (contains null for assembly hierarchy nodes not found)
|
|
176
|
-
*/
|
|
177
|
-
AssemblyHierarchyNodesServiceImpl.prototype.orderAssemblyHierarchyNodes = function (unorderedAssemblyHierarchyNodes, partiumIds) {
|
|
178
|
-
var orderedAssemblyHierarchyNodes = [];
|
|
179
|
-
var _loop_1 = function (id) {
|
|
180
|
-
orderedAssemblyHierarchyNodes.push(unorderedAssemblyHierarchyNodes.find(function (node) { return node && node.partiumId === id; }));
|
|
181
|
-
};
|
|
182
|
-
for (var _i = 0, partiumIds_1 = partiumIds; _i < partiumIds_1.length; _i++) {
|
|
183
|
-
var id = partiumIds_1[_i];
|
|
184
|
-
_loop_1(id);
|
|
185
|
-
}
|
|
186
|
-
return orderedAssemblyHierarchyNodes;
|
|
187
|
-
};
|
|
188
|
-
AssemblyHierarchyNodesServiceImpl = __decorate([
|
|
189
|
-
(0, core_1.InjectionIdentifier)('AssemblyHierarchyNodesService')
|
|
190
|
-
], AssemblyHierarchyNodesServiceImpl);
|
|
191
|
-
return AssemblyHierarchyNodesServiceImpl;
|
|
192
|
-
}(core_1.BaseService));
|
|
193
|
-
exports.AssemblyHierarchyNodesServiceImpl = AssemblyHierarchyNodesServiceImpl;
|
|
194
|
-
//# sourceMappingURL=assembly-hierarchy-nodes.service.js.map
|
|
2
|
+
"use strict";var __extends=this&&this.__extends||function(){var e=function(r,t){return e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,r){e.__proto__=r}||function(e,r){for(var t in r)Object.prototype.hasOwnProperty.call(r,t)&&(e[t]=r[t])},e(r,t)};return function(r,t){if("function"!=typeof t&&null!==t)throw new TypeError("Class extends value "+String(t)+" is not a constructor or null");function o(){this.constructor=r}e(r,t),r.prototype=null===t?Object.create(t):(o.prototype=t.prototype,new o)}}(),__decorate=this&&this.__decorate||function(e,r,t,o){var s,i=arguments.length,n=i<3?r:null===o?o=Object.getOwnPropertyDescriptor(r,t):o;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)n=Reflect.decorate(e,r,t,o);else for(var a=e.length-1;a>=0;a--)(s=e[a])&&(n=(i<3?s(n):i>3?s(r,t,n):s(r,t))||n);return i>3&&n&&Object.defineProperty(r,t,n),n},__spreadArray=this&&this.__spreadArray||function(e,r,t){if(t||2===arguments.length)for(var o,s=0,i=r.length;s<i;s++)!o&&s in r||(o||(o=Array.prototype.slice.call(r,0,s)),o[s]=r[s]);return e.concat(o||Array.prototype.slice.call(r))};Object.defineProperty(exports,"__esModule",{value:!0}),exports.AssemblyHierarchyNodesServiceImpl=void 0;var core_1=require("../../core"),rxjs_1=require("rxjs"),operators_1=require("rxjs/operators"),assembly_hierarchy_node_1=require("../models/assembly-hierarchy-node"),AssemblyHierarchyNodesServiceImpl=function(e){function r(r){var t=e.call(this,r)||this;return t.DOWNLOAD_PAGE_SIZE=250,t.PAGINATION_PAGE_SIZE=25,t}return __extends(r,e),r.prototype.onCreate=function(){this.httpsService=this.serviceProvider.getService(core_1.HttpsService)},r.prototype.getAssemblyHierarchyRootNodes=function(e,r){return void 0===r&&(r="root"),this.getAssemblyHierarchyNodesByParentId(null,e,r)},r.prototype.getAssemblyHierarchyNodesByParentId=function(e,r,t){void 0===t&&(t="root");var o=[];return o.push({max_depth:1}),o.push({tree_order:t}),e?o.push({assembly_uuid:e}):o.push({root_nodes:!0}),r&&o.push({paginator:"cursor"}),core_1.PaginatedRequestServiceFactory.generatePaginatedRequestService(assembly_hierarchy_node_1.AssemblyHierarchyNode.fromAPIResponse,this.httpsService,"assemblies",core_1.BACKEND_SERVICE.DATA,o,this.PAGINATION_PAGE_SIZE,r)},r.prototype.searchAssemblyHierarchyNodesByText=function(e,r,t,o,s,i){void 0===i&&(i="root");var n=[];return n.push({search:e}),n.push({tree_order:i}),r&&n.push({assembly_uuid:r}),t&&n.push({lang:t}),void 0!==o&&n.push({max_depth:o}),core_1.PaginatedRequestServiceFactory.generatePaginatedRequestService(assembly_hierarchy_node_1.AssemblyHierarchyNode.fromAPIResponse,this.httpsService,"assemblies",core_1.BACKEND_SERVICE.DATA,n,this.PAGINATION_PAGE_SIZE,s)},r.prototype.getAssemblyHierarchyNode=function(e,r){return void 0===r&&(r="root"),this.getAssemblyHierarchyNodes([e],r).pipe((0,operators_1.map)((function(e){return e[0]})))},r.prototype.getAssemblyHierarchyNodes=function(e,r){var t=this;return void 0===r&&(r="root"),this.loadAssemblyHierarchyNodesFromServer(e,r).pipe((0,operators_1.map)((function(r){return t.orderAssemblyHierarchyNodes(r,e)})),(0,operators_1.catchError)((function(e){return console.log("Error while loading assembly hierarchy node-information from server.",e),(0,rxjs_1.throwError)(e)})))},r.prototype.loadAssemblyHierarchyNodesFromServer=function(e,r){var t=this;void 0===r&&(r="root");var o,s=1,i=new rxjs_1.Subject;return(0,rxjs_1.defer)((function(){return t.requestPaginatedAssemblyHierarchyNodes(e,s,o,!0,r)})).pipe((0,operators_1.map)((function(e){if(!e.pagination.page_size||e.pagination.items_count){var r=e.pagination.next&&e.pagination.next.split("?");r?(o=new URLSearchParams(r[1]).get("cursor"),i.next()):i.complete()}else{var t=e.pagination.page_size,n=e.pagination.items_count,a=Math.ceil(n/t);s>=a?i.complete():s++<a&&setTimeout((function(){i.next()}))}return e.results})),(0,operators_1.repeatWhen)((function(){return i.asObservable()})),(0,operators_1.reduce)((function(e,r){return __spreadArray(__spreadArray([],e,!0),r,!0)})),(0,operators_1.map)((function(e){return e.map((function(e){return assembly_hierarchy_node_1.AssemblyHierarchyNode.fromAPIResponse(e)}))})))},r.prototype.requestPaginatedAssemblyHierarchyNodes=function(e,r,t,o,s){void 0===o&&(o=!0),void 0===s&&(s="root");var i=[];return i.push({page_size:this.DOWNLOAD_PAGE_SIZE}),i.push({tree_order:s}),r&&i.push({page:r}),o&&i.push({paginator:"cursor"}),t&&i.push({cursor:t}),this.httpsService.post("assemblies/many",{uuids:e},i,core_1.BACKEND_SERVICE.DATA)},r.prototype.orderAssemblyHierarchyNodes=function(e,r){for(var t=[],o=function(r){t.push(e.find((function(e){return e&&e.partiumId===r})))},s=0,i=r;s<i.length;s++){o(i[s])}return t},r=__decorate([(0,core_1.InjectionIdentifier)("AssemblyHierarchyNodesService")],r)}(core_1.BaseService);exports.AssemblyHierarchyNodesServiceImpl=AssemblyHierarchyNodesServiceImpl;
|
|
@@ -1,159 +1,2 @@
|
|
|
1
1
|
// Copyright © 2022-2025 Partium, Inc. DBA Partium
|
|
2
|
-
"use strict";
|
|
3
|
-
var __extends = (this && this.__extends) || (function () {
|
|
4
|
-
var extendStatics = function (d, b) {
|
|
5
|
-
extendStatics = Object.setPrototypeOf ||
|
|
6
|
-
({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
|
|
7
|
-
function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };
|
|
8
|
-
return extendStatics(d, b);
|
|
9
|
-
};
|
|
10
|
-
return function (d, b) {
|
|
11
|
-
if (typeof b !== "function" && b !== null)
|
|
12
|
-
throw new TypeError("Class extends value " + String(b) + " is not a constructor or null");
|
|
13
|
-
extendStatics(d, b);
|
|
14
|
-
function __() { this.constructor = d; }
|
|
15
|
-
d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
|
|
16
|
-
};
|
|
17
|
-
})();
|
|
18
|
-
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
19
|
-
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
20
|
-
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
21
|
-
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
22
|
-
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
23
|
-
};
|
|
24
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
25
|
-
exports.CSAHelperService = void 0;
|
|
26
|
-
var lodash_1 = require("lodash");
|
|
27
|
-
var rxjs_1 = require("rxjs");
|
|
28
|
-
var operators_1 = require("rxjs/operators");
|
|
29
|
-
var injection_identifier_1 = require("../../core/decorators/injection-identifier");
|
|
30
|
-
var base_service_1 = require("../../core/services/base.service");
|
|
31
|
-
var search_filter_1 = require("../../find/models/search-filter");
|
|
32
|
-
var search_filter_service_1 = require("../../find/services/search-filter.service");
|
|
33
|
-
var assembly_hierarchy_nodes_service_1 = require("./assembly-hierarchy-nodes.service");
|
|
34
|
-
var CSAHelperService = /** @class */ (function (_super) {
|
|
35
|
-
__extends(CSAHelperService, _super);
|
|
36
|
-
function CSAHelperService(serviceProvider) {
|
|
37
|
-
return _super.call(this, serviceProvider) || this;
|
|
38
|
-
}
|
|
39
|
-
CSAHelperService.prototype.onCreate = function () {
|
|
40
|
-
this.searchFilterService = this.serviceProvider.getService(search_filter_service_1.SearchFilterServiceImpl);
|
|
41
|
-
this.assemblyHierarchyNodesService = this.serviceProvider.getService(assembly_hierarchy_nodes_service_1.AssemblyHierarchyNodesServiceImpl);
|
|
42
|
-
};
|
|
43
|
-
/**
|
|
44
|
-
* Returns all hierarchy-nodes that should be displayed to the user
|
|
45
|
-
* as applied hierarchy-filters. This considers excluded nodes.
|
|
46
|
-
* The list of filters does not equal the applied hierarchy-filters,
|
|
47
|
-
* but it contains also siblings of excluded nodes, which don't
|
|
48
|
-
* explicitly have to be added in the filter-service, but it's more
|
|
49
|
-
* readable to the user like this.
|
|
50
|
-
* Also loads nodes from later pages than page one.
|
|
51
|
-
*
|
|
52
|
-
* @returns Observable that resolves with an array of AssemblyHierarchyNodes that represent all applied filters
|
|
53
|
-
* @deprecated not needed anymore as HierarchyPartiumIdFilter is deprecated
|
|
54
|
-
*/
|
|
55
|
-
CSAHelperService.prototype.getHierarchyFilterNodesForUI = function () {
|
|
56
|
-
var _this = this;
|
|
57
|
-
var finalImplicitIncludes; // nodes that will be returned from the function
|
|
58
|
-
var implicitExcludes; // all parent nodes of excluded nodes
|
|
59
|
-
var excludedNodes;
|
|
60
|
-
var searchFilters$ = this.searchFilterService.getSearchFilters().pipe((0, operators_1.first)());
|
|
61
|
-
var excludedNodes$ = this.searchFilterService.getExcludedHierarchyFilterNodes().pipe((0, operators_1.first)());
|
|
62
|
-
return (0, rxjs_1.forkJoin)([
|
|
63
|
-
searchFilters$,
|
|
64
|
-
excludedNodes$,
|
|
65
|
-
])
|
|
66
|
-
.pipe((0, operators_1.mergeMap)(function (_a) {
|
|
67
|
-
var filters = _a[0], en = _a[1];
|
|
68
|
-
finalImplicitIncludes = [];
|
|
69
|
-
implicitExcludes = [];
|
|
70
|
-
excludedNodes = en;
|
|
71
|
-
// add all included to finalImplicitIncludes
|
|
72
|
-
var hierarchyFilter = filters.find(function (f) { return f instanceof search_filter_1.HierarchyPartiumIdFilter; });
|
|
73
|
-
if (hierarchyFilter) {
|
|
74
|
-
finalImplicitIncludes.push.apply(finalImplicitIncludes, hierarchyFilter.include);
|
|
75
|
-
}
|
|
76
|
-
// add all breadcrumbs from excluded nodes to implicitExcludes and remove them from finalImplicitIncludes
|
|
77
|
-
for (var _i = 0, _b = Object.values(excludedNodes); _i < _b.length; _i++) {
|
|
78
|
-
var excluded = _b[_i];
|
|
79
|
-
var _loop_1 = function (breadcrumb) {
|
|
80
|
-
if (implicitExcludes.filter(function (id) { return id === breadcrumb.partiumId; }).length < 1) {
|
|
81
|
-
// not yet included
|
|
82
|
-
implicitExcludes.push(breadcrumb.partiumId);
|
|
83
|
-
}
|
|
84
|
-
finalImplicitIncludes = finalImplicitIncludes.filter(function (id) { return id !== breadcrumb.partiumId; });
|
|
85
|
-
};
|
|
86
|
-
for (var _c = 0, _d = excluded.breadcrumbs; _c < _d.length; _c++) {
|
|
87
|
-
var breadcrumb = _d[_c];
|
|
88
|
-
_loop_1(breadcrumb);
|
|
89
|
-
}
|
|
90
|
-
}
|
|
91
|
-
// load all chilren of implicitExcludes
|
|
92
|
-
// and add them to finalImplicitIncludes if they are not in excludes or implicitExcludes in the next step
|
|
93
|
-
var loadChildren$ = [];
|
|
94
|
-
for (var _e = 0, implicitExcludes_1 = implicitExcludes; _e < implicitExcludes_1.length; _e++) {
|
|
95
|
-
var ie = implicitExcludes_1[_e];
|
|
96
|
-
loadChildren$.push(_this.loadAllChildren(ie));
|
|
97
|
-
}
|
|
98
|
-
if (loadChildren$.length > 0) {
|
|
99
|
-
return (0, rxjs_1.forkJoin)(loadChildren$);
|
|
100
|
-
}
|
|
101
|
-
else {
|
|
102
|
-
return (0, rxjs_1.of)([]);
|
|
103
|
-
}
|
|
104
|
-
}), (0, operators_1.mergeMap)(function (res) {
|
|
105
|
-
for (var _i = 0, res_1 = res; _i < res_1.length; _i++) {
|
|
106
|
-
var children = res_1[_i];
|
|
107
|
-
for (var _a = 0, children_1 = children; _a < children_1.length; _a++) {
|
|
108
|
-
var child = children_1[_a];
|
|
109
|
-
if (!Object.keys(excludedNodes).includes(child.partiumId) &&
|
|
110
|
-
!implicitExcludes.includes(child.partiumId) &&
|
|
111
|
-
!finalImplicitIncludes.includes(child.partiumId)) {
|
|
112
|
-
finalImplicitIncludes.push(child.partiumId);
|
|
113
|
-
}
|
|
114
|
-
}
|
|
115
|
-
}
|
|
116
|
-
return _this.assemblyHierarchyNodesService.getAssemblyHierarchyNodes(finalImplicitIncludes).pipe((0, operators_1.map)(function (nodes) { return nodes
|
|
117
|
-
.filter(function (node) { return node !== null && node !== undefined; }); }));
|
|
118
|
-
}), (0, operators_1.map)(function (nodes) {
|
|
119
|
-
// order nodes by the length of their breadcrumbs, so that the ones with least breadcrumbs are on top
|
|
120
|
-
return (0, lodash_1.sortBy)(nodes, function (node) { return node.breadcrumbs.length; });
|
|
121
|
-
}));
|
|
122
|
-
};
|
|
123
|
-
/**
|
|
124
|
-
* Loads all direct children of the node with the given id.
|
|
125
|
-
* (Does not only load the first page, but iteratively loads all pages)
|
|
126
|
-
*
|
|
127
|
-
* @param partiumId id of the parent node
|
|
128
|
-
* @returns Observable that resolves with all direct child nodes
|
|
129
|
-
*/
|
|
130
|
-
CSAHelperService.prototype.loadAllChildren = function (partiumId) {
|
|
131
|
-
var repeat$ = new rxjs_1.Subject();
|
|
132
|
-
var paginatedRequestService = this.assemblyHierarchyNodesService.getAssemblyHierarchyNodesByParentId(partiumId);
|
|
133
|
-
return paginatedRequestService.loadInitialPage(true).pipe((0, operators_1.first)(), (0, operators_1.mergeMap)(function (page1) {
|
|
134
|
-
if (page1.moreResultsAvailable()) {
|
|
135
|
-
// we use "defer" here instead of using loadMore directly, because this allows us to increase the
|
|
136
|
-
// page-number after loadMore is called. Otherwise always the same new page would be loaded
|
|
137
|
-
return (0, rxjs_1.defer)(function () { return paginatedRequestService.loadMore(); }).pipe((0, operators_1.first)(), (0, operators_1.tap)(function (page) {
|
|
138
|
-
if (page.moreResultsAvailable()) {
|
|
139
|
-
setTimeout(function () {
|
|
140
|
-
repeat$.next(); // more pages to load
|
|
141
|
-
});
|
|
142
|
-
}
|
|
143
|
-
else {
|
|
144
|
-
repeat$.complete(); // final page reached
|
|
145
|
-
}
|
|
146
|
-
}), (0, operators_1.repeatWhen)(function () { return repeat$.asObservable(); }));
|
|
147
|
-
}
|
|
148
|
-
else {
|
|
149
|
-
return (0, rxjs_1.of)(page1);
|
|
150
|
-
}
|
|
151
|
-
}), (0, operators_1.map)(function (fullPage) { return fullPage.items; }));
|
|
152
|
-
};
|
|
153
|
-
CSAHelperService = __decorate([
|
|
154
|
-
(0, injection_identifier_1.InjectionIdentifier)("CSAHelperService")
|
|
155
|
-
], CSAHelperService);
|
|
156
|
-
return CSAHelperService;
|
|
157
|
-
}(base_service_1.BaseService));
|
|
158
|
-
exports.CSAHelperService = CSAHelperService;
|
|
159
|
-
//# sourceMappingURL=csa-helper.service.js.map
|
|
2
|
+
"use strict";var __extends=this&&this.__extends||function(){var e=function(r,t){return e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,r){e.__proto__=r}||function(e,r){for(var t in r)Object.prototype.hasOwnProperty.call(r,t)&&(e[t]=r[t])},e(r,t)};return function(r,t){if("function"!=typeof t&&null!==t)throw new TypeError("Class extends value "+String(t)+" is not a constructor or null");function i(){this.constructor=r}e(r,t),r.prototype=null===t?Object.create(t):(i.prototype=t.prototype,new i)}}(),__decorate=this&&this.__decorate||function(e,r,t,i){var o,n=arguments.length,s=n<3?r:null===i?i=Object.getOwnPropertyDescriptor(r,t):i;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(e,r,t,i);else for(var c=e.length-1;c>=0;c--)(o=e[c])&&(s=(n<3?o(s):n>3?o(r,t,s):o(r,t))||s);return n>3&&s&&Object.defineProperty(r,t,s),s};Object.defineProperty(exports,"__esModule",{value:!0}),exports.CSAHelperService=void 0;var lodash_1=require("lodash"),rxjs_1=require("rxjs"),operators_1=require("rxjs/operators"),injection_identifier_1=require("../../core/decorators/injection-identifier"),base_service_1=require("../../core/services/base.service"),search_filter_1=require("../../find/models/search-filter"),search_filter_service_1=require("../../find/services/search-filter.service"),assembly_hierarchy_nodes_service_1=require("./assembly-hierarchy-nodes.service"),CSAHelperService=function(e){function r(r){return e.call(this,r)||this}return __extends(r,e),r.prototype.onCreate=function(){this.searchFilterService=this.serviceProvider.getService(search_filter_service_1.SearchFilterServiceImpl),this.assemblyHierarchyNodesService=this.serviceProvider.getService(assembly_hierarchy_nodes_service_1.AssemblyHierarchyNodesServiceImpl)},r.prototype.getHierarchyFilterNodesForUI=function(){var e,r,t,i=this,o=this.searchFilterService.getSearchFilters().pipe((0,operators_1.first)()),n=this.searchFilterService.getExcludedHierarchyFilterNodes().pipe((0,operators_1.first)());return(0,rxjs_1.forkJoin)([o,n]).pipe((0,operators_1.mergeMap)((function(o){var n=o[0],s=o[1];e=[],r=[],t=s;var c=n.find((function(e){return e instanceof search_filter_1.HierarchyPartiumIdFilter}));c&&e.push.apply(e,c.include);for(var a=0,l=Object.values(t);a<l.length;a++)for(var u=function(t){r.filter((function(e){return e===t.partiumId})).length<1&&r.push(t.partiumId),e=e.filter((function(e){return e!==t.partiumId}))},p=0,f=l[a].breadcrumbs;p<f.length;p++){u(f[p])}for(var _=[],h=0,d=r;h<d.length;h++){var v=d[h];_.push(i.loadAllChildren(v))}return _.length>0?(0,rxjs_1.forkJoin)(_):(0,rxjs_1.of)([])})),(0,operators_1.mergeMap)((function(o){for(var n=0,s=o;n<s.length;n++)for(var c=0,a=s[n];c<a.length;c++){var l=a[c];Object.keys(t).includes(l.partiumId)||r.includes(l.partiumId)||e.includes(l.partiumId)||e.push(l.partiumId)}return i.assemblyHierarchyNodesService.getAssemblyHierarchyNodes(e).pipe((0,operators_1.map)((function(e){return e.filter((function(e){return null!=e}))})))})),(0,operators_1.map)((function(e){return(0,lodash_1.sortBy)(e,(function(e){return e.breadcrumbs.length}))})))},r.prototype.loadAllChildren=function(e){var r=new rxjs_1.Subject,t=this.assemblyHierarchyNodesService.getAssemblyHierarchyNodesByParentId(e);return t.loadInitialPage(!0).pipe((0,operators_1.first)(),(0,operators_1.mergeMap)((function(e){return e.moreResultsAvailable()?(0,rxjs_1.defer)((function(){return t.loadMore()})).pipe((0,operators_1.first)(),(0,operators_1.tap)((function(e){e.moreResultsAvailable()?setTimeout((function(){r.next()})):r.complete()})),(0,operators_1.repeatWhen)((function(){return r.asObservable()}))):(0,rxjs_1.of)(e)})),(0,operators_1.map)((function(e){return e.items})))},r=__decorate([(0,injection_identifier_1.InjectionIdentifier)("CSAHelperService")],r)}(base_service_1.BaseService);exports.CSAHelperService=CSAHelperService;
|