inviton-powerduck 0.0.115 → 0.0.116

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 (333) hide show
  1. package/app/powerduck-initializer.ts +49 -50
  2. package/app/powerduck-state.ts +182 -180
  3. package/app/powerduck-system-resources.ts +86 -86
  4. package/app/vuestsx-extended.ts +5 -5
  5. package/app/vuetsx.ts +95 -93
  6. package/common/IWebClient.ts +11 -11
  7. package/common/ajax-xhr.ts +121 -121
  8. package/common/api-http.ts +804 -908
  9. package/common/base-component.tsx +315 -338
  10. package/common/cdn-webpack-shim.ts +5 -5
  11. package/common/country-iso-mapping.ts +249 -249
  12. package/common/css/dialog-utils.css +3 -3
  13. package/common/css/ladda-themeless-zoomin.min.css +89 -89
  14. package/common/date-wrapper.ts +360 -422
  15. package/common/dialog-utils.ts +529 -603
  16. package/common/enum-translation/bool-translator.ts +11 -11
  17. package/common/enum-translation/currency-code-translator.ts +20 -20
  18. package/common/enum-translation/day-translator.ts +27 -31
  19. package/common/enum-translation/language-translator.ts +8 -8
  20. package/common/enums/api.ts +4 -4
  21. package/common/enums/currency.ts +7 -7
  22. package/common/enums/day.ts +9 -9
  23. package/common/enums/dialog-icons.ts +32 -32
  24. package/common/enums/language.ts +9 -9
  25. package/common/enums/menu.ts +5 -4
  26. package/common/enums/modal.ts +4 -4
  27. package/common/excel/excel-js-provider.ts +113 -117
  28. package/common/excel/excel-reader.ts +67 -74
  29. package/common/external-barcode-scanner.ts +334 -334
  30. package/common/history-extended.ts +234 -265
  31. package/common/history-handler.ts +153 -183
  32. package/common/json-column-utils.ts +14 -14
  33. package/common/keyboard-open-tracker.ts +44 -40
  34. package/common/ladda-lite.ts +396 -416
  35. package/common/local-storage-shim.ts +132 -136
  36. package/common/localized-text.ts +21 -21
  37. package/common/localized-value-helper.ts +54 -54
  38. package/common/path-resolver.ts +17 -17
  39. package/common/query-string-utils.ts +60 -60
  40. package/common/resource-helper.ts +86 -79
  41. package/common/scroll-utils.ts +87 -103
  42. package/common/set-current-url.ts +38 -38
  43. package/common/slot-name-identifier.ts +3 -3
  44. package/common/slot-unwrapper.ts +26 -24
  45. package/common/static-wrappers/interfaces/validation-interface.ts +28 -24
  46. package/common/timezone-helper.ts +75 -84
  47. package/common/utils/array-extend.ts +169 -206
  48. package/common/utils/array-remove.ts +12 -10
  49. package/common/utils/array-sort.ts +54 -56
  50. package/common/utils/base/country-utils-base.ts +84 -1340
  51. package/common/utils/broswer-image-compression.ts +31 -32
  52. package/common/utils/capitalize-string.ts +11 -11
  53. package/common/utils/checkbox-utils.ts +56 -60
  54. package/common/utils/clipboard-provider.ts +106 -107
  55. package/common/utils/cookie.ts +54 -62
  56. package/common/utils/country-utils.ts +38 -37
  57. package/common/utils/currency-utils.ts +19 -26
  58. package/common/utils/date-localization-utils.ts +165 -230
  59. package/common/utils/date-utils.ts +355 -350
  60. package/common/utils/domain-helper.ts +63 -72
  61. package/common/utils/dropdown-utils.ts +69 -80
  62. package/common/utils/esmodule-import-helper.ts +9 -9
  63. package/common/utils/file-helper.ts +18 -18
  64. package/common/utils/flags-enum.ts +54 -58
  65. package/common/utils/form-utils.ts +45 -49
  66. package/common/utils/format-string.ts +13 -12
  67. package/common/utils/is-null-or-empty.ts +7 -5
  68. package/common/utils/language-utils.ts +135 -142
  69. package/common/utils/latinize-string.ts +8 -7
  70. package/common/utils/string-utils.ts +38 -42
  71. package/common/utils/upload-image-helper.ts +43 -47
  72. package/common/utils/utils.ts +426 -429
  73. package/common/validation.ts +261 -261
  74. package/components/accordion/accordion-page.tsx +29 -29
  75. package/components/accordion/accordion.tsx +136 -136
  76. package/components/accordion/css/accordion.css +62 -62
  77. package/components/alert/alert-layout.ts +10 -10
  78. package/components/alert/alert.tsx +46 -46
  79. package/components/app/breadcrumb.ts +5 -5
  80. package/components/app/css/navmenu.css +4 -4
  81. package/components/app/dynamic-component-container.tsx +89 -87
  82. package/components/app/dynamic-component-contracts.ts +13 -13
  83. package/components/app/menu.ts +13 -13
  84. package/components/app/navigation-guard.ts +64 -66
  85. package/components/app/root-dynamic-component-container.tsx +34 -34
  86. package/components/app/vue-plugin-jsxtransform.ts +32 -38
  87. package/components/app/vue-plugin-toplevelpage.ts +33 -33
  88. package/components/bootstrap-toggle/css/bootstrap-toggle.css +228 -228
  89. package/components/bootstrap-toggle/index.tsx +190 -190
  90. package/components/button/button-layout.ts +55 -55
  91. package/components/button/button-message-container.tsx +30 -30
  92. package/components/button/button.tsx +126 -126
  93. package/components/button/css/button-message-container.css +13 -13
  94. package/components/button/excel-upload-button.tsx +59 -59
  95. package/components/button/ladda-button.tsx +65 -66
  96. package/components/button/social-button.tsx +26 -27
  97. package/components/button/text-button.tsx +66 -64
  98. package/components/button/upload-button.tsx +180 -188
  99. package/components/card/card-body.tsx +13 -14
  100. package/components/card/card-header-with-options.tsx +58 -66
  101. package/components/card/card-header.tsx +34 -40
  102. package/components/card/card.tsx +76 -76
  103. package/components/card/css/card-header-with-options.css +11 -11
  104. package/components/card/image-card.tsx +85 -85
  105. package/components/chart-js/bar-chart.tsx +212 -223
  106. package/components/chart-js/css/line-chart-flot.css +7 -7
  107. package/components/chart-js/css/pie-chart.css +55 -55
  108. package/components/chart-js/line-chart-flot.tsx +319 -359
  109. package/components/chart-js/line-chart.tsx +216 -216
  110. package/components/chart-js/pie-chart.tsx +210 -217
  111. package/components/chart-js/plot.tsx +209 -220
  112. package/components/chart-js/thirdparty/flot/jquery.flot-patched.js +3216 -3953
  113. package/components/chart-js/thirdparty/flot/jquery.flot.categories.js +180 -214
  114. package/components/chart-js/thirdparty/flot/jquery.flot.categories.min.js +93 -93
  115. package/components/chart-js/thirdparty/flot/jquery.flot.crosshair.js +170 -175
  116. package/components/chart-js/thirdparty/flot/jquery.flot.crosshair.min.js +83 -83
  117. package/components/chart-js/thirdparty/flot/jquery.flot.navigate.js +438 -529
  118. package/components/chart-js/thirdparty/flot/jquery.flot.navigate.min.js +270 -270
  119. package/components/chart-js/thirdparty/flot/jquery.flot.pie.js +808 -960
  120. package/components/chart-js/thirdparty/flot/jquery.flot.pie.min.js +507 -507
  121. package/components/chart-js/thirdparty/flot/jquery.flot.resize.js +177 -187
  122. package/components/chart-js/thirdparty/flot/jquery.flot.resize.min.js +147 -147
  123. package/components/chart-js/thirdparty/flot/jquery.flot.stack.js +176 -180
  124. package/components/chart-js/thirdparty/flot/jquery.flot.stack.min.js +104 -104
  125. package/components/chart-js/ts/color-helper.ts +104 -186
  126. package/components/chart-js/ts/line-chart-contracts.ts +35 -35
  127. package/components/chart-js/ts/utils.ts +11 -11
  128. package/components/chart-js/utils.ts +11 -11
  129. package/components/collapse/index.tsx +43 -44
  130. package/components/container-with-breakpoints/index.tsx +40 -38
  131. package/components/container-with-breakpoints/ts/breakpoint-handler.ts +68 -68
  132. package/components/contenteditable/index.tsx +54 -55
  133. package/components/context-menu/context-menu-binder.ts +47 -47
  134. package/components/context-menu/context-menu.tsx +23 -24
  135. package/components/counter/fetchdata.tsx +95 -95
  136. package/components/counter/index.tsx +101 -138
  137. package/components/counter/testall.tsx +493 -523
  138. package/components/datatable/col-vis-modal.tsx +63 -62
  139. package/components/datatable/css/datatable.css +997 -1038
  140. package/components/datatable/css/reorder.css +18 -18
  141. package/components/datatable/datatable-static.tsx +131 -133
  142. package/components/datatable/datatable.tsx +2342 -2466
  143. package/components/datatable/export-excel-modal.tsx +202 -227
  144. package/components/datatable/filter-modal.tsx +172 -184
  145. package/components/datatable/ts/reorder.ts +180 -183
  146. package/components/datatable/upper-buttons-wrapper.tsx +43 -43
  147. package/components/dropdown/country-dropdown.tsx +154 -153
  148. package/components/dropdown/css/dropdown.css +142 -147
  149. package/components/dropdown/css/image-dropdown.css +85 -85
  150. package/components/dropdown/currency-code-picker.tsx +61 -61
  151. package/components/dropdown/image-dropdown.tsx +241 -246
  152. package/components/dropdown/index.tsx +1209 -1222
  153. package/components/dropdown/language-dropdown.tsx +82 -78
  154. package/components/dropdown/language-picker.tsx +75 -72
  155. package/components/dropdown/mobile/legacy_fdd.css +541 -538
  156. package/components/dropdown/mobile/legacy_fdd.ts +559 -546
  157. package/components/dropdown/mobile/legacy_lvb.ts +360 -365
  158. package/components/dropdown/timezone-picker.tsx +293 -293
  159. package/components/dropdown/ts/select2-multi-checkboxes.ts +256 -262
  160. package/components/dropdown-button/css/dropdown-button.css +43 -43
  161. package/components/dropdown-button/dropdown-button-element.tsx +79 -80
  162. package/components/dropdown-button/dropdown-button-heading.tsx +17 -18
  163. package/components/dropdown-button/dropdown-button-item.tsx +96 -96
  164. package/components/dropdown-button/dropdown-button-separator.tsx +13 -14
  165. package/components/dropdown-button/dropdown-button.tsx +97 -96
  166. package/components/dropdown-button/language-dropdown-button.tsx +54 -56
  167. package/components/dropzone/css/gallery-dropzone.css +38 -38
  168. package/components/dropzone/gallery-dropzone.tsx +370 -412
  169. package/components/file-downloader/index.tsx +266 -276
  170. package/components/form/css/fieldset.css +83 -83
  171. package/components/form/css/flex.css +119 -118
  172. package/components/form/css/form-item-wrapper.css +36 -36
  173. package/components/form/css/separator.css +22 -22
  174. package/components/form/fieldset.tsx +95 -97
  175. package/components/form/flex-container.tsx +40 -40
  176. package/components/form/footer-buttons.tsx +17 -18
  177. package/components/form/form-item-flex.tsx +43 -43
  178. package/components/form/form-item-wrapper.tsx +259 -255
  179. package/components/form/form.tsx +13 -14
  180. package/components/form/multiple-input-wrapper.tsx +114 -115
  181. package/components/form/separator.tsx +19 -19
  182. package/components/form/validation-result-displayer.tsx +36 -36
  183. package/components/fullcalendar/css/fullcalendar.css +102 -102
  184. package/components/fullcalendar/fullcalendar-draggable-event.tsx +86 -86
  185. package/components/fullcalendar/timegrid-calendar.tsx +500 -534
  186. package/components/google/maps.tsx +157 -157
  187. package/components/google/places-autocomplete.tsx +329 -329
  188. package/components/google/ts/google-maps-api.ts +47 -47
  189. package/components/highlight-js/index.tsx +63 -63
  190. package/components/home/index.tsx +49 -79
  191. package/components/html-literal/html-literal.tsx +25 -28
  192. package/components/image-crop/css/image-cropping-modal.css +3 -3
  193. package/components/image-crop/image-cropping-modal.tsx +312 -337
  194. package/components/image-crop/upload-and-crop.tsx +179 -181
  195. package/components/image-crop/vendor/jcrop.js +2797 -3270
  196. package/components/image-crop/vendor/jquery.Jcrop.css +372 -372
  197. package/components/image-crop/vendor/jquery.Jcrop.min.css +344 -344
  198. package/components/import/css/import-mapper.css +48 -47
  199. package/components/import/import-mapper.tsx +231 -231
  200. package/components/input/checkbox-without-label.tsx +66 -67
  201. package/components/input/checkbox.tsx +152 -154
  202. package/components/input/color-picker.tsx +81 -81
  203. package/components/input/css/checkbox-without-label.css +20 -20
  204. package/components/input/css/color-picker.css +8 -8
  205. package/components/input/css/daterange-picker.css +36 -36
  206. package/components/input/css/image-upload.css +73 -73
  207. package/components/input/css/input-spinner.css +24 -24
  208. package/components/input/css/localized-string-input.css +97 -97
  209. package/components/input/css/pin.css +32 -32
  210. package/components/input/css/radio-button-group.css +3 -3
  211. package/components/input/css/wysiwig.css +54 -54
  212. package/components/input/currency-input.tsx +173 -177
  213. package/components/input/daterange-picker.tsx +514 -528
  214. package/components/input/datetime-picker.tsx +335 -362
  215. package/components/input/geo-json.tsx +57 -56
  216. package/components/input/gps-input.tsx +121 -121
  217. package/components/input/image-upload.tsx +112 -117
  218. package/components/input/localized-info-input.tsx +129 -144
  219. package/components/input/localized-string-input.tsx +263 -269
  220. package/components/input/localized-string-textarea.tsx +121 -122
  221. package/components/input/localized-string-wysiwyg.tsx +121 -122
  222. package/components/input/localized-url-input.tsx +357 -364
  223. package/components/input/numeric-input.tsx +212 -213
  224. package/components/input/pin-input.tsx +146 -146
  225. package/components/input/plugins/currency-editor/api.ts +53 -53
  226. package/components/input/plugins/currency-editor/currency-editor.ts +325 -344
  227. package/components/input/plugins/currency-editor/currency-format.ts +160 -171
  228. package/components/input/plugins/currency-editor/inputMask.ts +92 -97
  229. package/components/input/plugins/currency-editor/utils.ts +15 -7
  230. package/components/input/plugins/daterangepicker/daterangepicker-config.ts +3 -3
  231. package/components/input/plugins/daterangepicker/daterangepicker.css +631 -628
  232. package/components/input/plugins/daterangepicker/daterangepicker.min.css +400 -400
  233. package/components/input/plugins/daterangepicker/jquery.daterangepicker.min.js +1903 -1903
  234. package/components/input/plugins/daterangepicker/jquery.daterangepicker.ts +2054 -2268
  235. package/components/input/plugins/trumbowyg/custom-cleanpaste.ts +105 -107
  236. package/components/input/plugins/trumbowyg/custom-colors.ts +278 -286
  237. package/components/input/plugins/trumbowyg/custom-upload.ts +325 -342
  238. package/components/input/plugins/trumbowyg/lang/cs.ts +56 -56
  239. package/components/input/plugins/trumbowyg/lang/de.ts +59 -59
  240. package/components/input/plugins/trumbowyg/lang/sk.ts +64 -62
  241. package/components/input/plugins/trumbowyg/modal-issues-fix.ts +141 -147
  242. package/components/input/plugins/trumbowyg/wysiwyg-config.ts +55 -54
  243. package/components/input/radio-button-group.tsx +248 -252
  244. package/components/input/textarea.tsx +82 -83
  245. package/components/input/textbox-without-label.tsx +110 -110
  246. package/components/input/textbox.tsx +158 -161
  247. package/components/input/ts/bootstrapInputSpinner.ts +384 -403
  248. package/components/input/ts/dateInputHelper.ts +123 -130
  249. package/components/input/video-urls.tsx +203 -202
  250. package/components/input/wysiwig.tsx +592 -687
  251. package/components/lightbox/css/lightbox.css +11 -11
  252. package/components/lightbox/index.tsx +110 -111
  253. package/components/loading-indicator/index.tsx +40 -40
  254. package/components/long-content-container/css/index.css +68 -68
  255. package/components/long-content-container/index.tsx +102 -104
  256. package/components/memory-cache/index.ts +45 -43
  257. package/components/mobile-optimized-hero-filter/css/mobile-optimized-hero-filter.css +132 -131
  258. package/components/mobile-optimized-hero-filter/index.tsx +126 -126
  259. package/components/modal/animation-error.tsx +30 -30
  260. package/components/modal/animation-success.tsx +32 -32
  261. package/components/modal/css/file-manager-dialog.css +20 -20
  262. package/components/modal/css/modal.css +62 -61
  263. package/components/modal/icon-question.tsx +27 -27
  264. package/components/modal/icon-warning.tsx +27 -27
  265. package/components/modal/modal-body.tsx +17 -18
  266. package/components/modal/modal-footer.tsx +13 -14
  267. package/components/modal/modal-utils.ts +140 -141
  268. package/components/modal/modal.tsx +182 -183
  269. package/components/modal/ts/file-manager-dialog.ts +96 -96
  270. package/components/modal-wrap/css/modal-section-wrapper.css +4 -4
  271. package/components/modal-wrap/css/modal-subtitle.css +13 -13
  272. package/components/modal-wrap/modal-section-wrapper.tsx +65 -64
  273. package/components/modal-wrap/modal-section.tsx +45 -44
  274. package/components/modal-wrap/modal-subtitle.tsx +19 -19
  275. package/components/modal-wrap/modal-wrapper-helper.ts +13 -13
  276. package/components/open-street-map/css/open-street-map.css +72 -71
  277. package/components/open-street-map/open-street-map.tsx +279 -292
  278. package/components/open-street-map/ts/gesture-handling/css/leaflet-gesture-handling.scss +72 -71
  279. package/components/open-street-map/ts/gesture-handling/gesture-handling.ts +328 -353
  280. package/components/parallax/css/parallax.css +18 -18
  281. package/components/parallax/parallax-background.tsx +27 -27
  282. package/components/parallax/parallax-container.tsx +37 -37
  283. package/components/parallax/parallax-content.tsx +23 -23
  284. package/components/photos/photo-manager.tsx +161 -156
  285. package/components/progress-bar/css/progress-bar.css +59 -59
  286. package/components/progress-bar/index.tsx +134 -146
  287. package/components/progress-circle/css/index.css +641 -743
  288. package/components/progress-circle/fake-progress-circle.tsx +67 -67
  289. package/components/progress-circle/index.tsx +32 -32
  290. package/components/quick-edit/quick-edit-modal-base.tsx +135 -135
  291. package/components/quick-edit/quick-edit-modal-status-base.tsx +81 -82
  292. package/components/rating/css/rating.css +6 -6
  293. package/components/rating/rating-displayer.tsx +32 -32
  294. package/components/rating/rating-picker.tsx +84 -81
  295. package/components/share/css/share.css +35 -35
  296. package/components/share/share-modal.tsx +269 -267
  297. package/components/share/share.tsx +241 -238
  298. package/components/sortable/sortable-container.tsx +63 -63
  299. package/components/sortable/sortable-item.tsx +19 -18
  300. package/components/spreadsheet/css/spreadsheet.css +3 -3
  301. package/components/spreadsheet/spreadsheet.tsx +136 -133
  302. package/components/stars/css/stars.css +39 -38
  303. package/components/stars/stars.tsx +205 -206
  304. package/components/summary-stats/css/summary-stats.css +60 -60
  305. package/components/summary-stats/summary-stats-item.tsx +62 -63
  306. package/components/summary-stats/summary-stats.tsx +19 -20
  307. package/components/svg/skilift-svg.tsx +6 -6
  308. package/components/sweetalert2/css/sweetalert2.css +1375 -1398
  309. package/components/swiper/css/gallery-swiper.css +41 -41
  310. package/components/swiper/css/swiper.css +4 -4
  311. package/components/swiper/swiper-gallery.tsx +90 -92
  312. package/components/swiper/swiper-slide.tsx +13 -14
  313. package/components/swiper/swiper.tsx +203 -209
  314. package/components/table-wrapper/css/table-wrapper.css +74 -74
  315. package/components/table-wrapper/table-wrapper.tsx +28 -28
  316. package/components/tabs/tab-page.tsx +30 -30
  317. package/components/tabs/tabs.tsx +293 -296
  318. package/components/teleport/teleport.tsx +43 -41
  319. package/components/tilebox/css/tilebox-alt.css +475 -475
  320. package/components/tilebox/css/tilebox.css +459 -459
  321. package/components/tilebox/tilebox.tsx +81 -81
  322. package/components/tooltip/index.tsx +100 -100
  323. package/components/transition/css/transition.css +8 -8
  324. package/components/transition/index.tsx +18 -19
  325. package/components/ui/notification.ts +264 -281
  326. package/components/wizard/css/wizard.css +214 -214
  327. package/components/wizard/wizard-subtitle.tsx +13 -14
  328. package/components/wizard/wizard-tab.tsx +29 -29
  329. package/components/wizard/wizard.tsx +200 -205
  330. package/data/geo.ts +18 -18
  331. package/data/image.ts +11 -11
  332. package/data/photo.ts +12 -12
  333. package/package.json +1 -2
@@ -1,50 +1,49 @@
1
- import type { Language } from '../common/enums/language';
2
- import type { PowerduckStateInitArgs } from './powerduck-state';
3
- import type { IPowerduckSystemResources } from './powerduck-system-resources';
4
- import jquery from 'jquery';
5
- import moment from 'moment';
6
- import select2 from 'select2';
7
- import { isNullOrEmpty } from '../common/utils/is-null-or-empty';
8
- import { LanguageUtils } from '../common/utils/language-utils';
9
- import PowerduckState from './powerduck-state';
10
-
11
- export interface PoweduckInitFrameworkArgs {
12
- supportedLanguages?: Language[];
13
- }
14
-
15
- export default class PowerduckInitializer {
16
- static initFramework(args?: PoweduckInitFrameworkArgs) {
17
- window.jQuery = jquery;
18
- window.$ = window.jQuery;
19
- window.moment = moment;
20
- window.select2 = select2();
21
-
22
- if ((window as any).__viteErrHandlerBound != true) {
23
- (window as any).__viteErrHandlerBound = true;
24
-
25
- window.addEventListener('vite:preloadError', (event) => {
26
- const key = `${PowerduckState.getAppPrefix()}errLastReload`;
27
- const lastTry = Number(localStorage.getItem(key) || '0');
28
- if (new Date().getTime() - lastTry > 3000) {
29
- localStorage.setItem(key, new Date().getTime().toString());
30
-
31
- if ((window as any).__routerNextTo != null && !isNullOrEmpty((window as any).__routerNextTo.path)) {
32
- location.href = (window as any).__routerNextTo.path;
33
- } else {
34
- location.reload();
35
- }
36
- }
37
- });
38
- }
39
-
40
- if (args != null) {
41
- if (args.supportedLanguages?.length as number > 0) {
42
- LanguageUtils.supportedLanguages = args.supportedLanguages as Language[];
43
- }
44
- }
45
- }
46
-
47
- static initState<TResoures extends IPowerduckSystemResources>(resources: TResoures, args?: PowerduckStateInitArgs) {
48
- PowerduckState.initialize(resources, args);
49
- }
50
- }
1
+ import PowerduckState, { PowerduckStateInitArgs } from './powerduck-state';
2
+ import { IPowerduckSystemResources } from './powerduck-system-resources';
3
+ import jquery from "jquery";
4
+ import moment from "moment";
5
+ import select2 from "select2";
6
+ import { Language } from '../common/enums/language';
7
+ import { LanguageUtils } from '../common/utils/language-utils';
8
+ import { isNullOrEmpty } from '../common/utils/is-null-or-empty';
9
+
10
+ export interface PoweduckInitFrameworkArgs {
11
+ supportedLanguages?: Language[]
12
+ }
13
+
14
+ export default class PowerduckInitializer {
15
+ static initFramework(args?: PoweduckInitFrameworkArgs) {
16
+ window["jQuery"] = jquery;
17
+ window["$"] = window["jQuery"];
18
+ window["moment"] = moment;
19
+ window["select2"] = select2();
20
+
21
+ if ((window as any).__viteErrHandlerBound != true) {
22
+ (window as any).__viteErrHandlerBound = true;
23
+
24
+ window.addEventListener('vite:preloadError', (event) => {
25
+ const key = PowerduckState.getAppPrefix() + 'errLastReload';
26
+ const lastTry = Number(localStorage.getItem(key) || "0");
27
+ if (new Date().getTime() - lastTry > 3000) {
28
+ localStorage.setItem(key, new Date().getTime().toString());
29
+
30
+ if ((window as any).__routerNextTo != null && !isNullOrEmpty((window as any).__routerNextTo.path)) {
31
+ location.href = (window as any).__routerNextTo.path;
32
+ } else {
33
+ location.reload();
34
+ }
35
+ }
36
+ });
37
+ }
38
+
39
+ if (args != null) {
40
+ if (args.supportedLanguages?.length as number > 0) {
41
+ LanguageUtils.supportedLanguages = args.supportedLanguages as Language[];
42
+ }
43
+ }
44
+ }
45
+
46
+ static initState<TResoures extends IPowerduckSystemResources>(resources: TResoures, args?: PowerduckStateInitArgs) {
47
+ PowerduckState.initialize(resources, args);
48
+ }
49
+ }
@@ -1,180 +1,182 @@
1
- import type { IDynamicComponentContainer } from '../components/app/dynamic-component-contracts';
2
- import type { IPowerduckSystemResources } from './powerduck-system-resources';
3
- import { Language } from '../common/enums/language';
4
- import { ModalSectionMode } from '../common/enums/modal';
5
- import { isNullOrEmpty } from '../common/utils/is-null-or-empty';
6
-
7
- type PublicStaticMethods<T> = {
8
- [K in keyof T]: T[K] extends (...args: any[]) => any ? T[K] : never;
9
- };
10
-
11
- // Extract the public static methods from PowerduckState
12
- export type PowerduckStateInitArgs = Partial<PublicStaticMethods<typeof PowerduckState>> & {
13
- keyPrefix: string;
14
- };
15
-
16
- export default class PowerduckState {
17
- private static _resources: IPowerduckSystemResources;
18
- private static _language: Language;
19
- private static _fullBlockerHtml = document.querySelector('.loading-full-overlay')?.outerHTML || `<div class="loading-full-overlay"><div class="loading-inner"><div class="loading-indicator-wrap"><div class="holdon-white holdon-overlay holdon-element"><div class="holdon-content"><div class="sk-rect"><div class="rect1"></div><div class="rect2"></div><div class="rect3"></div><div class="rect4"></div><div class="rect5"></div></div></div></div></div></div></div>`;
20
- private static _blockerHtml = '<div class="holdon-white holdon-overlay holdon-element"><div class="holdon-content"><div class="sk-rect"><div class="rect1"></div><div class="rect2"></div><div class="rect3"></div><div class="rect4"></div><div class="rect5"></div></div></div></div>';
21
- private static _blockerSelector = '.holdon-overlay';
22
- private static _stickyMap: { [index: string]: IStickyDeclaration } = {};
23
- private static _prefix: string = '';
24
-
25
- static initialize(resources: IPowerduckSystemResources, args?: PowerduckStateInitArgs) {
26
- PowerduckState._resources = resources;
27
- PowerduckState._prefix = args.keyPrefix;
28
-
29
- if (args != null) {
30
- for (const key in args) {
31
- PowerduckState[key] = args[key];
32
- }
33
- }
34
- }
35
-
36
- static getAppPrefix(): string {
37
- return PowerduckState._prefix;
38
- }
39
-
40
- static getCurrentLanguage(): Language {
41
- return this._language ?? Language.sk;
42
- }
43
-
44
- static getIntransparentBlockerHtml(): string {
45
- return PowerduckState._fullBlockerHtml;
46
- }
47
-
48
- static getBlockerHtml(): string {
49
- return PowerduckState._blockerHtml;
50
- }
51
-
52
- static getBlockerSelector(): string {
53
- return PowerduckState._blockerSelector;
54
- }
55
-
56
- static getResourceValue(key: keyof IPowerduckSystemResources) {
57
- if (this._resources != null) {
58
- return this._resources[key] || `{{${key}}}`;
59
- }
60
-
61
- return `{{${key}}}`;
62
- }
63
-
64
- static getCdnPath() {
65
- return '';
66
- }
67
-
68
- static getAssetRootDirectory() {
69
- return `${PowerduckState.getCdnPath()}/assets`;
70
- }
71
-
72
- static getFilesPath() {
73
- return '';
74
- }
75
-
76
- static getCurrentRouteQuery(): any {
77
- return null;
78
- }
79
-
80
- static getRouter(): any {
81
- return null;
82
- }
83
-
84
- static getBootstrapOnStyle(): 'primary' | 'info' {
85
- return 'primary';
86
- }
87
-
88
- static getFormControlCssClass(): string {
89
- return 'form-control maxwidth-input';
90
- }
91
-
92
- static getGeonamesUsername(): string {
93
- return null;
94
- }
95
-
96
- static getGoogleMapsApiKey(): string {
97
- return null;
98
- }
99
-
100
- static getModalSectionMode(): ModalSectionMode {
101
- if ((PowerduckState as any)._modalSectionMode == null) {
102
- if (localStorage.getItem(`${PowerduckState._prefix}modalSectionMode`) != null) {
103
- (PowerduckState as any)._modalSectionMode = Number(localStorage.getItem(`${PowerduckState._prefix}modalSectionMode`));
104
- } else {
105
- PowerduckState.setModalSectionMode(ModalSectionMode.navPills);
106
- }
107
- }
108
-
109
- return (PowerduckState as any)._modalSectionMode;
110
- }
111
-
112
- static setModalSectionMode(mode: ModalSectionMode): void {
113
- localStorage.setItem(`${PowerduckState._prefix}modalSectionMode`, mode.toString());
114
- (PowerduckState as any)._modalSectionMode = mode;
115
- }
116
-
117
- static parseErrorMessage(respText: string): string {
118
- let parsedErr: any;
119
- if (respText == null || respText.indexOf('{') != 0) {
120
- return respText;
121
- }
122
-
123
- try {
124
- parsedErr = JSON.parse(respText);
125
- } catch (error) {
126
- parsedErr = respText as any;
127
- }
128
-
129
- if (!isNullOrEmpty(parsedErr?.messages)) {
130
- let msgBuilder = '';
131
- parsedErr.messages.forEach((msgData) => {
132
- if (!isNullOrEmpty(msgData.message)) {
133
- if (msgBuilder.length > 0) {
134
- msgBuilder += '\n\n';
135
- }
136
-
137
- msgBuilder += msgData.message;
138
- }
139
- });
140
-
141
- return msgBuilder;
142
- }
143
-
144
- return null;
145
- }
146
-
147
- static get rootDynamicComponentContainer(): IDynamicComponentContainer {
148
- return window.RootDynamicContainerInstance;
149
- }
150
-
151
- static registerStickyTabs(id: string, state: IStickyDeclaration): void {
152
- PowerduckState._stickyMap[id] = state;
153
- }
154
-
155
- static unregisterStickyTabs(id: string): void {
156
- if (PowerduckState._stickyMap[id] != null) {
157
- try {
158
- delete PowerduckState._stickyMap[id];
159
- } catch (e) { }
160
- }
161
- }
162
-
163
- static get stickyTabs(): IStickyDeclaration {
164
- for (const id in PowerduckState._stickyMap) {
165
- if (PowerduckState._stickyMap[id].HasSticky) {
166
- return PowerduckState._stickyMap[id];
167
- }
168
- }
169
-
170
- return {
171
- AllowTabChange: true,
172
- HasSticky: false,
173
- };
174
- }
175
- }
176
-
177
- interface IStickyDeclaration {
178
- HasSticky: boolean;
179
- AllowTabChange: boolean;
180
- }
1
+ import { Language } from "../common/enums/language";
2
+ import { ModalSectionMode } from "../common/enums/modal";
3
+ import { isNullOrEmpty } from "../common/utils/is-null-or-empty";
4
+ import { IDynamicComponentContainer } from "../components/app/dynamic-component-contracts";
5
+ import { IPowerduckSystemResources } from "./powerduck-system-resources";
6
+
7
+
8
+ type PublicStaticMethods<T> = {
9
+ [K in keyof T]: T[K] extends (...args: any[]) => any ? T[K] : never;
10
+ };
11
+
12
+ // Extract the public static methods from PowerduckState
13
+ export type PowerduckStateInitArgs = Partial<PublicStaticMethods<typeof PowerduckState>> & {
14
+ keyPrefix: string
15
+ };
16
+
17
+ export default class PowerduckState {
18
+ private static _resources: IPowerduckSystemResources;
19
+ private static _language: Language;
20
+ private static _fullBlockerHtml = document.querySelector(".loading-full-overlay")?.outerHTML || `<div class="loading-full-overlay"><div class="loading-inner"><div class="loading-indicator-wrap"><div class="holdon-white holdon-overlay holdon-element"><div class="holdon-content"><div class="sk-rect"><div class="rect1"></div><div class="rect2"></div><div class="rect3"></div><div class="rect4"></div><div class="rect5"></div></div></div></div></div></div></div>`;
21
+ private static _blockerHtml = '<div class="holdon-white holdon-overlay holdon-element"><div class="holdon-content"><div class="sk-rect"><div class="rect1"></div><div class="rect2"></div><div class="rect3"></div><div class="rect4"></div><div class="rect5"></div></div></div></div>';
22
+ private static _blockerSelector = ".holdon-overlay";
23
+ private static _stickyMap: { [index: string]: IStickyDeclaration } = {}
24
+ private static _prefix: string = '';
25
+
26
+ static initialize(resources: IPowerduckSystemResources, args?: PowerduckStateInitArgs) {
27
+ PowerduckState._resources = resources;
28
+ PowerduckState._prefix = args.keyPrefix;
29
+
30
+ if (args != null) {
31
+ for (const key in args) {
32
+ PowerduckState[key] = args[key];
33
+ }
34
+ }
35
+ }
36
+
37
+ static getAppPrefix(): string {
38
+ return PowerduckState._prefix;
39
+ }
40
+
41
+ static getCurrentLanguage(): Language {
42
+ return this._language ?? Language.sk;
43
+ }
44
+
45
+ static getIntransparentBlockerHtml(): string {
46
+ return PowerduckState._fullBlockerHtml;
47
+ }
48
+
49
+ static getBlockerHtml(): string {
50
+ return PowerduckState._blockerHtml;
51
+ }
52
+
53
+ static getBlockerSelector(): string {
54
+ return PowerduckState._blockerSelector;
55
+ }
56
+
57
+ static getResourceValue(key: keyof IPowerduckSystemResources) {
58
+ if (this._resources != null) {
59
+ return this._resources[key] || `{{${key}}}`;
60
+ }
61
+
62
+ return `{{${key}}}`;
63
+ }
64
+
65
+ static getCdnPath() {
66
+ return '';
67
+ }
68
+
69
+ static getAssetRootDirectory() {
70
+ return PowerduckState.getCdnPath() + "/assets";
71
+ }
72
+
73
+ static getFilesPath() {
74
+ return '';
75
+ }
76
+
77
+ static getCurrentRouteQuery(): any {
78
+ return null;
79
+ }
80
+
81
+ static getRouter(): any {
82
+ return null;
83
+ }
84
+
85
+ static getBootstrapOnStyle(): 'primary' | 'info' {
86
+ return 'primary';
87
+ }
88
+
89
+ static getFormControlCssClass(): string {
90
+ return 'form-control maxwidth-input'
91
+ }
92
+
93
+ static getGeonamesUsername(): string {
94
+ return null;
95
+ }
96
+
97
+ static getGoogleMapsApiKey(): string {
98
+ return null;
99
+ }
100
+
101
+ static getModalSectionMode(): ModalSectionMode {
102
+ if ((PowerduckState as any)._modalSectionMode == null) {
103
+ if (localStorage.getItem(PowerduckState._prefix + "modalSectionMode") != null) {
104
+ (PowerduckState as any)._modalSectionMode = Number(localStorage.getItem(PowerduckState._prefix + "modalSectionMode"));
105
+ } else {
106
+ PowerduckState.setModalSectionMode(ModalSectionMode.navPills);
107
+ }
108
+ }
109
+
110
+ return (PowerduckState as any)._modalSectionMode;
111
+ }
112
+
113
+ static setModalSectionMode(mode: ModalSectionMode): void {
114
+ localStorage.setItem(PowerduckState._prefix + "modalSectionMode", mode.toString());
115
+ (PowerduckState as any)._modalSectionMode = mode;
116
+ }
117
+
118
+ static parseErrorMessage(respText: string): string {
119
+ let parsedErr: any;
120
+ if (respText == null || respText.indexOf("{") != 0) {
121
+ return respText;
122
+ }
123
+
124
+ try {
125
+ parsedErr = JSON.parse(respText);
126
+ } catch (error) {
127
+ parsedErr = respText as any;
128
+ }
129
+
130
+ if (!isNullOrEmpty(parsedErr?.messages)) {
131
+ let msgBuilder = "";
132
+ parsedErr.messages.forEach((msgData) => {
133
+ if (!isNullOrEmpty(msgData.message)) {
134
+ if (msgBuilder.length > 0) {
135
+ msgBuilder += "\n\n";
136
+ }
137
+
138
+ msgBuilder += msgData.message;
139
+ }
140
+ });
141
+
142
+ return msgBuilder;
143
+ }
144
+
145
+ return null;
146
+ }
147
+
148
+ static get rootDynamicComponentContainer(): IDynamicComponentContainer {
149
+ return window["RootDynamicContainerInstance"];
150
+ }
151
+
152
+
153
+ static registerStickyTabs(id: string, state: IStickyDeclaration): void {
154
+ PowerduckState._stickyMap[id] = state
155
+ }
156
+
157
+ static unregisterStickyTabs(id: string): void {
158
+ if (PowerduckState._stickyMap[id] != null) {
159
+ try {
160
+ delete PowerduckState._stickyMap[id]
161
+ } catch (e) { }
162
+ }
163
+ }
164
+
165
+ static get stickyTabs(): IStickyDeclaration {
166
+ for (let id in PowerduckState._stickyMap) {
167
+ if (PowerduckState._stickyMap[id].HasSticky) {
168
+ return PowerduckState._stickyMap[id]
169
+ }
170
+ }
171
+
172
+ return {
173
+ AllowTabChange: true,
174
+ HasSticky: false,
175
+ }
176
+ }
177
+ }
178
+
179
+ interface IStickyDeclaration {
180
+ HasSticky: boolean
181
+ AllowTabChange: boolean
182
+ }
@@ -1,86 +1,86 @@
1
- export interface IPowerduckSystemResources {
2
- requestTimeout: string;
3
- yes: string;
4
- no: string;
5
- all: string;
6
- add: string;
7
- error: string;
8
- errorFetchingData: string;
9
- allTogether: string;
10
- edit: string;
11
- remove: string;
12
- warning: string;
13
- cancel: string;
14
- negationBase: string;
15
- continue: string;
16
- back: string;
17
- submit: string;
18
- close: string;
19
- save: string;
20
- search: string;
21
- searchedValue: string;
22
- image: string;
23
- noResultsFound: string;
24
- colVisLabel: string;
25
- deletePromptSingular: string;
26
- dtMassOperationWarningText: string;
27
- dtLayoutMobile: string;
28
- dtLayoutTable: string;
29
- dtLayoutCompact: string;
30
- recordsDtLabel: string;
31
- dtCountText: string;
32
- dtCountFilteredOutOf: string;
33
- dtNoMobileFilter: string;
34
- dtOnlyExclusive: string;
35
- itemsOutOfArray: string;
36
- fileDownloadTitle: string;
37
- imageCrop: string;
38
- uploadImage: string;
39
- copyToClipboard: string;
40
- copyToClipboardSuccess: string;
41
- loginExpired: string;
42
- gpsLabel: string;
43
- gpsSubtitle: string;
44
- gpsLatitudeCaption: string;
45
- gpsLongitudeCaption: string;
46
- currencyCode: string;
47
- photosErrorMessage: string;
48
- photosInitialMessage: string;
49
- photosInvalidFileMessage: string;
50
- quickEdit: string;
51
- quickEditItemsCount: string;
52
- quickEditErrorNamed: string;
53
-
54
- languageSK: string;
55
- languageEN: string;
56
- languageCS: string;
57
- languageDE: string;
58
- languagePL: string;
59
- languageIT: string;
60
- languageHU: string;
61
-
62
- errorsOnForm: string;
63
- validationErrorRequired: string;
64
- validationErrorNumeric: string;
65
- validationErrorInteger: string;
66
- validationErrorDecimal: string;
67
- validationErrorMinValue: string;
68
- validationErrorMaxValue: string;
69
- validationErrorMinLength: string;
70
- validationErrorMaxLength: string;
71
- validationErrorBetween: string;
72
- validationErrorEmail: string;
73
- validationErrorAlpha: string;
74
- validationErrorAlphaNum: string;
75
- validationErrorUrl: string;
76
- validationErrorIpAddress: string;
77
- validationErrorMacAddress: string;
78
- validationErrorGeneric: string;
79
-
80
- signInGoogle: string;
81
- signInFacebook: string;
82
- signInApple: string;
83
- signInX: string;
84
- signInFigma: string;
85
- signInDribble: string;
86
- }
1
+ export interface IPowerduckSystemResources {
2
+ requestTimeout: string
3
+ yes: string
4
+ no: string;
5
+ all: string
6
+ add: string
7
+ error: string
8
+ errorFetchingData: string
9
+ allTogether: string;
10
+ edit: string
11
+ remove: string
12
+ warning: string
13
+ cancel: string
14
+ negationBase: string
15
+ continue: string
16
+ back: string
17
+ submit: string
18
+ close: string
19
+ save: string
20
+ search: string
21
+ searchedValue: string
22
+ image: string
23
+ noResultsFound: string
24
+ colVisLabel: string
25
+ deletePromptSingular: string
26
+ dtMassOperationWarningText: string
27
+ dtLayoutMobile: string
28
+ dtLayoutTable: string
29
+ dtLayoutCompact: string
30
+ recordsDtLabel: string
31
+ dtCountText: string
32
+ dtCountFilteredOutOf: string
33
+ dtNoMobileFilter: string
34
+ dtOnlyExclusive: string
35
+ itemsOutOfArray: string
36
+ fileDownloadTitle: string
37
+ imageCrop: string
38
+ uploadImage: string
39
+ copyToClipboard: string
40
+ copyToClipboardSuccess: string
41
+ loginExpired: string
42
+ gpsLabel: string
43
+ gpsSubtitle: string
44
+ gpsLatitudeCaption: string
45
+ gpsLongitudeCaption: string
46
+ currencyCode: string
47
+ photosErrorMessage: string
48
+ photosInitialMessage: string
49
+ photosInvalidFileMessage: string
50
+ quickEdit: string
51
+ quickEditItemsCount: string
52
+ quickEditErrorNamed: string
53
+
54
+ languageSK: string;
55
+ languageEN: string;
56
+ languageCS: string;
57
+ languageDE: string;
58
+ languagePL: string;
59
+ languageIT: string;
60
+ languageHU: string;
61
+
62
+ errorsOnForm: string;
63
+ validationErrorRequired: string;
64
+ validationErrorNumeric: string;
65
+ validationErrorInteger: string;
66
+ validationErrorDecimal: string;
67
+ validationErrorMinValue: string;
68
+ validationErrorMaxValue: string;
69
+ validationErrorMinLength: string;
70
+ validationErrorMaxLength: string;
71
+ validationErrorBetween: string;
72
+ validationErrorEmail: string;
73
+ validationErrorAlpha: string;
74
+ validationErrorAlphaNum: string;
75
+ validationErrorUrl: string;
76
+ validationErrorIpAddress: string;
77
+ validationErrorMacAddress: string;
78
+ validationErrorGeneric: string;
79
+
80
+ signInGoogle: string;
81
+ signInFacebook: string;
82
+ signInApple: string;
83
+ signInX: string;
84
+ signInFigma: string;
85
+ signInDribble: string;
86
+ }
@@ -1,5 +1,5 @@
1
- import { PowerduckViewModelBase } from '../common/base-component';
2
-
3
- export abstract class TsxComponentExtendedBase<P> extends PowerduckViewModelBase {
4
- private vueTsxProps: Readonly<{ ref?: string; key?: string | number }> & Readonly<P>;
5
- }
1
+ import { PowerduckViewModelBase } from "../common/base-component";
2
+
3
+ export abstract class TsxComponentExtendedBase<P> extends PowerduckViewModelBase {
4
+ private vueTsxProps: Readonly<{ ref?: string; key?: string | number }> & Readonly<P>;
5
+ }