@colijnit/product 1.9.3 → 1.9.5

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 (109) hide show
  1. package/app/components/image-carousel/image-carousel.component.d.ts +4 -4
  2. package/app/components/product-additional-description/product-additional-description.component.d.ts +3 -3
  3. package/app/components/product-additional-info/product-additional-info.component.d.ts +3 -3
  4. package/app/components/product-addtocart/product-addtocart.component.d.ts +6 -4
  5. package/app/components/product-delivery/product-delivery.component.d.ts +2 -2
  6. package/app/components/product-description/product-description.component.d.ts +1 -1
  7. package/app/components/product-documents/product-documents.component.d.ts +1 -1
  8. package/app/components/product-info/product-info.component.d.ts +1 -1
  9. package/app/components/product-info-tabs/product-info-tabs.component.d.ts +3 -3
  10. package/app/components/product-page/product-page.component.d.ts +8 -7
  11. package/app/components/product-properties/product-properties.component.d.ts +1 -1
  12. package/app/components/product-related/product-related.component.d.ts +4 -4
  13. package/app/components/product-stock/product-stock.component.d.ts +2 -2
  14. package/app/ione-product.component.d.ts +8 -8
  15. package/app/ione-product.module.d.ts +2 -2
  16. package/app/model/article-quantity.model.d.ts +1 -1
  17. package/app/product-version.d.ts +6 -0
  18. package/app/service/product-connector-adapter.service.d.ts +27 -0
  19. package/app/service/product-connector.service.d.ts +32 -0
  20. package/app/service/{app-event.service.d.ts → product-event.service.d.ts} +5 -5
  21. package/app/service/product-initializer.service.d.ts +6 -0
  22. package/app/service/product-module.service.d.ts +9 -0
  23. package/app/service/{settings.service.d.ts → product-settings.service.d.ts} +1 -1
  24. package/app/style/product-globals.scss +12 -10
  25. package/bundles/colijnit-product.umd.js +348 -264
  26. package/bundles/colijnit-product.umd.js.map +1 -1
  27. package/bundles/colijnit-product.umd.min.js +2 -2
  28. package/bundles/colijnit-product.umd.min.js.map +1 -1
  29. package/colijnit-product.d.ts +6 -6
  30. package/colijnit-product.metadata.json +1 -1
  31. package/esm2015/app/components/image-carousel/image-carousel.component.js +10 -8
  32. package/esm2015/app/components/product-additional-description/product-additional-description.component.js +3 -3
  33. package/esm2015/app/components/product-additional-info/product-additional-info.component.js +3 -3
  34. package/esm2015/app/components/product-addtocart/product-addtocart.component.js +18 -28
  35. package/esm2015/app/components/product-delivery/product-delivery.component.js +4 -4
  36. package/esm2015/app/components/product-description/product-description.component.js +1 -1
  37. package/esm2015/app/components/product-documents/product-documents.component.js +1 -1
  38. package/esm2015/app/components/product-info/product-info.component.js +1 -1
  39. package/esm2015/app/components/product-info-tabs/product-info-tabs.component.js +3 -3
  40. package/esm2015/app/components/product-page/product-page.component.js +13 -10
  41. package/esm2015/app/components/product-price/product-price.component.js +1 -1
  42. package/esm2015/app/components/product-properties/product-properties.component.js +1 -1
  43. package/esm2015/app/components/product-related/product-related.component.js +10 -6
  44. package/esm2015/app/components/product-stock/product-stock.component.js +3 -3
  45. package/esm2015/app/ione-product.component.js +12 -8
  46. package/esm2015/app/ione-product.module.js +9 -9
  47. package/esm2015/app/model/article-quantity.model.js +1 -1
  48. package/esm2015/app/product-version.js +10 -0
  49. package/esm2015/app/service/dictionary.service.js +2 -2
  50. package/esm2015/app/service/product-connector-adapter.service.js +128 -0
  51. package/esm2015/app/service/product-connector.service.js +108 -0
  52. package/esm2015/app/service/product-event.service.js +41 -0
  53. package/esm2015/app/service/product-initializer.service.js +26 -0
  54. package/esm2015/app/service/product-module.service.js +39 -0
  55. package/esm2015/app/service/product-settings.service.js +144 -0
  56. package/esm2015/colijnit-product.js +7 -7
  57. package/esm2015/public_api.js +2 -1
  58. package/esm5/app/components/image-carousel/image-carousel.component.js +10 -8
  59. package/esm5/app/components/product-additional-description/product-additional-description.component.js +3 -3
  60. package/esm5/app/components/product-additional-info/product-additional-info.component.js +3 -3
  61. package/esm5/app/components/product-addtocart/product-addtocart.component.js +20 -35
  62. package/esm5/app/components/product-delivery/product-delivery.component.js +4 -4
  63. package/esm5/app/components/product-description/product-description.component.js +1 -1
  64. package/esm5/app/components/product-documents/product-documents.component.js +1 -1
  65. package/esm5/app/components/product-info/product-info.component.js +1 -1
  66. package/esm5/app/components/product-info-tabs/product-info-tabs.component.js +3 -3
  67. package/esm5/app/components/product-page/product-page.component.js +13 -10
  68. package/esm5/app/components/product-price/product-price.component.js +1 -1
  69. package/esm5/app/components/product-properties/product-properties.component.js +1 -1
  70. package/esm5/app/components/product-related/product-related.component.js +10 -6
  71. package/esm5/app/components/product-stock/product-stock.component.js +3 -3
  72. package/esm5/app/ione-product.component.js +12 -8
  73. package/esm5/app/ione-product.module.js +9 -9
  74. package/esm5/app/model/article-quantity.model.js +1 -1
  75. package/esm5/app/product-version.js +12 -0
  76. package/esm5/app/service/dictionary.service.js +2 -2
  77. package/esm5/app/service/product-connector-adapter.service.js +197 -0
  78. package/esm5/app/service/product-connector.service.js +128 -0
  79. package/esm5/app/service/product-event.service.js +42 -0
  80. package/esm5/app/service/product-initializer.service.js +29 -0
  81. package/esm5/app/service/product-module.service.js +50 -0
  82. package/esm5/app/service/product-settings.service.js +167 -0
  83. package/esm5/colijnit-product.js +7 -7
  84. package/esm5/public_api.js +2 -1
  85. package/fesm2015/colijnit-product.js +235 -207
  86. package/fesm2015/colijnit-product.js.map +1 -1
  87. package/fesm5/colijnit-product.js +345 -256
  88. package/fesm5/colijnit-product.js.map +1 -1
  89. package/package.json +7 -5
  90. package/public_api.d.ts +1 -0
  91. package/app/service/app-initializer.service.d.ts +0 -6
  92. package/app/service/i-one-connector-adapter.service.d.ts +0 -27
  93. package/app/service/i-one-controller.service.d.ts +0 -37
  94. package/app/service/module.service.d.ts +0 -9
  95. package/app/utils/string-utils.d.ts +0 -21
  96. package/esm2015/app/service/app-event.service.js +0 -41
  97. package/esm2015/app/service/app-initializer.service.js +0 -26
  98. package/esm2015/app/service/i-one-connector-adapter.service.js +0 -58
  99. package/esm2015/app/service/i-one-controller.service.js +0 -117
  100. package/esm2015/app/service/module.service.js +0 -39
  101. package/esm2015/app/service/settings.service.js +0 -136
  102. package/esm2015/app/utils/string-utils.js +0 -51
  103. package/esm5/app/service/app-event.service.js +0 -42
  104. package/esm5/app/service/app-initializer.service.js +0 -29
  105. package/esm5/app/service/i-one-connector-adapter.service.js +0 -61
  106. package/esm5/app/service/i-one-controller.service.js +0 -131
  107. package/esm5/app/service/module.service.js +0 -50
  108. package/esm5/app/service/settings.service.js +0 -159
  109. package/esm5/app/utils/string-utils.js +0 -59
@@ -2,9 +2,9 @@ import { __awaiter, __decorate } from "tslib";
2
2
  import { Injectable } from '@angular/core';
3
3
  import { HttpClient } from '@angular/common/http';
4
4
  import { LanguageCode } from '../enum/language-code.enum';
5
- import { StringUtils } from '../utils/string-utils';
6
5
  import { JsonUtilsService } from '../utils/json-utils.service';
7
6
  import { Dictionary } from '../../assets/dictionary/text.properties';
7
+ import { StringUtils } from '@colijnit/ioneconnector/build/utils/string-utils';
8
8
  import * as i0 from "@angular/core";
9
9
  import * as i1 from "@angular/common/http";
10
10
  import * as i2 from "../utils/json-utils.service";
@@ -92,4 +92,4 @@ DictionaryService = __decorate([
92
92
  })
93
93
  ], DictionaryService);
94
94
  export { DictionaryService };
95
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGljdGlvbmFyeS5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6Im5nOi8vQGNvbGlqbml0L3Byb2R1Y3QvIiwic291cmNlcyI6WyJhcHAvc2VydmljZS9kaWN0aW9uYXJ5LnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0MsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQ2xELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUMxRCxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDcEQsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFDL0QsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLHlDQUF5QyxDQUFDOzs7O0FBRXJFLGlGQUFpRjtBQUlqRixJQUFhLGlCQUFpQixHQUE5QixNQUFhLGlCQUFpQjtJQXVCNUIsWUFDVSxLQUFpQixFQUNqQixVQUE0QjtRQUQ1QixVQUFLLEdBQUwsS0FBSyxDQUFZO1FBQ2pCLGVBQVUsR0FBVixVQUFVLENBQWtCO1FBeEJyQixrQkFBYSxHQUFXLDRCQUE0QixDQUFDO1FBZXRFLG1KQUFtSjtRQUMzSSxrQkFBYSxHQUEyQyxJQUFJLEdBQUcsRUFBcUMsQ0FBQztRQUc3RyxpSEFBaUg7UUFDaEcsaUJBQVksR0FBVyxJQUFJLENBQUM7SUFNN0MsQ0FBQztJQXhCRCxJQUFXLFFBQVE7UUFDakIsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDO0lBQ3hCLENBQUM7SUFFRCxJQUFXLE9BQU8sQ0FBQyxLQUFhO1FBQzlCLElBQUksQ0FBQyxRQUFRLEdBQUcsS0FBSyxDQUFDO1FBQ3RCLElBQUksQ0FBQyxhQUFhLEdBQUcsSUFBSSxDQUFDLFFBQVEsR0FBRyxHQUFHLEdBQUcsSUFBSSxDQUFDLGFBQWEsQ0FBQztJQUNoRSxDQUFDO0lBbUJELHFEQUFxRDtJQUN4QyxhQUFhLENBQUMsUUFBZ0I7O1lBQ3pDLElBQUksQ0FBQyxTQUFTLEdBQUcsUUFBUSxJQUFJLFlBQVksQ0FBQyxLQUFLLENBQUM7WUFDaEQsSUFBSSxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsRUFBRTtnQkFDM0MsTUFBTSxVQUFVLEdBQUcsSUFBSSxVQUFVLEVBQUUsQ0FBQztnQkFDcEMsSUFBRyxVQUFVLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsTUFBTSxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxLQUFLLFNBQVMsRUFBRTtvQkFDOUUsSUFBSSxDQUFDLGFBQWEsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLFNBQVMsRUFBRSxVQUFVLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsTUFBTSxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDLENBQUM7aUJBQ3ZHO2FBQ0Y7WUFDRCxnREFBZ0Q7WUFDaEQsMENBQTBDO1lBQzFDLDRIQUE0SDtZQUM1SCxxREFBcUQ7WUFDckQsa0RBQWtEO1lBQ2xELHdDQUF3QztZQUN4Qyx1QkFBdUI7WUFDdkIsV0FBVztZQUNYLGlIQUFpSDtZQUNqSCxvRUFBb0U7WUFDcEUsbURBQW1EO1lBQ25ELHdCQUF3QjtZQUN4QixZQUFZO1lBQ1osT0FBTztZQUNQLFdBQVc7WUFDWCxrQ0FBa0M7WUFDbEMsSUFBSTtZQUNKLCtDQUErQztRQUNqRCxDQUFDO0tBQUE7SUFFRDs7Ozs7O09BTUc7SUFDSSxHQUFHLENBQUMsR0FBVyxFQUFFLGlCQUEwQixJQUFJLEVBQUUsR0FBRyxnQkFBMEI7UUFDbkYsSUFBSSxDQUFDLFdBQVcsQ0FBQyxrQkFBa0IsQ0FBQyxHQUFHLENBQUMsRUFBRTtZQUN4QyxPQUFPLEdBQUcsSUFBSSxFQUFFLENBQUM7U0FDbEI7UUFFRCxJQUFJLElBQUksR0FBVyxJQUFJLENBQUMsYUFBYSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDOUQsSUFBSSxHQUFHLFdBQVcsQ0FBQyxrQkFBa0IsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUM7UUFFekQsSUFBSSxjQUFjLEVBQUU7WUFDbEIsSUFBSSxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsV0FBVyxFQUFFLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQztTQUNyRDthQUFNO1lBQ0wsSUFBSSxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsV0FBVyxFQUFFLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQztTQUNyRDtRQUVELElBQUksZ0JBQWdCLENBQUMsTUFBTSxHQUFHLENBQUMsRUFBRTtZQUMvQixJQUFJLEdBQUcsV0FBVyxDQUFDLG9CQUFvQixDQUFDLElBQUksRUFBRSxJQUFJLENBQUMsWUFBWSxFQUFFLEdBQUcsZ0JBQWdCLENBQUMsQ0FBQztTQUN2RjtRQUVELE9BQU8sSUFBSSxDQUFDO0lBQ2QsQ0FBQztDQUtGLENBQUE7O1lBakVrQixVQUFVO1lBQ0wsZ0JBQWdCOzs7QUF6QjNCLGlCQUFpQjtJQUg3QixVQUFVLENBQUM7UUFDVixVQUFVLEVBQUUsTUFBTTtLQUNuQixDQUFDO0dBQ1csaUJBQWlCLENBeUY3QjtTQXpGWSxpQkFBaUIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IEh0dHBDbGllbnQgfSBmcm9tICdAYW5ndWxhci9jb21tb24vaHR0cCc7XHJcbmltcG9ydCB7IExhbmd1YWdlQ29kZSB9IGZyb20gJy4uL2VudW0vbGFuZ3VhZ2UtY29kZS5lbnVtJztcclxuaW1wb3J0IHsgU3RyaW5nVXRpbHMgfSBmcm9tICcuLi91dGlscy9zdHJpbmctdXRpbHMnO1xyXG5pbXBvcnQgeyBKc29uVXRpbHNTZXJ2aWNlIH0gZnJvbSAnLi4vdXRpbHMvanNvbi11dGlscy5zZXJ2aWNlJztcclxuaW1wb3J0IHsgRGljdGlvbmFyeSB9IGZyb20gJy4uLy4uL2Fzc2V0cy9kaWN0aW9uYXJ5L3RleHQucHJvcGVydGllcyc7XHJcblxyXG4vLyBUaGUgbG9jYWxpemF0aW9uIHNlcnZpY2UsIHByb3ZpZGluZyBwZWVycyB3aXRoIHRleHQgdHJhbnNsYXRpb24gZnVuY3Rpb25hbGl0eS5cclxuQEluamVjdGFibGUoe1xyXG4gIHByb3ZpZGVkSW46ICdyb290J1xyXG59KVxyXG5leHBvcnQgY2xhc3MgRGljdGlvbmFyeVNlcnZpY2Uge1xyXG4gIHByaXZhdGUgcmVhZG9ubHkgZGljdGlvbmFyeVVybDogc3RyaW5nID0gJ2pzL2Jyb3dzZXIvcmVzL2RpY3Rpb25hcnkvJztcclxuXHJcbiAgcHVibGljIGdldCBsYW5ndWFnZSgpOiBzdHJpbmcge1xyXG4gICAgcmV0dXJuIHRoaXMuX2xhbmd1YWdlO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIHNldCByb290VXJsKHZhbHVlOiBzdHJpbmcpIHtcclxuICAgIHRoaXMuX3Jvb3RVcmwgPSB2YWx1ZTtcclxuICAgIHRoaXMuX2RpY3RCYXNlUGF0aCA9IHRoaXMuX3Jvb3RVcmwgKyAnLycgKyB0aGlzLmRpY3Rpb25hcnlVcmw7XHJcbiAgfVxyXG5cclxuICAvLyBwdWJsaWMgZGljdGlvbmFyeUxvYWRlZDogU3ViamVjdDx2b2lkPiA9IG5ldyBTdWJqZWN0KCk7XHJcblxyXG4gIHByaXZhdGUgX2RpY3RCYXNlUGF0aDogc3RyaW5nO1xyXG4gIHByaXZhdGUgX3Jvb3RVcmw6IHN0cmluZztcclxuICAvLyBwcml2YXRlIF9kaWN0aW9uYXJ5UHJvbWlzZTogTWFwPExhbmd1YWdlQ29kZSwgUHJvbWlzZTx7IFtrZXk6IHN0cmluZ106IHN0cmluZyB9Pj4gPSBuZXcgTWFwPExhbmd1YWdlQ29kZSwgUHJvbWlzZTx7IFtrZXk6IHN0cmluZ106IHN0cmluZyB9Pj4oKTtcclxuICBwcml2YXRlIF9kaWN0aW9uYXJpZXM6IE1hcDxzdHJpbmcsIHsgW2tleTogc3RyaW5nXTogc3RyaW5nIH0+ID0gbmV3IE1hcDxzdHJpbmcsIHsgW2tleTogc3RyaW5nXTogc3RyaW5nIH0+KCk7XHJcbiAgcHJpdmF0ZSBfbGFuZ3VhZ2U6IHN0cmluZztcclxuXHJcbiAgLy8gU29tZSBkaWN0aW9uYXJ5IHZhbHVlcyBoYXZlIG9uZSBvciBtb3JlICd8ficgdGV4dHMgaW4gdGhlbSwgbWVhbnQgdG8gYmUgcmVwbGFjZWQgd2l0aCBjbGllbnQtc2lkZSBnaXZlbiB0ZXh0cy5cclxuICBwcml2YXRlIHJlYWRvbmx5IF9wbGFjZWhvbGRlcjogc3RyaW5nID0gJ3x+JztcclxuXHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICBwcml2YXRlIF9odHRwOiBIdHRwQ2xpZW50LFxyXG4gICAgcHJpdmF0ZSBfanNvblV0aWxzOiBKc29uVXRpbHNTZXJ2aWNlXHJcbiAgKSB7XHJcbiAgfVxyXG5cclxuICAvLyBMb2FkcyB0aGUgZGljdGlvbmFyeSBmb3IgZ2l2ZW4gbGFuZ3VhZ2UgaW4gbWVtb3J5LlxyXG4gIHB1YmxpYyBhc3luYyBzZXREaWN0aW9uYXJ5KGxhbmd1YWdlOiBzdHJpbmcpOiBQcm9taXNlPHZvaWQ+IHtcclxuICAgIHRoaXMuX2xhbmd1YWdlID0gbGFuZ3VhZ2UgfHwgTGFuZ3VhZ2VDb2RlLkR1dGNoO1xyXG4gICAgaWYgKCF0aGlzLl9kaWN0aW9uYXJpZXMuaGFzKHRoaXMuX2xhbmd1YWdlKSkge1xyXG4gICAgICBjb25zdCBkaWN0aW9uYXJ5ID0gbmV3IERpY3Rpb25hcnkoKTtcclxuICAgICAgaWYoZGljdGlvbmFyeS5zdHJpbmdzW3RoaXMuX2xhbmd1YWdlLnN1YnN0cigwLCAyKS50b0xvd2VyQ2FzZSgpXSAhPT0gdW5kZWZpbmVkKSB7XHJcbiAgICAgICAgdGhpcy5fZGljdGlvbmFyaWVzLnNldCh0aGlzLl9sYW5ndWFnZSwgZGljdGlvbmFyeS5zdHJpbmdzW3RoaXMuX2xhbmd1YWdlLnN1YnN0cigwLCAyKS50b0xvd2VyQ2FzZSgpXSk7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICAgIC8vIGlmICghdGhpcy5fZGljdGlvbmFyeVByb21pc2UuaGFzKGxhbmd1YWdlKSkge1xyXG4gICAgLy8gICB0aGlzLl9kaWN0aW9uYXJ5UHJvbWlzZS5zZXQobGFuZ3VhZ2UsXHJcbiAgICAvLyAgICAgdGhpcy5fanNvblV0aWxzLnJlYWRKc29uRmlsZSh0aGlzLl9kaWN0QmFzZVBhdGggKyAndGV4dF8nICsgbGFuZ3VhZ2Uuc3Vic3RyKDAsIDIpLnRvTG93ZXJDYXNlKCkgKyAnLnByb3BlcnRpZXMuanNvbicpXHJcbiAgICAvLyAgICAgICAudGhlbigoZGF0YTogeyBba2V5OiBzdHJpbmddOiBzdHJpbmcgfSkgPT4ge1xyXG4gICAgLy8gICAgICAgICB0aGlzLl9kaWN0aW9uYXJpZXMuc2V0KGxhbmd1YWdlLCBkYXRhKTtcclxuICAgIC8vICAgICAgICAgdGhpcy5kaWN0aW9uYXJ5TG9hZGVkLm5leHQoKTtcclxuICAgIC8vICAgICAgICAgcmV0dXJuIGRhdGE7XHJcbiAgICAvLyAgICAgICB9KVxyXG4gICAgLy8gICAgIC8vIHRoaXMuX2h0dHAuZ2V0KHRoaXMuX2RpY3RCYXNlUGF0aCArICd0ZXh0XycgKyBsYW5ndWFnZS5zdWJzdHIoMCwgMikudG9Mb3dlckNhc2UoKSArICcucHJvcGVydGllcy5qc29uJylcclxuICAgIC8vICAgICAvLyAgIC50b1Byb21pc2UoKS50aGVuKChkYXRhOiB7IFtrZXk6IHN0cmluZ106IHN0cmluZyB9KSA9PiB7XHJcbiAgICAvLyAgICAgLy8gICB0aGlzLl9kaWN0aW9uYXJpZXMuc2V0KGxhbmd1YWdlLCBkYXRhKTtcclxuICAgIC8vICAgICAvLyAgIHJldHVybiBkYXRhO1xyXG4gICAgLy8gICAgIC8vIH0pXHJcbiAgICAvLyAgICk7XHJcbiAgICAvLyB9IGVsc2Uge1xyXG4gICAgLy8gICB0aGlzLmRpY3Rpb25hcnlMb2FkZWQubmV4dCgpO1xyXG4gICAgLy8gfVxyXG4gICAgLy8gYXdhaXQgdGhpcy5fZGljdGlvbmFyeVByb21pc2UuZ2V0KGxhbmd1YWdlKTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIFJldHVybnMgdGhlIGxvY2FsaXplZCB0ZXh0IGZvciB0aGUgZ2l2ZW4gZGljdGlvbmFyeSBrZXkuXHJcbiAgICogQHBhcmFtIHtzdHJpbmd9IGtleVxyXG4gICAqIEBwYXJhbSB7Ym9vbGVhbn0gW3VwcGVyQ2FzZUZpcnN0ID0gdHJ1ZV0gRmFsc2UgZm9yIGZpcnN0IGxldHRlciBsb3dlcmNhc2UsIHRydWUgZm9yIGZpcnN0IGxldHRlciB1cHBlcmNhc2UgZm9yIHJldHVybmVkIGRpY3QgdmFsXHJcbiAgICogQHBhcmFtIHtzdHJpbmdbXX0gcmVwbGFjZW1lbnRUZXh0cyBSZXN0IHBhcmFtcyBmb3IgcmVwbGFjZW1lbnQgb2YgJ3x+JyBpbiByZXR1cm5lZCBkaWN0IHZhbHVlXHJcbiAgICogQHJldHVybnMge3N0cmluZ30gVGhlIHRyYW5zbGF0ZWQgdGV4dCBmb3IgZ2l2ZW4gZGljdGlvbmFyeSBrZXlcclxuICAgKi9cclxuICBwdWJsaWMgZ2V0KGtleTogc3RyaW5nLCB1cHBlckNhc2VGaXJzdDogYm9vbGVhbiA9IHRydWUsIC4uLnJlcGxhY2VtZW50VGV4dHM6IHN0cmluZ1tdKTogc3RyaW5nIHtcclxuICAgIGlmICghU3RyaW5nVXRpbHMuSXNTdHJpbmdXaXRoTGVuZ3RoKGtleSkpIHtcclxuICAgICAgcmV0dXJuIGtleSB8fCAnJztcclxuICAgIH1cclxuXHJcbiAgICBsZXQgdGV4dDogc3RyaW5nID0gdGhpcy5fZGljdGlvbmFyaWVzLmdldCh0aGlzLmxhbmd1YWdlKVtrZXldO1xyXG4gICAgdGV4dCA9IFN0cmluZ1V0aWxzLklzU3RyaW5nV2l0aExlbmd0aCh0ZXh0KSA/IHRleHQgOiBrZXk7XHJcblxyXG4gICAgaWYgKHVwcGVyQ2FzZUZpcnN0KSB7XHJcbiAgICAgIHRleHQgPSB0ZXh0LmNoYXJBdCgwKS50b1VwcGVyQ2FzZSgpICsgdGV4dC5zbGljZSgxKTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHRleHQgPSB0ZXh0LmNoYXJBdCgwKS50b0xvd2VyQ2FzZSgpICsgdGV4dC5zbGljZSgxKTtcclxuICAgIH1cclxuXHJcbiAgICBpZiAocmVwbGFjZW1lbnRUZXh0cy5sZW5ndGggPiAwKSB7XHJcbiAgICAgIHRleHQgPSBTdHJpbmdVdGlscy5SZXBsYWNlT2NjdXJyZW5jZXNJbih0ZXh0LCB0aGlzLl9wbGFjZWhvbGRlciwgLi4ucmVwbGFjZW1lbnRUZXh0cyk7XHJcbiAgICB9XHJcblxyXG4gICAgcmV0dXJuIHRleHQ7XHJcbiAgfVxyXG5cclxuICAvLyBwcml2YXRlIF9kaWN0aW9uYXJ5TG9hZGVkKGxhbmd1YWdlOiBMYW5ndWFnZUNvZGUpOiBib29sZWFuIHtcclxuICAvLyAgIHJldHVybiB0aGlzLl9kaWN0aW9uYXJpZXMuaGFzKGxhbmd1YWdlKTtcclxuICAvLyB9XHJcbn1cclxuIl19
95
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGljdGlvbmFyeS5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6Im5nOi8vQGNvbGlqbml0L3Byb2R1Y3QvIiwic291cmNlcyI6WyJhcHAvc2VydmljZS9kaWN0aW9uYXJ5LnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0MsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQ2xELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUMxRCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUMvRCxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0seUNBQXlDLENBQUM7QUFDckUsT0FBTyxFQUFDLFdBQVcsRUFBQyxNQUFNLGtEQUFrRCxDQUFDOzs7O0FBRTdFLGlGQUFpRjtBQUlqRixJQUFhLGlCQUFpQixHQUE5QixNQUFhLGlCQUFpQjtJQXVCNUIsWUFDVSxLQUFpQixFQUNqQixVQUE0QjtRQUQ1QixVQUFLLEdBQUwsS0FBSyxDQUFZO1FBQ2pCLGVBQVUsR0FBVixVQUFVLENBQWtCO1FBeEJyQixrQkFBYSxHQUFXLDRCQUE0QixDQUFDO1FBZXRFLG1KQUFtSjtRQUMzSSxrQkFBYSxHQUEyQyxJQUFJLEdBQUcsRUFBcUMsQ0FBQztRQUc3RyxpSEFBaUg7UUFDaEcsaUJBQVksR0FBVyxJQUFJLENBQUM7SUFNN0MsQ0FBQztJQXhCRCxJQUFXLFFBQVE7UUFDakIsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDO0lBQ3hCLENBQUM7SUFFRCxJQUFXLE9BQU8sQ0FBQyxLQUFhO1FBQzlCLElBQUksQ0FBQyxRQUFRLEdBQUcsS0FBSyxDQUFDO1FBQ3RCLElBQUksQ0FBQyxhQUFhLEdBQUcsSUFBSSxDQUFDLFFBQVEsR0FBRyxHQUFHLEdBQUcsSUFBSSxDQUFDLGFBQWEsQ0FBQztJQUNoRSxDQUFDO0lBbUJELHFEQUFxRDtJQUN4QyxhQUFhLENBQUMsUUFBZ0I7O1lBQ3pDLElBQUksQ0FBQyxTQUFTLEdBQUcsUUFBUSxJQUFJLFlBQVksQ0FBQyxLQUFLLENBQUM7WUFDaEQsSUFBSSxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsRUFBRTtnQkFDM0MsTUFBTSxVQUFVLEdBQUcsSUFBSSxVQUFVLEVBQUUsQ0FBQztnQkFDcEMsSUFBRyxVQUFVLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsTUFBTSxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxLQUFLLFNBQVMsRUFBRTtvQkFDOUUsSUFBSSxDQUFDLGFBQWEsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLFNBQVMsRUFBRSxVQUFVLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsTUFBTSxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDLENBQUM7aUJBQ3ZHO2FBQ0Y7WUFDRCxnREFBZ0Q7WUFDaEQsMENBQTBDO1lBQzFDLDRIQUE0SDtZQUM1SCxxREFBcUQ7WUFDckQsa0RBQWtEO1lBQ2xELHdDQUF3QztZQUN4Qyx1QkFBdUI7WUFDdkIsV0FBVztZQUNYLGlIQUFpSDtZQUNqSCxvRUFBb0U7WUFDcEUsbURBQW1EO1lBQ25ELHdCQUF3QjtZQUN4QixZQUFZO1lBQ1osT0FBTztZQUNQLFdBQVc7WUFDWCxrQ0FBa0M7WUFDbEMsSUFBSTtZQUNKLCtDQUErQztRQUNqRCxDQUFDO0tBQUE7SUFFRDs7Ozs7O09BTUc7SUFDSSxHQUFHLENBQUMsR0FBVyxFQUFFLGlCQUEwQixJQUFJLEVBQUUsR0FBRyxnQkFBMEI7UUFDbkYsSUFBSSxDQUFDLFdBQVcsQ0FBQyxrQkFBa0IsQ0FBQyxHQUFHLENBQUMsRUFBRTtZQUN4QyxPQUFPLEdBQUcsSUFBSSxFQUFFLENBQUM7U0FDbEI7UUFFRCxJQUFJLElBQUksR0FBVyxJQUFJLENBQUMsYUFBYSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDOUQsSUFBSSxHQUFHLFdBQVcsQ0FBQyxrQkFBa0IsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUM7UUFFekQsSUFBSSxjQUFjLEVBQUU7WUFDbEIsSUFBSSxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsV0FBVyxFQUFFLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQztTQUNyRDthQUFNO1lBQ0wsSUFBSSxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsV0FBVyxFQUFFLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQztTQUNyRDtRQUVELElBQUksZ0JBQWdCLENBQUMsTUFBTSxHQUFHLENBQUMsRUFBRTtZQUMvQixJQUFJLEdBQUcsV0FBVyxDQUFDLG9CQUFvQixDQUFDLElBQUksRUFBRSxJQUFJLENBQUMsWUFBWSxFQUFFLEdBQUcsZ0JBQWdCLENBQUMsQ0FBQztTQUN2RjtRQUVELE9BQU8sSUFBSSxDQUFDO0lBQ2QsQ0FBQztDQUtGLENBQUE7O1lBakVrQixVQUFVO1lBQ0wsZ0JBQWdCOzs7QUF6QjNCLGlCQUFpQjtJQUg3QixVQUFVLENBQUM7UUFDVixVQUFVLEVBQUUsTUFBTTtLQUNuQixDQUFDO0dBQ1csaUJBQWlCLENBeUY3QjtTQXpGWSxpQkFBaUIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IEh0dHBDbGllbnQgfSBmcm9tICdAYW5ndWxhci9jb21tb24vaHR0cCc7XHJcbmltcG9ydCB7IExhbmd1YWdlQ29kZSB9IGZyb20gJy4uL2VudW0vbGFuZ3VhZ2UtY29kZS5lbnVtJztcclxuaW1wb3J0IHsgSnNvblV0aWxzU2VydmljZSB9IGZyb20gJy4uL3V0aWxzL2pzb24tdXRpbHMuc2VydmljZSc7XHJcbmltcG9ydCB7IERpY3Rpb25hcnkgfSBmcm9tICcuLi8uLi9hc3NldHMvZGljdGlvbmFyeS90ZXh0LnByb3BlcnRpZXMnO1xyXG5pbXBvcnQge1N0cmluZ1V0aWxzfSBmcm9tICdAY29saWpuaXQvaW9uZWNvbm5lY3Rvci9idWlsZC91dGlscy9zdHJpbmctdXRpbHMnO1xyXG5cclxuLy8gVGhlIGxvY2FsaXphdGlvbiBzZXJ2aWNlLCBwcm92aWRpbmcgcGVlcnMgd2l0aCB0ZXh0IHRyYW5zbGF0aW9uIGZ1bmN0aW9uYWxpdHkuXHJcbkBJbmplY3RhYmxlKHtcclxuICBwcm92aWRlZEluOiAncm9vdCdcclxufSlcclxuZXhwb3J0IGNsYXNzIERpY3Rpb25hcnlTZXJ2aWNlIHtcclxuICBwcml2YXRlIHJlYWRvbmx5IGRpY3Rpb25hcnlVcmw6IHN0cmluZyA9ICdqcy9icm93c2VyL3Jlcy9kaWN0aW9uYXJ5Lyc7XHJcblxyXG4gIHB1YmxpYyBnZXQgbGFuZ3VhZ2UoKTogc3RyaW5nIHtcclxuICAgIHJldHVybiB0aGlzLl9sYW5ndWFnZTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBzZXQgcm9vdFVybCh2YWx1ZTogc3RyaW5nKSB7XHJcbiAgICB0aGlzLl9yb290VXJsID0gdmFsdWU7XHJcbiAgICB0aGlzLl9kaWN0QmFzZVBhdGggPSB0aGlzLl9yb290VXJsICsgJy8nICsgdGhpcy5kaWN0aW9uYXJ5VXJsO1xyXG4gIH1cclxuXHJcbiAgLy8gcHVibGljIGRpY3Rpb25hcnlMb2FkZWQ6IFN1YmplY3Q8dm9pZD4gPSBuZXcgU3ViamVjdCgpO1xyXG5cclxuICBwcml2YXRlIF9kaWN0QmFzZVBhdGg6IHN0cmluZztcclxuICBwcml2YXRlIF9yb290VXJsOiBzdHJpbmc7XHJcbiAgLy8gcHJpdmF0ZSBfZGljdGlvbmFyeVByb21pc2U6IE1hcDxMYW5ndWFnZUNvZGUsIFByb21pc2U8eyBba2V5OiBzdHJpbmddOiBzdHJpbmcgfT4+ID0gbmV3IE1hcDxMYW5ndWFnZUNvZGUsIFByb21pc2U8eyBba2V5OiBzdHJpbmddOiBzdHJpbmcgfT4+KCk7XHJcbiAgcHJpdmF0ZSBfZGljdGlvbmFyaWVzOiBNYXA8c3RyaW5nLCB7IFtrZXk6IHN0cmluZ106IHN0cmluZyB9PiA9IG5ldyBNYXA8c3RyaW5nLCB7IFtrZXk6IHN0cmluZ106IHN0cmluZyB9PigpO1xyXG4gIHByaXZhdGUgX2xhbmd1YWdlOiBzdHJpbmc7XHJcblxyXG4gIC8vIFNvbWUgZGljdGlvbmFyeSB2YWx1ZXMgaGF2ZSBvbmUgb3IgbW9yZSAnfH4nIHRleHRzIGluIHRoZW0sIG1lYW50IHRvIGJlIHJlcGxhY2VkIHdpdGggY2xpZW50LXNpZGUgZ2l2ZW4gdGV4dHMuXHJcbiAgcHJpdmF0ZSByZWFkb25seSBfcGxhY2Vob2xkZXI6IHN0cmluZyA9ICd8fic7XHJcblxyXG4gIGNvbnN0cnVjdG9yKFxyXG4gICAgcHJpdmF0ZSBfaHR0cDogSHR0cENsaWVudCxcclxuICAgIHByaXZhdGUgX2pzb25VdGlsczogSnNvblV0aWxzU2VydmljZVxyXG4gICkge1xyXG4gIH1cclxuXHJcbiAgLy8gTG9hZHMgdGhlIGRpY3Rpb25hcnkgZm9yIGdpdmVuIGxhbmd1YWdlIGluIG1lbW9yeS5cclxuICBwdWJsaWMgYXN5bmMgc2V0RGljdGlvbmFyeShsYW5ndWFnZTogc3RyaW5nKTogUHJvbWlzZTx2b2lkPiB7XHJcbiAgICB0aGlzLl9sYW5ndWFnZSA9IGxhbmd1YWdlIHx8IExhbmd1YWdlQ29kZS5EdXRjaDtcclxuICAgIGlmICghdGhpcy5fZGljdGlvbmFyaWVzLmhhcyh0aGlzLl9sYW5ndWFnZSkpIHtcclxuICAgICAgY29uc3QgZGljdGlvbmFyeSA9IG5ldyBEaWN0aW9uYXJ5KCk7XHJcbiAgICAgIGlmKGRpY3Rpb25hcnkuc3RyaW5nc1t0aGlzLl9sYW5ndWFnZS5zdWJzdHIoMCwgMikudG9Mb3dlckNhc2UoKV0gIT09IHVuZGVmaW5lZCkge1xyXG4gICAgICAgIHRoaXMuX2RpY3Rpb25hcmllcy5zZXQodGhpcy5fbGFuZ3VhZ2UsIGRpY3Rpb25hcnkuc3RyaW5nc1t0aGlzLl9sYW5ndWFnZS5zdWJzdHIoMCwgMikudG9Mb3dlckNhc2UoKV0pO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgICAvLyBpZiAoIXRoaXMuX2RpY3Rpb25hcnlQcm9taXNlLmhhcyhsYW5ndWFnZSkpIHtcclxuICAgIC8vICAgdGhpcy5fZGljdGlvbmFyeVByb21pc2Uuc2V0KGxhbmd1YWdlLFxyXG4gICAgLy8gICAgIHRoaXMuX2pzb25VdGlscy5yZWFkSnNvbkZpbGUodGhpcy5fZGljdEJhc2VQYXRoICsgJ3RleHRfJyArIGxhbmd1YWdlLnN1YnN0cigwLCAyKS50b0xvd2VyQ2FzZSgpICsgJy5wcm9wZXJ0aWVzLmpzb24nKVxyXG4gICAgLy8gICAgICAgLnRoZW4oKGRhdGE6IHsgW2tleTogc3RyaW5nXTogc3RyaW5nIH0pID0+IHtcclxuICAgIC8vICAgICAgICAgdGhpcy5fZGljdGlvbmFyaWVzLnNldChsYW5ndWFnZSwgZGF0YSk7XHJcbiAgICAvLyAgICAgICAgIHRoaXMuZGljdGlvbmFyeUxvYWRlZC5uZXh0KCk7XHJcbiAgICAvLyAgICAgICAgIHJldHVybiBkYXRhO1xyXG4gICAgLy8gICAgICAgfSlcclxuICAgIC8vICAgICAvLyB0aGlzLl9odHRwLmdldCh0aGlzLl9kaWN0QmFzZVBhdGggKyAndGV4dF8nICsgbGFuZ3VhZ2Uuc3Vic3RyKDAsIDIpLnRvTG93ZXJDYXNlKCkgKyAnLnByb3BlcnRpZXMuanNvbicpXHJcbiAgICAvLyAgICAgLy8gICAudG9Qcm9taXNlKCkudGhlbigoZGF0YTogeyBba2V5OiBzdHJpbmddOiBzdHJpbmcgfSkgPT4ge1xyXG4gICAgLy8gICAgIC8vICAgdGhpcy5fZGljdGlvbmFyaWVzLnNldChsYW5ndWFnZSwgZGF0YSk7XHJcbiAgICAvLyAgICAgLy8gICByZXR1cm4gZGF0YTtcclxuICAgIC8vICAgICAvLyB9KVxyXG4gICAgLy8gICApO1xyXG4gICAgLy8gfSBlbHNlIHtcclxuICAgIC8vICAgdGhpcy5kaWN0aW9uYXJ5TG9hZGVkLm5leHQoKTtcclxuICAgIC8vIH1cclxuICAgIC8vIGF3YWl0IHRoaXMuX2RpY3Rpb25hcnlQcm9taXNlLmdldChsYW5ndWFnZSk7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBSZXR1cm5zIHRoZSBsb2NhbGl6ZWQgdGV4dCBmb3IgdGhlIGdpdmVuIGRpY3Rpb25hcnkga2V5LlxyXG4gICAqIEBwYXJhbSB7c3RyaW5nfSBrZXlcclxuICAgKiBAcGFyYW0ge2Jvb2xlYW59IFt1cHBlckNhc2VGaXJzdCA9IHRydWVdIEZhbHNlIGZvciBmaXJzdCBsZXR0ZXIgbG93ZXJjYXNlLCB0cnVlIGZvciBmaXJzdCBsZXR0ZXIgdXBwZXJjYXNlIGZvciByZXR1cm5lZCBkaWN0IHZhbFxyXG4gICAqIEBwYXJhbSB7c3RyaW5nW119IHJlcGxhY2VtZW50VGV4dHMgUmVzdCBwYXJhbXMgZm9yIHJlcGxhY2VtZW50IG9mICd8ficgaW4gcmV0dXJuZWQgZGljdCB2YWx1ZVxyXG4gICAqIEByZXR1cm5zIHtzdHJpbmd9IFRoZSB0cmFuc2xhdGVkIHRleHQgZm9yIGdpdmVuIGRpY3Rpb25hcnkga2V5XHJcbiAgICovXHJcbiAgcHVibGljIGdldChrZXk6IHN0cmluZywgdXBwZXJDYXNlRmlyc3Q6IGJvb2xlYW4gPSB0cnVlLCAuLi5yZXBsYWNlbWVudFRleHRzOiBzdHJpbmdbXSk6IHN0cmluZyB7XHJcbiAgICBpZiAoIVN0cmluZ1V0aWxzLklzU3RyaW5nV2l0aExlbmd0aChrZXkpKSB7XHJcbiAgICAgIHJldHVybiBrZXkgfHwgJyc7XHJcbiAgICB9XHJcblxyXG4gICAgbGV0IHRleHQ6IHN0cmluZyA9IHRoaXMuX2RpY3Rpb25hcmllcy5nZXQodGhpcy5sYW5ndWFnZSlba2V5XTtcclxuICAgIHRleHQgPSBTdHJpbmdVdGlscy5Jc1N0cmluZ1dpdGhMZW5ndGgodGV4dCkgPyB0ZXh0IDoga2V5O1xyXG5cclxuICAgIGlmICh1cHBlckNhc2VGaXJzdCkge1xyXG4gICAgICB0ZXh0ID0gdGV4dC5jaGFyQXQoMCkudG9VcHBlckNhc2UoKSArIHRleHQuc2xpY2UoMSk7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICB0ZXh0ID0gdGV4dC5jaGFyQXQoMCkudG9Mb3dlckNhc2UoKSArIHRleHQuc2xpY2UoMSk7XHJcbiAgICB9XHJcblxyXG4gICAgaWYgKHJlcGxhY2VtZW50VGV4dHMubGVuZ3RoID4gMCkge1xyXG4gICAgICB0ZXh0ID0gU3RyaW5nVXRpbHMuUmVwbGFjZU9jY3VycmVuY2VzSW4odGV4dCwgdGhpcy5fcGxhY2Vob2xkZXIsIC4uLnJlcGxhY2VtZW50VGV4dHMpO1xyXG4gICAgfVxyXG5cclxuICAgIHJldHVybiB0ZXh0O1xyXG4gIH1cclxuXHJcbiAgLy8gcHJpdmF0ZSBfZGljdGlvbmFyeUxvYWRlZChsYW5ndWFnZTogTGFuZ3VhZ2VDb2RlKTogYm9vbGVhbiB7XHJcbiAgLy8gICByZXR1cm4gdGhpcy5fZGljdGlvbmFyaWVzLmhhcyhsYW5ndWFnZSk7XHJcbiAgLy8gfVxyXG59XHJcbiJdfQ==
@@ -0,0 +1,128 @@
1
+ import { __awaiter, __decorate } 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 * as i0 from "@angular/core";
11
+ // 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.
12
+ // Only to be used by the IOneControllerService.
13
+ let ProductConnectorAdapterService = class ProductConnectorAdapterService {
14
+ constructor() {
15
+ this.showLoader = new Subject();
16
+ this._boFactory = new BusinessObjectFactory();
17
+ }
18
+ ngOnDestroy() {
19
+ this.articleConnector.showLoader.unsubscribe();
20
+ }
21
+ initConnector(options) {
22
+ this.articleConnector = new Articles(options);
23
+ options.session = this.articleConnector.session;
24
+ this.articleConnector.showLoader.subscribe(value => this.showLoader.next(value));
25
+ }
26
+ setInstance(instanceId) {
27
+ // this.articleConnector.setInstanceToConfigure(instanceId, false);
28
+ }
29
+ getDeliveryPrognosis(goodId, branchNr) {
30
+ return __awaiter(this, void 0, void 0, function* () {
31
+ const deliveryPrognosis = yield this.getSelectorDeliveryDate();
32
+ if (!deliveryPrognosis || !deliveryPrognosis.returnValue) {
33
+ return this.getDeliveryDate2(goodId);
34
+ }
35
+ return deliveryPrognosis;
36
+ });
37
+ }
38
+ getSelectorDeliveryDate() {
39
+ return __awaiter(this, void 0, void 0, function* () {
40
+ const response = yield this.articleConnector.getSelectorDeliveryDate();
41
+ if (response && response.validationResult && response.validationResult.success) {
42
+ return this._boFactory.makeWithRawBackendData(DeliveryPrognosis, response.resultObject);
43
+ }
44
+ else {
45
+ return null;
46
+ }
47
+ });
48
+ }
49
+ getDeliveryDate2(goodId) {
50
+ return __awaiter(this, void 0, void 0, function* () {
51
+ const response = yield this.articleConnector.getDeliveryDate2(goodId);
52
+ if (response && response.validationResult && response.validationResult.success) {
53
+ return this._boFactory.makeWithRawBackendData(DeliveryPrognosis, response.resultObject);
54
+ }
55
+ else {
56
+ return null;
57
+ }
58
+ });
59
+ }
60
+ getJsonConfiguredArticles(configuratorStatistics) {
61
+ return __awaiter(this, void 0, void 0, function* () {
62
+ const response = yield this.articleConnector.getJsonConfiguredArticles(configuratorStatistics);
63
+ if (response && response.validationResult && response.validationResult.success) {
64
+ return response.resultObject;
65
+ }
66
+ else {
67
+ return '';
68
+ }
69
+ });
70
+ }
71
+ getJsonArticleFlatTree(goodId, goodType, quantity, showLoader = true, instanceId, configuratorStatistics) {
72
+ return __awaiter(this, void 0, void 0, function* () {
73
+ return this.articleConnector.getJsonArticleFlatTree(goodId, goodType, quantity, showLoader, instanceId, configuratorStatistics);
74
+ });
75
+ }
76
+ getGoodIdFromArticleNr(sku) {
77
+ return __awaiter(this, void 0, void 0, function* () {
78
+ const response = yield this.articleConnector.getGoodIdFromArticleNr(sku);
79
+ if (response && response.validationResult && response.validationResult.success) {
80
+ return response.resultObject;
81
+ }
82
+ else {
83
+ return null;
84
+ }
85
+ });
86
+ }
87
+ getArticleFullObject(goodId) {
88
+ return __awaiter(this, void 0, void 0, function* () {
89
+ const response = yield this.articleConnector.getArticleFullObject(goodId);
90
+ if (response && response.validationResult && response.validationResult.success) {
91
+ return this._boFactory.makeWithRawBackendData(ArticleFullObject, response.resultObject);
92
+ }
93
+ else {
94
+ return null;
95
+ }
96
+ });
97
+ }
98
+ getSuperArticle(id, branch) {
99
+ return __awaiter(this, void 0, void 0, function* () {
100
+ const response = yield this.articleConnector.getSuperArticleQuickSel(id, branch);
101
+ if (response && response.validationResult && response.validationResult.success) {
102
+ return this._boFactory.makeWithRawBackendData(SuperArticle, response.resultObject);
103
+ }
104
+ else {
105
+ return null;
106
+ }
107
+ });
108
+ }
109
+ getDocumentContent(docId, thumbnail = true) {
110
+ return __awaiter(this, void 0, void 0, function* () {
111
+ const response = yield this.articleConnector.getDocumentContent(docId, thumbnail);
112
+ if (response && response.validationResult && response.validationResult.success) {
113
+ return this._boFactory.makeWithRawBackendData(DocumentContent, response.resultObject);
114
+ }
115
+ else {
116
+ return null;
117
+ }
118
+ });
119
+ }
120
+ };
121
+ ProductConnectorAdapterService.ɵprov = i0.ɵɵdefineInjectable({ factory: function ProductConnectorAdapterService_Factory() { return new ProductConnectorAdapterService(); }, token: ProductConnectorAdapterService, providedIn: "root" });
122
+ ProductConnectorAdapterService = __decorate([
123
+ Injectable({
124
+ providedIn: 'root'
125
+ })
126
+ ], ProductConnectorAdapterService);
127
+ export { ProductConnectorAdapterService };
128
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvZHVjdC1jb25uZWN0b3ItYWRhcHRlci5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6Im5nOi8vQGNvbGlqbml0L3Byb2R1Y3QvIiwic291cmNlcyI6WyJhcHAvc2VydmljZS9wcm9kdWN0LWNvbm5lY3Rvci1hZGFwdGVyLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFBQyxVQUFVLEVBQVksTUFBTSxlQUFlLENBQUM7QUFDcEQsT0FBTyxFQUFDLE9BQU8sRUFBQyxNQUFNLE1BQU0sQ0FBQztBQUM3QixPQUFPLEVBQUMsaUJBQWlCLEVBQUMsTUFBTSxzREFBc0QsQ0FBQztBQUN2RixPQUFPLEVBQUMsWUFBWSxFQUFDLE1BQU0sZ0RBQWdELENBQUM7QUFFNUUsT0FBTyxFQUFDLFFBQVEsRUFBQyxNQUFNLHFDQUFxQyxDQUFDO0FBRzdELE9BQU8sRUFBQyxpQkFBaUIsRUFBQyxNQUFNLHFEQUFxRCxDQUFDO0FBQ3RGLE9BQU8sRUFBQyxlQUFlLEVBQUMsTUFBTSxtREFBbUQsQ0FBQztBQUNsRixPQUFPLEVBQUMscUJBQXFCLEVBQUMsTUFBTSwrREFBK0QsQ0FBQzs7QUFFcEcseUlBQXlJO0FBQ3pJLGdEQUFnRDtBQUloRCxJQUFhLDhCQUE4QixHQUEzQyxNQUFhLDhCQUE4QjtJQVF2QztRQU5nQixlQUFVLEdBQXFCLElBQUksT0FBTyxFQUFXLENBQUM7UUFJOUQsZUFBVSxHQUEwQixJQUFJLHFCQUFxQixFQUFFLENBQUM7SUFHeEUsQ0FBQztJQUVELFdBQVc7UUFDUCxJQUFJLENBQUMsZ0JBQWdCLENBQUMsVUFBVSxDQUFDLFdBQVcsRUFBRSxDQUFDO0lBQ25ELENBQUM7SUFFTSxhQUFhLENBQUMsT0FBZ0I7UUFDakMsSUFBSSxDQUFDLGdCQUFnQixHQUFHLElBQUksUUFBUSxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBQzlDLE9BQU8sQ0FBQyxPQUFPLEdBQUcsSUFBSSxDQUFDLGdCQUFnQixDQUFDLE9BQU8sQ0FBQztRQUNo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TCxDQUFDO0tBQUE7Q0FFSixDQUFBOztBQTNHWSw4QkFBOEI7SUFIMUMsVUFBVSxDQUFDO1FBQ1IsVUFBVSxFQUFFLE1BQU07S0FDckIsQ0FBQztHQUNXLDhCQUE4QixDQTJHMUM7U0EzR1ksOEJBQThCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtJbmplY3RhYmxlLCBPbkRlc3Ryb3l9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQge1N1YmplY3R9IGZyb20gJ3J4anMnO1xyXG5pbXBvcnQge0FydGljbGVGdWxsT2JqZWN0fSBmcm9tICdAY29saWpuaXQvYXJ0aWNsZWFwaS9idWlsZC9tb2RlbC9hcnRpY2xlLWZ1bGwtb2JqZWN0JztcclxuaW1wb3J0IHtTdXBlckFydGljbGV9IGZyb20gJ0Bjb2xpam5pdC9hcnRpY2xlYXBpL2J1aWxkL21vZGVsL3N1cGVyLWFydGljbGUnO1xyXG5pbXBvcnQge0NvbmZpZ3VyYXRvclN0YXRpc3RpY3NFbnZpcm9ubWVudH0gZnJvbSAnQGNvbGlqbml0L2FydGljbGVhcGkvYnVpbGQvbW9kZWwvY29uZmlndXJhdG9yLXN0YXRpc3RpY3MtZW52aXJvbm1lbnQnO1xyXG5pbXBvcnQge0FydGljbGVzfSBmcm9tICdAY29saWpuaXQvYXJ0aWNsZWFwaS9idWlsZC9hcnRpY2xlcyc7XHJcbmltcG9ydCB7T3B0aW9uc30gZnJvbSAnQGNvbGlqbml0L2lvbmVjb25uZWN0b3IvYnVpbGQvbW9kZWwvb3B0aW9ucyc7XHJcbmltcG9ydCB7RGF0YVNlcnZpY2VSZXNwb25zZURhdGF9IGZyb20gJ0Bjb2xpam5pdC9pb25lY29ubmVjdG9yL2J1aWxkL21vZGVsL2RhdGEtc2VydmljZS1yZXNwb25zZS1kYXRhJztcclxuaW1wb3J0IHtEZWxpdmVyeVByb2dub3Npc30gZnJvbSAnQGNvbGlqbml0L2FydGljbGVhcGkvYnVpbGQvbW9kZWwvZGVsaXZlcnktcHJvZ25vc2lzJztcclxuaW1wb3J0IHtEb2N1bWVudENvbnRlbnR9IGZyb20gJ0Bjb2xpam5pdC9hcnRpY2xlYXBpL2J1aWxkL21vZGVsL2RvY3VtZW50LWNvbnRlbnQnO1xyXG5pbXBvcnQge0J1c2luZXNzT2JqZWN0RmFjdG9yeX0gZnJvbSAnQGNvbGlqbml0L2lvbmVjb25uZWN0b3IvYnVpbGQvc2VydmljZS9idXNpbmVzcy1vYmplY3QtZmFjdG9yeSc7XHJcblxyXG4vLyBTb2xlIHJlc3BvbnNpYmlsaXR5IGlzIHNpbXBseSB0byB3cmFwIGFyb3VuZCBhIGNvbGlqbi5Db25uZWN0b3IgdG8gY3JlYXRlIGEgc3RhYmxlIGlubmVyIGludGVyZmFjZSB0byB0aGUgbGlicmFyeSBpbiBhIDE6MSBtZXRob2Qgd2F5LlxyXG4vLyBPbmx5IHRvIGJlIHVzZWQgYnkgdGhlIElPbmVDb250cm9sbGVyU2VydmljZS5cclxuQEluamVjdGFibGUoe1xyXG4gICAgcHJvdmlkZWRJbjogJ3Jvb3QnXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBQcm9kdWN0Q29ubmVjdG9yQWRhcHRlclNlcnZpY2UgaW1wbGVtZW50cyBPbkRlc3Ryb3kge1xyXG5cclxuICAgIHB1YmxpYyByZWFkb25seSBzaG93TG9hZGVyOiBTdWJqZWN0PGJvb2xlYW4+ID0gbmV3IFN1YmplY3Q8Ym9vbGVhbj4oKTtcclxuXHJcbiAgICBwdWJsaWMgYXJ0aWNsZUNvbm5lY3Rvcj86IEFydGljbGVzO1xyXG5cclxuICAgIHByaXZhdGUgX2JvRmFjdG9yeTogQnVzaW5lc3NPYmplY3RGYWN0b3J5ID0gbmV3IEJ1c2luZXNzT2JqZWN0RmFjdG9yeSgpO1xyXG5cclxuICAgIGNvbnN0cnVjdG9yKCkge1xyXG4gICAgfVxyXG5cclxuICAgIG5nT25EZXN0cm95KCk6IHZvaWQge1xyXG4gICAgICAgIHRoaXMuYXJ0aWNsZUNvbm5lY3Rvci5zaG93TG9hZGVyLnVuc3Vic2NyaWJlKCk7XHJcbiAgICB9XHJcblxyXG4gICAgcHVibGljIGluaXRDb25uZWN0b3Iob3B0aW9uczogT3B0aW9ucyk6IHZvaWQge1xyXG4gICAgICAgIHRoaXMuYXJ0aWNsZUNvbm5lY3RvciA9IG5ldyBBcnRpY2xlcyhvcHRpb25zKTtcclxuICAgICAgICBvcHRpb25zLnNlc3Npb24gPSB0aGlzLmFydGljbGVDb25uZWN0b3Iuc2Vzc2lvbjtcclxuICAgICAgICB0aGlzLmFydGljbGVDb25uZWN0b3Iuc2hvd0xvYWRlci5zdWJzY3JpYmUodmFsdWUgPT4gdGhpcy5zaG93TG9hZGVyLm5leHQodmFsdWUpKTtcclxuICAgIH1cclxuXHJcbiAgICBwdWJsaWMgc2V0SW5zdGFuY2UoaW5zdGFuY2VJZDogc3RyaW5nKTogdm9pZCB7XHJcbiAgICAgICAgLy8gdGhpcy5hcnRpY2xlQ29ubmVjdG9yLnNldEluc3RhbmNlVG9Db25maWd1cmUoaW5zdGFuY2VJZCwgZmFsc2UpO1xyXG4gICAgfVxyXG5cclxuICAgIHB1YmxpYyBhc3luYyBnZXREZWxpdmVyeVByb2dub3Npcyhnb29kSWQ6IG51bWJlciwgYnJhbmNoTnI/OiBzdHJpbmcpOiBQcm9taXNlPGFueT4ge1xyXG4gICAgICAgIGNvbnN0IGRlbGl2ZXJ5UHJvZ25vc2lzOiBEZWxpdmVyeVByb2dub3NpcyA9IGF3YWl0IHRoaXMuZ2V0U2VsZWN0b3JEZWxpdmVyeURhdGUoKTtcclxuICAgICAgICBpZiAoIWRlbGl2ZXJ5UHJvZ25vc2lzIHx8ICFkZWxpdmVyeVByb2dub3Npcy5yZXR1cm5WYWx1ZSkge1xyXG4gICAgICAgICAgICByZXR1cm4gdGhpcy5nZXREZWxpdmVyeURhdGUyKGdvb2RJZCk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHJldHVybiBkZWxpdmVyeVByb2dub3NpcztcclxuICAgIH1cclxuXHJcbiAgICBwdWJsaWMgYXN5bmMgZ2V0U2VsZWN0b3JEZWxpdmVyeURhdGUoKTogUHJvbWlzZTxEZWxpdmVyeVByb2dub3Npcz4ge1xyXG4gICAgICAgIGNvbnN0IHJlc3BvbnNlOiBEYXRhU2VydmljZVJlc3BvbnNlRGF0YSA9IGF3YWl0IHRoaXMuYXJ0aWNsZUNvbm5lY3Rvci5nZXRTZWxlY3RvckRlbGl2ZXJ5RGF0ZSgpO1xyXG4gICAgICAgIGlmIChyZXNwb25zZSAmJiByZXNwb25zZS52YWxpZGF0aW9uUmVzdWx0ICYmIHJlc3BvbnNlLnZhbGlkYXRpb25SZXN1bHQuc3VjY2Vzcykge1xyXG4gICAgICAgICAgICByZXR1cm4gdGhpcy5fYm9GYWN0b3J5Lm1ha2VXaXRoUmF3QmFja2VuZERhdGEoRGVsaXZlcnlQcm9nbm9zaXMsIHJlc3BvbnNlLnJlc3VsdE9iamVjdCkgYXMgdW5rbm93biBhcyBEZWxpdmVyeVByb2dub3NpcztcclxuICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICByZXR1cm4gbnVsbDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgcHVibGljIGFzeW5jIGdldERlbGl2ZXJ5RGF0ZTIoZ29vZElkOiBudW1iZXIpOiBQcm9taXNlPERlbGl2ZXJ5UHJvZ25vc2lzPiB7XHJcbiAgICAgICAgY29uc3QgcmVzcG9uc2U6IERhdGFTZXJ2aWNlUmVzcG9uc2VEYXRhID0gYXdhaXQgdGhpcy5hcnRpY2xlQ29ubmVjdG9yLmdldERlbGl2ZXJ5RGF0ZTIoZ29vZElkKTtcclxuICAgICAgICBpZiAocmVzcG9uc2UgJiYgcmVzcG9uc2UudmFsaWRhdGlvblJlc3VsdCAmJiByZXNwb25zZS52YWxpZGF0aW9uUmVzdWx0LnN1Y2Nlc3MpIHtcclxuICAgICAgICAgICAgcmV0dXJuIHRoaXMuX2JvRmFjdG9yeS5tYWtlV2l0aFJhd0JhY2tlbmREYXRhKERlbGl2ZXJ5UHJvZ25vc2lzLCByZXNwb25zZS5yZXN1bHRPYmplY3QpIGFzIHVua25vd24gYXMgRGVsaXZlcnlQcm9nbm9zaXM7XHJcbiAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgcmV0dXJuIG51bGw7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIHB1YmxpYyBhc3luYyBnZXRKc29uQ29uZmlndXJlZEFydGljbGVzKGNvbmZpZ3VyYXRvclN0YXRpc3RpY3M/OiBDb25maWd1cmF0b3JTdGF0aXN0aWNzRW52aXJvbm1lbnQpOiBQcm9taXNlPHN0cmluZz4ge1xyXG4gICAgICAgIGNvbnN0IHJlc3BvbnNlOiBEYXRhU2VydmljZVJlc3BvbnNlRGF0YSA9IGF3YWl0IHRoaXMuYXJ0aWNsZUNvbm5lY3Rvci5nZXRKc29uQ29uZmlndXJlZEFydGljbGVzKGNvbmZpZ3VyYXRvclN0YXRpc3RpY3MpO1xyXG4gICAgICAgIGlmIChyZXNwb25zZSAmJiByZXNwb25zZS52YWxpZGF0aW9uUmVzdWx0ICYmIHJlc3BvbnNlLnZhbGlkYXRpb25SZXN1bHQuc3VjY2Vzcykge1xyXG4gICAgICAgICAgICByZXR1cm4gcmVzcG9uc2UucmVzdWx0T2JqZWN0O1xyXG4gICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgIHJldHVybiAnJztcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgcHVibGljIGFzeW5jIGdldEpzb25BcnRpY2xlRmxhdFRyZWUoXHJcbiAgICAgICAgZ29vZElkOiBudW1iZXIsXHJcbiAgICAgICAgZ29vZFR5cGU6IHN0cmluZyxcclxuICAgICAgICBxdWFudGl0eTogbnVtYmVyLFxyXG4gICAgICAgIHNob3dMb2FkZXI6IGJvb2xlYW4gPSB0cnVlLFxyXG4gICAgICAgIGluc3RhbmNlSWQ/OiBudW1iZXIsXHJcbiAgICAgICAgY29uZmlndXJhdG9yU3RhdGlzdGljcz86IENvbmZpZ3VyYXRvclN0YXRpc3RpY3NFbnZpcm9ubWVudFxyXG4gICAgKTogUHJvbWlzZTxzdHJpbmc+IHtcclxuICAgICAgICByZXR1cm4gdGhpcy5hcnRpY2xlQ29ubmVjdG9yLmdldEpzb25BcnRpY2xlRmxhdFRyZWUoZ29vZElkLCBnb29kVHlwZSwgcXVhbnRpdHksIHNob3dMb2FkZXIsIGluc3RhbmNlSWQsIGNvbmZpZ3VyYXRvclN0YXRpc3RpY3MpO1xyXG4gICAgfVxyXG5cclxuICAgIHB1YmxpYyBhc3luYyBnZXRHb29kSWRGcm9tQXJ0aWNsZU5yKHNrdTogc3RyaW5nKTogUHJvbWlzZTxudW1iZXI+IHtcclxuICAgICAgICBjb25zdCByZXNwb25zZTogRGF0YVNlcnZpY2VSZXNwb25zZURhdGEgPSBhd2FpdCB0aGlzLmFydGljbGVDb25uZWN0b3IuZ2V0R29vZElkRnJvbUFydGljbGVOcihza3UpO1xyXG4gICAgICAgIGlmIChyZXNwb25zZSAmJiByZXNwb25zZS52YWxpZGF0aW9uUmVzdWx0ICYmIHJlc3BvbnNlLnZhbGlkYXRpb25SZXN1bHQuc3VjY2Vzcykge1xyXG4gICAgICAgICAgICByZXR1cm4gcmVzcG9uc2UucmVzdWx0T2JqZWN0O1xyXG4gICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgIHJldHVybiBudWxsO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBwdWJsaWMgYXN5bmMgZ2V0QXJ0aWNsZUZ1bGxPYmplY3QoZ29vZElkOiBudW1iZXIpOiBQcm9taXNlPEFydGljbGVGdWxsT2JqZWN0PiB7XHJcbiAgICAgICAgY29uc3QgcmVzcG9uc2U6IERhdGFTZXJ2aWNlUmVzcG9uc2VEYXRhID0gYXdhaXQgdGhpcy5hcnRpY2xlQ29ubmVjdG9yLmdldEFydGljbGVGdWxsT2JqZWN0KGdvb2RJZCk7XHJcbiAgICAgICAgaWYgKHJlc3BvbnNlICYmIHJlc3BvbnNlLnZhbGlkYXRpb25SZXN1bHQgJiYgcmVzcG9uc2UudmFsaWRhdGlvblJlc3VsdC5zdWNjZXNzKSB7XHJcbiAgICAgICAgICAgIHJldHVybiB0aGlzLl9ib0ZhY3RvcnkubWFrZVdpdGhSYXdCYWNrZW5kRGF0YShBcnRpY2xlRnVsbE9iamVjdCwgcmVzcG9uc2UucmVzdWx0T2JqZWN0KSBhcyBBcnRpY2xlRnVsbE9iamVjdDtcclxuICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICByZXR1cm4gbnVsbDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgcHVibGljIGFzeW5jIGdldFN1cGVyQXJ0aWNsZShpZDogc3RyaW5nLCBicmFuY2g/OiBzdHJpbmcpOiBQcm9taXNlPFN1cGVyQXJ0aWNsZT4ge1xyXG4gICAgICAgIGNvbnN0IHJlc3BvbnNlOiBEYXRhU2VydmljZVJlc3BvbnNlRGF0YSA9IGF3YWl0IHRoaXMuYXJ0aWNsZUNvbm5lY3Rvci5nZXRTdXBlckFydGljbGVRdWlja1NlbChpZCwgYnJhbmNoKTtcclxuICAgICAgICBpZiAocmVzcG9uc2UgJiYgcmVzcG9uc2UudmFsaWRhdGlvblJlc3VsdCAmJiByZXNwb25zZS52YWxpZGF0aW9uUmVzdWx0LnN1Y2Nlc3MpIHtcclxuICAgICAgICAgICAgcmV0dXJuIHRoaXMuX2JvRmFjdG9yeS5tYWtlV2l0aFJhd0JhY2tlbmREYXRhKFN1cGVyQXJ0aWNsZSwgcmVzcG9uc2UucmVzdWx0T2JqZWN0KSBhcyBTdXBlckFydGljbGU7XHJcbiAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgcmV0dXJuIG51bGw7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIHB1YmxpYyBhc3luYyBnZXREb2N1bWVudENvbnRlbnQoZG9jSWQ6IG51bWJlciwgdGh1bWJuYWlsOiBib29sZWFuID0gdHJ1ZSk6IFByb21pc2U8RG9jdW1lbnRDb250ZW50PiB7XHJcbiAgICAgICAgY29uc3QgcmVzcG9uc2U6IERhdGFTZXJ2aWNlUmVzcG9uc2VEYXRhID0gYXdhaXQgdGhpcy5hcnRpY2xlQ29ubmVjdG9yLmdldERvY3VtZW50Q29udGVudChkb2NJZCwgdGh1bWJuYWlsKTtcclxuICAgICAgICBpZiAocmVzcG9uc2UgJiYgcmVzcG9uc2UudmFsaWRhdGlvblJlc3VsdCAmJiByZXNwb25zZS52YWxpZGF0aW9uUmVzdWx0LnN1Y2Nlc3MpIHtcclxuICAgICAgICAgICAgcmV0dXJuIHRoaXMuX2JvRmFjdG9yeS5tYWtlV2l0aFJhd0JhY2tlbmREYXRhKERvY3VtZW50Q29udGVudCwgcmVzcG9uc2UucmVzdWx0T2JqZWN0KSBhcyB1bmtub3duIGFzIERvY3VtZW50Q29udGVudDtcclxuICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICByZXR1cm4gbnVsbDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG59XHJcbiJdfQ==
@@ -0,0 +1,108 @@
1
+ import { __awaiter, __decorate } 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
+ import * as i0 from "@angular/core";
8
+ import * as i1 from "./product-connector-adapter.service";
9
+ import * as i2 from "./product-settings.service";
10
+ // Holds all iONE backend related state and methods for a running HomeDecorator. To be used anywhere internally.
11
+ let ProductConnectorService = class ProductConnectorService {
12
+ constructor(connector, _settingsService) {
13
+ this.connector = connector;
14
+ this._settingsService = _settingsService;
15
+ this.controllerInitialized = new BehaviorSubject(false);
16
+ this._initializing = false;
17
+ this._initialized = false;
18
+ this.connectorOptions = new Options();
19
+ this.subs = [];
20
+ }
21
+ get shouldShowLoader() {
22
+ return this._shouldShowLoader;
23
+ }
24
+ ngOnDestroy() {
25
+ this.subs.forEach(sub => sub.unsubscribe());
26
+ }
27
+ initDefaultDevelopTestConnection() {
28
+ return __awaiter(this, void 0, void 0, function* () {
29
+ if (this._initialized || this._initializing) {
30
+ return;
31
+ }
32
+ this._initializing = true;
33
+ try {
34
+ const settings = this._settingsService.settings;
35
+ if (!settings) {
36
+ throw Error('Settings are not defined!');
37
+ }
38
+ this.connectorOptions.url = settings.url;
39
+ this.connectorOptions.schema = settings.schema;
40
+ this.connectorOptions.version = settings.version;
41
+ this.connectorOptions.branch = settings.branch;
42
+ this.connectorOptions.username = settings.username;
43
+ this.connectorOptions.password = settings.password;
44
+ this.connectorOptions.session = settings.session;
45
+ this.connectorOptions.currencyId = settings.currency;
46
+ this.connectorOptions.useGroups = settings.useGroups;
47
+ this.connectorOptions.useRenders = settings.useRenders;
48
+ this.connectorOptions.useLoginEncryption = settings.useEncryption;
49
+ this.connectorOptions.languageCode = settings.languageCode;
50
+ this.connector.initConnector(this.connectorOptions);
51
+ this._settingsService.settings.session = this.connectorOptions.session;
52
+ this.controllerInitialized.next(true);
53
+ this._initialized = true;
54
+ this._initializing = false;
55
+ }
56
+ catch (e) {
57
+ this._initializing = false;
58
+ }
59
+ });
60
+ }
61
+ setInstance(instanceId) {
62
+ this.connector.setInstance(instanceId);
63
+ }
64
+ getFullArticle(sku) {
65
+ return __awaiter(this, void 0, void 0, function* () {
66
+ const goodId = yield this.connector.getGoodIdFromArticleNr(sku);
67
+ if (goodId) {
68
+ return this.connector.getArticleFullObject(goodId);
69
+ }
70
+ return null;
71
+ });
72
+ }
73
+ getDocumentContent(docId, thumbnail = true) {
74
+ return this.connector.getDocumentContent(docId, thumbnail);
75
+ }
76
+ getDeliveryPrognosis(goodId) {
77
+ return this.connector.getDeliveryPrognosis(goodId);
78
+ }
79
+ getSelectorDeliveryDate() {
80
+ return __awaiter(this, void 0, void 0, function* () {
81
+ return this.connector.getSelectorDeliveryDate();
82
+ });
83
+ }
84
+ getDeliveryDate2(goodId) {
85
+ return this.connector.getDeliveryDate2(goodId);
86
+ }
87
+ getSuperArticle(id) {
88
+ return this.connector.getSuperArticle(id);
89
+ }
90
+ getJsonArticleFlatTree(goodId, goodType, quantity, showLoader = true, instanceId, configuratorStatistics) {
91
+ return this.connector.getJsonArticleFlatTree(goodId, goodType, quantity, showLoader, instanceId, configuratorStatistics);
92
+ }
93
+ onShowLoaderChange(showLoader) {
94
+ this._shouldShowLoader = showLoader;
95
+ }
96
+ };
97
+ ProductConnectorService.ctorParameters = () => [
98
+ { type: ProductConnectorAdapterService },
99
+ { type: ProductSettingsService }
100
+ ];
101
+ ProductConnectorService.ɵprov = i0.ɵɵdefineInjectable({ factory: function ProductConnectorService_Factory() { return new ProductConnectorService(i0.ɵɵinject(i1.ProductConnectorAdapterService), i0.ɵɵinject(i2.ProductSettingsService)); }, token: ProductConnectorService, providedIn: "root" });
102
+ ProductConnectorService = __decorate([
103
+ Injectable({
104
+ providedIn: 'root'
105
+ })
106
+ ], ProductConnectorService);
107
+ export { ProductConnectorService };
108
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvZHVjdC1jb25uZWN0b3Iuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0Bjb2xpam5pdC9wcm9kdWN0LyIsInNvdXJjZXMiOlsiYXBwL3NlcnZpY2UvcHJvZHVjdC1jb25uZWN0b3Iuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFDLFVBQVUsRUFBWSxNQUFNLGVBQWUsQ0FBQztBQUNwRCxPQUFPLEVBQUMsZUFBZSxFQUFlLE1BQU0sTUFBTSxDQUFDO0FBQ25ELE9BQU8sRUFBQyxPQUFPLEVBQUMsTUFBTSw2Q0FBNkMsQ0FBQztBQUVwRSxPQUFPLEVBQUMsOEJBQThCLEVBQUMsTUFBTSxxQ0FBcUMsQ0FBQztBQUduRixPQUFPLEVBQUMsc0JBQXNCLEVBQUMsTUFBTSw0QkFBNEIsQ0FBQzs7OztBQU9sRSxnSEFBZ0g7QUFJaEgsSUFBYSx1QkFBdUIsR0FBcEMsTUFBYSx1QkFBdUI7SUFnQmxDLFlBQ1MsU0FBeUMsRUFDeEMsZ0JBQXdDO1FBRHpDLGNBQVMsR0FBVCxTQUFTLENBQWdDO1FBQ3hDLHFCQUFnQixHQUFoQixnQkFBZ0IsQ0FBd0I7UUFaM0MsMEJBQXFCLEdBQTZCLElBQUksZUFBZSxDQUFVLEtBQUssQ0FBQyxDQUFDO1FBR3JGLGtCQUFhLEdBQUcsS0FBSyxDQUFDO1FBQ3RCLGlCQUFZLEdBQUcsS0FBSyxDQUFDO1FBRVoscUJBQWdCLEdBQVksSUFBSSxPQUFPLEVBQUUsQ0FBQztRQUUxQyxTQUFJLEdBQW1CLEVBQUUsQ0FBQztJQU0zQyxDQUFDO0lBbEJELElBQVcsZ0JBQWdCO1FBQ3pCLE9BQU8sSUFBSSxDQUFDLGlCQUFpQixDQUFDO0lBQ2hDLENBQUM7SUFrQkQsV0FBVztRQUNULElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsR0FBRyxDQUFDLFdBQVcsRUFBRSxDQUFDLENBQUM7SUFDOUMsQ0FBQztJQUVZLGdDQUFnQzs7WUFDM0MsSUFBSSxJQUFJ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QkFBdUI7O1lBQ2xDLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyx1QkFBdUIsRUFBRSxDQUFDO1FBQ2xELENBQUM7S0FBQTtJQUVNLGdCQUFnQixDQUFDLE1BQWM7UUFDcEMsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLGdCQUFnQixDQUFDLE1BQU0sQ0FBQyxDQUFDO0lBQ2pELENBQUM7SUFFTSxlQUFlLENBQUMsRUFBVTtRQUMvQixPQUFPLElBQUksQ0FBQyxTQUFTLENBQUMsZUFBZSxDQUFDLEVBQUUsQ0FBQyxDQUFDO0lBQzVDLENBQUM7SUFFTSxzQkFBc0IsQ0FDekIsTUFBYyxFQUNkLFFBQWdCLEVBQ2hCLFFBQWdCLEVBQ2hCLGFBQXNCLElBQUksRUFDMUIsVUFBbUIsRUFDbkIsc0JBQTBEO1FBQzVELE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxzQkFBc0IsQ0FBQyxNQUFNLEVBQUUsUUFBUSxFQUFFLFFBQVEsRUFBRSxVQUFVLEVBQUUsVUFBVSxFQUFFLHNCQUFzQixDQUFDLENBQUM7SUFDM0gsQ0FBQztJQUVNLGtCQUFrQixDQUFDLFVBQW1CO1FBQzNDLElBQUksQ0FBQyxpQkFBaUIsR0FBRyxVQUFVLENBQUM7SUFDdEMsQ0FBQztDQUNGLENBQUE7O1lBdkZxQiw4QkFBOEI7WUFDdEIsc0JBQXNCOzs7QUFsQnZDLHVCQUF1QjtJQUhuQyxVQUFVLENBQUM7UUFDVixVQUFVLEVBQUUsTUFBTTtLQUNuQixDQUFDO0dBQ1csdUJBQXVCLENBd0duQztTQXhHWSx1QkFBdUIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0luamVjdGFibGUsIE9uRGVzdHJveX0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7QmVoYXZpb3JTdWJqZWN0LCBTdWJzY3JpcHRpb259IGZyb20gJ3J4anMnO1xyXG5pbXBvcnQge09wdGlvbnN9IGZyb20gJ0Bjb2xpam5pdC9pb25lY29ubmVjdG9yL2J1aWxkL21vZGVsL29wdGlvbnMnO1xyXG5cclxuaW1wb3J0IHtQcm9kdWN0Q29ubmVjdG9yQWRhcHRlclNlcnZpY2V9IGZyb20gJy4vcHJvZHVjdC1jb25uZWN0b3ItYWRhcHRlci5zZXJ2aWNlJztcclxuaW1wb3J0IHtBcnRpY2xlRnVsbE9iamVjdH0gZnJvbSAnQGNvbGlqbml0L2FydGljbGVhcGkvYnVpbGQvbW9kZWwvYXJ0aWNsZS1mdWxsLW9iamVjdCc7XHJcbmltcG9ydCB7U3VwZXJBcnRpY2xlfSBmcm9tICdAY29saWpuaXQvYXJ0aWNsZWFwaS9idWlsZC9tb2RlbC9zdXBlci1hcnRpY2xlJztcclxuaW1wb3J0IHtQcm9kdWN0U2V0dGluZ3NTZXJ2aWNlfSBmcm9tICcuL3Byb2R1Y3Qtc2V0dGluZ3Muc2VydmljZSc7XHJcbmltcG9ydCB7U2V0dGluZ3N9IGZyb20gJy4uL21vZGVsL3NldHRpbmdzJztcclxuaW1wb3J0IHtDb25maWd1cmF0b3JTdGF0aXN0aWNzRW52aXJvbm1lbnR9IGZyb20gJ0Bjb2xpam5pdC9hcnRpY2xlYXBpL2J1aWxkL21vZGVsL2NvbmZpZ3VyYXRvci1zdGF0aXN0aWNzLWVudmlyb25tZW50JztcclxuaW1wb3J0IHtEZWxpdmVyeVByb2dub3Npc30gZnJvbSAnQGNvbGlqbml0L2FydGljbGVhcGkvYnVpbGQvbW9kZWwvZGVsaXZlcnktcHJvZ25vc2lzJztcclxuaW1wb3J0IHtEYXRhU2VydmljZVJlc3BvbnNlRGF0YX0gZnJvbSAnQGNvbGlqbml0L2lvbmVjb25uZWN0b3IvYnVpbGQvbW9kZWwvZGF0YS1zZXJ2aWNlLXJlc3BvbnNlLWRhdGEnO1xyXG5pbXBvcnQge0RvY3VtZW50Q29udGVudH0gZnJvbSAnQGNvbGlqbml0L2FydGljbGVhcGkvYnVpbGQvbW9kZWwvZG9jdW1lbnQtY29udGVudCc7XHJcblxyXG4vLyBIb2xkcyBhbGwgaU9ORSBiYWNrZW5kIHJlbGF0ZWQgc3RhdGUgYW5kIG1ldGhvZHMgZm9yIGEgcnVubmluZyBIb21lRGVjb3JhdG9yLiBUbyBiZSB1c2VkIGFueXdoZXJlIGludGVybmFsbHkuXHJcbkBJbmplY3RhYmxlKHtcclxuICBwcm92aWRlZEluOiAncm9vdCdcclxufSlcclxuZXhwb3J0IGNsYXNzIFByb2R1Y3RDb25uZWN0b3JTZXJ2aWNlIGltcGxlbWVudHMgT25EZXN0cm95IHtcclxuXHJcbiAgcHVibGljIGdldCBzaG91bGRTaG93TG9hZGVyKCk6IGJvb2xlYW4ge1xyXG4gICAgcmV0dXJuIHRoaXMuX3Nob3VsZFNob3dMb2FkZXI7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgY29udHJvbGxlckluaXRpYWxpemVkOiBCZWhhdmlvclN1YmplY3Q8Ym9vbGVhbj4gPSBuZXcgQmVoYXZpb3JTdWJqZWN0PGJvb2xlYW4+KGZhbHNlKTtcclxuXHJcbiAgcHJpdmF0ZSBfc2hvdWxkU2hvd0xvYWRlcjogYm9vbGVhbjtcclxuICBwcml2YXRlIF9pbml0aWFsaXppbmcgPSBmYWxzZTtcclxuICBwcml2YXRlIF9pbml0aWFsaXplZCA9IGZhbHNlO1xyXG5cclxuICBwcml2YXRlIHJlYWRvbmx5IGNvbm5lY3Rvck9wdGlvbnM6IE9wdGlvbnMgPSBuZXcgT3B0aW9ucygpO1xyXG5cclxuICBwcml2YXRlIHJlYWRvbmx5IHN1YnM6IFN1YnNjcmlwdGlvbltdID0gW107XHJcblxyXG4gIGNvbnN0cnVjdG9yKFxyXG4gICAgcHVibGljIGNvbm5lY3RvcjogUHJvZHVjdENvbm5lY3RvckFkYXB0ZXJTZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSBfc2V0dGluZ3NTZXJ2aWNlOiBQcm9kdWN0U2V0dGluZ3NTZXJ2aWNlXHJcbiAgKSB7XHJcbiAgfVxyXG5cclxuICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcclxuICAgIHRoaXMuc3Vicy5mb3JFYWNoKHN1YiA9PiBzdWIudW5zdWJzY3JpYmUoKSk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgYXN5bmMgaW5pdERlZmF1bHREZXZlbG9wVGVzdENvbm5lY3Rpb24oKTogUHJvbWlzZTx2b2lkPiB7XHJcbiAgICBpZiAodGhpcy5faW5pdGlhbGl6ZWQgfHwgdGhpcy5faW5pdGlhbGl6aW5nKSB7XHJcbiAgICAgIHJldHVybjtcclxuICAgIH1cclxuICAgIHRoaXMuX2luaXRpYWxpemluZyA9IHRydWU7XHJcbiAgICB0cnkge1xyXG4gICAgICBjb25zdCBzZXR0aW5nczogU2V0dGluZ3MgPSB0aGlzLl9zZXR0aW5nc1NlcnZpY2Uuc2V0dGluZ3M7XHJcbiAgICAgIGlmICghc2V0dGluZ3MpIHtcclxuICAgICAgICB0aHJvdyBFcnJvcignU2V0dGluZ3MgYXJlIG5vdCBkZWZpbmVkIScpO1xyXG4gICAgICB9XHJcbiAgICAgIHRoaXMuY29ubmVjdG9yT3B0aW9ucy51cmwgPSBzZXR0aW5ncy51cmw7XHJcbiAgICAgIHRoaXMuY29ubmVjdG9yT3B0aW9ucy5zY2hlbWEgPSBzZXR0aW5ncy5zY2hlbWE7XHJcbiAgICAgIHRoaXMuY29ubmVjdG9yT3B0aW9ucy52ZXJzaW9uID0gc2V0dGluZ3MudmVyc2lvbjtcclxuICAgICAgdGhpcy5jb25uZWN0b3JPcHRpb25zLmJyYW5jaCA9IHNldHRpbmdzLmJyYW5jaDtcclxuICAgICAgdGhpcy5jb25uZWN0b3JPcHRpb25zLnVzZXJuYW1lID0gc2V0dGluZ3MudXNlcm5hbWU7XHJcbiAgICAgIHRoaXMuY29ubmVjdG9yT3B0aW9ucy5wYXNzd29yZCA9IHNldHRpbmdzLnBhc3N3b3JkO1xyXG4gICAgICB0aGlzLmNvbm5lY3Rvck9wdGlvbnMuc2Vzc2lvbiA9IHNldHRpbmdzLnNlc3Npb247XHJcbiAgICAgIHRoaXMuY29ubmVjdG9yT3B0aW9ucy5jdXJyZW5jeUlkID0gc2V0dGluZ3MuY3VycmVuY3k7XHJcbiAgICAgIHRoaXMuY29ubmVjdG9yT3B0aW9ucy51c2VHcm91cHMgPSBzZXR0aW5ncy51c2VHcm91cHM7XHJcbiAgICAgIHRoaXMuY29ubmVjdG9yT3B0aW9ucy51c2VSZW5kZXJzID0gc2V0dGluZ3MudXNlUmVuZGVycztcclxuICAgICAgdGhpcy5jb25uZWN0b3JPcHRpb25zLnVzZUxvZ2luRW5jcnlwdGlvbiA9IHNldHRpbmdzLnVzZUVuY3J5cHRpb247XHJcbiAgICAgIHRoaXMuY29ubmVjdG9yT3B0aW9ucy5sYW5ndWFnZUNvZGUgPSBzZXR0aW5ncy5sYW5ndWFnZUNvZGU7XHJcblxyXG4gICAgICB0aGlzLmNvbm5lY3Rvci5pbml0Q29ubmVjdG9yKHRoaXMuY29ubmVjdG9yT3B0aW9ucyk7XHJcbiAgICAgIHRoaXMuX3NldHRpbmdzU2VydmljZS5zZXR0aW5ncy5zZXNzaW9uID0gdGhpcy5jb25uZWN0b3JPcHRpb25zLnNlc3Npb247XHJcbiAgICAgIHRoaXMuY29udHJvbGxlckluaXRpYWxpemVkLm5leHQodHJ1ZSk7XHJcbiAgICAgIHRoaXMuX2luaXRpYWxpemVkID0gdHJ1ZTtcclxuICAgICAgdGhpcy5faW5pdGlhbGl6aW5nID0gZmFsc2U7XHJcbiAgICB9IGNhdGNoIChlKSB7XHJcbiAgICAgIHRoaXMuX2luaXRpYWxpemluZyA9IGZhbHNlO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHVibGljIHNldEluc3RhbmNlKGluc3RhbmNlSWQ6IHN0cmluZyk6IHZvaWQge1xyXG4gICAgdGhpcy5jb25uZWN0b3Iuc2V0SW5zdGFuY2UoaW5zdGFuY2VJZCk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgYXN5bmMgZ2V0RnVsbEFydGljbGUoc2t1OiBzdHJpbmcpOiBQcm9taXNlPEFydGljbGVGdWxsT2JqZWN0PiB7XHJcbiAgICBjb25zdCBnb29kSWQ6IG51bWJlciA9IGF3YWl0IHRoaXMuY29ubmVjdG9yLmdldEdvb2RJZEZyb21BcnRpY2xlTnIoc2t1KTtcclxuICAgIGlmIChnb29kSWQpIHtcclxuICAgICAgcmV0dXJuIHRoaXMuY29ubmVjdG9yLmdldEFydGljbGVGdWxsT2JqZWN0KGdvb2RJZCk7XHJcbiAgICB9XHJcbiAgICByZXR1cm4gbnVsbDtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBnZXREb2N1bWVudENvbnRlbnQoZG9jSWQ6IG51bWJlciwgdGh1bWJuYWlsOiBib29sZWFuID0gdHJ1ZSk6IFByb21pc2U8RG9jdW1lbnRDb250ZW50PiB7XHJcbiAgICByZXR1cm4gdGhpcy5jb25uZWN0b3IuZ2V0RG9jdW1lbnRDb250ZW50KGRvY0lkLCB0aHVtYm5haWwpO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGdldERlbGl2ZXJ5UHJvZ25vc2lzKGdvb2RJZDogbnVtYmVyKTogUHJvbWlzZTxEZWxpdmVyeVByb2dub3Npcz4ge1xyXG4gICAgcmV0dXJuIHRoaXMuY29ubmVjdG9yLmdldERlbGl2ZXJ5UHJvZ25vc2lzKGdvb2RJZCk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgYXN5bmMgZ2V0U2VsZWN0b3JEZWxpdmVyeURhdGUoKTogUHJvbWlzZTxEZWxpdmVyeVByb2dub3Npcz4ge1xyXG4gICAgcmV0dXJuIHRoaXMuY29ubmVjdG9yLmdldFNlbGVjdG9yRGVsaXZlcnlEYXRlKCk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgZ2V0RGVsaXZlcnlEYXRlMihnb29kSWQ6IG51bWJlcik6IFByb21pc2U8RGVsaXZlcnlQcm9nbm9zaXM+IHtcclxuICAgIHJldHVybiB0aGlzLmNvbm5lY3Rvci5nZXREZWxpdmVyeURhdGUyKGdvb2RJZCk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgZ2V0U3VwZXJBcnRpY2xlKGlkOiBzdHJpbmcpOiBQcm9taXNlPFN1cGVyQXJ0aWNsZT4ge1xyXG4gICAgcmV0dXJuIHRoaXMuY29ubmVjdG9yLmdldFN1cGVyQXJ0aWNsZShpZCk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgZ2V0SnNvbkFydGljbGVGbGF0VHJlZShcclxuICAgICAgZ29vZElkOiBudW1iZXIsXHJcbiAgICAgIGdvb2RUeXBlOiBzdHJpbmcsXHJcbiAgICAgIHF1YW50aXR5OiBudW1iZXIsXHJcbiAgICAgIHNob3dMb2FkZXI6IGJvb2xlYW4gPSB0cnVlLFxyXG4gICAgICBpbnN0YW5jZUlkPzogbnVtYmVyLFxyXG4gICAgICBjb25maWd1cmF0b3JTdGF0aXN0aWNzPzogQ29uZmlndXJhdG9yU3RhdGlzdGljc0Vudmlyb25tZW50KTogUHJvbWlzZTxzdHJpbmc+IHtcclxuICAgIHJldHVybiB0aGlzLmNvbm5lY3Rvci5nZXRKc29uQXJ0aWNsZUZsYXRUcmVlKGdvb2RJZCwgZ29vZFR5cGUsIHF1YW50aXR5LCBzaG93TG9hZGVyLCBpbnN0YW5jZUlkLCBjb25maWd1cmF0b3JTdGF0aXN0aWNzKTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBvblNob3dMb2FkZXJDaGFuZ2Uoc2hvd0xvYWRlcjogYm9vbGVhbik6IHZvaWQge1xyXG4gICAgdGhpcy5fc2hvdWxkU2hvd0xvYWRlciA9IHNob3dMb2FkZXI7XHJcbiAgfVxyXG59XHJcbiJdfQ==
@@ -0,0 +1,41 @@
1
+ import { __decorate } from "tslib";
2
+ import { Directive, Injectable, Output } from '@angular/core';
3
+ import { Subject } from 'rxjs';
4
+ import * as i0 from "@angular/core";
5
+ let ProductEventService = class ProductEventService {
6
+ constructor() {
7
+ this.onAddToCart = new Subject();
8
+ this.onAlternativeClick = new Subject();
9
+ this.onAddToQuote = new Subject();
10
+ this.onForceRenderImage = new Subject();
11
+ this.onArticleReceived = new Subject();
12
+ this.onSelectionsReceived = new Subject();
13
+ this.onImageReceived = new Subject();
14
+ this.onRenderStarted = new Subject();
15
+ this.onRenderImageReceived = new Subject();
16
+ this.onDraftRenderImageReceived = new Subject();
17
+ this.onArticleInfoReceived = new Subject();
18
+ this.onUpdateProductInfoTab = new Subject();
19
+ }
20
+ };
21
+ ProductEventService.ɵprov = i0.ɵɵdefineInjectable({ factory: function ProductEventService_Factory() { return new ProductEventService(); }, token: ProductEventService, providedIn: "root" });
22
+ __decorate([
23
+ Output()
24
+ ], ProductEventService.prototype, "onAddToCart", void 0);
25
+ __decorate([
26
+ Output()
27
+ ], ProductEventService.prototype, "onAlternativeClick", void 0);
28
+ __decorate([
29
+ Output()
30
+ ], ProductEventService.prototype, "onAddToQuote", void 0);
31
+ __decorate([
32
+ Output()
33
+ ], ProductEventService.prototype, "onForceRenderImage", void 0);
34
+ ProductEventService = __decorate([
35
+ Directive(),
36
+ Injectable({
37
+ providedIn: 'root'
38
+ })
39
+ ], ProductEventService);
40
+ export { ProductEventService };
41
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvZHVjdC1ldmVudC5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6Im5nOi8vQGNvbGlqbml0L3Byb2R1Y3QvIiwic291cmNlcyI6WyJhcHAvc2VydmljZS9wcm9kdWN0LWV2ZW50LnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFBQyxTQUFTLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUM1RCxPQUFPLEVBQUMsT0FBTyxFQUFDLE1BQU0sTUFBTSxDQUFDOztBQVM3QixJQUFhLG1CQUFtQixHQUFoQyxNQUFhLG1CQUFtQjtJQUFoQztRQUdTLGdCQUFXLEdBQW9CLElBQUksT0FBTyxFQUFVLENBQUM7UUFHckQsdUJBQWtCLEdBQStCLElBQUksT0FBTyxFQUFxQixDQUFDO1FBR2xGLGlCQUFZLEdBQW9CLElBQUksT0FBTyxFQUFVLENBQUM7UUFHdEQsdUJBQWtCLEdBQWtCLElBQUksT0FBTyxFQUFRLENBQUM7UUFFeEQsc0JBQWlCLEdBQTZCLElBQUksT0FBTyxFQUFtQixDQUFDO1FBRTdFLHlCQUFvQixHQUF5QixJQUFJLE9BQU8sRUFBZSxDQUFDO1FBRXhFLG9CQUFlLEdBQW9CLElBQUksT0FBTyxFQUFVLENBQUM7UUFFekQsb0JBQWUsR0FBa0IsSUFBSSxPQUFPLEVBQVEsQ0FBQztRQUVyRCwwQkFBcUIsR0FBb0IsSUFBSSxPQUFPLEVBQVUsQ0FBQztRQUUvRCwrQkFBMEIsR0FBb0IsSUFBSSxPQUFPLEVBQVUsQ0FBQztRQUVwRSwwQkFBcUIsR0FBb0IsSUFBSSxPQUFPLEVBQVUsQ0FBQztRQUUvRCwyQkFBc0IsR0FBb0IsSUFBSSxPQUFPLEVBQVUsQ0FBQztLQUV4RTtDQUFBLENBQUE7O0FBM0JDO0lBREMsTUFBTSxFQUFFO3dEQUNtRDtBQUc1RDtJQURDLE1BQU0sRUFBRTsrREFDZ0Y7QUFHekY7SUFEQyxNQUFNLEVBQUU7eURBQ29EO0FBRzdEO0lBREMsTUFBTSxFQUFFOytEQUNzRDtBQVpwRCxtQkFBbUI7SUFKL0IsU0FBUyxFQUFFO0lBQ1gsVUFBVSxDQUFDO1FBQ1YsVUFBVSxFQUFFLE1BQU07S0FDbkIsQ0FBQztHQUNXLG1CQUFtQixDQThCL0I7U0E5QlksbUJBQW1CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtEaXJlY3RpdmUsIEluamVjdGFibGUsIE91dHB1dH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7U3ViamVjdH0gZnJvbSAncnhqcyc7XHJcbmltcG9ydCB7QXJ0aWNsZUxpc3RPYmplY3R9IGZyb20gJ0Bjb2xpam5pdC9hcnRpY2xlYXBpL2J1aWxkL21vZGVsL2FydGljbGUtbGlzdC1vYmplY3QnO1xyXG5pbXBvcnQge1NlbGVjdGlvbn0gZnJvbSAnQGNvbGlqbml0L2FydGljbGVhcGkvYnVpbGQvbW9kZWwvc2VsZWN0aW9uJztcclxuaW1wb3J0IHtBcnRpY2xlUXVpY2tTZWx9IGZyb20gJ0Bjb2xpam5pdC9hcnRpY2xlYXBpL2J1aWxkL21vZGVsL2FydGljbGUtcXVpY2stc2VsJztcclxuXHJcbkBEaXJlY3RpdmUoKVxyXG5ASW5qZWN0YWJsZSh7XHJcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBQcm9kdWN0RXZlbnRTZXJ2aWNlIHtcclxuXHJcbiAgQE91dHB1dCgpXHJcbiAgcHVibGljIG9uQWRkVG9DYXJ0OiBTdWJqZWN0PHN0cmluZz4gPSBuZXcgU3ViamVjdDxzdHJpbmc+KCk7XHJcblxyXG4gIEBPdXRwdXQoKVxyXG4gIHB1YmxpYyBvbkFsdGVybmF0aXZlQ2xpY2s6IFN1YmplY3Q8QXJ0aWNsZUxpc3RPYmplY3Q+ID0gbmV3IFN1YmplY3Q8QXJ0aWNsZUxpc3RPYmplY3Q+KCk7XHJcblxyXG4gIEBPdXRwdXQoKVxyXG4gIHB1YmxpYyBvbkFkZFRvUXVvdGU6IFN1YmplY3Q8c3RyaW5nPiA9IG5ldyBTdWJqZWN0PHN0cmluZz4oKTtcclxuXHJcbiAgQE91dHB1dCgpXHJcbiAgcHVibGljIG9uRm9yY2VSZW5kZXJJbWFnZTogU3ViamVjdDx2b2lkPiA9IG5ldyBTdWJqZWN0PHZvaWQ+KCk7XHJcblxyXG4gIHB1YmxpYyBvbkFydGljbGVSZWNlaXZlZDogU3ViamVjdDxBcnRpY2xlUXVpY2tTZWw+ID0gbmV3IFN1YmplY3Q8QXJ0aWNsZVF1aWNrU2VsPigpO1xyXG5cclxuICBwdWJsaWMgb25TZWxlY3Rpb25zUmVjZWl2ZWQ6IFN1YmplY3Q8U2VsZWN0aW9uW10+ID0gbmV3IFN1YmplY3Q8U2VsZWN0aW9uW10+KCk7XHJcblxyXG4gIHB1YmxpYyBvbkltYWdlUmVjZWl2ZWQ6IFN1YmplY3Q8c3RyaW5nPiA9IG5ldyBTdWJqZWN0PHN0cmluZz4oKTtcclxuXHJcbiAgcHVibGljIG9uUmVuZGVyU3RhcnRlZDogU3ViamVjdDx2b2lkPiA9IG5ldyBTdWJqZWN0PHZvaWQ+KCk7XHJcblxyXG4gIHB1YmxpYyBvblJlbmRlckltYWdlUmVjZWl2ZWQ6IFN1YmplY3Q8c3RyaW5nPiA9IG5ldyBTdWJqZWN0PHN0cmluZz4oKTtcclxuXHJcbiAgcHVibGljIG9uRHJhZnRSZW5kZXJJbWFnZVJlY2VpdmVkOiBTdWJqZWN0PHN0cmluZz4gPSBuZXcgU3ViamVjdDxzdHJpbmc+KCk7XHJcblxyXG4gIHB1YmxpYyBvbkFydGljbGVJbmZvUmVjZWl2ZWQ6IFN1YmplY3Q8c3RyaW5nPiA9IG5ldyBTdWJqZWN0PHN0cmluZz4oKTtcclxuXHJcbiAgcHVibGljIG9uVXBkYXRlUHJvZHVjdEluZm9UYWI6IFN1YmplY3Q8bnVtYmVyPiA9IG5ldyBTdWJqZWN0PG51bWJlcj4oKTtcclxuXHJcbn1cclxuIl19
@@ -0,0 +1,26 @@
1
+ import { __awaiter, __decorate } from "tslib";
2
+ import { Injectable } from '@angular/core';
3
+ import { ProductSettingsService } from './product-settings.service';
4
+ import * as i0 from "@angular/core";
5
+ import * as i1 from "./product-settings.service";
6
+ let ProductInitializerService = class ProductInitializerService {
7
+ constructor(_settingsService) {
8
+ this._settingsService = _settingsService;
9
+ }
10
+ initializeApp() {
11
+ return __awaiter(this, void 0, void 0, function* () {
12
+ return this._settingsService.initializeSettings();
13
+ });
14
+ }
15
+ };
16
+ ProductInitializerService.ctorParameters = () => [
17
+ { type: ProductSettingsService }
18
+ ];
19
+ ProductInitializerService.ɵprov = i0.ɵɵdefineInjectable({ factory: function ProductInitializerService_Factory() { return new ProductInitializerService(i0.ɵɵinject(i1.ProductSettingsService)); }, token: ProductInitializerService, providedIn: "root" });
20
+ ProductInitializerService = __decorate([
21
+ Injectable({
22
+ providedIn: 'root',
23
+ })
24
+ ], ProductInitializerService);
25
+ export { ProductInitializerService };
26
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvZHVjdC1pbml0aWFsaXplci5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6Im5nOi8vQGNvbGlqbml0L3Byb2R1Y3QvIiwic291cmNlcyI6WyJhcHAvc2VydmljZS9wcm9kdWN0LWluaXRpYWxpemVyLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFBQyxVQUFVLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFDekMsT0FBTyxFQUFDLHNCQUFzQixFQUFDLE1BQU0sNEJBQTRCLENBQUM7OztBQUtsRSxJQUFhLHlCQUF5QixHQUF0QyxNQUFhLHlCQUF5QjtJQUVwQyxZQUNVLGdCQUF3QztRQUF4QyxxQkFBZ0IsR0FBaEIsZ0JBQWdCLENBQXdCO0lBRWxELENBQUM7SUFFWSxhQUFhOztZQUN4QixPQUFPLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxrQkFBa0IsRUFBRSxDQUFDO1FBQ3BELENBQUM7S0FBQTtDQUVGLENBQUE7O1lBUjZCLHNCQUFzQjs7O0FBSHZDLHlCQUF5QjtJQUhyQyxVQUFVLENBQUM7UUFDVixVQUFVLEVBQUUsTUFBTTtLQUNuQixDQUFDO0dBQ1cseUJBQXlCLENBV3JDO1NBWFkseUJBQXlCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtJbmplY3RhYmxlfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHtQcm9kdWN0U2V0dGluZ3NTZXJ2aWNlfSBmcm9tICcuL3Byb2R1Y3Qtc2V0dGluZ3Muc2VydmljZSc7XHJcblxyXG5ASW5qZWN0YWJsZSh7XHJcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgUHJvZHVjdEluaXRpYWxpemVyU2VydmljZSB7XHJcblxyXG4gIGNvbnN0cnVjdG9yKFxyXG4gICAgcHJpdmF0ZSBfc2V0dGluZ3NTZXJ2aWNlOiBQcm9kdWN0U2V0dGluZ3NTZXJ2aWNlXHJcbiAgKSB7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgYXN5bmMgaW5pdGlhbGl6ZUFwcCgpOiBQcm9taXNlPHZvaWQ+IHtcclxuICAgIHJldHVybiB0aGlzLl9zZXR0aW5nc1NlcnZpY2UuaW5pdGlhbGl6ZVNldHRpbmdzKCk7XHJcbiAgfVxyXG5cclxufVxyXG4iXX0=
@@ -0,0 +1,39 @@
1
+ import { __awaiter, __decorate } from "tslib";
2
+ import { Injectable } from '@angular/core';
3
+ import { ProductConnectorService } from './product-connector.service';
4
+ import * as i0 from "@angular/core";
5
+ import * as i1 from "./product-connector.service";
6
+ let ProductModuleService = class ProductModuleService {
7
+ constructor(_iOneConnectorService) {
8
+ this._iOneConnectorService = _iOneConnectorService;
9
+ this._superArticles = new Map();
10
+ }
11
+ getArticle(id) {
12
+ return __awaiter(this, void 0, void 0, function* () {
13
+ return yield this._getArticle(id);
14
+ });
15
+ }
16
+ _getArticle(id) {
17
+ return __awaiter(this, void 0, void 0, function* () {
18
+ if (this._superArticles.has(id)) {
19
+ return this._superArticles.get(id);
20
+ }
21
+ else {
22
+ const mainArticle = yield this._iOneConnectorService.getSuperArticle(id);
23
+ this._superArticles.set(id, mainArticle);
24
+ return mainArticle;
25
+ }
26
+ });
27
+ }
28
+ };
29
+ ProductModuleService.ctorParameters = () => [
30
+ { type: ProductConnectorService }
31
+ ];
32
+ ProductModuleService.ɵprov = i0.ɵɵdefineInjectable({ factory: function ProductModuleService_Factory() { return new ProductModuleService(i0.ɵɵinject(i1.ProductConnectorService)); }, token: ProductModuleService, providedIn: "root" });
33
+ ProductModuleService = __decorate([
34
+ Injectable({
35
+ providedIn: 'root'
36
+ })
37
+ ], ProductModuleService);
38
+ export { ProductModuleService };
39
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvZHVjdC1tb2R1bGUuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0Bjb2xpam5pdC9wcm9kdWN0LyIsInNvdXJjZXMiOlsiYXBwL3NlcnZpY2UvcHJvZHVjdC1tb2R1bGUuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzQyxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQzs7O0FBTXRFLElBQWEsb0JBQW9CLEdBQWpDLE1BQWEsb0JBQW9CO0lBSS9CLFlBQ1UscUJBQThDO1FBQTlDLDBCQUFxQixHQUFyQixxQkFBcUIsQ0FBeUI7UUFIaEQsbUJBQWMsR0FBOEIsSUFBSSxHQUFHLEVBQUUsQ0FBQztJQUkzRCxDQUFDO0lBRVMsVUFBVSxDQUFDLEVBQVU7O1lBQ2hDLE9BQU8sTUFBTSxJQUFJLENBQUMsV0FBVyxDQUFDLEVBQUUsQ0FBQyxDQUFDO1FBQ3BDLENBQUM7S0FBQTtJQUVhLFdBQVcsQ0FBQyxFQUFVOztZQUNsQyxJQUFJLElBQUksQ0FBQyxjQUFjLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxFQUFFO2dCQUMvQixPQUFPLElBQUksQ0FBQyxjQUFjLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDO2FBQ3BDO2lCQUFNO2dCQUNMLE1BQU0sV0FBVyxHQUFHLE1BQU0sSUFBSSxDQUFDLHFCQUFxQixDQUFDLGVBQWUsQ0FBQyxFQUFFLENBQUMsQ0FBQztnQkFDekUsSUFBSSxDQUFDLGNBQWMsQ0FBQyxHQUFHLENBQUMsRUFBRSxFQUFFLFdBQVcsQ0FBQyxDQUFDO2dCQUN6QyxPQUFPLFdBQVcsQ0FBQzthQUNwQjtRQUNILENBQUM7S0FBQTtDQUNGLENBQUE7O1lBaEJrQyx1QkFBdUI7OztBQUw3QyxvQkFBb0I7SUFIaEMsVUFBVSxDQUFDO1FBQ1YsVUFBVSxFQUFFLE1BQU07S0FDbkIsQ0FBQztHQUNXLG9CQUFvQixDQXFCaEM7U0FyQlksb0JBQW9CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBQcm9kdWN0Q29ubmVjdG9yU2VydmljZSB9IGZyb20gJy4vcHJvZHVjdC1jb25uZWN0b3Iuc2VydmljZSc7XHJcbmltcG9ydCB7IFN1cGVyQXJ0aWNsZSB9IGZyb20gJ0Bjb2xpam5pdC9hcnRpY2xlYXBpL2J1aWxkL21vZGVsL3N1cGVyLWFydGljbGUnO1xyXG5cclxuQEluamVjdGFibGUoe1xyXG4gIHByb3ZpZGVkSW46ICdyb290J1xyXG59KVxyXG5leHBvcnQgY2xhc3MgUHJvZHVjdE1vZHVsZVNlcnZpY2Uge1xyXG5cclxuICBwcml2YXRlIF9zdXBlckFydGljbGVzOiBNYXA8c3RyaW5nLCBTdXBlckFydGljbGU+ID0gbmV3IE1hcCgpO1xyXG5cclxuICBjb25zdHJ1Y3RvcihcclxuICAgIHByaXZhdGUgX2lPbmVDb25uZWN0b3JTZXJ2aWNlOiBQcm9kdWN0Q29ubmVjdG9yU2VydmljZVxyXG4gICkge31cclxuXHJcbiAgcHVibGljIGFzeW5jIGdldEFydGljbGUoaWQ6IHN0cmluZyk6IFByb21pc2U8U3VwZXJBcnRpY2xlPiB7XHJcbiAgICByZXR1cm4gYXdhaXQgdGhpcy5fZ2V0QXJ0aWNsZShpZCk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGFzeW5jIF9nZXRBcnRpY2xlKGlkOiBzdHJpbmcpOiBQcm9taXNlPFN1cGVyQXJ0aWNsZT4ge1xyXG4gICAgaWYgKHRoaXMuX3N1cGVyQXJ0aWNsZXMuaGFzKGlkKSkge1xyXG4gICAgICByZXR1cm4gdGhpcy5fc3VwZXJBcnRpY2xlcy5nZXQoaWQpO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgY29uc3QgbWFpbkFydGljbGUgPSBhd2FpdCB0aGlzLl9pT25lQ29ubmVjdG9yU2VydmljZS5nZXRTdXBlckFydGljbGUoaWQpO1xyXG4gICAgICB0aGlzLl9zdXBlckFydGljbGVzLnNldChpZCwgbWFpbkFydGljbGUpO1xyXG4gICAgICByZXR1cm4gbWFpbkFydGljbGU7XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcbiJdfQ==
@@ -0,0 +1,144 @@
1
+ import { __awaiter, __decorate } 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 { Settings } from '../model/settings';
7
+ import { SettingsOptions } from '../model/settings-options';
8
+ import * as i0 from "@angular/core";
9
+ import * as i1 from "../utils/json-utils.service";
10
+ import * as i2 from "./dictionary.service";
11
+ let ProductSettingsService = class ProductSettingsService {
12
+ constructor(_jsonUtilsService, _dictionaryService) {
13
+ this._jsonUtilsService = _jsonUtilsService;
14
+ this._dictionaryService = _dictionaryService;
15
+ this.settingsLoaded = new BehaviorSubject(false);
16
+ }
17
+ set settings(value) {
18
+ this._settings = value;
19
+ }
20
+ get settings() {
21
+ return this._settings;
22
+ }
23
+ initializeSettings() {
24
+ return __awaiter(this, void 0, void 0, function* () {
25
+ // see if there's a json file for application settings
26
+ if (typeof settings === 'undefined') {
27
+ const jsonSettings = yield this._jsonUtilsService.readJsonFile('product-settings.json');
28
+ if (jsonSettings) {
29
+ this.settings = Object.assign(new Settings(), jsonSettings);
30
+ this.settings.options = Object.assign(new SettingsOptions(), this.settings.options);
31
+ this.settingsFinished();
32
+ }
33
+ }
34
+ else {
35
+ this.settings = Object.assign(new Settings(), settings);
36
+ this.settings.options = Object.assign(new SettingsOptions(), this.settings.options);
37
+ this.settingsFinished();
38
+ }
39
+ });
40
+ }
41
+ createSettingsFromObject(obj) {
42
+ return __awaiter(this, void 0, void 0, function* () {
43
+ if (!this.settings) {
44
+ this.settings = new Settings();
45
+ }
46
+ if (obj.hasOwnProperty('url')) {
47
+ this.settings.url = obj['url'];
48
+ this._dictionaryService.rootUrl = this.settings.url.replace('/ajaxservice', '');
49
+ }
50
+ if (obj.hasOwnProperty('schema')) {
51
+ this.settings.schema = obj['schema'];
52
+ }
53
+ if (obj.hasOwnProperty('version')) {
54
+ this.settings.version = obj['version'];
55
+ }
56
+ if (obj.hasOwnProperty('branch')) {
57
+ this.settings.branch = obj['branch'];
58
+ }
59
+ if (obj.hasOwnProperty('currency')) {
60
+ this.settings.currency = obj['currency'];
61
+ }
62
+ if (obj.hasOwnProperty('client')) {
63
+ this.settings.client = obj['client'];
64
+ }
65
+ if (obj.hasOwnProperty('languageCode')) {
66
+ this.settings.languageCode = obj['languageCode'];
67
+ }
68
+ if (obj.hasOwnProperty('username')) {
69
+ this.settings.username = obj['username'];
70
+ }
71
+ if (obj.hasOwnProperty('password')) {
72
+ this.settings.password = obj['password'];
73
+ }
74
+ if (obj.hasOwnProperty('timeoutInMs')) {
75
+ this.settings.timeoutInMs = obj['timeoutInMs'];
76
+ }
77
+ if (obj.hasOwnProperty('session')) {
78
+ this.settings.session = obj['session'];
79
+ }
80
+ if (obj.hasOwnProperty('useGroups')) {
81
+ this.settings.useGroups = obj['useGroups'];
82
+ }
83
+ if (obj.hasOwnProperty('useEncryption')) {
84
+ this.settings.useEncryption = obj['useEncryption'];
85
+ }
86
+ if (obj.hasOwnProperty('useMatch')) {
87
+ this.settings.useMatch = obj['useMatch'];
88
+ }
89
+ if (obj.hasOwnProperty('assetPath')) {
90
+ this.settings.assetPath = obj['assetPath'];
91
+ if (this.settings.assetPath[this.settings.assetPath.length - 1] !== '/') {
92
+ this.settings.assetPath += '/';
93
+ }
94
+ this.settings.threeDAssetPath = this.settings.assetPath;
95
+ }
96
+ if (obj.hasOwnProperty('threeDAssetPath')) {
97
+ this.settings.threeDAssetPath = obj['threeDAssetPath'];
98
+ if (this.settings.threeDAssetPath[this.settings.threeDAssetPath.length - 1] !== '/') {
99
+ this.settings.threeDAssetPath += '/';
100
+ }
101
+ }
102
+ if (obj.hasOwnProperty('currencySymbol')) {
103
+ this.settings.currencySymbol = obj['currencySymbol'];
104
+ }
105
+ if (obj.hasOwnProperty('gtm')) {
106
+ this.settings.gtm = obj['gtm'];
107
+ }
108
+ if (obj.hasOwnProperty('assetIndex')) {
109
+ this.settings.assetIndex = obj['assetIndex'];
110
+ }
111
+ if (obj.hasOwnProperty('lightPresetsIndex')) {
112
+ this.settings.lightPresetsIndex = obj['lightPresetsIndex'];
113
+ }
114
+ if (obj.hasOwnProperty('additionalTranslationFile')) {
115
+ this.settings.additionalTranslationFile = obj['additionalTranslationFile'];
116
+ }
117
+ if (obj.hasOwnProperty('options')) {
118
+ this.settings.options = obj['options'];
119
+ }
120
+ if (obj.hasOwnProperty('renderParameters')) {
121
+ this.settings.renderParameters = obj['renderParameters'];
122
+ }
123
+ this.settingsFinished();
124
+ });
125
+ }
126
+ settingsFinished() {
127
+ return __awaiter(this, void 0, void 0, function* () {
128
+ yield this._dictionaryService.setDictionary(this.settings.languageCode);
129
+ this.settingsLoaded.next(true);
130
+ });
131
+ }
132
+ };
133
+ ProductSettingsService.ctorParameters = () => [
134
+ { type: JsonUtilsService },
135
+ { type: DictionaryService }
136
+ ];
137
+ ProductSettingsService.ɵprov = i0.ɵɵdefineInjectable({ factory: function ProductSettingsService_Factory() { return new ProductSettingsService(i0.ɵɵinject(i1.JsonUtilsService), i0.ɵɵinject(i2.DictionaryService)); }, token: ProductSettingsService, providedIn: "root" });
138
+ ProductSettingsService = __decorate([
139
+ Injectable({
140
+ providedIn: 'root'
141
+ })
142
+ ], ProductSettingsService);
143
+ export { ProductSettingsService };
144
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvZHVjdC1zZXR0aW5ncy5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6Im5nOi8vQGNvbGlqbml0L3Byb2R1Y3QvIiwic291cmNlcyI6WyJhcHAvc2VydmljZS9wcm9kdWN0LXNldHRpbmdzLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0MsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUN2QyxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUMvRCxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUN6RCxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFDN0MsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDJCQUEyQixDQUFDOzs7O0FBTzVELElBQWEsc0JBQXNCLEdBQW5DLE1BQWEsc0JBQXNCO0lBY2pDLFlBQ1UsaUJBQW1DLEVBQ25DLGtCQUFxQztRQURyQyxzQkFBaUIsR0FBakIsaUJBQWlCLENBQWtCO1FBQ25DLHVCQUFrQixHQUFsQixrQkFBa0IsQ0FBbUI7UUFOeEMsbUJBQWMsR0FBNkIsSUFBSSxlQUFlLENBQUMsS0FBSyxDQUFDLENBQUM7SUFRN0UsQ0FBQztJQWhCRCxJQUFXLFFBQVEsQ0FBQyxLQUFlO1FBQ2pDLElBQUksQ0FBQyxTQUFTLEdBQUcsS0FBSyxDQUFDO0lBQ3pCLENBQUM7SUFFRCxJQUFXLFFBQVE7UUFDakIsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDO0lBQ3hCLENBQUM7SUFZWSxrQkFBa0I7O1lBQzdCLHNEQUFzRDtZQUN0RCxJQUFJLE9BQU8sUUFBUSxLQUFLLFdBQVcsRUFBRTtnQkFDbkMsTUFBTSxZQUFZLEdBQUcsTUFBTSxJQUFJLENBQUMsaUJBQWlCLENBQUMsWUFBWSxDQUFDLHVCQUF1QixDQUFDLENBQUM7Z0JBQ3hGLElBQUksWUFB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QUFDO2FBQ3hDO1lBQ0QsSUFBSSxHQUFHLENBQUMsY0FBYyxDQUFDLGtCQUFrQixDQUFDLEVBQUU7Z0JBQzFDLElBQUksQ0FBQyxRQUFRLENBQUMsZ0JBQWdCLEdBQUcsR0FBRyxDQUFDLGtCQUFrQixDQUFDLENBQUM7YUFDMUQ7WUFDRCxJQUFJLENBQUMsZ0JBQWdCLEVBQUUsQ0FBQztRQUMxQixDQUFDO0tBQUE7SUFFWSxnQkFBZ0I7O1lBQzNCLE1BQU0sSUFBSSxDQUFDLGtCQUFrQixDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLFlBQVksQ0FBQyxDQUFDO1lBQ3hFLElBQUksQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ2pDLENBQUM7S0FBQTtDQUNGLENBQUE7O1lBN0c4QixnQkFBZ0I7WUFDZixpQkFBaUI7OztBQWhCcEMsc0JBQXNCO0lBSGxDLFVBQVUsQ0FBQztRQUNWLFVBQVUsRUFBRSxNQUFNO0tBQ25CLENBQUM7R0FDVyxzQkFBc0IsQ0E0SGxDO1NBNUhZLHNCQUFzQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgQmVoYXZpb3JTdWJqZWN0IH0gZnJvbSAncnhqcyc7XHJcbmltcG9ydCB7IEpzb25VdGlsc1NlcnZpY2UgfSBmcm9tICcuLi91dGlscy9qc29uLXV0aWxzLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBEaWN0aW9uYXJ5U2VydmljZSB9IGZyb20gJy4vZGljdGlvbmFyeS5zZXJ2aWNlJztcclxuaW1wb3J0IHsgU2V0dGluZ3MgfSBmcm9tICcuLi9tb2RlbC9zZXR0aW5ncyc7XHJcbmltcG9ydCB7IFNldHRpbmdzT3B0aW9ucyB9IGZyb20gJy4uL21vZGVsL3NldHRpbmdzLW9wdGlvbnMnO1xyXG5cclxuZGVjbGFyZSBsZXQgc2V0dGluZ3M6IGFueTtcclxuXHJcbkBJbmplY3RhYmxlKHtcclxuICBwcm92aWRlZEluOiAncm9vdCdcclxufSlcclxuZXhwb3J0IGNsYXNzIFByb2R1Y3RTZXR0aW5nc1NlcnZpY2Uge1xyXG5cclxuICBwdWJsaWMgc2V0IHNldHRpbmdzKHZhbHVlOiBTZXR0aW5ncykge1xyXG4gICAgdGhpcy5fc2V0dGluZ3MgPSB2YWx1ZTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBnZXQgc2V0dGluZ3MoKTogU2V0dGluZ3Mge1xyXG4gICAgcmV0dXJuIHRoaXMuX3NldHRpbmdzO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIHNldHRpbmdzTG9hZGVkOiBCZWhhdmlvclN1YmplY3Q8Ym9vbGVhbj4gPSBuZXcgQmVoYXZpb3JTdWJqZWN0KGZhbHNlKTtcclxuXHJcbiAgcHJpdmF0ZSBfc2V0dGluZ3M6IFNldHRpbmdzO1xyXG5cclxuICBjb25zdHJ1Y3RvcihcclxuICAgIHByaXZhdGUgX2pzb25VdGlsc1NlcnZpY2U6IEpzb25VdGlsc1NlcnZpY2UsXHJcbiAgICBwcml2YXRlIF9kaWN0aW9uYXJ5U2VydmljZTogRGljdGlvbmFyeVNlcnZpY2VcclxuICApIHtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBhc3luYyBpbml0aWFsaXplU2V0dGluZ3MoKTogUHJvbWlzZTx2b2lkPiB7XHJcbiAgICAvLyBzZWUgaWYgdGhlcmUncyBhIGpzb24gZmlsZSBmb3IgYXBwbGljYXRpb24gc2V0dGluZ3NcclxuICAgIGlmICh0eXBlb2Ygc2V0dGluZ3MgPT09ICd1bmRlZmluZWQnKSB7XHJcbiAgICAgIGNvbnN0IGpzb25TZXR0aW5ncyA9IGF3YWl0IHRoaXMuX2pzb25VdGlsc1NlcnZpY2UucmVhZEpzb25GaWxlKCdwcm9kdWN0LXNldHRpbmdzLmpzb24nKTtcclxuICAgICAgaWYgKGpzb25TZXR0aW5ncykge1xyXG4gICAgICAgIHRoaXMuc2V0dGluZ3MgPSBPYmplY3QuYXNzaWduKG5ldyBTZXR0aW5ncygpLCBqc29uU2V0dGluZ3MpO1xyXG4gICAgICAgIHRoaXMuc2V0dGluZ3Mub3B0aW9ucyA9IE9iamVjdC5hc3NpZ24obmV3IFNldHRpbmdzT3B0aW9ucygpLCB0aGlzLnNldHRpbmdzLm9wdGlvbnMpO1xyXG4gICAgICAgIHRoaXMuc2V0dGluZ3NGaW5pc2hlZCgpO1xyXG4gICAgICB9XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICB0aGlzLnNldHRpbmdzID0gT2JqZWN0LmFzc2lnbihuZXcgU2V0dGluZ3MoKSwgc2V0dGluZ3MpO1xyXG4gICAgICB0aGlzLnNldHRpbmdzLm9wdGlvbnMgPSBPYmplY3QuYXNzaWduKG5ldyBTZXR0aW5nc09wdGlvbnMoKSwgdGhpcy5zZXR0aW5ncy5vcHRpb25zKTtcclxuICAgICAgdGhpcy5zZXR0aW5nc0ZpbmlzaGVkKCk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgYXN5bmMgY3JlYXRlU2V0dGluZ3NGcm9tT2JqZWN0KG9iajogYW55KTogUHJvbWlzZTx2b2lkPiB7XHJcbiAgICBpZiAoIXRoaXMuc2V0dGluZ3MpIHtcclxuICAgICAgdGhpcy5zZXR0aW5ncyA9IG5ldyBTZXR0aW5ncygpO1xyXG4gICAgfVxyXG4gICAgaWYgKG9iai5oYXNPd25Qcm9wZXJ0eSgndXJsJykpIHtcclxuICAgICAgdGhpcy5zZXR0aW5ncy51cmwgPSBvYmpbJ3VybCddO1xyXG4gICAgICB0aGlzLl9kaWN0aW9uYXJ5U2VydmljZS5yb290VXJsID0gdGhpcy5zZXR0aW5ncy51cmwucmVwbGFjZSgnL2FqYXhzZXJ2aWNlJywgJycpO1xyXG4gICAgfVxyXG4gICAgaWYgKG9iai5oYXNPd25Qcm9wZXJ0eSgnc2NoZW1hJykpIHtcclxuICAgICAgdGhpcy5zZXR0aW5ncy5zY2hlbWEgPSBvYmpbJ3NjaGVtYSddO1xyXG4gICAgfVxyXG4gICAgaWYgKG9iai5oYXNPd25Qcm9wZXJ0eSgndmVyc2lvbicpKSB7XHJcbiAgICAgIHRoaXMuc2V0dGluZ3MudmVyc2lvbiA9IG9ialsndmVyc2lvbiddO1xyXG4gICAgfVxyXG4gICAgaWYgKG9iai5oYXNPd25Qcm9wZXJ0eSgnYnJhbmNoJykpIHtcclxuICAgICAgdGhpcy5zZXR0aW5ncy5icmFuY2ggPSBvYmpbJ2JyYW5jaCddO1xyXG4gICAgfVxyXG4gICAgaWYgKG9iai5oYXNPd25Qcm9wZXJ0eSgnY3VycmVuY3knKSkge1xyXG4gICAgICB0aGlzLnNldHRpbmdzLmN1cnJlbmN5ID0gb2JqWydjdXJyZW5jeSddO1xyXG4gICAgfVxyXG4gICAgaWYgKG9iai5oYXNPd25Qcm9wZXJ0eSgnY2xpZW50JykpIHtcclxuICAgICAgdGhpcy5zZXR0aW5ncy5jbGllbnQgPSBvYmpbJ2NsaWVudCddO1xyXG4gICAgfVxyXG4gICAgaWYgKG9iai5oYXNPd25Qcm9wZXJ0eSgnbGFuZ3VhZ2VDb2RlJykpIHtcclxuICAgICAgdGhpcy5zZXR0aW5ncy5sYW5ndWFnZUNvZGUgPSBvYmpbJ2xhbmd1YWdlQ29kZSddO1xyXG4gICAgfVxyXG4gICAgaWYgKG9iai5oYXNPd25Qcm9wZXJ0eSgndXNlcm5hbWUnKSkge1xyXG4gICAgICB0aGlzLnNldHRpbmdzLnVzZXJuYW1lID0gb2JqWyd1c2VybmFtZSddO1xyXG4gICAgfVxyXG4gICAgaWYgKG9iai5oYXNPd25Qcm9wZXJ0eSgncGFzc3dvcmQnKSkge1xyXG4gICAgICB0aGlzLnNldHRpbmdzLnBhc3N3b3JkID0gb2JqWydwYXNzd29yZCddO1xyXG4gICAgfVxyXG4gICAgaWYgKG9iai5oYXNPd25Qcm9wZXJ0eSgndGltZW91dEluTXMnKSkge1xyXG4gICAgICB0aGlzLnNldHRpbmdzLnRpbWVvdXRJbk1zID0gb2JqWyd0aW1lb3V0SW5NcyddO1xyXG4gICAgfVxyXG4gICAgaWYgKG9iai5oYXNPd25Qcm9wZXJ0eSgnc2Vzc2lvbicpKSB7XHJcbiAgICAgIHRoaXMuc2V0dGluZ3Muc2Vzc2lvbiA9IG9ialsnc2Vzc2lvbiddO1xyXG4gICAgfVxyXG4gICAgaWYgKG9iai5oYXNPd25Qcm9wZXJ0eSgndXNlR3JvdXBzJykpIHtcclxuICAgICAgdGhpcy5zZXR0aW5ncy51c2VHcm91cHMgPSBvYmpbJ3VzZUdyb3VwcyddO1xyXG4gICAgfVxyXG4gICAgaWYgKG9iai5oYXNPd25Qcm9wZXJ0eSgndXNlRW5jcnlwdGlvbicpKSB7XHJcbiAgICAgIHRoaXMuc2V0dGluZ3MudXNlRW5jcnlwdGlvbiA9IG9ialsndXNlRW5jcnlwdGlvbiddO1xyXG4gICAgfVxyXG4gICAgaWYgKG9iai5oYXNPd25Qcm9wZXJ0eSgndXNlTWF0Y2gnKSkge1xyXG4gICAgICB0aGlzLnNldHRpbmdzLnVzZU1hdGNoID0gb2JqWyd1c2VNYXRjaCddO1xyXG4gICAgfVxyXG4gICAgaWYgKG9iai5oYXNPd25Qcm9wZXJ0eSgnYXNzZXRQYXRoJykpIHtcclxuICAgICAgdGhpcy5zZXR0aW5ncy5hc3NldFBhdGggPSBvYmpbJ2Fzc2V0UGF0aCddO1xyXG4gICAgICBpZiAodGhpcy5zZXR0aW5ncy5hc3NldFBhdGhbdGhpcy5zZXR0aW5ncy5hc3NldFBhdGgubGVuZ3RoIC0gMV0gIT09ICcvJykge1xyXG4gICAgICAgIHRoaXMuc2V0dGluZ3MuYXNzZXRQYXRoICs9ICcvJztcclxuICAgICAgfVxyXG4gICAgICB0aGlzLnNldHRpbmdzLnRocmVlREFzc2V0UGF0aCA9IHRoaXMuc2V0dGluZ3MuYXNzZXRQYXRoO1xyXG4gICAgfVxyXG4gICAgaWYgKG9iai5oYXNPd25Qcm9wZXJ0eSgndGhyZWVEQXNzZXRQYXRoJykpIHtcclxuICAgICAgdGhpcy5zZXR0aW5ncy50aHJlZURBc3NldFBhdGggPSBvYmpbJ3RocmVlREFzc2V0UGF0aCddO1xyXG4gICAgICBpZiAodGhpcy5zZXR0aW5ncy50aHJlZURBc3NldFBhdGhbdGhpcy5zZXR0aW5ncy50aHJlZURBc3NldFBhdGgubGVuZ3RoIC0gMV0gIT09ICcvJykge1xyXG4gICAgICAgIHRoaXMuc2V0dGluZ3MudGhyZWVEQXNzZXRQYXRoICs9ICcvJztcclxuICAgICAgfVxyXG4gICAgfVxyXG4gICAgaWYgKG9iai5oYXNPd25Qcm9wZXJ0eSgnY3VycmVuY3lTeW1ib2wnKSkge1xyXG4gICAgICB0aGlzLnNldHRpbmdzLmN1cnJlbmN5U3ltYm9sID0gb2JqWydjdXJyZW5jeVN5bWJvbCddO1xyXG4gICAgfVxyXG4gICAgaWYgKG9iai5oYXNPd25Qcm9wZXJ0eSgnZ3RtJykpIHtcclxuICAgICAgdGhpcy5zZXR0aW5ncy5ndG0gPSBvYmpbJ2d0bSddO1xyXG4gICAgfVxyXG4gICAgaWYgKG9iai5oYXNPd25Qcm9wZXJ0eSgnYXNzZXRJbmRleCcpKSB7XHJcbiAgICAgIHRoaXMuc2V0dGluZ3MuYXNzZXRJbmRleCA9IG9ialsnYXNzZXRJbmRleCddO1xyXG4gICAgfVxyXG4gICAgaWYgKG9iai5oYXNPd25Qcm9wZXJ0eSgnbGlnaHRQcmVzZXRzSW5kZXgnKSkge1xyXG4gICAgICB0aGlzLnNldHRpbmdzLmxpZ2h0UHJlc2V0c0luZGV4ID0gb2JqWydsaWdodFByZXNldHNJbmRleCddO1xyXG4gICAgfVxyXG4gICAgaWYgKG9iai5oYXNPd25Qcm9wZXJ0eSgnYWRkaXRpb25hbFRyYW5zbGF0aW9uRmlsZScpKSB7XHJcbiAgICAgIHRoaXMuc2V0dGluZ3MuYWRkaXRpb25hbFRyYW5zbGF0aW9uRmlsZSA9IG9ialsnYWRkaXRpb25hbFRyYW5zbGF0aW9uRmlsZSddO1xyXG4gICAgfVxyXG4gICAgaWYgKG9iai5oYXNPd25Qcm9wZXJ0eSgnb3B0aW9ucycpKSB7XHJcbiAgICAgIHRoaXMuc2V0dGluZ3Mub3B0aW9ucyA9IG9ialsnb3B0aW9ucyddO1xyXG4gICAgfVxyXG4gICAgaWYgKG9iai5oYXNPd25Qcm9wZXJ0eSgncmVuZGVyUGFyYW1ldGVycycpKSB7XHJcbiAgICAgIHRoaXMuc2V0dGluZ3MucmVuZGVyUGFyYW1ldGVycyA9IG9ialsncmVuZGVyUGFyYW1ldGVycyddO1xyXG4gICAgfVxyXG4gICAgdGhpcy5zZXR0aW5nc0ZpbmlzaGVkKCk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgYXN5bmMgc2V0dGluZ3NGaW5pc2hlZCgpOiBQcm9taXNlPHZvaWQ+IHtcclxuICAgIGF3YWl0IHRoaXMuX2RpY3Rpb25hcnlTZXJ2aWNlLnNldERpY3Rpb25hcnkodGhpcy5zZXR0aW5ncy5sYW5ndWFnZUNvZGUpO1xyXG4gICAgdGhpcy5zZXR0aW5nc0xvYWRlZC5uZXh0KHRydWUpO1xyXG4gIH1cclxufVxyXG4iXX0=