sk-front-lib 0.18.4 → 0.19.1

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 (178) 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/{esm2022 → esm2020}/api/sk-api.module.mjs +9 -9
  7. package/{esm2022 → esm2020}/api/sk-api.service.mjs +4 -4
  8. package/{esm2022 → esm2020}/article/sk-article-editor-server.component.mjs +4 -4
  9. package/{esm2022 → esm2020}/article/sk-article-editor.component.mjs +4 -4
  10. package/{esm2022 → esm2020}/article/sk-article-server.module.mjs +5 -5
  11. package/{esm2022 → esm2020}/article/sk-article.module.mjs +7 -7
  12. package/{esm2022 → esm2020}/article/sk-article.service.mjs +4 -4
  13. package/{esm2022 → esm2020}/article/sk-froala-editor.directive.mjs +7 -7
  14. package/{esm2022 → esm2020}/crud/sk-account.service.mjs +4 -4
  15. package/{esm2022 → esm2020}/crud/sk-affiliate.service.mjs +4 -4
  16. package/{esm2022 → esm2020}/crud/sk-auth-admin.guard.mjs +4 -4
  17. package/{esm2022 → esm2020}/crud/sk-auth.guard.mjs +4 -4
  18. package/{esm2022 → esm2020}/crud/sk-auth.service.mjs +7 -7
  19. package/{esm2022 → esm2020}/crud/sk-board.service.mjs +4 -4
  20. package/{esm2022 → esm2020}/crud/sk-brand.service.mjs +4 -4
  21. package/esm2020/crud/sk-cart.service.mjs +256 -0
  22. package/{esm2022 → esm2020}/crud/sk-category.service.mjs +4 -4
  23. package/{esm2022 → esm2020}/crud/sk-comment.service.mjs +4 -4
  24. package/{esm2022 → esm2020}/crud/sk-config.service.mjs +4 -4
  25. package/{esm2022 → esm2020}/crud/sk-contact.service.mjs +4 -4
  26. package/{esm2022 → esm2020}/crud/sk-coupon.service.mjs +4 -4
  27. package/{esm2022 → esm2020}/crud/sk-document.service.mjs +4 -4
  28. package/{esm2022 → esm2020}/crud/sk-etc.service.mjs +4 -4
  29. package/{esm2022 → esm2020}/crud/sk-file.service.mjs +4 -4
  30. package/{esm2022 → esm2020}/crud/sk-keyword.service.mjs +4 -4
  31. package/{esm2022 → esm2020}/crud/sk-order.service.mjs +4 -4
  32. package/{esm2022 → esm2020}/crud/sk-point.service.mjs +4 -4
  33. package/{esm2022 → esm2020}/crud/sk-product.service.mjs +4 -4
  34. package/{esm2022 → esm2020}/crud/sk-promotion.service.mjs +4 -4
  35. package/{esm2022 → esm2020}/crud/sk-search.service.mjs +4 -4
  36. package/{esm2022 → esm2020}/crud/sk-store.service.mjs +4 -4
  37. package/{esm2022 → esm2020}/crud/sk-user.service.mjs +4 -4
  38. package/{esm2022 → esm2020}/google-analytics/google-analytics-router.module.mjs +9 -9
  39. package/{esm2022 → esm2020}/google-analytics/google-analytics.module.mjs +5 -5
  40. package/esm2020/google-analytics/services/google-analytics.service.mjs +200 -0
  41. package/{esm2022 → esm2020}/image/sk-image.component.mjs +6 -6
  42. package/esm2020/image/sk-image.module.mjs +40 -0
  43. package/{esm2022 → esm2020}/lib/sk-byte.pipe.mjs +4 -4
  44. package/{esm2022 → esm2020}/lib/sk-date-time.pipe.mjs +4 -4
  45. package/{esm2022 → esm2020}/lib/sk-date.pipe.mjs +4 -4
  46. package/{esm2022 → esm2020}/lib/sk-front-lib.module.mjs +13 -13
  47. package/{esm2022 → esm2020}/lib/sk-keys.pipe.mjs +4 -4
  48. package/{esm2022 → esm2020}/lib/sk-time.pipe.mjs +4 -4
  49. package/esm2020/model/lib/filetype.mjs +179 -0
  50. package/esm2020/model/lib/payment.mjs +35 -0
  51. package/esm2020/search-address/dialog/dialog.component.mjs +27 -0
  52. package/{esm2022 → esm2020}/search-address/sk-search-address.directive.mjs +6 -6
  53. package/esm2020/search-address/sk-search-address.module.mjs +47 -0
  54. package/{esm2022 → esm2020}/search-address/sk-search-address.service.mjs +4 -4
  55. package/esm2020/uploader/sk-uploader.component.mjs +120 -0
  56. package/esm2020/uploader/sk-uploader.directive.mjs +44 -0
  57. package/esm2020/uploader/sk-uploader.module.mjs +57 -0
  58. package/fesm2015/sk-front-lib-api.mjs +216 -0
  59. package/fesm2015/sk-front-lib-api.mjs.map +1 -0
  60. package/fesm2015/sk-front-lib-article.mjs +758 -0
  61. package/fesm2015/sk-front-lib-article.mjs.map +1 -0
  62. package/fesm2015/sk-front-lib-crud.mjs +1529 -0
  63. package/fesm2015/sk-front-lib-crud.mjs.map +1 -0
  64. package/fesm2015/sk-front-lib-google-analytics.mjs +334 -0
  65. package/fesm2015/sk-front-lib-google-analytics.mjs.map +1 -0
  66. package/fesm2015/sk-front-lib-image.mjs +303 -0
  67. package/fesm2015/sk-front-lib-image.mjs.map +1 -0
  68. package/{fesm2022 → fesm2015}/sk-front-lib-model.mjs +62 -57
  69. package/fesm2015/sk-front-lib-model.mjs.map +1 -0
  70. package/fesm2015/sk-front-lib-search-address.mjs +183 -0
  71. package/fesm2015/sk-front-lib-search-address.mjs.map +1 -0
  72. package/fesm2015/sk-front-lib-uploader.mjs +546 -0
  73. package/fesm2015/sk-front-lib-uploader.mjs.map +1 -0
  74. package/{fesm2022 → fesm2015}/sk-front-lib.mjs +27 -27
  75. package/{fesm2022 → fesm2015}/sk-front-lib.mjs.map +1 -1
  76. package/{fesm2022 → fesm2020}/sk-front-lib-api.mjs +11 -11
  77. package/{fesm2022 → fesm2020}/sk-front-lib-api.mjs.map +1 -1
  78. package/{fesm2022 → fesm2020}/sk-front-lib-article.mjs +25 -25
  79. package/{fesm2022 → fesm2020}/sk-front-lib-article.mjs.map +1 -1
  80. package/{fesm2022 → fesm2020}/sk-front-lib-crud.mjs +93 -93
  81. package/fesm2020/sk-front-lib-crud.mjs.map +1 -0
  82. package/{fesm2022 → fesm2020}/sk-front-lib-google-analytics.mjs +16 -38
  83. package/fesm2020/sk-front-lib-google-analytics.mjs.map +1 -0
  84. package/{fesm2022 → fesm2020}/sk-front-lib-image.mjs +21 -21
  85. package/fesm2020/sk-front-lib-image.mjs.map +1 -0
  86. package/fesm2020/sk-front-lib-model.mjs +1110 -0
  87. package/fesm2020/sk-front-lib-model.mjs.map +1 -0
  88. package/{fesm2022 → fesm2020}/sk-front-lib-search-address.mjs +32 -32
  89. package/fesm2020/sk-front-lib-search-address.mjs.map +1 -0
  90. package/{fesm2022 → fesm2020}/sk-front-lib-uploader.mjs +49 -48
  91. package/fesm2020/sk-front-lib-uploader.mjs.map +1 -0
  92. package/fesm2020/sk-front-lib.mjs +538 -0
  93. package/fesm2020/sk-front-lib.mjs.map +1 -0
  94. package/google-analytics/services/google-analytics.service.d.ts +1 -2
  95. package/google-analytics/types/ga-action.type.d.ts +1 -1
  96. package/google-analytics/types/ga-bind.type.d.ts +1 -1
  97. package/image/sk-image.component.d.ts +2 -2
  98. package/image/sk-image.module.d.ts +3 -3
  99. package/model/lib/payment.d.ts +6 -1
  100. package/package.json +68 -46
  101. package/search-address/dialog/dialog.component.d.ts +1 -1
  102. package/search-address/sk-search-address.directive.d.ts +2 -2
  103. package/search-address/sk-search-address.module.d.ts +3 -3
  104. package/uploader/sk-uploader.component.d.ts +1 -1
  105. package/uploader/sk-uploader.directive.d.ts +2 -2
  106. package/uploader/sk-uploader.module.d.ts +5 -5
  107. package/esm2022/crud/sk-cart.service.mjs +0 -256
  108. package/esm2022/google-analytics/services/google-analytics.service.mjs +0 -223
  109. package/esm2022/image/sk-image.module.mjs +0 -40
  110. package/esm2022/model/lib/filetype.mjs +0 -179
  111. package/esm2022/model/lib/payment.mjs +0 -30
  112. package/esm2022/search-address/dialog/dialog.component.mjs +0 -27
  113. package/esm2022/search-address/sk-search-address.module.mjs +0 -47
  114. package/esm2022/uploader/sk-uploader.component.mjs +0 -119
  115. package/esm2022/uploader/sk-uploader.directive.mjs +0 -44
  116. package/esm2022/uploader/sk-uploader.module.mjs +0 -57
  117. package/fesm2022/sk-front-lib-crud.mjs.map +0 -1
  118. package/fesm2022/sk-front-lib-google-analytics.mjs.map +0 -1
  119. package/fesm2022/sk-front-lib-image.mjs.map +0 -1
  120. package/fesm2022/sk-front-lib-model.mjs.map +0 -1
  121. package/fesm2022/sk-front-lib-search-address.mjs.map +0 -1
  122. package/fesm2022/sk-front-lib-uploader.mjs.map +0 -1
  123. /package/{esm2022 → esm2020}/api/model/api-config.mjs +0 -0
  124. /package/{esm2022 → esm2020}/api/model/api-pageable-param.mjs +0 -0
  125. /package/{esm2022 → esm2020}/api/model/api-pageable.mjs +0 -0
  126. /package/{esm2022 → esm2020}/api/model/api-response.mjs +0 -0
  127. /package/{esm2022 → esm2020}/api/model/index.mjs +0 -0
  128. /package/{esm2022 → esm2020}/api/public_api.mjs +0 -0
  129. /package/{esm2022 → esm2020}/api/sk-front-lib-api.mjs +0 -0
  130. /package/{esm2022 → esm2020}/article/public_api.mjs +0 -0
  131. /package/{esm2022 → esm2020}/article/sk-front-lib-article.mjs +0 -0
  132. /package/{esm2022 → esm2020}/crud/public_api.mjs +0 -0
  133. /package/{esm2022 → esm2020}/crud/sk-front-lib-crud.mjs +0 -0
  134. /package/{esm2022 → esm2020}/google-analytics/initializers/google-analytics-router.initializer.mjs +0 -0
  135. /package/{esm2022 → esm2020}/google-analytics/initializers/google-analytics.initializer.mjs +0 -0
  136. /package/{esm2022 → esm2020}/google-analytics/interfaces/google-analytics-command.mjs +0 -0
  137. /package/{esm2022 → esm2020}/google-analytics/interfaces/google-analytics-settings.mjs +0 -0
  138. /package/{esm2022 → esm2020}/google-analytics/public_api.mjs +0 -0
  139. /package/{esm2022 → esm2020}/google-analytics/sk-front-lib-google-analytics.mjs +0 -0
  140. /package/{esm2022 → esm2020}/google-analytics/tokens/google-analytics-settings-token.mjs +0 -0
  141. /package/{esm2022 → esm2020}/google-analytics/types/ga-action.type.mjs +0 -0
  142. /package/{esm2022 → esm2020}/google-analytics/types/ga-bind.type.mjs +0 -0
  143. /package/{esm2022 → esm2020}/image/public_api.mjs +0 -0
  144. /package/{esm2022 → esm2020}/image/sk-front-lib-image.mjs +0 -0
  145. /package/{esm2022 → esm2020}/lib/sk-animations.mjs +0 -0
  146. /package/{esm2022 → esm2020}/lib/sk-utils.mjs +0 -0
  147. /package/{esm2022 → esm2020}/model/lib/article.mjs +0 -0
  148. /package/{esm2022 → esm2020}/model/lib/audit.mjs +0 -0
  149. /package/{esm2022 → esm2020}/model/lib/auth.mjs +0 -0
  150. /package/{esm2022 → esm2020}/model/lib/board.mjs +0 -0
  151. /package/{esm2022 → esm2020}/model/lib/cart.mjs +0 -0
  152. /package/{esm2022 → esm2020}/model/lib/comment.mjs +0 -0
  153. /package/{esm2022 → esm2020}/model/lib/contact.mjs +0 -0
  154. /package/{esm2022 → esm2020}/model/lib/coupon.mjs +0 -0
  155. /package/{esm2022 → esm2020}/model/lib/document.mjs +0 -0
  156. /package/{esm2022 → esm2020}/model/lib/etc.mjs +0 -0
  157. /package/{esm2022 → esm2020}/model/lib/file.mjs +0 -0
  158. /package/{esm2022 → esm2020}/model/lib/grid.mjs +0 -0
  159. /package/{esm2022 → esm2020}/model/lib/nicepay.mjs +0 -0
  160. /package/{esm2022 → esm2020}/model/lib/order.mjs +0 -0
  161. /package/{esm2022 → esm2020}/model/lib/point.mjs +0 -0
  162. /package/{esm2022 → esm2020}/model/lib/product-series.mjs +0 -0
  163. /package/{esm2022 → esm2020}/model/lib/product.mjs +0 -0
  164. /package/{esm2022 → esm2020}/model/lib/promotion.mjs +0 -0
  165. /package/{esm2022 → esm2020}/model/lib/shipping.mjs +0 -0
  166. /package/{esm2022 → esm2020}/model/lib/user.mjs +0 -0
  167. /package/{esm2022 → esm2020}/model/public_api.mjs +0 -0
  168. /package/{esm2022 → esm2020}/model/sk-front-lib-model.mjs +0 -0
  169. /package/{esm2022 → esm2020}/public-api.mjs +0 -0
  170. /package/{esm2022 → esm2020}/search-address/public_api.mjs +0 -0
  171. /package/{esm2022 → esm2020}/search-address/sk-front-lib-search-address.mjs +0 -0
  172. /package/{esm2022 → esm2020}/search-address/sk-search-address.model.mjs +0 -0
  173. /package/{esm2022 → esm2020}/sk-front-lib.mjs +0 -0
  174. /package/{esm2022 → esm2020}/uploader/public_api.mjs +0 -0
  175. /package/{esm2022 → esm2020}/uploader/sk-front-lib-uploader.mjs +0 -0
  176. /package/{esm2022 → esm2020}/uploader/sk-uploader-file-item.model.mjs +0 -0
  177. /package/{esm2022 → esm2020}/uploader/sk-uploader.animation.mjs +0 -0
  178. /package/{esm2022 → esm2020}/uploader/sk-uploader.class.mjs +0 -0
@@ -0,0 +1,334 @@
1
+ import { __awaiter } from 'tslib';
2
+ import * as i0 from '@angular/core';
3
+ import { InjectionToken, APP_INITIALIZER, PLATFORM_ID, isDevMode, Injectable, Inject, APP_BOOTSTRAP_LISTENER, NgModule } from '@angular/core';
4
+ import { isPlatformServer, CommonModule } from '@angular/common';
5
+ import { Router, NavigationEnd } from '@angular/router';
6
+
7
+ const SK_GOOGLE_ANALYTICS_SETTINGS_TOKEN = new InjectionToken('sk-google-analytics-setting', {
8
+ factory: () => ({ trackingCode: '' })
9
+ });
10
+
11
+ const SK_GOOGLE_ANALYTICS_INITIALIZER_PROVIDER = {
12
+ provide: APP_INITIALIZER,
13
+ multi: true,
14
+ useFactory: GoogleAnalyticsInitializer,
15
+ deps: [
16
+ SK_GOOGLE_ANALYTICS_SETTINGS_TOKEN,
17
+ PLATFORM_ID
18
+ ]
19
+ };
20
+ function GoogleAnalyticsInitializer(_settings, platform) {
21
+ return () => __awaiter(this, void 0, void 0, function* () {
22
+ if (!_settings.trackingCode) {
23
+ if (!isDevMode()) {
24
+ console.error('Empty tracking code for Google Analytics. Make sure to provide one when initializing SkGoogleAnalyticsModule.');
25
+ }
26
+ return;
27
+ }
28
+ if (isPlatformServer(platform)) {
29
+ return;
30
+ }
31
+ // Set default ga.js uri
32
+ _settings.uri = _settings.uri || `https://www.googletagmanager.com/gtag/js?id=${_settings.trackingCode}`;
33
+ // these commands should run first!
34
+ const initialCommands = [
35
+ { command: 'js', values: [new Date()] },
36
+ { command: 'config', values: [_settings.trackingCode] }
37
+ ];
38
+ _settings.initCommands = [...initialCommands, ...(_settings.initCommands || [])];
39
+ window['dataLayer'] = window['dataLayer'] || [];
40
+ window['gtag'] = window['gtag'] || function () {
41
+ window['dataLayer'].push(arguments);
42
+ };
43
+ for (const command of _settings.initCommands) {
44
+ window['gtag'](command.command, ...command.values);
45
+ }
46
+ const s = document.createElement('script');
47
+ s.async = true;
48
+ s.src = _settings.uri;
49
+ const head = document.getElementsByTagName('head')[0];
50
+ head.appendChild(s);
51
+ });
52
+ }
53
+
54
+ class SkGoogleAnalyticsService {
55
+ constructor(_trackingId) {
56
+ this._trackingId = _trackingId;
57
+ }
58
+ throw(err) {
59
+ if (console && console.error) {
60
+ console.error(err);
61
+ }
62
+ }
63
+ /**
64
+ * Call native GA Tag
65
+ *
66
+ * @param action config|event
67
+ * @param command Action specialization
68
+ * @param options Command configuration
69
+ */
70
+ gtag(action, command, ...options) {
71
+ try {
72
+ window['gtag'](action, command, ...options);
73
+ }
74
+ catch (err) {
75
+ this.throw(err);
76
+ }
77
+ }
78
+ /**
79
+ * Send an event trigger to GA. It is the same as call:
80
+ * ```js
81
+ * gtag('event', 'video_auto_play_start', {
82
+ * 'event_label': 'My promotional video',
83
+ * 'event_category': 'video_auto_play'
84
+ * });
85
+ * ```
86
+ *
87
+ * @param action 'video_auto_play_start'
88
+ * @param category 'video_auto_play'
89
+ * @param label 'My promotional video'
90
+ * @param value An value to measure something
91
+ */
92
+ event(action, category, label, value, interaction) {
93
+ try {
94
+ if (window['gtag']) {
95
+ const opt = {};
96
+ if (category) {
97
+ opt['event_category'] = category;
98
+ }
99
+ if (label) {
100
+ opt['event_label'] = label;
101
+ }
102
+ if (value) {
103
+ opt['value'] = value;
104
+ }
105
+ if (interaction !== undefined) {
106
+ opt['interaction'] = interaction;
107
+ }
108
+ this.gtag('event', action, opt);
109
+ }
110
+ }
111
+ catch (error) {
112
+ this.throw(error);
113
+ }
114
+ }
115
+ purchase(data) {
116
+ try {
117
+ if (window['gtag']) {
118
+ this.gtag('event', 'purchase', data);
119
+ }
120
+ }
121
+ catch (error) {
122
+ this.throw(error);
123
+ }
124
+ }
125
+ /**
126
+ * Send an page view event. This is the same as
127
+ *
128
+ * ```js
129
+ * gtag('config', 'GA_TRACKING_ID', {
130
+ * 'page_title' : 'Homepage',
131
+ * 'page_path': '/home'
132
+ * });
133
+ * ```
134
+ *
135
+ * The tracking ID is injected automatically by Inject Token NGX_GOOGLE_ANALYTICS_SETTINGS_TOKEN
136
+ *
137
+ * @param path /home
138
+ * @param title Homepage
139
+ * @param location '{ page_location }'
140
+ * @param options '{ ... custom dimentions }'
141
+ */
142
+ pageView(path, title, location, options) {
143
+ try {
144
+ if (window['gtag']) {
145
+ const opt = {};
146
+ if (path) {
147
+ opt['page_path'] = path;
148
+ }
149
+ if (title) {
150
+ opt['page_title'] = title;
151
+ }
152
+ if (location) {
153
+ opt['page_location'] = location;
154
+ }
155
+ if (options) {
156
+ Object.assign(opt, options);
157
+ }
158
+ this.gtag('config', this._trackingId.trackingCode, opt);
159
+ }
160
+ }
161
+ catch (error) {
162
+ this.throw(error);
163
+ }
164
+ }
165
+ /**
166
+ * Send an evento to report a App Page View. It is the same as
167
+ *
168
+ * ```js
169
+ * gtag('event', 'screen_view', {
170
+ * 'app_name': 'myAppName',
171
+ * 'screen_name' : 'Home'
172
+ * });
173
+ *
174
+ * ```
175
+ *
176
+ * @param screen 'screen_name'
177
+ * @param name 'app_name'
178
+ * @param appId 'app_id'
179
+ * @param appVersion 'app_version'
180
+ * @param installerId 'app_installer_id'
181
+ */
182
+ appView(screen, appName, appId, appVersion, installerId) {
183
+ try {
184
+ if (window['gtag']) {
185
+ const opt = {};
186
+ if (screen) {
187
+ opt['screen_name'] = screen;
188
+ }
189
+ if (appName) {
190
+ opt['app_name'] = appName;
191
+ }
192
+ if (appId) {
193
+ opt['app_id'] = appId;
194
+ }
195
+ if (appVersion) {
196
+ opt['app_version'] = appVersion;
197
+ }
198
+ if (installerId) {
199
+ opt['app_installer_id'] = installerId;
200
+ }
201
+ this.gtag('event', 'screen_view', opt);
202
+ }
203
+ }
204
+ catch (error) {
205
+ this.throw(error);
206
+ }
207
+ }
208
+ /**
209
+ * Send an event to GA to report an application error. It is the same as
210
+ *
211
+ * ```js
212
+ * gtag('event', 'exception', {
213
+ * 'description': 'error_description',
214
+ * 'fatal': false // set to true if the error is fatal
215
+ * });
216
+ * ```
217
+ *
218
+ * @param description 'error_description'
219
+ * @param fatal set to true if the error is fatal
220
+ */
221
+ exception(description, fatal) {
222
+ try {
223
+ if (window['gtag']) {
224
+ const opt = {};
225
+ if (description) {
226
+ opt['description'] = description;
227
+ }
228
+ if (fatal) {
229
+ opt['fatal'] = fatal;
230
+ }
231
+ this.gtag('event', 'exception', opt);
232
+ }
233
+ }
234
+ catch (error) {
235
+ this.throw(error);
236
+ }
237
+ }
238
+ }
239
+ 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 });
240
+ SkGoogleAnalyticsService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: SkGoogleAnalyticsService, providedIn: 'root' });
241
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: SkGoogleAnalyticsService, decorators: [{
242
+ type: Injectable,
243
+ args: [{
244
+ providedIn: 'root'
245
+ }]
246
+ }], ctorParameters: function () {
247
+ return [{ type: undefined, decorators: [{
248
+ type: Inject,
249
+ args: [SK_GOOGLE_ANALYTICS_SETTINGS_TOKEN]
250
+ }] }];
251
+ } });
252
+
253
+ const SK_GOOGLE_ANALYTICS_ROUTER_INITIALIZER_PROVIDER = {
254
+ provide: APP_BOOTSTRAP_LISTENER,
255
+ multi: true,
256
+ useFactory: GoogleAnalyticsRouterInitializer,
257
+ deps: [
258
+ SkGoogleAnalyticsService,
259
+ Router
260
+ ]
261
+ };
262
+ function GoogleAnalyticsRouterInitializer(_googleAnalyticsService, _router) {
263
+ return (c) => __awaiter(this, void 0, void 0, function* () {
264
+ _router
265
+ .events
266
+ .subscribe(event => {
267
+ if (event instanceof NavigationEnd) {
268
+ _googleAnalyticsService.pageView(event.urlAfterRedirects, undefined, document.location.href);
269
+ }
270
+ });
271
+ });
272
+ }
273
+
274
+ class SkGoogleAnalyticsModule {
275
+ static forRoot(trackingCode, commands = [], uri) {
276
+ return {
277
+ ngModule: SkGoogleAnalyticsModule,
278
+ providers: [
279
+ {
280
+ provide: SK_GOOGLE_ANALYTICS_SETTINGS_TOKEN,
281
+ useValue: {
282
+ trackingCode,
283
+ commands,
284
+ uri
285
+ }
286
+ },
287
+ SK_GOOGLE_ANALYTICS_INITIALIZER_PROVIDER,
288
+ ]
289
+ };
290
+ }
291
+ }
292
+ SkGoogleAnalyticsModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: SkGoogleAnalyticsModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
293
+ SkGoogleAnalyticsModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.2.10", ngImport: i0, type: SkGoogleAnalyticsModule, imports: [CommonModule] });
294
+ SkGoogleAnalyticsModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: SkGoogleAnalyticsModule, imports: [CommonModule] });
295
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: SkGoogleAnalyticsModule, decorators: [{
296
+ type: NgModule,
297
+ args: [{
298
+ imports: [
299
+ CommonModule,
300
+ ],
301
+ declarations: [],
302
+ exports: []
303
+ }]
304
+ }] });
305
+
306
+ class SkGoogleAnalyticsRouterModule {
307
+ }
308
+ SkGoogleAnalyticsRouterModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: SkGoogleAnalyticsRouterModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
309
+ SkGoogleAnalyticsRouterModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.2.10", ngImport: i0, type: SkGoogleAnalyticsRouterModule, imports: [CommonModule,
310
+ SkGoogleAnalyticsModule] });
311
+ SkGoogleAnalyticsRouterModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: SkGoogleAnalyticsRouterModule, providers: [
312
+ SK_GOOGLE_ANALYTICS_ROUTER_INITIALIZER_PROVIDER
313
+ ], imports: [CommonModule,
314
+ SkGoogleAnalyticsModule] });
315
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: SkGoogleAnalyticsRouterModule, decorators: [{
316
+ type: NgModule,
317
+ args: [{
318
+ imports: [
319
+ CommonModule,
320
+ SkGoogleAnalyticsModule
321
+ ],
322
+ providers: [
323
+ SK_GOOGLE_ANALYTICS_ROUTER_INITIALIZER_PROVIDER
324
+ ],
325
+ declarations: []
326
+ }]
327
+ }] });
328
+
329
+ /**
330
+ * Generated bundle index. Do not edit.
331
+ */
332
+
333
+ export { GoogleAnalyticsInitializer, GoogleAnalyticsRouterInitializer, SK_GOOGLE_ANALYTICS_INITIALIZER_PROVIDER, SK_GOOGLE_ANALYTICS_ROUTER_INITIALIZER_PROVIDER, SK_GOOGLE_ANALYTICS_SETTINGS_TOKEN, SkGoogleAnalyticsModule, SkGoogleAnalyticsRouterModule, SkGoogleAnalyticsService };
334
+ //# sourceMappingURL=sk-front-lib-google-analytics.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sk-front-lib-google-analytics.mjs","sources":["../../../projects/sk-front-lib/google-analytics/src/tokens/google-analytics-settings-token.ts","../../../projects/sk-front-lib/google-analytics/src/initializers/google-analytics.initializer.ts","../../../projects/sk-front-lib/google-analytics/src/services/google-analytics.service.ts","../../../projects/sk-front-lib/google-analytics/src/initializers/google-analytics-router.initializer.ts","../../../projects/sk-front-lib/google-analytics/src/google-analytics.module.ts","../../../projects/sk-front-lib/google-analytics/src/google-analytics-router.module.ts","../../../projects/sk-front-lib/google-analytics/src/sk-front-lib-google-analytics.ts"],"sourcesContent":["import { InjectionToken } from '@angular/core';\nimport {ISkGoogleAnalyticsSettings} from \"../interfaces/google-analytics-settings\";\n\nexport const SK_GOOGLE_ANALYTICS_SETTINGS_TOKEN = new InjectionToken<ISkGoogleAnalyticsSettings>('sk-google-analytics-setting', {\n factory: () => ({ trackingCode: '' })\n});\n","import {APP_INITIALIZER, Inject, isDevMode, PLATFORM_ID, Provider} from \"@angular/core\";\nimport {ISkGoogleAnalyticsSettings} from \"../interfaces/google-analytics-settings\";\nimport {SK_GOOGLE_ANALYTICS_SETTINGS_TOKEN} from \"../tokens/google-analytics-settings-token\";\nimport {ISkGoogleAnalyticsCommand} from \"../interfaces/google-analytics-command\";\nimport {isPlatformServer} from \"@angular/common\";\n\nexport const SK_GOOGLE_ANALYTICS_INITIALIZER_PROVIDER: Provider = {\n provide: APP_INITIALIZER,\n multi: true,\n useFactory: GoogleAnalyticsInitializer,\n deps: [\n SK_GOOGLE_ANALYTICS_SETTINGS_TOKEN,\n PLATFORM_ID\n ]\n};\n\nexport function GoogleAnalyticsInitializer(_settings: ISkGoogleAnalyticsSettings,\n platform: Object) {\n return async () => {\n if (!_settings.trackingCode) {\n if (!isDevMode()) {\n console.error('Empty tracking code for Google Analytics. Make sure to provide one when initializing SkGoogleAnalyticsModule.');\n }\n\n return;\n }\n\n if (isPlatformServer(platform)) {\n return;\n }\n\n // Set default ga.js uri\n _settings.uri = _settings.uri || `https://www.googletagmanager.com/gtag/js?id=${_settings.trackingCode}`;\n\n // these commands should run first!\n const initialCommands: Array<ISkGoogleAnalyticsCommand> = [\n {command: 'js', values: [new Date()]},\n {command: 'config', values: [_settings.trackingCode]}\n ];\n\n _settings.initCommands = [...initialCommands, ...(_settings.initCommands || [])];\n\n window['dataLayer'] = window['dataLayer'] || [];\n window['gtag'] = window['gtag'] || function () {\n window['dataLayer'].push(arguments);\n };\n\n for (const command of _settings.initCommands) {\n window['gtag'](command.command, ...command.values);\n }\n\n const s: HTMLScriptElement = document.createElement('script');\n s.async = true;\n s.src = _settings.uri;\n\n const head: HTMLHeadElement = document.getElementsByTagName('head')[0];\n head.appendChild(s);\n };\n}\n","import {Injectable, Inject} from '@angular/core';\nimport {SK_GOOGLE_ANALYTICS_SETTINGS_TOKEN} from \"../tokens/google-analytics-settings-token\";\nimport {ISkGoogleAnalyticsSettings} from \"../interfaces/google-analytics-settings\";\nimport {GaAction} from \"../types/ga-action.type\";\n\n@Injectable({\n providedIn: 'root'\n})\nexport class SkGoogleAnalyticsService {\n\n constructor(@Inject(SK_GOOGLE_ANALYTICS_SETTINGS_TOKEN) protected _trackingId: ISkGoogleAnalyticsSettings) {\n }\n\n protected throw(err: Error) {\n if (console && console.error) {\n console.error(err);\n }\n }\n\n /**\n * Call native GA Tag\n *\n * @param action config|event\n * @param command Action specialization\n * @param options Command configuration\n */\n gtag(action: string, command: string, ...options: Array<any>) {\n try {\n window['gtag'](action, command, ...options);\n } catch (err) {\n this.throw(err);\n }\n }\n\n /**\n * Send an event trigger to GA. It is the same as call:\n * ```js\n * gtag('event', 'video_auto_play_start', {\n * 'event_label': 'My promotional video',\n * 'event_category': 'video_auto_play'\n * });\n * ```\n *\n * @param action 'video_auto_play_start'\n * @param category 'video_auto_play'\n * @param label 'My promotional video'\n * @param value An value to measure something\n */\n event(action: GaAction | string, category?: string, label?: string, value?: number, interaction?: boolean) {\n try {\n if (window['gtag']) {\n const opt = {};\n if (category) {\n opt['event_category'] = category;\n }\n if (label) {\n opt['event_label'] = label;\n }\n if (value) {\n opt['value'] = value;\n }\n if (interaction !== undefined) {\n opt['interaction'] = interaction;\n }\n this.gtag('event', action as string, opt);\n }\n } catch (error) {\n this.throw(error);\n }\n }\n\n purchase(data) {\n try {\n if (window['gtag']) {\n this.gtag('event', 'purchase', data);\n }\n } catch (error) {\n this.throw(error);\n }\n }\n\n /**\n * Send an page view event. This is the same as\n *\n * ```js\n * gtag('config', 'GA_TRACKING_ID', {\n * 'page_title' : 'Homepage',\n * 'page_path': '/home'\n * });\n * ```\n *\n * The tracking ID is injected automatically by Inject Token NGX_GOOGLE_ANALYTICS_SETTINGS_TOKEN\n *\n * @param path /home\n * @param title Homepage\n * @param location '{ page_location }'\n * @param options '{ ... custom dimentions }'\n */\n pageView(path?: string, title?: string, location?: string, options?: Object) {\n try {\n if (window['gtag']) {\n const opt = {};\n if (path) {\n opt['page_path'] = path;\n }\n if (title) {\n opt['page_title'] = title;\n }\n if (location) {\n opt['page_location'] = location;\n }\n if (options) {\n Object.assign(opt, options);\n }\n this.gtag('config', this._trackingId.trackingCode, opt);\n }\n } catch (error) {\n this.throw(error);\n }\n }\n\n /**\n * Send an evento to report a App Page View. It is the same as\n *\n * ```js\n * gtag('event', 'screen_view', {\n * 'app_name': 'myAppName',\n * 'screen_name' : 'Home'\n * });\n *\n * ```\n *\n * @param screen 'screen_name'\n * @param name 'app_name'\n * @param appId 'app_id'\n * @param appVersion 'app_version'\n * @param installerId 'app_installer_id'\n */\n appView(screen: string, appName: string, appId?: string, appVersion?: string, installerId?: string) {\n try {\n if (window['gtag']) {\n const opt = {};\n if (screen) {\n opt['screen_name'] = screen;\n }\n if (appName) {\n opt['app_name'] = appName;\n }\n if (appId) {\n opt['app_id'] = appId;\n }\n if (appVersion) {\n opt['app_version'] = appVersion;\n }\n if (installerId) {\n opt['app_installer_id'] = installerId;\n }\n this.gtag('event', 'screen_view', opt);\n }\n } catch (error) {\n this.throw(error);\n }\n }\n\n /**\n * Send an event to GA to report an application error. It is the same as\n *\n * ```js\n * gtag('event', 'exception', {\n * 'description': 'error_description',\n * 'fatal': false // set to true if the error is fatal\n * });\n * ```\n *\n * @param description 'error_description'\n * @param fatal set to true if the error is fatal\n */\n exception(description?: string, fatal?: boolean) {\n try {\n if (window['gtag']) {\n const opt = {};\n if (description) {\n opt['description'] = description;\n }\n if (fatal) {\n opt['fatal'] = fatal;\n }\n this.gtag('event', 'exception', opt);\n }\n } catch (error) {\n this.throw(error);\n }\n }\n}\n","import {APP_BOOTSTRAP_LISTENER, ComponentRef, Provider} from \"@angular/core\";\nimport {NavigationEnd, Router} from \"@angular/router\";\nimport {SkGoogleAnalyticsService} from \"../services/google-analytics.service\";\n\nexport const SK_GOOGLE_ANALYTICS_ROUTER_INITIALIZER_PROVIDER: Provider = {\n provide: APP_BOOTSTRAP_LISTENER,\n multi: true,\n useFactory: GoogleAnalyticsRouterInitializer,\n deps: [\n SkGoogleAnalyticsService,\n Router\n ]\n};\n\nexport function GoogleAnalyticsRouterInitializer(\n _googleAnalyticsService: SkGoogleAnalyticsService,\n _router: Router\n) {\n return async (c: ComponentRef<any>) => {\n _router\n .events\n .subscribe(event => {\n if (event instanceof NavigationEnd) {\n _googleAnalyticsService.pageView(event.urlAfterRedirects, undefined, document.location.href);\n }\n });\n };\n}\n","import { ModuleWithProviders, NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { SK_GOOGLE_ANALYTICS_SETTINGS_TOKEN } from './tokens/google-analytics-settings-token';\nimport { ISkGoogleAnalyticsCommand } from './interfaces/google-analytics-command';\nimport { SK_GOOGLE_ANALYTICS_INITIALIZER_PROVIDER } from './initializers/google-analytics.initializer';\n\n@NgModule({\n imports: [\n CommonModule,\n ],\n declarations: [],\n exports: []\n})\nexport class SkGoogleAnalyticsModule {\n static forRoot(trackingCode: string, commands: ISkGoogleAnalyticsCommand[] = [], uri?: string): ModuleWithProviders<SkGoogleAnalyticsModule> {\n return {\n ngModule: SkGoogleAnalyticsModule,\n providers: [\n {\n provide: SK_GOOGLE_ANALYTICS_SETTINGS_TOKEN,\n useValue: {\n trackingCode,\n commands,\n uri\n }\n },\n SK_GOOGLE_ANALYTICS_INITIALIZER_PROVIDER,\n ]\n };\n }\n}\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { SkGoogleAnalyticsModule } from './google-analytics.module';\nimport { SK_GOOGLE_ANALYTICS_ROUTER_INITIALIZER_PROVIDER } from './initializers/google-analytics-router.initializer';\n\n@NgModule({\n imports: [\n CommonModule,\n SkGoogleAnalyticsModule\n ],\n providers: [\n SK_GOOGLE_ANALYTICS_ROUTER_INITIALIZER_PROVIDER\n ],\n declarations: []\n})\nexport class SkGoogleAnalyticsRouterModule {\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":[],"mappings":"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"}