@pristy/pristy-libvue 2.18.3 → 2.19.0

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 (65) hide show
  1. package/dist/{ActivityHistory-CQmJgU40.js → ActivityHistory-_0tW0rvq.js} +46 -36
  2. package/dist/ActivityHistory-_0tW0rvq.js.map +1 -0
  3. package/dist/{BookmarksComponent-BdiLg2Er.js → BookmarksComponent-Cho18tdw.js} +2 -2
  4. package/dist/{BookmarksComponent-BdiLg2Er.js.map → BookmarksComponent-Cho18tdw.js.map} +1 -1
  5. package/dist/{ChartWrapper-CgUrZaUH.js → ChartWrapper-SxW9ySdd.js} +2 -2
  6. package/dist/{ChartWrapper-CgUrZaUH.js.map → ChartWrapper-SxW9ySdd.js.map} +1 -1
  7. package/dist/{DisplayFileInDashboardComponent-BitxF6kA.js → DisplayFileInDashboardComponent-DybH5peP.js} +2 -2
  8. package/dist/{DisplayFileInDashboardComponent-BitxF6kA.js.map → DisplayFileInDashboardComponent-DybH5peP.js.map} +1 -1
  9. package/dist/{ExternalApps-1f9eHjBf.js → ExternalApps-CAgQ4Fj6.js} +2 -2
  10. package/dist/{ExternalApps-1f9eHjBf.js.map → ExternalApps-CAgQ4Fj6.js.map} +1 -1
  11. package/dist/{FavoriteList-B-ySLbc4.js → FavoriteList-CIvIXlWH.js} +2 -2
  12. package/dist/{FavoriteList-B-ySLbc4.js.map → FavoriteList-CIvIXlWH.js.map} +1 -1
  13. package/dist/{MarkdownComponent-CLjB6lw1.js → MarkdownComponent-ClspMFPD.js} +2 -2
  14. package/dist/{MarkdownComponent-CLjB6lw1.js.map → MarkdownComponent-ClspMFPD.js.map} +1 -1
  15. package/dist/{SearchInput-BJRzn58R.js → SearchInput-DqVul-dd.js} +2 -2
  16. package/dist/{SearchInput-BJRzn58R.js.map → SearchInput-DqVul-dd.js.map} +1 -1
  17. package/dist/{UnknownBlockType-w2yffn4Y.js → UnknownBlockType-GuPCc_3z.js} +2 -2
  18. package/dist/{UnknownBlockType-w2yffn4Y.js.map → UnknownBlockType-GuPCc_3z.js.map} +1 -1
  19. package/dist/{index-Dh35mLnd.js → index-Bat41R_Q.js} +10175 -9585
  20. package/dist/index-Bat41R_Q.js.map +1 -0
  21. package/dist/{jszip.min-BrmBkVmG.js → jszip.min-BNqdRFyY.js} +445 -443
  22. package/dist/jszip.min-BNqdRFyY.js.map +1 -0
  23. package/dist/pristy-libvue.css +1 -1
  24. package/dist/pristy-libvue.es.js +1 -1
  25. package/dist/pristy-libvue.umd.js +30 -22
  26. package/dist/pristy-libvue.umd.js.map +1 -1
  27. package/dist/src/components/classification/AdminClassificationPage.vue.d.ts +3 -0
  28. package/dist/src/components/classification/FieldForm.vue.d.ts +3 -0
  29. package/dist/src/components/classification/FieldForm.vue.d.ts.map +1 -1
  30. package/dist/src/components/dashboard/DashboardAdminPage.vue.d.ts +72 -0
  31. package/dist/src/components/dashboard/DashboardComponent.vue.d.ts +11 -0
  32. package/dist/src/components/dashboard/editor/BlockConfigEditor.vue.d.ts +61 -0
  33. package/dist/src/components/dashboard/editor/DashboardEditor.vue.d.ts +72 -0
  34. package/dist/src/components/dashboard/editor/block-configs/MyActivityConfig.vue.d.ts +66 -0
  35. package/dist/src/components/dashboard/editor/block-configs/MyActivityConfig.vue.d.ts.map +1 -0
  36. package/dist/src/components/dashboard/widgets/ActivityHistory.vue.d.ts +11 -0
  37. package/dist/src/components/navigation/DynamicContentView.vue.d.ts +29 -5
  38. package/dist/src/components/navigation/DynamicContentView.vue.d.ts.map +1 -1
  39. package/dist/src/components/navigation/PreviewPanel.vue.d.ts +10 -0
  40. package/dist/src/components/popup/SendMailPopup.vue.d.ts +31 -5
  41. package/dist/src/components/popup/SendMailPopup.vue.d.ts.map +1 -1
  42. package/dist/src/components/search/AdvancedSearchPanel.vue.d.ts +1 -1
  43. package/dist/src/components/search/AdvancedSearchPanel.vue.d.ts.map +1 -1
  44. package/dist/src/components/search/AdvancedViewPanel.vue.d.ts +1 -1
  45. package/dist/src/components/search/ExactSearch.vue.d.ts.map +1 -1
  46. package/dist/src/components/search/SaveViewPopup.vue.d.ts +1 -1
  47. package/dist/src/components/viewer/PDFComponent.vue.d.ts +10 -0
  48. package/dist/src/components/viewer/PDFComponent.vue.d.ts.map +1 -1
  49. package/dist/src/components/viewer/PdfSignaturePanel.vue.d.ts +9 -0
  50. package/dist/src/components/viewer/PdfSignaturePanel.vue.d.ts.map +1 -0
  51. package/dist/src/composables/useClassificationPlan.d.ts.map +1 -1
  52. package/dist/src/i18n/index.d.ts +74 -0
  53. package/dist/src/i18n/index.d.ts.map +1 -1
  54. package/dist/src/services/PdfSignatureService.d.ts +2 -0
  55. package/dist/src/services/PdfSignatureService.d.ts.map +1 -0
  56. package/dist/src/services/userSearchQuery.d.ts +31 -0
  57. package/dist/src/services/userSearchQuery.d.ts.map +1 -0
  58. package/dist/src/stores/search.d.ts +2 -0
  59. package/dist/src/stores/search.d.ts.map +1 -1
  60. package/dist/src/utils/classificationPlanUtils.d.ts +16 -0
  61. package/dist/src/utils/classificationPlanUtils.d.ts.map +1 -1
  62. package/package.json +11 -9
  63. package/dist/ActivityHistory-CQmJgU40.js.map +0 -1
  64. package/dist/index-Dh35mLnd.js.map +0 -1
  65. package/dist/jszip.min-BrmBkVmG.js.map +0 -1
@@ -53,6 +53,8 @@ declare const _default: DefineComponent<ExtractPropTypes<{
53
53
  showFormFieldsDialog: boolean;
54
54
  formFieldsData: any[];
55
55
  formFieldValues: {};
56
+ signatures: any[];
57
+ showSignaturesDialog: boolean;
56
58
  }, {
57
59
  getVersionNumber(): string;
58
60
  getFileName(): any;
@@ -60,6 +62,7 @@ declare const _default: DefineComponent<ExtractPropTypes<{
60
62
  isRightButtonDisable(): boolean;
61
63
  isPdfConsultationPage(): any;
62
64
  isSmallScreen(): boolean;
65
+ hasSignatures(): boolean;
63
66
  }, {
64
67
  changePdfDisplay(): void;
65
68
  setDefaultViewport(): void;
@@ -98,6 +101,7 @@ declare const _default: DefineComponent<ExtractPropTypes<{
98
101
  */
99
102
  getLockedFormBytes(): Promise<Uint8Array | null>;
100
103
  onAnnotation(value: any): void;
104
+ checkSignatures(): Promise<void>;
101
105
  checkFormFields(): Promise<void>;
102
106
  /**
103
107
  * Drop the ReadOnly flags of the form so its fields become fillable.
@@ -422,6 +426,12 @@ declare const _default: DefineComponent<ExtractPropTypes<{
422
426
  }): any;
423
427
  };
424
428
  });
429
+ PdfSignaturePanel: DefineComponent<{}, {
430
+ signatures: unknown[];
431
+ $props: {
432
+ readonly signatures?: unknown[];
433
+ };
434
+ }, {}, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, {}, string, PublicProps, Readonly<{}> & Readonly<{}>, {}, {}, {}, {}, string, ComponentProvideOptions, true, {}, any>;
425
435
  PrimeButton: DefineComponent<ButtonProps, ButtonSlots, (e: string, ...args: any[]) => void>;
426
436
  PrimeProgressSpinner: DefineComponent<ProgressSpinnerProps, ProgressSpinnerSlots, (e: string, ...args: any[]) => void>;
427
437
  PrimeDivider: DefineComponent<DividerProps, DividerSlots, (e: string, ...args: any[]) => void>;
@@ -1 +1 @@
1
- {"version":3,"file":"PDFComponent.vue.d.ts","sourceRoot":"","sources":["../../../../src/components/viewer/PDFComponent.vue"],"names":[],"mappings":";;;;;;;;;;;;;AAkRA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAqkCI;;;;;;;OAOG;wBADU,MAAM,GAAC;QAAC,IAAI,EAAE,UAAU,CAAA;KAAC;;;;;;;;IA8DtC;;;;;OAKG;0BADU,OAAO,CAAC,UAAU,GAAC,IAAI,CAAC;;;IAgFrC;;;;;;;OAOG"}
1
+ {"version":3,"file":"PDFComponent.vue.d.ts","sourceRoot":"","sources":["../../../../src/components/viewer/PDFComponent.vue"],"names":[],"mappings":";;;;;;;;;;;;;AAwSA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IA2nCI;;;;;;;OAOG;wBADU,MAAM,GAAC;QAAC,IAAI,EAAE,UAAU,CAAA;KAAC;;;;;;;;IA+DtC;;;;;OAKG;0BADU,OAAO,CAAC,UAAU,GAAC,IAAI,CAAC;;;;IA6FrC;;;;;;;OAOG"}
@@ -0,0 +1,9 @@
1
+ import { DefineComponent, ComponentOptionsMixin, PublicProps, ComponentProvideOptions } from 'vue';
2
+ declare const _default: DefineComponent<{}, {
3
+ signatures: unknown[];
4
+ $props: {
5
+ readonly signatures?: unknown[];
6
+ };
7
+ }, {}, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, {}, string, PublicProps, Readonly<{}> & Readonly<{}>, {}, {}, {}, {}, string, ComponentProvideOptions, true, {}, any>;
8
+ export default _default;
9
+ //# sourceMappingURL=PdfSignaturePanel.vue.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"PdfSignaturePanel.vue.d.ts","sourceRoot":"","sources":["../../../../src/components/viewer/PdfSignaturePanel.vue"],"names":[],"mappings":";AA0FA;"}
@@ -1 +1 @@
1
- {"version":3,"file":"useClassificationPlan.d.ts","sourceRoot":"","sources":["../../../src/composables/useClassificationPlan.js"],"names":[],"mappings":";AASA;;;;;;;;;GASG;AACH,mIANG;IAA2C,WAAW,EAA9C,OAAO,KAAK,EAAE,GAAG,KAAQ;IACU,cAAc,EAAjD,OAAO,KAAK,EAAE,GAAG,KAAQ;IACe,cAAc,EAAtD,OAAO,KAAK,EAAE,GAAG,CAAC,MAAO,IAAI,CAAC;IACU,mBAAmB,EAA3D,OAAO,KAAK,EAAE,GAAG,CAAC,MAAM,GAAC,IAAI,CAAC;IACb,KAAK;CAChC;;;;;;;;;;;;;;;;;;;EAsaA"}
1
+ {"version":3,"file":"useClassificationPlan.d.ts","sourceRoot":"","sources":["../../../src/composables/useClassificationPlan.js"],"names":[],"mappings":";AAUA;;;;;;;;;GASG;AACH,mIANG;IAA2C,WAAW,EAA9C,OAAO,KAAK,EAAE,GAAG,KAAQ;IACU,cAAc,EAAjD,OAAO,KAAK,EAAE,GAAG,KAAQ;IACe,cAAc,EAAtD,OAAO,KAAK,EAAE,GAAG,CAAC,MAAO,IAAI,CAAC;IACU,mBAAmB,EAA3D,OAAO,KAAK,EAAE,GAAG,CAAC,MAAM,GAAC,IAAI,CAAC;IACb,KAAK;CAChC;;;;;;;;;;;;;;;;;;;EA0bA"}
@@ -362,6 +362,29 @@ declare const i18n: I18n<{
362
362
  formFieldName: string;
363
363
  formFieldType: string;
364
364
  formFieldValue: string;
365
+ showSignatures: string;
366
+ signaturePanelTitle: string;
367
+ signature: {
368
+ unknownSigner: string;
369
+ modifiedAfter: string;
370
+ signedAgain: string;
371
+ declaredDate: string;
372
+ timestampDate: string;
373
+ reason: string;
374
+ location: string;
375
+ organization: string;
376
+ issuer: string;
377
+ certificateValidity: string;
378
+ certificateValidityValue: string;
379
+ notVerified: string;
380
+ standard: {
381
+ PADES: string;
382
+ ADOBE_PKCS7: string;
383
+ ADOBE_X509: string;
384
+ TIMESTAMP: string;
385
+ UNKNOWN: string;
386
+ };
387
+ };
365
388
  };
366
389
  sharelink: {
367
390
  shareLinkOf: string;
@@ -913,9 +936,11 @@ declare const i18n: I18n<{
913
936
  sendingMail: {
914
937
  addCc: string;
915
938
  addCci: string;
939
+ searchRecipient: string;
916
940
  popup: {
917
941
  defaultSubject: string;
918
942
  defaultMessage: string;
943
+ defaultMessageNoExpiry: string;
919
944
  };
920
945
  errors: {
921
946
  errorEmptyEmail: string;
@@ -1330,6 +1355,14 @@ declare const i18n: I18n<{
1330
1355
  placeholder: string;
1331
1356
  };
1332
1357
  };
1358
+ dateFormat: {
1359
+ title: string;
1360
+ format: {
1361
+ label: string;
1362
+ help: string;
1363
+ preview: string;
1364
+ };
1365
+ };
1333
1366
  numberConstraints: {
1334
1367
  title: string;
1335
1368
  default: {
@@ -1852,6 +1885,9 @@ declare const i18n: I18n<{
1852
1885
  favoritesFilterSite: string;
1853
1886
  favoritesSiteId: string;
1854
1887
  favoritesSiteIdPlaceholder: string;
1888
+ activityScope: string;
1889
+ activityScopeAll: string;
1890
+ activityScopeMine: string;
1855
1891
  isVerticalLayout: string;
1856
1892
  noConfigNeeded: string;
1857
1893
  apply: string;
@@ -1890,6 +1926,7 @@ declare const i18n: I18n<{
1890
1926
  linksJson: string;
1891
1927
  favoritesFilter: string;
1892
1928
  favoritesSiteId: string;
1929
+ activityScope: string;
1893
1930
  isVerticalLayout: string;
1894
1931
  };
1895
1932
  examples: {
@@ -2288,6 +2325,29 @@ declare const i18n: I18n<{
2288
2325
  formFieldName: string;
2289
2326
  formFieldType: string;
2290
2327
  formFieldValue: string;
2328
+ showSignatures: string;
2329
+ signaturePanelTitle: string;
2330
+ signature: {
2331
+ unknownSigner: string;
2332
+ modifiedAfter: string;
2333
+ signedAgain: string;
2334
+ declaredDate: string;
2335
+ timestampDate: string;
2336
+ reason: string;
2337
+ location: string;
2338
+ organization: string;
2339
+ issuer: string;
2340
+ certificateValidity: string;
2341
+ certificateValidityValue: string;
2342
+ notVerified: string;
2343
+ standard: {
2344
+ PADES: string;
2345
+ ADOBE_PKCS7: string;
2346
+ ADOBE_X509: string;
2347
+ TIMESTAMP: string;
2348
+ UNKNOWN: string;
2349
+ };
2350
+ };
2291
2351
  };
2292
2352
  sharelink: {
2293
2353
  shareLinkOf: string;
@@ -2837,9 +2897,11 @@ declare const i18n: I18n<{
2837
2897
  sendingMail: {
2838
2898
  addCc: string;
2839
2899
  addCci: string;
2900
+ searchRecipient: string;
2840
2901
  popup: {
2841
2902
  defaultSubject: string;
2842
2903
  defaultMessage: string;
2904
+ defaultMessageNoExpiry: string;
2843
2905
  };
2844
2906
  errors: {
2845
2907
  errorEmptyEmail: string;
@@ -3254,6 +3316,14 @@ declare const i18n: I18n<{
3254
3316
  placeholder: string;
3255
3317
  };
3256
3318
  };
3319
+ dateFormat: {
3320
+ title: string;
3321
+ format: {
3322
+ label: string;
3323
+ help: string;
3324
+ preview: string;
3325
+ };
3326
+ };
3257
3327
  numberConstraints: {
3258
3328
  title: string;
3259
3329
  default: {
@@ -3776,6 +3846,9 @@ declare const i18n: I18n<{
3776
3846
  favoritesFilterSite: string;
3777
3847
  favoritesSiteId: string;
3778
3848
  favoritesSiteIdPlaceholder: string;
3849
+ activityScope: string;
3850
+ activityScopeAll: string;
3851
+ activityScopeMine: string;
3779
3852
  isVerticalLayout: string;
3780
3853
  noConfigNeeded: string;
3781
3854
  apply: string;
@@ -3814,6 +3887,7 @@ declare const i18n: I18n<{
3814
3887
  linksJson: string;
3815
3888
  favoritesFilter: string;
3816
3889
  favoritesSiteId: string;
3890
+ activityScope: string;
3817
3891
  isVerticalLayout: string;
3818
3892
  };
3819
3893
  examples: {
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/i18n/index.js"],"names":[],"mappings":";;AAsBA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;yBAOG"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/i18n/index.js"],"names":[],"mappings":";;AAsBA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;yBAOG"}
@@ -0,0 +1,2 @@
1
+ export function extractSignatures(bytes: Uint8Array): Promise<Array<object>>;
2
+ //# sourceMappingURL=PdfSignatureService.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"PdfSignatureService.d.ts","sourceRoot":"","sources":["../../../src/services/PdfSignatureService.js"],"names":[],"mappings":"AAmOO,yCAHI,UAAU,GACR,OAAO,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAqClC"}
@@ -0,0 +1,31 @@
1
+ /**
2
+ * Splits a raw user input into search terms.
3
+ *
4
+ * A double-quoted segment yields a single term, so it keeps being rendered as
5
+ * a phrase by the SEARCH_USER_QUERY template.
6
+ *
7
+ * @param {string} userQuery raw user input
8
+ * @returns {string[]} the terms, in input order
9
+ */
10
+ export function splitUserQueryTerms(userQuery: string): string[];
11
+ /**
12
+ * Builds the loose (non exact) AFTS query: the SEARCH_USER_QUERY template is
13
+ * applied to each term separately and the resulting blocks are joined with
14
+ * AND, so a document matches when every term is found, whichever field holds
15
+ * it.
16
+ *
17
+ * @param {string} template SEARCH_USER_QUERY, holding %s placeholders
18
+ * @param {string} userQuery raw user input
19
+ * @returns {string} the AFTS query
20
+ */
21
+ export function buildLooseUserQuery(template: string, userQuery: string): string;
22
+ /**
23
+ * Builds the exact AFTS query: the whole input is rendered as a single phrase
24
+ * and the template wildcards are dropped.
25
+ *
26
+ * @param {string} template SEARCH_USER_QUERY, holding %s placeholders
27
+ * @param {string} userQuery raw user input
28
+ * @returns {string} the AFTS query
29
+ */
30
+ export function buildExactUserQuery(template: string, userQuery: string): string;
31
+ //# sourceMappingURL=userSearchQuery.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"userSearchQuery.d.ts","sourceRoot":"","sources":["../../../src/services/userSearchQuery.js"],"names":[],"mappings":"AAmBA;;;;;;;;GAQG;AACH,+CAHW,MAAM,GACJ,MAAM,EAAE,CAWpB;AAED;;;;;;;;;GASG;AACH,8CAJW,MAAM,aACN,MAAM,GACJ,MAAM,CAQlB;AAED;;;;;;;GAOG;AACH,8CAJW,MAAM,aACN,MAAM,GACJ,MAAM,CAIlB"}
@@ -32,6 +32,8 @@ import { ResultSetPaging } from '@alfresco/js-api';
32
32
  * Actions:
33
33
  * - reset: Resets the store state to its initial configuration using default values and external configurations.
34
34
  * - defineUserQuery(userQuery): Constructs and updates the search query using the provided user input.
35
+ * Exact search renders the whole input as one phrase; loose search matches every term of the input,
36
+ * whichever field holds it.
35
37
  * - queryStore(searchInput, page): Executes the configured search query and updates the store with the results.
36
38
  * - addSortField(sortField): Adds a custom sort criterion.
37
39
  * - removeSortField: Clears the existing sort configuration.
@@ -1 +1 @@
1
- {"version":3,"file":"search.d.ts","sourceRoot":"","sources":["../../../src/stores/search.js"],"names":[],"mappings":";;AAoBA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAuCG;AACH;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IA6KI;;;;OAIG;2BAFe,KAAK,GACV,OAAO;;IA8BpB;;;;OAIG;qBAFe,KAAK,GACV,OAAO;;GAiBrB"}
1
+ {"version":3,"file":"search.d.ts","sourceRoot":"","sources":["../../../src/stores/search.js"],"names":[],"mappings":";;AAwBA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAyCG;AACH;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAuKI;;;;OAIG;2BAFe,KAAK,GACV,OAAO;;IA8BpB;;;;OAIG;qBAFe,KAAK,GACV,OAAO;;GAiBrB"}
@@ -1,3 +1,19 @@
1
+ /**
2
+ * Parse a field value into a Date expressed in the browser's own time zone.
3
+ * @param {*} value - a Date, or a string to be validated by re-parsing
4
+ * @returns {Date|null} null when the value is not a usable date
5
+ */
6
+ export function parseLocalDate(value: any): Date | null;
7
+ /**
8
+ * Format a field value for use inside a generated name (file or folder).
9
+ * A date field is rendered with its `format`, falling back to an ISO-like
10
+ * default that contains no character forbidden by the Alfresco cm:name
11
+ * constraint. Any other field type is stringified unchanged.
12
+ * @param {*} value - raw field value
13
+ * @param {Object} [fieldDef] - field definition from the plan's FIELDS
14
+ * @returns {string}
15
+ */
16
+ export function formatFieldValue(value: any, fieldDef?: any): string;
1
17
  /**
2
18
  * Extract variable names from a template string.
3
19
  * Supports ${var} and ${var:filter} syntax.
@@ -1 +1 @@
1
- {"version":3,"file":"classificationPlanUtils.d.ts","sourceRoot":"","sources":["../../../src/utils/classificationPlanUtils.js"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,2CAHW,MAAM,GACJ,MAAM,EAAE,CASpB;AAED;;;;;;;;;GASG;AACH,0CALW,MAAM,gCAGJ,MAAM,CAkClB;AAED;;;;;;;GAOG;AACH,wCAHW,MAAM,GACJ;IAAE,QAAQ,EAAE,MAAM,CAAC;IAAC,SAAS,EAAE,MAAM,CAAC;IAAC,SAAS,EAAE,MAAM,CAAA;CAAE,CAYtE;AAED;;;;;;;;GAQG;AACH,+CALW,MAAM,aACN,MAAM,aACN,MAAM,GACJ,MAAM,CAOlB;AAED;;;;;GAKG;AACH,+CAJW,MAAM,EAAE,iBACR,MAAM,EAAE,GACN,MAAM,EAAE,CA4CpB;AAED;;;;;;GAMG;AACH,6CAJW,MAAM,YACN,GAAG,CAAC,MAAM,MAAS,GACjB;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,UAAU,EAAE,KAAK,CAAC;QAAC,SAAS,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,MAAM,CAAA;KAAC,CAAC,CAAA;CAAE,GAAG,IAAI,CA0D/F;AAED;;;;;GAKG;AACH,qDAHW,MAAM,GACJ,MAAM,CAKlB;AAED;;;;;;GAMG;AACH,mDALW,MAAM,kCAGJ;IAAE,MAAM,MAAS;IAAC,iBAAiB,MAAQ;CAAE,GAAG,IAAI,CAoDhE"}
1
+ {"version":3,"file":"classificationPlanUtils.d.ts","sourceRoot":"","sources":["../../../src/utils/classificationPlanUtils.js"],"names":[],"mappings":"AAMA;;;;GAIG;AACH,sCAHW,GAAC,GACC,IAAI,GAAC,IAAI,CA8BrB;AAED;;;;;;;;GAQG;AACH,wCAJW,GAAC,mBAEC,MAAM,CAgBlB;AAED;;;;;GAKG;AACH,2CAHW,MAAM,GACJ,MAAM,EAAE,CASpB;AAED;;;;;;;;;GASG;AACH,0CALW,MAAM,gCAGJ,MAAM,CAkClB;AAED;;;;;;;GAOG;AACH,wCAHW,MAAM,GACJ;IAAE,QAAQ,EAAE,MAAM,CAAC;IAAC,SAAS,EAAE,MAAM,CAAC;IAAC,SAAS,EAAE,MAAM,CAAA;CAAE,CAYtE;AAED;;;;;;;;GAQG;AACH,+CALW,MAAM,aACN,MAAM,aACN,MAAM,GACJ,MAAM,CAOlB;AAED;;;;;GAKG;AACH,+CAJW,MAAM,EAAE,iBACR,MAAM,EAAE,GACN,MAAM,EAAE,CA4CpB;AAED;;;;;;GAMG;AACH,6CAJW,MAAM,YACN,GAAG,CAAC,MAAM,MAAS,GACjB;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,UAAU,EAAE,KAAK,CAAC;QAAC,SAAS,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,MAAM,CAAA;KAAC,CAAC,CAAA;CAAE,GAAG,IAAI,CA0D/F;AAED;;;;;GAKG;AACH,qDAHW,MAAM,GACJ,MAAM,CAKlB;AAED;;;;;;GAMG;AACH,mDALW,MAAM,kCAGJ;IAAE,MAAM,MAAS;IAAC,iBAAiB,MAAQ;CAAE,GAAG,IAAI,CAoDhE"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@pristy/pristy-libvue",
3
- "version": "2.18.3",
3
+ "version": "2.19.0",
4
4
  "description": "Core library used by all Pristy applications",
5
5
  "homepage": "https://pristy.fr/en/",
6
6
  "author": "JECI SARL",
@@ -52,7 +52,7 @@
52
52
  "@codemirror/lint": "^6.9.7",
53
53
  "@codemirror/merge": "^6.12.2",
54
54
  "@codemirror/search": "^6.7.2",
55
- "@codemirror/state": "^6.7.2",
55
+ "@codemirror/state": "^6.7.4",
56
56
  "@codemirror/theme-one-dark": "^6.1.3",
57
57
  "@codemirror/view": "^6.43.11",
58
58
  "codemirror": "6.0.2",
@@ -71,12 +71,13 @@
71
71
  "@primevue/core": "^4.3.3",
72
72
  "@tato30/vue-pdf": "^1.11.5",
73
73
  "@vueuse/core": "^12.8.2",
74
+ "asn1js": "^3.0.10",
74
75
  "async-retry": "^1.3.3",
75
76
  "axios": "^1.20.0",
76
- "dompurify": "^3.4.14",
77
+ "dompurify": "^3.4.15",
77
78
  "email-validator": "^2.0.4",
78
79
  "highlight.js": "^11.12.0",
79
- "jszip": "^3.10.1",
80
+ "jszip": "^3.10.2",
80
81
  "keycloak-js": "^26.2.4",
81
82
  "marked": "^16.4.2",
82
83
  "marked-highlight": "^2.2.4",
@@ -84,6 +85,7 @@
84
85
  "p-limit": "^6.2.0",
85
86
  "pdf-lib": "^1.17.1",
86
87
  "pinia": "^2.3.1",
88
+ "pkijs": "^3.4.0",
87
89
  "primevue": "^4.5.5",
88
90
  "quick-lru": "^7.3.0",
89
91
  "sanitize-html": "^2.17.7",
@@ -95,21 +97,21 @@
95
97
  "@eslint/js": "^10.0.1",
96
98
  "@vitejs/plugin-legacy": "^7.2.1",
97
99
  "@vitejs/plugin-vue": "^6.0.8",
98
- "@vitest/coverage-v8": "^3.2.7",
100
+ "@vitest/coverage-v8": "^5.0.0",
99
101
  "@vue/test-utils": "^2.5.0",
100
- "eslint": "^10.9.1",
102
+ "eslint": "^10.10.0",
101
103
  "eslint-plugin-prettier": "^5.5.6",
102
- "eslint-plugin-vue": "^10.10.0",
104
+ "eslint-plugin-vue": "^10.11.0",
103
105
  "globals": "^17.12.0",
104
106
  "jsdom": "^27.4.0",
105
107
  "prettier": "^3.9.6",
106
108
  "rollup-plugin-visualizer": "^6.0.11",
107
- "sass": "^1.103.1",
109
+ "sass": "^1.104.0",
108
110
  "svgo": "^4.1.0",
109
111
  "typescript": "^6.0.3",
110
112
  "vite": "^7.3.6",
111
113
  "vite-plugin-dts": "^4.5.4",
112
- "vitest": "^3.2.4"
114
+ "vitest": "^5.0.0"
113
115
  },
114
116
  "browserslist": [
115
117
  "defaults",
@@ -1 +0,0 @@
1
- {"version":3,"file":"ActivityHistory-CQmJgU40.js","sources":["../src/components/dashboard/widgets/ActivityHistory.vue"],"sourcesContent":["<!--\n Copyright (C) 2022 - Jeci SARL - https://jeci.fr\n\n This program is free software: you can redistribute it and/or modify\n it under the terms of the GNU Affero General Public License as\n published by the Free Software Foundation, either version 3 of the\n License, or (at your option) any later version.\n\n This program is distributed in the hope that it will be useful,\n but WITHOUT ANY WARRANTY; without even the implied warranty of\n MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n GNU Affero General Public License for more details.\n\n You should have received a copy of the GNU Affero General Public License\n along with this program. If not, see https://www.gnu.org/licenses/agpl-3.0.html.\n-->\n<template>\n <div ref=\"container\" class=\"activity-container\" @click=\"onActivityClick\">\n <PrimeDataView\n :value=\"groupedActivities\"\n paginator\n :rows=\"visibleRows\"\n layout=\"list\"\n >\n <template #empty>\n {{ $t(\"emptyActivityHistory\") }}\n </template>\n <template #list=\"slotProps\">\n <div>\n <div\n v-for=\"group in slotProps.items\"\n :key=\"group.entry.id\"\n class=\"activity-row\"\n >\n <i\n :class=\"getIcon(group.entry.activityType)\"\n class=\"activity-icon\"\n aria-hidden=\"true\"\n ></i>\n\n <div class=\"activity-content\">\n <p class=\"activity-text\">\n <strong\n v-tooltip.bottom=\"group.entry.postPersonId\"\n class=\"cursor-default\"\n >\n {{ getUserDisplayName(group.entry) }}\n </strong>\n <!-- eslint-disable-next-line vue/no-v-html -- Activity messages contain safe HTML with escaped user content -->\n <span v-html=\"' ' + getActivityMessageHtml(group.entry)\"></span>\n <span v-if=\"group.count > 1\" class=\"activity-count\">\n (+{{ group.count - 1 }})\n </span>\n </p>\n <p class=\"activity-date\">\n {{ formatDateTime(group.entry.postedAt) }}\n </p>\n </div>\n </div>\n </div>\n </template>\n </PrimeDataView>\n </div>\n</template>\n\n<script>\nimport { activitiesApi } from \"@/AlfrescoApi.js\";\nimport formatService from \"@/services/FormatService.js\";\nimport { useConfigStore } from \"@/stores/config\";\nimport { mapState } from \"pinia\";\nimport DataView from \"primevue/dataview\";\nimport Tooltip from \"primevue/tooltip\";\n\nexport default {\n name: \"ActivityHistory\",\n components: {\n PrimeDataView: DataView,\n },\n directives: {\n tooltip: Tooltip,\n },\n props: {\n urlResolver: {\n type: Function,\n default: null,\n },\n },\n data() {\n return {\n activities: null,\n visibleRows: 5,\n resizeObserver: null,\n };\n },\n computed: {\n ...mapState(useConfigStore, [\"ESPACES_HOST\"]),\n groupedActivities() {\n if (!this.activities) {\n return [];\n }\n const groups = [];\n for (const activity of this.activities) {\n const prev = groups[groups.length - 1];\n if (prev && this.isSameGroup(prev.entry, activity.entry)) {\n prev.count++;\n } else {\n groups.push({ entry: activity.entry, count: 1 });\n }\n }\n return groups;\n },\n },\n mounted() {\n this.getActivity();\n this.resizeObserver = new ResizeObserver(() => this.computeVisibleRows());\n this.resizeObserver.observe(this.$refs.container);\n },\n beforeUnmount() {\n if (this.resizeObserver) {\n this.resizeObserver.disconnect();\n }\n },\n methods: {\n isSameGroup(a, b) {\n return (\n a.postPersonId === b.postPersonId &&\n a.activitySummary?.objectId === b.activitySummary?.objectId &&\n a.activitySummary?.objectId !== undefined\n );\n },\n computeVisibleRows() {\n const container = this.$refs.container;\n if (!container) {\n return;\n }\n const ROW_HEIGHT = 52;\n const PAGINATOR_HEIGHT = 50;\n const available = container.clientHeight - PAGINATOR_HEIGHT;\n const rows = Math.max(3, Math.floor(available / ROW_HEIGHT));\n this.visibleRows = rows;\n },\n reloadData() {\n this.getActivity();\n },\n formatDateTime(date) {\n return formatService.formatDateTime(date);\n },\n getIcon(type) {\n if (!type) {\n return \"ri-information-line\";\n }\n\n const exactIconMap = {\n \"org.alfresco.documentlibrary.file-downloaded\": \"ri-download-line\",\n \"org.alfresco.documentlibrary.file-added\": \"ri-add-circle-line\",\n \"org.alfresco.site.user-joined\": \"ri-user-add-line\",\n \"org.alfresco.site.user-left\": \"ri-user-unfollow-line\",\n \"org.alfresco.site.user-role-changed\": \"ri-user-settings-line\",\n \"org.alfresco.calendar.event-created\": \"ri-calendar-check-line\",\n \"org.alfresco.calendar.event-updated\": \"ri-calendar-line\",\n \"org.alfresco.calendar.event-deleted\": \"ri-calendar-close-line\",\n \"org.alfresco.blog.post-created\": \"ri-article-line\",\n \"org.alfresco.blog.post-updated\": \"ri-article-line\",\n \"org.alfresco.blog.post-deleted\": \"ri-delete-bin-line\",\n \"org.alfresco.links.link-created\": \"ri-link\",\n \"org.alfresco.links.link-updated\": \"ri-link\",\n \"org.alfresco.links.link-deleted\": \"ri-delete-bin-line\",\n };\n\n if (exactIconMap[type]) {\n return exactIconMap[type];\n }\n\n if (type.includes(\"deleted\")) {\n return \"ri-delete-bin-line\";\n }\n if (type.includes(\"added\") || type.includes(\"created\")) {\n return \"ri-add-circle-line\";\n }\n if (type.includes(\"updated\") || type.includes(\"edited\")) {\n return \"ri-edit-line\";\n }\n if (type.includes(\"downloaded\")) {\n return \"ri-download-line\";\n }\n if (type.includes(\"comment\")) {\n return \"ri-chat-3-line\";\n }\n if (type.includes(\"discussion\") || type.includes(\"reply\")) {\n return \"ri-discuss-line\";\n }\n if (type.includes(\"user-joined\")) {\n return \"ri-user-add-line\";\n }\n if (type.includes(\"user-left\")) {\n return \"ri-user-unfollow-line\";\n }\n if (type.includes(\"role-changed\")) {\n return \"ri-user-settings-line\";\n }\n\n return \"ri-information-line\";\n },\n getUserDisplayName(entry) {\n const summary = entry.activitySummary || {};\n if (\n entry.activityType.includes(\"user-role-changed\") ||\n entry.activityType.includes(\"user-joined\") ||\n entry.activityType.includes(\"user-left\")\n ) {\n const first = summary.memberFirstName || summary.firstName || \"\";\n const last = summary.memberLastName || summary.lastName || \"\";\n return (first + \" \" + last).trim() || entry.postPersonId;\n }\n const first = summary.firstName || \"\";\n const last = summary.lastName || \"\";\n return (first + \" \" + last).trim() || entry.postPersonId;\n },\n getObjectUrl(entry) {\n const summary = entry.activitySummary || {};\n if (!summary.objectId || !this.ESPACES_HOST) {\n return null;\n }\n if (entry.activityType.includes(\"folder\")) {\n return `${this.ESPACES_HOST}/espaces/mes-espaces/dossier/${summary.objectId}`;\n }\n return `${this.ESPACES_HOST}/espaces/${summary.objectId}`;\n },\n escapeHtml(text) {\n const div = document.createElement(\"div\");\n div.textContent = text;\n return div.innerHTML;\n },\n getActivitiesMessages() {\n // Activity type keys contain dots (e.g. \"org.alfresco.documentlibrary.file-added\")\n // which $t() interprets as nested path separators.\n // Use $tm() to get the raw message object for the \"activities\" key.\n const raw = this.$tm(\"activities\");\n if (raw && typeof raw === \"object\") {\n // $tm() returns reactive message objects; convert values to plain strings\n const messages = {};\n for (const key of Object.keys(raw)) {\n const val = raw[key];\n messages[key] =\n typeof val === \"string\" ? val : val?.toString?.() || String(val);\n }\n return messages;\n }\n return {};\n },\n getActivityMessageHtml(entry) {\n const summary = entry.activitySummary || {};\n const title = summary.title || \"\";\n const activities = this.getActivitiesMessages();\n\n const params = {\n title: title,\n firstName: summary.firstName || \"\",\n siteName: summary.siteName || \"\",\n newTitle: summary.newTitle || \"\",\n role: this.$t(`role.${summary.role}`, summary.role || \"\"),\n type: entry.activityType,\n };\n\n let message = activities[entry.activityType] || activities[\"unknown\"];\n if (!message) {\n return this.escapeHtml(entry.activityType);\n }\n\n // Interpolate all params except title\n Object.keys(params).forEach((key) => {\n if (key === \"title\") {\n return;\n }\n message = message.replace(\n new RegExp(`\\\\{${key}\\\\}`, \"g\"),\n this.escapeHtml(params[key]),\n );\n });\n\n // Escape the rest of the message\n // Split around {title} placeholders, escape each part, then rejoin with the link\n if (title) {\n const summary = entry.activitySummary || {};\n const objectId = summary.objectId;\n const escapedTitle = this.escapeHtml(title);\n let titleHtml;\n if (this.urlResolver && objectId) {\n const siteId = entry.siteId || \"\";\n titleHtml = `<a href=\"javascript:void(0)\" data-object-id=\"${this.escapeHtml(objectId)}\" data-site-id=\"${this.escapeHtml(siteId)}\" data-is-folder=\"${entry.activityType.includes(\"folder\")}\" class=\"activity-link\">${escapedTitle}</a>`;\n } else {\n const url = this.getObjectUrl(entry);\n titleHtml = url\n ? `<a href=\"${this.escapeHtml(url)}\" target=\"_blank\" rel=\"noopener noreferrer\" class=\"activity-link\">${escapedTitle}</a>`\n : `<strong>${escapedTitle}</strong>`;\n }\n const parts = message.split(\"{title}\");\n message = parts.map((p) => this.escapeHtml(p)).join(titleHtml);\n } else {\n message = this.escapeHtml(message);\n }\n\n return message;\n },\n onActivityClick(event) {\n const link = event.target.closest(\".activity-link[data-object-id]\");\n if (!link || !this.urlResolver) {\n return;\n }\n event.preventDefault();\n const objectId = link.dataset.objectId;\n const siteId = link.dataset.siteId || \"\";\n const isFolder = link.dataset.isFolder === \"true\";\n this.urlResolver({\n id: objectId,\n siteId,\n isFolder,\n forceOverview: isFolder,\n });\n },\n getActivity() {\n let opts = {};\n return activitiesApi\n .listActivitiesForPerson(\"-me-\", opts)\n .then((data) => {\n this.activities = data.list.entries;\n });\n },\n },\n};\n</script>\n\n<style scoped>\n.activity-container {\n height: 100%;\n}\n\n.activity-row {\n display: flex;\n gap: 0.75rem;\n padding: 0.5rem 0;\n}\n\n.activity-icon {\n font-size: 1.25rem;\n color: var(--p-primary-color);\n margin-top: 0.25rem;\n}\n\n.activity-content {\n flex: 1;\n min-width: 0;\n}\n\n.activity-text {\n font-size: 0.875rem;\n margin: 0;\n}\n\n.activity-count {\n margin-left: 0.25rem;\n font-size: 0.75rem;\n color: var(--p-text-muted-color);\n}\n\n.activity-date {\n font-size: 0.75rem;\n color: var(--p-text-muted-color);\n margin: 0;\n margin-top: 0.25rem;\n}\n\n.cursor-default {\n cursor: default;\n}\n\n:deep(.activity-link) {\n color: var(--p-primary-color);\n text-decoration: none;\n font-weight: 600;\n}\n\n:deep(.activity-link:hover) {\n text-decoration: underline;\n}\n\n:deep(.activity-link:focus-visible) {\n outline: 2px solid var(--p-primary-color);\n outline-offset: 2px;\n border-radius: 2px;\n}\n</style>\n"],"names":["_sfc_main","DataView","Tooltip","mapState","useConfigStore","groups","activity","prev","a","b","container","ROW_HEIGHT","available","rows","date","formatService","type","exactIconMap","entry","summary","first","last","text","div","raw","messages","key","val","title","activities","params","message","objectId","escapedTitle","titleHtml","siteId","url","p","event","link","isFolder","opts","activitiesApi","data","_hoisted_1","_hoisted_2","_hoisted_3","_hoisted_6","_createElementBlock","$options","args","_createVNode","_component_PrimeDataView","$data","_ctx","_withCtx","slotProps","_createElementVNode","_openBlock","_Fragment","_renderList","group","_normalizeClass","_withDirectives","_hoisted_5","_toDisplayString"],"mappings":"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"}