ng-easycommerce-v18 0.0.4 → 0.0.5
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/assets/ec-i18n/es.json +3 -0
- package/esm2022/lib/ec-components/cart-ec/cart-ec.component.mjs +4 -2
- package/esm2022/lib/ec-components/cart-ec/cart-item-ec/cart-item-ec.component.mjs +25 -1
- package/esm2022/lib/ec-components/filters-ec/filters-ec.component.mjs +19 -4
- package/esm2022/lib/ec-components/product-detail-ec/product-detail-ec.component.mjs +7 -1
- package/esm2022/lib/ec-components/product-ec/product-ec.component.mjs +3 -3
- package/esm2022/lib/ec-components/variants-ec/variants-ec.component.mjs +3 -3
- package/esm2022/lib/ec-components/widgets-ec/price-ec/price-ec.component.mjs +3 -3
- package/esm2022/lib/ec-directive/index.mjs +10 -0
- package/esm2022/lib/ec-directive/product-off.directive.mjs +119 -0
- package/esm2022/lib/ec-directive/product-stock.directive.mjs +72 -0
- package/esm2022/public-api.mjs +2 -2
- package/fesm2022/ng-easycommerce-v18.mjs +249 -12
- package/fesm2022/ng-easycommerce-v18.mjs.map +1 -1
- package/lib/ec-components/cart-ec/cart-ec.component.d.ts +2 -0
- package/lib/ec-components/cart-ec/cart-item-ec/cart-item-ec.component.d.ts +3 -0
- package/lib/ec-components/filters-ec/filters-ec.component.d.ts +10 -0
- package/lib/ec-components/product-detail-ec/product-detail-ec.component.d.ts +3 -0
- package/lib/ec-directive/index.d.ts +3 -0
- package/lib/ec-directive/product-off.directive.d.ts +28 -0
- package/lib/ec-directive/product-stock.directive.d.ts +18 -0
- package/package.json +1 -1
- package/public-api.d.ts +1 -0
|
@@ -14,14 +14,14 @@ export class PriceEcComponent {
|
|
|
14
14
|
*/
|
|
15
15
|
saleprice;
|
|
16
16
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: PriceEcComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
17
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.0", type: PriceEcComponent, isStandalone: true, selector: "app-price-ec", inputs: { price: "price", saleprice: "saleprice" }, ngImport: i0, template: "@if(saleprice){\r\n <!--With saleprice-->\r\n
|
|
17
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.0", type: PriceEcComponent, isStandalone: true, selector: "app-price-ec", inputs: { price: "price", saleprice: "saleprice" }, ngImport: i0, template: " <div class=\"price\">\r\n @if(saleprice){\r\n <!--With saleprice-->\r\n \r\n @if(price && price.split(' - ').length > 1){\r\n <div class=\"price-whithSaleprice\">\r\n <del class=\"\">\r\n {{ price.split(' - ')[0] | ecCurrencySymbol }}\r\n {{ price.split(' - ')[1] | ecCurrencySymbol }}\r\n </del>\r\n </div>\r\n }@else {\r\n <!--Simple Price Del-->\r\n <div class=\"price-simpleDel\">\r\n <del class=\"\">\r\n {{ price | ecCurrencySymbol }}</del>\r\n </div>\r\n }\r\n @if(saleprice && saleprice.split(' - ').length > 1){\r\n <div class=\"\">\r\n {{\r\n saleprice.split(' - ')[0] | ecCurrencySymbol\r\n }}\r\n {{\r\n saleprice.split(' - ')[1] | ecCurrencySymbol\r\n }}\r\n </div>\r\n } @else {\r\n <!--Simple saleprice-->\r\n <div class=\"price-simpleSaleprice\">\r\n {{ saleprice | ecCurrencySymbol }}\r\n </div>\r\n }\r\n\r\n}@else {\r\n <!--Only Price-->\r\n\r\n @if(price && price.split(' - ').length > 1){\r\n <div class=\"price-onlyPrice\">\r\n {{ price.split(' - ')[0] | ecCurrencySymbol }} -\r\n {{ price.split(' - ')[1] | ecCurrencySymbol }}\r\n </div> \r\n } @else {\r\n <!--Simple price-->\r\n <del> </del>\r\n <div class=\"price-simplePrice\">\r\n {{ price | ecCurrencySymbol }}\r\n </div>\r\n }\r\n}\r\n</div> ", styles: [""], dependencies: [{ kind: "pipe", type: EcCurrencySymbolPipe, name: "ecCurrencySymbol" }] });
|
|
18
18
|
}
|
|
19
19
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: PriceEcComponent, decorators: [{
|
|
20
20
|
type: Component,
|
|
21
|
-
args: [{ selector: 'app-price-ec', standalone: true, imports: [EcCurrencySymbolPipe], template: "@if(saleprice){\r\n <!--With saleprice-->\r\n
|
|
21
|
+
args: [{ selector: 'app-price-ec', standalone: true, imports: [EcCurrencySymbolPipe], template: " <div class=\"price\">\r\n @if(saleprice){\r\n <!--With saleprice-->\r\n \r\n @if(price && price.split(' - ').length > 1){\r\n <div class=\"price-whithSaleprice\">\r\n <del class=\"\">\r\n {{ price.split(' - ')[0] | ecCurrencySymbol }}\r\n {{ price.split(' - ')[1] | ecCurrencySymbol }}\r\n </del>\r\n </div>\r\n }@else {\r\n <!--Simple Price Del-->\r\n <div class=\"price-simpleDel\">\r\n <del class=\"\">\r\n {{ price | ecCurrencySymbol }}</del>\r\n </div>\r\n }\r\n @if(saleprice && saleprice.split(' - ').length > 1){\r\n <div class=\"\">\r\n {{\r\n saleprice.split(' - ')[0] | ecCurrencySymbol\r\n }}\r\n {{\r\n saleprice.split(' - ')[1] | ecCurrencySymbol\r\n }}\r\n </div>\r\n } @else {\r\n <!--Simple saleprice-->\r\n <div class=\"price-simpleSaleprice\">\r\n {{ saleprice | ecCurrencySymbol }}\r\n </div>\r\n }\r\n\r\n}@else {\r\n <!--Only Price-->\r\n\r\n @if(price && price.split(' - ').length > 1){\r\n <div class=\"price-onlyPrice\">\r\n {{ price.split(' - ')[0] | ecCurrencySymbol }} -\r\n {{ price.split(' - ')[1] | ecCurrencySymbol }}\r\n </div> \r\n } @else {\r\n <!--Simple price-->\r\n <del> </del>\r\n <div class=\"price-simplePrice\">\r\n {{ price | ecCurrencySymbol }}\r\n </div>\r\n }\r\n}\r\n</div> " }]
|
|
22
22
|
}], propDecorators: { price: [{
|
|
23
23
|
type: Input
|
|
24
24
|
}], saleprice: [{
|
|
25
25
|
type: Input
|
|
26
26
|
}] } });
|
|
27
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
27
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJpY2UtZWMuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmctZWFzeWNvbW1lcmNlLXYxOC9zcmMvbGliL2VjLWNvbXBvbmVudHMvd2lkZ2V0cy1lYy9wcmljZS1lYy9wcmljZS1lYy5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZy1lYXN5Y29tbWVyY2UtdjE4L3NyYy9saWIvZWMtY29tcG9uZW50cy93aWRnZXRzLWVjL3ByaWNlLWVjL3ByaWNlLWVjLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ2pELE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLDBDQUEwQyxDQUFDOztBQUNoRjs7R0FFRztBQVFILE1BQU0sT0FBTyxnQkFBZ0I7SUFDM0I7O09BRUc7SUFDSyxLQUFLLENBQU07SUFDbkI7O09BRUc7SUFDSyxTQUFTLENBQU07dUdBUlosZ0JBQWdCOzJGQUFoQixnQkFBZ0IsNEhDWjdCLDhoREFrRFEscUREMUNJLG9CQUFvQjs7MkZBSW5CLGdCQUFnQjtrQkFQNUIsU0FBUzsrQkFDRSxjQUFjLGNBQ1osSUFBSSxXQUNQLENBQUMsb0JBQW9CLENBQUM7OEJBUXZCLEtBQUs7c0JBQWIsS0FBSztnQkFJRyxTQUFTO3NCQUFqQixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBJbnB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBFY0N1cnJlbmN5U3ltYm9sUGlwZSB9IGZyb20gXCIuLi8uLi8uLi9lYy1waXBlL2VjLWN1cnJlbmN5LXN5bWJvbC5waXBlXCI7XHJcbi8qKlxyXG4gKiBDb21wb25lbnRlIHBhcmEgbWFuZWphciBsYSB2aXN0YSBkZWwgcHJlY2lvIGRlIHVuIHByb2R1Y3RvLlxyXG4gKi9cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdhcHAtcHJpY2UtZWMnLFxyXG4gIHN0YW5kYWxvbmU6IHRydWUsXHJcbiAgaW1wb3J0czogW0VjQ3VycmVuY3lTeW1ib2xQaXBlXSxcclxuICB0ZW1wbGF0ZVVybDogJy4vcHJpY2UtZWMuY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsOiAnLi9wcmljZS1lYy5jb21wb25lbnQuc2NzcydcclxufSlcclxuZXhwb3J0IGNsYXNzIFByaWNlRWNDb21wb25lbnQge1xyXG4gIC8qKlxyXG4gICAqIFByZWNpbyBkZSB1biBwcm9kdWN0by5cclxuICAgKi9cclxuXHRASW5wdXQoKSBwcmljZTogYW55O1xyXG4gIC8qKlxyXG4gICAqIFByZWNpbyBkZSB2ZW50YSBkZSB1biBwcm9kdWN0by5cclxuICAgKi9cclxuXHRASW5wdXQoKSBzYWxlcHJpY2U6IGFueTtcclxufVxyXG4iLCIgPGRpdiBjbGFzcz1cInByaWNlXCI+XHJcbiAgICBAaWYoc2FsZXByaWNlKXtcclxuICAgIDwhLS1XaXRoIHNhbGVwcmljZS0tPlxyXG4gXHJcbiAgICBAaWYocHJpY2UgJiYgcHJpY2Uuc3BsaXQoJyAtICcpLmxlbmd0aCA+IDEpe1xyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJwcmljZS13aGl0aFNhbGVwcmljZVwiPlxyXG4gICAgICAgICAgICA8ZGVsIGNsYXNzPVwiXCI+XHJcbiAgICAgICAgICAgICAgICB7eyBwcmljZS5zcGxpdCgnIC0gJylbMF0gfCBlY0N1cnJlbmN5U3ltYm9sIH19XHJcbiAgICAgICAgICAgICAgICB7eyBwcmljZS5zcGxpdCgnIC0gJylbMV0gfCBlY0N1cnJlbmN5U3ltYm9sIH19XHJcbiAgICAgICAgICAgIDwvZGVsPlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgfUBlbHNlIHtcclxuICAgICAgICA8IS0tU2ltcGxlIFByaWNlIERlbC0tPlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJwcmljZS1zaW1wbGVEZWxcIj5cclxuICAgICAgICAgICAgPGRlbCBjbGFzcz1cIlwiPlxyXG4gICAgICAgICAgICAgICAge3sgcHJpY2UgfCBlY0N1cnJlbmN5U3ltYm9sIH19PC9kZWw+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICB9XHJcbiAgICBAaWYoc2FsZXByaWNlICYmIHNhbGVwcmljZS5zcGxpdCgnIC0gJykubGVuZ3RoID4gMSl7XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cIlwiPlxyXG4gICAgICAgICAgICB7e1xyXG4gICAgICAgICAgICBzYWxlcHJpY2Uuc3BsaXQoJyAtICcpWzBdIHwgZWNDdXJyZW5jeVN5bWJvbFxyXG4gICAgICAgICAgICB9fVxyXG4gICAgICAgICAgICB7e1xyXG4gICAgICAgICAgICBzYWxlcHJpY2Uuc3BsaXQoJyAtICcpWzFdIHwgZWNDdXJyZW5jeVN5bWJvbFxyXG4gICAgICAgICAgICB9fVxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgfSBAZWxzZSB7XHJcbiAgICAgICAgPCEtLVNpbXBsZSBzYWxlcHJpY2UtLT5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwicHJpY2Utc2ltcGxlU2FsZXByaWNlXCI+XHJcbiAgICAgICAgICAgIHt7IHNhbGVwcmljZSB8IGVjQ3VycmVuY3lTeW1ib2wgfX1cclxuICAgICAgIDwvZGl2PlxyXG4gICAgfVxyXG5cclxufUBlbHNlIHtcclxuICAgIDwhLS1Pbmx5IFByaWNlLS0+XHJcblxyXG4gICAgQGlmKHByaWNlICYmIHByaWNlLnNwbGl0KCcgLSAnKS5sZW5ndGggPiAxKXtcclxuICAgICAgICA8ZGl2IGNsYXNzPVwicHJpY2Utb25seVByaWNlXCI+XHJcbiAgICAgICAgICAgIHt7IHByaWNlLnNwbGl0KCcgLSAnKVswXSB8IGVjQ3VycmVuY3lTeW1ib2wgfX0gLVxyXG4gICAgICAgICAgICB7eyBwcmljZS5zcGxpdCgnIC0gJylbMV0gfCBlY0N1cnJlbmN5U3ltYm9sIH19XHJcbiAgICAgICAgPC9kaXY+IFxyXG4gICAgfSBAZWxzZSB7XHJcbiAgICAgICAgPCEtLVNpbXBsZSBwcmljZS0tPlxyXG4gICAgICAgIDxkZWw+Jm5ic3A7PC9kZWw+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cInByaWNlLXNpbXBsZVByaWNlXCI+XHJcbiAgICAgICAgICAgIHt7IHByaWNlIHwgZWNDdXJyZW5jeVN5bWJvbCB9fVxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgfVxyXG59XHJcbjwvZGl2PiAgIl19
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
//Directives base
|
|
2
|
+
import { ProductStockDirective } from './product-stock.directive';
|
|
3
|
+
import { ProductOffDirective } from './product-off.directive';
|
|
4
|
+
export const directives = [
|
|
5
|
+
ProductOffDirective,
|
|
6
|
+
ProductStockDirective,
|
|
7
|
+
];
|
|
8
|
+
export * from './product-stock.directive';
|
|
9
|
+
export * from './product-off.directive';
|
|
10
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZy1lYXN5Y29tbWVyY2UtdjE4L3NyYy9saWIvZWMtZGlyZWN0aXZlL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGlCQUFpQjtBQUVqQixPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUNsRSxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUM5RCxNQUFNLENBQUMsTUFBTSxVQUFVLEdBQVU7SUFDN0IsbUJBQW1CO0lBQ25CLHFCQUFxQjtDQUN4QixDQUFDO0FBRUYsY0FBYywyQkFBMkIsQ0FBQztBQUMxQyxjQUFjLHlCQUF5QixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLy9EaXJlY3RpdmVzIGJhc2VcclxuXHJcbmltcG9ydCB7IFByb2R1Y3RTdG9ja0RpcmVjdGl2ZSB9IGZyb20gJy4vcHJvZHVjdC1zdG9jay5kaXJlY3RpdmUnO1xyXG5pbXBvcnQgeyBQcm9kdWN0T2ZmRGlyZWN0aXZlIH0gZnJvbSAnLi9wcm9kdWN0LW9mZi5kaXJlY3RpdmUnO1xyXG5leHBvcnQgY29uc3QgZGlyZWN0aXZlczogYW55W10gPSBbXHJcbiAgICBQcm9kdWN0T2ZmRGlyZWN0aXZlLFxyXG4gICAgUHJvZHVjdFN0b2NrRGlyZWN0aXZlLFxyXG5dO1xyXG5cclxuZXhwb3J0ICogZnJvbSAnLi9wcm9kdWN0LXN0b2NrLmRpcmVjdGl2ZSc7XHJcbmV4cG9ydCAqIGZyb20gJy4vcHJvZHVjdC1vZmYuZGlyZWN0aXZlJztcclxuIl19
|
|
@@ -0,0 +1,119 @@
|
|
|
1
|
+
import { Directive, Input, Inject, } from "@angular/core";
|
|
2
|
+
import { DOCUMENT } from "@angular/common";
|
|
3
|
+
import * as i0 from "@angular/core";
|
|
4
|
+
export class ParamsContext {
|
|
5
|
+
}
|
|
6
|
+
export class ProductOffDirective {
|
|
7
|
+
document;
|
|
8
|
+
elementRef;
|
|
9
|
+
renderer;
|
|
10
|
+
product;
|
|
11
|
+
classStr = "";
|
|
12
|
+
customMessageStr = "{discount}% OFF";
|
|
13
|
+
set ecProductOff(value) {
|
|
14
|
+
this.product = value;
|
|
15
|
+
}
|
|
16
|
+
set classStrSpacing(value) {
|
|
17
|
+
this.classStr = value;
|
|
18
|
+
}
|
|
19
|
+
set customMessage(value) {
|
|
20
|
+
this.customMessageStr = value;
|
|
21
|
+
}
|
|
22
|
+
constructor(document, elementRef, renderer) {
|
|
23
|
+
this.document = document;
|
|
24
|
+
this.elementRef = elementRef;
|
|
25
|
+
this.renderer = renderer;
|
|
26
|
+
}
|
|
27
|
+
ngOnInit() { }
|
|
28
|
+
hasDiscount = (product) => {
|
|
29
|
+
if (!product.saleprice) {
|
|
30
|
+
return null;
|
|
31
|
+
}
|
|
32
|
+
if (typeof product.price === 'string' && product.price.includes("-") &&
|
|
33
|
+
typeof product.saleprice === 'string' && product.saleprice.includes("-")) {
|
|
34
|
+
let prices = product.price.split('-');
|
|
35
|
+
let saleprices = product.saleprice.split('-');
|
|
36
|
+
let saleBf = this.generateDiscount(prices[1]?.trim(), saleprices[1]?.trim());
|
|
37
|
+
let saleLt = this.generateDiscount(prices[0]?.trim(), saleprices[0]?.trim());
|
|
38
|
+
if (!saleBf && !saleLt) {
|
|
39
|
+
return null;
|
|
40
|
+
}
|
|
41
|
+
if (saleBf && saleLt && saleBf === saleLt) {
|
|
42
|
+
return `${saleBf}`;
|
|
43
|
+
}
|
|
44
|
+
if (saleBf && !saleLt) {
|
|
45
|
+
return `${saleBf}`;
|
|
46
|
+
}
|
|
47
|
+
if (!saleBf && saleLt) {
|
|
48
|
+
return `${saleLt}`;
|
|
49
|
+
}
|
|
50
|
+
return `${saleBf} - ${saleLt}`;
|
|
51
|
+
}
|
|
52
|
+
else {
|
|
53
|
+
if (parseInt(product.price) > parseInt(product.saleprice)) {
|
|
54
|
+
return this.generateDiscount(product.price, product.saleprice)?.toString() || null;
|
|
55
|
+
}
|
|
56
|
+
}
|
|
57
|
+
return null; // Ensure a return value in all code paths
|
|
58
|
+
};
|
|
59
|
+
generateDiscount = (price, saleprice) => {
|
|
60
|
+
if (parseFloat(price) > parseFloat(saleprice)) {
|
|
61
|
+
let result = ((parseFloat(price) - parseFloat(saleprice)) /
|
|
62
|
+
parseFloat(price)) *
|
|
63
|
+
100;
|
|
64
|
+
if (Number.isNaN(result)) {
|
|
65
|
+
return null;
|
|
66
|
+
}
|
|
67
|
+
else
|
|
68
|
+
return Math.round(result); //Math.floor(result);
|
|
69
|
+
}
|
|
70
|
+
return null;
|
|
71
|
+
};
|
|
72
|
+
ngOnChanges(changes) {
|
|
73
|
+
if (this.product.price) {
|
|
74
|
+
let discount = this.hasDiscount(this.product);
|
|
75
|
+
this.elementRef.nativeElement.childNodes.forEach((node) => {
|
|
76
|
+
this.renderer.removeChild(this.elementRef.nativeElement, node);
|
|
77
|
+
});
|
|
78
|
+
if (discount) {
|
|
79
|
+
this.renderer.appendChild(this.elementRef.nativeElement, this.createImage(discount));
|
|
80
|
+
}
|
|
81
|
+
// else {
|
|
82
|
+
// this.renderer.removeChild(this.elementRef.nativeElement.parentElement, this.elementRef.nativeElement);
|
|
83
|
+
// }
|
|
84
|
+
}
|
|
85
|
+
}
|
|
86
|
+
createImage = (discount) => {
|
|
87
|
+
let popover = this.renderer.createElement("a");
|
|
88
|
+
this.customMessageStr = this.customMessageStr.replace('{discount}', discount);
|
|
89
|
+
this.renderer.setProperty(popover, "innerHTML", this.customMessageStr);
|
|
90
|
+
this.classStr?.split(" ").forEach((cl) => {
|
|
91
|
+
try {
|
|
92
|
+
this.renderer.addClass(popover, cl);
|
|
93
|
+
}
|
|
94
|
+
catch (error) {
|
|
95
|
+
console.log('add class directive -> ', error);
|
|
96
|
+
}
|
|
97
|
+
});
|
|
98
|
+
return popover;
|
|
99
|
+
};
|
|
100
|
+
ngOnDestroy() { }
|
|
101
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: ProductOffDirective, deps: [{ token: DOCUMENT }, { token: i0.ElementRef }, { token: i0.Renderer2 }], target: i0.ɵɵFactoryTarget.Directive });
|
|
102
|
+
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.0", type: ProductOffDirective, selector: "[ecProductOff]", inputs: { ecProductOff: "ecProductOff", classStrSpacing: "classStrSpacing", customMessage: "customMessage" }, usesOnChanges: true, ngImport: i0 });
|
|
103
|
+
}
|
|
104
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: ProductOffDirective, decorators: [{
|
|
105
|
+
type: Directive,
|
|
106
|
+
args: [{
|
|
107
|
+
selector: "[ecProductOff]",
|
|
108
|
+
}]
|
|
109
|
+
}], ctorParameters: () => [{ type: Document, decorators: [{
|
|
110
|
+
type: Inject,
|
|
111
|
+
args: [DOCUMENT]
|
|
112
|
+
}] }, { type: i0.ElementRef }, { type: i0.Renderer2 }], propDecorators: { ecProductOff: [{
|
|
113
|
+
type: Input
|
|
114
|
+
}], classStrSpacing: [{
|
|
115
|
+
type: Input
|
|
116
|
+
}], customMessage: [{
|
|
117
|
+
type: Input
|
|
118
|
+
}] } });
|
|
119
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvZHVjdC1vZmYuZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmctZWFzeWNvbW1lcmNlLXYxOC9zcmMvbGliL2VjLWRpcmVjdGl2ZS9wcm9kdWN0LW9mZi5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNILFNBQVMsRUFJVCxLQUFLLEVBR0wsTUFBTSxHQUdULE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQzs7QUFFM0MsTUFBTSxPQUFPLGFBQWE7Q0FFekI7QUFLRCxNQUFNLE9BQU8sbUJBQW1CO0lBb0JFO0lBQ2xCO0lBQ0E7SUFwQkosT0FBTyxDQUFNO0lBQ2IsUUFBUSxHQUFXLEVBQUUsQ0FBQztJQUN0QixnQkFBZ0IsR0FBRyxpQkFBaUIsQ0FBQztJQUU3QyxJQUNJLFlBQVksQ0FBQyxLQUFVO1FBQ3ZCLElBQUksQ0FBQyxPQUFPLEdBQUcsS0FBSyxDQUFDO0lBQ3pCLENBQUM7SUFDRCxJQUNJLGVBQWUsQ0FBQyxLQUFVO1FBQzFCLElBQUksQ0FBQyxRQUFRLEdBQUcsS0FBSyxDQUFDO0lBQzFCLENBQUM7SUFDRCxJQUNJLGFBQWEsQ0FBQyxLQUFhO1FBQzNCLElBQUksQ0FBQyxnQkFBZ0IsR0FBRyxLQUFLLENBQUM7SUFDbEMsQ0FBQztJQUVELFlBQzhCLFFBQWtCLEVBQ3BDLFVBQXNCLEVBQ3RCLFFBQW1CO1FBRkQsYUFBUSxHQUFSLFFBQVEsQ0FBVTtRQUNwQyxlQUFVLEdBQVYsVUFBVSxDQUFZO1FBQ3RCLGFBQVEsR0FBUixRQUFRLENBQVc7SUFDM0IsQ0FBQztJQUVMLFFBQVEsS0FBSyxDQUFDO0lBQ2QsV0FBVyxHQUFHLENBQUMsT0FBK0QsRUFBNkIsRUFBRTtRQUV6RyxJQUFJLENBQUMsT0FBTyxDQUFDLFNBQVMsRUFBRSxDQUFDO1lBQ3JCLE9BQU8sSUFBSSxDQUFDO1FB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O1lBQUMsQ0FBQztRQUN0RSxDQUFDLENBQUMsQ0FBQztRQUNILE9BQU8sT0FBTyxDQUFDO0lBQ25CLENBQUMsQ0FBQztJQUVGLFdBQVcsS0FBSyxDQUFDO3VHQXBHUixtQkFBbUIsa0JBb0JoQixRQUFROzJGQXBCWCxtQkFBbUI7OzJGQUFuQixtQkFBbUI7a0JBSC9CLFNBQVM7bUJBQUM7b0JBQ1AsUUFBUSxFQUFFLGdCQUFnQjtpQkFDN0I7OzBCQXFCUSxNQUFNOzJCQUFDLFFBQVE7MEZBYmhCLFlBQVk7c0JBRGYsS0FBSztnQkFLRixlQUFlO3NCQURsQixLQUFLO2dCQUtGLGFBQWE7c0JBRGhCLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xyXG4gICAgRGlyZWN0aXZlLFxyXG4gICAgT25Jbml0LFxyXG4gICAgVmlld0NvbnRhaW5lclJlZixcclxuICAgIE9uRGVzdHJveSxcclxuICAgIElucHV0LFxyXG4gICAgRWxlbWVudFJlZixcclxuICAgIFJlbmRlcmVyMixcclxuICAgIEluamVjdCxcclxuICAgIE9uQ2hhbmdlcyxcclxuICAgIFNpbXBsZUNoYW5nZXMsXHJcbn0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcclxuaW1wb3J0IHsgRE9DVU1FTlQgfSBmcm9tIFwiQGFuZ3VsYXIvY29tbW9uXCI7XHJcblxyXG5leHBvcnQgY2xhc3MgUGFyYW1zQ29udGV4dCB7XHJcbiAgICBba2V5OiBzdHJpbmddOiBhbnk7XHJcbn1cclxuXHJcbkBEaXJlY3RpdmUoe1xyXG4gICAgc2VsZWN0b3I6IFwiW2VjUHJvZHVjdE9mZl1cIixcclxufSlcclxuZXhwb3J0IGNsYXNzIFByb2R1Y3RPZmZEaXJlY3RpdmUgaW1wbGVtZW50cyBPbkNoYW5nZXMsIE9uSW5pdCwgT25EZXN0cm95IHtcclxuXHJcbiAgICBwcml2YXRlIHByb2R1Y3Q6IGFueTtcclxuICAgIHByaXZhdGUgY2xhc3NTdHI6IHN0cmluZyA9IFwiXCI7XHJcbiAgICBwcml2YXRlIGN1c3RvbU1lc3NhZ2VTdHIgPSBcIntkaXNjb3VudH0lIE9GRlwiO1xyXG5cclxuICAgIEBJbnB1dCgpXHJcbiAgICBzZXQgZWNQcm9kdWN0T2ZmKHZhbHVlOiBhbnkpIHtcclxuICAgICAgICB0aGlzLnByb2R1Y3QgPSB2YWx1ZTtcclxuICAgIH1cclxuICAgIEBJbnB1dCgpXHJcbiAgICBzZXQgY2xhc3NTdHJTcGFjaW5nKHZhbHVlOiBhbnkpIHtcclxuICAgICAgICB0aGlzLmNsYXNzU3RyID0gdmFsdWU7XHJcbiAgICB9XHJcbiAgICBASW5wdXQoKVxyXG4gICAgc2V0IGN1c3RvbU1lc3NhZ2UodmFsdWU6IHN0cmluZykge1xyXG4gICAgICAgIHRoaXMuY3VzdG9tTWVzc2FnZVN0ciA9IHZhbHVlO1xyXG4gICAgfVxyXG5cclxuICAgIGNvbnN0cnVjdG9yKFxyXG4gICAgICAgIEBJbmplY3QoRE9DVU1FTlQpIHByaXZhdGUgZG9jdW1lbnQ6IERvY3VtZW50LFxyXG4gICAgICAgIHByaXZhdGUgZWxlbWVudFJlZjogRWxlbWVudFJlZixcclxuICAgICAgICBwcml2YXRlIHJlbmRlcmVyOiBSZW5kZXJlcjIsXHJcbiAgICApIHsgfVxyXG5cclxuICAgIG5nT25Jbml0KCkgeyB9XHJcbiAgICBoYXNEaXNjb3VudCA9IChwcm9kdWN0OiB7IHByaWNlOiBzdHJpbmcgfCBudW1iZXI7IHNhbGVwcmljZTogc3RyaW5nIHwgbnVtYmVyIH0pOiBzdHJpbmcgfCBudWxsIHwgdW5kZWZpbmVkID0+IHtcclxuXHJcbiAgICAgICAgaWYgKCFwcm9kdWN0LnNhbGVwcmljZSkge1xyXG4gICAgICAgICAgICByZXR1cm4gbnVsbDtcclxuICAgICAgICB9XHJcbiAgICAgICAgaWYgKHR5cGVvZiBwcm9kdWN0LnByaWNlID09PSAnc3RyaW5nJyAmJiBwcm9kdWN0LnByaWNlLmluY2x1ZGVzKFwiLVwiKSAmJiBcclxuICAgICAgICAgICAgdHlwZW9mIHByb2R1Y3Quc2FsZXByaWNlID09PSAnc3RyaW5nJyAmJiBwcm9kdWN0LnNhbGVwcmljZS5pbmNsdWRlcyhcIi1cIikpIHtcclxuICAgICAgICAgICAgbGV0IHByaWNlczogc3RyaW5nW10gPSBwcm9kdWN0LnByaWNlLnNwbGl0KCctJyk7XHJcbiAgICAgICAgICAgIGxldCBzYWxlcHJpY2VzOiBzdHJpbmdbXSA9IHByb2R1Y3Quc2FsZXByaWNlLnNwbGl0KCctJyk7XHJcbiAgICAgICAgICAgIGxldCBzYWxlQmY6IG51bWJlciB8IG51bGwgPSB0aGlzLmdlbmVyYXRlRGlzY291bnQocHJpY2VzWzFdPy50cmltKCksIHNhbGVwcmljZXNbMV0/LnRyaW0oKSk7XHJcbiAgICAgICAgICAgIGxldCBzYWxlTHQ6IG51bWJlciB8IG51bGwgPSB0aGlzLmdlbmVyYXRlRGlzY291bnQocHJpY2VzWzBdPy50cmltKCksIHNhbGVwcmljZXNbMF0/LnRyaW0oKSk7XHJcbiAgICAgICAgICAgIGlmICghc2FsZUJmICYmICFzYWxlTHQpIHtcclxuICAgICAgICAgICAgICAgIHJldHVybiBudWxsO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIGlmIChzYWxlQmYgJiYgc2FsZUx0ICYmIHNhbGVCZiA9PT0gc2FsZUx0KSB7XHJcbiAgICAgICAgICAgICAgICByZXR1cm4gYCR7c2FsZUJmfWA7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgaWYgKHNhbGVCZiAmJiAhc2FsZUx0KSB7XHJcbiAgICAgICAgICAgICAgICByZXR1cm4gYCR7c2FsZUJmfWA7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgaWYgKCFzYWxlQmYgJiYgc2FsZUx0KSB7XHJcbiAgICAgICAgICAgICAgICByZXR1cm4gYCR7c2FsZUx0fWA7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgcmV0dXJuIGAke3NhbGVCZn0gLSAke3NhbGVMdH1gO1xyXG4gICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgIGlmIChwYXJzZUludChwcm9kdWN0LnByaWNlIGFzIHN0cmluZykgPiBwYXJzZUludChwcm9kdWN0LnNhbGVwcmljZSBhcyBzdHJpbmcpKSB7XHJcbiAgICAgICAgICAgICAgICByZXR1cm4gdGhpcy5nZW5lcmF0ZURpc2NvdW50KHByb2R1Y3QucHJpY2UsIHByb2R1Y3Quc2FsZXByaWNlKT8udG9TdHJpbmcoKSB8fCBudWxsO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHJldHVybiBudWxsOyAvLyBFbnN1cmUgYSByZXR1cm4gdmFsdWUgaW4gYWxsIGNvZGUgcGF0aHNcclxuICAgIH07XHJcblxyXG5cclxuICAgIGdlbmVyYXRlRGlzY291bnQgPSAocHJpY2U6IHN0cmluZyB8IG51bWJlciwgc2FsZXByaWNlOiBzdHJpbmcgfCBudW1iZXIpOiBudW1iZXIgfCBudWxsID0+IHtcclxuICAgICAgICBcclxuICAgICAgICBpZiAocGFyc2VGbG9hdChwcmljZSBhcyBzdHJpbmcpID4gcGFyc2VGbG9hdChzYWxlcHJpY2UgYXMgc3RyaW5nKSkge1xyXG4gICAgICAgICAgICBsZXQgcmVzdWx0ID1cclxuICAgICAgICAgICAgICAgICgocGFyc2VGbG9hdChwcmljZSBhcyBzdHJpbmcpIC0gcGFyc2VGbG9hdChzYWxlcHJpY2UgYXMgc3RyaW5nKSkgL1xyXG4gICAgICAgICAgICAgICAgICAgIHBhcnNlRmxvYXQocHJpY2UgYXMgc3RyaW5nKSkgKlxyXG4gICAgICAgICAgICAgICAgMTAwO1xyXG4gICAgICAgICAgICBpZiAoTnVtYmVyLmlzTmFOKHJlc3VsdCkpIHtcclxuICAgICAgICAgICAgICAgIHJldHVybiBudWxsO1xyXG4gICAgICAgICAgICB9IGVsc2UgcmV0dXJuIE1hdGgucm91bmQocmVzdWx0KTsgLy9NYXRoLmZsb29yKHJlc3VsdCk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHJldHVybiBudWxsO1xyXG4gICAgfVxyXG5cclxuICAgIG5nT25DaGFuZ2VzKGNoYW5nZXM6IFNpbXBsZUNoYW5nZXMpIHtcclxuICAgICAgICBpZiAodGhpcy5wcm9kdWN0LnByaWNlKSB7XHJcbiAgICAgICAgICAgIGxldCBkaXNjb3VudCA9IHRoaXMuaGFzRGlzY291bnQodGhpcy5wcm9kdWN0KTtcclxuICAgICAgICAgICAgKHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LmNoaWxkTm9kZXMgYXMgTm9kZUxpc3RPZjxDaGlsZE5vZGU+KS5mb3JFYWNoKChub2RlOiBDaGlsZE5vZGUpID0+IHtcclxuICAgICAgICAgICAgICAgIHRoaXMucmVuZGVyZXIucmVtb3ZlQ2hpbGQodGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQsIG5vZGUpO1xyXG4gICAgICAgICAgICB9KTtcclxuICAgICAgICAgICAgaWYgKGRpc2NvdW50KSB7XHJcbiAgICAgICAgICAgICAgICB0aGlzLnJlbmRlcmVyLmFwcGVuZENoaWxkKHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LCB0aGlzLmNyZWF0ZUltYWdlKGRpc2NvdW50KSk7XHJcbiAgICAgICAgICAgIH0gXHJcbiAgICAgICAgICAgIC8vIGVsc2Uge1xyXG4gICAgICAgICAgICAvLyAgICAgdGhpcy5yZW5kZXJlci5yZW1vdmVDaGlsZCh0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudC5wYXJlbnRFbGVtZW50LCB0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudCk7XHJcbiAgICAgICAgICAgIC8vIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgY3JlYXRlSW1hZ2UgPSAoZGlzY291bnQ6IHN0cmluZyk6IEhUTUxFbGVtZW50ID0+IHtcclxuICAgICAgICBsZXQgcG9wb3ZlcjogSFRNTEVsZW1lbnQgPSB0aGlzLnJlbmRlcmVyLmNyZWF0ZUVsZW1lbnQoXCJhXCIpO1xyXG4gICAgICAgIHRoaXMuY3VzdG9tTWVzc2FnZVN0ciA9IHRoaXMuY3VzdG9tTWVzc2FnZVN0ci5yZXBsYWNlKCd7ZGlzY291bnR9JywgZGlzY291bnQpO1xyXG4gICAgICAgIHRoaXMucmVuZGVyZXIuc2V0UHJvcGVydHkocG9wb3ZlciwgXCJpbm5lckhUTUxcIiwgdGhpcy5jdXN0b21NZXNzYWdlU3RyKTtcclxuICAgICAgICB0aGlzLmNsYXNzU3RyPy5zcGxpdChcIiBcIikuZm9yRWFjaCgoY2w6IHN0cmluZykgPT4ge1xyXG4gICAgICAgICAgICB0cnkge1xyXG4gICAgICAgICAgICAgICAgdGhpcy5yZW5kZXJlci5hZGRDbGFzcyhwb3BvdmVyLCBjbCk7XHJcbiAgICAgICAgICAgIH0gY2F0Y2ggKGVycm9yKSB7IGNvbnNvbGUubG9nKCdhZGQgY2xhc3MgZGlyZWN0aXZlIC0+ICcsIGVycm9yKTsgfVxyXG4gICAgICAgIH0pO1xyXG4gICAgICAgIHJldHVybiBwb3BvdmVyO1xyXG4gICAgfTtcclxuXHJcbiAgICBuZ09uRGVzdHJveSgpIHsgfVxyXG59XHJcbiJdfQ==
|
|
@@ -0,0 +1,72 @@
|
|
|
1
|
+
import { Directive, Input } from '@angular/core';
|
|
2
|
+
import * as i0 from "@angular/core";
|
|
3
|
+
export class ProductStockDirective {
|
|
4
|
+
templateRef;
|
|
5
|
+
viewContainer;
|
|
6
|
+
productDirective = null;
|
|
7
|
+
ecProductStockElse;
|
|
8
|
+
set ecProductStock(product) {
|
|
9
|
+
this.productDirective = product;
|
|
10
|
+
this.viewContainer.clear();
|
|
11
|
+
if (this.validateStock()) {
|
|
12
|
+
if (this.ecProductStockElse) {
|
|
13
|
+
this.viewContainer.createEmbeddedView(this.ecProductStockElse);
|
|
14
|
+
}
|
|
15
|
+
else {
|
|
16
|
+
console.error('falta definir el template de agotado');
|
|
17
|
+
}
|
|
18
|
+
}
|
|
19
|
+
else {
|
|
20
|
+
this.viewContainer.createEmbeddedView(this.templateRef);
|
|
21
|
+
}
|
|
22
|
+
}
|
|
23
|
+
constructor(templateRef, viewContainer) {
|
|
24
|
+
this.templateRef = templateRef;
|
|
25
|
+
this.viewContainer = viewContainer;
|
|
26
|
+
}
|
|
27
|
+
ngOnInit() { }
|
|
28
|
+
ngOnDestroy() { }
|
|
29
|
+
ngOnChanges() { }
|
|
30
|
+
validateStock = () => {
|
|
31
|
+
if (!this.productDirective || this.productDirective.special_mark == undefined || this.productDirective.variants == undefined) {
|
|
32
|
+
setTimeout(() => {
|
|
33
|
+
this.validateStock();
|
|
34
|
+
}, 1000);
|
|
35
|
+
return false; // Ensure a boolean is returned
|
|
36
|
+
}
|
|
37
|
+
else {
|
|
38
|
+
return this.checkValuesForStock();
|
|
39
|
+
}
|
|
40
|
+
};
|
|
41
|
+
checkValuesForStock = () => {
|
|
42
|
+
let existMark = false;
|
|
43
|
+
// Check special_mark
|
|
44
|
+
if (this.productDirective?.special_mark) {
|
|
45
|
+
this.productDirective.special_mark.forEach(special_mark => {
|
|
46
|
+
if (special_mark.type === 'out_of_stock') {
|
|
47
|
+
existMark = true;
|
|
48
|
+
}
|
|
49
|
+
});
|
|
50
|
+
}
|
|
51
|
+
// Check variants
|
|
52
|
+
if (!existMark && this.productDirective) {
|
|
53
|
+
existMark = !!(this.productDirective.variant_id
|
|
54
|
+
? this.productDirective.variants?.find(v => v.code === this.productDirective?.variant_id && v.stock > 0) === undefined
|
|
55
|
+
: this.productDirective.variants?.find(v => v.stock > 0) === undefined);
|
|
56
|
+
}
|
|
57
|
+
return existMark;
|
|
58
|
+
};
|
|
59
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: ProductStockDirective, deps: [{ token: i0.TemplateRef }, { token: i0.ViewContainerRef }], target: i0.ɵɵFactoryTarget.Directive });
|
|
60
|
+
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.0", type: ProductStockDirective, selector: "[ecProductStock]", inputs: { ecProductStockElse: "ecProductStockElse", ecProductStock: "ecProductStock" }, usesOnChanges: true, ngImport: i0 });
|
|
61
|
+
}
|
|
62
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: ProductStockDirective, decorators: [{
|
|
63
|
+
type: Directive,
|
|
64
|
+
args: [{
|
|
65
|
+
selector: "[ecProductStock]"
|
|
66
|
+
}]
|
|
67
|
+
}], ctorParameters: () => [{ type: i0.TemplateRef }, { type: i0.ViewContainerRef }], propDecorators: { ecProductStockElse: [{
|
|
68
|
+
type: Input
|
|
69
|
+
}], ecProductStock: [{
|
|
70
|
+
type: Input
|
|
71
|
+
}] } });
|
|
72
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvZHVjdC1zdG9jay5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZy1lYXN5Y29tbWVyY2UtdjE4L3NyYy9saWIvZWMtZGlyZWN0aXZlL3Byb2R1Y3Qtc3RvY2suZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBRSxTQUFTLEVBQWMsS0FBSyxFQUF5RixNQUFNLGVBQWUsQ0FBQzs7QUFPcEosTUFBTSxPQUFPLHFCQUFxQjtJQXVCbEI7SUFDQTtJQXRCSixnQkFBZ0IsR0FBbUIsSUFBSSxDQUFDO0lBR2hELGtCQUFrQixDQUFvQjtJQUV0QyxJQUNJLGNBQWMsQ0FBQyxPQUFnQjtRQUMvQixJQUFJLENBQUMsZ0JBQWdCLEdBQUcsT0FBTyxDQUFBO1FBQy9CLElBQUksQ0FBQyxhQUFhLENBQUMsS0FBSyxFQUFFLENBQUM7UUFDM0IsSUFBSSxJQUFJLENBQUMsYUFBYSxFQUFFLEVBQUUsQ0FBQztZQUN2QixJQUFJLElBQUksQ0FBQyxrQkFBa0IsRUFBRSxDQUFDO2dCQUMxQixJQUFJLENBQUMsYUFBYSxDQUFDLGtCQUFrQixDQUFDLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxDQUFDO1lBQ25FLENBQUM7aUJBQUksQ0FBQztnQkFDRixPQUFPLENBQUMsS0FBSyxDQUFDLHNDQUFzQyxDQUFDLENBQUM7WUFDMUQsQ0FBQztRQUNMLENBQUM7YUFBTSxDQUFDO1lBQ0osSUFBSSxDQUFDLGFBQWEsQ0FBQyxrQkFBa0IsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUM7UUFDNUQsQ0FBQztJQUNMLENBQUM7SUFFRCxZQUNZLFdBQTZCLEVBQzdCLGFBQStCO1FBRC9CLGdCQUFXLEdBQVgsV0FBVyxDQUFrQjtRQUM3QixrQkFBYSxHQUFiLGFBQWEsQ0FBa0I7SUFDM0MsQ0FBQztJQUVELFFBQVEsS0FBSyxDQUFDO0lBRWQsV0FBVyxLQUFLLENBQUM7SUFFakIsV0FBVyxLQUFLLENBQUM7SUFFakIsYUFBYSxHQUFHLEdBQVksRUFBRTtRQUMxQixJQUFJLENBQUMsSUFBSSxDQUFDLGdCQUFnQixJQUFJLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxZQUFZLElBQUksU0FBUyxJQUFJLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxRQUFRLElBQUksU0FBUyxFQUFFLENBQUM7WUFDM0gsVUFBVSxDQUFDLEdBQUcsRUFBRTtnQkFDWixJQUFJLENBQUMsYUFBYSxFQUFFLENBQUM7WUFDekIsQ0FBQyxFQUFFLElBQUksQ0FBQyxDQUFDO1lBQ1QsT0FBTyxLQUFLLENBQUMsQ0FBQywrQkFBK0I7UUFDakQsQ0FBQzthQUFNLENBQUM7WUFDSixPQUFPLElBQUksQ0FBQyxtQkFBbUIsRUFBRSxDQUFDO1FBQ3RDLENBQUM7SUFDTCxDQUFDLENBQUE7SUFFRCxtQkFBbUIsR0FBRyxHQUFZLEVBQUU7UUFDaEMsSUFBSSxTQUFTLEdBQUcsS0FBSyxDQUFDO1FBRXRCLHFCQUFxQjtRQUNyQixJQUFJLElBQUksQ0FBQyxnQkFBZ0IsRUFBRSxZQUFZLEVBQUUsQ0FBQztZQUN0QyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsWUFBWSxDQUFDLE9BQU8sQ0FBQyxZQUFZLENBQUMsRUFBRTtnQkFDdEQsSUFBSSxZQUFZLENBQUMsSUFBSSxLQUFLLGNBQWMsRUFBRSxDQUFDO29CQUN2QyxTQUFTLEdBQUcsSUFBSSxDQUFDO2dCQUNyQixDQUFDO1lBQ0wsQ0FBQyxDQUFDLENBQUM7UUFDUCxDQUFDO1FBRUQsaUJBQWlCO1FBQ2pCLElBQUksQ0FBQyxTQUFTLElBQUksSUFBSSxDQUFDLGdCQUFnQixFQUFFLENBQUM7WUFDdEMsU0FBUyxHQUFHLENBQUMsQ0FBQyxDQUNWLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxVQUFVO2dCQUM1QixDQUFDLENBQUMsSUFBSSxDQUFDLGdCQUFnQixDQUFDLFFBQVEsRUFBRSxJQUFJLENBQ2xDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLElBQUksS0FBSyxJQUFJLENBQUMsZ0JBQWdCLEVBQUUsVUFBVSxJQUFJLENBQUMsQ0FBQyxLQUFLLEdBQUcsQ0FBQyxDQUNuRSxLQUFLLFNBQVM7Z0JBQ2YsQ0FBQyxDQUFDLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxRQUFRLEVBQUUsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEtBQUssR0FBRyxDQUFDLENBQUMsS0FBSyxTQUFTLENBQzdFLENBQUM7UUFDTixDQUFDO1FBRUQsT0FBTyxTQUFTLENBQUM7SUFDckIsQ0FBQyxDQUFBO3VHQXBFUSxxQkFBcUI7MkZBQXJCLHFCQUFxQjs7MkZBQXJCLHFCQUFxQjtrQkFIakMsU0FBUzttQkFBQztvQkFDUCxRQUFRLEVBQUUsa0JBQWtCO2lCQUMvQjsrR0FNRyxrQkFBa0I7c0JBRGpCLEtBQUs7Z0JBSUYsY0FBYztzQkFEakIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbIlxyXG5pbXBvcnQgeyBEaXJlY3RpdmUsIEVsZW1lbnRSZWYsIElucHV0LCBPbkluaXQsIFRlbXBsYXRlUmVmLCBWaWV3Q29udGFpbmVyUmVmLCBSZW5kZXJlcjIsIE9uQ2hhbmdlcywgT25EZXN0cm95LCBTaW1wbGVDaGFuZ2VzIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IGZpbHRlciB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcclxuaW1wb3J0IHsgUHJvZHVjdCB9IGZyb20gJy4uL2ludGVyZmFjZXMvcHJvZHVjdCc7XHJcblxyXG5ARGlyZWN0aXZlKHtcclxuICAgIHNlbGVjdG9yOiBcIltlY1Byb2R1Y3RTdG9ja11cIlxyXG59KVxyXG5leHBvcnQgY2xhc3MgUHJvZHVjdFN0b2NrRGlyZWN0aXZlIHtcclxuXHJcbiAgICBwcml2YXRlIHByb2R1Y3REaXJlY3RpdmU6IFByb2R1Y3QgfCBudWxsID0gbnVsbDtcclxuXHJcbiAgICBASW5wdXQoKVxyXG4gICAgZWNQcm9kdWN0U3RvY2tFbHNlITogVGVtcGxhdGVSZWY8YW55PjtcclxuXHJcbiAgICBASW5wdXQoKVxyXG4gICAgc2V0IGVjUHJvZHVjdFN0b2NrKHByb2R1Y3Q6IFByb2R1Y3QpIHtcclxuICAgICAgICB0aGlzLnByb2R1Y3REaXJlY3RpdmUgPSBwcm9kdWN0XHJcbiAgICAgICAgdGhpcy52aWV3Q29udGFpbmVyLmNsZWFyKCk7XHJcbiAgICAgICAgaWYgKHRoaXMudmFsaWRhdGVTdG9jaygpKSB7XHJcbiAgICAgICAgICAgIGlmICh0aGlzLmVjUHJvZHVjdFN0b2NrRWxzZSkge1xyXG4gICAgICAgICAgICAgICAgdGhpcy52aWV3Q29udGFpbmVyLmNyZWF0ZUVtYmVkZGVkVmlldyh0aGlzLmVjUHJvZHVjdFN0b2NrRWxzZSk7XHJcbiAgICAgICAgICAgIH1lbHNle1xyXG4gICAgICAgICAgICAgICAgY29uc29sZS5lcnJvcignZmFsdGEgZGVmaW5pciBlbCB0ZW1wbGF0ZSBkZSBhZ290YWRvJyk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICB0aGlzLnZpZXdDb250YWluZXIuY3JlYXRlRW1iZWRkZWRWaWV3KHRoaXMudGVtcGxhdGVSZWYpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBjb25zdHJ1Y3RvcihcclxuICAgICAgICBwcml2YXRlIHRlbXBsYXRlUmVmOiBUZW1wbGF0ZVJlZjxhbnk+LFxyXG4gICAgICAgIHByaXZhdGUgdmlld0NvbnRhaW5lcjogVmlld0NvbnRhaW5lclJlZiwgKSB7XHJcbiAgICB9XHJcblxyXG4gICAgbmdPbkluaXQoKSB7IH1cclxuXHJcbiAgICBuZ09uRGVzdHJveSgpIHsgfVxyXG5cclxuICAgIG5nT25DaGFuZ2VzKCkgeyB9XHJcblxyXG4gICAgdmFsaWRhdGVTdG9jayA9ICgpOiBib29sZWFuID0+IHtcclxuICAgICAgICBpZiAoIXRoaXMucHJvZHVjdERpcmVjdGl2ZSB8fCB0aGlzLnByb2R1Y3REaXJlY3RpdmUuc3BlY2lhbF9tYXJrID09IHVuZGVmaW5lZCB8fCB0aGlzLnByb2R1Y3REaXJlY3RpdmUudmFyaWFudHMgPT0gdW5kZWZpbmVkKSB7XHJcbiAgICAgICAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xyXG4gICAgICAgICAgICAgICAgdGhpcy52YWxpZGF0ZVN0b2NrKCk7XHJcbiAgICAgICAgICAgIH0sIDEwMDApO1xyXG4gICAgICAgICAgICByZXR1cm4gZmFsc2U7IC8vIEVuc3VyZSBhIGJvb2xlYW4gaXMgcmV0dXJuZWRcclxuICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICByZXR1cm4gdGhpcy5jaGVja1ZhbHVlc0ZvclN0b2NrKCk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIGNoZWNrVmFsdWVzRm9yU3RvY2sgPSAoKTogYm9vbGVhbiA9PiB7XHJcbiAgICAgICAgbGV0IGV4aXN0TWFyayA9IGZhbHNlO1xyXG5cclxuICAgICAgICAvLyBDaGVjayBzcGVjaWFsX21hcmtcclxuICAgICAgICBpZiAodGhpcy5wcm9kdWN0RGlyZWN0aXZlPy5zcGVjaWFsX21hcmspIHtcclxuICAgICAgICAgICAgdGhpcy5wcm9kdWN0RGlyZWN0aXZlLnNwZWNpYWxfbWFyay5mb3JFYWNoKHNwZWNpYWxfbWFyayA9PiB7XHJcbiAgICAgICAgICAgICAgICBpZiAoc3BlY2lhbF9tYXJrLnR5cGUgPT09ICdvdXRfb2Zfc3RvY2snKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgZXhpc3RNYXJrID0gdHJ1ZTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAvLyBDaGVjayB2YXJpYW50c1xyXG4gICAgICAgIGlmICghZXhpc3RNYXJrICYmIHRoaXMucHJvZHVjdERpcmVjdGl2ZSkge1xyXG4gICAgICAgICAgICBleGlzdE1hcmsgPSAhIShcclxuICAgICAgICAgICAgICAgIHRoaXMucHJvZHVjdERpcmVjdGl2ZS52YXJpYW50X2lkXHJcbiAgICAgICAgICAgICAgICAgICAgPyB0aGlzLnByb2R1Y3REaXJlY3RpdmUudmFyaWFudHM/LmZpbmQoXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHYgPT4gdi5jb2RlID09PSB0aGlzLnByb2R1Y3REaXJlY3RpdmU/LnZhcmlhbnRfaWQgJiYgdi5zdG9jayA+IDBcclxuICAgICAgICAgICAgICAgICAgICApID09PSB1bmRlZmluZWRcclxuICAgICAgICAgICAgICAgICAgICA6IHRoaXMucHJvZHVjdERpcmVjdGl2ZS52YXJpYW50cz8uZmluZCh2ID0+IHYuc3RvY2sgPiAwKSA9PT0gdW5kZWZpbmVkXHJcbiAgICAgICAgICAgICk7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICByZXR1cm4gZXhpc3RNYXJrO1xyXG4gICAgfVxyXG59Il19
|
package/esm2022/public-api.mjs
CHANGED
|
@@ -18,5 +18,5 @@ export * from './lib/interceptors';
|
|
|
18
18
|
//Services
|
|
19
19
|
export * from './lib/ec-services';
|
|
20
20
|
// Directives
|
|
21
|
-
|
|
22
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
21
|
+
export * from './lib/ec-directive/index';
|
|
22
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3Byb2plY3RzL25nLWVhc3ljb21tZXJjZS12MTgvc3JjL3B1YmxpYy1hcGkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7O0dBRUc7QUFFSCxZQUFZO0FBQ1osY0FBYyxxQkFBcUIsQ0FBQztBQUVwQyxXQUFXO0FBQ1gsY0FBYyxpQkFBaUIsQ0FBQztBQUVoQyxZQUFZO0FBQ1osY0FBYyxrQkFBa0IsQ0FBQztBQUVqQyxRQUFRO0FBQ1IsY0FBYyxpQkFBaUIsQ0FBQztBQUVoQyxXQUFXO0FBQ1gsY0FBYyx3Q0FBd0MsQ0FBQztBQUV2RCxNQUFNO0FBQ04sY0FBYyxlQUFlLENBQUM7QUFFOUIsY0FBYztBQUNkLGNBQWMsb0JBQW9CLENBQUM7QUFFbkMsVUFBVTtBQUNWLGNBQWMsbUJBQW1CLENBQUM7QUFFbEMsYUFBYTtBQUNiLGNBQWMsMEJBQTBCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKlxyXG4gKiBQdWJsaWMgQVBJIFN1cmZhY2Ugb2YgbmctZWFzeWNvbW1lcmNlXHJcbiAqL1xyXG5cclxuLy9Db21wb25lbnRzXHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL2VjLWNvbXBvbmVudHMnO1xyXG5cclxuLy9Qcm92aWRlcnNcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvcHJvdmlkZXJzJztcclxuXHJcbi8vSW50ZXJmYWNlc1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9pbnRlcmZhY2VzJztcclxuXHJcbi8vR3VhcmRzXHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL2VjLWd1YXJkcyc7XHJcblxyXG4vL0NvbnN0YW50c1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb25zdGFudHMvY29yZS5jb25zdGFudHMuc2VydmljZSc7XHJcblxyXG4vL1BpcGVcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvZWMtcGlwZSc7XHJcblxyXG4vL0ludGVyY2VwdG9yc1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9pbnRlcmNlcHRvcnMnO1xyXG5cclxuLy9TZXJ2aWNlc1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9lYy1zZXJ2aWNlcyc7XHJcblxyXG4vLyBEaXJlY3RpdmVzXHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL2VjLWRpcmVjdGl2ZS9pbmRleCc7XHJcblxyXG4iXX0=
|