inviton-powerduck 0.0.136 → 0.0.138

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 (39) hide show
  1. package/app/powerduck-system-resources.ts +2 -0
  2. package/common/css/ladda-themeless-zoomin.min.css +89 -89
  3. package/common/dialog-utils.ts +1 -1
  4. package/common/external-barcode-scanner.ts +0 -1
  5. package/common/utils/array-extend.ts +32 -29
  6. package/common/utils/broswer-image-compression.ts +1 -1
  7. package/common/utils/language-utils.ts +3 -1
  8. package/components/app/vue-plugin-jsxtransform.ts +1 -1
  9. package/components/bootstrap-toggle/index.tsx +6 -1
  10. package/components/chart-js/pie-chart.tsx +1 -1
  11. package/components/chart-js/thirdparty/flot/jquery.flot.categories.min.js +93 -93
  12. package/components/chart-js/thirdparty/flot/jquery.flot.crosshair.min.js +83 -83
  13. package/components/chart-js/thirdparty/flot/jquery.flot.navigate.min.js +270 -270
  14. package/components/chart-js/thirdparty/flot/jquery.flot.pie.min.js +507 -507
  15. package/components/chart-js/thirdparty/flot/jquery.flot.resize.min.js +147 -147
  16. package/components/chart-js/thirdparty/flot/jquery.flot.stack.min.js +104 -104
  17. package/components/datatable/datatable-static.tsx +5 -5
  18. package/components/datatable/datatable.tsx +1 -1
  19. package/components/datatable/ts/reorder.ts +0 -2
  20. package/components/dropdown/currency-code-picker.tsx +42 -39
  21. package/components/dropdown/index.tsx +2 -1
  22. package/components/fullcalendar/timegrid-calendar.tsx +1 -1
  23. package/components/image-crop/image-cropping-modal.tsx +54 -15
  24. package/components/image-crop/upload-and-crop.tsx +21 -13
  25. package/components/image-crop/vendor/jquery.Jcrop.min.css +344 -344
  26. package/components/import/import-mapper.tsx +231 -231
  27. package/components/input/localized-info-input.tsx +9 -0
  28. package/components/input/localized-string-input.tsx +21 -0
  29. package/components/input/localized-string-textarea.tsx +16 -0
  30. package/components/input/localized-string-wysiwyg.tsx +16 -0
  31. package/components/input/plugins/daterangepicker/daterangepicker.min.css +400 -400
  32. package/components/input/plugins/daterangepicker/jquery.daterangepicker.min.js +1903 -1903
  33. package/components/input/translate.tsx +100 -0
  34. package/components/modal/modal.tsx +1 -1
  35. package/components/photos/photo-manager.tsx +7 -11
  36. package/components/share/share-modal.tsx +1 -1
  37. package/components/share/share.tsx +1 -1
  38. package/components/svg/skilift-svg.tsx +6 -6
  39. package/package.json +2 -1
@@ -0,0 +1,100 @@
1
+ import type { Language } from '../../common/enums/language';
2
+ import type { ILocalizedText } from '../../common/localized-text';
3
+ import type LocalizedText from '../../common/localized-text';
4
+ import { Prop } from 'vue-facing-decorator';
5
+ import PowerduckState from '../../app/powerduck-state';
6
+ import { TsxComponentExtendedBase } from '../../app/vuestsx-extended';
7
+ import { Component } from '../../app/vuetsx';
8
+ import { LanguageUtils } from '../../common/utils/language-utils';
9
+ import TextButton from '../button/text-button';
10
+
11
+ interface TranslateArgs {
12
+ value: ILocalizedText | LocalizedText;
13
+ currentLangId: Language;
14
+ langArr: LanguageUtils.LanguageListItem[];
15
+ changeValue: (langId: Language, value: string) => void;
16
+ getActualValue: (langId: Language, value: ILocalizedText | LocalizedText) => string;
17
+ apiMethod: <RQ extends TranslateGetRequest, RS extends TranslateGetResponse>(data?: RQ) => Promise<RS>;
18
+ }
19
+
20
+ export class TranslateGetRequest {
21
+ fromLang: string;
22
+ toLang: string[];
23
+ text: string;
24
+ }
25
+
26
+ export class TranslateGetResponse {
27
+ result: LocalizedText;
28
+ }
29
+
30
+ @Component
31
+ export default class Translate extends TsxComponentExtendedBase<TranslateArgs> implements TranslateArgs {
32
+ @Prop() value: ILocalizedText | LocalizedText;
33
+ @Prop() currentLangId: Language;
34
+ @Prop() langArr: LanguageUtils.LanguageListItem[];
35
+ @Prop() apiMethod: <RQ extends TranslateGetRequest, RS extends TranslateGetResponse>(data?: RQ) => Promise<RS>;
36
+ @Prop() changeValue: (langId: Language, value: string) => void;
37
+ @Prop() getActualValue: (langId: Language, value: ILocalizedText | LocalizedText) => string;
38
+ translateLoading = false;
39
+
40
+ async translateValue(
41
+ value: string,
42
+ fromLang: Language,
43
+ langArr: LanguageUtils.LanguageListItem[],
44
+ ) {
45
+ console.log('value', value);
46
+ this.translateLoading = true;
47
+ const toLang = langArr.filter(x => !this.getActualValue(x.id, this.value))?.map(x => x.id);
48
+ console.log('toland', toLang, langArr);
49
+ if (toLang.length === 0) {
50
+ this.translateLoading = false;
51
+ return;
52
+ }
53
+
54
+ const resp = await this.tryGetDataByArgs<TranslateGetResponse, TranslateGetRequest>({
55
+ blockRoot: false,
56
+ apiMethod: this.apiMethod,
57
+ requestArgs: {
58
+ fromLang,
59
+ toLang,
60
+ text: value,
61
+ },
62
+ });
63
+
64
+ if (resp?.result != null) {
65
+ for (const key in resp.result) {
66
+ const langCode = LanguageUtils.getLanguageEnum(key);
67
+ this.changeValue(langCode, resp.result[key]);
68
+ }
69
+ } else {
70
+ console.error('Error while getting translation');
71
+ }
72
+
73
+ this.translateLoading = false;
74
+ }
75
+
76
+ render(h) {
77
+ return this.translateLoading
78
+ ? (
79
+ <div class="d-flex flex-row gap-1 align-items-center">
80
+ <div class="spinner-border spinner-border-sm" role="status">
81
+ <span class="sr-only">Loading...</span>
82
+ </div>
83
+ <span>Translating...</span>
84
+ </div>
85
+ )
86
+ : (
87
+ <TextButton
88
+ icon="icon icon-translate"
89
+ text={PowerduckState.getResourceValue('translateFromThisLanguage')}
90
+ clicked={() => {
91
+ this.translateValue(
92
+ this.getActualValue(this.currentLangId, this.value),
93
+ this.currentLangId,
94
+ this.langArr,
95
+ );
96
+ }}
97
+ />
98
+ );
99
+ }
100
+ }
@@ -314,5 +314,5 @@ class ModalComponent extends TsxComponent<ModalArgs> implements ModalArgs {
314
314
  }
315
315
 
316
316
  const Modal = toNative(ModalComponent);
317
- export const ModalType = typeof Modal.prototype;
317
+ export type ModalType = typeof Modal.prototype;
318
318
  export default Modal;
@@ -56,13 +56,11 @@ class PhotoManagerComponent extends TsxComponentExtended<PhotoManagerArgs> imple
56
56
  return [];
57
57
  }
58
58
 
59
- return this.photos.map((p, i) => {
60
- return {
61
- Id: p.id as any,
62
- ImageUrl: p.fullPath, // this.getFullPath(p),
63
- SortOrder: p.sortOrder,
64
- };
65
- });
59
+ return this.photos.map((p, i) => ({
60
+ Id: p.id as any,
61
+ ImageUrl: p.fullPath, // this.getFullPath(p),
62
+ SortOrder: p.sortOrder,
63
+ }));
66
64
  }
67
65
 
68
66
  getFullPath(img: Photo) {
@@ -71,7 +69,7 @@ class PhotoManagerComponent extends TsxComponentExtended<PhotoManagerArgs> imple
71
69
 
72
70
  parseServerResponse(resp): DropzoneGalleryItem {
73
71
  if (resp.fileData == null) {
74
- throw 'break';
72
+ throw new Error('break');
75
73
  }
76
74
 
77
75
  const retVal: PhotoManagerUberModel = resp.fileData;
@@ -90,7 +88,7 @@ class PhotoManagerComponent extends TsxComponentExtended<PhotoManagerArgs> imple
90
88
 
91
89
  render(h) {
92
90
  if (this.photos == null) {
93
- throw 'Photo collection cannot be null, always has to be at least empty array';
91
+ throw new Error('Photo collection cannot be null, always has to be at least empty array');
94
92
  }
95
93
 
96
94
  this.photos.forEach((p, i) => {
@@ -132,8 +130,6 @@ class PhotoManagerComponent extends TsxComponentExtended<PhotoManagerArgs> imple
132
130
  changed={(items) => {
133
131
  const itemsClone = [...(items || [])];
134
132
 
135
- console.log(items);
136
-
137
133
  this.photos.splice(0, this.photos.length);
138
134
  for (const p of itemsClone) {
139
135
  this.photos.push({
@@ -30,7 +30,7 @@ class ShareModalComponent extends TsxComponent<ShareComponentBindingArgs> implem
30
30
  // on success
31
31
  })
32
32
  .catch((error) => {
33
- console.log('Error sharing:', error);
33
+ console.error('Error sharing:', error);
34
34
  });
35
35
 
36
36
  return;
@@ -23,7 +23,7 @@ export class ShareHelper {
23
23
  // on success
24
24
  })
25
25
  .catch((error) => {
26
- console.log('Error sharing:', error);
26
+ console.error('Error sharing:', error);
27
27
  });
28
28
  }
29
29
  }
@@ -1,6 +1,6 @@
1
- export const SKILIFT_SVG: string = `
2
- <svg version="1.0" xmlns="http://www.w3.org/2000/svg" width="512.000000pt" height="512.000000pt" viewBox="0 0 512.000000 512.000000" preserveAspectRatio="xMidYMid meet">
3
- <g transform="translate(0.000000,512.000000) scale(0.100000,-0.100000)" fill="currentColor" stroke="none">
4
- <path d="M3911 4254 l-1153 -354 -40 34 c-77 66 -211 76 -290 20 -57 -40 -107 -107 -114 -153 l-6 -38 -1127 -345 -1126 -345 -3 -103 c-2 -94 -1 -102 15 -98 10 3 529 161 1154 353 l1135 347 43 -28 42 -29 -5 -55 c-2 -30 -21 -279 -42 -552 l-38 -498 -360 0 c-200 0 -390 -5 -426 -11 -173 -27 -319 -153 -371 -320 -18 -56 -19 -99 -19 -594 0 -495 1 -538 19 -594 50 -161 183 -281 350 -317 98 -20 1924 -20 2022 0 167 36 300 156 350 317 18 56 19 99 19 588 0 444 -2 536 -16 586 -44 170 -197 307 -374 335 -36 5 -227 10 -426 10 l-360 0 -38 498 c-21 273 -40 522 -43 552 -5 53 -4 56 25 73 40 23 72 69 93 131 l17 49 153 48 c85 26 309 95 499 153 852 260 1595 488 1598 490 1 2 1 48 0 103 l-3 100 -1154 -353z m-1913 -2666 l2 -358 -260 0 -260 0 0 353 c0 195 3 357 7 361 4 3 119 5 257 4 l251 -3 3 -357z m820 0 l2 -358 -260 0 -260 0 0 353 c0 195 3 357 7 361 4 3 119 5 257 4 l251 -3 3 -357z m820 0 l2 -358 -260 0 -260 0 0 353 c0 195 3 357 7 361 4 3 119 5 257 4 l251 -3 3 -357z"/>
5
- </g>
6
- </svg>`;
1
+ export const SKILIFT_SVG: string = `
2
+ <svg version="1.0" xmlns="http://www.w3.org/2000/svg" width="512.000000pt" height="512.000000pt" viewBox="0 0 512.000000 512.000000" preserveAspectRatio="xMidYMid meet">
3
+ <g transform="translate(0.000000,512.000000) scale(0.100000,-0.100000)" fill="currentColor" stroke="none">
4
+ <path d="M3911 4254 l-1153 -354 -40 34 c-77 66 -211 76 -290 20 -57 -40 -107 -107 -114 -153 l-6 -38 -1127 -345 -1126 -345 -3 -103 c-2 -94 -1 -102 15 -98 10 3 529 161 1154 353 l1135 347 43 -28 42 -29 -5 -55 c-2 -30 -21 -279 -42 -552 l-38 -498 -360 0 c-200 0 -390 -5 -426 -11 -173 -27 -319 -153 -371 -320 -18 -56 -19 -99 -19 -594 0 -495 1 -538 19 -594 50 -161 183 -281 350 -317 98 -20 1924 -20 2022 0 167 36 300 156 350 317 18 56 19 99 19 588 0 444 -2 536 -16 586 -44 170 -197 307 -374 335 -36 5 -227 10 -426 10 l-360 0 -38 498 c-21 273 -40 522 -43 552 -5 53 -4 56 25 73 40 23 72 69 93 131 l17 49 153 48 c85 26 309 95 499 153 852 260 1595 488 1598 490 1 2 1 48 0 103 l-3 100 -1154 -353z m-1913 -2666 l2 -358 -260 0 -260 0 0 353 c0 195 3 357 7 361 4 3 119 5 257 4 l251 -3 3 -357z m820 0 l2 -358 -260 0 -260 0 0 353 c0 195 3 357 7 361 4 3 119 5 257 4 l251 -3 3 -357z m820 0 l2 -358 -260 0 -260 0 0 353 c0 195 3 357 7 361 4 3 119 5 257 4 l251 -3 3 -357z"/>
5
+ </g>
6
+ </svg>`;
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "inviton-powerduck",
3
3
  "type": "module",
4
- "version": "0.0.136",
4
+ "version": "0.0.138",
5
5
  "files": [
6
6
  "app/",
7
7
  "common/",
@@ -49,6 +49,7 @@
49
49
  "jquery-minicolors": "2.1.10",
50
50
  "jquery-resizable": "1.0.6",
51
51
  "jspreadsheet-ce": "^4.15.0",
52
+ "jsuites": "5.11.0",
52
53
  "leaflet": "^1.9.4",
53
54
  "leaflet.markercluster": "^1.5.3",
54
55
  "mark.js": "8.11.1",