@colijnit/product 260.1.2 → 261.20.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (145) hide show
  1. package/fesm2022/colijnit-product.mjs +4534 -0
  2. package/fesm2022/colijnit-product.mjs.map +1 -0
  3. package/index.d.ts +948 -0
  4. package/package.json +32 -33
  5. package/app/bundle/service/local-storage.service.d.ts +0 -14
  6. package/app/components/core/header/header.component.d.ts +0 -7
  7. package/app/components/core/header/header.module.d.ts +0 -2
  8. package/app/components/image-carousel/image-carousel.component.d.ts +0 -48
  9. package/app/components/image-carousel/image-carousel.module.d.ts +0 -2
  10. package/app/components/product-additional-description/product-additional-description.component.d.ts +0 -14
  11. package/app/components/product-additional-description/product-additional-description.module.d.ts +0 -2
  12. package/app/components/product-additional-info/product-additional-info.component.d.ts +0 -21
  13. package/app/components/product-additional-info/product-additional-info.module.d.ts +0 -2
  14. package/app/components/product-addtocart/product-addtocart.component.d.ts +0 -42
  15. package/app/components/product-addtocart/product-addtocart.module.d.ts +0 -2
  16. package/app/components/product-delivery/product-delivery.component.d.ts +0 -18
  17. package/app/components/product-delivery/product-delivery.module.d.ts +0 -2
  18. package/app/components/product-description/product-description.component.d.ts +0 -7
  19. package/app/components/product-description/product-description.module.d.ts +0 -2
  20. package/app/components/product-dialog/product-dialog.component.d.ts +0 -27
  21. package/app/components/product-dialog/product-dialog.module.d.ts +0 -2
  22. package/app/components/product-documents/product-document.module.d.ts +0 -2
  23. package/app/components/product-documents/product-documents.component.d.ts +0 -10
  24. package/app/components/product-external-source/product-external-source.component.d.ts +0 -51
  25. package/app/components/product-external-source/product-external-source.module.d.ts +0 -2
  26. package/app/components/product-hd/product-hd.component.d.ts +0 -25
  27. package/app/components/product-hd/product-hd.module.d.ts +0 -2
  28. package/app/components/product-info-tabs/product-info-tabs.component.d.ts +0 -18
  29. package/app/components/product-info-tabs/product-info-tabs.module.d.ts +0 -2
  30. package/app/components/product-page/product-page.component.d.ts +0 -66
  31. package/app/components/product-page/product-page.module.d.ts +0 -2
  32. package/app/components/product-price/product-price.component.d.ts +0 -19
  33. package/app/components/product-price/product-price.module.d.ts +0 -2
  34. package/app/components/product-properties/product-properties.component.d.ts +0 -16
  35. package/app/components/product-properties/product-properties.module.d.ts +0 -2
  36. package/app/components/product-related/product-related.component.d.ts +0 -33
  37. package/app/components/product-related/product-related.module.d.ts +0 -2
  38. package/app/components/product-selector-type/product-selector-type.component.d.ts +0 -22
  39. package/app/components/product-selector-type/product-selector-type.module.d.ts +0 -2
  40. package/app/components/product-stock/product-stock.component.d.ts +0 -20
  41. package/app/components/product-stock/product-stock.module.d.ts +0 -2
  42. package/app/components/product-symbols/product-symbols.component.d.ts +0 -10
  43. package/app/components/product-symbols/product-symbols.module.d.ts +0 -2
  44. package/app/components/render-carousel/render-carousel.component.d.ts +0 -40
  45. package/app/components/render-carousel/render-carousel.module.d.ts +0 -2
  46. package/app/enum/icon.enum.d.ts +0 -22
  47. package/app/enum/language-code.enum.d.ts +0 -6
  48. package/app/enum/selector-type.enum.d.ts +0 -5
  49. package/app/ione-product.component.d.ts +0 -47
  50. package/app/ione-product.module.d.ts +0 -2
  51. package/app/model/article-quantity.model.d.ts +0 -5
  52. package/app/model/icon.d.ts +0 -4
  53. package/app/model/productSettings.d.ts +0 -18
  54. package/app/model/render-modes.d.ts +0 -5
  55. package/app/model/render-parameters.d.ts +0 -7
  56. package/app/model/settings-options.d.ts +0 -10
  57. package/app/model/stock-and-delivery.d.ts +0 -5
  58. package/app/pipe/localize.pipe.d.ts +0 -7
  59. package/app/pipe/pipe.module.d.ts +0 -2
  60. package/app/product-version.d.ts +0 -6
  61. package/app/service/dictionary.service.d.ts +0 -24
  62. package/app/service/icon-cache.service.d.ts +0 -17
  63. package/app/service/product-connector-adapter.service.d.ts +0 -43
  64. package/app/service/product-connector.service.d.ts +0 -43
  65. package/app/service/product-event.service.d.ts +0 -27
  66. package/app/service/product-script-loader.service.d.ts +0 -9
  67. package/app/service/product-settings.service.d.ts +0 -16
  68. package/app/utils/bit-utils.d.ts +0 -7
  69. package/app/utils/json-utils.service.d.ts +0 -3
  70. package/assets/dictionary/text.properties.d.ts +0 -3
  71. package/bundles/colijnit-product.umd.js +0 -4317
  72. package/bundles/colijnit-product.umd.js.map +0 -1
  73. package/colijnit-product.d.ts +0 -49
  74. package/colijnit-product.metadata.json +0 -1
  75. package/esm2015/app/bundle/service/local-storage.service.js +0 -37
  76. package/esm2015/app/components/core/header/header.component.js +0 -26
  77. package/esm2015/app/components/core/header/header.module.js +0 -19
  78. package/esm2015/app/components/image-carousel/image-carousel.component.js +0 -288
  79. package/esm2015/app/components/image-carousel/image-carousel.module.js +0 -23
  80. package/esm2015/app/components/product-additional-description/product-additional-description.component.js +0 -58
  81. package/esm2015/app/components/product-additional-description/product-additional-description.module.js +0 -21
  82. package/esm2015/app/components/product-additional-info/product-additional-info.component.js +0 -108
  83. package/esm2015/app/components/product-additional-info/product-additional-info.module.js +0 -21
  84. package/esm2015/app/components/product-addtocart/product-addtocart.component.js +0 -185
  85. package/esm2015/app/components/product-addtocart/product-addtocart.module.js +0 -26
  86. package/esm2015/app/components/product-delivery/product-delivery.component.js +0 -49
  87. package/esm2015/app/components/product-delivery/product-delivery.module.js +0 -23
  88. package/esm2015/app/components/product-description/product-description.component.js +0 -23
  89. package/esm2015/app/components/product-description/product-description.module.js +0 -19
  90. package/esm2015/app/components/product-dialog/product-dialog.component.js +0 -86
  91. package/esm2015/app/components/product-dialog/product-dialog.module.js +0 -25
  92. package/esm2015/app/components/product-documents/product-document.module.js +0 -25
  93. package/esm2015/app/components/product-documents/product-documents.component.js +0 -31
  94. package/esm2015/app/components/product-external-source/product-external-source.component.js +0 -192
  95. package/esm2015/app/components/product-external-source/product-external-source.module.js +0 -23
  96. package/esm2015/app/components/product-hd/product-hd.component.js +0 -124
  97. package/esm2015/app/components/product-hd/product-hd.module.js +0 -23
  98. package/esm2015/app/components/product-info-tabs/product-info-tabs.component.js +0 -82
  99. package/esm2015/app/components/product-info-tabs/product-info-tabs.module.js +0 -29
  100. package/esm2015/app/components/product-page/product-page.component.js +0 -254
  101. package/esm2015/app/components/product-page/product-page.module.js +0 -50
  102. package/esm2015/app/components/product-price/product-price.component.js +0 -75
  103. package/esm2015/app/components/product-price/product-price.module.js +0 -23
  104. package/esm2015/app/components/product-properties/product-properties.component.js +0 -61
  105. package/esm2015/app/components/product-properties/product-properties.module.js +0 -21
  106. package/esm2015/app/components/product-related/product-related.component.js +0 -137
  107. package/esm2015/app/components/product-related/product-related.module.js +0 -25
  108. package/esm2015/app/components/product-selector-type/product-selector-type.component.js +0 -63
  109. package/esm2015/app/components/product-selector-type/product-selector-type.module.js +0 -26
  110. package/esm2015/app/components/product-stock/product-stock.component.js +0 -69
  111. package/esm2015/app/components/product-stock/product-stock.module.js +0 -23
  112. package/esm2015/app/components/product-symbols/product-symbols.component.js +0 -49
  113. package/esm2015/app/components/product-symbols/product-symbols.module.js +0 -26
  114. package/esm2015/app/components/render-carousel/render-carousel.component.js +0 -127
  115. package/esm2015/app/components/render-carousel/render-carousel.module.js +0 -25
  116. package/esm2015/app/enum/icon.enum.js +0 -24
  117. package/esm2015/app/enum/language-code.enum.js +0 -8
  118. package/esm2015/app/enum/selector-type.enum.js +0 -7
  119. package/esm2015/app/ione-product.component.js +0 -165
  120. package/esm2015/app/ione-product.module.js +0 -36
  121. package/esm2015/app/model/article-quantity.model.js +0 -3
  122. package/esm2015/app/model/icon.js +0 -23
  123. package/esm2015/app/model/productSettings.js +0 -14
  124. package/esm2015/app/model/render-modes.js +0 -7
  125. package/esm2015/app/model/render-parameters.js +0 -10
  126. package/esm2015/app/model/settings-options.js +0 -13
  127. package/esm2015/app/model/stock-and-delivery.js +0 -8
  128. package/esm2015/app/pipe/localize.pipe.js +0 -27
  129. package/esm2015/app/pipe/pipe.module.js +0 -18
  130. package/esm2015/app/product-version.js +0 -10
  131. package/esm2015/app/service/dictionary.service.js +0 -94
  132. package/esm2015/app/service/icon-cache.service.js +0 -40
  133. package/esm2015/app/service/product-connector-adapter.service.js +0 -199
  134. package/esm2015/app/service/product-connector.service.js +0 -115
  135. package/esm2015/app/service/product-event.service.js +0 -27
  136. package/esm2015/app/service/product-script-loader.service.js +0 -68
  137. package/esm2015/app/service/product-settings.service.js +0 -86
  138. package/esm2015/app/utils/bit-utils.js +0 -18
  139. package/esm2015/app/utils/json-utils.service.js +0 -29
  140. package/esm2015/assets/dictionary/text.properties.js +0 -102
  141. package/esm2015/colijnit-product.js +0 -50
  142. package/esm2015/public_api.js +0 -10
  143. package/fesm2015/colijnit-product.js +0 -3529
  144. package/fesm2015/colijnit-product.js.map +0 -1
  145. package/public_api.d.ts +0 -9
@@ -1,199 +0,0 @@
1
- import { __awaiter } from "tslib";
2
- import { Injectable } from '@angular/core';
3
- import { Subject } from 'rxjs';
4
- import { ArticleFullObject } from '@colijnit/articleapi/build/model/article-full-object';
5
- import { SuperArticle } from '@colijnit/articleapi/build/model/super-article';
6
- import { Articles } from '@colijnit/articleapi/build/articles';
7
- import { DeliveryPrognosis } from '@colijnit/articleapi/build/model/delivery-prognosis';
8
- import { DocumentContent } from '@colijnit/articleapi/build/model/document-content';
9
- import { BusinessObjectFactory } from '@colijnit/ioneconnector/build/service/business-object-factory';
10
- import { Transaction } from '@colijnit/transactionapi/build/transaction';
11
- import { ProductSettings } from '../model/productSettings';
12
- import { MainApi } from '@colijnit/mainapi';
13
- import { TransactionInfoResponse } from '@colijnit/transactionapi/build/model/transaction-info-response.bo';
14
- import { ArticleListObjectExtended } from '@colijnit/articleapi/build/model/article-list-object-extended.bo';
15
- import { ProductEventService } from './product-event.service';
16
- import { ImageContent } from '@colijnit/mainapi/build/model/image-content.bo';
17
- // Sole responsibility is simply to wrap around a colijn.Connector to create a stable inner interface to the library in a 1:1 method way.
18
- // Only to be used by the IOneControllerService.
19
- export class ProductConnectorAdapterService {
20
- constructor(_eventService) {
21
- this._eventService = _eventService;
22
- this.showLoader = new Subject();
23
- this._boFactory = new BusinessObjectFactory();
24
- this._subs = [];
25
- }
26
- ngOnDestroy() {
27
- this._subs.forEach(s => s.unsubscribe());
28
- }
29
- initConnector(options) {
30
- return __awaiter(this, void 0, void 0, function* () {
31
- this.articleConnector = new Articles(options);
32
- yield this.articleConnector.connect();
33
- this.transactionConnector = new Transaction(options);
34
- this.mainConnector = new MainApi(options);
35
- this._subs.push(
36
- // @ts-ignore
37
- this.articleConnector.showLoader.subscribe(value => this.showLoader.next(value)));
38
- });
39
- }
40
- setInstance(instanceId) {
41
- // this.articleConnector.setInstanceToConfigure(instanceId, false);
42
- }
43
- getProductBundleSettings(url, upId) {
44
- return __awaiter(this, void 0, void 0, function* () {
45
- const tempSettings = new ProductSettings();
46
- tempSettings.url = url;
47
- tempSettings.schema = upId.toString();
48
- const tempMainConnector = new MainApi(tempSettings);
49
- const response = yield tempMainConnector.getPublicParams(upId);
50
- if (response) {
51
- return response.productSettings;
52
- }
53
- return "";
54
- });
55
- }
56
- convertArticleFullObjectToArticleExtended(article) {
57
- if (article) {
58
- return this._boFactory.makeWithRawBackendData(ArticleListObjectExtended, article);
59
- }
60
- }
61
- getDeliveryPrognosis(goodId, branchNr) {
62
- return __awaiter(this, void 0, void 0, function* () {
63
- const deliveryPrognosis = yield this.getSelectorDeliveryDate();
64
- if (!deliveryPrognosis || !deliveryPrognosis.returnValue) {
65
- return this.getDeliveryDate2(goodId);
66
- }
67
- return deliveryPrognosis;
68
- });
69
- }
70
- getSelectorDeliveryDate() {
71
- return __awaiter(this, void 0, void 0, function* () {
72
- const response = yield this.articleConnector.getSelectorDeliveryDate();
73
- if (response && response.validationResult && response.validationResult.success) {
74
- return this._boFactory.makeWithRawBackendData(DeliveryPrognosis, response.resultObject);
75
- }
76
- else {
77
- return null;
78
- }
79
- });
80
- }
81
- getArtStockStatus(goodId) {
82
- return __awaiter(this, void 0, void 0, function* () {
83
- const response = yield this.articleConnector.getArtStockStatus(goodId);
84
- if (response && response.validationResult && response.validationResult.success) {
85
- return response.resultObject;
86
- }
87
- else {
88
- return null;
89
- }
90
- });
91
- }
92
- getDeliveryDate2(goodId) {
93
- return __awaiter(this, void 0, void 0, function* () {
94
- const response = yield this.articleConnector.getDeliveryDate2(goodId);
95
- if (response && response.validationResult && response.validationResult.success) {
96
- return this._boFactory.makeWithRawBackendData(DeliveryPrognosis, response.resultObject);
97
- }
98
- else {
99
- return null;
100
- }
101
- });
102
- }
103
- getJsonConfiguredArticles(configuratorStatistics) {
104
- return __awaiter(this, void 0, void 0, function* () {
105
- const response = yield this.articleConnector.getJsonConfiguredArticles(configuratorStatistics);
106
- if (response && response.validationResult && response.validationResult.success) {
107
- return response.resultObject;
108
- }
109
- else {
110
- return '';
111
- }
112
- });
113
- }
114
- getJsonArticleFlatTree(goodId, goodType, quantity, externalSource = false, showLoader = true, instanceId, configuratorStatistics) {
115
- return __awaiter(this, void 0, void 0, function* () {
116
- return this.articleConnector.getJsonArticleFlatTree(goodId, goodType, quantity, externalSource, showLoader, instanceId, configuratorStatistics).catch((messages) => {
117
- this._eventService.errorMessage.next(messages);
118
- return null;
119
- });
120
- });
121
- }
122
- getGeneratedArtDirectly(goodId, showLoader) {
123
- return __awaiter(this, void 0, void 0, function* () {
124
- return this.articleConnector.getGeneratedArtDirectly(goodId, showLoader).catch((messages) => {
125
- this._eventService.errorMessage.next(messages);
126
- return null;
127
- });
128
- });
129
- }
130
- getGoodIdFromArticleNr(sku) {
131
- return __awaiter(this, void 0, void 0, function* () {
132
- const response = yield this.articleConnector.getGoodIdFromArticleNr(sku);
133
- if (response && response.validationResult && response.validationResult.success) {
134
- return response.resultObject;
135
- }
136
- else {
137
- return null;
138
- }
139
- });
140
- }
141
- getArticleFullObject(goodId, showLoader = true) {
142
- return __awaiter(this, void 0, void 0, function* () {
143
- const response = yield this.articleConnector.getArticleFullObject(goodId, showLoader);
144
- if (response && response.validationResult && response.validationResult.success) {
145
- return this._boFactory.makeWithRawBackendData(ArticleFullObject, response.resultObject);
146
- }
147
- else {
148
- return null;
149
- }
150
- });
151
- }
152
- getSuperArticle(id, branch) {
153
- return __awaiter(this, void 0, void 0, function* () {
154
- const response = yield this.articleConnector.getSuperArticleQuickSel(id, branch);
155
- if (response && response.validationResult && response.validationResult.success) {
156
- return this._boFactory.makeWithRawBackendData(SuperArticle, response.resultObject);
157
- }
158
- else {
159
- return null;
160
- }
161
- });
162
- }
163
- getDocumentContent(docId, thumbnail = true) {
164
- return __awaiter(this, void 0, void 0, function* () {
165
- const response = yield this.articleConnector.getDocumentContent(docId, thumbnail);
166
- if (response && response.validationResult && response.validationResult.success) {
167
- return this._boFactory.makeWithRawBackendData(DocumentContent, response.resultObject);
168
- }
169
- else {
170
- return null;
171
- }
172
- });
173
- }
174
- addWebSessionTransactionLine(transactionUuid, sku, quantity) {
175
- return __awaiter(this, void 0, void 0, function* () {
176
- const response = yield this.transactionConnector.addWebSessionTransactionLine(transactionUuid, sku, quantity);
177
- if (response && response.validationResult && response.validationResult.success) {
178
- const infoResponse = this._boFactory.makeWithRawBackendData(TransactionInfoResponse, response.resultObject);
179
- return infoResponse.transactionInfo.uuid;
180
- }
181
- return "";
182
- });
183
- }
184
- getImageForCoDocument(document, thumb) {
185
- return __awaiter(this, void 0, void 0, function* () {
186
- const response = yield this.mainConnector.getImageForCoDocument(document, thumb);
187
- if (response && response.validationResult && response.validationResult.success) {
188
- return this._boFactory.makeWithRawBackendData(ImageContent, response.resultObject);
189
- }
190
- });
191
- }
192
- }
193
- ProductConnectorAdapterService.decorators = [
194
- { type: Injectable }
195
- ];
196
- ProductConnectorAdapterService.ctorParameters = () => [
197
- { type: ProductEventService }
198
- ];
199
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvZHVjdC1jb25uZWN0b3ItYWRhcHRlci5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2FwcC9zZXJ2aWNlL3Byb2R1Y3QtY29ubmVjdG9yLWFkYXB0ZXIuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFDLFVBQVUsRUFBWSxNQUFNLGVBQWUsQ0FBQztBQUNwRCxPQUFPLEVBQUMsT0FBTyxFQUFlLE1BQU0sTUFBTSxDQUFDO0FBQzNDLE9BQU8sRUFBQyxpQkFBaUIsRUFBQyxNQUFNLHNEQUFzRCxDQUFDO0FBQ3ZGLE9BQU8sRUFBQyxZQUFZLEVBQUMsTUFBTSxnREFBZ0QsQ0FBQztBQUU1RSxPQUFPLEVBQUMsUUFBUSxFQUFDLE1BQU0scUNBQXFDLENBQUM7QUFHN0QsT0FBTyxFQUFDLGlCQUFpQixFQUFDLE1BQU0scURBQXFELENBQUM7QUFDdEYsT0FBTyxFQUFDLGVBQWUsRUFBQyxNQUFNLG1EQUFtRCxDQUFDO0FBQ2xGLE9BQU8sRUFBQyxxQkFBcUIsRUFBQyxNQUFNLCtEQUErRCxDQUFDO0FBQ3BHLE9BQU8sRUFBQyxXQUFXLEVBQUMsTUFBTSw0Q0FBNEMsQ0FBQztBQUN2RSxPQUFPLEVBQUMsZUFBZSxFQUFDLE1BQU0sMEJBQTBCLENBQUM7QUFDekQsT0FBTyxFQUFDLE9BQU8sRUFBQyxNQUFNLG1CQUFtQixDQUFDO0FBQzFDLE9BQU8sRUFBQyx1QkFBdUIsRUFBQyxNQUFNLG1FQUFtRSxDQUFDO0FBQzFHLE9BQU8sRUFBQyx5QkFBeUIsRUFBQyxNQUFNLGtFQUFrRSxDQUFDO0FBQzNHLE9BQU8sRUFBQyxtQkFBbUIsRUFBQyxNQUFNLHlCQUF5QixDQUFDO0FBRzVELE9BQU8sRUFBQyxZQUFZLEVBQUMsTUFBTSxnREFBZ0QsQ0FBQztBQUU1RSx5SUFBeUk7QUFDekksZ0RBQWdEO0FBRWhELE1BQU0sT0FBTyw4QkFBOEI7SUFXdkMsWUFDWSxhQUFrQztRQUFs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O1lBQzVGLE1BQU0sUUFBUSxHQUE0QixNQUFNLElBQUksQ0FBQyxvQkFBb0IsQ0FBQyw0QkFBNEIsQ0FBQyxlQUFlLEVBQUUsR0FBRyxFQUFFLFFBQVEsQ0FBQyxDQUFDO1lBQ3ZJLElBQUksUUFBUSxJQUFJLFFBQVEsQ0FBQyxnQkFBZ0IsSUFBSSxRQUFRLENBQUMsZ0JBQWdCLENBQUMsT0FBTyxFQUFFO2dCQUM1RSxNQUFNLFlBQVksR0FBNEIsSUFBSSxDQUFDLFVBQVUsQ0FBQyxzQkFBc0IsQ0FBQyx1QkFBdUIsRUFBRSxRQUFRLENBQUMsWUFBWSxDQUE0QixDQUFDO2dCQUNoSyxPQUFPLFlBQVksQ0FBQyxlQUFlLENBQUMsSUFBSSxDQUFDO2FBQzVDO1lBQ0QsT0FBTyxFQUFFLENBQUM7UUFDZCxDQUFDO0tBQUE7SUFFWSxxQkFBcUIsQ0FBQyxRQUFvQixFQUFFLEtBQWM7O1lBQ25FLE1BQU0sUUFBUSxHQUE0QixNQUFNLElBQUksQ0FBQyxhQUFhLENBQUMscUJBQXFCLENBQUMsUUFBUSxFQUFFLEtBQUssQ0FBQyxDQUFDO1lBQzFHLElBQUksUUFBUSxJQUFJLFFBQVEsQ0FBQyxnQkFBZ0IsSUFBSSxRQUFRLENBQUMsZ0JBQWdCLENBQUMsT0FBTyxFQUFFO2dCQUM1RSxPQUFPLElBQUksQ0FBQyxVQUFVLENBQUMsc0JBQXNCLENBQUMsWUFBWSxFQUFFLFFBQVEsQ0FBQyxZQUFZLENBQTRCLENBQUM7YUFDakg7UUFDTCxDQUFDO0tBQUE7OztZQTVLSixVQUFVOzs7WUFQSCxtQkFBbUIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0luamVjdGFibGUsIE9uRGVzdHJveX0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7U3ViamVjdCwgU3Vic2NyaXB0aW9ufSBmcm9tICdyeGpzJztcclxuaW1wb3J0IHtBcnRpY2xlRnVsbE9iamVjdH0gZnJvbSAnQGNvbGlqbml0L2FydGljbGVhcGkvYnVpbGQvbW9kZWwvYXJ0aWNsZS1mdWxsLW9iamVjdCc7XHJcbmltcG9ydCB7U3VwZXJBcnRpY2xlfSBmcm9tICdAY29saWpuaXQvYXJ0aWNsZWFwaS9idWlsZC9tb2RlbC9zdXBlci1hcnRpY2xlJztcclxuaW1wb3J0IHtDb25maWd1cmF0b3JTdGF0aXN0aWNzRW52aXJvbm1lbnR9IGZyb20gJ0Bjb2xpam5pdC9hcnRpY2xlYXBpL2J1aWxkL21vZGVsL2NvbmZpZ3VyYXRvci1zdGF0aXN0aWNzLWVudmlyb25tZW50JztcclxuaW1wb3J0IHtBcnRpY2xlc30gZnJvbSAnQGNvbGlqbml0L2FydGljbGVhcGkvYnVpbGQvYXJ0aWNsZXMnO1xyXG5pbXBvcnQge09wdGlvbnN9IGZyb20gJ0Bjb2xpam5pdC9pb25lY29ubmVjdG9yL2J1aWxkL21vZGVsL29wdGlvbnMnO1xyXG5pbXBvcnQge0RhdGFTZXJ2aWNlUmVzcG9uc2VEYXRhfSBmcm9tICdAY29saWpuaXQvaW9uZWNvbm5lY3Rvci9idWlsZC9tb2RlbC9kYXRhLXNlcnZpY2UtcmVzcG9uc2UtZGF0YSc7XHJcbmltcG9ydCB7RGVsaXZlcnlQcm9nbm9zaXN9IGZyb20gJ0Bjb2xpam5pdC9hcnRpY2xlYXBpL2J1aWxkL21vZGVsL2RlbGl2ZXJ5LXByb2dub3Npcyc7XHJcbmltcG9ydCB7RG9jdW1lbnRDb250ZW50fSBmcm9tICdAY29saWpuaXQvYXJ0aWNsZWFwaS9idWlsZC9tb2RlbC9kb2N1bWVudC1jb250ZW50JztcclxuaW1wb3J0IHtCdXNpbmVzc09iamVjdEZhY3Rvcnl9IGZyb20gJ0Bjb2xpam5pdC9pb25lY29ubmVjdG9yL2J1aWxkL3NlcnZpY2UvYnVzaW5lc3Mtb2JqZWN0LWZhY3RvcnknO1xyXG5pbXBvcnQge1RyYW5zYWN0aW9ufSBmcm9tICdAY29saWpuaXQvdHJhbnNhY3Rpb25hcGkvYnVpbGQvdHJhbnNhY3Rpb24nO1xyXG5pbXBvcnQge1Byb2R1Y3RTZXR0aW5nc30gZnJvbSAnLi4vbW9kZWwvcHJvZHVjdFNldHRpbmdzJztcclxuaW1wb3J0IHtNYWluQXBpfSBmcm9tICdAY29saWpuaXQvbWFpbmFwaSc7XHJcbmltcG9ydCB7VHJhbnNhY3Rpb25JbmZvUmVzcG9uc2V9IGZyb20gJ0Bjb2xpam5pdC90cmFuc2FjdGlvbmFwaS9idWlsZC9tb2RlbC90cmFuc2FjdGlvbi1pbmZvLXJlc3BvbnNlLmJvJztcclxuaW1wb3J0IHtBcnRpY2xlTGlzdE9iamVjdEV4dGVuZGVkfSBmcm9tICdAY29saWpuaXQvYXJ0aWNsZWFwaS9idWlsZC9tb2RlbC9hcnRpY2xlLWxpc3Qtb2JqZWN0LWV4dGVuZGVkLmJvJztcclxuaW1wb3J0IHtQcm9kdWN0RXZlbnRTZXJ2aWNlfSBmcm9tICcuL3Byb2R1Y3QtZXZlbnQuc2VydmljZSc7XHJcbmltcG9ydCB7VmFsaWRhdGlvbk1lc3NhZ2V9IGZyb20gJ0Bjb2xpam5pdC9pb25lY29ubmVjdG9yL2J1aWxkL21vZGVsL3ZhbGlkYXRpb24tbWVzc2FnZSc7XHJcbmltcG9ydCB7Q29Eb2N1bWVudH0gZnJvbSAnQGNvbGlqbml0L21haW5hcGkvYnVpbGQvbW9kZWwvY28tZG9jdW1lbnQuYm8nO1xyXG5pbXBvcnQge0ltYWdlQ29udGVudH0gZnJvbSAnQGNvbGlqbml0L21haW5hcGkvYnVpbGQvbW9kZWwvaW1hZ2UtY29udGVudC5ibyc7XHJcblxyXG4vLyBTb2xlIHJlc3BvbnNpYmlsaXR5IGlzIHNpbXBseSB0byB3cmFwIGFyb3VuZCBhIGNvbGlqbi5Db25uZWN0b3IgdG8gY3JlYXRlIGEgc3RhYmxlIGlubmVyIGludGVyZmFjZSB0byB0aGUgbGlicmFyeSBpbiBhIDE6MSBtZXRob2Qgd2F5LlxyXG4vLyBPbmx5IHRvIGJlIHVzZWQgYnkgdGhlIElPbmVDb250cm9sbGVyU2VydmljZS5cclxuQEluamVjdGFibGUoKVxyXG5leHBvcnQgY2xhc3MgUHJvZHVjdENvbm5lY3RvckFkYXB0ZXJTZXJ2aWNlIGltcGxlbWVudHMgT25EZXN0cm95IHtcclxuXHJcbiAgICBwdWJsaWMgcmVhZG9ubHkgc2hvd0xvYWRlcjogU3ViamVjdDxib29sZWFuPiA9IG5ldyBTdWJqZWN0PGJvb2xlYW4+KCk7XHJcblxyXG4gICAgcHVibGljIGFydGljbGVDb25uZWN0b3I/OiBBcnRpY2xlcztcclxuICAgIHB1YmxpYyB0cmFuc2FjdGlvbkNvbm5lY3RvcjogVHJhbnNhY3Rpb247XHJcbiAgICBwdWJsaWMgbWFpbkNvbm5lY3RvcjogTWFpbkFwaTtcclxuXHJcbiAgICBwcml2YXRlIF9ib0ZhY3Rvcnk6IEJ1c2luZXNzT2JqZWN0RmFjdG9yeSA9IG5ldyBCdXNpbmVzc09iamVjdEZhY3RvcnkoKTtcclxuICAgIHByaXZhdGUgX3N1YnM6IFN1YnNjcmlwdGlvbltdID0gW107XHJcblxyXG4gICAgY29uc3RydWN0b3IoXHJcbiAgICAgICAgcHJpdmF0ZSBfZXZlbnRTZXJ2aWNlOiBQcm9kdWN0RXZlbnRTZXJ2aWNlXHJcbiAgICApIHtcclxuICAgIH1cclxuXHJcbiAgICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcclxuICAgICAgICB0aGlzLl9zdWJzLmZvckVhY2gocyA9PiBzLnVuc3Vic2NyaWJlKCkpO1xyXG4gICAgfVxyXG5cclxuICAgIHB1YmxpYyBhc3luYyBpbml0Q29ubmVjdG9yKG9wdGlvbnM6IE9wdGlvbnMpOiBQcm9taXNlPHZvaWQ+IHtcclxuICAgICAgICB0aGlzLmFydGljbGVDb25uZWN0b3IgPSBuZXcgQXJ0aWNsZXMob3B0aW9ucyk7XHJcbiAgICAgICAgYXdhaXQgdGhpcy5hcnRpY2xlQ29ubmVjdG9yLmNvbm5lY3QoKTtcclxuICAgICAgICB0aGlzLnRyYW5zYWN0aW9uQ29ubmVjdG9yID0gbmV3IFRyYW5zYWN0aW9uKG9wdGlvbnMpO1xyXG4gICAgICAgIHRoaXMubWFpbkNvbm5lY3RvciA9IG5ldyBNYWluQXBpKG9wdGlvbnMpO1xyXG4gICAgICAgIHRoaXMuX3N1YnMucHVzaChcclxuICAgICAgICAgICAgLy8gQHRzLWlnbm9yZVxyXG4gICAgICAgICAgICB0aGlzLmFydGljbGVDb25uZWN0b3Iuc2hvd0xvYWRlci5zdWJzY3JpYmUodmFsdWUgPT4gdGhpcy5zaG93TG9hZGVyLm5leHQodmFsdWUpKVxyXG4gICAgICAgIClcclxuICAgIH1cclxuXHJcbiAgICBwdWJsaWMgc2V0SW5zdGFuY2UoaW5zdGFuY2VJZDogc3RyaW5nKTogdm9pZCB7XHJcbiAgICAgICAgLy8gdGhpcy5hcnRpY2xlQ29ubmVjdG9yLnNldEluc3RhbmNlVG9Db25maWd1cmUoaW5zdGFuY2VJZCwgZmFsc2UpO1xyXG4gICAgfVxyXG5cclxuICAgIHB1YmxpYyBhc3luYyBnZXRQcm9kdWN0QnVuZGxlU2V0dGluZ3ModXJsOiBzdHJpbmcsIHVwSWQ6IG51bWJlcik6IFByb21pc2U8c3RyaW5nPiB7XHJcbiAgICAgICAgY29uc3QgdGVtcFNldHRpbmdzOiBQcm9kdWN0U2V0dGluZ3MgPSBuZXcgUHJvZHVjdFNldHRpbmdzKCk7XHJcbiAgICAgICAgdGVtcFNldHRpbmdzLnVybCA9IHVybDtcclxuICAgICAgICB0ZW1wU2V0dGluZ3Muc2NoZW1hID0gdXBJZC50b1N0cmluZygpO1xyXG4gICAgICAgIGNvbnN0IHRlbXBNYWluQ29ubmVjdG9yID0gbmV3IE1haW5BcGkodGVtcFNldHRpbmdzKTtcclxuICAgICAgICBjb25zdCByZXNwb25zZTogYW55ID0gYXdhaXQgdGVtcE1haW5Db25uZWN0b3IuZ2V0UHVibGljUGFyYW1zKHVwSWQpO1xyXG4gICAgICAgIGlmIChyZXNwb25zZSkge1xyXG4gICAgICAgICAgICByZXR1cm4gcmVzcG9uc2UucHJvZHVjdFNldHRpbmdzO1xyXG4gICAgICAgIH1cclxuICAgICAgICByZXR1cm4gXCJcIjtcclxuICAgIH1cclxuXHJcbiAgICBwdWJsaWMgY29udmVydEFydGljbGVGdWxsT2JqZWN0VG9BcnRpY2xlRXh0ZW5kZWQoYXJ0aWNsZTogQXJ0aWNsZUZ1bGxPYmplY3QpOiBBcnRpY2xlTGlzdE9iamVjdEV4dGVuZGVkIHtcclxuICAgICAgICBpZiAoYXJ0aWNsZSkge1xyXG4gICAgICAgICAgICByZXR1cm4gdGhpcy5fYm9GYWN0b3J5Lm1ha2VXaXRoUmF3QmFja2VuZERhdGEoQXJ0aWNsZUxpc3RPYmplY3RFeHRlbmRlZCwgYXJ0aWNsZSkgYXMgQXJ0aWNsZUxpc3RPYmplY3RFeHRlbmRlZDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgcHVibGljIGFzeW5jIGdldERlbGl2ZXJ5UHJvZ25vc2lzKGdvb2RJZDogbnVtYmVyLCBicmFuY2hOcj86IHN0cmluZyk6IFByb21pc2U8YW55PiB7XHJcbiAgICAgICAgY29uc3QgZGVsaXZlcnlQcm9nbm9zaXM6IERlbGl2ZXJ5UHJvZ25vc2lzID0gYXdhaXQgdGhpcy5nZXRTZWxlY3RvckRlbGl2ZXJ5RGF0ZSgpO1xyXG4gICAgICAgIGlmICghZGVsaXZlcnlQcm9nbm9zaXMgfHwgIWRlbGl2ZXJ5UHJvZ25vc2lzLnJldHVyblZhbHVlKSB7XHJcbiAgICAgICAgICAgIHJldHVybiB0aGlzLmdldERlbGl2ZXJ5RGF0ZTIoZ29vZElkKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgcmV0dXJuIGRlbGl2ZXJ5UHJvZ25vc2lzO1xyXG4gICAgfVxyXG5cclxuICAgIHB1YmxpYyBhc3luYyBnZXRTZWxlY3RvckRlbGl2ZXJ5RGF0ZSgpOiBQcm9taXNlPERlbGl2ZXJ5UHJvZ25vc2lzPiB7XHJcbiAgICAgICAgY29uc3QgcmVzcG9uc2U6IERhdGFTZXJ2aWNlUmVzcG9uc2VEYXRhID0gYXdhaXQgdGhpcy5hcnRpY2xlQ29ubmVjdG9yLmdldFNlbGVjdG9yRGVsaXZlcnlEYXRlKCk7XHJcbiAgICAgICAgaWYgKHJlc3BvbnNlICYmIHJlc3BvbnNlLnZhbGlkYXRpb25SZXN1bHQgJiYgcmVzcG9uc2UudmFsaWRhdGlvblJlc3VsdC5zdWNjZXNzKSB7XHJcbiAgICAgICAgICAgIHJldHVybiB0aGlzLl9ib0ZhY3RvcnkubWFrZVdpdGhSYXdCYWNrZW5kRGF0YShEZWxpdmVyeVByb2dub3NpcywgcmVzcG9uc2UucmVzdWx0T2JqZWN0KSBhcyB1bmtub3duIGFzIERlbGl2ZXJ5UHJvZ25vc2lzO1xyXG4gICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgIHJldHVybiBudWxsO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBwdWJsaWMgYXN5bmMgZ2V0QXJ0U3RvY2tTdGF0dXMoZ29vZElkOiBudW1iZXIpOiBQcm9taXNlPG51bWJlcj4ge1xyXG4gICAgICAgIGNvbnN0IHJlc3BvbnNlOiBEYXRhU2VydmljZVJlc3BvbnNlRGF0YSA9IGF3YWl0IHRoaXMuYXJ0aWNsZUNvbm5lY3Rvci5nZXRBcnRTdG9ja1N0YXR1cyhnb29kSWQpO1xyXG4gICAgICAgIGlmIChyZXNwb25zZSAmJiByZXNwb25zZS52YWxpZGF0aW9uUmVzdWx0ICYmIHJlc3BvbnNlLnZhbGlkYXRpb25SZXN1bHQuc3VjY2Vzcykge1xyXG4gICAgICAgICAgICByZXR1cm4gcmVzcG9uc2UucmVzdWx0T2JqZWN0O1xyXG4gICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgIHJldHVybiBudWxsO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBwdWJsaWMgYXN5bmMgZ2V0RGVsaXZlcnlEYXRlMihnb29kSWQ6IG51bWJlcik6IFByb21pc2U8RGVsaXZlcnlQcm9nbm9zaXM+IHtcclxuICAgICAgICBjb25zdCByZXNwb25zZTogRGF0YVNlcnZpY2VSZXNwb25zZURhdGEgPSBhd2FpdCB0aGlzLmFydGljbGVDb25uZWN0b3IuZ2V0RGVsaXZlcnlEYXRlMihnb29kSWQpO1xyXG4gICAgICAgIGlmIChyZXNwb25zZSAmJiByZXNwb25zZS52YWxpZGF0aW9uUmVzdWx0ICYmIHJlc3BvbnNlLnZhbGlkYXRpb25SZXN1bHQuc3VjY2Vzcykge1xyXG4gICAgICAgICAgICByZXR1cm4gdGhpcy5fYm9GYWN0b3J5Lm1ha2VXaXRoUmF3QmFja2VuZERhdGEoRGVsaXZlcnlQcm9nbm9zaXMsIHJlc3BvbnNlLnJlc3VsdE9iamVjdCkgYXMgdW5rbm93biBhcyBEZWxpdmVyeVByb2dub3NpcztcclxuICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICByZXR1cm4gbnVsbDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgcHVibGljIGFzeW5jIGdldEpzb25Db25maWd1cmVkQXJ0aWNsZXMoY29uZmlndXJhdG9yU3RhdGlzdGljcz86IENvbmZpZ3VyYXRvclN0YXRpc3RpY3NFbnZpcm9ubWVudCk6IFByb21pc2U8c3RyaW5nPiB7XHJcbiAgICAgICAgY29uc3QgcmVzcG9uc2U6IERhdGFTZXJ2aWNlUmVzcG9uc2VEYXRhID0gYXdhaXQgdGhpcy5hcnRpY2xlQ29ubmVjdG9yLmdldEpzb25Db25maWd1cmVkQXJ0aWNsZXMoY29uZmlndXJhdG9yU3RhdGlzdGljcyk7XHJcbiAgICAgICAgaWYgKHJlc3BvbnNlICYmIHJlc3BvbnNlLnZhbGlkYXRpb25SZXN1bHQgJiYgcmVzcG9uc2UudmFsaWRhdGlvblJlc3VsdC5zdWNjZXNzKSB7XHJcbiAgICAgICAgICAgIHJldHVybiByZXNwb25zZS5yZXN1bHRPYmplY3Q7XHJcbiAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgcmV0dXJuICcnO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBwdWJsaWMgYXN5bmMgZ2V0SnNvbkFydGljbGVGbGF0VHJlZShcclxuICAgICAgICBnb29kSWQ6IG51bWJlcixcclxuICAgICAgICBnb29kVHlwZTogc3RyaW5nLFxyXG4gICAgICAgIHF1YW50aXR5OiBudW1iZXIsXHJcbiAgICAgICAgZXh0ZXJuYWxTb3VyY2U6IGJvb2xlYW4gPSBmYWxzZSxcclxuICAgICAgICBzaG93TG9hZGVyOiBib29sZWFuID0gdHJ1ZSxcclxuICAgICAgICBpbnN0YW5jZUlkPzogYW55LFxyXG4gICAgICAgIGNvbmZpZ3VyYXRvclN0YXRpc3RpY3M/OiBDb25maWd1cmF0b3JTdGF0aXN0aWNzRW52aXJvbm1lbnRcclxuICAgICk6IFByb21pc2U8c3RyaW5nPiB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuYXJ0aWNsZUNvbm5lY3Rvci5nZXRKc29uQXJ0aWNsZUZsYXRUcmVlKGdvb2RJZCwgZ29vZFR5cGUsIHF1YW50aXR5LCBleHRlcm5hbFNvdXJjZSwgc2hvd0xvYWRlciwgaW5zdGFuY2VJZCwgY29uZmlndXJhdG9yU3RhdGlzdGljcykuY2F0Y2goKG1lc3NhZ2VzOiBWYWxpZGF0aW9uTWVzc2FnZVtdKSA9PiB7XHJcbiAgICAgICAgICAgIHRoaXMuX2V2ZW50U2VydmljZS5lcnJvck1lc3NhZ2UubmV4dChtZXNzYWdlcyk7XHJcbiAgICAgICAgICAgIHJldHVybiBudWxsO1xyXG4gICAgICAgIH0pO1xyXG4gICAgfVxyXG5cclxuICAgIHB1YmxpYyBhc3luYyBnZXRHZW5lcmF0ZWRBcnREaXJlY3RseShnb29kSWQ6IG51bWJlciwgc2hvd0xvYWRlcjogYm9vbGVhbik6IFByb21pc2U8bnVtYmVyPiB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuYXJ0aWNsZUNvbm5lY3Rvci5nZXRHZW5lcmF0ZWRBcnREaXJlY3RseShnb29kSWQsIHNob3dMb2FkZXIpLmNhdGNoKChtZXNzYWdlczogVmFsaWRhdGlvbk1lc3NhZ2VbXSkgPT4ge1xyXG4gICAgICAgICAgICB0aGlzLl9ldmVudFNlcnZpY2UuZXJyb3JNZXNzYWdlLm5leHQobWVzc2FnZXMpO1xyXG4gICAgICAgICAgICByZXR1cm4gbnVsbDtcclxuICAgICAgICB9KTtcclxuICAgIH1cclxuXHJcblxyXG5cclxuICAgIHB1YmxpYyBhc3luYyBnZXRHb29kSWRGcm9tQXJ0aWNsZU5yKHNrdTogc3RyaW5nKTogUHJvbWlzZTxudW1iZXI+IHtcclxuICAgICAgICBjb25zdCByZXNwb25zZTogRGF0YVNlcnZpY2VSZXNwb25zZURhdGEgPSBhd2FpdCB0aGlzLmFydGljbGVDb25uZWN0b3IuZ2V0R29vZElkRnJvbUFydGljbGVOcihza3UpO1xyXG4gICAgICAgIGlmIChyZXNwb25zZSAmJiByZXNwb25zZS52YWxpZGF0aW9uUmVzdWx0ICYmIHJlc3BvbnNlLnZhbGlkYXRpb25SZXN1bHQuc3VjY2Vzcykge1xyXG4gICAgICAgICAgICByZXR1cm4gcmVzcG9uc2UucmVzdWx0T2JqZWN0O1xyXG4gICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgIHJldHVybiBudWxsO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBwdWJsaWMgYXN5bmMgZ2V0QXJ0aWNsZUZ1bGxPYmplY3QoZ29vZElkOiBudW1iZXIsIHNob3dMb2FkZXI6IGJvb2xlYW4gPSB0cnVlKTogUHJvbWlzZTxBcnRpY2xlRnVsbE9iamVjdD4ge1xyXG4gICAgICAgIGNvbnN0IHJlc3BvbnNlOiBEYXRhU2VydmljZVJlc3BvbnNlRGF0YSA9IGF3YWl0IHRoaXMuYXJ0aWNsZUNvbm5lY3Rvci5nZXRBcnRpY2xlRnVsbE9iamVjdChnb29kSWQsIHNob3dMb2FkZXIpO1xyXG4gICAgICAgIGlmIChyZXNwb25zZSAmJiByZXNwb25zZS52YWxpZGF0aW9uUmVzdWx0ICYmIHJlc3BvbnNlLnZhbGlkYXRpb25SZXN1bHQuc3VjY2Vzcykge1xyXG4gICAgICAgICAgICByZXR1cm4gdGhpcy5fYm9GYWN0b3J5Lm1ha2VXaXRoUmF3QmFja2VuZERhdGEoQXJ0aWNsZUZ1bGxPYmplY3QsIHJlc3BvbnNlLnJlc3VsdE9iamVjdCkgYXMgQXJ0aWNsZUZ1bGxPYmplY3Q7XHJcbiAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgcmV0dXJuIG51bGw7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIHB1YmxpYyBhc3luYyBnZXRTdXBlckFydGljbGUoaWQ6IHN0cmluZywgYnJhbmNoPzogc3RyaW5nKTogUHJvbWlzZTxTdXBlckFydGljbGU+IHtcclxuICAgICAgICBjb25zdCByZXNwb25zZTogRGF0YVNlcnZpY2VSZXNwb25zZURhdGEgPSBhd2FpdCB0aGlzLmFydGljbGVDb25uZWN0b3IuZ2V0U3VwZXJBcnRpY2xlUXVpY2tTZWwoaWQsIGJyYW5jaCk7XHJcbiAgICAgICAgaWYgKHJlc3BvbnNlICYmIHJlc3BvbnNlLnZhbGlkYXRpb25SZXN1bHQgJiYgcmVzcG9uc2UudmFsaWRhdGlvblJlc3VsdC5zdWNjZXNzKSB7XHJcbiAgICAgICAgICAgIHJldHVybiB0aGlzLl9ib0ZhY3RvcnkubWFrZVdpdGhSYXdCYWNrZW5kRGF0YShTdXBlckFydGljbGUsIHJlc3BvbnNlLnJlc3VsdE9iamVjdCkgYXMgU3VwZXJBcnRpY2xlO1xyXG4gICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgIHJldHVybiBudWxsO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBwdWJsaWMgYXN5bmMgZ2V0RG9jdW1lbnRDb250ZW50KGRvY0lkOiBudW1iZXIsIHRodW1ibmFpbDogYm9vbGVhbiA9IHRydWUpOiBQcm9taXNlPERvY3VtZW50Q29udGVudD4ge1xyXG4gICAgICAgIGNvbnN0IHJlc3BvbnNlOiBEYXRhU2VydmljZVJlc3BvbnNlRGF0YSA9IGF3YWl0IHRoaXMuYXJ0aWNsZUNvbm5lY3Rvci5nZXREb2N1bWVudENvbnRlbnQoZG9jSWQsIHRodW1ibmFpbCk7XHJcbiAgICAgICAgaWYgKHJlc3BvbnNlICYmIHJlc3BvbnNlLnZhbGlkYXRpb25SZXN1bHQgJiYgcmVzcG9uc2UudmFsaWRhdGlvblJlc3VsdC5zdWNjZXNzKSB7XHJcbiAgICAgICAgICAgIHJldHVybiB0aGlzLl9ib0ZhY3RvcnkubWFrZVdpdGhSYXdCYWNrZW5kRGF0YShEb2N1bWVudENvbnRlbnQsIHJlc3BvbnNlLnJlc3VsdE9iamVjdCkgYXMgdW5rbm93biBhcyBEb2N1bWVudENvbnRlbnQ7XHJcbiAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgcmV0dXJuIG51bGw7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIHB1YmxpYyBhc3luYyBhZGRXZWJTZXNzaW9uVHJhbnNhY3Rpb25MaW5lKHRyYW5zYWN0aW9uVXVpZDogc3RyaW5nLCBza3U6IHN0cmluZywgcXVhbnRpdHk6IG51bWJlcik6IFByb21pc2U8c3RyaW5nPiB7XHJcbiAgICAgICAgY29uc3QgcmVzcG9uc2U6IERhdGFTZXJ2aWNlUmVzcG9uc2VEYXRhID0gYXdhaXQgdGhpcy50cmFuc2FjdGlvbkNvbm5lY3Rvci5hZGRXZWJTZXNzaW9uVHJhbnNhY3Rpb25MaW5lKHRyYW5zYWN0aW9uVXVpZCwgc2t1LCBxdWFudGl0eSk7XHJcbiAgICAgICAgaWYgKHJlc3BvbnNlICYmIHJlc3BvbnNlLnZhbGlkYXRpb25SZXN1bHQgJiYgcmVzcG9uc2UudmFsaWRhdGlvblJlc3VsdC5zdWNjZXNzKSB7XHJcbiAgICAgICAgICAgIGNvbnN0IGluZm9SZXNwb25zZTogVHJhbnNhY3Rpb25JbmZvUmVzcG9uc2UgPSB0aGlzLl9ib0ZhY3RvcnkubWFrZVdpdGhSYXdCYWNrZW5kRGF0YShUcmFuc2FjdGlvbkluZm9SZXNwb25zZSwgcmVzcG9uc2UucmVzdWx0T2JqZWN0KSBhcyBUcmFuc2FjdGlvbkluZm9SZXNwb25zZTtcclxuICAgICAgICAgICAgcmV0dXJuIGluZm9SZXNwb25zZS50cmFuc2FjdGlvbkluZm8udXVpZDtcclxuICAgICAgICB9XHJcbiAgICAgICAgcmV0dXJuIFwiXCI7XHJcbiAgICB9XHJcblxyXG4gICAgcHVibGljIGFzeW5jIGdldEltYWdlRm9yQ29Eb2N1bWVudChkb2N1bWVudDogQ29Eb2N1bWVudCwgdGh1bWI6IGJvb2xlYW4pOiBQcm9taXNlPEltYWdlQ29udGVudD4ge1xyXG4gICAgICAgIGNvbnN0IHJlc3BvbnNlOiBEYXRhU2VydmljZVJlc3BvbnNlRGF0YSA9IGF3YWl0IHRoaXMubWFpbkNvbm5lY3Rvci5nZXRJbWFnZUZvckNvRG9jdW1lbnQoZG9jdW1lbnQsIHRodW1iKTtcclxuICAgICAgICBpZiAocmVzcG9uc2UgJiYgcmVzcG9uc2UudmFsaWRhdGlvblJlc3VsdCAmJiByZXNwb25zZS52YWxpZGF0aW9uUmVzdWx0LnN1Y2Nlc3MpIHtcclxuICAgICAgICAgICAgcmV0dXJuIHRoaXMuX2JvRmFjdG9yeS5tYWtlV2l0aFJhd0JhY2tlbmREYXRhKEltYWdlQ29udGVudCwgcmVzcG9uc2UucmVzdWx0T2JqZWN0KSBhcyB1bmtub3duIGFzIEltYWdlQ29udGVudDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuIl19
@@ -1,115 +0,0 @@
1
- import { __awaiter } from "tslib";
2
- import { Injectable } from '@angular/core';
3
- import { BehaviorSubject } from 'rxjs';
4
- import { Options } from '@colijnit/ioneconnector/build/model/options';
5
- import { ProductConnectorAdapterService } from './product-connector-adapter.service';
6
- import { ProductSettingsService } from './product-settings.service';
7
- // Holds all iONE backend related state and methods for a running HomeDecorator. To be used anywhere internally.
8
- export class ProductConnectorService {
9
- constructor(_adapterService, _settingsService) {
10
- this._adapterService = _adapterService;
11
- this._settingsService = _settingsService;
12
- this.controllerInitialized = new BehaviorSubject(false);
13
- this.articleLoaded = new BehaviorSubject(false);
14
- this._initializing = false;
15
- this._initialized = false;
16
- this.connectorOptions = new Options();
17
- this.subs = [];
18
- }
19
- get shouldShowLoader() {
20
- return this._shouldShowLoader;
21
- }
22
- ngOnDestroy() {
23
- this.subs.forEach(sub => sub.unsubscribe());
24
- }
25
- initConnection() {
26
- return __awaiter(this, void 0, void 0, function* () {
27
- if (this._initialized || this._initializing) {
28
- return;
29
- }
30
- this._initializing = true;
31
- try {
32
- const settings = this._settingsService.settings;
33
- if (!settings) {
34
- throw Error('Settings are not defined!');
35
- }
36
- this.connectorOptions = Object.assign(new Options(), settings);
37
- yield this._adapterService.initConnector(this.connectorOptions);
38
- this.controllerInitialized.next(true);
39
- this._initialized = true;
40
- this._initializing = false;
41
- }
42
- catch (e) {
43
- this._initializing = false;
44
- }
45
- });
46
- }
47
- getProductBundleSettings(url, upId) {
48
- return __awaiter(this, void 0, void 0, function* () {
49
- return this._adapterService.getProductBundleSettings(url, upId);
50
- });
51
- }
52
- setInstance(instanceId) {
53
- this._instanceId = instanceId;
54
- this._adapterService.setInstance(instanceId);
55
- }
56
- convertArticleFullObjectToArticleExtended(article) {
57
- return this._adapterService.convertArticleFullObjectToArticleExtended(article);
58
- }
59
- getFullArticle(sku) {
60
- return __awaiter(this, void 0, void 0, function* () {
61
- const goodId = yield this._adapterService.getGoodIdFromArticleNr(sku);
62
- if (goodId) {
63
- return this._adapterService.getArticleFullObject(goodId);
64
- }
65
- return null;
66
- });
67
- }
68
- getDocumentContent(docId, thumbnail = true) {
69
- return this._adapterService.getDocumentContent(docId, thumbnail);
70
- }
71
- getDeliveryPrognosis(goodId) {
72
- return this._adapterService.getDeliveryPrognosis(goodId);
73
- }
74
- getSelectorDeliveryDate() {
75
- return __awaiter(this, void 0, void 0, function* () {
76
- return this._adapterService.getSelectorDeliveryDate();
77
- });
78
- }
79
- getArtStockStatus(goodId) {
80
- return this._adapterService.getArtStockStatus(goodId);
81
- }
82
- getDeliveryDate2(goodId) {
83
- return this._adapterService.getDeliveryDate2(goodId);
84
- }
85
- getSuperArticle(id) {
86
- return this._adapterService.getSuperArticle(id);
87
- }
88
- getJsonArticleFlatTree(goodId, goodType, quantity, externalSource = false, showLoader = true, configuratorStatistics) {
89
- return this._adapterService.getJsonArticleFlatTree(goodId, goodType, quantity, externalSource, showLoader, this._instanceId, configuratorStatistics);
90
- }
91
- getGeneratedArtDirectly(goodId, showLoader = true) {
92
- return this._adapterService.getGeneratedArtDirectly(goodId, showLoader);
93
- }
94
- addWebSessionTransactionLine(transactionUuid, sku, quantity) {
95
- return __awaiter(this, void 0, void 0, function* () {
96
- return yield this._adapterService.addWebSessionTransactionLine(transactionUuid, sku, quantity);
97
- });
98
- }
99
- getImageForCoDocument(document, thumb = false) {
100
- return __awaiter(this, void 0, void 0, function* () {
101
- return this._adapterService.getImageForCoDocument(document, thumb);
102
- });
103
- }
104
- onShowLoaderChange(showLoader) {
105
- this._shouldShowLoader = showLoader;
106
- }
107
- }
108
- ProductConnectorService.decorators = [
109
- { type: Injectable }
110
- ];
111
- ProductConnectorService.ctorParameters = () => [
112
- { type: ProductConnectorAdapterService },
113
- { type: ProductSettingsService }
114
- ];
115
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvZHVjdC1jb25uZWN0b3Iuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9hcHAvc2VydmljZS9wcm9kdWN0LWNvbm5lY3Rvci5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUMsVUFBVSxFQUFZLE1BQU0sZUFBZSxDQUFDO0FBQ3BELE9BQU8sRUFBQyxlQUFlLEVBQWUsTUFBTSxNQUFNLENBQUM7QUFDbkQsT0FBTyxFQUFDLE9BQU8sRUFBQyxNQUFNLDZDQUE2QyxDQUFDO0FBQ3BFLE9BQU8sRUFBQyw4QkFBOEIsRUFBQyxNQUFNLHFDQUFxQyxDQUFDO0FBR25GLE9BQU8sRUFBQyxzQkFBc0IsRUFBQyxNQUFNLDRCQUE0QixDQUFDO0FBVWxFLGdIQUFnSDtBQUVoSCxNQUFNLE9BQU8sdUJBQXVCO0lBa0JsQyxZQUNVLGVBQStDLEVBQy9DLGdCQUF3QztRQUR4QyxvQkFBZSxHQUFmLGVBQWUsQ0FBZ0M7UUFDL0MscUJBQWdCLEdBQWhCLGdCQUFnQixDQUF3QjtRQWQzQywwQkFBcUIsR0FBNkIsSUFBSSxlQUFlLENBQVUsS0FBSyxDQUFDLENBQUM7UUFDdEYsa0JBQWEsR0FBNkIsSUFBSSxlQUFlLENBQVUsS0FBSyxDQUFDLENBQUM7UUFHN0Usa0JBQWEsR0FBRyxLQUFLLENBQUM7UUFDdEIsaUJBQVksR0FBRyxLQUFLLENBQUM7UUFHckIscUJBQWdCLEdBQVksSUFBSSxPQUFPLEVBQUUsQ0FBQztRQUVqQyxTQUFJLEdBQW1CLEVBQUUsQ0FBQztJQU0zQyxDQUFDO0lBcEJELElBQVcsZ0JBQWdCO1FBQ3pCLE9BQU8sSUFBSSxDQUFDLGlCQUFpQixDQUFDO0lBQ2hDLENBQUM7SUFvQkQsV0FBVztRQUNULElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsR0FBRyxDQUFDLFdBQVcsRUFBRSxDQUFDLENBQUM7SUFDOUMsQ0FBQztJ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MEQ7UUFDNUQsT0FBTyxJQUFJLENBQUMsZUFBZSxDQUFDLHNCQUFzQixDQUFDLE1BQU0sRUFBRSxRQUFRLEVBQUUsUUFBUSxFQUFFLGNBQWMsRUFBRSxVQUFVLEVBQUUsSUFBSSxDQUFDLFdBQVcsRUFBRSxzQkFBc0IsQ0FBQyxDQUFDO0lBQ3ZKLENBQUM7SUFFTSx1QkFBdUIsQ0FBQyxNQUFjLEVBQUUsYUFBc0IsSUFBSTtRQUN2RSxPQUFPLElBQUksQ0FBQyxlQUFlLENBQUMsdUJBQXVCLENBQUMsTUFBTSxFQUFFLFVBQVUsQ0FBQyxDQUFDO0lBQzFFLENBQUM7SUFFWSw0QkFBNEIsQ0FBQyxlQUF1QixFQUFFLEdBQVcsRUFBRSxRQUFnQjs7WUFDOUYsT0FBTyxNQUFNLElBQUksQ0FBQyxlQUFlLENBQUMsNEJBQTRCLENBQUMsZUFBZSxFQUFFLEdBQUcsRUFBRSxRQUFRLENBQUMsQ0FBQztRQUNqRyxDQUFDO0tBQUE7SUFFWSxxQkFBcUIsQ0FBQyxRQUFvQixFQUFFLFFBQWlCLEtBQUs7O1lBQzdFLE9BQU8sSUFBSSxDQUFDLGVBQWUsQ0FBQyxxQkFBcUIsQ0FBQyxRQUFRLEVBQUUsS0FBSyxDQUFDLENBQUM7UUFDckUsQ0FBQztLQUFBO0lBR00sa0JBQWtCLENBQUMsVUFBbUI7UUFDM0MsSUFBSSxDQUFDLGlCQUFpQixHQUFHLFVBQVUsQ0FBQztJQUN0QyxDQUFDOzs7WUF4SEYsVUFBVTs7O1lBZEgsOEJBQThCO1lBRzlCLHNCQUFzQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7SW5qZWN0YWJsZSwgT25EZXN0cm95fSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHtCZWhhdmlvclN1YmplY3QsIFN1YnNjcmlwdGlvbn0gZnJvbSAncnhqcyc7XHJcbmltcG9ydCB7T3B0aW9uc30gZnJvbSAnQGNvbGlqbml0L2lvbmVjb25uZWN0b3IvYnVpbGQvbW9kZWwvb3B0aW9ucyc7XHJcbmltcG9ydCB7UHJvZHVjdENvbm5lY3RvckFkYXB0ZXJTZXJ2aWNlfSBmcm9tICcuL3Byb2R1Y3QtY29ubmVjdG9yLWFkYXB0ZXIuc2VydmljZSc7XHJcbmltcG9ydCB7QXJ0aWNsZUZ1bGxPYmplY3R9IGZyb20gJ0Bjb2xpam5pdC9hcnRpY2xlYXBpL2J1aWxkL21vZGVsL2FydGljbGUtZnVsbC1vYmplY3QnO1xyXG5pbXBvcnQge1N1cGVyQXJ0aWNsZX0gZnJvbSAnQGNvbGlqbml0L2FydGljbGVhcGkvYnVpbGQvbW9kZWwvc3VwZXItYXJ0aWNsZSc7XHJcbmltcG9ydCB7UHJvZHVjdFNldHRpbmdzU2VydmljZX0gZnJvbSAnLi9wcm9kdWN0LXNldHRpbmdzLnNlcnZpY2UnO1xyXG5pbXBvcnQge1Byb2R1Y3RTZXR0aW5nc30gZnJvbSAnLi4vbW9kZWwvcHJvZHVjdFNldHRpbmdzJztcclxuaW1wb3J0IHtDb25maWd1cmF0b3JTdGF0aXN0aWNzRW52aXJvbm1lbnR9IGZyb20gJ0Bjb2xpam5pdC9hcnRpY2xlYXBpL2J1aWxkL21vZGVsL2NvbmZpZ3VyYXRvci1zdGF0aXN0aWNzLWVudmlyb25tZW50JztcclxuaW1wb3J0IHtEZWxpdmVyeVByb2dub3Npc30gZnJvbSAnQGNvbGlqbml0L2FydGljbGVhcGkvYnVpbGQvbW9kZWwvZGVsaXZlcnktcHJvZ25vc2lzJztcclxuaW1wb3J0IHtEb2N1bWVudENvbnRlbnR9IGZyb20gJ0Bjb2xpam5pdC9hcnRpY2xlYXBpL2J1aWxkL21vZGVsL2RvY3VtZW50LWNvbnRlbnQnO1xyXG5pbXBvcnQge0FydGljbGVMaXN0T2JqZWN0RXh0ZW5kZWR9IGZyb20gJ0Bjb2xpam5pdC9hcnRpY2xlYXBpL2J1aWxkL21vZGVsL2FydGljbGUtbGlzdC1vYmplY3QtZXh0ZW5kZWQuYm8nO1xyXG5pbXBvcnQge0NvRG9jdW1lbnR9IGZyb20gJ0Bjb2xpam5pdC9tYWluYXBpL2J1aWxkL21vZGVsL2NvLWRvY3VtZW50LmJvJztcclxuaW1wb3J0IHtJbWFnZUNvbnRlbnR9IGZyb20gJ0Bjb2xpam5pdC9tYWluYXBpL2J1aWxkL21vZGVsL2ltYWdlLWNvbnRlbnQuYm8nO1xyXG5cclxuXHJcbi8vIEhvbGRzIGFsbCBpT05FIGJhY2tlbmQgcmVsYXRlZCBzdGF0ZSBhbmQgbWV0aG9kcyBmb3IgYSBydW5uaW5nIEhvbWVEZWNvcmF0b3IuIFRvIGJlIHVzZWQgYW55d2hlcmUgaW50ZXJuYWxseS5cclxuQEluamVjdGFibGUoKVxyXG5leHBvcnQgY2xhc3MgUHJvZHVjdENvbm5lY3RvclNlcnZpY2UgaW1wbGVtZW50cyBPbkRlc3Ryb3kge1xyXG5cclxuICBwdWJsaWMgZ2V0IHNob3VsZFNob3dMb2FkZXIoKTogYm9vbGVhbiB7XHJcbiAgICByZXR1cm4gdGhpcy5fc2hvdWxkU2hvd0xvYWRlcjtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBjb250cm9sbGVySW5pdGlhbGl6ZWQ6IEJlaGF2aW9yU3ViamVjdDxib29sZWFuPiA9IG5ldyBCZWhhdmlvclN1YmplY3Q8Ym9vbGVhbj4oZmFsc2UpO1xyXG4gIHB1YmxpYyBhcnRpY2xlTG9hZGVkOiBCZWhhdmlvclN1YmplY3Q8Ym9vbGVhbj4gPSBuZXcgQmVoYXZpb3JTdWJqZWN0PGJvb2xlYW4+KGZhbHNlKTtcclxuXHJcbiAgcHJpdmF0ZSBfc2hvdWxkU2hvd0xvYWRlcjogYm9vbGVhbjtcclxuICBwcml2YXRlIF9pbml0aWFsaXppbmcgPSBmYWxzZTtcclxuICBwcml2YXRlIF9pbml0aWFsaXplZCA9IGZhbHNlO1xyXG4gIHByaXZhdGUgX2luc3RhbmNlSWQ6IHN0cmluZztcclxuXHJcbiAgcHJpdmF0ZSBjb25uZWN0b3JPcHRpb25zOiBPcHRpb25zID0gbmV3IE9wdGlvbnMoKTtcclxuXHJcbiAgcHJpdmF0ZSByZWFkb25seSBzdWJzOiBTdWJzY3JpcHRpb25bXSA9IFtdO1xyXG5cclxuICBjb25zdHJ1Y3RvcihcclxuICAgIHByaXZhdGUgX2FkYXB0ZXJTZXJ2aWNlOiBQcm9kdWN0Q29ubmVjdG9yQWRhcHRlclNlcnZpY2UsXHJcbiAgICBwcml2YXRlIF9zZXR0aW5nc1NlcnZpY2U6IFByb2R1Y3RTZXR0aW5nc1NlcnZpY2VcclxuICApIHtcclxuICB9XHJcblxyXG4gIG5nT25EZXN0cm95KCk6IHZvaWQge1xyXG4gICAgdGhpcy5zdWJzLmZvckVhY2goc3ViID0+IHN1Yi51bnN1YnNjcmliZSgpKTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBhc3luYyBpbml0Q29ubmVjdGlvbigpOiBQcm9taXNlPHZvaWQ+IHtcclxuICAgIGlmICh0aGlzLl9pbml0aWFsaXplZCB8fCB0aGlzLl9pbml0aWFsaXppbmcpIHtcclxuICAgICAgcmV0dXJuO1xyXG4gICAgfVxyXG4gICAgdGhpcy5faW5pdGlhbGl6aW5nID0gdHJ1ZTtcclxuICAgIHRyeSB7XHJcbiAgICAgIGNvbnN0IHNldHRpbmdzOiBQcm9kdWN0U2V0dGluZ3MgPSB0aGlzLl9zZXR0aW5nc1NlcnZpY2Uuc2V0dGluZ3M7XHJcbiAgICAgIGlmICghc2V0dGluZ3MpIHtcclxuICAgICAgICB0aHJvdyBFcnJvcignU2V0dGluZ3MgYXJlIG5vdCBkZWZpbmVkIScpO1xyXG4gICAgICB9XHJcbiAgICAgIHRoaXMuY29ubmVjdG9yT3B0aW9ucyA9IE9iamVjdC5hc3NpZ24obmV3IE9wdGlvbnMoKSwgc2V0dGluZ3MpO1xyXG5cclxuICAgICAgYXdhaXQgdGhpcy5fYWRhcHRlclNlcnZpY2UuaW5pdENvbm5lY3Rvcih0aGlzLmNvbm5lY3Rvck9wdGlvbnMpO1xyXG4gICAgICB0aGlzLmNvbnRyb2xsZXJJbml0aWFsaXplZC5uZXh0KHRydWUpO1xyXG4gICAgICB0aGlzLl9pbml0aWFsaXplZCA9IHRydWU7XHJcbiAgICAgIHRoaXMuX2luaXRpYWxpemluZyA9IGZhbHNlO1xyXG4gICAgfSBjYXRjaCAoZSkge1xyXG4gICAgICB0aGlzLl9pbml0aWFsaXppbmcgPSBmYWxzZTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHB1YmxpYyBhc3luYyBnZXRQcm9kdWN0QnVuZGxlU2V0dGluZ3ModXJsOiBzdHJpbmcsIHVwSWQ6IG51bWJlcik6IFByb21pc2U8c3RyaW5nPiB7XHJcbiAgICByZXR1cm4gdGhpcy5fYWRhcHRlclNlcnZpY2UuZ2V0UHJvZHVjdEJ1bmRsZVNldHRpbmdzKHVybCwgdXBJZCk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgc2V0SW5zdGFuY2UoaW5zdGFuY2VJZDogc3RyaW5nKTogdm9pZCB7XHJcbiAgICB0aGlzLl9pbnN0YW5jZUlkID0gaW5zdGFuY2VJZDtcclxuICAgIHRoaXMuX2FkYXB0ZXJTZXJ2aWNlLnNldEluc3RhbmNlKGluc3RhbmNlSWQpO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGNvbnZlcnRBcnRpY2xlRnVsbE9iamVjdFRvQXJ0aWNsZUV4dGVuZGVkKGFydGljbGU6IEFydGljbGVGdWxsT2JqZWN0KTogQXJ0aWNsZUxpc3RPYmplY3RFeHRlbmRlZCB7XHJcbiAgICByZXR1cm4gdGhpcy5fYWRhcHRlclNlcnZpY2UuY29udmVydEFydGljbGVGdWxsT2JqZWN0VG9BcnRpY2xlRXh0ZW5kZWQoYXJ0aWNsZSk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgYXN5bmMgZ2V0RnVsbEFydGljbGUoc2t1OiBzdHJpbmcpOiBQcm9taXNlPEFydGljbGVGdWxsT2JqZWN0PiB7XHJcbiAgICBjb25zdCBnb29kSWQ6IG51bWJlciA9IGF3YWl0IHRoaXMuX2FkYXB0ZXJTZXJ2aWNlLmdldEdvb2RJZEZyb21BcnRpY2xlTnIoc2t1KTtcclxuICAgIGlmIChnb29kSWQpIHtcclxuICAgICAgcmV0dXJuIHRoaXMuX2FkYXB0ZXJTZXJ2aWNlLmdldEFydGljbGVGdWxsT2JqZWN0KGdvb2RJZCk7XHJcbiAgICB9XHJcbiAgICByZXR1cm4gbnVsbDtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBnZXREb2N1bWVudENvbnRlbnQoZG9jSWQ6IG51bWJlciwgdGh1bWJuYWlsOiBib29sZWFuID0gdHJ1ZSk6IFByb21pc2U8RG9jdW1lbnRDb250ZW50PiB7XHJcbiAgICByZXR1cm4gdGhpcy5fYWRhcHRlclNlcnZpY2UuZ2V0RG9jdW1lbnRDb250ZW50KGRvY0lkLCB0aHVtYm5haWwpO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGdldERlbGl2ZXJ5UHJvZ25vc2lzKGdvb2RJZDogbnVtYmVyKTogUHJvbWlzZTxEZWxpdmVyeVByb2dub3Npcz4ge1xyXG4gICAgcmV0dXJuIHRoaXMuX2FkYXB0ZXJTZXJ2aWNlLmdldERlbGl2ZXJ5UHJvZ25vc2lzKGdvb2RJZCk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgYXN5bmMgZ2V0U2VsZWN0b3JEZWxpdmVyeURhdGUoKTogUHJvbWlzZTxEZWxpdmVyeVByb2dub3Npcz4ge1xyXG4gICAgcmV0dXJuIHRoaXMuX2FkYXB0ZXJTZXJ2aWNlLmdldFNlbGVjdG9yRGVsaXZlcnlEYXRlKCk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgZ2V0QXJ0U3RvY2tTdGF0dXMoZ29vZElkOiBudW1iZXIpOiBQcm9taXNlPG51bWJlcj4ge1xyXG4gICAgcmV0dXJuIHRoaXMuX2FkYXB0ZXJTZXJ2aWNlLmdldEFydFN0b2NrU3RhdHVzKGdvb2RJZCk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgZ2V0RGVsaXZlcnlEYXRlMihnb29kSWQ6IG51bWJlcik6IFByb21pc2U8RGVsaXZlcnlQcm9nbm9zaXM+IHtcclxuICAgIHJldHVybiB0aGlzLl9hZGFwdGVyU2VydmljZS5nZXREZWxpdmVyeURhdGUyKGdvb2RJZCk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgZ2V0U3VwZXJBcnRpY2xlKGlkOiBzdHJpbmcpOiBQcm9taXNlPFN1cGVyQXJ0aWNsZT4ge1xyXG4gICAgcmV0dXJuIHRoaXMuX2FkYXB0ZXJTZXJ2aWNlLmdldFN1cGVyQXJ0aWNsZShpZCk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgZ2V0SnNvbkFydGljbGVGbGF0VHJlZShcclxuICAgICAgZ29vZElkOiBudW1iZXIsXHJcbiAgICAgIGdvb2RUeXBlOiBzdHJpbmcsXHJcbiAgICAgIHF1YW50aXR5OiBudW1iZXIsXHJcbiAgICAgIGV4dGVybmFsU291cmNlOiBib29sZWFuID0gZmFsc2UsXHJcbiAgICAgIHNob3dMb2FkZXI6IGJvb2xlYW4gPSB0cnVlLFxyXG4gICAgICBjb25maWd1cmF0b3JTdGF0aXN0aWNzPzogQ29uZmlndXJhdG9yU3RhdGlzdGljc0Vudmlyb25tZW50KTogUHJvbWlzZTxzdHJpbmc+IHtcclxuICAgIHJldHVybiB0aGlzLl9hZGFwdGVyU2VydmljZS5nZXRKc29uQXJ0aWNsZUZsYXRUcmVlKGdvb2RJZCwgZ29vZFR5cGUsIHF1YW50aXR5LCBleHRlcm5hbFNvdXJjZSwgc2hvd0xvYWRlciwgdGhpcy5faW5zdGFuY2VJZCwgY29uZmlndXJhdG9yU3RhdGlzdGljcyk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgZ2V0R2VuZXJhdGVkQXJ0RGlyZWN0bHkoZ29vZElkOiBudW1iZXIsIHNob3dMb2FkZXI6IGJvb2xlYW4gPSB0cnVlKTogUHJvbWlzZTxudW1iZXI+IHtcclxuICAgIHJldHVybiB0aGlzLl9hZGFwdGVyU2VydmljZS5nZXRHZW5lcmF0ZWRBcnREaXJlY3RseShnb29kSWQsIHNob3dMb2FkZXIpO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGFzeW5jIGFkZFdlYlNlc3Npb25UcmFuc2FjdGlvbkxpbmUodHJhbnNhY3Rpb25VdWlkOiBzdHJpbmcsIHNrdTogc3RyaW5nLCBxdWFudGl0eTogbnVtYmVyKTogUHJvbWlzZTxzdHJpbmc+IHtcclxuICAgIHJldHVybiBhd2FpdCB0aGlzLl9hZGFwdGVyU2VydmljZS5hZGRXZWJTZXNzaW9uVHJhbnNhY3Rpb25MaW5lKHRyYW5zYWN0aW9uVXVpZCwgc2t1LCBxdWFudGl0eSk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgYXN5bmMgZ2V0SW1hZ2VGb3JDb0RvY3VtZW50KGRvY3VtZW50OiBDb0RvY3VtZW50LCB0aHVtYjogYm9vbGVhbiA9IGZhbHNlKTogUHJvbWlzZTxJbWFnZUNvbnRlbnQ+IHtcclxuICAgIHJldHVybiB0aGlzLl9hZGFwdGVyU2VydmljZS5nZXRJbWFnZUZvckNvRG9jdW1lbnQoZG9jdW1lbnQsIHRodW1iKTtcclxuICB9XHJcblxyXG5cclxuICBwdWJsaWMgb25TaG93TG9hZGVyQ2hhbmdlKHNob3dMb2FkZXI6IGJvb2xlYW4pOiB2b2lkIHtcclxuICAgIHRoaXMuX3Nob3VsZFNob3dMb2FkZXIgPSBzaG93TG9hZGVyO1xyXG4gIH1cclxufVxyXG4iXX0=
@@ -1,27 +0,0 @@
1
- import { Directive, Injectable } from '@angular/core';
2
- import { Subject } from 'rxjs';
3
- export class ProductEventService {
4
- constructor() {
5
- this.onAddToCart = new Subject();
6
- this.onAlternativeClick = new Subject();
7
- this.onAddToQuote = new Subject();
8
- this.onForceRenderImage = new Subject();
9
- this.onArticleReceived = new Subject();
10
- this.onSelectionsReceived = new Subject();
11
- this.onImageReceived = new Subject();
12
- this.onRenderStarted = new Subject();
13
- this.onRenderImageReceived = new Subject();
14
- this.onDraftRenderImageReceived = new Subject();
15
- this.onArticleInfoReceived = new Subject();
16
- this.onAnswersAvailable = new Subject();
17
- this.onReadyToRender = new Subject();
18
- this.onUpdateProductInfoTab = new Subject();
19
- this.errorMessage = new Subject();
20
- this.onGetRenderForRenderCarousel = new Subject();
21
- }
22
- }
23
- ProductEventService.decorators = [
24
- { type: Directive },
25
- { type: Injectable }
26
- ];
27
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvZHVjdC1ldmVudC5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2FwcC9zZXJ2aWNlL3Byb2R1Y3QtZXZlbnQuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsU0FBUyxFQUFFLFVBQVUsRUFBUyxNQUFNLGVBQWUsQ0FBQztBQUM1RCxPQUFPLEVBQUMsT0FBTyxFQUFDLE1BQU0sTUFBTSxDQUFDO0FBVTdCLE1BQU0sT0FBTyxtQkFBbUI7SUFGaEM7UUFJUyxnQkFBVyxHQUErRSxJQUFJLE9BQU8sRUFBcUUsQ0FBQztRQUMzSyx1QkFBa0IsR0FBK0IsSUFBSSxPQUFPLEVBQXFCLENBQUM7UUFDbEYsaUJBQVksR0FBb0IsSUFBSSxPQUFPLEVBQVUsQ0FBQztRQUN0RCx1QkFBa0IsR0FBa0IsSUFBSSxPQUFPLEVBQVEsQ0FBQztRQUN4RCxzQkFBaUIsR0FBNkIsSUFBSSxPQUFPLEVBQW1CLENBQUM7UUFDN0UseUJBQW9CLEdBQXlCLElBQUksT0FBTyxFQUFlLENBQUM7UUFDeEUsb0JBQWUsR0FBb0IsSUFBSSxPQUFPLEVBQVUsQ0FBQztRQUN6RCxvQkFBZSxHQUFrQixJQUFJLE9BQU8sRUFBUSxDQUFDO1FBQ3JELDBCQUFxQixHQUFvQixJQUFJLE9BQU8sRUFBVSxDQUFDO1FBQy9ELCtCQUEwQixHQUF5QixJQUFJLE9BQU8sRUFBZSxDQUFDO1FBQzlFLDBCQUFxQixHQUFvQixJQUFJLE9BQU8sRUFBVSxDQUFDO1FBQy9ELHVCQUFrQixHQUFxQixJQUFJLE9BQU8sRUFBVyxDQUFDO1FBQzlELG9CQUFlLEdBQXFCLElBQUksT0FBTyxFQUFXLENBQUM7UUFDM0QsMkJBQXNCLEdBQW9CLElBQUksT0FBTyxFQUFVLENBQUM7UUFDaEUsaUJBQVksR0FBaUMsSUFBSSxPQUFPLEVBQXVCLENBQUM7UUFDaEYsaUNBQTRCLEdBQWlCLElBQUksT0FBTyxFQUFPLENBQUM7SUFDekUsQ0FBQzs7O1lBcEJBLFNBQVM7WUFDVCxVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtEaXJlY3RpdmUsIEluamVjdGFibGUsIE91dHB1dH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7U3ViamVjdH0gZnJvbSAncnhqcyc7XHJcbmltcG9ydCB7QXJ0aWNsZUxpc3RPYmplY3R9IGZyb20gJ0Bjb2xpam5pdC9hcnRpY2xlYXBpL2J1aWxkL21vZGVsL2FydGljbGUtbGlzdC1vYmplY3QnO1xyXG5pbXBvcnQge1NlbGVjdGlvbn0gZnJvbSAnQGNvbGlqbml0L2FydGljbGVhcGkvYnVpbGQvbW9kZWwvc2VsZWN0aW9uJztcclxuaW1wb3J0IHtBcnRpY2xlUXVpY2tTZWx9IGZyb20gJ0Bjb2xpam5pdC9hcnRpY2xlYXBpL2J1aWxkL21vZGVsL2FydGljbGUtcXVpY2stc2VsJztcclxuaW1wb3J0IHtBcnRpY2xlRXh0ZW5kZWR9IGZyb20gJ0Bjb2xpam5pdC9hcnRpY2xlYXBpL2J1aWxkL21vZGVsL2FydGljbGUtZXh0ZW5kZWQuYm8nO1xyXG5pbXBvcnQge0FydGljbGVMaXN0T2JqZWN0RXh0ZW5kZWR9IGZyb20gJ0Bjb2xpam5pdC9hcnRpY2xlYXBpL2J1aWxkL21vZGVsL2FydGljbGUtbGlzdC1vYmplY3QtZXh0ZW5kZWQuYm8nO1xyXG5pbXBvcnQge1ZhbGlkYXRpb25NZXNzYWdlfSBmcm9tICdAY29saWpuaXQvaW9uZWNvbm5lY3Rvci9idWlsZC9tb2RlbC92YWxpZGF0aW9uLW1lc3NhZ2UnO1xyXG5cclxuQERpcmVjdGl2ZSgpXHJcbkBJbmplY3RhYmxlKClcclxuZXhwb3J0IGNsYXNzIFByb2R1Y3RFdmVudFNlcnZpY2Uge1xyXG5cclxuICBwdWJsaWMgb25BZGRUb0NhcnQ6IFN1YmplY3Q8eyBhcnRpY2xlOiBzdHJpbmcgfCBBcnRpY2xlTGlzdE9iamVjdEV4dGVuZGVkLCBxdWFudGl0eTogbnVtYmVyIH0+ID0gbmV3IFN1YmplY3Q8eyBhcnRpY2xlOiBzdHJpbmcgfCBBcnRpY2xlTGlzdE9iamVjdEV4dGVuZGVkLCBxdWFudGl0eTogbnVtYmVyIH0+KCk7XHJcbiAgcHVibGljIG9uQWx0ZXJuYXRpdmVDbGljazogU3ViamVjdDxBcnRpY2xlTGlzdE9iamVjdD4gPSBuZXcgU3ViamVjdDxBcnRpY2xlTGlzdE9iamVjdD4oKTtcclxuICBwdWJsaWMgb25BZGRUb1F1b3RlOiBTdWJqZWN0PHN0cmluZz4gPSBuZXcgU3ViamVjdDxzdHJpbmc+KCk7XHJcbiAgcHVibGljIG9uRm9yY2VSZW5kZXJJbWFnZTogU3ViamVjdDx2b2lkPiA9IG5ldyBTdWJqZWN0PHZvaWQ+KCk7XHJcbiAgcHVibGljIG9uQXJ0aWNsZVJlY2VpdmVkOiBTdWJqZWN0PEFydGljbGVRdWlja1NlbD4gPSBuZXcgU3ViamVjdDxBcnRpY2xlUXVpY2tTZWw+KCk7XHJcbiAgcHVibGljIG9uU2VsZWN0aW9uc1JlY2VpdmVkOiBTdWJqZWN0PFNlbGVjdGlvbltdPiA9IG5ldyBTdWJqZWN0PFNlbGVjdGlvbltdPigpO1xyXG4gIHB1YmxpYyBvbkltYWdlUmVjZWl2ZWQ6IFN1YmplY3Q8c3RyaW5nPiA9IG5ldyBTdWJqZWN0PHN0cmluZz4oKTtcclxuICBwdWJsaWMgb25SZW5kZXJTdGFydGVkOiBTdWJqZWN0PHZvaWQ+ID0gbmV3IFN1YmplY3Q8dm9pZD4oKTtcclxuICBwdWJsaWMgb25SZW5kZXJJbWFnZVJlY2VpdmVkOiBTdWJqZWN0PHN0cmluZz4gPSBuZXcgU3ViamVjdDxzdHJpbmc+KCk7XHJcbiAgcHVibGljIG9uRHJhZnRSZW5kZXJJbWFnZVJlY2VpdmVkOiBTdWJqZWN0PEN1c3RvbUV2ZW50PiA9IG5ldyBTdWJqZWN0PEN1c3RvbUV2ZW50PigpO1xyXG4gIHB1YmxpYyBvbkFydGljbGVJbmZvUmVjZWl2ZWQ6IFN1YmplY3Q8c3RyaW5nPiA9IG5ldyBTdWJqZWN0PHN0cmluZz4oKTtcclxuICBwdWJsaWMgb25BbnN3ZXJzQXZhaWxhYmxlOiBTdWJqZWN0PGJvb2xlYW4+ID0gbmV3IFN1YmplY3Q8Ym9vbGVhbj4oKTtcclxuICBwdWJsaWMgb25SZWFkeVRvUmVuZGVyOiBTdWJqZWN0PGJvb2xlYW4+ID0gbmV3IFN1YmplY3Q8Ym9vbGVhbj4oKTtcclxuICBwdWJsaWMgb25VcGRhdGVQcm9kdWN0SW5mb1RhYjogU3ViamVjdDxudW1iZXI+ID0gbmV3IFN1YmplY3Q8bnVtYmVyPigpO1xyXG4gIHB1YmxpYyBlcnJvck1lc3NhZ2U6IFN1YmplY3Q8VmFsaWRhdGlvbk1lc3NhZ2VbXT4gPSBuZXcgU3ViamVjdDxWYWxpZGF0aW9uTWVzc2FnZVtdPigpO1xyXG4gIHB1YmxpYyBvbkdldFJlbmRlckZvclJlbmRlckNhcm91c2VsOiBTdWJqZWN0PGFueT4gPSBuZXcgU3ViamVjdDxhbnk+KCk7XHJcbn1cclxuIl19
@@ -1,68 +0,0 @@
1
- import { Inject, Injectable, PLATFORM_ID } from '@angular/core';
2
- import { isPlatformBrowser } from '@angular/common';
3
- import * as i0 from "@angular/core";
4
- export class ProductScriptLoaderService {
5
- constructor(platformId) {
6
- this.platformId = platformId;
7
- this._scriptsOrLinksElements = [];
8
- }
9
- loadScript(url, renderer) {
10
- return new Promise((resolve, reject) => {
11
- if (!isPlatformBrowser(this.platformId)) {
12
- reject('Not in browser environment');
13
- return;
14
- }
15
- const existingScript = document.getElementById(url);
16
- if (existingScript) {
17
- resolve(); // Script already loaded
18
- return;
19
- }
20
- const script = renderer.createElement('script');
21
- script.id = url;
22
- script.src = url;
23
- script.type = 'text/javascript';
24
- script.async = true;
25
- script.onload = () => resolve();
26
- script.onerror = (error) => reject(`Error loading script: ${url}`);
27
- renderer.appendChild(document.head, script);
28
- this._scriptsOrLinksElements.push(script);
29
- });
30
- }
31
- unloadScripts(renderer) {
32
- for (let i = this._scriptsOrLinksElements.length - 1; i >= 0; i--) {
33
- renderer.removeChild(document.head, this._scriptsOrLinksElements[i]);
34
- this._scriptsOrLinksElements.pop();
35
- }
36
- }
37
- addStyleSheet(url, renderer) {
38
- return new Promise((resolve, reject) => {
39
- if (!isPlatformBrowser(this.platformId)) {
40
- reject('Not in browser environment');
41
- return;
42
- }
43
- const existingStyleSheet = document.getElementById(url);
44
- if (existingStyleSheet) {
45
- resolve(); // Script already loaded
46
- return;
47
- }
48
- const link = renderer.createElement('link');
49
- link.id = url;
50
- link.href = url;
51
- link.rel = 'stylesheet';
52
- link.onload = () => resolve();
53
- link.onerror = (error) => reject(`Error loading styleSheet: ${url}`);
54
- renderer.appendChild(document.head, link);
55
- this._scriptsOrLinksElements.push(link);
56
- });
57
- }
58
- }
59
- ProductScriptLoaderService.ɵprov = i0.ɵɵdefineInjectable({ factory: function ProductScriptLoaderService_Factory() { return new ProductScriptLoaderService(i0.ɵɵinject(i0.PLATFORM_ID)); }, token: ProductScriptLoaderService, providedIn: "root" });
60
- ProductScriptLoaderService.decorators = [
61
- { type: Injectable, args: [{
62
- providedIn: 'root'
63
- },] }
64
- ];
65
- ProductScriptLoaderService.ctorParameters = () => [
66
- { type: undefined, decorators: [{ type: Inject, args: [PLATFORM_ID,] }] }
67
- ];
68
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvZHVjdC1zY3JpcHQtbG9hZGVyLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvYXBwL3NlcnZpY2UvcHJvZHVjdC1zY3JpcHQtbG9hZGVyLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLE1BQU0sRUFBRSxVQUFVLEVBQUUsV0FBVyxFQUFZLE1BQU0sZUFBZSxDQUFDO0FBQ3pFLE9BQU8sRUFBQyxpQkFBaUIsRUFBQyxNQUFNLGlCQUFpQixDQUFDOztBQUtsRCxNQUFNLE9BQU8sMEJBQTBCO0lBSXJDLFlBRVUsVUFBZTtRQUFmLGVBQVUsR0FBVixVQUFVLENBQUs7UUFKakIsNEJBQXVCLEdBQVUsRUFBRSxDQUFDO0lBTzVDLENBQUM7SUFFTSxVQUFVLENBQUMsR0FBVyxFQUFFLFFBQW1CO1FBQ2hELE9BQU8sSUFBSSxPQUFPLENBQUMsQ0FBQyxPQUFPLEVBQUUsTUFBTSxFQUFFLEVBQUU7WUFDckMsSUFBSSxDQUFDLGlCQUFpQixDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsRUFBRTtnQkFDdkMsTUFBTSxDQUFDLDRCQUE0QixDQUFDLENBQUM7Z0JBQ3JDLE9BQU87YUFDUjtZQUVELE1BQU0sY0FBYyxHQUFHLFFBQVEsQ0FBQyxjQUFjLENBQUMsR0FBRyxDQUFDLENBQUM7WUFDcEQsSUFBSSxjQUFjLEVBQUU7Z0JBQ2xCLE9BQU8sRUFBRSxDQUFDLENBQUMsd0JBQXdCO2dCQUNuQyxPQUFPO2FBQ1I7WUFFRCxNQUFNLE1BQU0sR0FBRyxRQUFRLENBQUMsYUFBYSxDQUFDLFFBQVEsQ0FBQyxDQUFDO1lBRWhELE1BQU0sQ0FBQyxFQUFFLEdBQUcsR0FBRyxDQUFDO1lBQ2hCLE1BQU0sQ0FBQyxHQUFHLEdBQUcsR0FBRyxDQUFDO1lBQ2pCLE1BQU0sQ0FBQyxJQUFJLEdBQUcsaUJBQWlCLENBQUM7WUFDaEMsTUFBTSxDQUFDLEtBQUssR0FBRyxJQUFJLENBQUM7WUFFcEIsTUFBTSxDQUFDLE1BQU0sR0FBRyxHQUFHLEVBQUUsQ0FBQyxPQUFPLEVBQUUsQ0FBQztZQUNoQyxNQUFNLENBQUMsT0FBTyxHQUFHLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQyxNQUFNLENBQUMseUJBQXlCLEdBQUcsRUFBRSxDQUFDLENBQUM7WUFFbkUsUUFBUSxDQUFDLFdBQVcsQ0FBQyxRQUFRLENBQUMsSUFBSSxFQUFFLE1BQU0sQ0FBQyxDQUFDO1lBQzVDLElBQUksQ0FBQyx1QkFBdUIsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUM7UUFDNUMsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDO0lBRU0sYUFBYSxDQUFDLFFBQW1CO1FBQ3RDLEtBQUssSUFBSSxDQUFDLEdBQUcsSUFBSSxDQUFDLHVCQUF1QixDQUFDLE1BQU0sR0FBRyxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLEVBQUUsRUFBRTtZQUNqRSxRQUFRLENBQUMsV0FBVyxDQUFDLFFBQVEsQ0FBQyxJQUFJLEVBQUUsSUFBSSxDQUFDLHVCQUF1QixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7WUFDckUsSUFBSSxDQUFDLHVCQUF1QixDQUFDLEdBQUcsRUFBRSxDQUFDO1NBQ3BDO0lBQ0gsQ0FBQztJQUVNLGFBQWEsQ0FBQyxHQUFXLEVBQUUsUUFBbUI7UUFDbkQsT0FBTyxJQUFJLE9BQU8sQ0FBQyxDQUFDLE9BQU8sRUFBRSxNQUFNLEVBQUUsRUFBRTtZQUNyQyxJQUFJLENBQUMsaUJBQWlCLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxFQUFFO2dCQUN2QyxNQUFNLENBQUMsNEJBQTRCLENBQUMsQ0FBQztnQkFDckMsT0FBTzthQUNSO1lBRUQsTUFBTSxrQkFBa0IsR0FBRyxRQUFRLENBQUMsY0FBYyxDQUFDLEdBQUcsQ0FBQyxDQUFDO1lBQ3hELElBQUksa0JBQWtCLEVBQUU7Z0JBQ3RCLE9BQU8sRUFBRSxDQUFDLENBQUMsd0JBQXdCO2dCQUNuQyxPQUFPO2FBQ1I7WUFFRCxNQUFNLElBQUksR0FBRyxRQUFRLENBQUMsYUFBYSxDQUFDLE1BQU0sQ0FBQyxDQUFDO1lBQzVDLElBQUksQ0FBQyxFQUFFLEdBQUcsR0FBRyxDQUFDO1lBQ2QsSUFBSSxDQUFDLElBQUksR0FBRyxHQUFHLENBQUM7WUFDaEIsSUFBSSxDQUFDLEdBQUcsR0FBRyxZQUFZLENBQUM7WUFFeEIsSUFBSSxDQUFDLE1BQU0sR0FBRyxHQUFHLEVBQUUsQ0FBQyxPQUFPLEVBQUUsQ0FBQztZQUM5QixJQUFJLENBQUMsT0FBTyxHQUFHLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQyxNQUFNLENBQUMsNkJBQTZCLEdBQUcsRUFBRSxDQUFDLENBQUM7WUFFckUsUUFBUSxDQUFDLFdBQVcsQ0FBQyxRQUFRLENBQUMsSUFBSSxFQUFFLElBQUksQ0FBQyxDQUFDO1lBQzFDLElBQUksQ0FBQyx1QkFBdUIsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDMUMsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDOzs7O1lBekVGLFVBQVUsU0FBQztnQkFDVixVQUFVLEVBQUUsTUFBTTthQUNuQjs7OzRDQU1JLE1BQU0sU0FBQyxXQUFXIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtJbmplY3QsIEluamVjdGFibGUsIFBMQVRGT1JNX0lELCBSZW5kZXJlcjJ9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQge2lzUGxhdGZvcm1Ccm93c2VyfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xyXG5cclxuQEluamVjdGFibGUoe1xyXG4gIHByb3ZpZGVkSW46ICdyb290J1xyXG59KVxyXG5leHBvcnQgY2xhc3MgUHJvZHVjdFNjcmlwdExvYWRlclNlcnZpY2Uge1xyXG5cclxuICBwcml2YXRlIF9zY3JpcHRzT3JMaW5rc0VsZW1lbnRzOiBhbnlbXSA9IFtdO1xyXG5cclxuICBjb25zdHJ1Y3RvcihcclxuICAgIEBJbmplY3QoUExBVEZPUk1fSUQpXHJcbiAgICBwcml2YXRlIHBsYXRmb3JtSWQ6IGFueVxyXG4gICkge1xyXG5cclxuICB9XHJcblxyXG4gIHB1YmxpYyBsb2FkU2NyaXB0KHVybDogc3RyaW5nLCByZW5kZXJlcjogUmVuZGVyZXIyKTogUHJvbWlzZTx2b2lkPiB7XHJcbiAgICByZXR1cm4gbmV3IFByb21pc2UoKHJlc29sdmUsIHJlamVjdCkgPT4ge1xyXG4gICAgICBpZiAoIWlzUGxhdGZvcm1Ccm93c2VyKHRoaXMucGxhdGZvcm1JZCkpIHtcclxuICAgICAgICByZWplY3QoJ05vdCBpbiBicm93c2VyIGVudmlyb25tZW50Jyk7XHJcbiAgICAgICAgcmV0dXJuO1xyXG4gICAgICB9XHJcblxyXG4gICAgICBjb25zdCBleGlzdGluZ1NjcmlwdCA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKHVybCk7XHJcbiAgICAgIGlmIChleGlzdGluZ1NjcmlwdCkge1xyXG4gICAgICAgIHJlc29sdmUoKTsgLy8gU2NyaXB0IGFscmVhZHkgbG9hZGVkXHJcbiAgICAgICAgcmV0dXJuO1xyXG4gICAgICB9XHJcblxyXG4gICAgICBjb25zdCBzY3JpcHQgPSByZW5kZXJlci5jcmVhdGVFbGVtZW50KCdzY3JpcHQnKTtcclxuXHJcbiAgICAgIHNjcmlwdC5pZCA9IHVybDtcclxuICAgICAgc2NyaXB0LnNyYyA9IHVybDtcclxuICAgICAgc2NyaXB0LnR5cGUgPSAndGV4dC9qYXZhc2NyaXB0JztcclxuICAgICAgc2NyaXB0LmFzeW5jID0gdHJ1ZTtcclxuXHJcbiAgICAgIHNjcmlwdC5vbmxvYWQgPSAoKSA9PiByZXNvbHZlKCk7XHJcbiAgICAgIHNjcmlwdC5vbmVycm9yID0gKGVycm9yKSA9PiByZWplY3QoYEVycm9yIGxvYWRpbmcgc2NyaXB0OiAke3VybH1gKTtcclxuXHJcbiAgICAgIHJlbmRlcmVyLmFwcGVuZENoaWxkKGRvY3VtZW50LmhlYWQsIHNjcmlwdCk7XHJcbiAgICAgIHRoaXMuX3NjcmlwdHNPckxpbmtzRWxlbWVudHMucHVzaChzY3JpcHQpO1xyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgdW5sb2FkU2NyaXB0cyhyZW5kZXJlcjogUmVuZGVyZXIyKTogdm9pZCB7XHJcbiAgICBmb3IgKGxldCBpID0gdGhpcy5fc2NyaXB0c09yTGlua3NFbGVtZW50cy5sZW5ndGggLSAxOyBpID49IDA7IGktLSkge1xyXG4gICAgICByZW5kZXJlci5yZW1vdmVDaGlsZChkb2N1bWVudC5oZWFkLCB0aGlzLl9zY3JpcHRzT3JMaW5rc0VsZW1lbnRzW2ldKTtcclxuICAgICAgdGhpcy5fc2NyaXB0c09yTGlua3NFbGVtZW50cy5wb3AoKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHB1YmxpYyBhZGRTdHlsZVNoZWV0KHVybDogc3RyaW5nLCByZW5kZXJlcjogUmVuZGVyZXIyKTogUHJvbWlzZTx2b2lkPiB7XHJcbiAgICByZXR1cm4gbmV3IFByb21pc2UoKHJlc29sdmUsIHJlamVjdCkgPT4ge1xyXG4gICAgICBpZiAoIWlzUGxhdGZvcm1Ccm93c2VyKHRoaXMucGxhdGZvcm1JZCkpIHtcclxuICAgICAgICByZWplY3QoJ05vdCBpbiBicm93c2VyIGVudmlyb25tZW50Jyk7XHJcbiAgICAgICAgcmV0dXJuO1xyXG4gICAgICB9XHJcblxyXG4gICAgICBjb25zdCBleGlzdGluZ1N0eWxlU2hlZXQgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCh1cmwpO1xyXG4gICAgICBpZiAoZXhpc3RpbmdTdHlsZVNoZWV0KSB7XHJcbiAgICAgICAgcmVzb2x2ZSgpOyAvLyBTY3JpcHQgYWxyZWFkeSBsb2FkZWRcclxuICAgICAgICByZXR1cm47XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIGNvbnN0IGxpbmsgPSByZW5kZXJlci5jcmVhdGVFbGVtZW50KCdsaW5rJyk7XHJcbiAgICAgIGxpbmsuaWQgPSB1cmw7XHJcbiAgICAgIGxpbmsuaHJlZiA9IHVybDtcclxuICAgICAgbGluay5yZWwgPSAnc3R5bGVzaGVldCc7XHJcblxyXG4gICAgICBsaW5rLm9ubG9hZCA9ICgpID0+IHJlc29sdmUoKTtcclxuICAgICAgbGluay5vbmVycm9yID0gKGVycm9yKSA9PiByZWplY3QoYEVycm9yIGxvYWRpbmcgc3R5bGVTaGVldDogJHt1cmx9YCk7XHJcblxyXG4gICAgICByZW5kZXJlci5hcHBlbmRDaGlsZChkb2N1bWVudC5oZWFkLCBsaW5rKTtcclxuICAgICAgdGhpcy5fc2NyaXB0c09yTGlua3NFbGVtZW50cy5wdXNoKGxpbmspO1xyXG4gICAgfSk7XHJcbiAgfVxyXG59XHJcbiJdfQ==
@@ -1,86 +0,0 @@
1
- import { __awaiter } from "tslib";
2
- import { Injectable } from '@angular/core';
3
- import { BehaviorSubject } from 'rxjs';
4
- import { JsonUtilsService } from '../utils/json-utils.service';
5
- import { DictionaryService } from './dictionary.service';
6
- import { ProductSettings } from '../model/productSettings';
7
- import { SettingsOptions } from '../model/settings-options';
8
- export class ProductSettingsService {
9
- constructor(_jsonUtilsService, _dictionaryService) {
10
- this._jsonUtilsService = _jsonUtilsService;
11
- this._dictionaryService = _dictionaryService;
12
- this.settingsLoaded = new BehaviorSubject(false);
13
- }
14
- set settings(value) {
15
- this._settings = value;
16
- }
17
- get settings() {
18
- return this._settings;
19
- }
20
- initializeSettings(finish = true) {
21
- return __awaiter(this, void 0, void 0, function* () {
22
- // see if there's a json file for application settings
23
- if (typeof settings === 'undefined') {
24
- const jsonSettings = yield this._jsonUtilsService.readJsonFile('product-settings.json');
25
- if (jsonSettings) {
26
- this.settings = Object.assign(new ProductSettings(), jsonSettings);
27
- this.settings.options = Object.assign(new SettingsOptions(), this.settings.options);
28
- if (finish) {
29
- this.settingsFinished();
30
- }
31
- }
32
- }
33
- else {
34
- this.settings = Object.assign(new ProductSettings(), settings);
35
- this.settings.options = Object.assign(new SettingsOptions(), this.settings.options);
36
- if (finish) {
37
- this.settingsFinished();
38
- }
39
- }
40
- });
41
- }
42
- createSettingsFromObject(obj) {
43
- return __awaiter(this, void 0, void 0, function* () {
44
- if (!this.settings) {
45
- this.settings = new ProductSettings();
46
- }
47
- const ownOptions = Object.assign({}, this.settings.options);
48
- const ownRenderParameters = Object.assign({}, this.settings.renderParameters);
49
- this.settings = Object.assign({}, this.settings, obj);
50
- if (obj.renderParameters) {
51
- this.settings.renderParameters = Object.assign({}, ownRenderParameters, obj.renderParameters);
52
- }
53
- if (obj.options) {
54
- this.settings.options = Object.assign({}, ownOptions, obj.options);
55
- }
56
- if (obj.hasOwnProperty('assetPath')) {
57
- this.settings.assetPath = obj['assetPath'];
58
- if (this.settings.assetPath[this.settings.assetPath.length - 1] !== '/') {
59
- this.settings.assetPath += '/';
60
- }
61
- this.settings.threeDAssetPath = this.settings.assetPath;
62
- }
63
- if (obj.hasOwnProperty('threeDAssetPath')) {
64
- this.settings.threeDAssetPath = obj['threeDAssetPath'];
65
- if (this.settings.threeDAssetPath[this.settings.threeDAssetPath.length - 1] !== '/') {
66
- this.settings.threeDAssetPath += '/';
67
- }
68
- }
69
- this.settingsFinished();
70
- });
71
- }
72
- settingsFinished() {
73
- return __awaiter(this, void 0, void 0, function* () {
74
- yield this._dictionaryService.setDictionary(this.settings.languageCode);
75
- this.settingsLoaded.next(true);
76
- });
77
- }
78
- }
79
- ProductSettingsService.decorators = [
80
- { type: Injectable }
81
- ];
82
- ProductSettingsService.ctorParameters = () => [
83
- { type: JsonUtilsService },
84
- { type: DictionaryService }
85
- ];
86
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvZHVjdC1zZXR0aW5ncy5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2FwcC9zZXJ2aWNlL3Byb2R1Y3Qtc2V0dGluZ3Muc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzQyxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQ3ZDLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBQy9ELE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQ3pELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUMzRCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFLNUQsTUFBTSxPQUFPLHNCQUFzQjtJQWNqQyxZQUNVLGlCQUFtQyxFQUNuQyxrQkFBcUM7UUFEckMsc0JBQWlCLEdBQWpCLGlCQUFpQixDQUFrQjtRQUNuQyx1QkFBa0IsR0FBbEIsa0JBQWtCLENBQW1CO1FBTnhDLG1CQUFjLEdBQTZCLElBQUksZUFBZSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBUTdFLENBQUM7SUFoQkQsSUFBVyxRQUFRLENBQUMsS0FBc0I7UUFDeEMsSUFBSSxDQUFDLFNBQVMsR0FBRyxLQUFLLENBQUM7SUFDekIsQ0FBQztJQUVELElBQVcsUUFBUTtRQUNqQixPQUFPLElBQUksQ0FBQyxTQUFTLENBQUM7SUFDeEIsQ0FBQztJQVlZLGtCQUFrQixDQUFDLFNBQWtCLElBQUk7O1lBQ3BELHNEQUFzRDtZQUN0RCxJQUFJLE9BQU8sUUFBUSxLQUFLLFdBQVcsRUFBRTtnQkFDbkMsTUFBTSxZQUFZLEdBQUcsTUFBTSxJQUFJLENBQUMsaUJBQWlCLENBQUMsWUFBWSxDQUFDLHVCQUF1QixDQUFDLENBQUM7Z0JBQ3hGLElBQUksWUFBWSxFQUFFO29CQUNoQixJQUFJLENBQUMsUUFBUSxHQUFHLE1BQU0sQ0FBQyxNQUFNLENBQUMsSUFBSSxlQUFlLEVBQUUsRUFBRSxZQUFZLENBQUMsQ0FBQztvQkFDbkUsSUFBSSxDQUFDLFFBQVEsQ0FBQyxPQUFPLEdBQUcsTUFBTSxDQUFDLE1BQU0sQ0FBQyxJQUFJLGVBQWUsRUFBRSxFQUFFLElBQUksQ0FBQyxRQUFRLENBQUMsT0FBTyxDQUFDLENBQUM7b0JBQ3BGLElBQUksTUFBTSxFQUFFO3dCQUNWLElBQUksQ0FBQyxnQkFBZ0IsRUFBRSxDQUFDO3FCQUN6QjtpQkFDRjthQUNGO2lCQUFNO2dCQUNMLElBQUksQ0FBQyxRQUFRLEdBQUcsTUFBTSxDQUFDLE1BQU0sQ0FBQyxJQUFJLGVBQWUsRUFBRSxFQUFFLFFBQVEsQ0FBQyxDQUFDO2dCQUMvRCxJQUFJLENBQUMsUUFBUSxDQUFDLE9BQU8sR0FBRyxNQUFNLENBQUMsTUFBTSxDQUFDLElBQUksZUFBZSxFQUFFLEVBQUUsSUFBSSxDQUFDLFFBQVEsQ0FBQyxPQUFPLENBQUMsQ0FBQztnQkFDcEYsSUFBSSxNQUFNLEVBQUU7b0JBQ1YsSUFBSSxDQUFDLGdCQUFnQixFQUFFLENBQUM7aUJBQ3pCO2FBQ0Y7UUFDSCxDQUFDO0tBQUE7SUFFWSx3QkFBd0IsQ0FBQyxHQUFROztZQUM1QyxJQUFJLENBQUMsSUFBSSxDQUFDLFFBQVEsRUFBRTtnQkFDbEIsSUFBSSxDQUFDLFFBQVEsR0FBRyxJQUFJLGVBQWUsRUFBRSxDQUFDO2FBQ3ZDO1lBQ0QsTUFBTSxVQUFVLEdBQUcsTUFBTSxDQUFDLE1BQU0sQ0FBQyxFQUFFLEVBQUUsSUFBSSxDQUFDLFFBQVEsQ0FBQyxPQUFPLENBQUMsQ0FBQztZQUM1RCxNQUFNLG1CQUFtQixHQUFHLE1BQU0sQ0FBQyxNQUFNLENBQUMsRUFBRSxFQUFFLElBQUksQ0FBQyxRQUFRLENBQUMsZ0JBQWdCLENBQUMsQ0FBQztZQUM5RSxJQUFJLENBQUMsUUFBUSxHQUFHLE1BQU0sQ0FBQyxNQUFNLENBQUMsRUFBRSxFQUFFLElBQUksQ0FBQyxRQUFRLEVBQUUsR0FBRyxDQUFDLENBQUM7WUFDdEQsSUFBSSxHQUFHLENBQUMsZ0JBQWdCLEVBQUU7Z0JBQ3hCLElBQUksQ0FBQyxRQUFRLENBQUMsZ0JBQWdCLEdBQUcsTUFBTSxDQUFDLE1BQU0sQ0FBQyxFQUFFLEVBQUUsbUJBQW1CLEVBQUUsR0FBRyxDQUFDLGdCQUFnQixDQUFDLENBQUM7YUFDL0Y7WUFDRCxJQUFJLEdBQUcsQ0FBQyxPQUFPLEVBQUU7Z0JBQ2YsSUFBSSxDQUFDLFFBQVEsQ0FBQyxPQUFPLEdBQUcsTUFBTSxDQUFDLE1BQU0sQ0FBQyxFQUFFLEVBQUUsVUFBVSxFQUFFLEdBQUcsQ0FBQyxPQUFPLENBQUMsQ0FBQzthQUNwRTtZQUNELElBQUksR0FBRyxDQUFDLGNBQWMsQ0FBQyxXQUFXLENBQUMsRUFBRTtnQkFDbkMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxTQUFTLEdBQUcsR0FBRyxDQUFDLFdBQVcsQ0FBQyxDQUFDO2dCQUMzQyxJQUFJLElBQUksQ0FBQyxRQUFRLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsU0FBUyxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUMsS0FBSyxHQUFHLEVBQUU7b0JBQ3ZFLElBQUksQ0FBQyxRQUFRLENBQUMsU0FBUyxJQUFJLEdBQUcsQ0FBQztpQkFDaEM7Z0JBQ0QsSUFBSSxDQUFDLFFBQVEsQ0FBQyxlQUFlLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxTQUFTLENBQUM7YUFDekQ7WUFDRCxJQUFJLEdBQUcsQ0FBQyxjQUFjLENBQUMsaUJBQWlCLENBQUMsRUFBRTtnQkFDekMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxlQUFlLEdBQUcsR0FBRyxDQUFDLGlCQUFpQixDQUFDLENBQUM7Z0JBQ3ZELElBQUksSUFBSSxDQUFDLFFBQVEsQ0FBQyxlQUFlLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxlQUFlLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQyxLQUFLLEdBQUcsRUFBRTtvQkFDbkYsSUFBSSxDQUFDLFFBQVEsQ0FBQyxlQUFlLElBQUksR0FBRyxDQUFDO2lCQUN0QzthQUNGO1lBQ0QsSUFBSSxDQUFDLGdCQUFnQixFQUFFLENBQUM7UUFDMUIsQ0FBQztLQUFBO0lBRVksZ0JBQWdCOztZQUMzQixNQUFNLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxZQUFZLENBQUMsQ0FBQztZQUN4RSxJQUFJLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUNqQyxDQUFDO0tBQUE7OztZQXpFRixVQUFVOzs7WUFQRixnQkFBZ0I7WUFDaEIsaUJBQWlCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBCZWhhdmlvclN1YmplY3QgfSBmcm9tICdyeGpzJztcclxuaW1wb3J0IHsgSnNvblV0aWxzU2VydmljZSB9IGZyb20gJy4uL3V0aWxzL2pzb24tdXRpbHMuc2VydmljZSc7XHJcbmltcG9ydCB7IERpY3Rpb25hcnlTZXJ2aWNlIH0gZnJvbSAnLi9kaWN0aW9uYXJ5LnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBQcm9kdWN0U2V0dGluZ3MgfSBmcm9tICcuLi9tb2RlbC9wcm9kdWN0U2V0dGluZ3MnO1xyXG5pbXBvcnQgeyBTZXR0aW5nc09wdGlvbnMgfSBmcm9tICcuLi9tb2RlbC9zZXR0aW5ncy1vcHRpb25zJztcclxuXHJcbmRlY2xhcmUgbGV0IHNldHRpbmdzOiBhbnk7XHJcblxyXG5ASW5qZWN0YWJsZSgpXHJcbmV4cG9ydCBjbGFzcyBQcm9kdWN0U2V0dGluZ3NTZXJ2aWNlIHtcclxuXHJcbiAgcHVibGljIHNldCBzZXR0aW5ncyh2YWx1ZTogUHJvZHVjdFNldHRpbmdzKSB7XHJcbiAgICB0aGlzLl9zZXR0aW5ncyA9IHZhbHVlO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGdldCBzZXR0aW5ncygpOiBQcm9kdWN0U2V0dGluZ3Mge1xyXG4gICAgcmV0dXJuIHRoaXMuX3NldHRpbmdzO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIHNldHRpbmdzTG9hZGVkOiBCZWhhdmlvclN1YmplY3Q8Ym9vbGVhbj4gPSBuZXcgQmVoYXZpb3JTdWJqZWN0KGZhbHNlKTtcclxuXHJcbiAgcHJpdmF0ZSBfc2V0dGluZ3M6IFByb2R1Y3RTZXR0aW5ncztcclxuXHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICBwcml2YXRlIF9qc29uVXRpbHNTZXJ2aWNlOiBKc29uVXRpbHNTZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSBfZGljdGlvbmFyeVNlcnZpY2U6IERpY3Rpb25hcnlTZXJ2aWNlXHJcbiAgKSB7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgYXN5bmMgaW5pdGlhbGl6ZVNldHRpbmdzKGZpbmlzaDogYm9vbGVhbiA9IHRydWUpOiBQcm9taXNlPHZvaWQ+IHtcclxuICAgIC8vIHNlZSBpZiB0aGVyZSdzIGEganNvbiBmaWxlIGZvciBhcHBsaWNhdGlvbiBzZXR0aW5nc1xyXG4gICAgaWYgKHR5cGVvZiBzZXR0aW5ncyA9PT0gJ3VuZGVmaW5lZCcpIHtcclxuICAgICAgY29uc3QganNvblNldHRpbmdzID0gYXdhaXQgdGhpcy5fanNvblV0aWxzU2VydmljZS5yZWFkSnNvbkZpbGUoJ3Byb2R1Y3Qtc2V0dGluZ3MuanNvbicpO1xyXG4gICAgICBpZiAoanNvblNldHRpbmdzKSB7XHJcbiAgICAgICAgdGhpcy5zZXR0aW5ncyA9IE9iamVjdC5hc3NpZ24obmV3IFByb2R1Y3RTZXR0aW5ncygpLCBqc29uU2V0dGluZ3MpO1xyXG4gICAgICAgIHRoaXMuc2V0dGluZ3Mub3B0aW9ucyA9IE9iamVjdC5hc3NpZ24obmV3IFNldHRpbmdzT3B0aW9ucygpLCB0aGlzLnNldHRpbmdzLm9wdGlvbnMpO1xyXG4gICAgICAgIGlmIChmaW5pc2gpIHtcclxuICAgICAgICAgIHRoaXMuc2V0dGluZ3NGaW5pc2hlZCgpO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfSBlbHNlIHtcclxuICAgICAgdGhpcy5zZXR0aW5ncyA9IE9iamVjdC5hc3NpZ24obmV3IFByb2R1Y3RTZXR0aW5ncygpLCBzZXR0aW5ncyk7XHJcbiAgICAgIHRoaXMuc2V0dGluZ3Mub3B0aW9ucyA9IE9iamVjdC5hc3NpZ24obmV3IFNldHRpbmdzT3B0aW9ucygpLCB0aGlzLnNldHRpbmdzLm9wdGlvbnMpO1xyXG4gICAgICBpZiAoZmluaXNoKSB7XHJcbiAgICAgICAgdGhpcy5zZXR0aW5nc0ZpbmlzaGVkKCk7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcblxyXG4gIHB1YmxpYyBhc3luYyBjcmVhdGVTZXR0aW5nc0Zyb21PYmplY3Qob2JqOiBhbnkpOiBQcm9taXNlPHZvaWQ+IHtcclxuICAgIGlmICghdGhpcy5zZXR0aW5ncykge1xyXG4gICAgICB0aGlzLnNldHRpbmdzID0gbmV3IFByb2R1Y3RTZXR0aW5ncygpO1xyXG4gICAgfVxyXG4gICAgY29uc3Qgb3duT3B0aW9ucyA9IE9iamVjdC5hc3NpZ24oe30sIHRoaXMuc2V0dGluZ3Mub3B0aW9ucyk7XHJcbiAgICBjb25zdCBvd25SZW5kZXJQYXJhbWV0ZXJzID0gT2JqZWN0LmFzc2lnbih7fSwgdGhpcy5zZXR0aW5ncy5yZW5kZXJQYXJhbWV0ZXJzKTtcclxuICAgIHRoaXMuc2V0dGluZ3MgPSBPYmplY3QuYXNzaWduKHt9LCB0aGlzLnNldHRpbmdzLCBvYmopO1xyXG4gICAgaWYgKG9iai5yZW5kZXJQYXJhbWV0ZXJzKSB7XHJcbiAgICAgIHRoaXMuc2V0dGluZ3MucmVuZGVyUGFyYW1ldGVycyA9IE9iamVjdC5hc3NpZ24oe30sIG93blJlbmRlclBhcmFtZXRlcnMsIG9iai5yZW5kZXJQYXJhbWV0ZXJzKTtcclxuICAgIH1cclxuICAgIGlmIChvYmoub3B0aW9ucykge1xyXG4gICAgICB0aGlzLnNldHRpbmdzLm9wdGlvbnMgPSBPYmplY3QuYXNzaWduKHt9LCBvd25PcHRpb25zLCBvYmoub3B0aW9ucyk7XHJcbiAgICB9XHJcbiAgICBpZiAob2JqLmhhc093blByb3BlcnR5KCdhc3NldFBhdGgnKSkge1xyXG4gICAgICB0aGlzLnNldHRpbmdzLmFzc2V0UGF0aCA9IG9ialsnYXNzZXRQYXRoJ107XHJcbiAgICAgIGlmICh0aGlzLnNldHRpbmdzLmFzc2V0UGF0aFt0aGlzLnNldHRpbmdzLmFzc2V0UGF0aC5sZW5ndGggLSAxXSAhPT0gJy8nKSB7XHJcbiAgICAgICAgdGhpcy5zZXR0aW5ncy5hc3NldFBhdGggKz0gJy8nO1xyXG4gICAgICB9XHJcbiAgICAgIHRoaXMuc2V0dGluZ3MudGhyZWVEQXNzZXRQYXRoID0gdGhpcy5zZXR0aW5ncy5hc3NldFBhdGg7XHJcbiAgICB9XHJcbiAgICBpZiAob2JqLmhhc093blByb3BlcnR5KCd0aHJlZURBc3NldFBhdGgnKSkge1xyXG4gICAgICB0aGlzLnNldHRpbmdzLnRocmVlREFzc2V0UGF0aCA9IG9ialsndGhyZWVEQXNzZXRQYXRoJ107XHJcbiAgICAgIGlmICh0aGlzLnNldHRpbmdzLnRocmVlREFzc2V0UGF0aFt0aGlzLnNldHRpbmdzLnRocmVlREFzc2V0UGF0aC5sZW5ndGggLSAxXSAhPT0gJy8nKSB7XHJcbiAgICAgICAgdGhpcy5zZXR0aW5ncy50aHJlZURBc3NldFBhdGggKz0gJy8nO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgICB0aGlzLnNldHRpbmdzRmluaXNoZWQoKTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBhc3luYyBzZXR0aW5nc0ZpbmlzaGVkKCk6IFByb21pc2U8dm9pZD4ge1xyXG4gICAgYXdhaXQgdGhpcy5fZGljdGlvbmFyeVNlcnZpY2Uuc2V0RGljdGlvbmFyeSh0aGlzLnNldHRpbmdzLmxhbmd1YWdlQ29kZSk7XHJcbiAgICB0aGlzLnNldHRpbmdzTG9hZGVkLm5leHQodHJ1ZSk7XHJcbiAgfVxyXG59XHJcbiJdfQ==
@@ -1,18 +0,0 @@
1
- export class BitUtils {
2
- static IsShortDescription(bit) {
3
- return (1 & bit) > 0;
4
- }
5
- static IsFullDescription(bit) {
6
- return (2 & bit) > 0;
7
- }
8
- static IsMetaTitle(bit) {
9
- return (4 & bit) > 0;
10
- }
11
- static IsMetaDescription(bit) {
12
- return (8 & bit) > 0;
13
- }
14
- static IsMetaKeys(bit) {
15
- return (16 & bit) > 0;
16
- }
17
- }
18
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYml0LXV0aWxzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2FwcC91dGlscy9iaXQtdXRpbHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsTUFBTSxPQUFPLFFBQVE7SUFFWixNQUFNLENBQUMsa0JBQWtCLENBQUMsR0FBVztRQUMxQyxPQUFPLENBQUMsQ0FBQyxHQUFHLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQztJQUN2QixDQUFDO0lBRU0sTUFBTSxDQUFDLGlCQUFpQixDQUFDLEdBQVc7UUFDekMsT0FBTyxDQUFDLENBQUMsR0FBRyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUM7SUFDdkIsQ0FBQztJQUVNLE1BQU0sQ0FBQyxXQUFXLENBQUMsR0FBVztRQUNuQyxPQUFPLENBQUMsQ0FBQyxHQUFHLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQztJQUN2QixDQUFDO0lBRU0sTUFBTSxDQUFDLGlCQUFpQixDQUFDLEdBQVc7UUFDekMsT0FBTyxDQUFDLENBQUMsR0FBRyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUM7SUFDdkIsQ0FBQztJQUVNLE1BQU0sQ0FBQyxVQUFVLENBQUMsR0FBVztRQUNsQyxPQUFPLENBQUMsRUFBRSxHQUFHLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQztJQUN4QixDQUFDO0NBRUYiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgY2xhc3MgQml0VXRpbHMge1xyXG5cclxuICBwdWJsaWMgc3RhdGljIElzU2hvcnREZXNjcmlwdGlvbihiaXQ6IG51bWJlcik6IGJvb2xlYW4ge1xyXG4gICAgcmV0dXJuICgxICYgYml0KSA+IDA7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgc3RhdGljIElzRnVsbERlc2NyaXB0aW9uKGJpdDogbnVtYmVyKTogYm9vbGVhbiB7XHJcbiAgICByZXR1cm4gKDIgJiBiaXQpID4gMDtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBzdGF0aWMgSXNNZXRhVGl0bGUoYml0OiBudW1iZXIpOiBib29sZWFuIHtcclxuICAgIHJldHVybiAoNCAmIGJpdCkgPiAwO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIHN0YXRpYyBJc01ldGFEZXNjcmlwdGlvbihiaXQ6IG51bWJlcik6IGJvb2xlYW4ge1xyXG4gICAgcmV0dXJuICg4ICYgYml0KSA+IDA7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgc3RhdGljIElzTWV0YUtleXMoYml0OiBudW1iZXIpOiBib29sZWFuIHtcclxuICAgIHJldHVybiAoMTYgJiBiaXQpID4gMDtcclxuICB9XHJcblxyXG59XHJcbiJdfQ==