sk-front-lib 0.18.2 → 0.18.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (176) hide show
  1. package/article/sk-article-editor-server.component.d.ts +1 -1
  2. package/article/sk-article-editor.component.d.ts +1 -1
  3. package/article/sk-froala-editor.directive.d.ts +1 -1
  4. package/crud/sk-auth-admin.guard.d.ts +2 -2
  5. package/crud/sk-auth.guard.d.ts +2 -2
  6. package/{esm2020 → esm2022}/api/sk-api.module.mjs +9 -9
  7. package/{esm2020 → esm2022}/api/sk-api.service.mjs +4 -4
  8. package/{esm2020 → esm2022}/article/sk-article-editor-server.component.mjs +4 -4
  9. package/{esm2020 → esm2022}/article/sk-article-editor.component.mjs +4 -4
  10. package/{esm2020 → esm2022}/article/sk-article-server.module.mjs +5 -5
  11. package/{esm2020 → esm2022}/article/sk-article.module.mjs +7 -7
  12. package/{esm2020 → esm2022}/article/sk-article.service.mjs +4 -4
  13. package/{esm2020 → esm2022}/article/sk-froala-editor.directive.mjs +7 -7
  14. package/{esm2020 → esm2022}/crud/sk-account.service.mjs +4 -4
  15. package/{esm2020 → esm2022}/crud/sk-affiliate.service.mjs +4 -4
  16. package/{esm2020 → esm2022}/crud/sk-auth-admin.guard.mjs +4 -4
  17. package/{esm2020 → esm2022}/crud/sk-auth.guard.mjs +4 -4
  18. package/{esm2020 → esm2022}/crud/sk-auth.service.mjs +7 -7
  19. package/{esm2020 → esm2022}/crud/sk-board.service.mjs +4 -4
  20. package/{esm2020 → esm2022}/crud/sk-brand.service.mjs +4 -4
  21. package/esm2022/crud/sk-cart.service.mjs +256 -0
  22. package/{esm2020 → esm2022}/crud/sk-category.service.mjs +4 -4
  23. package/{esm2020 → esm2022}/crud/sk-comment.service.mjs +4 -4
  24. package/{esm2020 → esm2022}/crud/sk-config.service.mjs +4 -4
  25. package/{esm2020 → esm2022}/crud/sk-contact.service.mjs +4 -4
  26. package/{esm2020 → esm2022}/crud/sk-coupon.service.mjs +4 -4
  27. package/{esm2020 → esm2022}/crud/sk-document.service.mjs +4 -4
  28. package/{esm2020 → esm2022}/crud/sk-etc.service.mjs +4 -4
  29. package/{esm2020 → esm2022}/crud/sk-file.service.mjs +4 -4
  30. package/{esm2020 → esm2022}/crud/sk-keyword.service.mjs +4 -4
  31. package/{esm2020 → esm2022}/crud/sk-order.service.mjs +4 -4
  32. package/{esm2020 → esm2022}/crud/sk-point.service.mjs +4 -4
  33. package/{esm2020 → esm2022}/crud/sk-product.service.mjs +4 -4
  34. package/{esm2020 → esm2022}/crud/sk-promotion.service.mjs +4 -4
  35. package/{esm2020 → esm2022}/crud/sk-search.service.mjs +4 -4
  36. package/{esm2020 → esm2022}/crud/sk-store.service.mjs +4 -4
  37. package/{esm2020 → esm2022}/crud/sk-user.service.mjs +4 -4
  38. package/{esm2020 → esm2022}/google-analytics/google-analytics-router.module.mjs +9 -9
  39. package/{esm2020 → esm2022}/google-analytics/google-analytics.module.mjs +5 -5
  40. package/esm2022/google-analytics/services/google-analytics.service.mjs +223 -0
  41. package/{esm2020 → esm2022}/image/sk-image.component.mjs +6 -6
  42. package/esm2022/image/sk-image.module.mjs +40 -0
  43. package/{esm2020 → esm2022}/lib/sk-byte.pipe.mjs +4 -4
  44. package/{esm2020 → esm2022}/lib/sk-date-time.pipe.mjs +4 -4
  45. package/{esm2020 → esm2022}/lib/sk-date.pipe.mjs +4 -4
  46. package/{esm2020 → esm2022}/lib/sk-front-lib.module.mjs +13 -13
  47. package/{esm2020 → esm2022}/lib/sk-keys.pipe.mjs +4 -4
  48. package/{esm2020 → esm2022}/lib/sk-time.pipe.mjs +4 -4
  49. package/esm2022/model/lib/filetype.mjs +179 -0
  50. package/esm2022/search-address/dialog/dialog.component.mjs +27 -0
  51. package/{esm2020 → esm2022}/search-address/sk-search-address.directive.mjs +6 -6
  52. package/esm2022/search-address/sk-search-address.module.mjs +47 -0
  53. package/{esm2020 → esm2022}/search-address/sk-search-address.service.mjs +4 -4
  54. package/esm2022/uploader/sk-uploader.component.mjs +119 -0
  55. package/esm2022/uploader/sk-uploader.directive.mjs +44 -0
  56. package/esm2022/uploader/sk-uploader.module.mjs +57 -0
  57. package/{fesm2020 → fesm2022}/sk-front-lib-api.mjs +11 -11
  58. package/{fesm2020 → fesm2022}/sk-front-lib-api.mjs.map +1 -1
  59. package/{fesm2020 → fesm2022}/sk-front-lib-article.mjs +25 -25
  60. package/{fesm2020 → fesm2022}/sk-front-lib-article.mjs.map +1 -1
  61. package/{fesm2020 → fesm2022}/sk-front-lib-crud.mjs +93 -93
  62. package/fesm2022/sk-front-lib-crud.mjs.map +1 -0
  63. package/{fesm2020 → fesm2022}/sk-front-lib-google-analytics.mjs +38 -16
  64. package/fesm2022/sk-front-lib-google-analytics.mjs.map +1 -0
  65. package/{fesm2020 → fesm2022}/sk-front-lib-image.mjs +21 -21
  66. package/fesm2022/sk-front-lib-image.mjs.map +1 -0
  67. package/{fesm2015 → fesm2022}/sk-front-lib-model.mjs +56 -56
  68. package/{fesm2020 → fesm2022}/sk-front-lib-model.mjs.map +1 -1
  69. package/{fesm2020 → fesm2022}/sk-front-lib-search-address.mjs +32 -32
  70. package/fesm2022/sk-front-lib-search-address.mjs.map +1 -0
  71. package/{fesm2020 → fesm2022}/sk-front-lib-uploader.mjs +48 -49
  72. package/fesm2022/sk-front-lib-uploader.mjs.map +1 -0
  73. package/{fesm2020 → fesm2022}/sk-front-lib.mjs +27 -27
  74. package/{fesm2015 → fesm2022}/sk-front-lib.mjs.map +1 -1
  75. package/google-analytics/services/google-analytics.service.d.ts +2 -1
  76. package/google-analytics/types/ga-action.type.d.ts +1 -1
  77. package/google-analytics/types/ga-bind.type.d.ts +1 -1
  78. package/image/sk-image.component.d.ts +2 -2
  79. package/image/sk-image.module.d.ts +3 -3
  80. package/model/lib/payment.d.ts +1 -1
  81. package/package.json +46 -68
  82. package/search-address/dialog/dialog.component.d.ts +1 -1
  83. package/search-address/sk-search-address.directive.d.ts +2 -2
  84. package/search-address/sk-search-address.module.d.ts +3 -3
  85. package/uploader/sk-uploader.component.d.ts +1 -1
  86. package/uploader/sk-uploader.directive.d.ts +2 -2
  87. package/uploader/sk-uploader.module.d.ts +5 -5
  88. package/esm2020/crud/sk-cart.service.mjs +0 -256
  89. package/esm2020/google-analytics/services/google-analytics.service.mjs +0 -200
  90. package/esm2020/image/sk-image.module.mjs +0 -40
  91. package/esm2020/model/lib/filetype.mjs +0 -179
  92. package/esm2020/search-address/dialog/dialog.component.mjs +0 -27
  93. package/esm2020/search-address/sk-search-address.module.mjs +0 -47
  94. package/esm2020/uploader/sk-uploader.component.mjs +0 -120
  95. package/esm2020/uploader/sk-uploader.directive.mjs +0 -44
  96. package/esm2020/uploader/sk-uploader.module.mjs +0 -57
  97. package/fesm2015/sk-front-lib-api.mjs +0 -216
  98. package/fesm2015/sk-front-lib-api.mjs.map +0 -1
  99. package/fesm2015/sk-front-lib-article.mjs +0 -758
  100. package/fesm2015/sk-front-lib-article.mjs.map +0 -1
  101. package/fesm2015/sk-front-lib-crud.mjs +0 -1529
  102. package/fesm2015/sk-front-lib-crud.mjs.map +0 -1
  103. package/fesm2015/sk-front-lib-google-analytics.mjs +0 -334
  104. package/fesm2015/sk-front-lib-google-analytics.mjs.map +0 -1
  105. package/fesm2015/sk-front-lib-image.mjs +0 -303
  106. package/fesm2015/sk-front-lib-image.mjs.map +0 -1
  107. package/fesm2015/sk-front-lib-model.mjs.map +0 -1
  108. package/fesm2015/sk-front-lib-search-address.mjs +0 -183
  109. package/fesm2015/sk-front-lib-search-address.mjs.map +0 -1
  110. package/fesm2015/sk-front-lib-uploader.mjs +0 -546
  111. package/fesm2015/sk-front-lib-uploader.mjs.map +0 -1
  112. package/fesm2015/sk-front-lib.mjs +0 -538
  113. package/fesm2020/sk-front-lib-crud.mjs.map +0 -1
  114. package/fesm2020/sk-front-lib-google-analytics.mjs.map +0 -1
  115. package/fesm2020/sk-front-lib-image.mjs.map +0 -1
  116. package/fesm2020/sk-front-lib-model.mjs +0 -1105
  117. package/fesm2020/sk-front-lib-search-address.mjs.map +0 -1
  118. package/fesm2020/sk-front-lib-uploader.mjs.map +0 -1
  119. package/fesm2020/sk-front-lib.mjs.map +0 -1
  120. /package/{esm2020 → esm2022}/api/model/api-config.mjs +0 -0
  121. /package/{esm2020 → esm2022}/api/model/api-pageable-param.mjs +0 -0
  122. /package/{esm2020 → esm2022}/api/model/api-pageable.mjs +0 -0
  123. /package/{esm2020 → esm2022}/api/model/api-response.mjs +0 -0
  124. /package/{esm2020 → esm2022}/api/model/index.mjs +0 -0
  125. /package/{esm2020 → esm2022}/api/public_api.mjs +0 -0
  126. /package/{esm2020 → esm2022}/api/sk-front-lib-api.mjs +0 -0
  127. /package/{esm2020 → esm2022}/article/public_api.mjs +0 -0
  128. /package/{esm2020 → esm2022}/article/sk-front-lib-article.mjs +0 -0
  129. /package/{esm2020 → esm2022}/crud/public_api.mjs +0 -0
  130. /package/{esm2020 → esm2022}/crud/sk-front-lib-crud.mjs +0 -0
  131. /package/{esm2020 → esm2022}/google-analytics/initializers/google-analytics-router.initializer.mjs +0 -0
  132. /package/{esm2020 → esm2022}/google-analytics/initializers/google-analytics.initializer.mjs +0 -0
  133. /package/{esm2020 → esm2022}/google-analytics/interfaces/google-analytics-command.mjs +0 -0
  134. /package/{esm2020 → esm2022}/google-analytics/interfaces/google-analytics-settings.mjs +0 -0
  135. /package/{esm2020 → esm2022}/google-analytics/public_api.mjs +0 -0
  136. /package/{esm2020 → esm2022}/google-analytics/sk-front-lib-google-analytics.mjs +0 -0
  137. /package/{esm2020 → esm2022}/google-analytics/tokens/google-analytics-settings-token.mjs +0 -0
  138. /package/{esm2020 → esm2022}/google-analytics/types/ga-action.type.mjs +0 -0
  139. /package/{esm2020 → esm2022}/google-analytics/types/ga-bind.type.mjs +0 -0
  140. /package/{esm2020 → esm2022}/image/public_api.mjs +0 -0
  141. /package/{esm2020 → esm2022}/image/sk-front-lib-image.mjs +0 -0
  142. /package/{esm2020 → esm2022}/lib/sk-animations.mjs +0 -0
  143. /package/{esm2020 → esm2022}/lib/sk-utils.mjs +0 -0
  144. /package/{esm2020 → esm2022}/model/lib/article.mjs +0 -0
  145. /package/{esm2020 → esm2022}/model/lib/audit.mjs +0 -0
  146. /package/{esm2020 → esm2022}/model/lib/auth.mjs +0 -0
  147. /package/{esm2020 → esm2022}/model/lib/board.mjs +0 -0
  148. /package/{esm2020 → esm2022}/model/lib/cart.mjs +0 -0
  149. /package/{esm2020 → esm2022}/model/lib/comment.mjs +0 -0
  150. /package/{esm2020 → esm2022}/model/lib/contact.mjs +0 -0
  151. /package/{esm2020 → esm2022}/model/lib/coupon.mjs +0 -0
  152. /package/{esm2020 → esm2022}/model/lib/document.mjs +0 -0
  153. /package/{esm2020 → esm2022}/model/lib/etc.mjs +0 -0
  154. /package/{esm2020 → esm2022}/model/lib/file.mjs +0 -0
  155. /package/{esm2020 → esm2022}/model/lib/grid.mjs +0 -0
  156. /package/{esm2020 → esm2022}/model/lib/nicepay.mjs +0 -0
  157. /package/{esm2020 → esm2022}/model/lib/order.mjs +0 -0
  158. /package/{esm2020 → esm2022}/model/lib/payment.mjs +0 -0
  159. /package/{esm2020 → esm2022}/model/lib/point.mjs +0 -0
  160. /package/{esm2020 → esm2022}/model/lib/product-series.mjs +0 -0
  161. /package/{esm2020 → esm2022}/model/lib/product.mjs +0 -0
  162. /package/{esm2020 → esm2022}/model/lib/promotion.mjs +0 -0
  163. /package/{esm2020 → esm2022}/model/lib/shipping.mjs +0 -0
  164. /package/{esm2020 → esm2022}/model/lib/user.mjs +0 -0
  165. /package/{esm2020 → esm2022}/model/public_api.mjs +0 -0
  166. /package/{esm2020 → esm2022}/model/sk-front-lib-model.mjs +0 -0
  167. /package/{esm2020 → esm2022}/public-api.mjs +0 -0
  168. /package/{esm2020 → esm2022}/search-address/public_api.mjs +0 -0
  169. /package/{esm2020 → esm2022}/search-address/sk-front-lib-search-address.mjs +0 -0
  170. /package/{esm2020 → esm2022}/search-address/sk-search-address.model.mjs +0 -0
  171. /package/{esm2020 → esm2022}/sk-front-lib.mjs +0 -0
  172. /package/{esm2020 → esm2022}/uploader/public_api.mjs +0 -0
  173. /package/{esm2020 → esm2022}/uploader/sk-front-lib-uploader.mjs +0 -0
  174. /package/{esm2020 → esm2022}/uploader/sk-uploader-file-item.model.mjs +0 -0
  175. /package/{esm2020 → esm2022}/uploader/sk-uploader.animation.mjs +0 -0
  176. /package/{esm2020 → esm2022}/uploader/sk-uploader.class.mjs +0 -0
@@ -1,256 +0,0 @@
1
- import { isPlatformBrowser } from '@angular/common';
2
- import { HttpParams } from '@angular/common/http';
3
- import { Inject, Injectable, PLATFORM_ID } from '@angular/core';
4
- import { BehaviorSubject, of } from 'rxjs';
5
- import { map, switchMap, take, tap } from 'rxjs/operators';
6
- import { SkUtils } from 'sk-front-lib';
7
- import { SkCart } from 'sk-front-lib/model';
8
- import * as i0 from "@angular/core";
9
- import * as i1 from "sk-front-lib/api";
10
- import * as i2 from "./sk-auth.service";
11
- export class SkCartApiService {
12
- constructor(_apiService) {
13
- this._apiService = _apiService;
14
- }
15
- load() {
16
- return this._apiService.get(`/api/public/carts`).pipe(map(response => (response.data || []).map(item => new SkCart(item))));
17
- }
18
- add(cart) {
19
- const data = {
20
- product: cart.product.id,
21
- selectedOptions: cart.options.map(item => ({
22
- value: item.value.id,
23
- option: item.option.id,
24
- amount: item.amount
25
- })),
26
- amount: cart.amount,
27
- selectedGifts: (cart.gifts || []).map(item => ({ id: item.id }))
28
- };
29
- return this._apiService.post(`/api/public/carts`, data).pipe(map(response => (response.data || []).map(item => new SkCart(item))));
30
- }
31
- clear() {
32
- return undefined;
33
- }
34
- remove(carts) {
35
- return this.removeByIdArray(carts.map(cart => cart.id));
36
- }
37
- removeByIdArray(idArray) {
38
- const ids = idArray.filter(id => Number(id) >= 1);
39
- return this._apiService.delete(`/api/public/carts`, new HttpParams().append('target', ids.join(','))).pipe(map(response => (response.data || []).map(item => new SkCart(item))));
40
- }
41
- update(cart) {
42
- return this._apiService.put(`/api/public/carts/${cart.id}`, { amount: cart.amount }).pipe(map(response => (response.data || []).map(item => new SkCart(item))));
43
- }
44
- }
45
- SkCartApiService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: SkCartApiService, deps: [{ token: i1.SkApiService }], target: i0.ɵɵFactoryTarget.Injectable });
46
- SkCartApiService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: SkCartApiService, providedIn: 'root' });
47
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: SkCartApiService, decorators: [{
48
- type: Injectable,
49
- args: [{
50
- providedIn: 'root'
51
- }]
52
- }], ctorParameters: function () { return [{ type: i1.SkApiService }]; } });
53
- export class SkCartLocalService {
54
- constructor(platformId) {
55
- this.platformId = platformId;
56
- this.isPlatformBrowser = isPlatformBrowser(this.platformId);
57
- }
58
- loadRaw() {
59
- let data = [];
60
- try {
61
- if (this.isPlatformBrowser) {
62
- data = (SkUtils.decodeBase64(localStorage.getItem('cartData')) || []).map(item => new SkCart(item));
63
- }
64
- }
65
- catch (e) {
66
- data = [];
67
- }
68
- return data;
69
- }
70
- load() {
71
- return of(this.loadRaw());
72
- }
73
- add(cart) {
74
- cart.id = Math.random();
75
- const cartList = [cart, ...this.loadRaw()];
76
- localStorage.setItem('cartData', SkUtils.encodeBase64(cartList));
77
- return of(cartList);
78
- }
79
- clear() {
80
- const cartList = [];
81
- localStorage.setItem('cartData', SkUtils.encodeBase64(cartList));
82
- return of(cartList);
83
- }
84
- remove(carts) {
85
- return this.removeByIdArray(carts.map(cart => cart.id));
86
- }
87
- removeByIdArray(idArray) {
88
- const removedItems = this.loadRaw().filter(item => idArray.findIndex(id => id === item.id) < 0);
89
- localStorage.setItem('cartData', SkUtils.encodeBase64(removedItems));
90
- return of(removedItems);
91
- }
92
- update(cart) {
93
- const cartList = this.loadRaw();
94
- const index = this.loadRaw().findIndex(item => item.id === cart.id);
95
- if (index > -1) {
96
- cartList[index] = cart;
97
- localStorage.setItem('cartData', SkUtils.encodeBase64(cartList));
98
- }
99
- return of(cartList);
100
- }
101
- }
102
- SkCartLocalService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: SkCartLocalService, deps: [{ token: PLATFORM_ID }], target: i0.ɵɵFactoryTarget.Injectable });
103
- SkCartLocalService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: SkCartLocalService, providedIn: 'root' });
104
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: SkCartLocalService, decorators: [{
105
- type: Injectable,
106
- args: [{
107
- providedIn: 'root'
108
- }]
109
- }], ctorParameters: function () { return [{ type: Object, decorators: [{
110
- type: Inject,
111
- args: [PLATFORM_ID]
112
- }] }]; } });
113
- export class SkCartService {
114
- constructor(_authService, _apiService, _apiCartService, _apiLocalService) {
115
- this._authService = _authService;
116
- this._apiService = _apiService;
117
- this._apiCartService = _apiCartService;
118
- this._apiLocalService = _apiLocalService;
119
- this._cartItems$ = new BehaviorSubject([]);
120
- this.cartItems$ = this._cartItems$.asObservable();
121
- this._selectedItems$ = new BehaviorSubject([]);
122
- this.selectedItems$ = this._selectedItems$.asObservable();
123
- // this._myInfoSubscription = this._authService.userinfo$.subscribe(() => {
124
- // this.load();
125
- // });
126
- }
127
- get cartItems() {
128
- return this._cartItems$.getValue();
129
- }
130
- set cartItems(value) {
131
- this._cartItems$.next(value);
132
- }
133
- get selectedItems() {
134
- return this._selectedItems$.getValue();
135
- }
136
- set selectedItems(value) {
137
- this._selectedItems$.next(value);
138
- }
139
- load() {
140
- this._authService.checkLogin()
141
- .pipe(switchMap(result => result ? this._apiCartService.load() : this._apiLocalService.load()))
142
- .subscribe(result => this._cartItems$.next(result));
143
- }
144
- clear() {
145
- this._authService.checkLogin()
146
- .pipe(switchMap(result => result ? this._apiCartService.clear() : this._apiLocalService.clear()))
147
- .subscribe(result => this._cartItems$.next(result));
148
- }
149
- add(cart) {
150
- return this._authService.checkLogin()
151
- .pipe(switchMap(result => result ? this._apiCartService.add(cart) : this._apiLocalService.add(cart)), tap(result => this._cartItems$.next(result)));
152
- }
153
- remove(carts) {
154
- this._authService.checkLogin()
155
- .pipe(switchMap(result => result ? this._apiCartService.remove(carts) : this._apiLocalService.remove(carts)))
156
- .subscribe(result => {
157
- this._cartItems$.next(result);
158
- this.checkSelectedItems();
159
- });
160
- }
161
- removeByIdArray(idArray) {
162
- this._authService.checkLogin()
163
- .pipe(switchMap(result => result ? this._apiCartService.removeByIdArray(idArray) : this._apiLocalService.removeByIdArray(idArray)))
164
- .subscribe(result => {
165
- this._cartItems$.next(result);
166
- this.checkSelectedItems();
167
- });
168
- }
169
- update(cart) {
170
- this._authService.checkLogin()
171
- .pipe(switchMap(result => result ? this._apiCartService.update(cart) : this._apiLocalService.update(cart)))
172
- .subscribe(result => this._cartItems$.next(result));
173
- }
174
- getCart(id) {
175
- return this._cartItems$.getValue().find(value => value.id === id);
176
- }
177
- checkSelectedItems() {
178
- this.selectedItems = this.selectedItems.filter(value => !!this.getCart(value));
179
- }
180
- selectAll() {
181
- this.selectedItems = this._cartItems$.getValue().map(item => item.id);
182
- }
183
- deSelectAll() {
184
- this.selectedItems = [];
185
- }
186
- toggleSelectAll() {
187
- if (this.selectedItems.length === this._cartItems$.getValue().length) {
188
- this.deSelectAll();
189
- }
190
- else {
191
- this.selectAll();
192
- }
193
- }
194
- toggleSelect(cart) {
195
- const targetIndex = this.selectedItems.findIndex(item => item === cart.id);
196
- if (targetIndex === -1) {
197
- this.selectedItems = [...this.selectedItems, cart.id];
198
- }
199
- else {
200
- const target = this.selectedItems;
201
- target.splice(targetIndex, 1);
202
- this.selectedItems = target;
203
- }
204
- }
205
- isSelected(cart) {
206
- return this.selectedItems.findIndex(item => item === cart.id) > -1;
207
- }
208
- isSelectedAll() {
209
- return this.selectedItems.length > 0 && this.selectedItems.length === this._cartItems$.getValue().length;
210
- }
211
- isIntermediate() {
212
- return this.selectedItems.length > 0 && this.selectedItems.length !== this._cartItems$.getValue().length;
213
- }
214
- createOrder(paymentType, affiliateKey) {
215
- return this._authService.checkLogin()
216
- .pipe(take(1), map(result => {
217
- if (result) {
218
- return {
219
- apiUrl: `/api/public/orders/from-cart`,
220
- items: this.selectedItems
221
- };
222
- }
223
- else {
224
- return {
225
- apiUrl: `/api/public/orders/from-data`,
226
- items: this.selectedItems
227
- .map(id => this.getCart(id))
228
- .map(cart => ({
229
- id: cart.id,
230
- productId: cart.product.id,
231
- amount: cart.amount,
232
- options: (cart.options || []).map(option => ({
233
- optionId: option.option.id,
234
- valueId: option.value.id,
235
- amount: option.amount || 1
236
- })),
237
- gifts: (cart.gifts || []).map(item => ({ id: item.id }))
238
- }))
239
- };
240
- }
241
- }), switchMap(result => this._apiService.post(result.apiUrl, {
242
- items: result.items,
243
- affiliateKey,
244
- paymentType
245
- })), map(result => result.data));
246
- }
247
- }
248
- SkCartService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: SkCartService, deps: [{ token: i2.SkAuthService }, { token: i1.SkApiService }, { token: SkCartApiService }, { token: SkCartLocalService }], target: i0.ɵɵFactoryTarget.Injectable });
249
- SkCartService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: SkCartService, providedIn: 'root' });
250
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: SkCartService, decorators: [{
251
- type: Injectable,
252
- args: [{
253
- providedIn: 'root'
254
- }]
255
- }], ctorParameters: function () { return [{ type: i2.SkAuthService }, { type: i1.SkApiService }, { type: SkCartApiService }, { type: SkCartLocalService }]; } });
256
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2stY2FydC5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvc2stZnJvbnQtbGliL2NydWQvc3JjL3NrLWNhcnQuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsaUJBQWlCLEVBQUMsTUFBTSxpQkFBaUIsQ0FBQztBQUdsRCxPQUFPLEVBQUMsVUFBVSxFQUFDLE1BQU0sc0JBQXNCLENBQUM7QUFDaEQsT0FBTyxFQUFDLE1BQU0sRUFBRSxVQUFVLEVBQUUsV0FBVyxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBRTlELE9BQU8sRUFBQyxlQUFlLEVBQWMsRUFBRSxFQUFlLE1BQU0sTUFBTSxDQUFDO0FBQ25FLE9BQU8sRUFBQyxHQUFHLEVBQUUsU0FBUyxFQUFFLElBQUksRUFBRSxHQUFHLEVBQUMsTUFBTSxnQkFBZ0IsQ0FBQztBQUN6RCxPQUFPLEVBQUMsT0FBTyxFQUFDLE1BQU0sY0FBYyxDQUFDO0FBRXJDLE9BQU8sRUFBZ0IsTUFBTSxFQUFDLE1BQU0sb0JBQW9CLENBQUM7Ozs7QUFtQnpELE1BQU0sT0FBTyxnQkFBZ0I7SUFFekIsWUFBb0IsV0FBeUI7UUFBekIsZ0JBQVcsR0FBWCxXQUFXLENBQWM7SUFFN0MsQ0FBQztJQUVELElBQUk7UUFDQSxPQUFPLElBQUksQ0FBQyxXQUFXLENBQUMsR0FBRyxDQUFXLG1CQUFtQixDQUFDLENBQUMsSUFBSSxDQUMzRCxHQUFHLENBQUMsUUFBUSxDQUFDLEVBQUUsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxJQUFJLElBQUksRUFBRSxDQUFDLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsSUFBSSxNQUFNLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUN2RSxDQUFDO0lBQ04sQ0FBQztJQUVELEdBQUcsQ0FBQyxJQUFZO1FBQ1osTUFBTSxJQUFJLEdBQWtCO1lBQ3hCLE9BQU8sRUFBRSxJQUFJLENBQUMsT0FB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OzJHQXJLUSxhQUFhOytHQUFiLGFBQWEsY0FGVixNQUFNOzRGQUVULGFBQWE7a0JBSHpCLFVBQVU7bUJBQUM7b0JBQ1IsVUFBVSxFQUFFLE1BQU07aUJBQ3JCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtpc1BsYXRmb3JtQnJvd3Nlcn0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcblxuXG5pbXBvcnQge0h0dHBQYXJhbXN9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJztcbmltcG9ydCB7SW5qZWN0LCBJbmplY3RhYmxlLCBQTEFURk9STV9JRH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmltcG9ydCB7QmVoYXZpb3JTdWJqZWN0LCBPYnNlcnZhYmxlLCBvZiwgU3Vic2NyaXB0aW9ufSBmcm9tICdyeGpzJztcbmltcG9ydCB7bWFwLCBzd2l0Y2hNYXAsIHRha2UsIHRhcH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHtTa1V0aWxzfSBmcm9tICdzay1mcm9udC1saWInO1xuaW1wb3J0IHtTa0FwaVNlcnZpY2V9IGZyb20gJ3NrLWZyb250LWxpYi9hcGknO1xuaW1wb3J0IHtJU2tDYXJ0Q3JlYXRlLCBTa0NhcnR9IGZyb20gJ3NrLWZyb250LWxpYi9tb2RlbCc7XG5pbXBvcnQge1NrQXV0aFNlcnZpY2V9IGZyb20gJy4vc2stYXV0aC5zZXJ2aWNlJztcblxuZXhwb3J0IGludGVyZmFjZSBDYXJ0QWJzdHJhY3RTZXJ2aWNlIHtcbiAgICBsb2FkKCk6IE9ic2VydmFibGU8U2tDYXJ0W10+O1xuXG4gICAgY2xlYXIoKTogT2JzZXJ2YWJsZTxTa0NhcnRbXT47XG5cbiAgICBhZGQoY2FydDogU2tDYXJ0KTogT2JzZXJ2YWJsZTxTa0NhcnRbXT47XG5cbiAgICByZW1vdmUoY2FydHM6IFNrQ2FydFtdKTogT2JzZXJ2YWJsZTxTa0NhcnRbXT47XG5cbiAgICB1cGRhdGUoY2FydDogU2tDYXJ0KTogT2JzZXJ2YWJsZTxTa0NhcnRbXT47XG59XG5cblxuQEluamVjdGFibGUoe1xuICAgIHByb3ZpZGVkSW46ICdyb290J1xufSlcbmV4cG9ydCBjbGFzcyBTa0NhcnRBcGlTZXJ2aWNlIGltcGxlbWVudHMgQ2FydEFic3RyYWN0U2VydmljZSB7XG5cbiAgICBjb25zdHJ1Y3Rvcihwcml2YXRlIF9hcGlTZXJ2aWNlOiBTa0FwaVNlcnZpY2UpIHtcblxuICAgIH1cblxuICAgIGxvYWQoKSB7XG4gICAgICAgIHJldHVybiB0aGlzLl9hcGlTZXJ2aWNlLmdldDxTa0NhcnRbXT4oYC9hcGkvcHVibGljL2NhcnRzYCkucGlwZShcbiAgICAgICAgICAgIG1hcChyZXNwb25zZSA9PiAocmVzcG9uc2UuZGF0YSB8fCBbXSkubWFwKGl0ZW0gPT4gbmV3IFNrQ2FydChpdGVtKSkpXG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgYWRkKGNhcnQ6IFNrQ2FydCk6IE9ic2VydmFibGU8U2tDYXJ0W10+IHtcbiAgICAgICAgY29uc3QgZGF0YTogSVNrQ2FydENyZWF0ZSA9IHtcbiAgICAgICAgICAgIHByb2R1Y3Q6IGNhcnQucHJvZHVjdC5pZCxcbiAgICAgICAgICAgIHNlbGVjdGVkT3B0aW9uczogY2FydC5vcHRpb25zLm1hcChpdGVtID0+ICh7XG4gICAgICAgICAgICAgICAgdmFsdWU6IGl0ZW0udmFsdWUuaWQsXG4gICAgICAgICAgICAgICAgb3B0aW9uOiBpdGVtLm9wdGlvbi5pZCxcbiAgICAgICAgICAgICAgICBhbW91bnQ6IGl0ZW0uYW1vdW50XG4gICAgICAgICAgICB9KSksXG4gICAgICAgICAgICBhbW91bnQ6IGNhcnQuYW1vdW50LFxuICAgICAgICAgICAgc2VsZWN0ZWRHaWZ0czogKGNhcnQuZ2lmdHMgfHwgW10pLm1hcChpdGVtID0+ICh7aWQ6IGl0ZW0uaWR9KSlcbiAgICAgICAgfTtcblxuICAgICAgICByZXR1cm4gdGhpcy5fYXBpU2VydmljZS5wb3N0PFNrQ2FydFtdPihgL2FwaS9wdWJsaWMvY2FydHNgLCBkYXRhKS5waXBlKFxuICAgICAgICAgICAgbWFwKHJlc3BvbnNlID0+IChyZXNwb25zZS5kYXRhIHx8IFtdKS5tYXAoaXRlbSA9PiBuZXcgU2tDYXJ0KGl0ZW0pKSlcbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICBjbGVhcigpOiBPYnNlcnZhYmxlPFNrQ2FydFtdPiB7XG4gICAgICAgIHJldHVybiB1bmRlZmluZWQ7XG4gICAgfVxuXG4gICAgcmVtb3ZlKGNhcnRzOiBTa0NhcnRbXSk6IE9ic2VydmFibGU8U2tDYXJ0W10+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMucmVtb3ZlQnlJZEFycmF5KGNhcnRzLm1hcChjYXJ0ID0+IGNhcnQuaWQpKTtcbiAgICB9XG5cbiAgICByZW1vdmVCeUlkQXJyYXkoaWRBcnJheTogbnVtYmVyW10pOiBPYnNlcnZhYmxlPFNrQ2FydFtdPiB7XG4gICAgICAgIGNvbnN0IGlkcyA9IGlkQXJyYXkuZmlsdGVyKGlkID0+IE51bWJlcihpZCkgPj0gMSk7XG4gICAgICAgIHJldHVybiB0aGlzLl9hcGlTZXJ2aWNlLmRlbGV0ZTxTa0NhcnRbXT4oYC9hcGkvcHVibGljL2NhcnRzYCwgbmV3IEh0dHBQYXJhbXMoKS5hcHBlbmQoJ3RhcmdldCcsIGlkcy5qb2luKCcsJykpKS5waXBlKFxuICAgICAgICAgICAgbWFwKHJlc3BvbnNlID0+IChyZXNwb25zZS5kYXRhIHx8IFtdKS5tYXAoaXRlbSA9PiBuZXcgU2tDYXJ0KGl0ZW0pKSlcbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICB1cGRhdGUoY2FydDogU2tDYXJ0KTogT2JzZXJ2YWJsZTxTa0NhcnRbXT4ge1xuICAgICAgICByZXR1cm4gdGhpcy5fYXBpU2VydmljZS5wdXQ8U2tDYXJ0W10+KGAvYXBpL3B1YmxpYy9jYXJ0cy8ke2NhcnQuaWR9YCwge2Ftb3VudDogY2FydC5hbW91bnR9KS5waXBlKFxuICAgICAgICAgICAgbWFwKHJlc3BvbnNlID0+IChyZXNwb25zZS5kYXRhIHx8IFtdKS5tYXAoaXRlbSA9PiBuZXcgU2tDYXJ0KGl0ZW0pKSlcbiAgICAgICAgKTtcbiAgICB9XG59XG5cbkBJbmplY3RhYmxlKHtcbiAgICBwcm92aWRlZEluOiAncm9vdCdcbn0pXG5leHBvcnQgY2xhc3MgU2tDYXJ0TG9jYWxTZXJ2aWNlIGltcGxlbWVudHMgQ2FydEFic3RyYWN0U2VydmljZSB7XG5cbiAgICBwcml2YXRlIGlzUGxhdGZvcm1Ccm93c2VyOiBib29sZWFuO1xuXG4gICAgY29uc3RydWN0b3IoQEluamVjdChQTEFURk9STV9JRCkgcHJpdmF0ZSBwbGF0Zm9ybUlkOiBPYmplY3QpIHtcbiAgICAgICAgdGhpcy5pc1BsYXRmb3JtQnJvd3NlciA9IGlzUGxhdGZvcm1Ccm93c2VyKHRoaXMucGxhdGZvcm1JZCk7XG4gICAgfVxuXG4gICAgbG9hZFJhdygpIHtcbiAgICAgICAgbGV0IGRhdGEgPSBbXTtcbiAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgIGlmICh0aGlzLmlzUGxhdGZvcm1Ccm93c2VyKSB7XG4gICAgICAgICAgICAgICAgZGF0YSA9IChTa1V0aWxzLmRlY29kZUJhc2U2NChsb2NhbFN0b3JhZ2UuZ2V0SXRlbSgnY2FydERhdGEnKSkgfHwgW10pLm1hcChpdGVtID0+IG5ldyBTa0NhcnQoaXRlbSkpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9IGNhdGNoIChlKSB7XG4gICAgICAgICAgICBkYXRhID0gW107XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gZGF0YTtcbiAgICB9XG5cbiAgICBsb2FkKCkge1xuICAgICAgICByZXR1cm4gb2YodGhpcy5sb2FkUmF3KCkpO1xuICAgIH1cblxuICAgIGFkZChjYXJ0OiBTa0NhcnQpOiBPYnNlcnZhYmxlPFNrQ2FydFtdPiB7XG4gICAgICAgIGNhcnQuaWQgPSBNYXRoLnJhbmRvbSgpO1xuICAgICAgICBjb25zdCBjYXJ0TGlzdCA9IFtjYXJ0LCAuLi50aGlzLmxvYWRSYXcoKV07XG4gICAgICAgIGxvY2FsU3RvcmFnZS5zZXRJdGVtKCdjYXJ0RGF0YScsIFNrVXRpbHMuZW5jb2RlQmFzZTY0KGNhcnRMaXN0KSk7XG4gICAgICAgIHJldHVybiBvZihjYXJ0TGlzdCk7XG4gICAgfVxuXG4gICAgY2xlYXIoKTogT2JzZXJ2YWJsZTxTa0NhcnRbXT4ge1xuICAgICAgICBjb25zdCBjYXJ0TGlzdCA9IFtdO1xuICAgICAgICBsb2NhbFN0b3JhZ2Uuc2V0SXRlbSgnY2FydERhdGEnLCBTa1V0aWxzLmVuY29kZUJhc2U2NChjYXJ0TGlzdCkpO1xuICAgICAgICByZXR1cm4gb2YoY2FydExpc3QpO1xuICAgIH1cblxuICAgIHJlbW92ZShjYXJ0czogU2tDYXJ0W10pOiBPYnNlcnZhYmxlPFNrQ2FydFtdPiB7XG4gICAgICAgIHJldHVybiB0aGlzLnJlbW92ZUJ5SWRBcnJheShjYXJ0cy5tYXAoY2FydCA9PiBjYXJ0LmlkKSk7XG4gICAgfVxuXG4gICAgcmVtb3ZlQnlJZEFycmF5KGlkQXJyYXk6IG51bWJlcltdKTogT2JzZXJ2YWJsZTxTa0NhcnRbXT4ge1xuICAgICAgICBjb25zdCByZW1vdmVkSXRlbXMgPSB0aGlzLmxvYWRSYXcoKS5maWx0ZXIoaXRlbSA9PiBpZEFycmF5LmZpbmRJbmRleChpZCA9PiBpZCA9PT0gaXRlbS5pZCkgPCAwKTtcbiAgICAgICAgbG9jYWxTdG9yYWdlLnNldEl0ZW0oJ2NhcnREYXRhJywgU2tVdGlscy5lbmNvZGVCYXNlNjQocmVtb3ZlZEl0ZW1zKSk7XG4gICAgICAgIHJldHVybiBvZihyZW1vdmVkSXRlbXMpO1xuICAgIH1cblxuICAgIHVwZGF0ZShjYXJ0OiBTa0NhcnQpOiBPYnNlcnZhYmxlPFNrQ2FydFtdPiB7XG4gICAgICAgIGNvbnN0IGNhcnRMaXN0ID0gdGhpcy5sb2FkUmF3KCk7XG4gICAgICAgIGNvbnN0IGluZGV4ID0gdGhpcy5sb2FkUmF3KCkuZmluZEluZGV4KGl0ZW0gPT4gaXRlbS5pZCA9PT0gY2FydC5pZCk7XG4gICAgICAgIGlmIChpbmRleCA+IC0xKSB7XG4gICAgICAgICAgICBjYXJ0TGlzdFtpbmRleF0gPSBjYXJ0O1xuICAgICAgICAgICAgbG9jYWxTdG9yYWdlLnNldEl0ZW0oJ2NhcnREYXRhJywgU2tVdGlscy5lbmNvZGVCYXNlNjQoY2FydExpc3QpKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiBvZihjYXJ0TGlzdCk7XG4gICAgfVxufVxuXG5ASW5qZWN0YWJsZSh7XG4gICAgcHJvdmlkZWRJbjogJ3Jvb3QnXG59KVxuZXhwb3J0IGNsYXNzIFNrQ2FydFNlcnZpY2Uge1xuXG4gICAgcHJpdmF0ZSBfY2FydEl0ZW1zJDogQmVoYXZpb3JTdWJqZWN0PFNrQ2FydFtdPiA9IG5ldyBCZWhhdmlvclN1YmplY3QoW10pO1xuICAgIHB1YmxpYyByZWFkb25seSBjYXJ0SXRlbXMkOiBPYnNlcnZhYmxlPFNrQ2FydFtdPiA9IHRoaXMuX2NhcnRJdGVtcyQuYXNPYnNlcnZhYmxlKCk7XG5cbiAgICBnZXQgY2FydEl0ZW1zKCkge1xuICAgICAgICByZXR1cm4gdGhpcy5fY2FydEl0ZW1zJC5nZXRWYWx1ZSgpO1xuICAgIH1cblxuICAgIHNldCBjYXJ0SXRlbXModmFsdWUpIHtcbiAgICAgICAgdGhpcy5fY2FydEl0ZW1zJC5uZXh0KHZhbHVlKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIF9zZWxlY3RlZEl0ZW1zJDogQmVoYXZpb3JTdWJqZWN0PG51bWJlcltdPiA9IG5ldyBCZWhhdmlvclN1YmplY3Q8bnVtYmVyW10+KFtdKTtcbiAgICBwdWJsaWMgcmVhZG9ubHkgc2VsZWN0ZWRJdGVtcyQ6IE9ic2VydmFibGU8bnVtYmVyW10+ID0gdGhpcy5fc2VsZWN0ZWRJdGVtcyQuYXNPYnNlcnZhYmxlKCk7XG5cbiAgICBnZXQgc2VsZWN0ZWRJdGVtcygpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX3NlbGVjdGVkSXRlbXMkLmdldFZhbHVlKCk7XG4gICAgfVxuXG4gICAgc2V0IHNlbGVjdGVkSXRlbXModmFsdWUpIHtcbiAgICAgICAgdGhpcy5fc2VsZWN0ZWRJdGVtcyQubmV4dCh2YWx1ZSk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBfbXlJbmZvU3Vic2NyaXB0aW9uOiBTdWJzY3JpcHRpb247XG5cbiAgICBjb25zdHJ1Y3Rvcihwcml2YXRlIF9hdXRoU2VydmljZTogU2tBdXRoU2VydmljZSxcbiAgICAgICAgICAgICAgICBwcml2YXRlIF9hcGlTZXJ2aWNlOiBTa0FwaVNlcnZpY2UsXG4gICAgICAgICAgICAgICAgcHJpdmF0ZSBfYXBpQ2FydFNlcnZpY2U6IFNrQ2FydEFwaVNlcnZpY2UsXG4gICAgICAgICAgICAgICAgcHJpdmF0ZSBfYXBpTG9jYWxTZXJ2aWNlOiBTa0NhcnRMb2NhbFNlcnZpY2UpIHtcblxuICAgICAgICAvLyB0aGlzLl9teUluZm9TdWJzY3JpcHRpb24gPSB0aGlzLl9hdXRoU2VydmljZS51c2VyaW5mbyQuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgICAgLy8gICAgIHRoaXMubG9hZCgpO1xuICAgICAgICAvLyB9KTtcbiAgICB9XG5cbiAgICBsb2FkKCkge1xuICAgICAgICB0aGlzLl9hdXRoU2VydmljZS5jaGVja0xvZ2luKClcbiAgICAgICAgICAgIC5waXBlKFxuICAgICAgICAgICAgICAgIHN3aXRjaE1hcChyZXN1bHQgPT4gcmVzdWx0ID8gdGhpcy5fYXBpQ2FydFNlcnZpY2UubG9hZCgpIDogdGhpcy5fYXBpTG9jYWxTZXJ2aWNlLmxvYWQoKSlcbiAgICAgICAgICAgIClcbiAgICAgICAgICAgIC5zdWJzY3JpYmUocmVzdWx0ID0+IHRoaXMuX2NhcnRJdGVtcyQubmV4dChyZXN1bHQpKTtcbiAgICB9XG5cbiAgICBjbGVhcigpIHtcbiAgICAgICAgdGhpcy5fYXV0aFNlcnZpY2UuY2hlY2tMb2dpbigpXG4gICAgICAgICAgICAucGlwZShzd2l0Y2hNYXAocmVzdWx0ID0+IHJlc3VsdCA/IHRoaXMuX2FwaUNhcnRTZXJ2aWNlLmNsZWFyKCkgOiB0aGlzLl9hcGlMb2NhbFNlcnZpY2UuY2xlYXIoKSkpXG4gICAgICAgICAgICAuc3Vic2NyaWJlKHJlc3VsdCA9PiB0aGlzLl9jYXJ0SXRlbXMkLm5leHQocmVzdWx0KSk7XG4gICAgfVxuXG4gICAgYWRkKGNhcnQ6IFNrQ2FydCk6IE9ic2VydmFibGU8U2tDYXJ0W10+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX2F1dGhTZXJ2aWNlLmNoZWNrTG9naW4oKVxuICAgICAgICAgICAgLnBpcGUoXG4gICAgICAgICAgICAgICAgc3dpdGNoTWFwKHJlc3VsdCA9PiByZXN1bHQgPyB0aGlzLl9hcGlDYXJ0U2VydmljZS5hZGQoY2FydCkgOiB0aGlzLl9hcGlMb2NhbFNlcnZpY2UuYWRkKGNhcnQpKSxcbiAgICAgICAgICAgICAgICB0YXAocmVzdWx0ID0+IHRoaXMuX2NhcnRJdGVtcyQubmV4dChyZXN1bHQpKVxuICAgICAgICAgICAgKTtcbiAgICB9XG5cbiAgICByZW1vdmUoY2FydHM6IFNrQ2FydFtdKSB7XG4gICAgICAgIHRoaXMuX2F1dGhTZXJ2aWNlLmNoZWNrTG9naW4oKVxuICAgICAgICAgICAgLnBpcGUoc3dpdGNoTWFwKHJlc3VsdCA9PiByZXN1bHQgPyB0aGlzLl9hcGlDYXJ0U2VydmljZS5yZW1vdmUoY2FydHMpIDogdGhpcy5fYXBpTG9jYWxTZXJ2aWNlLnJlbW92ZShjYXJ0cykpKVxuICAgICAgICAgICAgLnN1YnNjcmliZShyZXN1bHQgPT4ge1xuICAgICAgICAgICAgICAgIHRoaXMuX2NhcnRJdGVtcyQubmV4dChyZXN1bHQpO1xuICAgICAgICAgICAgICAgIHRoaXMuY2hlY2tTZWxlY3RlZEl0ZW1zKCk7XG4gICAgICAgICAgICB9KTtcbiAgICB9XG5cbiAgICByZW1vdmVCeUlkQXJyYXkoaWRBcnJheTogbnVtYmVyW10pIHtcbiAgICAgICAgdGhpcy5fYXV0aFNlcnZpY2UuY2hlY2tMb2dpbigpXG4gICAgICAgICAgICAucGlwZShzd2l0Y2hNYXAocmVzdWx0ID0+IHJlc3VsdCA/IHRoaXMuX2FwaUNhcnRTZXJ2aWNlLnJlbW92ZUJ5SWRBcnJheShpZEFycmF5KSA6IHRoaXMuX2FwaUxvY2FsU2VydmljZS5yZW1vdmVCeUlkQXJyYXkoaWRBcnJheSkpKVxuICAgICAgICAgICAgLnN1YnNjcmliZShyZXN1bHQgPT4ge1xuICAgICAgICAgICAgICAgIHRoaXMuX2NhcnRJdGVtcyQubmV4dChyZXN1bHQpO1xuICAgICAgICAgICAgICAgIHRoaXMuY2hlY2tTZWxlY3RlZEl0ZW1zKCk7XG4gICAgICAgICAgICB9KTtcbiAgICB9XG5cbiAgICB1cGRhdGUoY2FydDogU2tDYXJ0KSB7XG4gICAgICAgIHRoaXMuX2F1dGhTZXJ2aWNlLmNoZWNrTG9naW4oKVxuICAgICAgICAgICAgLnBpcGUoc3dpdGNoTWFwKHJlc3VsdCA9PiByZXN1bHQgPyB0aGlzLl9hcGlDYXJ0U2VydmljZS51cGRhdGUoY2FydCkgOiB0aGlzLl9hcGlMb2NhbFNlcnZpY2UudXBkYXRlKGNhcnQpKSlcbiAgICAgICAgICAgIC5zdWJzY3JpYmUocmVzdWx0ID0+IHRoaXMuX2NhcnRJdGVtcyQubmV4dChyZXN1bHQpKTtcbiAgICB9XG5cbiAgICBnZXRDYXJ0KGlkOiBudW1iZXIpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX2NhcnRJdGVtcyQuZ2V0VmFsdWUoKS5maW5kKHZhbHVlID0+IHZhbHVlLmlkID09PSBpZCk7XG4gICAgfVxuXG4gICAgY2hlY2tTZWxlY3RlZEl0ZW1zKCkge1xuICAgICAgICB0aGlzLnNlbGVjdGVkSXRlbXMgPSB0aGlzLnNlbGVjdGVkSXRlbXMuZmlsdGVyKHZhbHVlID0+ICEhdGhpcy5nZXRDYXJ0KHZhbHVlKSk7XG4gICAgfVxuXG4gICAgc2VsZWN0QWxsKCkge1xuICAgICAgICB0aGlzLnNlbGVjdGVkSXRlbXMgPSB0aGlzLl9jYXJ0SXRlbXMkLmdldFZhbHVlKCkubWFwKGl0ZW0gPT4gaXRlbS5pZCk7XG4gICAgfVxuXG4gICAgZGVTZWxlY3RBbGwoKSB7XG4gICAgICAgIHRoaXMuc2VsZWN0ZWRJdGVtcyA9IFtdO1xuICAgIH1cblxuICAgIHRvZ2dsZVNlbGVjdEFsbCgpIHtcbiAgICAgICAgaWYgKHRoaXMuc2VsZWN0ZWRJdGVtcy5sZW5ndGggPT09IHRoaXMuX2NhcnRJdGVtcyQuZ2V0VmFsdWUoKS5sZW5ndGgpIHtcbiAgICAgICAgICAgIHRoaXMuZGVTZWxlY3RBbGwoKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHRoaXMuc2VsZWN0QWxsKCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICB0b2dnbGVTZWxlY3QoY2FydDogU2tDYXJ0KSB7XG4gICAgICAgIGNvbnN0IHRhcmdldEluZGV4ID0gdGhpcy5zZWxlY3RlZEl0ZW1zLmZpbmRJbmRleChpdGVtID0+IGl0ZW0gPT09IGNhcnQuaWQpO1xuICAgICAgICBpZiAodGFyZ2V0SW5kZXggPT09IC0xKSB7XG4gICAgICAgICAgICB0aGlzLnNlbGVjdGVkSXRlbXMgPSBbLi4udGhpcy5zZWxlY3RlZEl0ZW1zLCBjYXJ0LmlkXTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIGNvbnN0IHRhcmdldCA9IHRoaXMuc2VsZWN0ZWRJdGVtcztcbiAgICAgICAgICAgIHRhcmdldC5zcGxpY2UodGFyZ2V0SW5kZXgsIDEpO1xuICAgICAgICAgICAgdGhpcy5zZWxlY3RlZEl0ZW1zID0gdGFyZ2V0O1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgaXNTZWxlY3RlZChjYXJ0OiBTa0NhcnQpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuc2VsZWN0ZWRJdGVtcy5maW5kSW5kZXgoaXRlbSA9PiBpdGVtID09PSBjYXJ0LmlkKSA+IC0xO1xuICAgIH1cblxuICAgIGlzU2VsZWN0ZWRBbGwoKSB7XG4gICAgICAgIHJldHVybiB0aGlzLnNlbGVjdGVkSXRlbXMubGVuZ3RoID4gMCAmJiB0aGlzLnNlbGVjdGVkSXRlbXMubGVuZ3RoID09PSB0aGlzLl9jYXJ0SXRlbXMkLmdldFZhbHVlKCkubGVuZ3RoO1xuICAgIH1cblxuICAgIGlzSW50ZXJtZWRpYXRlKCkge1xuICAgICAgICByZXR1cm4gdGhpcy5zZWxlY3RlZEl0ZW1zLmxlbmd0aCA+IDAgJiYgdGhpcy5zZWxlY3RlZEl0ZW1zLmxlbmd0aCAhPT0gdGhpcy5fY2FydEl0ZW1zJC5nZXRWYWx1ZSgpLmxlbmd0aDtcbiAgICB9XG5cbiAgICBjcmVhdGVPcmRlcihwYXltZW50VHlwZTogc3RyaW5nLCBhZmZpbGlhdGVLZXk6IHN0cmluZyk6IE9ic2VydmFibGU8c3RyaW5nPiB7XG4gICAgICAgIHJldHVybiB0aGlzLl9hdXRoU2VydmljZS5jaGVja0xvZ2luKClcbiAgICAgICAgICAgIC5waXBlKFxuICAgICAgICAgICAgICAgIHRha2UoMSksXG4gICAgICAgICAgICAgICAgbWFwKHJlc3VsdCA9PiB7XG4gICAgICAgICAgICAgICAgICAgIGlmIChyZXN1bHQpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYXBpVXJsOiBgL2FwaS9wdWJsaWMvb3JkZXJzL2Zyb20tY2FydGAsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgaXRlbXM6IHRoaXMuc2VsZWN0ZWRJdGVtc1xuICAgICAgICAgICAgICAgICAgICAgICAgfTtcbiAgICAgICAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYXBpVXJsOiBgL2FwaS9wdWJsaWMvb3JkZXJzL2Zyb20tZGF0YWAsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgaXRlbXM6IHRoaXMuc2VsZWN0ZWRJdGVtc1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAubWFwKGlkID0+IHRoaXMuZ2V0Q2FydChpZCkpXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC5tYXAoY2FydCA9PiAoe1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWQ6IGNhcnQuaWQsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwcm9kdWN0SWQ6IGNhcnQucHJvZHVjdC5pZCxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFtb3VudDogY2FydC5hbW91bnQsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBvcHRpb25zOiAoY2FydC5vcHRpb25zIHx8IFtdKS5tYXAob3B0aW9uID0+ICh7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgb3B0aW9uSWQ6IG9wdGlvbi5vcHRpb24uaWQsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWVJZDogb3B0aW9uLnZhbHVlLmlkLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFtb3VudDogb3B0aW9uLmFtb3VudCB8fCAxXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9KSksXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBnaWZ0czogKGNhcnQuZ2lmdHMgfHwgW10pLm1hcChpdGVtID0+ICh7aWQ6IGl0ZW0uaWR9KSlcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSkpXG4gICAgICAgICAgICAgICAgICAgICAgICB9O1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfSksXG4gICAgICAgICAgICAgICAgc3dpdGNoTWFwKHJlc3VsdCA9PiB0aGlzLl9hcGlTZXJ2aWNlLnBvc3Q8YW55PihyZXN1bHQuYXBpVXJsLCB7XG4gICAgICAgICAgICAgICAgICAgIGl0ZW1zOiByZXN1bHQuaXRlbXMsXG4gICAgICAgICAgICAgICAgICAgIGFmZmlsaWF0ZUtleSxcbiAgICAgICAgICAgICAgICAgICAgcGF5bWVudFR5cGVcbiAgICAgICAgICAgICAgICB9KSksXG4gICAgICAgICAgICAgICAgbWFwKHJlc3VsdCA9PiByZXN1bHQuZGF0YSlcbiAgICAgICAgICAgICk7XG4gICAgfVxufVxuXG5cblxuIl19
@@ -1,200 +0,0 @@
1
- import { Injectable, Inject } from '@angular/core';
2
- import { SK_GOOGLE_ANALYTICS_SETTINGS_TOKEN } from "../tokens/google-analytics-settings-token";
3
- import * as i0 from "@angular/core";
4
- export class SkGoogleAnalyticsService {
5
- constructor(_trackingId) {
6
- this._trackingId = _trackingId;
7
- }
8
- throw(err) {
9
- if (console && console.error) {
10
- console.error(err);
11
- }
12
- }
13
- /**
14
- * Call native GA Tag
15
- *
16
- * @param action config|event
17
- * @param command Action specialization
18
- * @param options Command configuration
19
- */
20
- gtag(action, command, ...options) {
21
- try {
22
- window['gtag'](action, command, ...options);
23
- }
24
- catch (err) {
25
- this.throw(err);
26
- }
27
- }
28
- /**
29
- * Send an event trigger to GA. It is the same as call:
30
- * ```js
31
- * gtag('event', 'video_auto_play_start', {
32
- * 'event_label': 'My promotional video',
33
- * 'event_category': 'video_auto_play'
34
- * });
35
- * ```
36
- *
37
- * @param action 'video_auto_play_start'
38
- * @param category 'video_auto_play'
39
- * @param label 'My promotional video'
40
- * @param value An value to measure something
41
- */
42
- event(action, category, label, value, interaction) {
43
- try {
44
- if (window['gtag']) {
45
- const opt = {};
46
- if (category) {
47
- opt['event_category'] = category;
48
- }
49
- if (label) {
50
- opt['event_label'] = label;
51
- }
52
- if (value) {
53
- opt['value'] = value;
54
- }
55
- if (interaction !== undefined) {
56
- opt['interaction'] = interaction;
57
- }
58
- this.gtag('event', action, opt);
59
- }
60
- }
61
- catch (error) {
62
- this.throw(error);
63
- }
64
- }
65
- purchase(data) {
66
- try {
67
- if (window['gtag']) {
68
- this.gtag('event', 'purchase', data);
69
- }
70
- }
71
- catch (error) {
72
- this.throw(error);
73
- }
74
- }
75
- /**
76
- * Send an page view event. This is the same as
77
- *
78
- * ```js
79
- * gtag('config', 'GA_TRACKING_ID', {
80
- * 'page_title' : 'Homepage',
81
- * 'page_path': '/home'
82
- * });
83
- * ```
84
- *
85
- * The tracking ID is injected automatically by Inject Token NGX_GOOGLE_ANALYTICS_SETTINGS_TOKEN
86
- *
87
- * @param path /home
88
- * @param title Homepage
89
- * @param location '{ page_location }'
90
- * @param options '{ ... custom dimentions }'
91
- */
92
- pageView(path, title, location, options) {
93
- try {
94
- if (window['gtag']) {
95
- const opt = {};
96
- if (path) {
97
- opt['page_path'] = path;
98
- }
99
- if (title) {
100
- opt['page_title'] = title;
101
- }
102
- if (location) {
103
- opt['page_location'] = location;
104
- }
105
- if (options) {
106
- Object.assign(opt, options);
107
- }
108
- this.gtag('config', this._trackingId.trackingCode, opt);
109
- }
110
- }
111
- catch (error) {
112
- this.throw(error);
113
- }
114
- }
115
- /**
116
- * Send an evento to report a App Page View. It is the same as
117
- *
118
- * ```js
119
- * gtag('event', 'screen_view', {
120
- * 'app_name': 'myAppName',
121
- * 'screen_name' : 'Home'
122
- * });
123
- *
124
- * ```
125
- *
126
- * @param screen 'screen_name'
127
- * @param name 'app_name'
128
- * @param appId 'app_id'
129
- * @param appVersion 'app_version'
130
- * @param installerId 'app_installer_id'
131
- */
132
- appView(screen, appName, appId, appVersion, installerId) {
133
- try {
134
- if (window['gtag']) {
135
- const opt = {};
136
- if (screen) {
137
- opt['screen_name'] = screen;
138
- }
139
- if (appName) {
140
- opt['app_name'] = appName;
141
- }
142
- if (appId) {
143
- opt['app_id'] = appId;
144
- }
145
- if (appVersion) {
146
- opt['app_version'] = appVersion;
147
- }
148
- if (installerId) {
149
- opt['app_installer_id'] = installerId;
150
- }
151
- this.gtag('event', 'screen_view', opt);
152
- }
153
- }
154
- catch (error) {
155
- this.throw(error);
156
- }
157
- }
158
- /**
159
- * Send an event to GA to report an application error. It is the same as
160
- *
161
- * ```js
162
- * gtag('event', 'exception', {
163
- * 'description': 'error_description',
164
- * 'fatal': false // set to true if the error is fatal
165
- * });
166
- * ```
167
- *
168
- * @param description 'error_description'
169
- * @param fatal set to true if the error is fatal
170
- */
171
- exception(description, fatal) {
172
- try {
173
- if (window['gtag']) {
174
- const opt = {};
175
- if (description) {
176
- opt['description'] = description;
177
- }
178
- if (fatal) {
179
- opt['fatal'] = fatal;
180
- }
181
- this.gtag('event', 'exception', opt);
182
- }
183
- }
184
- catch (error) {
185
- this.throw(error);
186
- }
187
- }
188
- }
189
- SkGoogleAnalyticsService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: SkGoogleAnalyticsService, deps: [{ token: SK_GOOGLE_ANALYTICS_SETTINGS_TOKEN }], target: i0.ɵɵFactoryTarget.Injectable });
190
- SkGoogleAnalyticsService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: SkGoogleAnalyticsService, providedIn: 'root' });
191
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: SkGoogleAnalyticsService, decorators: [{
192
- type: Injectable,
193
- args: [{
194
- providedIn: 'root'
195
- }]
196
- }], ctorParameters: function () { return [{ type: undefined, decorators: [{
197
- type: Inject,
198
- args: [SK_GOOGLE_ANALYTICS_SETTINGS_TOKEN]
199
- }] }]; } });
200
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ29vZ2xlLWFuYWx5dGljcy5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvc2stZnJvbnQtbGliL2dvb2dsZS1hbmFseXRpY3Mvc3JjL3NlcnZpY2VzL2dvb2dsZS1hbmFseXRpY3Muc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsVUFBVSxFQUFFLE1BQU0sRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUNqRCxPQUFPLEVBQUMsa0NBQWtDLEVBQUMsTUFBTSwyQ0FBMkMsQ0FBQzs7QUFPN0YsTUFBTSxPQUFPLHdCQUF3QjtJQUVqQyxZQUFrRSxXQUF1QztRQUF2QyxnQkFBVyxHQUFYLFdBQVcsQ0FBNEI7SUFDekcsQ0FBQztJQUVTLEtBQUssQ0FBQyxHQUFVO1FBQ3RCLElBQUksT0FBTyxJQUFJLE9BQU8sQ0FBQyxLQUFLLEVBQUU7WUFDMUIsT0FBTyxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQztTQUN0QjtJQUNMLENBQUM7SUFFRDs7Ozs7O09BTUc7SUFDSCxJQUFJLENBQUMsTUFBYyxFQUFFLE9BQWUsRUFBRSxHQUFHLE9BQW1CO1FBQ3hELElBQUk7WUFDQSxNQUFNLENBQUMsTUFBTSxDQUFDLENBQUMsTUFBTSxFQUFFLE9BQU8sRUFBRSxHQUFHLE9BQU8sQ0FBQyxDQUFDO1NBQy9DO1FBQUMsT0FBTyxHQUFHLEVBQUU7WUFDVixJQUFJLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDO1NBQ25CO0lBQ0wsQ0FBQztJQUVEOzs7Ozs7Ozs7Ozs7O09BYUc7SUFDSCxLQUFLLENBQUMsTUFBeUIsRUFBRSxRQUFpQixFQUFFLEtBQWMsRUFBRSxLQUFjLEVBQUUsV0FBcUI7UUFDckcsSUFBSTtZQUNBLElBQUksTUFBTSxDQUFDLE1BQU0sQ0FBQyxFQUFFO2dCQUNoQixNQUFNLEdBQUcsR0FBRyxFQUFFLENBQUM7Z0JBQ2YsSUFBSSxRQUFRLEVBQUU7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R0FBRyxDQUFDLENBQUM7YUFDMUM7U0FDSjtRQUFDLE9BQU8sS0FBSyxFQUFFO1lBQ1osSUFBSSxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsQ0FBQztTQUNyQjtJQUNMLENBQUM7SUFFRDs7Ozs7Ozs7Ozs7O09BWUc7SUFDSCxTQUFTLENBQUMsV0FBb0IsRUFBRSxLQUFlO1FBQzNDLElBQUk7WUFDQSxJQUFJLE1BQU0sQ0FBQyxNQUFNLENBQUMsRUFBRTtnQkFDaEIsTUFBTSxHQUFHLEdBQUcsRUFBRSxDQUFDO2dCQUNmLElBQUksV0FBVyxFQUFFO29CQUNiLEdBQUcsQ0FBQyxhQUFhLENBQUMsR0FBRyxXQUFXLENBQUM7aUJBQ3BDO2dCQUNELElBQUksS0FBSyxFQUFFO29CQUNQLEdBQUcsQ0FBQyxPQUFPLENBQUMsR0FBRyxLQUFLLENBQUM7aUJBQ3hCO2dCQUNELElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxFQUFFLFdBQVcsRUFBRSxHQUFHLENBQUMsQ0FBQzthQUN4QztTQUNKO1FBQUMsT0FBTyxLQUFLLEVBQUU7WUFDWixJQUFJLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxDQUFDO1NBQ3JCO0lBQ0wsQ0FBQzs7c0hBeExRLHdCQUF3QixrQkFFYixrQ0FBa0M7MEhBRjdDLHdCQUF3QixjQUZyQixNQUFNOzRGQUVULHdCQUF3QjtrQkFIcEMsVUFBVTttQkFBQztvQkFDUixVQUFVLEVBQUUsTUFBTTtpQkFDckI7OzBCQUdnQixNQUFNOzJCQUFDLGtDQUFrQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7SW5qZWN0YWJsZSwgSW5qZWN0fSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7U0tfR09PR0xFX0FOQUxZVElDU19TRVRUSU5HU19UT0tFTn0gZnJvbSBcIi4uL3Rva2Vucy9nb29nbGUtYW5hbHl0aWNzLXNldHRpbmdzLXRva2VuXCI7XG5pbXBvcnQge0lTa0dvb2dsZUFuYWx5dGljc1NldHRpbmdzfSBmcm9tIFwiLi4vaW50ZXJmYWNlcy9nb29nbGUtYW5hbHl0aWNzLXNldHRpbmdzXCI7XG5pbXBvcnQge0dhQWN0aW9ufSBmcm9tIFwiLi4vdHlwZXMvZ2EtYWN0aW9uLnR5cGVcIjtcblxuQEluamVjdGFibGUoe1xuICAgIHByb3ZpZGVkSW46ICdyb290J1xufSlcbmV4cG9ydCBjbGFzcyBTa0dvb2dsZUFuYWx5dGljc1NlcnZpY2Uge1xuXG4gICAgY29uc3RydWN0b3IoQEluamVjdChTS19HT09HTEVfQU5BTFlUSUNTX1NFVFRJTkdTX1RPS0VOKSBwcm90ZWN0ZWQgX3RyYWNraW5nSWQ6IElTa0dvb2dsZUFuYWx5dGljc1NldHRpbmdzKSB7XG4gICAgfVxuXG4gICAgcHJvdGVjdGVkIHRocm93KGVycjogRXJyb3IpIHtcbiAgICAgICAgaWYgKGNvbnNvbGUgJiYgY29uc29sZS5lcnJvcikge1xuICAgICAgICAgICAgY29uc29sZS5lcnJvcihlcnIpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQ2FsbCBuYXRpdmUgR0EgVGFnXG4gICAgICpcbiAgICAgKiBAcGFyYW0gYWN0aW9uIGNvbmZpZ3xldmVudFxuICAgICAqIEBwYXJhbSBjb21tYW5kIEFjdGlvbiBzcGVjaWFsaXphdGlvblxuICAgICAqIEBwYXJhbSBvcHRpb25zIENvbW1hbmQgY29uZmlndXJhdGlvblxuICAgICAqL1xuICAgIGd0YWcoYWN0aW9uOiBzdHJpbmcsIGNvbW1hbmQ6IHN0cmluZywgLi4ub3B0aW9uczogQXJyYXk8YW55Pikge1xuICAgICAgICB0cnkge1xuICAgICAgICAgICAgd2luZG93WydndGFnJ10oYWN0aW9uLCBjb21tYW5kLCAuLi5vcHRpb25zKTtcbiAgICAgICAgfSBjYXRjaCAoZXJyKSB7XG4gICAgICAgICAgICB0aGlzLnRocm93KGVycik7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBTZW5kIGFuIGV2ZW50IHRyaWdnZXIgdG8gR0EuIEl0IGlzIHRoZSBzYW1lIGFzIGNhbGw6XG4gICAgICogYGBganNcbiAgICAgKiBndGFnKCdldmVudCcsICd2aWRlb19hdXRvX3BsYXlfc3RhcnQnLCB7XG4gICAgICogICAnZXZlbnRfbGFiZWwnOiAnTXkgcHJvbW90aW9uYWwgdmlkZW8nLFxuICAgICAqICAgJ2V2ZW50X2NhdGVnb3J5JzogJ3ZpZGVvX2F1dG9fcGxheSdcbiAgICAgKiB9KTtcbiAgICAgKiBgYGBcbiAgICAgKlxuICAgICAqIEBwYXJhbSBhY3Rpb24gJ3ZpZGVvX2F1dG9fcGxheV9zdGFydCdcbiAgICAgKiBAcGFyYW0gY2F0ZWdvcnkgJ3ZpZGVvX2F1dG9fcGxheSdcbiAgICAgKiBAcGFyYW0gbGFiZWwgJ015IHByb21vdGlvbmFsIHZpZGVvJ1xuICAgICAqIEBwYXJhbSB2YWx1ZSBBbiB2YWx1ZSB0byBtZWFzdXJlIHNvbWV0aGluZ1xuICAgICAqL1xuICAgIGV2ZW50KGFjdGlvbjogR2FBY3Rpb24gfCBzdHJpbmcsIGNhdGVnb3J5Pzogc3RyaW5nLCBsYWJlbD86IHN0cmluZywgdmFsdWU/OiBudW1iZXIsIGludGVyYWN0aW9uPzogYm9vbGVhbikge1xuICAgICAgICB0cnkge1xuICAgICAgICAgICAgaWYgKHdpbmRvd1snZ3RhZyddKSB7XG4gICAgICAgICAgICAgICAgY29uc3Qgb3B0ID0ge307XG4gICAgICAgICAgICAgICAgaWYgKGNhdGVnb3J5KSB7XG4gICAgICAgICAgICAgICAgICAgIG9wdFsnZXZlbnRfY2F0ZWdvcnknXSA9IGNhdGVnb3J5O1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBpZiAobGFiZWwpIHtcbiAgICAgICAgICAgICAgICAgICAgb3B0WydldmVudF9sYWJlbCddID0gbGFiZWw7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGlmICh2YWx1ZSkge1xuICAgICAgICAgICAgICAgICAgICBvcHRbJ3ZhbHVlJ10gPSB2YWx1ZTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgaWYgKGludGVyYWN0aW9uICE9PSB1bmRlZmluZWQpIHtcbiAgICAgICAgICAgICAgICAgICAgb3B0WydpbnRlcmFjdGlvbiddID0gaW50ZXJhY3Rpb247XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIHRoaXMuZ3RhZygnZXZlbnQnLCBhY3Rpb24gYXMgc3RyaW5nLCBvcHQpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9IGNhdGNoIChlcnJvcikge1xuICAgICAgICAgICAgdGhpcy50aHJvdyhlcnJvcik7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwdXJjaGFzZShkYXRhKSB7XG4gICAgICAgIHRyeSB7XG4gICAgICAgICAgICBpZiAod2luZG93WydndGFnJ10pIHtcbiAgICAgICAgICAgICAgICB0aGlzLmd0YWcoJ2V2ZW50JywgJ3B1cmNoYXNlJywgZGF0YSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgICAgICAgICB0aGlzLnRocm93KGVycm9yKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFNlbmQgYW4gcGFnZSB2aWV3IGV2ZW50LiBUaGlzIGlzIHRoZSBzYW1lIGFzXG4gICAgICpcbiAgICAgKiBgYGBqc1xuICAgICAqIGd0YWcoJ2NvbmZpZycsICdHQV9UUkFDS0lOR19JRCcsIHtcbiAgICAgKiAgICdwYWdlX3RpdGxlJyA6ICdIb21lcGFnZScsXG4gICAgICogICAncGFnZV9wYXRoJzogJy9ob21lJ1xuICAgICAqIH0pO1xuICAgICAqIGBgYFxuICAgICAqXG4gICAgICogVGhlIHRyYWNraW5nIElEIGlzIGluamVjdGVkIGF1dG9tYXRpY2FsbHkgYnkgSW5qZWN0IFRva2VuIE5HWF9HT09HTEVfQU5BTFlUSUNTX1NFVFRJTkdTX1RPS0VOXG4gICAgICpcbiAgICAgKiBAcGFyYW0gcGF0aCAvaG9tZVxuICAgICAqIEBwYXJhbSB0aXRsZSBIb21lcGFnZVxuICAgICAqIEBwYXJhbSBsb2NhdGlvbiAneyBwYWdlX2xvY2F0aW9uIH0nXG4gICAgICogQHBhcmFtIG9wdGlvbnMgJ3sgLi4uIGN1c3RvbSBkaW1lbnRpb25zIH0nXG4gICAgICovXG4gICAgcGFnZVZpZXcocGF0aD86IHN0cmluZywgdGl0bGU/OiBzdHJpbmcsIGxvY2F0aW9uPzogc3RyaW5nLCBvcHRpb25zPzogT2JqZWN0KSB7XG4gICAgICAgIHRyeSB7XG4gICAgICAgICAgICBpZiAod2luZG93WydndGFnJ10pIHtcbiAgICAgICAgICAgICAgICBjb25zdCBvcHQgPSB7fTtcbiAgICAgICAgICAgICAgICBpZiAocGF0aCkge1xuICAgICAgICAgICAgICAgICAgICBvcHRbJ3BhZ2VfcGF0aCddID0gcGF0aDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgaWYgKHRpdGxlKSB7XG4gICAgICAgICAgICAgICAgICAgIG9wdFsncGFnZV90aXRsZSddID0gdGl0bGU7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGlmIChsb2NhdGlvbikge1xuICAgICAgICAgICAgICAgICAgICBvcHRbJ3BhZ2VfbG9jYXRpb24nXSA9IGxvY2F0aW9uO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBpZiAob3B0aW9ucykge1xuICAgICAgICAgICAgICAgICAgICBPYmplY3QuYXNzaWduKG9wdCwgb3B0aW9ucyk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIHRoaXMuZ3RhZygnY29uZmlnJywgdGhpcy5fdHJhY2tpbmdJZC50cmFja2luZ0NvZGUsIG9wdCk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgICAgICAgICB0aGlzLnRocm93KGVycm9yKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFNlbmQgYW4gZXZlbnRvIHRvIHJlcG9ydCBhIEFwcCBQYWdlIFZpZXcuIEl0IGlzIHRoZSBzYW1lIGFzXG4gICAgICpcbiAgICAgKiBgYGBqc1xuICAgICAqIGd0YWcoJ2V2ZW50JywgJ3NjcmVlbl92aWV3Jywge1xuICAgICAqICAgJ2FwcF9uYW1lJzogJ215QXBwTmFtZScsXG4gICAgICogICAnc2NyZWVuX25hbWUnIDogJ0hvbWUnXG4gICAgICogfSk7XG4gICAgICpcbiAgICAgKiBgYGBcbiAgICAgKlxuICAgICAqIEBwYXJhbSBzY3JlZW4gJ3NjcmVlbl9uYW1lJ1xuICAgICAqIEBwYXJhbSBuYW1lICdhcHBfbmFtZSdcbiAgICAgKiBAcGFyYW0gYXBwSWQgJ2FwcF9pZCdcbiAgICAgKiBAcGFyYW0gYXBwVmVyc2lvbiAnYXBwX3ZlcnNpb24nXG4gICAgICogQHBhcmFtIGluc3RhbGxlcklkICdhcHBfaW5zdGFsbGVyX2lkJ1xuICAgICAqL1xuICAgIGFwcFZpZXcoc2NyZWVuOiBzdHJpbmcsIGFwcE5hbWU6IHN0cmluZywgYXBwSWQ/OiBzdHJpbmcsIGFwcFZlcnNpb24/OiBzdHJpbmcsIGluc3RhbGxlcklkPzogc3RyaW5nKSB7XG4gICAgICAgIHRyeSB7XG4gICAgICAgICAgICBpZiAod2luZG93WydndGFnJ10pIHtcbiAgICAgICAgICAgICAgICBjb25zdCBvcHQgPSB7fTtcbiAgICAgICAgICAgICAgICBpZiAoc2NyZWVuKSB7XG4gICAgICAgICAgICAgICAgICAgIG9wdFsnc2NyZWVuX25hbWUnXSA9IHNjcmVlbjtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgaWYgKGFwcE5hbWUpIHtcbiAgICAgICAgICAgICAgICAgICAgb3B0WydhcHBfbmFtZSddID0gYXBwTmFtZTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgaWYgKGFwcElkKSB7XG4gICAgICAgICAgICAgICAgICAgIG9wdFsnYXBwX2lkJ10gPSBhcHBJZDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgaWYgKGFwcFZlcnNpb24pIHtcbiAgICAgICAgICAgICAgICAgICAgb3B0WydhcHBfdmVyc2lvbiddID0gYXBwVmVyc2lvbjtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgaWYgKGluc3RhbGxlcklkKSB7XG4gICAgICAgICAgICAgICAgICAgIG9wdFsnYXBwX2luc3RhbGxlcl9pZCddID0gaW5zdGFsbGVySWQ7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIHRoaXMuZ3RhZygnZXZlbnQnLCAnc2NyZWVuX3ZpZXcnLCBvcHQpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9IGNhdGNoIChlcnJvcikge1xuICAgICAgICAgICAgdGhpcy50aHJvdyhlcnJvcik7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBTZW5kIGFuIGV2ZW50IHRvIEdBIHRvIHJlcG9ydCBhbiBhcHBsaWNhdGlvbiBlcnJvci4gSXQgaXMgdGhlIHNhbWUgYXNcbiAgICAgKlxuICAgICAqIGBgYGpzXG4gICAgICogZ3RhZygnZXZlbnQnLCAnZXhjZXB0aW9uJywge1xuICAgICAqICAgJ2Rlc2NyaXB0aW9uJzogJ2Vycm9yX2Rlc2NyaXB0aW9uJyxcbiAgICAgKiAgICdmYXRhbCc6IGZhbHNlICAgLy8gc2V0IHRvIHRydWUgaWYgdGhlIGVycm9yIGlzIGZhdGFsXG4gICAgICogfSk7XG4gICAgICogYGBgXG4gICAgICpcbiAgICAgKiBAcGFyYW0gZGVzY3JpcHRpb24gJ2Vycm9yX2Rlc2NyaXB0aW9uJ1xuICAgICAqIEBwYXJhbSBmYXRhbCBzZXQgdG8gdHJ1ZSBpZiB0aGUgZXJyb3IgaXMgZmF0YWxcbiAgICAgKi9cbiAgICBleGNlcHRpb24oZGVzY3JpcHRpb24/OiBzdHJpbmcsIGZhdGFsPzogYm9vbGVhbikge1xuICAgICAgICB0cnkge1xuICAgICAgICAgICAgaWYgKHdpbmRvd1snZ3RhZyddKSB7XG4gICAgICAgICAgICAgICAgY29uc3Qgb3B0ID0ge307XG4gICAgICAgICAgICAgICAgaWYgKGRlc2NyaXB0aW9uKSB7XG4gICAgICAgICAgICAgICAgICAgIG9wdFsnZGVzY3JpcHRpb24nXSA9IGRlc2NyaXB0aW9uO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBpZiAoZmF0YWwpIHtcbiAgICAgICAgICAgICAgICAgICAgb3B0WydmYXRhbCddID0gZmF0YWw7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIHRoaXMuZ3RhZygnZXZlbnQnLCAnZXhjZXB0aW9uJywgb3B0KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICAgICAgICAgIHRoaXMudGhyb3coZXJyb3IpO1xuICAgICAgICB9XG4gICAgfVxufVxuIl19
@@ -1,40 +0,0 @@
1
- import { NgModule } from '@angular/core';
2
- import { CommonModule } from '@angular/common';
3
- import { MatLegacyDialogModule as MatDialogModule } from '@angular/material/legacy-dialog';
4
- import { InViewportModule } from 'ng-in-viewport';
5
- import { SkImageComponent } from './sk-image.component';
6
- import { MatLegacyButtonModule as MatButtonModule } from '@angular/material/legacy-button';
7
- import { MatIconModule } from '@angular/material/icon';
8
- import * as i0 from "@angular/core";
9
- export class SkImageModule {
10
- }
11
- SkImageModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: SkImageModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
12
- SkImageModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.2.10", ngImport: i0, type: SkImageModule, declarations: [SkImageComponent], imports: [CommonModule,
13
- InViewportModule,
14
- MatDialogModule,
15
- MatButtonModule,
16
- MatIconModule], exports: [SkImageComponent] });
17
- SkImageModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: SkImageModule, imports: [CommonModule,
18
- InViewportModule,
19
- MatDialogModule,
20
- MatButtonModule,
21
- MatIconModule] });
22
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: SkImageModule, decorators: [{
23
- type: NgModule,
24
- args: [{
25
- imports: [
26
- CommonModule,
27
- InViewportModule,
28
- MatDialogModule,
29
- MatButtonModule,
30
- MatIconModule
31
- ],
32
- declarations: [
33
- SkImageComponent,
34
- ],
35
- exports: [
36
- SkImageComponent
37
- ]
38
- }]
39
- }] });
40
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2staW1hZ2UubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvc2stZnJvbnQtbGliL2ltYWdlL3NyYy9zay1pbWFnZS5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLFFBQVEsRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUN2QyxPQUFPLEVBQUMsWUFBWSxFQUFDLE1BQU0saUJBQWlCLENBQUM7QUFDN0MsT0FBTyxFQUFDLHFCQUFxQixJQUFJLGVBQWUsRUFBQyxNQUFNLGlDQUFpQyxDQUFDO0FBRXpGLE9BQU8sRUFBQyxnQkFBZ0IsRUFBQyxNQUFNLGdCQUFnQixDQUFDO0FBRWhELE9BQU8sRUFBQyxnQkFBZ0IsRUFBQyxNQUFNLHNCQUFzQixDQUFDO0FBQ3RELE9BQU8sRUFBQyxxQkFBcUIsSUFBSSxlQUFlLEVBQUMsTUFBTSxpQ0FBaUMsQ0FBQztBQUN6RixPQUFPLEVBQUMsYUFBYSxFQUFDLE1BQU0sd0JBQXdCLENBQUM7O0FBaUJyRCxNQUFNLE9BQU8sYUFBYTs7MkdBQWIsYUFBYTs0R0FBYixhQUFhLGlCQU5sQixnQkFBZ0IsYUFQaEIsWUFBWTtRQUNaLGdCQUFnQjtRQUNoQixlQUFlO1FBQ2YsZUFBZTtRQUNmLGFBQWEsYUFNYixnQkFBZ0I7NEdBR1gsYUFBYSxZQWJsQixZQUFZO1FBQ1osZ0JBQWdCO1FBQ2hCLGVBQWU7UUFDZixlQUFlO1FBQ2YsYUFBYTs0RkFTUixhQUFhO2tCQWZ6QixRQUFRO21CQUFDO29CQUNOLE9BQU8sRUFBRTt3QkFDTCxZQUFZO3dCQUNaLGdCQUFnQjt3QkFDaEIsZUFBZTt3QkFDZixlQUFlO3dCQUNmLGFBQWE7cUJBQ2hCO29CQUNELFlBQVksRUFBRTt3QkFDVixnQkFBZ0I7cUJBQ25CO29CQUNELE9BQU8sRUFBRTt3QkFDTCxnQkFBZ0I7cUJBQ25CO2lCQUNKIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtOZ01vZHVsZX0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge0NvbW1vbk1vZHVsZX0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7TWF0TGVnYWN5RGlhbG9nTW9kdWxlIGFzIE1hdERpYWxvZ01vZHVsZX0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvbGVnYWN5LWRpYWxvZyc7XG5cbmltcG9ydCB7SW5WaWV3cG9ydE1vZHVsZX0gZnJvbSAnbmctaW4tdmlld3BvcnQnO1xuXG5pbXBvcnQge1NrSW1hZ2VDb21wb25lbnR9IGZyb20gJy4vc2staW1hZ2UuY29tcG9uZW50JztcbmltcG9ydCB7TWF0TGVnYWN5QnV0dG9uTW9kdWxlIGFzIE1hdEJ1dHRvbk1vZHVsZX0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvbGVnYWN5LWJ1dHRvbic7XG5pbXBvcnQge01hdEljb25Nb2R1bGV9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2ljb24nO1xuXG5ATmdNb2R1bGUoe1xuICAgIGltcG9ydHM6IFtcbiAgICAgICAgQ29tbW9uTW9kdWxlLFxuICAgICAgICBJblZpZXdwb3J0TW9kdWxlLFxuICAgICAgICBNYXREaWFsb2dNb2R1bGUsXG4gICAgICAgIE1hdEJ1dHRvbk1vZHVsZSxcbiAgICAgICAgTWF0SWNvbk1vZHVsZVxuICAgIF0sXG4gICAgZGVjbGFyYXRpb25zOiBbXG4gICAgICAgIFNrSW1hZ2VDb21wb25lbnQsXG4gICAgXSxcbiAgICBleHBvcnRzOiBbXG4gICAgICAgIFNrSW1hZ2VDb21wb25lbnRcbiAgICBdXG59KVxuZXhwb3J0IGNsYXNzIFNrSW1hZ2VNb2R1bGUge1xufVxuIl19