inviton-powerduck 0.0.114 → 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/README.md +2 -1
  2. package/app/powerduck-initializer.ts +48 -48
  3. package/app/powerduck-state.ts +182 -182
  4. package/app/powerduck-system-resources.ts +86 -86
  5. package/app/vuestsx-extended.ts +5 -5
  6. package/app/vuetsx.ts +95 -95
  7. package/common/IWebClient.ts +11 -11
  8. package/common/ajax-xhr.ts +121 -121
  9. package/common/api-http.ts +804 -804
  10. package/common/base-component.tsx +315 -315
  11. package/common/cdn-webpack-shim.ts +5 -5
  12. package/common/country-iso-mapping.ts +249 -249
  13. package/common/css/dialog-utils.css +3 -3
  14. package/common/css/ladda-themeless-zoomin.min.css +89 -89
  15. package/common/date-wrapper.ts +360 -360
  16. package/common/dialog-utils.ts +529 -529
  17. package/common/enum-translation/bool-translator.ts +11 -11
  18. package/common/enum-translation/currency-code-translator.ts +20 -20
  19. package/common/enum-translation/day-translator.ts +27 -27
  20. package/common/enum-translation/language-translator.ts +8 -8
  21. package/common/enums/api.ts +4 -4
  22. package/common/enums/currency.ts +6 -6
  23. package/common/enums/day.ts +8 -8
  24. package/common/enums/dialog-icons.ts +31 -31
  25. package/common/enums/language.ts +8 -8
  26. package/common/enums/menu.ts +5 -5
  27. package/common/enums/modal.ts +3 -3
  28. package/common/excel/excel-js-provider.ts +113 -113
  29. package/common/excel/excel-reader.ts +67 -67
  30. package/common/external-barcode-scanner.ts +334 -334
  31. package/common/history-extended.ts +233 -233
  32. package/common/history-handler.ts +153 -153
  33. package/common/json-column-utils.ts +14 -14
  34. package/common/keyboard-open-tracker.ts +43 -43
  35. package/common/ladda-lite.ts +396 -396
  36. package/common/local-storage-shim.ts +132 -132
  37. package/common/localized-text.ts +20 -20
  38. package/common/localized-value-helper.ts +54 -54
  39. package/common/path-resolver.ts +16 -16
  40. package/common/query-string-utils.ts +60 -60
  41. package/common/resource-helper.ts +85 -85
  42. package/common/scroll-utils.ts +86 -86
  43. package/common/set-current-url.ts +38 -38
  44. package/common/slot-name-identifier.ts +3 -3
  45. package/common/slot-unwrapper.ts +26 -26
  46. package/common/static-wrappers/interfaces/validation-interface.ts +28 -28
  47. package/common/timezone-helper.ts +74 -74
  48. package/common/utils/array-extend.ts +169 -169
  49. package/common/utils/array-remove.ts +11 -11
  50. package/common/utils/array-sort.ts +53 -53
  51. package/common/utils/base/country-utils-base.ts +83 -83
  52. package/common/utils/broswer-image-compression.ts +31 -31
  53. package/common/utils/capitalize-string.ts +10 -10
  54. package/common/utils/checkbox-utils.ts +56 -56
  55. package/common/utils/clipboard-provider.ts +106 -106
  56. package/common/utils/cookie.ts +54 -54
  57. package/common/utils/country-utils.ts +38 -38
  58. package/common/utils/currency-utils.ts +19 -19
  59. package/common/utils/date-localization-utils.ts +164 -164
  60. package/common/utils/date-utils.ts +355 -355
  61. package/common/utils/domain-helper.ts +63 -63
  62. package/common/utils/dropdown-utils.ts +69 -69
  63. package/common/utils/esmodule-import-helper.ts +9 -9
  64. package/common/utils/file-helper.ts +18 -18
  65. package/common/utils/flags-enum.ts +54 -54
  66. package/common/utils/form-utils.ts +45 -45
  67. package/common/utils/format-string.ts +13 -13
  68. package/common/utils/is-null-or-empty.ts +6 -6
  69. package/common/utils/language-utils.ts +135 -135
  70. package/common/utils/latinize-string.ts +8 -8
  71. package/common/utils/string-utils.ts +38 -38
  72. package/common/utils/upload-image-helper.ts +43 -43
  73. package/common/utils/utils.ts +426 -426
  74. package/common/validation.ts +261 -255
  75. package/components/accordion/accordion-page.tsx +29 -29
  76. package/components/accordion/accordion.tsx +136 -136
  77. package/components/accordion/css/accordion.css +62 -62
  78. package/components/alert/alert-layout.ts +10 -10
  79. package/components/alert/alert.tsx +46 -46
  80. package/components/app/breadcrumb.ts +5 -5
  81. package/components/app/css/navmenu.css +4 -4
  82. package/components/app/dynamic-component-container.tsx +89 -89
  83. package/components/app/dynamic-component-contracts.ts +12 -12
  84. package/components/app/menu.ts +13 -13
  85. package/components/app/navigation-guard.ts +64 -64
  86. package/components/app/root-dynamic-component-container.tsx +34 -34
  87. package/components/app/vue-plugin-jsxtransform.ts +32 -32
  88. package/components/app/vue-plugin-toplevelpage.ts +33 -33
  89. package/components/bootstrap-toggle/css/bootstrap-toggle.css +228 -228
  90. package/components/bootstrap-toggle/index.tsx +190 -190
  91. package/components/button/button-layout.ts +55 -55
  92. package/components/button/button-message-container.tsx +30 -30
  93. package/components/button/button.tsx +126 -126
  94. package/components/button/css/button-message-container.css +13 -13
  95. package/components/button/excel-upload-button.tsx +59 -59
  96. package/components/button/ladda-button.tsx +65 -65
  97. package/components/button/text-button.tsx +66 -66
  98. package/components/button/upload-button.tsx +180 -180
  99. package/components/card/card-body.tsx +13 -13
  100. package/components/card/card-header-with-options.tsx +58 -58
  101. package/components/card/card-header.tsx +34 -34
  102. package/components/card/card.tsx +75 -75
  103. package/components/card/css/card-header-with-options.css +11 -11
  104. package/components/card/image-card.tsx +84 -84
  105. package/components/chart-js/bar-chart.tsx +212 -212
  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 -319
  109. package/components/chart-js/line-chart.tsx +216 -216
  110. package/components/chart-js/pie-chart.tsx +210 -210
  111. package/components/chart-js/plot.tsx +209 -209
  112. package/components/chart-js/thirdparty/flot/jquery.flot-patched.js +3216 -3216
  113. package/components/chart-js/thirdparty/flot/jquery.flot.categories.js +180 -180
  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 -170
  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 -438
  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 -808
  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 -177
  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 -176
  124. package/components/chart-js/thirdparty/flot/jquery.flot.stack.min.js +104 -104
  125. package/components/chart-js/ts/color-helper.ts +104 -104
  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 -43
  130. package/components/container-with-breakpoints/index.tsx +40 -40
  131. package/components/container-with-breakpoints/ts/breakpoint-handler.ts +67 -67
  132. package/components/contenteditable/index.tsx +54 -54
  133. package/components/context-menu/context-menu-binder.ts +47 -47
  134. package/components/context-menu/context-menu.tsx +23 -23
  135. package/components/counter/fetchdata.tsx +95 -95
  136. package/components/counter/index.tsx +101 -101
  137. package/components/counter/testall.tsx +493 -493
  138. package/components/datatable/col-vis-modal.tsx +62 -62
  139. package/components/datatable/css/datatable.css +996 -996
  140. package/components/datatable/css/reorder.css +18 -18
  141. package/components/datatable/datatable-static.tsx +131 -131
  142. package/components/datatable/datatable.tsx +2342 -2342
  143. package/components/datatable/export-excel-modal.tsx +201 -201
  144. package/components/datatable/filter-modal.tsx +172 -172
  145. package/components/datatable/ts/reorder.ts +180 -180
  146. package/components/datatable/upper-buttons-wrapper.tsx +43 -43
  147. package/components/dropdown/country-dropdown.tsx +154 -154
  148. package/components/dropdown/css/dropdown.css +142 -142
  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 +240 -240
  152. package/components/dropdown/index.tsx +1209 -1207
  153. package/components/dropdown/language-dropdown.tsx +82 -82
  154. package/components/dropdown/language-picker.tsx +75 -75
  155. package/components/dropdown/mobile/legacy_fdd.css +540 -540
  156. package/components/dropdown/mobile/legacy_fdd.ts +559 -559
  157. package/components/dropdown/mobile/legacy_lvb.ts +359 -359
  158. package/components/dropdown/timezone-picker.tsx +292 -292
  159. package/components/dropdown/ts/select2-multi-checkboxes.ts +256 -256
  160. package/components/dropdown-button/css/dropdown-button.css +42 -42
  161. package/components/dropdown-button/dropdown-button-element.tsx +78 -78
  162. package/components/dropdown-button/dropdown-button-heading.tsx +17 -17
  163. package/components/dropdown-button/dropdown-button-item.tsx +96 -96
  164. package/components/dropdown-button/dropdown-button-separator.tsx +13 -13
  165. package/components/dropdown-button/dropdown-button.tsx +97 -97
  166. package/components/dropdown-button/language-dropdown-button.tsx +54 -54
  167. package/components/dropzone/css/gallery-dropzone.css +38 -38
  168. package/components/dropzone/gallery-dropzone.tsx +370 -370
  169. package/components/file-downloader/index.tsx +266 -266
  170. package/components/form/css/fieldset.css +83 -83
  171. package/components/form/css/flex.css +118 -118
  172. package/components/form/css/form-item-wrapper.css +35 -35
  173. package/components/form/css/separator.css +22 -22
  174. package/components/form/fieldset.tsx +95 -95
  175. package/components/form/flex-container.tsx +40 -40
  176. package/components/form/footer-buttons.tsx +17 -17
  177. package/components/form/form-item-flex.tsx +43 -43
  178. package/components/form/form-item-wrapper.tsx +259 -259
  179. package/components/form/form.tsx +13 -13
  180. package/components/form/multiple-input-wrapper.tsx +114 -114
  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 -500
  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 -49
  191. package/components/html-literal/html-literal.tsx +25 -25
  192. package/components/image-crop/css/image-cropping-modal.css +3 -3
  193. package/components/image-crop/image-cropping-modal.tsx +312 -312
  194. package/components/image-crop/upload-and-crop.tsx +179 -179
  195. package/components/image-crop/vendor/jcrop.js +2797 -2797
  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 -48
  199. package/components/import/import-mapper.tsx +231 -231
  200. package/components/input/checkbox-without-label.tsx +66 -66
  201. package/components/input/checkbox.tsx +152 -152
  202. package/components/input/color-picker.tsx +81 -81
  203. package/components/input/css/checkbox-without-label.css +19 -19
  204. package/components/input/css/color-picker.css +8 -8
  205. package/components/input/css/daterange-picker.css +35 -24
  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 -173
  213. package/components/input/daterange-picker.tsx +513 -499
  214. package/components/input/datetime-picker.tsx +335 -335
  215. package/components/input/geo-json.tsx +57 -57
  216. package/components/input/gps-input.tsx +121 -121
  217. package/components/input/image-upload.tsx +112 -112
  218. package/components/input/localized-info-input.tsx +129 -129
  219. package/components/input/localized-string-input.tsx +263 -263
  220. package/components/input/localized-string-textarea.tsx +121 -121
  221. package/components/input/localized-string-wysiwyg.tsx +121 -121
  222. package/components/input/localized-url-input.tsx +357 -357
  223. package/components/input/numeric-input.tsx +212 -212
  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 -325
  227. package/components/input/plugins/currency-editor/currency-format.ts +160 -160
  228. package/components/input/plugins/currency-editor/inputMask.ts +92 -92
  229. package/components/input/plugins/currency-editor/utils.ts +15 -15
  230. package/components/input/plugins/daterangepicker/daterangepicker-config.ts +2 -2
  231. package/components/input/plugins/daterangepicker/daterangepicker.css +630 -630
  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 -2054
  235. package/components/input/plugins/trumbowyg/custom-cleanpaste.ts +105 -105
  236. package/components/input/plugins/trumbowyg/custom-colors.ts +278 -278
  237. package/components/input/plugins/trumbowyg/custom-upload.ts +325 -325
  238. package/components/input/plugins/trumbowyg/lang/cs.ts +55 -55
  239. package/components/input/plugins/trumbowyg/lang/de.ts +58 -58
  240. package/components/input/plugins/trumbowyg/lang/sk.ts +64 -64
  241. package/components/input/plugins/trumbowyg/modal-issues-fix.ts +140 -140
  242. package/components/input/plugins/trumbowyg/wysiwyg-config.ts +54 -54
  243. package/components/input/radio-button-group.tsx +248 -248
  244. package/components/input/textarea.tsx +82 -82
  245. package/components/input/textbox-without-label.tsx +110 -110
  246. package/components/input/textbox.tsx +158 -158
  247. package/components/input/ts/bootstrapInputSpinner.ts +384 -384
  248. package/components/input/ts/dateInputHelper.ts +123 -123
  249. package/components/input/video-urls.tsx +203 -203
  250. package/components/input/wysiwig.tsx +592 -592
  251. package/components/lightbox/css/lightbox.css +10 -10
  252. package/components/lightbox/index.tsx +110 -110
  253. package/components/loading-indicator/index.tsx +40 -40
  254. package/components/long-content-container/css/index.css +67 -67
  255. package/components/long-content-container/index.tsx +102 -102
  256. package/components/memory-cache/index.ts +44 -44
  257. package/components/mobile-optimized-hero-filter/css/mobile-optimized-hero-filter.css +131 -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 +61 -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 -17
  266. package/components/modal/modal-footer.tsx +13 -13
  267. package/components/modal/modal-utils.ts +140 -140
  268. package/components/modal/modal.tsx +182 -182
  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 -65
  273. package/components/modal-wrap/modal-section.tsx +45 -45
  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 -72
  277. package/components/open-street-map/open-street-map.tsx +279 -272
  278. package/components/open-street-map/ts/gesture-handling/css/leaflet-gesture-handling.scss +71 -71
  279. package/components/open-street-map/ts/gesture-handling/gesture-handling.ts +328 -328
  280. package/components/parallax/css/parallax.css +17 -17
  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 -161
  285. package/components/progress-bar/css/progress-bar.css +59 -59
  286. package/components/progress-bar/index.tsx +134 -134
  287. package/components/progress-circle/css/index.css +641 -641
  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 -81
  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 -84
  295. package/components/share/css/share.css +35 -35
  296. package/components/share/share-modal.tsx +269 -269
  297. package/components/share/share.tsx +241 -241
  298. package/components/sortable/sortable-container.tsx +63 -63
  299. package/components/sortable/sortable-item.tsx +19 -19
  300. package/components/spreadsheet/css/spreadsheet.css +3 -3
  301. package/components/spreadsheet/spreadsheet.tsx +136 -136
  302. package/components/stars/css/stars.css +39 -39
  303. package/components/stars/stars.tsx +204 -204
  304. package/components/summary-stats/css/summary-stats.css +60 -60
  305. package/components/summary-stats/summary-stats-item.tsx +62 -62
  306. package/components/summary-stats/summary-stats.tsx +19 -19
  307. package/components/svg/skilift-svg.tsx +6 -6
  308. package/components/sweetalert2/css/sweetalert2.css +1374 -1374
  309. package/components/swiper/css/gallery-swiper.css +40 -40
  310. package/components/swiper/css/swiper.css +3 -3
  311. package/components/swiper/swiper-gallery.tsx +89 -89
  312. package/components/swiper/swiper-slide.tsx +13 -13
  313. package/components/swiper/swiper.tsx +202 -202
  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 +292 -277
  318. package/components/teleport/teleport.tsx +43 -43
  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 -18
  325. package/components/ui/notification.ts +264 -264
  326. package/components/wizard/css/wizard.css +214 -214
  327. package/components/wizard/wizard-subtitle.tsx +13 -13
  328. package/components/wizard/wizard-tab.tsx +29 -29
  329. package/components/wizard/wizard.tsx +200 -200
  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 +86 -70
package/README.md CHANGED
@@ -1,6 +1,7 @@
1
1
  # Inviton Powerduck framework
2
+
2
3
  ![alt text](powerduck-logo-small.webp?raw=true)
3
4
 
4
5
  Framework containing main TSX components and frontend utility functions for use in projects.
5
6
 
6
- Built using Vue3 + vue-facing-decorator package.
7
+ Built using Vue3 + vue-facing-decorator package.
@@ -1,49 +1,49 @@
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
- }
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
49
  }
@@ -1,182 +1,182 @@
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
+ 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
+ }