sk-front-lib 0.15.11 → 0.16.2

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