@colijnit/product 258.1.0 → 258.1.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/app/components/product-page/product-page.component.d.ts +1 -0
- package/app/components/product-selector-type/product-selector-type.component.d.ts +1 -0
- package/app/components/render-carousel/render-carousel.component.d.ts +40 -0
- package/app/components/render-carousel/render-carousel.module.d.ts +2 -0
- package/app/enum/icon.enum.d.ts +2 -0
- package/app/ione-product.component.d.ts +5 -11
- package/app/model/productSettings.d.ts +2 -14
- package/app/service/product-event.service.d.ts +2 -0
- package/bundles/colijnit-product.umd.js +553 -414
- package/bundles/colijnit-product.umd.js.map +1 -1
- package/colijnit-product-258.1.1.tgz +0 -0
- package/colijnit-product.d.ts +6 -4
- package/colijnit-product.metadata.json +1 -1
- package/esm2015/app/components/image-carousel/image-carousel.component.js +2 -1
- package/esm2015/app/components/product-page/product-page.component.js +8 -3
- package/esm2015/app/components/product-page/product-page.module.js +4 -2
- package/esm2015/app/components/product-selector-type/product-selector-type.component.js +10 -2
- package/esm2015/app/components/render-carousel/render-carousel.component.js +127 -0
- package/esm2015/app/components/render-carousel/render-carousel.module.js +25 -0
- package/esm2015/app/enum/icon.enum.js +3 -1
- package/esm2015/app/ione-product.component.js +26 -27
- package/esm2015/app/ione-product.module.js +3 -13
- package/esm2015/app/model/icon.js +3 -1
- package/esm2015/app/model/productSettings.js +4 -6
- package/esm2015/app/product-version.js +3 -3
- package/esm2015/app/service/product-event.service.js +3 -1
- package/esm2015/colijnit-product.js +7 -5
- package/fesm2015/colijnit-product.js +488 -333
- package/fesm2015/colijnit-product.js.map +1 -1
- package/package.json +1 -1
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
(function (global, factory) {
|
|
2
|
-
typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports, require('@angular/core'), require('rxjs'), require('@colijnit/ioneconnector/build/model/options'), require('@colijnit/articleapi/build/model/article-full-object'), require('@colijnit/articleapi/build/model/super-article'), require('@colijnit/articleapi/build/articles'), require('@colijnit/articleapi/build/model/delivery-prognosis'), require('@colijnit/articleapi/build/model/document-content'), require('@colijnit/ioneconnector/build/service/business-object-factory'), require('@colijnit/transactionapi/build/transaction'), require('@colijnit/mainapi'), require('@colijnit/transactionapi/build/model/transaction-info-response.bo'), require('@colijnit/articleapi/build/model/article-list-object-extended.bo'), require('@angular/common
|
|
3
|
-
typeof define === 'function' && define.amd ? define('@colijnit/product', ['exports', '@angular/core', 'rxjs', '@colijnit/ioneconnector/build/model/options', '@colijnit/articleapi/build/model/article-full-object', '@colijnit/articleapi/build/model/super-article', '@colijnit/articleapi/build/articles', '@colijnit/articleapi/build/model/delivery-prognosis', '@colijnit/articleapi/build/model/document-content', '@colijnit/ioneconnector/build/service/business-object-factory', '@colijnit/transactionapi/build/transaction', '@colijnit/mainapi', '@colijnit/transactionapi/build/model/transaction-info-response.bo', '@colijnit/articleapi/build/model/article-list-object-extended.bo', '@angular/common
|
|
4
|
-
(global = typeof globalThis !== 'undefined' ? globalThis : global || self, factory((global.colijnit = global.colijnit || {}, global.colijnit.product = {}), global.ng.core, global.rxjs, global.options, global.articleFullObject, global.superArticle, global.articles, global.deliveryPrognosis, global.documentContent, global.businessObjectFactory, global.transaction, global.mainapi, global.transactionInfoResponse_bo, global.articleListObjectExtended_bo, global.ng.common
|
|
5
|
-
})(this, (function (exports, i0, rxjs, options, articleFullObject, superArticle, articles, deliveryPrognosis, documentContent, businessObjectFactory, transaction, mainapi, transactionInfoResponse_bo, articleListObjectExtended_bo,
|
|
2
|
+
typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports, require('@angular/core'), require('rxjs'), require('@angular/common/http'), require('@colijnit/ioneconnector/build/utils/string-utils'), require('@colijnit/ioneconnector/build/model/options'), require('@colijnit/articleapi/build/model/article-full-object'), require('@colijnit/articleapi/build/model/super-article'), require('@colijnit/articleapi/build/articles'), require('@colijnit/articleapi/build/model/delivery-prognosis'), require('@colijnit/articleapi/build/model/document-content'), require('@colijnit/ioneconnector/build/service/business-object-factory'), require('@colijnit/transactionapi/build/transaction'), require('@colijnit/mainapi'), require('@colijnit/transactionapi/build/model/transaction-info-response.bo'), require('@colijnit/articleapi/build/model/article-list-object-extended.bo'), require('@angular/common'), require('@angular/animations'), require('@angular/platform-browser'), require('@colijnit/corecomponents'), require('@colijnit/mainapi/build/model/co-document'), require('@colijnit/articleapi/build/model/configurator-statistics-environment'), require('@colijnit/corecomponents_v12')) :
|
|
3
|
+
typeof define === 'function' && define.amd ? define('@colijnit/product', ['exports', '@angular/core', 'rxjs', '@angular/common/http', '@colijnit/ioneconnector/build/utils/string-utils', '@colijnit/ioneconnector/build/model/options', '@colijnit/articleapi/build/model/article-full-object', '@colijnit/articleapi/build/model/super-article', '@colijnit/articleapi/build/articles', '@colijnit/articleapi/build/model/delivery-prognosis', '@colijnit/articleapi/build/model/document-content', '@colijnit/ioneconnector/build/service/business-object-factory', '@colijnit/transactionapi/build/transaction', '@colijnit/mainapi', '@colijnit/transactionapi/build/model/transaction-info-response.bo', '@colijnit/articleapi/build/model/article-list-object-extended.bo', '@angular/common', '@angular/animations', '@angular/platform-browser', '@colijnit/corecomponents', '@colijnit/mainapi/build/model/co-document', '@colijnit/articleapi/build/model/configurator-statistics-environment', '@colijnit/corecomponents_v12'], factory) :
|
|
4
|
+
(global = typeof globalThis !== 'undefined' ? globalThis : global || self, factory((global.colijnit = global.colijnit || {}, global.colijnit.product = {}), global.ng.core, global.rxjs, global.ng.common.http, global.stringUtils, global.options, global.articleFullObject, global.superArticle, global.articles, global.deliveryPrognosis, global.documentContent, global.businessObjectFactory, global.transaction, global.mainapi, global.transactionInfoResponse_bo, global.articleListObjectExtended_bo, global.ng.common, global.ng.animations, global.ng.platformBrowser, global.corecomponents, global.coDocument, global.configuratorStatisticsEnvironment, global.corecomponents_v12));
|
|
5
|
+
})(this, (function (exports, i0, rxjs, i1, stringUtils, options, articleFullObject, superArticle, articles, deliveryPrognosis, documentContent, businessObjectFactory, transaction, mainapi, transactionInfoResponse_bo, articleListObjectExtended_bo, common, animations, i1$1, corecomponents, coDocument, configuratorStatisticsEnvironment, corecomponents_v12) { 'use strict';
|
|
6
6
|
|
|
7
7
|
function _interopNamespace(e) {
|
|
8
8
|
if (e && e.__esModule) return e;
|
|
@@ -31,8 +31,8 @@
|
|
|
31
31
|
function Version() {
|
|
32
32
|
this.name = "@colijnit/product";
|
|
33
33
|
this.description = "Product detail page project for iOne";
|
|
34
|
-
this.symVer = "258.1.
|
|
35
|
-
this.publishDate = "
|
|
34
|
+
this.symVer = "258.1.2";
|
|
35
|
+
this.publishDate = "13-6-2025 16:41:13";
|
|
36
36
|
}
|
|
37
37
|
return Version;
|
|
38
38
|
}());
|
|
@@ -514,6 +514,32 @@
|
|
|
514
514
|
__disposeResources: __disposeResources,
|
|
515
515
|
};
|
|
516
516
|
|
|
517
|
+
var ProductEventService = /** @class */ (function () {
|
|
518
|
+
function ProductEventService() {
|
|
519
|
+
this.onAddToCart = new rxjs.Subject();
|
|
520
|
+
this.onAlternativeClick = new rxjs.Subject();
|
|
521
|
+
this.onAddToQuote = new rxjs.Subject();
|
|
522
|
+
this.onForceRenderImage = new rxjs.Subject();
|
|
523
|
+
this.onArticleReceived = new rxjs.Subject();
|
|
524
|
+
this.onSelectionsReceived = new rxjs.Subject();
|
|
525
|
+
this.onImageReceived = new rxjs.Subject();
|
|
526
|
+
this.onRenderStarted = new rxjs.Subject();
|
|
527
|
+
this.onRenderImageReceived = new rxjs.Subject();
|
|
528
|
+
this.onDraftRenderImageReceived = new rxjs.Subject();
|
|
529
|
+
this.onArticleInfoReceived = new rxjs.Subject();
|
|
530
|
+
this.onAnswersAvailable = new rxjs.Subject();
|
|
531
|
+
this.onReadyToRender = new rxjs.Subject();
|
|
532
|
+
this.onUpdateProductInfoTab = new rxjs.Subject();
|
|
533
|
+
this.errorMessage = new rxjs.Subject();
|
|
534
|
+
this.onGetRenderForRenderCarousel = new rxjs.Subject();
|
|
535
|
+
}
|
|
536
|
+
return ProductEventService;
|
|
537
|
+
}());
|
|
538
|
+
ProductEventService.decorators = [
|
|
539
|
+
{ type: i0.Directive },
|
|
540
|
+
{ type: i0.Injectable }
|
|
541
|
+
];
|
|
542
|
+
|
|
517
543
|
var JsonUtilsService = /** @class */ (function () {
|
|
518
544
|
function JsonUtilsService() {
|
|
519
545
|
}
|
|
@@ -552,6 +578,201 @@
|
|
|
552
578
|
},] }
|
|
553
579
|
];
|
|
554
580
|
|
|
581
|
+
var LanguageCode;
|
|
582
|
+
(function (LanguageCode) {
|
|
583
|
+
LanguageCode["Dutch"] = "nl-NL";
|
|
584
|
+
LanguageCode["English"] = "en-GB";
|
|
585
|
+
LanguageCode["German"] = "de-DE";
|
|
586
|
+
LanguageCode["French"] = "fr-FR";
|
|
587
|
+
})(LanguageCode || (LanguageCode = {}));
|
|
588
|
+
|
|
589
|
+
var Dictionary = /** @class */ (function () {
|
|
590
|
+
function Dictionary() {
|
|
591
|
+
this.strings = {
|
|
592
|
+
"en": {
|
|
593
|
+
"ADDITIONAL_DATA": "Additional information",
|
|
594
|
+
"ALTERNATIVE_PRODUCTS": "Alternative products",
|
|
595
|
+
"ARTICLE_NUMBER": "Productnumber",
|
|
596
|
+
"AS_CONFIGURED": "As configured",
|
|
597
|
+
"CATEGORY": "Category",
|
|
598
|
+
"CATEGORY_TYPE": "Category type",
|
|
599
|
+
"CONFIGURE": "Configure",
|
|
600
|
+
"DELIVERY_TIME_PERIOD": "Delivery time",
|
|
601
|
+
"DESCRIPTION": "Description",
|
|
602
|
+
"DOCUMENTS": "Documents",
|
|
603
|
+
"DOWNLOADS": "Downloads",
|
|
604
|
+
"FEATURES": "Features",
|
|
605
|
+
"HEIGHT": "Height",
|
|
606
|
+
"MATERIAL": "Material",
|
|
607
|
+
"PRODUCT_IN_STOCK": "In stock",
|
|
608
|
+
"PRODUCT_LIMITED_STOCK": "Limited stock",
|
|
609
|
+
"PRODUCT_NOT_IN_STOCK": "Not in stock",
|
|
610
|
+
"PROPERTIES": "Characteristics",
|
|
611
|
+
"QUOTATION": "Quotation",
|
|
612
|
+
"READ_MORE": "Read more",
|
|
613
|
+
"RELATED_PRODUCTS": "Related products",
|
|
614
|
+
"SHOPPING_CART_IN": "In Shopping Cart",
|
|
615
|
+
"SHOW_IN": "Show in",
|
|
616
|
+
"STOCK": "Stock",
|
|
617
|
+
"SYMBOLS": "Symbols",
|
|
618
|
+
"TITLE": "Title",
|
|
619
|
+
"TURNOVERGROUP": "Turnover group",
|
|
620
|
+
"VARIANTS": "Variations",
|
|
621
|
+
"WIDTH": "Width",
|
|
622
|
+
"SUGGESTION": "Suggestion",
|
|
623
|
+
},
|
|
624
|
+
"nl": {
|
|
625
|
+
"ADDITIONAL_DATA": "Extra informatie",
|
|
626
|
+
"ALTERNATIVE_PRODUCTS": "Alternatieve producten",
|
|
627
|
+
"ARTICLE_NUMBER": "Artikel nummer",
|
|
628
|
+
"AS_CONFIGURED": "Zoals samengesteld",
|
|
629
|
+
"CATEGORY": "Categorie",
|
|
630
|
+
"CATEGORY_TYPE": "Categorie type",
|
|
631
|
+
"CONFIGURE": "Configureren",
|
|
632
|
+
"DELIVERY_TIME_PERIOD": "Levertijd",
|
|
633
|
+
"DESCRIPTION": "Omschrijving",
|
|
634
|
+
"DOCUMENTS": "Documenten",
|
|
635
|
+
"DOWNLOADS": "Downloads",
|
|
636
|
+
"FEATURES": "Kenmerken",
|
|
637
|
+
"HEIGHT": "Hoogte",
|
|
638
|
+
"MATERIAL": "Materiaal",
|
|
639
|
+
"PRODUCT_IN_STOCK": "Op voorraad",
|
|
640
|
+
"PRODUCT_LIMITED_STOCK": "Beperkt op voorraad",
|
|
641
|
+
"PRODUCT_NOT_IN_STOCK": "Niet op voorraad",
|
|
642
|
+
"PROPERTIES": "Eigenschappen",
|
|
643
|
+
"QUOTATION": "Quotatie",
|
|
644
|
+
"READ_MORE": "Lees meer",
|
|
645
|
+
"RELATED_PRODUCTS": "Gerelateerde producten",
|
|
646
|
+
"SHOPPING_CART_IN": "In winkelwagen",
|
|
647
|
+
"SHOW_IN": "Laat zien",
|
|
648
|
+
"STOCK": "Voorraad",
|
|
649
|
+
"SYMBOLS": "Symbolen",
|
|
650
|
+
"TITLE": "Titel",
|
|
651
|
+
"TURNOVERGROUP": "Omzetgroep",
|
|
652
|
+
"VARIANTS": "Varianten",
|
|
653
|
+
"WIDTH": "Breedte",
|
|
654
|
+
"SUGGESTION": "Suggesties bij",
|
|
655
|
+
},
|
|
656
|
+
"de": {
|
|
657
|
+
"ADDITIONAL_DATA": "Extra informatie",
|
|
658
|
+
"ALTERNATIVE_PRODUCTS": "Alternative Produkte",
|
|
659
|
+
"ARTICLE_NUMBER": "Artikelnummer",
|
|
660
|
+
"CATEGORY": "Kategorie",
|
|
661
|
+
"CATEGORY_TYPE": "Kategorietype",
|
|
662
|
+
"CONFIGURE": "Konfigurieren",
|
|
663
|
+
"DELIVERY_TIME_PERIOD": "Lieferzeit",
|
|
664
|
+
"DESCRIPTION": "Beschreibung",
|
|
665
|
+
"DOCUMENTS": "Dateien",
|
|
666
|
+
"DOWNLOADS": "Downloads",
|
|
667
|
+
"FEATURES": "Eigenschaften",
|
|
668
|
+
"HEIGHT": "Höhe",
|
|
669
|
+
"MATERIAL": "Material",
|
|
670
|
+
"PRODUCT_IN_STOCK": "Auf lager",
|
|
671
|
+
"PRODUCT_LIMITED_STOCK": "Begrentzt auf lager",
|
|
672
|
+
"PRODUCT_NOT_IN_STOCK": "Nicht auf lager",
|
|
673
|
+
"PROPERTIES": "Eigenschaften",
|
|
674
|
+
"QUOTATION": "Angebot",
|
|
675
|
+
"READ_MORE": "Lesen Sie mehr",
|
|
676
|
+
"RELATED_PRODUCTS": "Verwandte Produkte",
|
|
677
|
+
"SHOPPING_CART_IN": "Im Einkaufswagen",
|
|
678
|
+
"SHOW_IN": "Zeigen",
|
|
679
|
+
"STOCK": "Vorrat",
|
|
680
|
+
"SYMBOLS": "Symbole",
|
|
681
|
+
"TITLE": "Titulatur",
|
|
682
|
+
"TURNOVERGROUP": "Umsatzgruppe",
|
|
683
|
+
"VARIANTS": "Varianten",
|
|
684
|
+
"WIDTH": "Breite",
|
|
685
|
+
"SUGGESTION": "Suggesties bij",
|
|
686
|
+
}
|
|
687
|
+
};
|
|
688
|
+
}
|
|
689
|
+
return Dictionary;
|
|
690
|
+
}());
|
|
691
|
+
|
|
692
|
+
// The localization service, providing peers with text translation functionality.
|
|
693
|
+
var DictionaryService = /** @class */ (function () {
|
|
694
|
+
function DictionaryService(_http, _jsonUtils) {
|
|
695
|
+
this._http = _http;
|
|
696
|
+
this._jsonUtils = _jsonUtils;
|
|
697
|
+
this.dictionaryUrl = 'js/browser/res/dictionary/';
|
|
698
|
+
// private _dictionaryPromise: Map<LanguageCode, Promise<{ [key: string]: string }>> = new Map<LanguageCode, Promise<{ [key: string]: string }>>();
|
|
699
|
+
this._dictionaries = new Map();
|
|
700
|
+
// Some dictionary values have one or more '|~' texts in them, meant to be replaced with client-side given texts.
|
|
701
|
+
this._placeholder = '|~';
|
|
702
|
+
}
|
|
703
|
+
Object.defineProperty(DictionaryService.prototype, "language", {
|
|
704
|
+
get: function () {
|
|
705
|
+
return this._language;
|
|
706
|
+
},
|
|
707
|
+
enumerable: false,
|
|
708
|
+
configurable: true
|
|
709
|
+
});
|
|
710
|
+
Object.defineProperty(DictionaryService.prototype, "rootUrl", {
|
|
711
|
+
set: function (value) {
|
|
712
|
+
this._rootUrl = value;
|
|
713
|
+
this._dictBasePath = this._rootUrl + '/' + this.dictionaryUrl;
|
|
714
|
+
},
|
|
715
|
+
enumerable: false,
|
|
716
|
+
configurable: true
|
|
717
|
+
});
|
|
718
|
+
// Loads the dictionary for given language in memory.
|
|
719
|
+
DictionaryService.prototype.setDictionary = function (language) {
|
|
720
|
+
return __awaiter(this, void 0, void 0, function () {
|
|
721
|
+
var dictionary;
|
|
722
|
+
return __generator(this, function (_a) {
|
|
723
|
+
this._language = language || LanguageCode.Dutch;
|
|
724
|
+
if (!this._dictionaries.has(this._language)) {
|
|
725
|
+
dictionary = new Dictionary();
|
|
726
|
+
if (dictionary.strings[this._language.substr(0, 2).toLowerCase()] !== undefined) {
|
|
727
|
+
this._dictionaries.set(this._language, dictionary.strings[this._language.substr(0, 2).toLowerCase()]);
|
|
728
|
+
}
|
|
729
|
+
}
|
|
730
|
+
return [2 /*return*/];
|
|
731
|
+
});
|
|
732
|
+
});
|
|
733
|
+
};
|
|
734
|
+
/**
|
|
735
|
+
* Returns the localized text for the given dictionary key.
|
|
736
|
+
* @param {string} key
|
|
737
|
+
* @param {boolean} [upperCaseFirst = true] False for first letter lowercase, true for first letter uppercase for returned dict val
|
|
738
|
+
* @param {string[]} replacementTexts Rest params for replacement of '|~' in returned dict value
|
|
739
|
+
* @returns {string} The translated text for given dictionary key
|
|
740
|
+
*/
|
|
741
|
+
DictionaryService.prototype.get = function (key, upperCaseFirst) {
|
|
742
|
+
if (upperCaseFirst === void 0) { upperCaseFirst = true; }
|
|
743
|
+
var replacementTexts = [];
|
|
744
|
+
for (var _i = 2; _i < arguments.length; _i++) {
|
|
745
|
+
replacementTexts[_i - 2] = arguments[_i];
|
|
746
|
+
}
|
|
747
|
+
if (!stringUtils.StringUtils.IsStringWithLength(key)) {
|
|
748
|
+
return key || '';
|
|
749
|
+
}
|
|
750
|
+
var text = this._dictionaries.get(this.language)[key];
|
|
751
|
+
text = stringUtils.StringUtils.IsStringWithLength(text) ? text : key;
|
|
752
|
+
if (upperCaseFirst) {
|
|
753
|
+
text = text.charAt(0).toUpperCase() + text.slice(1);
|
|
754
|
+
}
|
|
755
|
+
else {
|
|
756
|
+
text = text.charAt(0).toLowerCase() + text.slice(1);
|
|
757
|
+
}
|
|
758
|
+
if (replacementTexts.length > 0) {
|
|
759
|
+
text = stringUtils.StringUtils.ReplaceOccurrencesIn.apply(stringUtils.StringUtils, __spreadArray([text, this._placeholder], __read(replacementTexts)));
|
|
760
|
+
}
|
|
761
|
+
return text;
|
|
762
|
+
};
|
|
763
|
+
return DictionaryService;
|
|
764
|
+
}());
|
|
765
|
+
DictionaryService.ɵprov = i0__namespace.ɵɵdefineInjectable({ factory: function DictionaryService_Factory() { return new DictionaryService(i0__namespace.ɵɵinject(i1__namespace.HttpClient), i0__namespace.ɵɵinject(JsonUtilsService)); }, token: DictionaryService, providedIn: "root" });
|
|
766
|
+
DictionaryService.decorators = [
|
|
767
|
+
{ type: i0.Injectable, args: [{
|
|
768
|
+
providedIn: 'root'
|
|
769
|
+
},] }
|
|
770
|
+
];
|
|
771
|
+
DictionaryService.ctorParameters = function () { return [
|
|
772
|
+
{ type: i1.HttpClient },
|
|
773
|
+
{ type: JsonUtilsService }
|
|
774
|
+
]; };
|
|
775
|
+
|
|
555
776
|
var SettingsOptions = /** @class */ (function () {
|
|
556
777
|
function SettingsOptions() {
|
|
557
778
|
this.showStockStatus = false;
|
|
@@ -573,7 +794,7 @@
|
|
|
573
794
|
RenderModes["RenderIone"] = "render_ione";
|
|
574
795
|
})(RenderModes || (RenderModes = {}));
|
|
575
796
|
|
|
576
|
-
var RenderParameters = /** @class */ (function () {
|
|
797
|
+
var RenderParameters$1 = /** @class */ (function () {
|
|
577
798
|
function RenderParameters() {
|
|
578
799
|
this.host = "";
|
|
579
800
|
this.port = 0;
|
|
@@ -583,44 +804,123 @@
|
|
|
583
804
|
return RenderParameters;
|
|
584
805
|
}());
|
|
585
806
|
|
|
586
|
-
var ProductSettings = /** @class */ (function () {
|
|
807
|
+
var ProductSettings = /** @class */ (function (_super) {
|
|
808
|
+
__extends(ProductSettings, _super);
|
|
587
809
|
function ProductSettings() {
|
|
588
|
-
|
|
589
|
-
|
|
590
|
-
|
|
591
|
-
|
|
592
|
-
|
|
593
|
-
|
|
594
|
-
|
|
595
|
-
this.options = new SettingsOptions();
|
|
596
|
-
this.renderParameters = new RenderParameters();
|
|
810
|
+
var _this = _super.apply(this, __spreadArray([], __read(arguments))) || this;
|
|
811
|
+
_this.session = undefined;
|
|
812
|
+
_this.createWebOrder = true;
|
|
813
|
+
_this.currencySymbol = '€';
|
|
814
|
+
_this.options = new SettingsOptions();
|
|
815
|
+
_this.renderParameters = new RenderParameters$1();
|
|
816
|
+
return _this;
|
|
597
817
|
}
|
|
598
818
|
return ProductSettings;
|
|
599
|
-
}());
|
|
819
|
+
}(options.Options));
|
|
600
820
|
|
|
601
|
-
var
|
|
602
|
-
function
|
|
603
|
-
this.
|
|
604
|
-
this.
|
|
605
|
-
this.
|
|
606
|
-
this.onForceRenderImage = new rxjs.Subject();
|
|
607
|
-
this.onArticleReceived = new rxjs.Subject();
|
|
608
|
-
this.onSelectionsReceived = new rxjs.Subject();
|
|
609
|
-
this.onImageReceived = new rxjs.Subject();
|
|
610
|
-
this.onRenderStarted = new rxjs.Subject();
|
|
611
|
-
this.onRenderImageReceived = new rxjs.Subject();
|
|
612
|
-
this.onDraftRenderImageReceived = new rxjs.Subject();
|
|
613
|
-
this.onArticleInfoReceived = new rxjs.Subject();
|
|
614
|
-
this.onAnswersAvailable = new rxjs.Subject();
|
|
615
|
-
this.onUpdateProductInfoTab = new rxjs.Subject();
|
|
616
|
-
this.errorMessage = new rxjs.Subject();
|
|
821
|
+
var ProductSettingsService = /** @class */ (function () {
|
|
822
|
+
function ProductSettingsService(_jsonUtilsService, _dictionaryService) {
|
|
823
|
+
this._jsonUtilsService = _jsonUtilsService;
|
|
824
|
+
this._dictionaryService = _dictionaryService;
|
|
825
|
+
this.settingsLoaded = new rxjs.BehaviorSubject(false);
|
|
617
826
|
}
|
|
618
|
-
|
|
827
|
+
Object.defineProperty(ProductSettingsService.prototype, "settings", {
|
|
828
|
+
get: function () {
|
|
829
|
+
return this._settings;
|
|
830
|
+
},
|
|
831
|
+
set: function (value) {
|
|
832
|
+
this._settings = value;
|
|
833
|
+
},
|
|
834
|
+
enumerable: false,
|
|
835
|
+
configurable: true
|
|
836
|
+
});
|
|
837
|
+
ProductSettingsService.prototype.initializeSettings = function (finish) {
|
|
838
|
+
if (finish === void 0) { finish = true; }
|
|
839
|
+
return __awaiter(this, void 0, void 0, function () {
|
|
840
|
+
var jsonSettings;
|
|
841
|
+
return __generator(this, function (_a) {
|
|
842
|
+
switch (_a.label) {
|
|
843
|
+
case 0:
|
|
844
|
+
if (!(typeof settings === 'undefined')) return [3 /*break*/, 2];
|
|
845
|
+
return [4 /*yield*/, this._jsonUtilsService.readJsonFile('product-settings.json')];
|
|
846
|
+
case 1:
|
|
847
|
+
jsonSettings = _a.sent();
|
|
848
|
+
if (jsonSettings) {
|
|
849
|
+
this.settings = Object.assign(new ProductSettings(), jsonSettings);
|
|
850
|
+
this.settings.options = Object.assign(new SettingsOptions(), this.settings.options);
|
|
851
|
+
if (finish) {
|
|
852
|
+
this.settingsFinished();
|
|
853
|
+
}
|
|
854
|
+
}
|
|
855
|
+
return [3 /*break*/, 3];
|
|
856
|
+
case 2:
|
|
857
|
+
this.settings = Object.assign(new ProductSettings(), settings);
|
|
858
|
+
this.settings.options = Object.assign(new SettingsOptions(), this.settings.options);
|
|
859
|
+
if (finish) {
|
|
860
|
+
this.settingsFinished();
|
|
861
|
+
}
|
|
862
|
+
_a.label = 3;
|
|
863
|
+
case 3: return [2 /*return*/];
|
|
864
|
+
}
|
|
865
|
+
});
|
|
866
|
+
});
|
|
867
|
+
};
|
|
868
|
+
ProductSettingsService.prototype.createSettingsFromObject = function (obj) {
|
|
869
|
+
return __awaiter(this, void 0, void 0, function () {
|
|
870
|
+
var ownOptions, ownRenderParameters;
|
|
871
|
+
return __generator(this, function (_a) {
|
|
872
|
+
if (!this.settings) {
|
|
873
|
+
this.settings = new ProductSettings();
|
|
874
|
+
}
|
|
875
|
+
ownOptions = Object.assign({}, this.settings.options);
|
|
876
|
+
ownRenderParameters = Object.assign({}, this.settings.renderParameters);
|
|
877
|
+
this.settings = Object.assign({}, this.settings, obj);
|
|
878
|
+
if (obj.renderParameters) {
|
|
879
|
+
this.settings.renderParameters = Object.assign({}, ownRenderParameters, obj.renderParameters);
|
|
880
|
+
}
|
|
881
|
+
if (obj.options) {
|
|
882
|
+
this.settings.options = Object.assign({}, ownOptions, obj.options);
|
|
883
|
+
}
|
|
884
|
+
if (obj.hasOwnProperty('assetPath')) {
|
|
885
|
+
this.settings.assetPath = obj['assetPath'];
|
|
886
|
+
if (this.settings.assetPath[this.settings.assetPath.length - 1] !== '/') {
|
|
887
|
+
this.settings.assetPath += '/';
|
|
888
|
+
}
|
|
889
|
+
this.settings.threeDAssetPath = this.settings.assetPath;
|
|
890
|
+
}
|
|
891
|
+
if (obj.hasOwnProperty('threeDAssetPath')) {
|
|
892
|
+
this.settings.threeDAssetPath = obj['threeDAssetPath'];
|
|
893
|
+
if (this.settings.threeDAssetPath[this.settings.threeDAssetPath.length - 1] !== '/') {
|
|
894
|
+
this.settings.threeDAssetPath += '/';
|
|
895
|
+
}
|
|
896
|
+
}
|
|
897
|
+
this.settingsFinished();
|
|
898
|
+
return [2 /*return*/];
|
|
899
|
+
});
|
|
900
|
+
});
|
|
901
|
+
};
|
|
902
|
+
ProductSettingsService.prototype.settingsFinished = function () {
|
|
903
|
+
return __awaiter(this, void 0, void 0, function () {
|
|
904
|
+
return __generator(this, function (_a) {
|
|
905
|
+
switch (_a.label) {
|
|
906
|
+
case 0: return [4 /*yield*/, this._dictionaryService.setDictionary(this.settings.languageCode)];
|
|
907
|
+
case 1:
|
|
908
|
+
_a.sent();
|
|
909
|
+
this.settingsLoaded.next(true);
|
|
910
|
+
return [2 /*return*/];
|
|
911
|
+
}
|
|
912
|
+
});
|
|
913
|
+
});
|
|
914
|
+
};
|
|
915
|
+
return ProductSettingsService;
|
|
619
916
|
}());
|
|
620
|
-
|
|
621
|
-
{ type: i0.Directive },
|
|
917
|
+
ProductSettingsService.decorators = [
|
|
622
918
|
{ type: i0.Injectable }
|
|
623
|
-
];
|
|
919
|
+
];
|
|
920
|
+
ProductSettingsService.ctorParameters = function () { return [
|
|
921
|
+
{ type: JsonUtilsService },
|
|
922
|
+
{ type: DictionaryService }
|
|
923
|
+
]; };
|
|
624
924
|
|
|
625
925
|
// 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.
|
|
626
926
|
// Only to be used by the IOneControllerService.
|
|
@@ -812,382 +1112,83 @@
|
|
|
812
1112
|
var response;
|
|
813
1113
|
return __generator(this, function (_a) {
|
|
814
1114
|
switch (_a.label) {
|
|
815
|
-
case 0: return [4 /*yield*/, this.articleConnector.getArticleFullObject(goodId, showLoader)];
|
|
816
|
-
case 1:
|
|
817
|
-
response = _a.sent();
|
|
818
|
-
if (response && response.validationResult && response.validationResult.success) {
|
|
819
|
-
return [2 /*return*/, this._boFactory.makeWithRawBackendData(articleFullObject.ArticleFullObject, response.resultObject)];
|
|
820
|
-
}
|
|
821
|
-
else {
|
|
822
|
-
return [2 /*return*/, null];
|
|
823
|
-
}
|
|
824
|
-
return [2 /*return*/];
|
|
825
|
-
}
|
|
826
|
-
});
|
|
827
|
-
});
|
|
828
|
-
};
|
|
829
|
-
ProductConnectorAdapterService.prototype.getSuperArticle = function (id, branch) {
|
|
830
|
-
return __awaiter(this, void 0, void 0, function () {
|
|
831
|
-
var response;
|
|
832
|
-
return __generator(this, function (_a) {
|
|
833
|
-
switch (_a.label) {
|
|
834
|
-
case 0: return [4 /*yield*/, this.articleConnector.getSuperArticleQuickSel(id, branch)];
|
|
835
|
-
case 1:
|
|
836
|
-
response = _a.sent();
|
|
837
|
-
if (response && response.validationResult && response.validationResult.success) {
|
|
838
|
-
return [2 /*return*/, this._boFactory.makeWithRawBackendData(superArticle.SuperArticle, response.resultObject)];
|
|
839
|
-
}
|
|
840
|
-
else {
|
|
841
|
-
return [2 /*return*/, null];
|
|
842
|
-
}
|
|
843
|
-
return [2 /*return*/];
|
|
844
|
-
}
|
|
845
|
-
});
|
|
846
|
-
});
|
|
847
|
-
};
|
|
848
|
-
ProductConnectorAdapterService.prototype.getDocumentContent = function (docId, thumbnail) {
|
|
849
|
-
if (thumbnail === void 0) { thumbnail = true; }
|
|
850
|
-
return __awaiter(this, void 0, void 0, function () {
|
|
851
|
-
var response;
|
|
852
|
-
return __generator(this, function (_a) {
|
|
853
|
-
switch (_a.label) {
|
|
854
|
-
case 0: return [4 /*yield*/, this.articleConnector.getDocumentContent(docId, thumbnail)];
|
|
855
|
-
case 1:
|
|
856
|
-
response = _a.sent();
|
|
857
|
-
if (response && response.validationResult && response.validationResult.success) {
|
|
858
|
-
return [2 /*return*/, this._boFactory.makeWithRawBackendData(documentContent.DocumentContent, response.resultObject)];
|
|
859
|
-
}
|
|
860
|
-
else {
|
|
861
|
-
return [2 /*return*/, null];
|
|
862
|
-
}
|
|
863
|
-
return [2 /*return*/];
|
|
864
|
-
}
|
|
865
|
-
});
|
|
866
|
-
});
|
|
867
|
-
};
|
|
868
|
-
ProductConnectorAdapterService.prototype.addWebSessionTransactionLine = function (transactionUuid, sku, quantity) {
|
|
869
|
-
return __awaiter(this, void 0, void 0, function () {
|
|
870
|
-
var response, infoResponse;
|
|
871
|
-
return __generator(this, function (_a) {
|
|
872
|
-
switch (_a.label) {
|
|
873
|
-
case 0: return [4 /*yield*/, this.transactionConnector.addWebSessionTransactionLine(transactionUuid, sku, quantity)];
|
|
874
|
-
case 1:
|
|
875
|
-
response = _a.sent();
|
|
876
|
-
if (response && response.validationResult && response.validationResult.success) {
|
|
877
|
-
infoResponse = this._boFactory.makeWithRawBackendData(transactionInfoResponse_bo.TransactionInfoResponse, response.resultObject);
|
|
878
|
-
return [2 /*return*/, infoResponse.transactionInfo.uuid];
|
|
879
|
-
}
|
|
880
|
-
return [2 /*return*/, ""];
|
|
881
|
-
}
|
|
882
|
-
});
|
|
883
|
-
});
|
|
884
|
-
};
|
|
885
|
-
return ProductConnectorAdapterService;
|
|
886
|
-
}());
|
|
887
|
-
ProductConnectorAdapterService.decorators = [
|
|
888
|
-
{ type: i0.Injectable }
|
|
889
|
-
];
|
|
890
|
-
ProductConnectorAdapterService.ctorParameters = function () { return [
|
|
891
|
-
{ type: ProductEventService }
|
|
892
|
-
]; };
|
|
893
|
-
|
|
894
|
-
var LanguageCode;
|
|
895
|
-
(function (LanguageCode) {
|
|
896
|
-
LanguageCode["Dutch"] = "nl-NL";
|
|
897
|
-
LanguageCode["English"] = "en-GB";
|
|
898
|
-
LanguageCode["German"] = "de-DE";
|
|
899
|
-
LanguageCode["French"] = "fr-FR";
|
|
900
|
-
})(LanguageCode || (LanguageCode = {}));
|
|
901
|
-
|
|
902
|
-
var Dictionary = /** @class */ (function () {
|
|
903
|
-
function Dictionary() {
|
|
904
|
-
this.strings = {
|
|
905
|
-
"en": {
|
|
906
|
-
"ADDITIONAL_DATA": "Additional information",
|
|
907
|
-
"ALTERNATIVE_PRODUCTS": "Alternative products",
|
|
908
|
-
"ARTICLE_NUMBER": "Productnumber",
|
|
909
|
-
"AS_CONFIGURED": "As configured",
|
|
910
|
-
"CATEGORY": "Category",
|
|
911
|
-
"CATEGORY_TYPE": "Category type",
|
|
912
|
-
"CONFIGURE": "Configure",
|
|
913
|
-
"DELIVERY_TIME_PERIOD": "Delivery time",
|
|
914
|
-
"DESCRIPTION": "Description",
|
|
915
|
-
"DOCUMENTS": "Documents",
|
|
916
|
-
"DOWNLOADS": "Downloads",
|
|
917
|
-
"FEATURES": "Features",
|
|
918
|
-
"HEIGHT": "Height",
|
|
919
|
-
"MATERIAL": "Material",
|
|
920
|
-
"PRODUCT_IN_STOCK": "In stock",
|
|
921
|
-
"PRODUCT_LIMITED_STOCK": "Limited stock",
|
|
922
|
-
"PRODUCT_NOT_IN_STOCK": "Not in stock",
|
|
923
|
-
"PROPERTIES": "Characteristics",
|
|
924
|
-
"QUOTATION": "Quotation",
|
|
925
|
-
"READ_MORE": "Read more",
|
|
926
|
-
"RELATED_PRODUCTS": "Related products",
|
|
927
|
-
"SHOPPING_CART_IN": "In Shopping Cart",
|
|
928
|
-
"SHOW_IN": "Show in",
|
|
929
|
-
"STOCK": "Stock",
|
|
930
|
-
"SYMBOLS": "Symbols",
|
|
931
|
-
"TITLE": "Title",
|
|
932
|
-
"TURNOVERGROUP": "Turnover group",
|
|
933
|
-
"VARIANTS": "Variations",
|
|
934
|
-
"WIDTH": "Width",
|
|
935
|
-
"SUGGESTION": "Suggestion",
|
|
936
|
-
},
|
|
937
|
-
"nl": {
|
|
938
|
-
"ADDITIONAL_DATA": "Extra informatie",
|
|
939
|
-
"ALTERNATIVE_PRODUCTS": "Alternatieve producten",
|
|
940
|
-
"ARTICLE_NUMBER": "Artikel nummer",
|
|
941
|
-
"AS_CONFIGURED": "Zoals samengesteld",
|
|
942
|
-
"CATEGORY": "Categorie",
|
|
943
|
-
"CATEGORY_TYPE": "Categorie type",
|
|
944
|
-
"CONFIGURE": "Configureren",
|
|
945
|
-
"DELIVERY_TIME_PERIOD": "Levertijd",
|
|
946
|
-
"DESCRIPTION": "Omschrijving",
|
|
947
|
-
"DOCUMENTS": "Documenten",
|
|
948
|
-
"DOWNLOADS": "Downloads",
|
|
949
|
-
"FEATURES": "Kenmerken",
|
|
950
|
-
"HEIGHT": "Hoogte",
|
|
951
|
-
"MATERIAL": "Materiaal",
|
|
952
|
-
"PRODUCT_IN_STOCK": "Op voorraad",
|
|
953
|
-
"PRODUCT_LIMITED_STOCK": "Beperkt op voorraad",
|
|
954
|
-
"PRODUCT_NOT_IN_STOCK": "Niet op voorraad",
|
|
955
|
-
"PROPERTIES": "Eigenschappen",
|
|
956
|
-
"QUOTATION": "Quotatie",
|
|
957
|
-
"READ_MORE": "Lees meer",
|
|
958
|
-
"RELATED_PRODUCTS": "Gerelateerde producten",
|
|
959
|
-
"SHOPPING_CART_IN": "In winkelwagen",
|
|
960
|
-
"SHOW_IN": "Laat zien",
|
|
961
|
-
"STOCK": "Voorraad",
|
|
962
|
-
"SYMBOLS": "Symbolen",
|
|
963
|
-
"TITLE": "Titel",
|
|
964
|
-
"TURNOVERGROUP": "Omzetgroep",
|
|
965
|
-
"VARIANTS": "Varianten",
|
|
966
|
-
"WIDTH": "Breedte",
|
|
967
|
-
"SUGGESTION": "Suggesties bij",
|
|
968
|
-
},
|
|
969
|
-
"de": {
|
|
970
|
-
"ADDITIONAL_DATA": "Extra informatie",
|
|
971
|
-
"ALTERNATIVE_PRODUCTS": "Alternative Produkte",
|
|
972
|
-
"ARTICLE_NUMBER": "Artikelnummer",
|
|
973
|
-
"CATEGORY": "Kategorie",
|
|
974
|
-
"CATEGORY_TYPE": "Kategorietype",
|
|
975
|
-
"CONFIGURE": "Konfigurieren",
|
|
976
|
-
"DELIVERY_TIME_PERIOD": "Lieferzeit",
|
|
977
|
-
"DESCRIPTION": "Beschreibung",
|
|
978
|
-
"DOCUMENTS": "Dateien",
|
|
979
|
-
"DOWNLOADS": "Downloads",
|
|
980
|
-
"FEATURES": "Eigenschaften",
|
|
981
|
-
"HEIGHT": "Höhe",
|
|
982
|
-
"MATERIAL": "Material",
|
|
983
|
-
"PRODUCT_IN_STOCK": "Auf lager",
|
|
984
|
-
"PRODUCT_LIMITED_STOCK": "Begrentzt auf lager",
|
|
985
|
-
"PRODUCT_NOT_IN_STOCK": "Nicht auf lager",
|
|
986
|
-
"PROPERTIES": "Eigenschaften",
|
|
987
|
-
"QUOTATION": "Angebot",
|
|
988
|
-
"READ_MORE": "Lesen Sie mehr",
|
|
989
|
-
"RELATED_PRODUCTS": "Verwandte Produkte",
|
|
990
|
-
"SHOPPING_CART_IN": "Im Einkaufswagen",
|
|
991
|
-
"SHOW_IN": "Zeigen",
|
|
992
|
-
"STOCK": "Vorrat",
|
|
993
|
-
"SYMBOLS": "Symbole",
|
|
994
|
-
"TITLE": "Titulatur",
|
|
995
|
-
"TURNOVERGROUP": "Umsatzgruppe",
|
|
996
|
-
"VARIANTS": "Varianten",
|
|
997
|
-
"WIDTH": "Breite",
|
|
998
|
-
"SUGGESTION": "Suggesties bij",
|
|
999
|
-
}
|
|
1000
|
-
};
|
|
1001
|
-
}
|
|
1002
|
-
return Dictionary;
|
|
1003
|
-
}());
|
|
1004
|
-
|
|
1005
|
-
// The localization service, providing peers with text translation functionality.
|
|
1006
|
-
var DictionaryService = /** @class */ (function () {
|
|
1007
|
-
function DictionaryService(_http, _jsonUtils) {
|
|
1008
|
-
this._http = _http;
|
|
1009
|
-
this._jsonUtils = _jsonUtils;
|
|
1010
|
-
this.dictionaryUrl = 'js/browser/res/dictionary/';
|
|
1011
|
-
// private _dictionaryPromise: Map<LanguageCode, Promise<{ [key: string]: string }>> = new Map<LanguageCode, Promise<{ [key: string]: string }>>();
|
|
1012
|
-
this._dictionaries = new Map();
|
|
1013
|
-
// Some dictionary values have one or more '|~' texts in them, meant to be replaced with client-side given texts.
|
|
1014
|
-
this._placeholder = '|~';
|
|
1015
|
-
}
|
|
1016
|
-
Object.defineProperty(DictionaryService.prototype, "language", {
|
|
1017
|
-
get: function () {
|
|
1018
|
-
return this._language;
|
|
1019
|
-
},
|
|
1020
|
-
enumerable: false,
|
|
1021
|
-
configurable: true
|
|
1022
|
-
});
|
|
1023
|
-
Object.defineProperty(DictionaryService.prototype, "rootUrl", {
|
|
1024
|
-
set: function (value) {
|
|
1025
|
-
this._rootUrl = value;
|
|
1026
|
-
this._dictBasePath = this._rootUrl + '/' + this.dictionaryUrl;
|
|
1027
|
-
},
|
|
1028
|
-
enumerable: false,
|
|
1029
|
-
configurable: true
|
|
1030
|
-
});
|
|
1031
|
-
// Loads the dictionary for given language in memory.
|
|
1032
|
-
DictionaryService.prototype.setDictionary = function (language) {
|
|
1033
|
-
return __awaiter(this, void 0, void 0, function () {
|
|
1034
|
-
var dictionary;
|
|
1035
|
-
return __generator(this, function (_a) {
|
|
1036
|
-
this._language = language || LanguageCode.Dutch;
|
|
1037
|
-
if (!this._dictionaries.has(this._language)) {
|
|
1038
|
-
dictionary = new Dictionary();
|
|
1039
|
-
if (dictionary.strings[this._language.substr(0, 2).toLowerCase()] !== undefined) {
|
|
1040
|
-
this._dictionaries.set(this._language, dictionary.strings[this._language.substr(0, 2).toLowerCase()]);
|
|
1041
|
-
}
|
|
1115
|
+
case 0: return [4 /*yield*/, this.articleConnector.getArticleFullObject(goodId, showLoader)];
|
|
1116
|
+
case 1:
|
|
1117
|
+
response = _a.sent();
|
|
1118
|
+
if (response && response.validationResult && response.validationResult.success) {
|
|
1119
|
+
return [2 /*return*/, this._boFactory.makeWithRawBackendData(articleFullObject.ArticleFullObject, response.resultObject)];
|
|
1120
|
+
}
|
|
1121
|
+
else {
|
|
1122
|
+
return [2 /*return*/, null];
|
|
1123
|
+
}
|
|
1124
|
+
return [2 /*return*/];
|
|
1042
1125
|
}
|
|
1043
|
-
return [2 /*return*/];
|
|
1044
1126
|
});
|
|
1045
1127
|
});
|
|
1046
1128
|
};
|
|
1047
|
-
|
|
1048
|
-
* Returns the localized text for the given dictionary key.
|
|
1049
|
-
* @param {string} key
|
|
1050
|
-
* @param {boolean} [upperCaseFirst = true] False for first letter lowercase, true for first letter uppercase for returned dict val
|
|
1051
|
-
* @param {string[]} replacementTexts Rest params for replacement of '|~' in returned dict value
|
|
1052
|
-
* @returns {string} The translated text for given dictionary key
|
|
1053
|
-
*/
|
|
1054
|
-
DictionaryService.prototype.get = function (key, upperCaseFirst) {
|
|
1055
|
-
if (upperCaseFirst === void 0) { upperCaseFirst = true; }
|
|
1056
|
-
var replacementTexts = [];
|
|
1057
|
-
for (var _i = 2; _i < arguments.length; _i++) {
|
|
1058
|
-
replacementTexts[_i - 2] = arguments[_i];
|
|
1059
|
-
}
|
|
1060
|
-
if (!stringUtils.StringUtils.IsStringWithLength(key)) {
|
|
1061
|
-
return key || '';
|
|
1062
|
-
}
|
|
1063
|
-
var text = this._dictionaries.get(this.language)[key];
|
|
1064
|
-
text = stringUtils.StringUtils.IsStringWithLength(text) ? text : key;
|
|
1065
|
-
if (upperCaseFirst) {
|
|
1066
|
-
text = text.charAt(0).toUpperCase() + text.slice(1);
|
|
1067
|
-
}
|
|
1068
|
-
else {
|
|
1069
|
-
text = text.charAt(0).toLowerCase() + text.slice(1);
|
|
1070
|
-
}
|
|
1071
|
-
if (replacementTexts.length > 0) {
|
|
1072
|
-
text = stringUtils.StringUtils.ReplaceOccurrencesIn.apply(stringUtils.StringUtils, __spreadArray([text, this._placeholder], __read(replacementTexts)));
|
|
1073
|
-
}
|
|
1074
|
-
return text;
|
|
1075
|
-
};
|
|
1076
|
-
return DictionaryService;
|
|
1077
|
-
}());
|
|
1078
|
-
DictionaryService.ɵprov = i0__namespace.ɵɵdefineInjectable({ factory: function DictionaryService_Factory() { return new DictionaryService(i0__namespace.ɵɵinject(i1__namespace.HttpClient), i0__namespace.ɵɵinject(JsonUtilsService)); }, token: DictionaryService, providedIn: "root" });
|
|
1079
|
-
DictionaryService.decorators = [
|
|
1080
|
-
{ type: i0.Injectable, args: [{
|
|
1081
|
-
providedIn: 'root'
|
|
1082
|
-
},] }
|
|
1083
|
-
];
|
|
1084
|
-
DictionaryService.ctorParameters = function () { return [
|
|
1085
|
-
{ type: i1.HttpClient },
|
|
1086
|
-
{ type: JsonUtilsService }
|
|
1087
|
-
]; };
|
|
1088
|
-
|
|
1089
|
-
var ProductSettingsService = /** @class */ (function () {
|
|
1090
|
-
function ProductSettingsService(_jsonUtilsService, _dictionaryService) {
|
|
1091
|
-
this._jsonUtilsService = _jsonUtilsService;
|
|
1092
|
-
this._dictionaryService = _dictionaryService;
|
|
1093
|
-
this.settingsLoaded = new rxjs.BehaviorSubject(false);
|
|
1094
|
-
}
|
|
1095
|
-
Object.defineProperty(ProductSettingsService.prototype, "settings", {
|
|
1096
|
-
get: function () {
|
|
1097
|
-
return this._settings;
|
|
1098
|
-
},
|
|
1099
|
-
set: function (value) {
|
|
1100
|
-
this._settings = value;
|
|
1101
|
-
},
|
|
1102
|
-
enumerable: false,
|
|
1103
|
-
configurable: true
|
|
1104
|
-
});
|
|
1105
|
-
ProductSettingsService.prototype.initializeSettings = function (finish) {
|
|
1106
|
-
if (finish === void 0) { finish = true; }
|
|
1129
|
+
ProductConnectorAdapterService.prototype.getSuperArticle = function (id, branch) {
|
|
1107
1130
|
return __awaiter(this, void 0, void 0, function () {
|
|
1108
|
-
var
|
|
1131
|
+
var response;
|
|
1109
1132
|
return __generator(this, function (_a) {
|
|
1110
1133
|
switch (_a.label) {
|
|
1111
|
-
case 0:
|
|
1112
|
-
if (!(typeof settings === 'undefined')) return [3 /*break*/, 2];
|
|
1113
|
-
return [4 /*yield*/, this._jsonUtilsService.readJsonFile('product-settings.json')];
|
|
1134
|
+
case 0: return [4 /*yield*/, this.articleConnector.getSuperArticleQuickSel(id, branch)];
|
|
1114
1135
|
case 1:
|
|
1115
|
-
|
|
1116
|
-
if (
|
|
1117
|
-
|
|
1118
|
-
this.settings.options = Object.assign(new SettingsOptions(), this.settings.options);
|
|
1119
|
-
if (finish) {
|
|
1120
|
-
this.settingsFinished();
|
|
1121
|
-
}
|
|
1136
|
+
response = _a.sent();
|
|
1137
|
+
if (response && response.validationResult && response.validationResult.success) {
|
|
1138
|
+
return [2 /*return*/, this._boFactory.makeWithRawBackendData(superArticle.SuperArticle, response.resultObject)];
|
|
1122
1139
|
}
|
|
1123
|
-
|
|
1124
|
-
|
|
1125
|
-
this.settings = Object.assign(new ProductSettings(), settings);
|
|
1126
|
-
this.settings.options = Object.assign(new SettingsOptions(), this.settings.options);
|
|
1127
|
-
if (finish) {
|
|
1128
|
-
this.settingsFinished();
|
|
1140
|
+
else {
|
|
1141
|
+
return [2 /*return*/, null];
|
|
1129
1142
|
}
|
|
1130
|
-
|
|
1131
|
-
case 3: return [2 /*return*/];
|
|
1143
|
+
return [2 /*return*/];
|
|
1132
1144
|
}
|
|
1133
1145
|
});
|
|
1134
1146
|
});
|
|
1135
1147
|
};
|
|
1136
|
-
|
|
1148
|
+
ProductConnectorAdapterService.prototype.getDocumentContent = function (docId, thumbnail) {
|
|
1149
|
+
if (thumbnail === void 0) { thumbnail = true; }
|
|
1137
1150
|
return __awaiter(this, void 0, void 0, function () {
|
|
1138
|
-
var
|
|
1151
|
+
var response;
|
|
1139
1152
|
return __generator(this, function (_a) {
|
|
1140
|
-
|
|
1141
|
-
|
|
1142
|
-
|
|
1143
|
-
|
|
1144
|
-
|
|
1145
|
-
|
|
1146
|
-
|
|
1147
|
-
|
|
1148
|
-
|
|
1149
|
-
|
|
1150
|
-
|
|
1151
|
-
}
|
|
1152
|
-
if (obj.hasOwnProperty('assetPath')) {
|
|
1153
|
-
this.settings.assetPath = obj['assetPath'];
|
|
1154
|
-
if (this.settings.assetPath[this.settings.assetPath.length - 1] !== '/') {
|
|
1155
|
-
this.settings.assetPath += '/';
|
|
1156
|
-
}
|
|
1157
|
-
this.settings.threeDAssetPath = this.settings.assetPath;
|
|
1158
|
-
}
|
|
1159
|
-
if (obj.hasOwnProperty('threeDAssetPath')) {
|
|
1160
|
-
this.settings.threeDAssetPath = obj['threeDAssetPath'];
|
|
1161
|
-
if (this.settings.threeDAssetPath[this.settings.threeDAssetPath.length - 1] !== '/') {
|
|
1162
|
-
this.settings.threeDAssetPath += '/';
|
|
1163
|
-
}
|
|
1153
|
+
switch (_a.label) {
|
|
1154
|
+
case 0: return [4 /*yield*/, this.articleConnector.getDocumentContent(docId, thumbnail)];
|
|
1155
|
+
case 1:
|
|
1156
|
+
response = _a.sent();
|
|
1157
|
+
if (response && response.validationResult && response.validationResult.success) {
|
|
1158
|
+
return [2 /*return*/, this._boFactory.makeWithRawBackendData(documentContent.DocumentContent, response.resultObject)];
|
|
1159
|
+
}
|
|
1160
|
+
else {
|
|
1161
|
+
return [2 /*return*/, null];
|
|
1162
|
+
}
|
|
1163
|
+
return [2 /*return*/];
|
|
1164
1164
|
}
|
|
1165
|
-
this.settingsFinished();
|
|
1166
|
-
return [2 /*return*/];
|
|
1167
1165
|
});
|
|
1168
1166
|
});
|
|
1169
1167
|
};
|
|
1170
|
-
|
|
1168
|
+
ProductConnectorAdapterService.prototype.addWebSessionTransactionLine = function (transactionUuid, sku, quantity) {
|
|
1171
1169
|
return __awaiter(this, void 0, void 0, function () {
|
|
1170
|
+
var response, infoResponse;
|
|
1172
1171
|
return __generator(this, function (_a) {
|
|
1173
1172
|
switch (_a.label) {
|
|
1174
|
-
case 0: return [4 /*yield*/, this.
|
|
1173
|
+
case 0: return [4 /*yield*/, this.transactionConnector.addWebSessionTransactionLine(transactionUuid, sku, quantity)];
|
|
1175
1174
|
case 1:
|
|
1176
|
-
_a.sent();
|
|
1177
|
-
|
|
1178
|
-
|
|
1175
|
+
response = _a.sent();
|
|
1176
|
+
if (response && response.validationResult && response.validationResult.success) {
|
|
1177
|
+
infoResponse = this._boFactory.makeWithRawBackendData(transactionInfoResponse_bo.TransactionInfoResponse, response.resultObject);
|
|
1178
|
+
return [2 /*return*/, infoResponse.transactionInfo.uuid];
|
|
1179
|
+
}
|
|
1180
|
+
return [2 /*return*/, ""];
|
|
1179
1181
|
}
|
|
1180
1182
|
});
|
|
1181
1183
|
});
|
|
1182
1184
|
};
|
|
1183
|
-
return
|
|
1185
|
+
return ProductConnectorAdapterService;
|
|
1184
1186
|
}());
|
|
1185
|
-
|
|
1187
|
+
ProductConnectorAdapterService.decorators = [
|
|
1186
1188
|
{ type: i0.Injectable }
|
|
1187
1189
|
];
|
|
1188
|
-
|
|
1189
|
-
{ type:
|
|
1190
|
-
{ type: DictionaryService }
|
|
1190
|
+
ProductConnectorAdapterService.ctorParameters = function () { return [
|
|
1191
|
+
{ type: ProductEventService }
|
|
1191
1192
|
]; };
|
|
1192
1193
|
|
|
1193
1194
|
// Holds all iONE backend related state and methods for a running HomeDecorator. To be used anywhere internally.
|
|
@@ -1327,7 +1328,7 @@
|
|
|
1327
1328
|
]; };
|
|
1328
1329
|
|
|
1329
1330
|
var IoneProductComponent = /** @class */ (function () {
|
|
1330
|
-
function IoneProductComponent(
|
|
1331
|
+
function IoneProductComponent(_appEventService, _settingsService) {
|
|
1331
1332
|
var _this = this;
|
|
1332
1333
|
// this.sku = 'CF-HILL';
|
|
1333
1334
|
// this.sku = 'CF-ALMADA';
|
|
@@ -1341,15 +1342,15 @@
|
|
|
1341
1342
|
// this.sku = '104';
|
|
1342
1343
|
// this.sku = "70000107";
|
|
1343
1344
|
// this.sku = "grover";
|
|
1344
|
-
this.
|
|
1345
|
-
this.
|
|
1346
|
-
this._ione = _ione;
|
|
1347
|
-
this._changeDetector = _changeDetector;
|
|
1345
|
+
// this.sku = "1000610952";
|
|
1346
|
+
// this.sku = "4387";
|
|
1348
1347
|
this._appEventService = _appEventService;
|
|
1349
1348
|
this._settingsService = _settingsService;
|
|
1349
|
+
this.enableRenderCarousel = false;
|
|
1350
1350
|
this.handleAddArticleInternally = true;
|
|
1351
1351
|
this.onAddToCart = new i0.EventEmitter();
|
|
1352
1352
|
this.forceRenderImage = new i0.EventEmitter();
|
|
1353
|
+
this.getRenderForRenderCarousel = new i0.EventEmitter();
|
|
1353
1354
|
this.onAlternativeClick = new i0.EventEmitter();
|
|
1354
1355
|
this.onArticleInfoReceived = new i0.EventEmitter();
|
|
1355
1356
|
this.onArticleReceived = new i0.EventEmitter();
|
|
@@ -1360,9 +1361,7 @@
|
|
|
1360
1361
|
this.settingsLoaded = false;
|
|
1361
1362
|
this.showHD = false;
|
|
1362
1363
|
this._subs = [];
|
|
1363
|
-
this._subs.push(
|
|
1364
|
-
// this._dictionary.dictionaryLoaded.subscribe(d => this.upAndLoaded = true),
|
|
1365
|
-
this._appEventService.onAddToCart.subscribe(function (data) {
|
|
1364
|
+
this._subs.push(this._appEventService.onAddToCart.subscribe(function (data) {
|
|
1366
1365
|
_this._handleAddToCart(data);
|
|
1367
1366
|
}), this._appEventService.onAddToQuote.subscribe(function (json) { return _this.onAddToQuote.emit(json); }), this._appEventService.onAlternativeClick.subscribe(function (article) { return _this.onAlternativeClick.emit(article); }), this._appEventService.onArticleInfoReceived.subscribe(function (info) { return _this._handleAnswerInfoReceived(info); }), this._appEventService.onArticleReceived.subscribe(function (article) { return _this.onArticleReceived.emit(article); }), this._appEventService.onSelectionsReceived.subscribe(function (selections) { return _this.onSelectionsReceived.emit(selections); }), this._appEventService.onAnswersAvailable.subscribe(function (answers) { return _this._handleAnswersAvailable(answers); }), this._settingsService.settingsLoaded.subscribe(function (loaded) {
|
|
1368
1367
|
_this.settingsLoaded = loaded;
|
|
@@ -1400,9 +1399,6 @@
|
|
|
1400
1399
|
});
|
|
1401
1400
|
});
|
|
1402
1401
|
};
|
|
1403
|
-
IoneProductComponent.prototype.ngOnChanges = function (changes) {
|
|
1404
|
-
this._changeDetector.detectChanges();
|
|
1405
|
-
};
|
|
1406
1402
|
IoneProductComponent.prototype.ngOnDestroy = function () {
|
|
1407
1403
|
this._subs.forEach(function (s) { return s.unsubscribe(); });
|
|
1408
1404
|
};
|
|
@@ -1428,16 +1424,18 @@
|
|
|
1428
1424
|
IoneProductComponent.decorators = [
|
|
1429
1425
|
{ type: i0.Component, args: [{
|
|
1430
1426
|
selector: 'app-ione-product',
|
|
1431
|
-
template: "\n
|
|
1427
|
+
template: "\n <app-product-page *ngIf=\"settingsLoaded\"\n [createFrozenArticle]=\"handleAddArticleInternally\"\n [isReturn]=\"isReturn\"\n [sku]=\"sku\"\n [showRelatedProductsPopup]=\"showRelatedProductsPopup\"\n [enableRenderCarousel]=\"enableRenderCarousel\"\n (openStockEvent)=\"openStock()\"\n ></app-product-page>\n <!-- <co-button [label]=\"'click'\" (click)=\"showHD = !showHD\"></co-button>\n <co-product-hd [sku]=\"'657946ca-e1e1-41fd-7ae0-08dbf7df0cef'\" *ngIf=\"showHD\"></co-product-hd>-->\n ",
|
|
1428
|
+
providers: [
|
|
1429
|
+
ProductSettingsService,
|
|
1430
|
+
ProductConnectorService,
|
|
1431
|
+
ProductEventService,
|
|
1432
|
+
ProductConnectorAdapterService
|
|
1433
|
+
],
|
|
1432
1434
|
encapsulation: i0.ViewEncapsulation.Emulated,
|
|
1433
1435
|
styles: [""]
|
|
1434
1436
|
},] }
|
|
1435
1437
|
];
|
|
1436
1438
|
IoneProductComponent.ctorParameters = function () { return [
|
|
1437
|
-
{ type: DictionaryService },
|
|
1438
|
-
{ type: JsonUtilsService },
|
|
1439
|
-
{ type: ProductConnectorService },
|
|
1440
|
-
{ type: i0.ChangeDetectorRef },
|
|
1441
1439
|
{ type: ProductEventService },
|
|
1442
1440
|
{ type: ProductSettingsService }
|
|
1443
1441
|
]; };
|
|
@@ -1445,10 +1443,12 @@
|
|
|
1445
1443
|
sku: [{ type: i0.Input }],
|
|
1446
1444
|
isReturn: [{ type: i0.Input }],
|
|
1447
1445
|
showRelatedProductsPopup: [{ type: i0.Input }],
|
|
1446
|
+
enableRenderCarousel: [{ type: i0.Input }],
|
|
1448
1447
|
settings: [{ type: i0.Input }],
|
|
1449
1448
|
handleAddArticleInternally: [{ type: i0.Input }],
|
|
1450
1449
|
onAddToCart: [{ type: i0.Output }],
|
|
1451
1450
|
forceRenderImage: [{ type: i0.Output }],
|
|
1451
|
+
getRenderForRenderCarousel: [{ type: i0.Output }],
|
|
1452
1452
|
onAlternativeClick: [{ type: i0.Output }],
|
|
1453
1453
|
onArticleInfoReceived: [{ type: i0.Output }],
|
|
1454
1454
|
onArticleReceived: [{ type: i0.Output }],
|
|
@@ -1478,6 +1478,8 @@
|
|
|
1478
1478
|
var IconEnum;
|
|
1479
1479
|
(function (IconEnum) {
|
|
1480
1480
|
IconEnum["AddToCartDrop"] = "add_to_cart_drop";
|
|
1481
|
+
IconEnum["ArrowPointLeft"] = "arrow_point_left";
|
|
1482
|
+
IconEnum["ArrowPointRight"] = "arrow_point_right";
|
|
1481
1483
|
IconEnum["CrossSkinny"] = "cross_skinny";
|
|
1482
1484
|
IconEnum["DeliveryTruck"] = "delivery_truck";
|
|
1483
1485
|
IconEnum["Download"] = "download";
|
|
@@ -1499,6 +1501,8 @@
|
|
|
1499
1501
|
/** AUTO GENERATED FILE. DO NOT CHANGE.. **/
|
|
1500
1502
|
var IconSvg = {
|
|
1501
1503
|
"add_to_cart_drop": "<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 50 50\"><path d=\"M16.58,34.84a1.8,1.8,0,1,0,1.8,1.8A1.79,1.79,0,0,0,16.58,34.84Z\" fill=\"#484f60\"/><path d=\"M31.49,34.84a1.8,1.8,0,1,0,1.8,1.8A1.79,1.79,0,0,0,31.49,34.84Z\" fill=\"#484f60\"/><path d=\"M35.6,17.9l-1.51.18L31.88,20.3l1.31-.17a.88.88,0,0,1,1,1.08L32.35,29.5a1.52,1.52,0,0,1-1.44,1.2H16.51a1.75,1.75,0,0,1-1.57-1.17l-2.31-5.6a1,1,0,0,1,.85-1.29l4.43-.56-1.86-1.86-5.13.61a1,1,0,0,0-.87,1.28l3.34,9.44A1.73,1.73,0,0,0,15,32.72H32.64a1.51,1.51,0,0,0,1.43-1.2L36.6,19A.89.89,0,0,0,35.6,17.9Z\" fill=\"#484f60\"/><path d=\"M39,17a1.87,1.87,0,0,0-1.36,1.46l-.42,2.89c-.1.67.31,1,.9.7a2.75,2.75,0,0,0,1.33-1.7L40,18A.73.73,0,0,0,39,17Z\" fill=\"#484f60\"/><polygon points=\"24 25.35 32.04 17.3 27.04 17.3 27.04 10 20.95 10 20.95 17.3 15.96 17.3 24 25.35\" fill=\"#484f60\"/></svg>",
|
|
1504
|
+
"arrow_point_left": "<svg version=\"1.1\" xmlns=\"http://www.w3.org/2000/svg\" x=\"0px\" y=\"0px\" viewBox=\"0 0 51 51\" enable-background=\"new 0 0 51 51\" ><path fill=\"#484F5F\" d=\"M31.9,36.7l-14.7-9.6C17.1,27,17,26.9,17,26.7v-2.4c0-0.2,0.1-0.3,0.2-0.4l14.7-9.6c0.2-0.2,0.5-0.1,0.7,0.1l1.4,2.1c0.2,0.2,0.1,0.5-0.1,0.7l-12,7.8c-0.3,0.2-0.3,0.6,0,0.8l12,7.8c0.2,0.2,0.3,0.5,0.1,0.7l-1.4,2.1C32.4,36.8,32.1,36.8,31.9,36.7z\"/></svg>",
|
|
1505
|
+
"arrow_point_right": "<svg version=\"1.1\" xmlns=\"http://www.w3.org/2000/svg\" x=\"0px\" y=\"0px\" viewBox=\"0 0 51 51\" enable-background=\"new 0 0 51 51\" ><path fill=\"#484F5F\" d=\"M19.1,14.3l14.7,9.6c0.1,0.1,0.2,0.2,0.2,0.4v2.4c0,0.2-0.1,0.3-0.2,0.4l-14.7,9.6c-0.2,0.2-0.5,0.1-0.7-0.1l-1.4-2.1c-0.2-0.2-0.1-0.5,0.1-0.7l12-7.8c0.3-0.2,0.3-0.6,0-0.8l-12-7.8c-0.2-0.2-0.3-0.5-0.1-0.7l1.4-2.1C18.6,14.2,18.9,14.2,19.1,14.3z\"/></svg>",
|
|
1502
1506
|
"cross_skinny": "<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 30 30\"><g ><polygon points=\"25.35 5.52 24.65 4.81 15 14.46 5.35 4.81 4.65 5.52 14.29 15.17 4.65 24.81 5.35 25.52 15 15.87 24.65 25.52 25.35 24.81 15.71 15.17 25.35 5.52\" fill=\"#484f60\"/></g></svg>",
|
|
1503
1507
|
"delivery_truck": "<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 50 50\"><path d=\"M25,45A20,20,0,1,1,45,25,20,20,0,0,1,25,45ZM25,6.29A18.71,18.71,0,1,0,43.71,25,18.73,18.73,0,0,0,25,6.29Z\" fill=\"#484f60\"/><path d=\"M21.86,24.09a7.14,7.14,0,0,1,.72-3.24,6.94,6.94,0,0,1,1.18-1.66H13v10.1h8.51a3.25,3.25,0,0,1,3.27-3.07A3.33,3.33,0,0,1,27,27V25.75H21.9Z\" fill=\"#484f60\" opacity=\"0.5\"/><path d=\"M21.65,30.47h-.48a3.51,3.51,0,0,1,1.13,2.19h1.57a3.22,3.22,0,0,1-1.41-.83A3.13,3.13,0,0,1,21.65,30.47Z\" fill=\"#484f60\" opacity=\"0.5\"/><path d=\"M34.63,21.89H28.87c-.3.25-.5.43-.63.56v8H28a3.19,3.19,0,0,1-.82,1.37,3.3,3.3,0,0,1-1.41.82H29a3.53,3.53,0,0,1,7,0h1V27.1Zm-.2,5.38H30.8a.47.47,0,0,1-.46-.46V23.36a.46.46,0,0,1,.46-.46h2.1a.45.45,0,0,1,.42.27l1.53,3.45A.46.46,0,0,1,34.43,27.27Z\" fill=\"#484f60\" opacity=\"0.5\"/><path d=\"M16.42,30.47a3.51,3.51,0,0,0-1.13,2.19H14.6l-1.6-1V30.47Z\" fill=\"#484f60\" opacity=\"0.5\"/><path d=\"M30,33.08a2.53,2.53,0,1,0,2.53-2.53A2.52,2.52,0,0,0,30,33.08Z\" fill=\"#484f60\" opacity=\"0.5\"/><path d=\"M16.27,33.08a2.53,2.53,0,1,0,2.53-2.53A2.52,2.52,0,0,0,16.27,33.08Z\" fill=\"#484f60\" opacity=\"0.5\"/><path d=\"M22.45,17.27h-3.2a4.29,4.29,0,0,1,1.61-3.49,6.45,6.45,0,0,1,4.31-1.38,6.79,6.79,0,0,1,2.92.57A4.72,4.72,0,0,1,30,14.62a4,4,0,0,1,.72,2.26,3.74,3.74,0,0,1-.23,1.27,5.31,5.31,0,0,1-.73,1.29,12,12,0,0,1-1.4,1.29A8.74,8.74,0,0,0,27.06,22a3.17,3.17,0,0,0-.46.94,7.56,7.56,0,0,0-.23,1.65h-3.3v-.49a6,6,0,0,1,.59-2.68,6.8,6.8,0,0,1,1.94-2.25,9.44,9.44,0,0,0,1.56-1.41,1.5,1.5,0,0,0,.27-.9,1.47,1.47,0,0,0-.65-1.19A2.9,2.9,0,0,0,25,15.14a2.77,2.77,0,0,0-1.84.6A1.91,1.91,0,0,0,22.45,17.27Z\" fill=\"#484f60\"/><path d=\"M24.78,27.42a2.06,2.06,0,0,1,1.51.61,2,2,0,0,1,.63,1.47A2,2,0,0,1,26.3,31a2.08,2.08,0,0,1-1.5.62A2,2,0,0,1,23.31,31a2.08,2.08,0,0,1,0-2.95A2,2,0,0,1,24.78,27.42Z\" fill=\"#484f60\"/></svg>",
|
|
1504
1508
|
"download": "<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 50 50\" version=\"1.1\" sodipodi:docname=\"download.svg\" inkscape:version=\"0.92.4 (5da689c313, 2019-01-14)\"><metadata ><rdf:RDF><cc:Work rdf:about=\"\"><dc:format>image/svg+xml</dc:format><dc:type rdf:resource=\"http://purl.org/dc/dcmitype/StillImage\" /><dc:title></dc:title></cc:Work></rdf:RDF></metadata><defs /><sodipodi:namedview pagecolor=\"#ffffff\" bordercolor=\"#666666\" borderopacity=\"1\" objecttolerance=\"10\" gridtolerance=\"10\" guidetolerance=\"10\" inkscape:pageopacity=\"0\" inkscape:pageshadow=\"2\" inkscape:window-width=\"1920\" inkscape:window-height=\"1017\" showgr inkscape:zoom=\"6.675088\" inkscape:cx=\"-14.056273\" inkscape:cy=\"29.806579\" inkscape:window-x=\"-8\" inkscape:window-y=\"-8\" inkscape:window-maximized=\"1\" inkscape:current-layer=\"svg8\" /><g transform=\"matrix(0.05570714,0,0,0.05570648,10.763,10.859394)\" style=\"fill:#484f60;fill-opacity:1\" /><g transform=\"matrix(0.05570714,0,0,0.05570648,10.763,10.859394)\" style=\"fill:#484f60;fill-opacity:1\" /><g transform=\"matrix(0.05570714,0,0,0.05570648,10.763,10.859394)\" style=\"fill:#484f60;fill-opacity:1\" /><g transform=\"matrix(0.05570714,0,0,0.05570648,10.763,10.859394)\" style=\"fill:#484f60;fill-opacity:1\" /><g transform=\"matrix(0.05570714,0,0,0.05570648,10.763,10.859394)\" style=\"fill:#484f60;fill-opacity:1\" /><g transform=\"matrix(0.05570714,0,0,0.05570648,10.763,10.859394)\" style=\"fill:#484f60;fill-opacity:1\" /><g transform=\"matrix(0.05570714,0,0,0.05570648,10.763,10.859394)\" style=\"fill:#484f60;fill-opacity:1\" /><g transform=\"matrix(0.05570714,0,0,0.05570648,10.763,10.859394)\" style=\"fill:#484f60;fill-opacity:1\" /><g transform=\"matrix(0.05570714,0,0,0.05570648,10.763,10.859394)\" style=\"fill:#484f60;fill-opacity:1\" /><g transform=\"matrix(0.05570714,0,0,0.05570648,10.763,10.859394)\" style=\"fill:#484f60;fill-opacity:1\" /><g transform=\"matrix(0.05570714,0,0,0.05570648,10.763,10.859394)\" style=\"fill:#484f60;fill-opacity:1\" /><g transform=\"matrix(0.05570714,0,0,0.05570648,10.763,10.859394)\" style=\"fill:#484f60;fill-opacity:1\" /><g transform=\"matrix(0.05570714,0,0,0.05570648,10.763,10.859394)\" style=\"fill:#484f60;fill-opacity:1\" /><g transform=\"matrix(0.05570714,0,0,0.05570648,10.763,10.859394)\" style=\"fill:#484f60;fill-opacity:1\" /><g transform=\"matrix(0.05570714,0,0,0.05570648,10.763,10.859394)\" style=\"fill:#484f60;fill-opacity:1\" /><g transform=\"matrix(0.05555739,0,0,0.05555739,10.739964,11.357401)\" style=\"fill:#484f60;fill-opacity:1\"><g style=\"fill:#484f60;fill-opacity:1\"><path inkscape:connector-curvature=\"0\" d=\"m 498.966,339.946 c -7.197,0 -13.034,5.837 -13.034,13.034 v 49.804 c 0,28.747 -23.388,52.135 -52.135,52.135 H 78.203 c -28.747,0 -52.135,-23.388 -52.135,-52.135 V 352.98 c 0,-7.197 -5.835,-13.034 -13.034,-13.034 C 5.835,339.946 0,345.782 0,352.98 v 49.804 c 0,43.121 35.082,78.203 78.203,78.203 h 355.594 c 43.121,0 78.203,-35.082 78.203,-78.203 V 352.98 c 0,-7.198 -5.835,-13.034 -13.034,-13.034 z\" style=\"fill:#484f60;fill-opacity:1\" /></g></g><g transform=\"matrix(0.05555739,0,0,0.05555739,10.739964,11.357401)\" style=\"fill:#484f60;fill-opacity:1\"><g style=\"fill:#484f60;fill-opacity:1\"><path inkscape:connector-curvature=\"0\" d=\"M 419.833,391.3 H 92.167 c -7.197,0 -13.034,5.837 -13.034,13.034 0,7.197 5.835,13.034 13.034,13.034 h 327.665 c 7.199,0 13.034,-5.835 13.034,-13.034 0,-7.197 -5.835,-13.034 -13.033,-13.034 z\" style=\"fill:#484f60;fill-opacity:1\" /></g></g><g transform=\"matrix(0.05555739,0,0,0.05555739,10.739964,11.357401)\" style=\"fill:#484f60;fill-opacity:1\"><g style=\"fill:#484f60;fill-opacity:1\"><path inkscape:connector-curvature=\"0\" d=\"m 387.919,207.93 c -4.795,-5.367 -13.034,-5.834 -18.404,-1.038 L 269.033,296.657 V 44.048 c 0,-7.197 -5.835,-13.034 -13.034,-13.034 -7.197,0 -13.034,5.835 -13.034,13.034 V 296.657 L 142.483,206.893 c -5.367,-4.796 -13.607,-4.328 -18.404,1.038 -4.794,5.369 -4.331,13.609 1.037,18.404 l 109.174,97.527 c 6.187,5.529 13.946,8.292 21.708,8.292 7.759,0 15.519,-2.763 21.708,-8.289 l 109.174,-97.53 c 5.37,-4.798 5.834,-13.038 1.039,-18.405 z\" style=\"fill:#484f60;fill-opacity:1\" /></g></g><g transform=\"matrix(0.05555739,0,0,0.05555739,10.739964,11.357401)\" style=\"fill:#484f60;fill-opacity:1\" /><g transform=\"matrix(0.05555739,0,0,0.05555739,10.739964,11.357401)\" style=\"fill:#484f60;fill-opacity:1\" /><g transform=\"matrix(0.05555739,0,0,0.05555739,10.739964,11.357401)\" style=\"fill:#484f60;fill-opacity:1\" /><g transform=\"matrix(0.05555739,0,0,0.05555739,10.739964,11.357401)\" style=\"fill:#484f60;fill-opacity:1\" /><g transform=\"matrix(0.05555739,0,0,0.05555739,10.739964,11.357401)\" style=\"fill:#484f60;fill-opacity:1\" /><g transform=\"matrix(0.05555739,0,0,0.05555739,10.739964,11.357401)\" style=\"fill:#484f60;fill-opacity:1\" /><g transform=\"matrix(0.05555739,0,0,0.05555739,10.739964,11.357401)\" style=\"fill:#484f60;fill-opacity:1\" /><g transform=\"matrix(0.05555739,0,0,0.05555739,10.739964,11.357401)\" style=\"fill:#484f60;fill-opacity:1\" /><g transform=\"matrix(0.05555739,0,0,0.05555739,10.739964,11.357401)\" style=\"fill:#484f60;fill-opacity:1\" /><g transform=\"matrix(0.05555739,0,0,0.05555739,10.739964,11.357401)\" style=\"fill:#484f60;fill-opacity:1\" /><g transform=\"matrix(0.05555739,0,0,0.05555739,10.739964,11.357401)\" style=\"fill:#484f60;fill-opacity:1\" /><g transform=\"matrix(0.05555739,0,0,0.05555739,10.739964,11.357401)\" style=\"fill:#484f60;fill-opacity:1\" /><g transform=\"matrix(0.05555739,0,0,0.05555739,10.739964,11.357401)\" style=\"fill:#484f60;fill-opacity:1\" /><g transform=\"matrix(0.05555739,0,0,0.05555739,10.739964,11.357401)\" style=\"fill:#484f60;fill-opacity:1\" /><g transform=\"matrix(0.05555739,0,0,0.05555739,10.739964,11.357401)\" style=\"fill:#484f60;fill-opacity:1\" /></svg>",
|
|
@@ -1594,6 +1598,10 @@
|
|
|
1594
1598
|
else {
|
|
1595
1599
|
_this.showAddToCart = true;
|
|
1596
1600
|
}
|
|
1601
|
+
}), this.appEventService.onGetRenderForRenderCarousel.subscribe(function (renderParameters) {
|
|
1602
|
+
if (_this.selections.nativeElement) {
|
|
1603
|
+
_this.selections.nativeElement.getRenderForRenderCarousel(renderParameters);
|
|
1604
|
+
}
|
|
1597
1605
|
}));
|
|
1598
1606
|
}
|
|
1599
1607
|
Object.defineProperty(ProductPageComponent.prototype, "sku", {
|
|
@@ -1756,7 +1764,7 @@
|
|
|
1756
1764
|
ProductPageComponent.decorators = [
|
|
1757
1765
|
{ type: i0.Component, args: [{
|
|
1758
1766
|
selector: 'app-product-page',
|
|
1759
|
-
template: "<ng-container *ngIf=\"settingsLoaded\">\r\n <div class=\"page-wrapper\">\r\n <div class=\"page-wrapper-content\">\r\n <div class=\"page-wrapper-left\">\r\n <div class=\"product-image-container\">\r\n <div class=\"product-page-block-selector-type\">\r\n <app-product-selector-type class=\"default-padding\"\r\n
|
|
1767
|
+
template: "<ng-container *ngIf=\"settingsLoaded\">\r\n <div class=\"page-wrapper\">\r\n <div class=\"page-wrapper-content\">\r\n <div class=\"page-wrapper-left\">\r\n <div class=\"product-image-container\">\r\n <div class=\"product-page-block-selector-type\">\r\n <app-product-selector-type class=\"default-padding\"\r\n [(currentType)]=\"currentView\"\r\n [show2D]=\"configurable\"\r\n [show3D]=\"threeD\"\r\n ></app-product-selector-type>\r\n </div>\r\n <div class=\"product-page-block-image default-padding\" [class.full]=\"fullScreen\">\r\n\r\n <app-image-carousel\r\n *ngIf=\"!enableRenderCarousel\"\r\n [@toggleVisibilityByState]=\"show2D ? 'show' : 'hide'\"\r\n [images]=\"article?.images\"\r\n [showRefresh]=\"configurable && threeD\">\r\n </app-image-carousel>\r\n\r\n <app-render-carousel\r\n *ngIf=\"enableRenderCarousel\"\r\n [@toggleVisibilityByState]=\"show2D ? 'show' : 'hide'\"\r\n [article]=\"article\">\r\n </app-render-carousel>\r\n\r\n <ng-container *ngIf=\"settingsLoaded\">\r\n <threed-configurator\r\n #configurator\r\n class=\"threed-configurator\"\r\n [class.configurator-full-screen]=\"fullScreen\"\r\n [@toggleVisibilityByState]=\"show3D ? 'show' : 'hide'\"\r\n [@toggleFullScreen]=\"fullScreen ? 'fullscreen' : 'halfscreen'\">\r\n </threed-configurator>\r\n </ng-container>\r\n\r\n <co-icon #fullscreenbutton class=\"fullscreen-button\" *ngIf=\"show3D\"\r\n [@toggleTopLeft]=\"fullScreen ? 'fullscreen' : 'halfscreen'\"\r\n [iconData]=\"iconCache.getIcon(fullScreenIcon)\"\r\n (click)=\"showFullScreen()\"></co-icon>\r\n <co-icon class=\"threed-watermark\" *ngIf=\"show3D && fullScreen\"\r\n [iconData]=\"iconCache.getIcon(icon.Logo)\"></co-icon>\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"page-wrapper-right\">\r\n <div class=\"product-page-block-description\">\r\n <app-product-description class=\"default-padding\" [article]=\"article\"></app-product-description>\r\n </div>\r\n <div class=\"product-page-block-additional\">\r\n <div class=\"product-page-block-additional-description\">\r\n <app-product-additional-description class=\"default-padding\" [article]=\"article\"></app-product-additional-description>\r\n </div>\r\n <div class=\"product-page-block-price\" [class.full]=\"configuring\">\r\n <app-product-price class=\"s-padding\" *ngIf=\"!configuring\"\r\n [pricing]=\"article?.pricing\"\r\n [configurable]=\"configurable\"\r\n ></app-product-price>\r\n <ng-container *ngIf=\"settingsLoaded\">\r\n <threed-selections #selections class=\"threed-selections\"\r\n [class.show-selections]=\"configuring\"\r\n [@toggleFullScreenRight]=\"fullScreen ? 'fullscreen' : 'halfscreen'\"\r\n [class.default-padding]=\"!fullScreen\"\r\n [class.show-full-screen]=\"fullScreen\"\r\n [class.mini-scrollbar]=\"fullScreen\"\r\n [sku]=\"sku\"\r\n [settings]=\"settings\"\r\n (onUserActionFromThreeD)=\"configuring = true\"\r\n (instanceSet)=\"setInstance($event)\"\r\n (onImageReceived)=\"appEventService.onImageReceived.next($event)\"\r\n (onRenderStarted)=\"appEventService.onRenderStarted.next()\"\r\n (onDraftRenderImageReceived)=\"appEventService.onDraftRenderImageReceived.next($event)\"\r\n (onArticleReceived)=\"appEventService.onArticleReceived.next($event.detail)\"\r\n (onSelectionsReceived)=\"appEventService.onSelectionsReceived.next($event.detail)\"\r\n (onArticleInfoReceived)=\"appEventService.onArticleInfoReceived.next($event.detail)\"\r\n (onAnswersAvailable)=\"appEventService.onAnswersAvailable.next($event.detail)\"\r\n (onReadyToRender)=\"appEventService.onReadyToRender.next($event.detail)\"\r\n (onRenderImageReceived)=\"appEventService.onRenderImageReceived.next($event.detail)\"\r\n ></threed-selections>\r\n </ng-container>\r\n </div>\r\n <div class=\"product-page-block-addtocart no-padding product-action-buttons\" *ngIf=\"!configuring\" [@toggleTopRight]=\"fullScreen ? 'fullscreen' : 'halfscreen'\">\r\n <app-product-addtocart\r\n [configurable]=\"configurable\"\r\n [createFrozenArticle]=\"createFrozenArticle\"\r\n [configuring]=\"configuring\"\r\n [showAddToCart]=\"showAddToCart\"\r\n [article]=\"article\"\r\n [externalSource]=\"externalSource\"\r\n [isReturn]=\"isReturn\"\r\n (startConfiguration)=\"handleStartConfiguration()\"\r\n (showRelatedPopup)=\"handlePopUpChange($event)\"\r\n ></app-product-addtocart>\r\n </div>\r\n <div class=\"addtocart-reserved product-action-buttons\" *ngIf=\"configuring\" [class.full-screen]=\"fullScreen\">\r\n <app-product-addtocart class=\"default-padding\"\r\n [configurable]=\"false\"\r\n [fullscreen]=\"fullScreen\"\r\n [showAddToCart]=\"showAddToCart\"\r\n [configuring]=\"configuring\"\r\n [article]=\"article\"\r\n [externalSource]=\"externalSource\"\r\n [isReturn]=\"isReturn\"\r\n (startConfiguration)=\"handleStartConfiguration()\"\r\n ></app-product-addtocart>\r\n </div>\r\n <div class=\"product-page-block-variants\">\r\n <app-product-related class=\"no-padding\" *ngIf=\"article?.relatedArticles && article?.relatedArticles.length > 0\"\r\n [externalSource]=\"externalSource\"\r\n [articles]=\"article?.relatedArticles\" [refType]=\"64\" [label]=\"'VARIANTS' | localize\"></app-product-related>\r\n </div>\r\n <div class=\"product-page-block-stock\">\r\n <app-product-stock class=\"no-padding\" [goodId]=\"article?.goodId\" (openStockEvent)=\"openStock()\"></app-product-stock>\r\n </div>\r\n <div class=\"product-page-block-delivery\">\r\n <app-product-delivery class=\"no-padding\" [stockAndDelivery]=\"stockAndDelivery\"></app-product-delivery>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"page-wrapper-content\">\r\n <div class=\"page-wrapper-left\">\r\n <app-product-info-tabs class=\"no-padding\" [article]=\"article\"></app-product-info-tabs>\r\n </div>\r\n <div class=\"page-wrapper-right\">\r\n <div class=\"product-page-block-related s-padding\">\r\n <app-product-related\r\n *ngIf=\"article?.relatedArticles && article?.relatedArticles.length > 0\"\r\n [externalSource]=\"externalSource\"\r\n [articles]=\"article?.relatedArticles\"\r\n [refType]=\"1\"\r\n [label]=\"'RELATED_PRODUCTS' | localize\">\r\n </app-product-related>\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"page-wrapper-content no-top-margin\">\r\n <div class=\"page-wrapper-full\">\r\n <div class=\"product-page-block-alternatives s-padding\">\r\n <app-product-related\r\n *ngIf=\"article?.relatedArticles && article?.relatedArticles.length > 0\"\r\n [externalSource]=\"externalSource\"\r\n [articles]=\"article?.relatedArticles\"\r\n [refType]=\"4\"\r\n [isSmallModus]=\"false\"\r\n [label]=\"'ALTERNATIVE_PRODUCTS' | localize\">\r\n </app-product-related>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n\r\n <div *ngIf=\"showRelatedProductsPopup\">\r\n <co-product-dialog\r\n [mainArticle]=\"article\"\r\n [articles]=\"article?.relatedArticles\"\r\n [refType]=\"1\"\r\n (closeRelatedPopup)=\"handlePopUpChange($event)\"\r\n >\r\n </co-product-dialog>\r\n\r\n <!-- <app-product-related class=\"no-padding\" *ngIf=\"article?.relatedArticles && article?.relatedArticles.length > 0\"-->\r\n <!-- [articles]=\"article?.relatedArticles\" [refType]=\"64\" [label]=\"'VARIANTS' | localize\"></app-product-related>-->\r\n </div>\r\n\r\n\r\n </div>\r\n</ng-container>\r\n",
|
|
1760
1768
|
animations: [
|
|
1761
1769
|
animations.trigger('toggleFullScreen', [
|
|
1762
1770
|
animations.state('fullscreen', animations.style({ 'position': 'fixed', 'top': '0', 'left': '0', 'width': '100%', 'height': '100%' })),
|
|
@@ -1789,7 +1797,7 @@
|
|
|
1789
1797
|
animations.transition('void => *', animations.animate('200ms ease-in-out')),
|
|
1790
1798
|
])
|
|
1791
1799
|
],
|
|
1792
|
-
styles: [".page-wrapper{font-family:iOneMontserrat;font-size:12px;display:flex;flex-direction:column;max-width:1400px;padding:0 15px;margin:0 auto}.page-wrapper-content{display:flex;flex-direction:row;margin:40px 0}.page-wrapper-content:first-child{margin-top:0}.page-wrapper-content.no-top-margin{margin-top:0}.page-wrapper-left{display:flex;width:55%;flex-direction:column}.page-wrapper-right{display:flex;width:45%;flex-direction:column}.page-wrapper-full{display:flex;width:100%;flex-direction:column}.page-wrapper-66{display:flex;width:60%;flex-direction:column}.page-wrapper-33{display:flex;width:40%;flex-direction:column}.threed-selections{display:none}.threed-selections.show-selections{display:block}.threed-selections ::ng-deep .rp-lite-selector .rp-answers-slideout ::ng-deep co-slideout{width:480px;z-index:3}.threed-selections ::ng-deep .co-summary-line{cursor:pointer}.product-action-buttons{position:relative}.product-action-buttons.full-screen{z-index:10}.product-image-container{grid-column:1/7;grid-row:1/6;position:relative}.product-page-block-selector-type{width:auto;position:absolute;top:10px;right:10px;z-index:2}.product-page-block-image{box-sizing:border-box;width:100%;z-index:1;position:relative}.product-page-block-image .threed-configurator{border:1px solid #efefef}.product-page-block-image .threed-configurator .layer .viewer canvas{height:100%;width:100%}.product-page-block-image .threed-configurator ::ng-deep .rp-element-toolbar{top:30px}.product-page-block-image app-image-carousel.show-animated,.product-page-block-image threed-configurator.show-animated{opacity:1;z-index:0;transition:all .2s ease-in-out}.product-page-block-image .fullscreen-button{cursor:pointer;height:50px;width:50px;position:absolute;left:30px;z-index:100;top:30px}.product-page-block-image.full{grid-column:1/11;grid-row:2/span 10;z-index:3}.product-page-block-description{grid-column:7/12;grid-row:1/1}.product-page-block-additional{width:100%}.product-page-block-additional-description{width:100%}.product-page-block-price{grid-column:1/3;grid-row:2/2;align-self:center}.product-page-block-price.full{grid-column:1/5}.product-page-block-addtocart{grid-column:3/5;grid-row:2/2;align-self:center;padding-top:30px!important}.product-page-block-addtocart ::ng-deep co-number-picker ::ng-deep co-button{cursor:pointer}.product-page-block-addtocart ::ng-deep co-number-picker ::ng-deep co-button:hover div.rippler{background:#f6f5f4}.product-page-block-addtocart ::ng-deep co-number-picker ::ng-deep co-button ::ng-deep co-icon{position:relative;z-index:2}.product-page-block-addtocart ::ng-deep co-button.cart-button{cursor:pointer}.product-page-block-addtocart ::ng-deep co-button.cart-button:hover{background:#74B77F}.addtocart-reserved{grid-column:1/3;grid-row:3/3}.product-page-block-stock{grid-column:1/3;grid-row:4/4}.product-page-block-delivery{grid-column:3/5;grid-row:4/4}::ng-deep co-scroll-container{overflow:hidden;position:relative}::ng-deep co-scroll-container .content-wrapper{padding:0}::ng-deep co-scroll-container .scroll-layer{left:0;top:0}::ng-deep co-scroll-container .scroll-layer .scroller{width:34px;height:34px;border-radius:36px;background:#fff;cursor:pointer;box-shadow:0 0 5px #0003}::ng-deep co-scroll-container .scroll-layer .scroller:hover{background:#f6f5f4}::ng-deep co-scroll-container .scroll-layer .scroller.left-scroll{left:5px}::ng-deep co-scroll-container .scroll-layer .scroller.left-scroll:before{border-width:0 3px 3px 0;padding:4px;margin-left:13px;margin-top:11px}::ng-deep co-scroll-container .scroll-layer .scroller.right-scroll{right:5px}::ng-deep co-scroll-container .scroll-layer .scroller.right-scroll:after{border-width:0 3px 3px 0;padding:4px;margin-left:9px;margin-top:11px}.product-page-block-variants{margin:20px 0 0}.product-page-block-variants ::ng-deep app-product-related>div{display:flex;grid-gap:15px;gap:15px;align-items:center;border-top:1px solid #f6f5f4;padding:5px 0 7px 15px}.product-page-block-variants ::ng-deep app-product-related>div ::ng-deep app-header h3{font-size:14px}.product-page-block-variants ::ng-deep app-product-related>div ::ng-deep co-scroll-container{width:320px;max-width:100%;padding:0 16px}.product-page-block-variants ::ng-deep app-product-related>div ::ng-deep co-scroll-container .scroller{width:26px;height:26px}.product-page-block-variants ::ng-deep app-product-related>div ::ng-deep co-scroll-container .scroller.left-scroll{left:5px}.product-page-block-variants ::ng-deep app-product-related>div ::ng-deep co-scroll-container .scroller.left-scroll:before{border-width:0 2px 2px 0;margin-left:9px;margin-top:9px}.product-page-block-variants ::ng-deep app-product-related>div ::ng-deep co-scroll-container .scroller.right-scroll{right:5px}.product-page-block-variants ::ng-deep app-product-related>div ::ng-deep co-scroll-container .scroller.right-scroll:after{border-width:0 2px 2px 0;margin-left:6px;margin-top:9px}.product-page-block-variants ::ng-deep co-tile.small{min-width:50px!important;max-width:50px!important;border:1px solid #f6f5f4;margin:0 10px 0 0;border-radius:4px}.product-page-block-variants ::ng-deep co-tile.small:hover{border-color:#22313c}.product-page-block-variants ::ng-deep co-tile.small .tile-wrapper{padding:0}.product-page-block-variants ::ng-deep co-tile.small .tile-wrapper .tile-top{display:none}.product-page-block-variants ::ng-deep co-tile.small .tile-wrapper .image{height:40px!important;padding:5px;margin-bottom:10px}.product-page-block-variants ::ng-deep co-tile.small .tile-wrapper .image .no-image-wrapper .no-image{width:40px;height:40px}.product-page-block-variants ::ng-deep co-tile.small .tile-wrapper .image .no-image-wrapper span{display:none!important}.product-page-block-variants ::ng-deep co-tile.small .tile-wrapper .tile-bottom{display:none}.product-page-block-variants ::ng-deep co-tile.small .tile-extra-bottom{display:none}.product-page-block-alternatives ::ng-deep .article-wrapper{margin:0 20px 0 0}.product-page-block-alternatives ::ng-deep .article-wrapper:last-child{margin:0}.product-page-block-alternatives ::ng-deep co-tile{cursor:pointer;transition:all .14s ease-out;border:1px solid transparent;border-bottom-color:#f6f5f4;padding:15px 10px 0;width:319px;max-width:none;min-width:0;box-sizing:border-box}.product-page-block-alternatives ::ng-deep co-tile:hover{box-shadow:none;border-color:#f6f5f4}.product-page-block-alternatives ::ng-deep co-tile:hover .tile-wrapper div.image co-image{transform:scale(1.05)}.product-page-block-alternatives ::ng-deep co-tile:hover .tile-wrapper .tile-bottom{margin:0}.product-page-block-alternatives ::ng-deep co-tile:hover .tile-extra-bottom .main .description{text-decoration:underline}.product-page-block-alternatives ::ng-deep co-tile .tile-wrapper{padding:0;position:relative;outline:none;overflow:hidden}.product-page-block-alternatives ::ng-deep co-tile .tile-wrapper .tile-top{position:absolute;left:0;top:0;width:100%}.product-page-block-alternatives ::ng-deep co-tile .tile-wrapper div.image{position:relative;padding:1px;display:flex;align-items:center;justify-content:center;overflow:hidden;max-width:250px;margin:0 auto 10px;height:auto}.product-page-block-alternatives ::ng-deep co-tile .tile-wrapper div.image:after{content:\"\";padding:100% 0 0;float:left;width:100%}.product-page-block-alternatives ::ng-deep co-tile .tile-wrapper div.image co-image{position:absolute;left:0;top:0;overflow:hidden;width:100%;height:100%;-o-object-fit:contain;object-fit:contain;z-index:-1;transition:all .2s ease}.product-page-block-alternatives ::ng-deep co-tile .tile-wrapper div.image .no-image-wrapper{position:absolute;display:flex;left:50%;top:50%;margin:-48px 0 0 -54px;flex-direction:column;align-items:center;opacity:.25}.product-page-block-alternatives ::ng-deep co-tile .tile-wrapper .tile-bottom{transition:all .2s ease;height:auto}.product-page-block-alternatives ::ng-deep co-tile .tile-wrapper .tile-bottom ::ng-deep co-button{margin:0 0 5px!important;width:36px;height:36px;border:1px solid #22313C;cursor:pointer;border-radius:4px;padding:0!important;font-size:0}.product-page-block-alternatives ::ng-deep co-tile .tile-wrapper .tile-bottom ::ng-deep co-button co-icon{width:32px;height:32px;margin:0 2px}.product-page-block-alternatives ::ng-deep co-tile .tile-extra-bottom{outline:none;padding:15px 0;background:transparent!important;min-height:60px}.product-page-block-alternatives ::ng-deep co-tile .tile-extra-bottom .main{padding:0 10px}.product-page-block-alternatives ::ng-deep co-tile .tile-extra-bottom .main .description{font-size:15px;font-weight:bold;margin:0 0 2px}.product-page-block-alternatives ::ng-deep co-tile .tile-extra-bottom .main .price{font-size:16px;margin:15px 0 0;font-weight:bold;color:#2b60a7}.product-page-block-additional-information{grid-column:1/6;grid-row:4/4}.product-page-block-properties{grid-column:7/10;grid-row:3/3}.product-page-block-related-articles{grid-column:2/6;grid-row:4/4}.product-page-block-alternative-articles{grid-column:6/10;grid-row:4/4}.product-page-block-documents{grid-column:2/6;grid-row:5/5}.product-page-block-symbols{grid-column:6/10;grid-row:5/5}@media screen and (max-width: 950px){.default-padding{padding-top:20px;padding-bottom:20px}.m-padding{padding-top:15px;padding-bottom:15px}.s-padding{padding-top:5px;padding-bottom:5px}.page-wrapper{max-width:650px}.page-wrapper .page-wrapper-content{flex-direction:column;margin:30px 0}.page-wrapper .page-wrapper-content .page-wrapper-left{width:100%}.page-wrapper .page-wrapper-content .page-wrapper-right{width:100%}.product-page-block-alternatives ::ng-deep co-tile{width:284px!important}}@media screen and (max-width: 650px){[class*=-padding]{padding-left:0!important;padding-right:0!important}.product-page-block-addtocart ::ng-deep co-number-picker co-button{height:38px!important}.product-page-block-addtocart ::ng-deep co-number-picker co-input-text{height:38px!important;width:36px!important}.product-page-block-addtocart ::ng-deep co-button.cart-button{height:40px;font-size:13px}}\n"]
|
|
1800
|
+
styles: [".page-wrapper{font-family:iOneMontserrat;font-size:12px;display:flex;flex-direction:column;max-width:100%;padding:0 15px;margin:0 auto}.page-wrapper-content{display:flex;flex-direction:row;margin:40px 0}.page-wrapper-content:first-child{margin-top:0}.page-wrapper-content.no-top-margin{margin-top:0}.page-wrapper-left{display:flex;width:65%;flex-direction:column}.page-wrapper-right{display:flex;width:35%;flex-direction:column}.page-wrapper-full{display:flex;width:100%;flex-direction:column}.page-wrapper-66{display:flex;width:60%;flex-direction:column}.page-wrapper-33{display:flex;width:40%;flex-direction:column}.threed-selections{display:none}.threed-selections.show-selections{display:block}.threed-selections ::ng-deep .rp-lite-selector .rp-answers-slideout ::ng-deep co-slideout{width:480px;z-index:3}.threed-selections ::ng-deep .co-summary-line{cursor:pointer}.product-action-buttons{position:relative}.product-action-buttons.full-screen{z-index:10}.product-image-container{grid-column:1/7;grid-row:1/6;position:relative}.product-page-block-selector-type{width:auto;position:absolute;top:10px;right:10px;z-index:2}.product-page-block-image{box-sizing:border-box;width:100%;z-index:1;position:relative}.product-page-block-image .threed-configurator{border:none}.product-page-block-image .threed-configurator .layer .viewer canvas{height:100%;width:100%}.product-page-block-image .threed-configurator ::ng-deep .rp-element-toolbar{top:30px}.product-page-block-image app-image-carousel.show-animated,.product-page-block-image threed-configurator.show-animated{opacity:1;z-index:0;transition:all .2s ease-in-out}.product-page-block-image .fullscreen-button{cursor:pointer;height:50px;width:50px;position:absolute;left:30px;z-index:100;top:30px}.product-page-block-image.full{grid-column:1/11;grid-row:2/span 10;z-index:3}.product-page-block-description{grid-column:7/12;grid-row:1/1}.product-page-block-additional{width:100%}.product-page-block-additional-description{width:100%}.product-page-block-price{grid-column:1/3;grid-row:2/2;align-self:center}.product-page-block-price.full{grid-column:1/5}.product-page-block-addtocart{grid-column:3/5;grid-row:2/2;align-self:center;padding-top:30px!important}.product-page-block-addtocart ::ng-deep co-number-picker ::ng-deep co-button{cursor:pointer}.product-page-block-addtocart ::ng-deep co-number-picker ::ng-deep co-button:hover div.rippler{background:#f6f5f4}.product-page-block-addtocart ::ng-deep co-number-picker ::ng-deep co-button ::ng-deep co-icon{position:relative;z-index:2}.product-page-block-addtocart ::ng-deep co-button.cart-button{cursor:pointer}.product-page-block-addtocart ::ng-deep co-button.cart-button:hover{background:#74B77F}.addtocart-reserved{grid-column:1/3;grid-row:3/3}.product-page-block-stock{grid-column:1/3;grid-row:4/4}.product-page-block-delivery{grid-column:3/5;grid-row:4/4}::ng-deep co-scroll-container{overflow:hidden;position:relative}::ng-deep co-scroll-container .content-wrapper{padding:0}::ng-deep co-scroll-container .scroll-layer{left:0;top:0}::ng-deep co-scroll-container .scroll-layer .scroller{width:34px;height:34px;border-radius:36px;background:#fff;cursor:pointer;box-shadow:0 0 5px #0003}::ng-deep co-scroll-container .scroll-layer .scroller:hover{background:#f6f5f4}::ng-deep co-scroll-container .scroll-layer .scroller.left-scroll{left:5px}::ng-deep co-scroll-container .scroll-layer .scroller.left-scroll:before{border-width:0 3px 3px 0;padding:4px;margin-left:13px;margin-top:11px}::ng-deep co-scroll-container .scroll-layer .scroller.right-scroll{right:5px}::ng-deep co-scroll-container .scroll-layer .scroller.right-scroll:after{border-width:0 3px 3px 0;padding:4px;margin-left:9px;margin-top:11px}.product-page-block-variants{margin:20px 0 0}.product-page-block-variants ::ng-deep app-product-related>div{display:flex;grid-gap:15px;gap:15px;align-items:center;border-top:1px solid #f6f5f4;padding:5px 0 7px 15px}.product-page-block-variants ::ng-deep app-product-related>div ::ng-deep app-header h3{font-size:14px}.product-page-block-variants ::ng-deep app-product-related>div ::ng-deep co-scroll-container{width:320px;max-width:100%;padding:0 16px}.product-page-block-variants ::ng-deep app-product-related>div ::ng-deep co-scroll-container .scroller{width:26px;height:26px}.product-page-block-variants ::ng-deep app-product-related>div ::ng-deep co-scroll-container .scroller.left-scroll{left:5px}.product-page-block-variants ::ng-deep app-product-related>div ::ng-deep co-scroll-container .scroller.left-scroll:before{border-width:0 2px 2px 0;margin-left:9px;margin-top:9px}.product-page-block-variants ::ng-deep app-product-related>div ::ng-deep co-scroll-container .scroller.right-scroll{right:5px}.product-page-block-variants ::ng-deep app-product-related>div ::ng-deep co-scroll-container .scroller.right-scroll:after{border-width:0 2px 2px 0;margin-left:6px;margin-top:9px}.product-page-block-variants ::ng-deep co-tile.small{min-width:50px!important;max-width:50px!important;border:1px solid #f6f5f4;margin:0 10px 0 0;border-radius:4px}.product-page-block-variants ::ng-deep co-tile.small:hover{border-color:#22313c}.product-page-block-variants ::ng-deep co-tile.small .tile-wrapper{padding:0}.product-page-block-variants ::ng-deep co-tile.small .tile-wrapper .tile-top{display:none}.product-page-block-variants ::ng-deep co-tile.small .tile-wrapper .image{height:40px!important;padding:5px;margin-bottom:10px}.product-page-block-variants ::ng-deep co-tile.small .tile-wrapper .image .no-image-wrapper .no-image{width:40px;height:40px}.product-page-block-variants ::ng-deep co-tile.small .tile-wrapper .image .no-image-wrapper span{display:none!important}.product-page-block-variants ::ng-deep co-tile.small .tile-wrapper .tile-bottom{display:none}.product-page-block-variants ::ng-deep co-tile.small .tile-extra-bottom{display:none}.product-page-block-alternatives ::ng-deep .article-wrapper{margin:0 20px 0 0}.product-page-block-alternatives ::ng-deep .article-wrapper:last-child{margin:0}.product-page-block-alternatives ::ng-deep co-tile{cursor:pointer;transition:all .14s ease-out;border:1px solid transparent;border-bottom-color:#f6f5f4;padding:15px 10px 0;width:319px;max-width:none;min-width:0;box-sizing:border-box}.product-page-block-alternatives ::ng-deep co-tile:hover{box-shadow:none;border-color:#f6f5f4}.product-page-block-alternatives ::ng-deep co-tile:hover .tile-wrapper div.image co-image{transform:scale(1.05)}.product-page-block-alternatives ::ng-deep co-tile:hover .tile-wrapper .tile-bottom{margin:0}.product-page-block-alternatives ::ng-deep co-tile:hover .tile-extra-bottom .main .description{text-decoration:underline}.product-page-block-alternatives ::ng-deep co-tile .tile-wrapper{padding:0;position:relative;outline:none;overflow:hidden}.product-page-block-alternatives ::ng-deep co-tile .tile-wrapper .tile-top{position:absolute;left:0;top:0;width:100%}.product-page-block-alternatives ::ng-deep co-tile .tile-wrapper div.image{position:relative;padding:1px;display:flex;align-items:center;justify-content:center;overflow:hidden;max-width:250px;margin:0 auto 10px;height:auto}.product-page-block-alternatives ::ng-deep co-tile .tile-wrapper div.image:after{content:\"\";padding:100% 0 0;float:left;width:100%}.product-page-block-alternatives ::ng-deep co-tile .tile-wrapper div.image co-image{position:absolute;left:0;top:0;overflow:hidden;width:100%;height:100%;-o-object-fit:contain;object-fit:contain;z-index:-1;transition:all .2s ease}.product-page-block-alternatives ::ng-deep co-tile .tile-wrapper div.image .no-image-wrapper{position:absolute;display:flex;left:50%;top:50%;margin:-48px 0 0 -54px;flex-direction:column;align-items:center;opacity:.25}.product-page-block-alternatives ::ng-deep co-tile .tile-wrapper .tile-bottom{transition:all .2s ease;height:auto}.product-page-block-alternatives ::ng-deep co-tile .tile-wrapper .tile-bottom ::ng-deep co-button{margin:0 0 5px!important;width:36px;height:36px;border:1px solid #22313C;cursor:pointer;border-radius:4px;padding:0!important;font-size:0}.product-page-block-alternatives ::ng-deep co-tile .tile-wrapper .tile-bottom ::ng-deep co-button co-icon{width:32px;height:32px;margin:0 2px}.product-page-block-alternatives ::ng-deep co-tile .tile-extra-bottom{outline:none;padding:15px 0;background:transparent!important;min-height:60px}.product-page-block-alternatives ::ng-deep co-tile .tile-extra-bottom .main{padding:0 10px}.product-page-block-alternatives ::ng-deep co-tile .tile-extra-bottom .main .description{font-size:15px;font-weight:bold;margin:0 0 2px}.product-page-block-alternatives ::ng-deep co-tile .tile-extra-bottom .main .price{font-size:16px;margin:15px 0 0;font-weight:bold;color:#2b60a7}.product-page-block-additional-information{grid-column:1/6;grid-row:4/4}.product-page-block-properties{grid-column:7/10;grid-row:3/3}.product-page-block-related-articles{grid-column:2/6;grid-row:4/4}.product-page-block-alternative-articles{grid-column:6/10;grid-row:4/4}.product-page-block-documents{grid-column:2/6;grid-row:5/5}.product-page-block-symbols{grid-column:6/10;grid-row:5/5}@media screen and (max-width: 950px){.default-padding{padding-top:20px;padding-bottom:20px}.m-padding{padding-top:15px;padding-bottom:15px}.s-padding{padding-top:5px;padding-bottom:5px}.page-wrapper{max-width:650px}.page-wrapper .page-wrapper-content{flex-direction:column;margin:30px 0}.page-wrapper .page-wrapper-content .page-wrapper-left{width:100%}.page-wrapper .page-wrapper-content .page-wrapper-right{width:100%}.product-page-block-alternatives ::ng-deep co-tile{width:284px!important}}@media screen and (max-width: 650px){[class*=-padding]{padding-left:0!important;padding-right:0!important}.product-page-block-addtocart ::ng-deep co-number-picker co-button{height:38px!important}.product-page-block-addtocart ::ng-deep co-number-picker co-input-text{height:38px!important;width:36px!important}.product-page-block-addtocart ::ng-deep co-button.cart-button{height:40px;font-size:13px}}\n"]
|
|
1793
1801
|
},] }
|
|
1794
1802
|
];
|
|
1795
1803
|
ProductPageComponent.ctorParameters = function () { return [
|
|
@@ -1810,6 +1818,7 @@
|
|
|
1810
1818
|
createFrozenArticle: [{ type: i0.Input }],
|
|
1811
1819
|
isReturn: [{ type: i0.Input }],
|
|
1812
1820
|
showRelatedProductsPopup: [{ type: i0.Input }],
|
|
1821
|
+
enableRenderCarousel: [{ type: i0.Input }],
|
|
1813
1822
|
openStockEvent: [{ type: i0.Output }]
|
|
1814
1823
|
};
|
|
1815
1824
|
|
|
@@ -1837,7 +1846,7 @@
|
|
|
1837
1846
|
ProductSelectorTypeComponent.decorators = [
|
|
1838
1847
|
{ type: i0.Component, args: [{
|
|
1839
1848
|
selector: 'app-product-selector-type',
|
|
1840
|
-
template: "\n <div *ngIf=\"show2D || show3D\" class=\"show-in\" [textContent]=\"'SHOW_IN' | localize\"></div>\n <co-icon *ngIf=\"show2D\" class=\"selector-type-icon\"\n [class.active]=\"currentType === type.TwoD\"\n [iconData]=\"twoDIcon\"\n (click)=\"handleIconClick(type.TwoD)\"\n ></co-icon>\n <co-icon *ngIf=\"show3D\" class=\"selector-type-icon\"\n [class.active]=\"currentType === type.ThreeD\"\n [iconData]=\"threeDIcon\"\n (click)=\"handleIconClick(type.ThreeD)\"\n ></co-icon>\n ",
|
|
1849
|
+
template: "\n <div *ngIf=\"show2D || show3D\" class=\"show-in\" [textContent]=\"'SHOW_IN' | localize\"></div>\n <co-icon *ngIf=\"show2D && !showRenderCarousel\" class=\"selector-type-icon\"\n [class.active]=\"currentType === type.TwoD\"\n [iconData]=\"twoDIcon\"\n (click)=\"handleIconClick(type.TwoD)\"\n ></co-icon>\n\n <co-icon *ngIf=\"show2D && showRenderCarousel\" class=\"selector-type-icon\"\n [class.active]=\"currentType === type.TwoD\"\n [iconData]=\"twoDIcon\"\n (click)=\"handleIconClick(type.TwoD)\"\n ></co-icon>\n\n <co-icon *ngIf=\"show3D\" class=\"selector-type-icon\"\n [class.active]=\"currentType === type.ThreeD\"\n [iconData]=\"threeDIcon\"\n (click)=\"handleIconClick(type.ThreeD)\"\n ></co-icon>\n ",
|
|
1841
1850
|
styles: [":host{display:flex;flex-direction:row;align-items:center}:host .show-in{display:none}:host>*:not(:last-child){margin-right:10px}::ng-deep co-icon.selector-type-icon{box-shadow:inset 0 0 0 1px #22313c;border-radius:50%;background:none;height:34px;width:34px;cursor:pointer}::ng-deep co-icon.selector-type-icon.active{box-shadow:none;background:#74B77F;transition:all .2s ease-in-out}::ng-deep co-icon.selector-type-icon.active [fill]{fill:#fff}\n"]
|
|
1842
1851
|
},] }
|
|
1843
1852
|
];
|
|
@@ -1848,6 +1857,7 @@
|
|
|
1848
1857
|
ProductSelectorTypeComponent.propDecorators = {
|
|
1849
1858
|
show2D: [{ type: i0.Input }],
|
|
1850
1859
|
show3D: [{ type: i0.Input }],
|
|
1860
|
+
showRenderCarousel: [{ type: i0.Input }],
|
|
1851
1861
|
currentType: [{ type: i0.Input }],
|
|
1852
1862
|
onIconClick: [{ type: i0.Output }],
|
|
1853
1863
|
currentTypeChange: [{ type: i0.Output }]
|
|
@@ -2076,6 +2086,7 @@
|
|
|
2076
2086
|
var resizeCanvas = document.createElement('canvas');
|
|
2077
2087
|
var resizeCanvasContext = resizeCanvas.getContext('2d');
|
|
2078
2088
|
var resizeImage = document.createElement('img');
|
|
2089
|
+
resizeImage.crossOrigin = 'anonymous';
|
|
2079
2090
|
resizeImage.onload = function () { return __awaiter(_this, void 0, void 0, function () {
|
|
2080
2091
|
var originalWidth, originalHeight, aspectRatio, newWidth, newHeight, imageWidth, resizedSource;
|
|
2081
2092
|
return __generator(this, function (_a) {
|
|
@@ -3384,6 +3395,137 @@
|
|
|
3384
3395
|
},] }
|
|
3385
3396
|
];
|
|
3386
3397
|
|
|
3398
|
+
var VectorObject = /** @class */ (function () {
|
|
3399
|
+
function VectorObject() {
|
|
3400
|
+
}
|
|
3401
|
+
return VectorObject;
|
|
3402
|
+
}());
|
|
3403
|
+
var RenderParameters = /** @class */ (function () {
|
|
3404
|
+
function RenderParameters() {
|
|
3405
|
+
}
|
|
3406
|
+
return RenderParameters;
|
|
3407
|
+
}());
|
|
3408
|
+
var RenderCarouselComponent = /** @class */ (function () {
|
|
3409
|
+
function RenderCarouselComponent(iconCache, _appEventService, _changeDetector) {
|
|
3410
|
+
var _this = this;
|
|
3411
|
+
this.iconCache = iconCache;
|
|
3412
|
+
this._appEventService = _appEventService;
|
|
3413
|
+
this._changeDetector = _changeDetector;
|
|
3414
|
+
this.showRefresh = false;
|
|
3415
|
+
this.resizing = false;
|
|
3416
|
+
this.showLoader = true;
|
|
3417
|
+
this.renderedImageLoaded = false;
|
|
3418
|
+
// For now we will just use mock data
|
|
3419
|
+
this.renderAngles = [0, -45, -90, -135, -180, -225, -270, -315];
|
|
3420
|
+
this.currentRenderAngleIndex = 0;
|
|
3421
|
+
this.icon = IconEnum;
|
|
3422
|
+
this._subs = [];
|
|
3423
|
+
this._subs.push(this._appEventService.onReadyToRender.subscribe(function (readyToRender) {
|
|
3424
|
+
if (readyToRender) {
|
|
3425
|
+
_this.showLoader = true;
|
|
3426
|
+
_this._createNewRender();
|
|
3427
|
+
}
|
|
3428
|
+
}), this._appEventService.onRenderStarted.subscribe(function () {
|
|
3429
|
+
_this.showLoader = true;
|
|
3430
|
+
_this._changeDetector.detectChanges();
|
|
3431
|
+
}), this._appEventService.onRenderImageReceived.subscribe(function (image) {
|
|
3432
|
+
_this.renderedImage = image;
|
|
3433
|
+
_this.showLoader = false;
|
|
3434
|
+
_this._changeDetector.detectChanges();
|
|
3435
|
+
}));
|
|
3436
|
+
}
|
|
3437
|
+
RenderCarouselComponent.prototype.handleWindowResize = function () {
|
|
3438
|
+
var _this = this;
|
|
3439
|
+
this.resizing = true;
|
|
3440
|
+
clearTimeout(this._resizeTimer);
|
|
3441
|
+
this._resizeTimer = setTimeout(function () {
|
|
3442
|
+
_this.resizing = false;
|
|
3443
|
+
}, 200);
|
|
3444
|
+
};
|
|
3445
|
+
RenderCarouselComponent.prototype.gotoNextSlide = function () {
|
|
3446
|
+
this.showLoader = true;
|
|
3447
|
+
this.currentRenderAngleIndex = (this.currentRenderAngleIndex + 1) % this.renderAngles.length;
|
|
3448
|
+
this._createNewRender();
|
|
3449
|
+
};
|
|
3450
|
+
RenderCarouselComponent.prototype.gotoPrevSlide = function () {
|
|
3451
|
+
this.showLoader = true;
|
|
3452
|
+
this.currentRenderAngleIndex = (this.currentRenderAngleIndex - 1 + this.renderAngles.length) % this.renderAngles.length;
|
|
3453
|
+
this._createNewRender();
|
|
3454
|
+
};
|
|
3455
|
+
RenderCarouselComponent.prototype.ngOnDestroy = function () {
|
|
3456
|
+
this.carousel = undefined;
|
|
3457
|
+
this._subs.forEach(function (s) { return s.unsubscribe(); });
|
|
3458
|
+
};
|
|
3459
|
+
RenderCarouselComponent.prototype.ngOnChanges = function () {
|
|
3460
|
+
this.renderedImageLoaded = false;
|
|
3461
|
+
};
|
|
3462
|
+
RenderCarouselComponent.prototype.onRenderLoaded = function () {
|
|
3463
|
+
this.renderedImageLoaded = true;
|
|
3464
|
+
};
|
|
3465
|
+
RenderCarouselComponent.prototype._getRenderSettings = function () {
|
|
3466
|
+
var settings = new RenderParameters();
|
|
3467
|
+
var rotation = new VectorObject();
|
|
3468
|
+
rotation.x = 0;
|
|
3469
|
+
rotation.y = this.renderAngles[this.currentRenderAngleIndex];
|
|
3470
|
+
rotation.z = 0;
|
|
3471
|
+
settings.objectRotation = rotation;
|
|
3472
|
+
settings.margin = 15;
|
|
3473
|
+
return settings;
|
|
3474
|
+
};
|
|
3475
|
+
RenderCarouselComponent.prototype._createNewRender = function () {
|
|
3476
|
+
this.showLoader = true;
|
|
3477
|
+
this.renderedImageLoaded = false;
|
|
3478
|
+
var renderParams = this._getRenderSettings();
|
|
3479
|
+
this._appEventService.onGetRenderForRenderCarousel.next(renderParams);
|
|
3480
|
+
};
|
|
3481
|
+
return RenderCarouselComponent;
|
|
3482
|
+
}());
|
|
3483
|
+
RenderCarouselComponent.decorators = [
|
|
3484
|
+
{ type: i0.Component, args: [{
|
|
3485
|
+
selector: 'app-render-carousel',
|
|
3486
|
+
template: "\n <div id=\"product_page_carousel\">\n <div id=\"product_page_carousel_render_items\">\n <co-loader [isShown]=\"showLoader\"></co-loader>\n <div #carousel class=\"inner-carousel\">\n <div class=\"inner-carousel-render\">\n <img\n [src]=\"renderedImage\"\n [class.loaded]=\"renderedImageLoaded\"\n (load)=\"onRenderLoaded()\"\n class=\"fade-image\"\n alt=\"\">\n </div>\n <div class=\"carousel-scroller-layer\">\n <div class=\"carousel-item-scroller prev\" (click)=\"gotoPrevSlide()\">\n <co-icon [iconData]=\"iconCache.getIcon(icon.ArrowPointLeft)\"></co-icon>\n </div>\n <div class=\"carousel-item-scroller next\" (click)=\"gotoNextSlide()\">\n <co-icon [iconData]=\"iconCache.getIcon(icon.ArrowPointRight)\"></co-icon>\n </div>\n </div>\n </div>\n </div>\n </div>\n ",
|
|
3487
|
+
changeDetection: i0.ChangeDetectionStrategy.OnPush,
|
|
3488
|
+
styles: [":host{max-height:540px;height:100%;position:relative}:host:not(.resizing) .inner-carousel{scroll-behavior:smooth;-webkit-overflow-scrolling:touch;scroll-snap-type:x mandatory}#product_page_carousel{position:relative}#product_page_carousel .refresh-button{position:absolute;bottom:10px;right:10px;background:#fff}#product_page_carousel .refresh-button.loading{animation:spin 1s linear infinite}#product_page_carousel .refresh-button:hover{box-shadow:none;background:#74B77F;transition:all .2s ease-in-out}#product_page_carousel .refresh-button:hover ::ng-deep svg path{fill:#fff!important}#product_page_carousel #product_page_carousel_render_items{position:relative;margin-bottom:10px;min-height:400px}#product_page_carousel #product_page_carousel_render_items ::ng-deep co-loader{position:absolute}#product_page_carousel .inner-carousel{display:flex;flex-direction:row;align-items:center;overflow:hidden;max-height:700px}#product_page_carousel .inner-carousel .inner-carousel-render img{width:100%;height:auto;-o-object-fit:contain;object-fit:contain}#product_page_carousel .carousel-scroller-layer{height:100%;width:100%;position:absolute;top:0;left:0;z-index:100}#product_page_carousel .carousel-scroller-layer .carousel-item-scroller{opacity:0;position:absolute;border-radius:50%;z-index:100;background:rgba(255,255,255,.4);color:#fff;width:30px;height:30px;top:calc(50% - 15px);cursor:pointer;transition:opacity .3s}#product_page_carousel .carousel-scroller-layer .carousel-item-scroller co-icon{color:#fff}#product_page_carousel .carousel-scroller-layer .prev{left:15px}#product_page_carousel .carousel-scroller-layer .next{right:15px}#product_page_carousel .carousel-scroller-layer:hover .carousel-item-scroller{opacity:1}#product_page_carousel #product_page_carousel_thumbs{display:flex;justify-content:flex-start;height:80px;margin-left:auto;margin-right:auto}#product_page_carousel #product_page_carousel_thumbs ::ng-deep co-scroll-container{padding:0 22px}#product_page_carousel #product_page_carousel_thumbs ::ng-deep co-scroll-container .content-wrapper{padding:0}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.fade-image{opacity:0;transition:opacity 1.5s ease-in-out}.fade-image.loaded{opacity:1}\n"]
|
|
3489
|
+
},] }
|
|
3490
|
+
];
|
|
3491
|
+
RenderCarouselComponent.ctorParameters = function () { return [
|
|
3492
|
+
{ type: IconCacheService },
|
|
3493
|
+
{ type: ProductEventService },
|
|
3494
|
+
{ type: i0.ChangeDetectorRef }
|
|
3495
|
+
]; };
|
|
3496
|
+
RenderCarouselComponent.propDecorators = {
|
|
3497
|
+
carousel: [{ type: i0.ViewChild, args: ['carousel', { read: i0.ElementRef },] }],
|
|
3498
|
+
showRefresh: [{ type: i0.Input }],
|
|
3499
|
+
article: [{ type: i0.Input }],
|
|
3500
|
+
handleWindowResize: [{ type: i0.HostListener, args: ['window:resize',] }],
|
|
3501
|
+
gotoNextSlide: [{ type: i0.HostListener, args: ['swipeleft',] }],
|
|
3502
|
+
gotoPrevSlide: [{ type: i0.HostListener, args: ['swiperight',] }],
|
|
3503
|
+
resizing: [{ type: i0.HostBinding, args: ['class.resizing',] }]
|
|
3504
|
+
};
|
|
3505
|
+
|
|
3506
|
+
var RenderCarouselModule = /** @class */ (function () {
|
|
3507
|
+
function RenderCarouselModule() {
|
|
3508
|
+
}
|
|
3509
|
+
return RenderCarouselModule;
|
|
3510
|
+
}());
|
|
3511
|
+
RenderCarouselModule.decorators = [
|
|
3512
|
+
{ type: i0.NgModule, args: [{
|
|
3513
|
+
imports: [
|
|
3514
|
+
common.CommonModule,
|
|
3515
|
+
corecomponents.LoaderModule,
|
|
3516
|
+
corecomponents.ScrollContainerModule,
|
|
3517
|
+
corecomponents.IconModule,
|
|
3518
|
+
corecomponents_v12.IconCollapseHandleModule
|
|
3519
|
+
],
|
|
3520
|
+
declarations: [
|
|
3521
|
+
RenderCarouselComponent
|
|
3522
|
+
],
|
|
3523
|
+
exports: [
|
|
3524
|
+
RenderCarouselComponent
|
|
3525
|
+
]
|
|
3526
|
+
},] }
|
|
3527
|
+
];
|
|
3528
|
+
|
|
3387
3529
|
var ProductPageModule = /** @class */ (function () {
|
|
3388
3530
|
function ProductPageModule() {
|
|
3389
3531
|
}
|
|
@@ -3406,7 +3548,8 @@
|
|
|
3406
3548
|
ProductInfoTabsModule,
|
|
3407
3549
|
PipeModule,
|
|
3408
3550
|
ProductDialogModule,
|
|
3409
|
-
corecomponents_v12.LoaderModule
|
|
3551
|
+
corecomponents_v12.LoaderModule,
|
|
3552
|
+
RenderCarouselModule
|
|
3410
3553
|
],
|
|
3411
3554
|
schemas: [i0.CUSTOM_ELEMENTS_SCHEMA],
|
|
3412
3555
|
declarations: [
|
|
@@ -3863,7 +4006,7 @@
|
|
|
3863
4006
|
IoneProductModule.decorators = [
|
|
3864
4007
|
{ type: i0.NgModule, args: [{
|
|
3865
4008
|
imports: [
|
|
3866
|
-
//BrowserAnimationsModule,
|
|
4009
|
+
// BrowserAnimationsModule,
|
|
3867
4010
|
common.CommonModule,
|
|
3868
4011
|
ProductPageModule,
|
|
3869
4012
|
ProductHdModule,
|
|
@@ -3882,12 +4025,6 @@
|
|
|
3882
4025
|
],
|
|
3883
4026
|
bootstrap: [
|
|
3884
4027
|
IoneProductComponent
|
|
3885
|
-
],
|
|
3886
|
-
providers: [
|
|
3887
|
-
ProductSettingsService,
|
|
3888
|
-
ProductConnectorService,
|
|
3889
|
-
ProductEventService,
|
|
3890
|
-
ProductConnectorAdapterService
|
|
3891
4028
|
]
|
|
3892
4029
|
},] }
|
|
3893
4030
|
];
|
|
@@ -3919,10 +4056,12 @@
|
|
|
3919
4056
|
exports["ɵbj"] = ProductInfoTabsComponent;
|
|
3920
4057
|
exports["ɵbk"] = ProductDialogModule;
|
|
3921
4058
|
exports["ɵbl"] = ProductDialogComponent;
|
|
3922
|
-
exports["ɵbm"] =
|
|
3923
|
-
exports["ɵbn"] =
|
|
3924
|
-
exports["ɵbo"] =
|
|
3925
|
-
exports["ɵbp"] =
|
|
4059
|
+
exports["ɵbm"] = RenderCarouselModule;
|
|
4060
|
+
exports["ɵbn"] = RenderCarouselComponent;
|
|
4061
|
+
exports["ɵbo"] = ProductPageComponent;
|
|
4062
|
+
exports["ɵbp"] = ProductHdModule;
|
|
4063
|
+
exports["ɵbq"] = ProductHdComponent;
|
|
4064
|
+
exports["ɵbr"] = ProductScriptLoaderService;
|
|
3926
4065
|
exports["ɵc"] = PipeModule;
|
|
3927
4066
|
exports["ɵd"] = LocalizePipe;
|
|
3928
4067
|
exports["ɵe"] = DictionaryService;
|