@sedoo/unidoo 0.1.75 → 0.2.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 (97) hide show
  1. package/dist/unidoo/404.html +25 -0
  2. package/dist/unidoo/README.html +28 -0
  3. package/dist/unidoo/api-examples.html +115 -0
  4. package/dist/unidoo/assets/README.md.BZ5Xhpv0.js +1 -0
  5. package/dist/unidoo/assets/README.md.BZ5Xhpv0.lean.js +1 -0
  6. package/dist/unidoo/assets/api-examples.md.DBhC6zLa.js +16 -0
  7. package/dist/unidoo/assets/api-examples.md.DBhC6zLa.lean.js +1 -0
  8. package/dist/unidoo/assets/app._GYTos2W.js +1 -0
  9. package/dist/unidoo/assets/captcha_README.md.DD-ycQoE.js +14 -0
  10. package/dist/unidoo/assets/captcha_README.md.DD-ycQoE.lean.js +1 -0
  11. package/dist/unidoo/assets/chunks/framework.BNUUHgeN.js +20 -0
  12. package/dist/unidoo/assets/chunks/theme.dgUwZt0m.js +17 -0
  13. package/dist/unidoo/assets/confirm-dialog_README.md.TA2YAyOM.js +40 -0
  14. package/dist/unidoo/assets/confirm-dialog_README.md.TA2YAyOM.lean.js +1 -0
  15. package/dist/unidoo/assets/crud-table_README.md.DssifgeL.js +24 -0
  16. package/dist/unidoo/assets/crud-table_README.md.DssifgeL.lean.js +1 -0
  17. package/dist/unidoo/assets/index.md.D-nQzHqq.js +1 -0
  18. package/dist/unidoo/assets/index.md.D-nQzHqq.lean.js +1 -0
  19. package/dist/unidoo/assets/inter-italic-cyrillic-ext.r48I6akx.woff2 +0 -0
  20. package/dist/unidoo/assets/inter-italic-cyrillic.By2_1cv3.woff2 +0 -0
  21. package/dist/unidoo/assets/inter-italic-greek-ext.1u6EdAuj.woff2 +0 -0
  22. package/dist/unidoo/assets/inter-italic-greek.DJ8dCoTZ.woff2 +0 -0
  23. package/dist/unidoo/assets/inter-italic-latin-ext.CN1xVJS-.woff2 +0 -0
  24. package/dist/unidoo/assets/inter-italic-latin.C2AdPX0b.woff2 +0 -0
  25. package/dist/unidoo/assets/inter-italic-vietnamese.BSbpV94h.woff2 +0 -0
  26. package/dist/unidoo/assets/inter-roman-cyrillic-ext.BBPuwvHQ.woff2 +0 -0
  27. package/dist/unidoo/assets/inter-roman-cyrillic.C5lxZ8CY.woff2 +0 -0
  28. package/dist/unidoo/assets/inter-roman-greek-ext.CqjqNYQ-.woff2 +0 -0
  29. package/dist/unidoo/assets/inter-roman-greek.BBVDIX6e.woff2 +0 -0
  30. package/dist/unidoo/assets/inter-roman-latin-ext.4ZJIpNVo.woff2 +0 -0
  31. package/dist/unidoo/assets/inter-roman-latin.Di8DUHzh.woff2 +0 -0
  32. package/dist/unidoo/assets/inter-roman-vietnamese.BjW4sHH5.woff2 +0 -0
  33. package/dist/unidoo/assets/markdown-examples.md.qFdbvAEC.js +33 -0
  34. package/dist/unidoo/assets/markdown-examples.md.qFdbvAEC.lean.js +1 -0
  35. package/dist/unidoo/assets/style.DcdIs2mU.css +5 -0
  36. package/dist/unidoo/assets/unidoo-alert_README.md.CDBoKUvE.js +21 -0
  37. package/dist/unidoo/assets/unidoo-alert_README.md.CDBoKUvE.lean.js +1 -0
  38. package/dist/unidoo/assets/unidoo-formatError_README.md.D88kRSAN.js +20 -0
  39. package/dist/unidoo/assets/unidoo-formatError_README.md.D88kRSAN.lean.js +1 -0
  40. package/dist/unidoo/assets/unidoo-heatmap_README.md.CWPHTlQQ.js +9 -0
  41. package/dist/unidoo/assets/unidoo-heatmap_README.md.CWPHTlQQ.lean.js +1 -0
  42. package/dist/unidoo/assets/unidoo-integration_README.md.BfYvxL4t.js +3 -0
  43. package/dist/unidoo/assets/unidoo-integration_README.md.BfYvxL4t.lean.js +1 -0
  44. package/dist/unidoo/assets/unidoo-keycloak_README.md.BFwhUR1e.js +94 -0
  45. package/dist/unidoo/assets/unidoo-keycloak_README.md.BFwhUR1e.lean.js +1 -0
  46. package/dist/unidoo/assets/unidoo-mapgeofeatures_README.md.DRFYhHxL.js +17 -0
  47. package/dist/unidoo/assets/unidoo-mapgeofeatures_README.md.DRFYhHxL.lean.js +1 -0
  48. package/dist/unidoo/assets/unidoo-markdown_README.md.CJiUs_1Z.js +3 -0
  49. package/dist/unidoo/assets/unidoo-markdown_README.md.CJiUs_1Z.lean.js +1 -0
  50. package/dist/unidoo/assets/unidoo-player_README.md.C-ZkMmPM.js +41 -0
  51. package/dist/unidoo/assets/unidoo-player_README.md.C-ZkMmPM.lean.js +1 -0
  52. package/dist/unidoo/assets/unidoo-sso-users_README.md.CW5npEfC.js +1 -0
  53. package/dist/unidoo/assets/unidoo-sso-users_README.md.CW5npEfC.lean.js +1 -0
  54. package/dist/unidoo/assets/unidoo-trajectorymap_README.md.SsigyJ2k.js +4 -0
  55. package/dist/unidoo/assets/unidoo-trajectorymap_README.md.SsigyJ2k.lean.js +1 -0
  56. package/dist/unidoo/assets/unidoo-uuid_README.md.ciL1hMaH.js +7 -0
  57. package/dist/unidoo/assets/unidoo-uuid_README.md.ciL1hMaH.lean.js +1 -0
  58. package/dist/unidoo/assets/unidoo-viewer_README.md.ClgkM8DW.js +4 -0
  59. package/dist/unidoo/assets/unidoo-viewer_README.md.ClgkM8DW.lean.js +1 -0
  60. package/dist/unidoo/captcha/README.html +41 -0
  61. package/dist/unidoo/confirm-dialog/README.html +67 -0
  62. package/dist/unidoo/crud-table/README.html +51 -0
  63. package/dist/unidoo/hashmap.json +1 -0
  64. package/dist/unidoo/index.html +28 -0
  65. package/dist/unidoo/markdown-examples.html +60 -0
  66. package/dist/unidoo/unidoo-alert/README.html +48 -0
  67. package/dist/unidoo/unidoo-formatError/README.html +47 -0
  68. package/dist/unidoo/unidoo-heatmap/README.html +36 -0
  69. package/dist/unidoo/unidoo-integration/README.html +30 -0
  70. package/dist/unidoo/unidoo-keycloak/README.html +121 -0
  71. package/dist/unidoo/unidoo-mapgeofeatures/README.html +44 -0
  72. package/dist/unidoo/unidoo-markdown/README.html +30 -0
  73. package/dist/unidoo/unidoo-player/README.html +68 -0
  74. package/dist/unidoo/unidoo-sso-users/README.html +28 -0
  75. package/dist/unidoo/unidoo-trajectorymap/README.html +31 -0
  76. package/dist/unidoo/unidoo-uuid/README.html +34 -0
  77. package/dist/unidoo/unidoo-viewer/README.html +31 -0
  78. package/dist/unidoo/unidoo.css +1 -0
  79. package/dist/unidoo/unidoo.es.js +290 -0
  80. package/dist/unidoo/unidoo.umd.js +1 -1888
  81. package/dist/unidoo/vp-icons.css +1 -0
  82. package/package.json +29 -34
  83. package/src/components/UnidooAlert.vue +166 -117
  84. package/src/components/UnidooCaptcha.vue +70 -84
  85. package/src/globals.js +22 -0
  86. package/src/index.js +7 -0
  87. package/src/plugin.js +23 -278
  88. package/src/plugin.js.old +281 -0
  89. package/src/services/alertService.js +102 -0
  90. package/src/services/uuidService.js +25 -0
  91. package/dist/auth/auth.common.js +0 -11
  92. package/dist/auth/auth.umd.js +0 -11
  93. package/dist/auth/auth.umd.min.js +0 -11
  94. package/dist/auth/demo.html +0 -8
  95. package/dist/unidoo/demo.html +0 -8
  96. package/dist/unidoo/unidoo.common.js +0 -1888
  97. package/dist/unidoo/unidoo.umd.min.js +0 -1888
@@ -0,0 +1,21 @@
1
+ import{ac as o,j as k,a4 as v,a8 as E,a6 as g,ax as c,z as d,x as u,aa as t,Z as i,u as e}from"./chunks/framework.BNUUHgeN.js";import{a as n}from"./chunks/theme.dgUwZt0m.js";const m={class:"demo-actions"},A=JSON.parse('{"title":"Alert / Snackbar","description":"","frontmatter":{},"headers":[],"relativePath":"unidoo-alert/README.md","filePath":"unidoo-alert/README.md"}'),y={name:"unidoo-alert/README.md"},b=Object.assign(y,{setup(F){const s=k("unidooAlert");function h(){s.show({message:"custom message",type:"info",timeout:1e4,position:"bottom",closeButtonLabel:"Fermer"})}return(r,a)=>{const p=v("UnidooAlert");return E(),g("div",null,[a[7]||(a[7]=c(`<h1 id="alert-snackbar" tabindex="-1" data-v-27da277d>Alert / Snackbar <a class="header-anchor" href="#alert-snackbar" aria-label="Permalink to &quot;Alert / Snackbar&quot;" data-v-27da277d>​</a></h1><h2 id="description" tabindex="-1" data-v-27da277d>Description <a class="header-anchor" href="#description" aria-label="Permalink to &quot;Description&quot;" data-v-27da277d>​</a></h2><p data-v-27da277d>Il s&#39;agit d&#39;un composant permettant d&#39;afficher un message à l&#39;utilisateur, généralement accompagné d&#39;un code couleur correspondant au type de retour : succès, warning, erreur.</p><h2 id="utilisation" tabindex="-1" data-v-27da277d>Utilisation <a class="header-anchor" href="#utilisation" aria-label="Permalink to &quot;Utilisation&quot;" data-v-27da277d>​</a></h2><ul data-v-27da277d><li data-v-27da277d>doit être déclaré dans le projet parent</li><li data-v-27da277d>4 appels possibles: <ul data-v-27da277d><li data-v-27da277d>this.$unidooAlert.showSuccess(&quot;Message de succès&quot;) affiché pendant 4000 ms</li><li data-v-27da277d>this.$unidooAlert.showWarning(&quot;Message d&#39;avertissement&quot;) affiché pendant 6000 ms</li><li data-v-27da277d>this.$unidooAlert.showError(&quot;Message d&#39;erreur!&quot;) affiché pendant 8000 ms</li><li data-v-27da277d>this.$unidooAlert.show(message) paramètres customisable voir ci-dessous</li></ul></li></ul><h2 id="params-methode-personalisable-show" tabindex="-1" data-v-27da277d>Params méthode personalisable show <a class="header-anchor" href="#params-methode-personalisable-show" aria-label="Permalink to &quot;Params méthode personalisable show&quot;" data-v-27da277d>​</a></h2><table tabindex="0" data-v-27da277d><thead data-v-27da277d><tr data-v-27da277d><th data-v-27da277d>Name</th><th data-v-27da277d>Type</th><th data-v-27da277d>Default</th><th data-v-27da277d>Required</th><th data-v-27da277d>Description</th></tr></thead><tbody data-v-27da277d><tr data-v-27da277d><td data-v-27da277d><strong data-v-27da277d>message</strong></td><td data-v-27da277d>String</td><td data-v-27da277d>&#39;&#39;</td><td data-v-27da277d>oui</td><td data-v-27da277d>Message principal dans la fenêtre de confirmation</td></tr><tr data-v-27da277d><td data-v-27da277d><strong data-v-27da277d>type</strong></td><td data-v-27da277d>String</td><td data-v-27da277d>&#39;&#39;</td><td data-v-27da277d>oui</td><td data-v-27da277d>3 valeurs recommendées: &#39;success&#39;, &#39;warning&#39;, &#39;error. Mais accepte nom de &#39;materiel color&#39; et &#39;css color&#39;</td></tr><tr data-v-27da277d><td data-v-27da277d><strong data-v-27da277d>position</strong></td><td data-v-27da277d>String</td><td data-v-27da277d>&#39;top&#39;</td><td data-v-27da277d>non</td><td data-v-27da277d>3 valeurs possibles pour la possition du message &#39;top&#39;, &#39;centred&#39; ou &#39;bottom&#39;</td></tr><tr data-v-27da277d><td data-v-27da277d><strong data-v-27da277d>timeout</strong></td><td data-v-27da277d>Number</td><td data-v-27da277d>4000</td><td data-v-27da277d>non</td><td data-v-27da277d>Temps d&#39;affichage du message en ms</td></tr><tr data-v-27da277d><td data-v-27da277d><strong data-v-27da277d>closeButtonLabel</strong></td><td data-v-27da277d>String</td><td data-v-27da277d>&#39;Close&#39;</td><td data-v-27da277d>non</td><td data-v-27da277d>Label du bouton de fermeture</td></tr></tbody></table><h2 id="syntax" tabindex="-1" data-v-27da277d>Syntax <a class="header-anchor" href="#syntax" aria-label="Permalink to &quot;Syntax&quot;" data-v-27da277d>​</a></h2><div class="language-html vp-adaptive-theme" data-v-27da277d><button title="Copy Code" class="copy" data-v-27da277d></button><span class="lang" data-v-27da277d>html</span><pre class="shiki shiki-themes github-light github-dark vp-code" tabindex="0" data-v-27da277d><code data-v-27da277d><span class="line" data-v-27da277d><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;" data-v-27da277d>&lt;</span><span style="--shiki-light:#22863A;--shiki-dark:#85E89D;" data-v-27da277d>template</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;" data-v-27da277d>&gt;</span></span>
2
+ <span class="line" data-v-27da277d><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;" data-v-27da277d> &lt;</span><span style="--shiki-light:#22863A;--shiki-dark:#85E89D;" data-v-27da277d>v-app</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;" data-v-27da277d> class</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;" data-v-27da277d>=</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;" data-v-27da277d>&quot;grey lighten-4&quot;</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;" data-v-27da277d>&gt;</span></span>
3
+ <span class="line" data-v-27da277d></span>
4
+ <span class="line" data-v-27da277d><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;" data-v-27da277d> &lt;</span><span style="--shiki-light:#22863A;--shiki-dark:#85E89D;" data-v-27da277d>unidoo-alert</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;" data-v-27da277d>&gt;&lt;/</span><span style="--shiki-light:#22863A;--shiki-dark:#85E89D;" data-v-27da277d>unidoo-alert</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;" data-v-27da277d>&gt;</span></span>
5
+ <span class="line" data-v-27da277d><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;" data-v-27da277d> ...</span></span>
6
+ <span class="line" data-v-27da277d></span>
7
+ <span class="line" data-v-27da277d><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;" data-v-27da277d>&lt;/</span><span style="--shiki-light:#22863A;--shiki-dark:#85E89D;" data-v-27da277d>template</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;" data-v-27da277d>&gt;</span></span></code></pre></div><div class="language-javascript vp-adaptive-theme" data-v-27da277d><button title="Copy Code" class="copy" data-v-27da277d></button><span class="lang" data-v-27da277d>javascript</span><pre class="shiki shiki-themes github-light github-dark vp-code" tabindex="0" data-v-27da277d><code data-v-27da277d><span class="line" data-v-27da277d><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;" data-v-27da277d> methods</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;" data-v-27da277d>: {</span></span>
8
+ <span class="line" data-v-27da277d><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;" data-v-27da277d> showSuccessMessage</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;" data-v-27da277d>: </span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;" data-v-27da277d>function</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;" data-v-27da277d> () {</span></span>
9
+ <span class="line" data-v-27da277d><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;" data-v-27da277d> this</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;" data-v-27da277d>.$unidooAlert.</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;" data-v-27da277d>showSuccess</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;" data-v-27da277d>(</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;" data-v-27da277d>&quot;Message de succès&quot;</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;" data-v-27da277d>);</span></span>
10
+ <span class="line" data-v-27da277d><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;" data-v-27da277d> },</span></span>
11
+ <span class="line" data-v-27da277d><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;" data-v-27da277d> showErrorMessage</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;" data-v-27da277d>: </span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;" data-v-27da277d>function</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;" data-v-27da277d> () {</span></span>
12
+ <span class="line" data-v-27da277d><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;" data-v-27da277d> this</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;" data-v-27da277d>.$unidooAlert.</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;" data-v-27da277d>showError</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;" data-v-27da277d>(</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;" data-v-27da277d>&quot;Message d&#39;erreur!&quot;</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;" data-v-27da277d>);</span></span>
13
+ <span class="line" data-v-27da277d><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;" data-v-27da277d> },</span></span>
14
+ <span class="line" data-v-27da277d><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;" data-v-27da277d> showMessage</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;" data-v-27da277d>: </span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;" data-v-27da277d>function</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;" data-v-27da277d> () {</span></span>
15
+ <span class="line" data-v-27da277d><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;" data-v-27da277d> const</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;" data-v-27da277d> message</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;" data-v-27da277d> =</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;" data-v-27da277d> {</span></span>
16
+ <span class="line" data-v-27da277d><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;" data-v-27da277d> message: </span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;" data-v-27da277d>&quot;I am a custom message&quot;</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;" data-v-27da277d>,</span></span>
17
+ <span class="line" data-v-27da277d><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;" data-v-27da277d> type: </span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;" data-v-27da277d>&quot;warning&quot;</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;" data-v-27da277d>,</span></span>
18
+ <span class="line" data-v-27da277d><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;" data-v-27da277d> };</span></span>
19
+ <span class="line" data-v-27da277d><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;" data-v-27da277d> this</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;" data-v-27da277d>.$unidooAlert.</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;" data-v-27da277d>show</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;" data-v-27da277d>(message);</span></span>
20
+ <span class="line" data-v-27da277d><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;" data-v-27da277d> },</span></span>
21
+ <span class="line" data-v-27da277d><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;" data-v-27da277d> },</span></span></code></pre></div><h2 id="exemple" tabindex="-1" data-v-27da277d>Exemple <a class="header-anchor" href="#exemple" aria-label="Permalink to &quot;Exemple&quot;" data-v-27da277d>​</a></h2>`,11)),d(p),u("div",m,[d(n,{variant:"elevated",class:"btn",onClick:a[0]||(a[0]=l=>e(s).showSuccess("Succes Message")),color:"success"},{default:t(()=>[...a[3]||(a[3]=[i("Success",-1)])]),_:1}),d(n,{variant:"elevated",class:"btn",onClick:a[1]||(a[1]=l=>e(s).showWarning("Warning Message")),color:"warning"},{default:t(()=>[...a[4]||(a[4]=[i("Warning",-1)])]),_:1}),d(n,{variant:"elevated",class:"btn",onClick:a[2]||(a[2]=l=>e(s).showError("Error Message")),color:"error"},{default:t(()=>[...a[5]||(a[5]=[i("Error",-1)])]),_:1}),d(n,{variant:"elevated",class:"btn",onClick:h,color:"info"},{default:t(()=>[...a[6]||(a[6]=[i("Custom",-1)])]),_:1})])])}}}),q=o(b,[["__scopeId","data-v-27da277d"]]);export{A as __pageData,q as default};
@@ -0,0 +1 @@
1
+ import{ac as o,j as k,a4 as v,a8 as E,a6 as g,ax as c,z as d,x as u,aa as t,Z as i,u as e}from"./chunks/framework.BNUUHgeN.js";import{a as n}from"./chunks/theme.dgUwZt0m.js";const m={class:"demo-actions"},A=JSON.parse('{"title":"Alert / Snackbar","description":"","frontmatter":{},"headers":[],"relativePath":"unidoo-alert/README.md","filePath":"unidoo-alert/README.md"}'),y={name:"unidoo-alert/README.md"},b=Object.assign(y,{setup(F){const s=k("unidooAlert");function h(){s.show({message:"custom message",type:"info",timeout:1e4,position:"bottom",closeButtonLabel:"Fermer"})}return(r,a)=>{const p=v("UnidooAlert");return E(),g("div",null,[a[7]||(a[7]=c("",11)),d(p),u("div",m,[d(n,{variant:"elevated",class:"btn",onClick:a[0]||(a[0]=l=>e(s).showSuccess("Succes Message")),color:"success"},{default:t(()=>[...a[3]||(a[3]=[i("Success",-1)])]),_:1}),d(n,{variant:"elevated",class:"btn",onClick:a[1]||(a[1]=l=>e(s).showWarning("Warning Message")),color:"warning"},{default:t(()=>[...a[4]||(a[4]=[i("Warning",-1)])]),_:1}),d(n,{variant:"elevated",class:"btn",onClick:a[2]||(a[2]=l=>e(s).showError("Error Message")),color:"error"},{default:t(()=>[...a[5]||(a[5]=[i("Error",-1)])]),_:1}),d(n,{variant:"elevated",class:"btn",onClick:h,color:"info"},{default:t(()=>[...a[6]||(a[6]=[i("Custom",-1)])]),_:1})])])}}}),q=o(b,[["__scopeId","data-v-27da277d"]]);export{A as __pageData,q as default};
@@ -0,0 +1,20 @@
1
+ import{ac as i,a8 as a,a6 as n,ax as t}from"./chunks/framework.BNUUHgeN.js";const d=JSON.parse('{"title":"$unidooAlert.formatError","description":"","frontmatter":{},"headers":[],"relativePath":"unidoo-formatError/README.md","filePath":"unidoo-formatError/README.md"}'),h={name:"unidoo-formatError/README.md"};function l(e,s,p,r,k,E){return a(),n("div",null,[...s[0]||(s[0]=[t(`<h1 id="unidooalert-formaterror" tabindex="-1">$unidooAlert.formatError <a class="header-anchor" href="#unidooalert-formaterror" aria-label="Permalink to &quot;$unidooAlert.formatError&quot;">​</a></h1><h2 id="objectif" tabindex="-1">Objectif <a class="header-anchor" href="#objectif" aria-label="Permalink to &quot;Objectif&quot;">​</a></h2><p>Fournir des messages d&#39;erreurs clairs aux utilisateurs.</p><h3 id="formaterror" tabindex="-1">formatError <a class="header-anchor" href="#formaterror" aria-label="Permalink to &quot;formatError&quot;">​</a></h3><p>Retourne le message d&#39;erreur d&#39;un object Exception de type ResponseStatusException ou RuntimeException.</p><h4 id="syntax" tabindex="-1">Syntax <a class="header-anchor" href="#syntax" aria-label="Permalink to &quot;Syntax&quot;">​</a></h4><div class="language-javascript vp-adaptive-theme"><button title="Copy Code" class="copy"></button><span class="lang">javascript</span><pre class="shiki shiki-themes github-light github-dark vp-code" tabindex="0"><code><span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> self </span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">=</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;"> this</span></span>
2
+ <span class="line"><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;"> this</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">.</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;">axios</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">({</span></span>
3
+ <span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> method: </span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;">&#39;post&#39;</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">,</span></span>
4
+ <span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> url: </span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;">this</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">.service </span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">+</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;"> ...</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">.,</span></span>
5
+ <span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> data: {</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">...</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">.}</span></span>
6
+ <span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> }).</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;">then</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">(</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">function</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">(</span><span style="--shiki-light:#E36209;--shiki-dark:#FFAB70;">response</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">) {</span></span>
7
+ <span class="line"><span style="--shiki-light:#6A737D;--shiki-dark:#6A737D;"> // fait quelque chose</span></span>
8
+ <span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> }).</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;">catch</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">(</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">function</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">(</span><span style="--shiki-light:#E36209;--shiki-dark:#FFAB70;">error</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">) {</span></span>
9
+ <span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> self.$unidooAlert.</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;">showError</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">(</span></span>
10
+ <span class="line"></span>
11
+ <span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> self.$unidooAlert.</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;">formatError</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">(</span></span>
12
+ <span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> self.</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;">$t</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">(</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;">&#39;error.notification&#39;</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">), </span></span>
13
+ <span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> error</span></span>
14
+ <span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> ), </span></span>
15
+ <span class="line"></span>
16
+ <span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> self.</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;">$t</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">(</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;">&#39;button.close&#39;</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">)</span></span>
17
+ <span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> )</span></span>
18
+ <span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> }).</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;">finally</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">(() </span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">=&gt;</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> {</span></span>
19
+ <span class="line"><span style="--shiki-light:#6A737D;--shiki-dark:#6A737D;"> // fait quelque chose</span></span>
20
+ <span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> })</span></span></code></pre></div><h4 id="example" tabindex="-1">Example <a class="header-anchor" href="#example" aria-label="Permalink to &quot;Example&quot;">​</a></h4>`,8)])])}const c=i(h,[["render",l]]);export{d as __pageData,c as default};
@@ -0,0 +1 @@
1
+ import{ac as i,a8 as a,a6 as n,ax as t}from"./chunks/framework.BNUUHgeN.js";const d=JSON.parse('{"title":"$unidooAlert.formatError","description":"","frontmatter":{},"headers":[],"relativePath":"unidoo-formatError/README.md","filePath":"unidoo-formatError/README.md"}'),h={name:"unidoo-formatError/README.md"};function l(e,s,p,r,k,E){return a(),n("div",null,[...s[0]||(s[0]=[t("",8)])])}const c=i(h,[["render",l]]);export{d as __pageData,c as default};
@@ -0,0 +1,9 @@
1
+ import{ac as a,a4 as n,a8 as s,a6 as d,ax as o,z as r}from"./chunks/framework.BNUUHgeN.js";const b=JSON.parse('{"title":"Heatmap / Datepicker","description":"","frontmatter":{},"headers":[],"relativePath":"unidoo-heatmap/README.md","filePath":"unidoo-heatmap/README.md"}'),i={name:"unidoo-heatmap/README.md"};function l(p,t,u,c,m,h){const e=n("demo-heatmap");return s(),d("div",null,[t[0]||(t[0]=o(`<h1 id="heatmap-datepicker" tabindex="-1">Heatmap / Datepicker <a class="header-anchor" href="#heatmap-datepicker" aria-label="Permalink to &quot;Heatmap / Datepicker&quot;">​</a></h1><h2 id="description" tabindex="-1">Description <a class="header-anchor" href="#description" aria-label="Permalink to &quot;Description&quot;">​</a></h2><p>Un calendrier de disponibilité de données avec dates sélectionnables et présenté comme une heatmap.</p><p><em>Inspiré par <a href="https://github.com/julienr114/vue-calendar-heatmap" target="_blank" rel="noreferrer">https://github.com/julienr114/vue-calendar-heatmap</a></em></p><h2 id="utilisation" tabindex="-1">Utilisation <a class="header-anchor" href="#utilisation" aria-label="Permalink to &quot;Utilisation&quot;">​</a></h2><p>Pour utiliser ce composant il faut insérer le tag <strong>unidoo-heatmap</strong> dans un composant <strong>v-app</strong> en passant une variable de type date au <strong>v-model</strong> :</p><div class="language- vp-adaptive-theme"><button title="Copy Code" class="copy"></button><span class="lang"></span><pre class="shiki shiki-themes github-light github-dark vp-code" tabindex="0"><code><span class="line"><span> &lt;unidoo-heatmap</span></span>
2
+ <span class="line"><span> v-model=&quot;date&quot;</span></span>
3
+ <span class="line"><span> :values=&quot;availability&quot;</span></span>
4
+ <span class="line"><span> &gt;&lt;/unidoo-heatmap&gt;</span></span></code></pre></div><h2 id="proprietes" tabindex="-1">Propriétés <a class="header-anchor" href="#proprietes" aria-label="Permalink to &quot;Propriétés&quot;">​</a></h2><table tabindex="0"><thead><tr><th>Nom</th><th>Type</th><th>Defaut</th><th>Requis</th><th>Description</th></tr></thead><tbody><tr><td><strong>values</strong></td><td>Array</td><td>undefined</td><td>yes</td><td>Liste de dates avec un <em>count</em> associé ( voir détails plus bas )</td></tr><tr><td><strong>year</strong></td><td>Date or String</td><td>undefined</td><td>yes</td><td>L&#39;année en cours. Peut être un texte comme &#39;2021&#39;</td></tr><tr><td><strong>completeValue</strong></td><td>Number</td><td>undefined</td><td>no</td><td>Définit le rang maximal des <em>count</em>, si non défini la valeur prise est le maximum des <em>count</em></td></tr><tr><td><strong>rangeColor</strong></td><td>Array</td><td>Default colors</td><td>no</td><td>Tableau de couleurs en hexadécimal, utilisé pour affiché un gradient de couleur selon le rang du <em>count</em></td></tr><tr><td><strong>missingAllowed</strong></td><td>Boolean</td><td>false</td><td>no</td><td>Spécifie si la sélection sur les entrées manquantes est autorisée</td></tr><tr><td><strong>tooltip</strong></td><td>Boolean</td><td>true</td><td>no</td><td>Affiche les tooltip</td></tr><tr><td><strong>showCount</strong></td><td>Boolean</td><td>false</td><td>no</td><td>Affiche les valeurs des <em>count</em> dans le tooltip</td></tr><tr><td><strong>tooltipUnit</strong></td><td>String</td><td>&#39;files&#39;</td><td>no</td><td>Unité du champ <em>count</em> affichée dans le tooltip</td></tr><tr><td><strong>noDataText</strong></td><td>String</td><td>formated date</td><td>no</td><td>Définit le texte pour les entrées manquantes</td></tr><tr><td><strong>returnObject</strong></td><td>Boolean</td><td>false</td><td>no</td><td>Retourne une date ou l&#39;object contenant la date, le <em>count</em> et color index</td></tr></tbody></table><ul><li>Détails du champ <strong>values</strong> :</li></ul><div class="language- vp-adaptive-theme"><button title="Copy Code" class="copy"></button><span class="lang"></span><pre class="shiki shiki-themes github-light github-dark vp-code" tabindex="0"><code><span class="line"><span> &quot;values&quot;: [</span></span>
5
+ <span class="line"><span> { </span></span>
6
+ <span class="line"><span> &quot;count&quot; : Number, </span></span>
7
+ <span class="line"><span> &quot;date&quot; : Date or ISO String date </span></span>
8
+ <span class="line"><span> }</span></span>
9
+ <span class="line"><span> ]</span></span></code></pre></div><h2 id="exemple" tabindex="-1">Exemple <a class="header-anchor" href="#exemple" aria-label="Permalink to &quot;Exemple&quot;">​</a></h2>`,12)),r(e)])}const f=a(i,[["render",l]]);export{b as __pageData,f as default};
@@ -0,0 +1 @@
1
+ import{ac as a,a4 as n,a8 as s,a6 as d,ax as o,z as r}from"./chunks/framework.BNUUHgeN.js";const b=JSON.parse('{"title":"Heatmap / Datepicker","description":"","frontmatter":{},"headers":[],"relativePath":"unidoo-heatmap/README.md","filePath":"unidoo-heatmap/README.md"}'),i={name:"unidoo-heatmap/README.md"};function l(p,t,u,c,m,h){const e=n("demo-heatmap");return s(),d("div",null,[t[0]||(t[0]=o("",12)),r(e)])}const f=a(i,[["render",l]]);export{b as __pageData,f as default};
@@ -0,0 +1,3 @@
1
+ import{ac as s,a8 as a,a6 as n,ax as t}from"./chunks/framework.BNUUHgeN.js";const u=JSON.parse(`{"title":"Intégration d'Unidoo dans un projet","description":"","frontmatter":{},"headers":[],"relativePath":"unidoo-integration/README.md","filePath":"unidoo-integration/README.md"}`),e={name:"unidoo-integration/README.md"};function o(l,i,p,d,h,r){return a(),n("div",null,[...i[0]||(i[0]=[t(`<h1 id="integration-d-unidoo-dans-un-projet" tabindex="-1">Intégration d&#39;Unidoo dans un projet <a class="header-anchor" href="#integration-d-unidoo-dans-un-projet" aria-label="Permalink to &quot;Intégration d&#39;Unidoo dans un projet&quot;">​</a></h1><ol><li>Installer le module</li></ol><div class="language-shell vp-adaptive-theme"><button title="Copy Code" class="copy"></button><span class="lang">shell</span><pre class="shiki shiki-themes github-light github-dark vp-code" tabindex="0"><code><span class="line"><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;">npm</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> i</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> @sedoo/unidoo</span></span></code></pre></div><ol start="2"><li>Dans le fichier <em>main.js</em> ajouter les lignes suivantes:</li></ol><div class="language-javascript vp-adaptive-theme"><button title="Copy Code" class="copy"></button><span class="lang">javascript</span><pre class="shiki shiki-themes github-light github-dark vp-code" tabindex="0"><code><span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">import</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> { Unidoo, UnidooKeycloak } </span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">from</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> &quot;@sedoo/unidoo&quot;</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">;</span></span>
2
+ <span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">Vue.</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;">use</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">(Unidoo, { vuetify, axios, iconfont: </span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;">&#39;mdi&#39;</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> }); </span><span style="--shiki-light:#6A737D;--shiki-dark:#6A737D;">// à mettre après Vue.use(VueAxios, axios);</span></span>
3
+ <span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">Vue.</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;">use</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">(UnidooKeycloak, { axios }); </span><span style="--shiki-light:#6A737D;--shiki-dark:#6A737D;">// à mettre après Vue.use(VueAxios, axios);</span></span></code></pre></div><p>NB :</p><ul><li><strong>Unidoo</strong> : bibliothèque de composants vuetify</li><li><strong>UnidooKeycloak</strong> : wrapper keycloak</li></ul>`,7)])])}const c=s(e,[["render",o]]);export{u as __pageData,c as default};
@@ -0,0 +1 @@
1
+ import{ac as s,a8 as a,a6 as n,ax as t}from"./chunks/framework.BNUUHgeN.js";const u=JSON.parse(`{"title":"Intégration d'Unidoo dans un projet","description":"","frontmatter":{},"headers":[],"relativePath":"unidoo-integration/README.md","filePath":"unidoo-integration/README.md"}`),e={name:"unidoo-integration/README.md"};function o(l,i,p,d,h,r){return a(),n("div",null,[...i[0]||(i[0]=[t("",7)])])}const c=s(e,[["render",o]]);export{u as __pageData,c as default};
@@ -0,0 +1,94 @@
1
+ import{ac as n,a4 as l,a8 as t,a6 as k,ax as h,z as p,x as i}from"./chunks/framework.BNUUHgeN.js";const F=JSON.parse('{"title":"Authentification (keycloak)","description":"","frontmatter":{},"headers":[],"relativePath":"unidoo-keycloak/README.md","filePath":"unidoo-keycloak/README.md"}'),e={name:"unidoo-keycloak/README.md"};function E(r,s,d,g,o,y){const a=l("DemoAuthentication");return t(),k("div",null,[s[0]||(s[0]=h(`<h1 id="authentification-keycloak" tabindex="-1">Authentification (keycloak) <a class="header-anchor" href="#authentification-keycloak" aria-label="Permalink to &quot;Authentification (keycloak)&quot;">​</a></h1><h2 id="description" tabindex="-1">Description <a class="header-anchor" href="#description" aria-label="Permalink to &quot;Description&quot;">​</a></h2><p>Plugin d&#39;authentification qui permet d&#39;instancier keycloak dans les SFC.</p><h2 id="utilisation" tabindex="-1">Utilisation <a class="header-anchor" href="#utilisation" aria-label="Permalink to &quot;Utilisation&quot;">​</a></h2><p>Dans <code>main.js</code> et équivalents (ex: <code>enhanceApp.js</code>):</p><div class="language-javascript vp-adaptive-theme"><button title="Copy Code" class="copy"></button><span class="lang">javascript</span><pre class="shiki shiki-themes github-light github-dark vp-code" tabindex="0"><code><span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">import</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> { UnidooKeycloak } </span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">from</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> &quot;@sedoo/unidoo&quot;</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">;</span></span>
2
+ <span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">Vue.</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;">use</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">(UnidooKeycloak, { axios });</span></span></code></pre></div><blockquote><p>NB : UnidooKeycloak a besoin de l&#39;instance axios du projet principal</p></blockquote><p>Dans le composant racine de l&#39;appli :</p><div class="language-javascript vp-adaptive-theme"><button title="Copy Code" class="copy"></button><span class="lang">javascript</span><pre class="shiki shiki-themes github-light github-dark vp-code" tabindex="0"><code><span class="line"><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;">created</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">() {</span></span>
3
+ <span class="line"><span style="--shiki-light:#6A737D;--shiki-dark:#6A737D;"> // cette fonction d&#39;initialisation ne doit être appelée qu&#39;une seule fois</span></span>
4
+ <span class="line"><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;"> this</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">.</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;">$unidooInitKeycloak</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">({</span></span>
5
+ <span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> ssoParams: {</span></span>
6
+ <span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> authorizedDomains: [</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">...</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">],</span></span>
7
+ <span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> clientId: </span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;">&quot;...&quot;</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">,</span></span>
8
+ <span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> onLoad: </span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;">&quot;check-sso&quot;</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">,</span></span>
9
+ <span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> realm: </span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;">&quot;...&quot;</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">,</span></span>
10
+ <span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> resource: </span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;">&quot;...&quot;</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">,</span></span>
11
+ <span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> url: </span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;">&quot;...&quot;</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">,</span></span>
12
+ <span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> checkLoginIframe: </span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;">false</span><span style="--shiki-light:#6A737D;--shiki-dark:#6A737D;"> // ligne à ajouter si la page se recharge en boucle</span></span>
13
+ <span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> }</span></span>
14
+ <span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> });</span></span>
15
+ <span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">}</span></span></code></pre></div><p>Renseigner les valeurs des paramètres en fonctions des paramètres SSO défini dans la partie admin de Keycloak.</p><p>Utilisation basique dans un composant d&#39;authentification via bouton :</p><div class="language-html vp-adaptive-theme"><button title="Copy Code" class="copy"></button><span class="lang">html</span><pre class="shiki shiki-themes github-light github-dark vp-code" tabindex="0"><code><span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">&lt;</span><span style="--shiki-light:#22863A;--shiki-dark:#85E89D;">template</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">&gt;</span></span>
16
+ <span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> &lt;</span><span style="--shiki-light:#22863A;--shiki-dark:#85E89D;">v-btn</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;"> @click</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">=</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;">&quot;login&quot;</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">&gt;login&lt;/</span><span style="--shiki-light:#22863A;--shiki-dark:#85E89D;">v-btn</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">&gt;</span></span>
17
+ <span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> &lt;</span><span style="--shiki-light:#22863A;--shiki-dark:#85E89D;">v-btn</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;"> @click</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">=</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;">&quot;logout&quot;</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">&gt;logout&lt;/</span><span style="--shiki-light:#22863A;--shiki-dark:#85E89D;">v-btn</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">&gt;</span></span>
18
+ <span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">&lt;/</span><span style="--shiki-light:#22863A;--shiki-dark:#85E89D;">template</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">&gt;</span></span></code></pre></div><div class="language-javascript vp-adaptive-theme"><button title="Copy Code" class="copy"></button><span class="lang">javascript</span><pre class="shiki shiki-themes github-light github-dark vp-code" tabindex="0"><code><span class="line"><span style="--shiki-light:#6A737D;--shiki-dark:#6A737D;"> // ...</span></span>
19
+ <span class="line"><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;"> data</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">() {</span></span>
20
+ <span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;"> return</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> {</span></span>
21
+ <span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> localKeycloak: </span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;">this</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">.$keycloak</span></span>
22
+ <span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> };</span></span>
23
+ <span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> },</span></span>
24
+ <span class="line"><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;"> computed</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">: {</span></span>
25
+ <span class="line"><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;"> authenticated</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">() {</span></span>
26
+ <span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;"> return</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;"> this</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">.localKeycloak.authenticated;</span></span>
27
+ <span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> },</span></span>
28
+ <span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> },</span></span>
29
+ <span class="line"><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;"> methods</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">: {</span></span>
30
+ <span class="line"><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;"> login</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">() {</span></span>
31
+ <span class="line"><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;"> this</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">.$keycloak.</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;">login</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">();</span></span>
32
+ <span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> },</span></span>
33
+ <span class="line"><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;"> logout</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">() {</span></span>
34
+ <span class="line"><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;"> this</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">.$store.</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;">dispatch</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">(</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;">&quot;userSignOut&quot;</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">);</span></span>
35
+ <span class="line"><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;"> this</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">.$keycloak.</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;">logout</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">();</span></span>
36
+ <span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> }</span></span>
37
+ <span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> }</span></span></code></pre></div><p>Si on veut récupérer les informations de l&#39;utilisateur connecté :</p><div class="language-javascript vp-adaptive-theme"><button title="Copy Code" class="copy"></button><span class="lang">javascript</span><pre class="shiki shiki-themes github-light github-dark vp-code" tabindex="0"><code><span class="line"><span style="--shiki-light:#6A737D;--shiki-dark:#6A737D;"> // dans le composant d&#39;authentification</span></span>
38
+ <span class="line"><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;"> watch</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">: {</span></span>
39
+ <span class="line"><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;"> authenticated</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">(value) {</span></span>
40
+ <span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;"> if</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> (value) {</span></span>
41
+ <span class="line"><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;"> this</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">.$store.</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;">dispatch</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">(</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;">&quot;userSignIn&quot;</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">, </span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;">this</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">.$keycloak);</span></span>
42
+ <span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> }</span></span>
43
+ <span class="line"><span style="--shiki-light:#6A737D;--shiki-dark:#6A737D;"> // si on veut stocker le booléen authenticated dans le store pour l&#39;utiliser à différents endroits de l&#39;application</span></span>
44
+ <span class="line"><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;"> this</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">.$store.</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;">commit</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">(</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;">&quot;setAuthenticated&quot;</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">, value);</span></span>
45
+ <span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> }</span></span>
46
+ <span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> },</span></span></code></pre></div><p>Actions du store :</p><div class="language-javascript vp-adaptive-theme"><button title="Copy Code" class="copy"></button><span class="lang">javascript</span><pre class="shiki shiki-themes github-light github-dark vp-code" tabindex="0"><code><span class="line"><span style="--shiki-light:#6A737D;--shiki-dark:#6A737D;"> // dans le store de l&#39;utilisateur</span></span>
47
+ <span class="line"><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;"> actions</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">: {</span></span>
48
+ <span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> async </span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;">userSignIn</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">({ commit }, keycloak) {</span></span>
49
+ <span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;"> await</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;"> initUser</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">(commit, keycloak);</span></span>
50
+ <span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> },</span></span>
51
+ <span class="line"><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;"> userSignOutDispatch</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">({ commit }) {</span></span>
52
+ <span class="line"><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;"> commit</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">(</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;">&quot;setUser&quot;</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">, </span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;">null</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">);</span></span>
53
+ <span class="line"><span style="--shiki-light:#6A737D;--shiki-dark:#6A737D;"> // remettre à null les capabilities de l&#39;user ici si nécessaire</span></span>
54
+ <span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> },</span></span>
55
+ <span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> }</span></span>
56
+ <span class="line"><span style="--shiki-light:#6A737D;--shiki-dark:#6A737D;"> // ...</span></span>
57
+ <span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;"> export</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;"> async</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;"> function</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;"> initUser</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">(</span><span style="--shiki-light:#E36209;--shiki-dark:#FFAB70;">commit</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">, </span><span style="--shiki-light:#E36209;--shiki-dark:#FFAB70;">keyCloak</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">) {</span></span>
58
+ <span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;"> if</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> (keyCloak.tokenParsed) {</span></span>
59
+ <span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> keyCloak.</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;">loadUserProfile</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">().</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;">then</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">((</span><span style="--shiki-light:#E36209;--shiki-dark:#FFAB70;">userProfile</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">) </span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">=&gt;</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> {</span></span>
60
+ <span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;"> const</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;"> attributes</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;"> =</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> userProfile.attributes;</span></span>
61
+ <span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;"> const</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;"> id</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;"> =</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> keyCloak.tokenParsed.sub;</span></span>
62
+ <span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;"> const</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;"> firstName</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;"> =</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> keyCloak.tokenParsed.given_name;</span></span>
63
+ <span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;"> const</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;"> lastName</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;"> =</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> keyCloak.tokenParsed.family_name;</span></span>
64
+ <span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;"> const</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;"> email</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;"> =</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> keyCloak.tokenParsed.email;</span></span>
65
+ <span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;"> const</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;"> resourceRoles</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;"> =</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> Object.</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;">keys</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">(keyCloak.tokenParsed.resource_access)</span></span>
66
+ <span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> .</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;">map</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">((</span><span style="--shiki-light:#E36209;--shiki-dark:#FFAB70;">key</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">) </span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">=&gt;</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> {</span></span>
67
+ <span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;"> return</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> keyCloak.tokenParsed.resource_access[key].roles;</span></span>
68
+ <span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> })</span></span>
69
+ <span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> .</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;">join</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">(</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;">&quot;,&quot;</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">)</span></span>
70
+ <span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> .</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;">split</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">(</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;">&quot;,&quot;</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">);</span></span>
71
+ <span class="line"></span>
72
+ <span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;"> const</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;"> realmRoles</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;"> =</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> keyCloak.tokenParsed.realm_access.roles;</span></span>
73
+ <span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;"> let</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> roles </span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">=</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> [];</span></span>
74
+ <span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;"> if</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> (realmRoles) {</span></span>
75
+ <span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> roles </span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">=</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> roles.</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;">concat</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">(realmRoles);</span></span>
76
+ <span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> }</span></span>
77
+ <span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;"> if</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> (resourceRoles) {</span></span>
78
+ <span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> roles </span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">=</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> roles.</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;">concat</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">(resourceRoles);</span></span>
79
+ <span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> }</span></span>
80
+ <span class="line"></span>
81
+ <span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;"> let</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> user </span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">=</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> {</span></span>
82
+ <span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> id,</span></span>
83
+ <span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> email,</span></span>
84
+ <span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> roles,</span></span>
85
+ <span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> firstName,</span></span>
86
+ <span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> lastName,</span></span>
87
+ <span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> attributes</span></span>
88
+ <span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> };</span></span>
89
+ <span class="line"><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;"> commit</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">(</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;">&quot;setUser&quot;</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">, user);</span></span>
90
+ <span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> }).</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;">catch</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">((</span><span style="--shiki-light:#E36209;--shiki-dark:#FFAB70;">e</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">) </span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">=&gt;</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> {</span></span>
91
+ <span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> console.</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;">error</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">(e);</span></span>
92
+ <span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> });</span></span>
93
+ <span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> }</span></span>
94
+ <span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> }</span></span></code></pre></div><h2 id="exemple" tabindex="-1">Exemple <a class="header-anchor" href="#exemple" aria-label="Permalink to &quot;Exemple&quot;">​</a></h2>`,18)),p(a),s[1]||(s[1]=i("blockquote",null,[i("p",null,`NB : regarder l'onglet "Network" des devtools pour vérifier que le token est bien récupéré lorsqu'on est loggué.`)],-1))])}const u=n(e,[["render",E]]);export{F as __pageData,u as default};
@@ -0,0 +1 @@
1
+ import{ac as n,a4 as l,a8 as t,a6 as k,ax as h,z as p,x as i}from"./chunks/framework.BNUUHgeN.js";const F=JSON.parse('{"title":"Authentification (keycloak)","description":"","frontmatter":{},"headers":[],"relativePath":"unidoo-keycloak/README.md","filePath":"unidoo-keycloak/README.md"}'),e={name:"unidoo-keycloak/README.md"};function E(r,s,d,g,o,y){const a=l("DemoAuthentication");return t(),k("div",null,[s[0]||(s[0]=h("",18)),p(a),s[1]||(s[1]=i("blockquote",null,[i("p",null,`NB : regarder l'onglet "Network" des devtools pour vérifier que le token est bien récupéré lorsqu'on est loggué.`)],-1))])}const u=n(e,[["render",E]]);export{F as __pageData,u as default};
@@ -0,0 +1,17 @@
1
+ import{ac as a,a4 as s,a8 as n,a6 as o,ax as i,z as r}from"./chunks/framework.BNUUHgeN.js";const f=JSON.parse('{"title":"MapGeoFeatures","description":"","frontmatter":{},"headers":[],"relativePath":"unidoo-mapgeofeatures/README.md","filePath":"unidoo-mapgeofeatures/README.md"}'),l={name:"unidoo-mapgeofeatures/README.md"};function p(d,e,u,c,h,g){const t=s("demo-map-geo-features");return n(),o("div",null,[e[0]||(e[0]=i(`<h1 id="mapgeofeatures" tabindex="-1">MapGeoFeatures <a class="header-anchor" href="#mapgeofeatures" aria-label="Permalink to &quot;MapGeoFeatures&quot;">​</a></h1><h2 id="description" tabindex="-1">Description <a class="header-anchor" href="#description" aria-label="Permalink to &quot;Description&quot;">​</a></h2><p><b>Affiche des features sur une carte à partir d&#39;un flux GeoJSON.</b><br><b>Ces features peuvent être :</b></p><ul><li><b>des trajectoires</b> de plusieurs vols (forme ligne, multi-ligne)</li><li><b>des sites</b> représentés par un point dont la forme est paramétrable : cercle, triangle, carré ...</li><li><b>des zones</b> géographiques (forme polygone).<br><b>Cliquer sur une forme géométrique affiche une popup avec les propriétés associées à chaque feature.</b></li></ul><h2 id="utilisation" tabindex="-1">Utilisation <a class="header-anchor" href="#utilisation" aria-label="Permalink to &quot;Utilisation&quot;">​</a></h2><p>Pour utiliser ce composant il faut <a href="https://www.npmjs.com/package/@sedoo/unidoo?activeTab=readme" target="_blank" rel="noreferrer">installer</a> la librairie unidoo dans le projet et insérer le tag <strong>unidoo-map-geofeatures</strong> dans un composant <strong>v-app</strong>. Les 2 points &quot;:&quot; avant les noms de propriétés (e.g :title) permettent de passer des variables au composant comme ci-dessous :</p><div class="language- vp-adaptive-theme"><button title="Copy Code" class="copy"></button><span class="lang"></span><pre class="shiki shiki-themes github-light github-dark vp-code" tabindex="0"><code><span class="line"><span> &lt;unidoo-map-geo-features</span></span>
2
+ <span class="line"><span> :title=&quot;title&quot;</span></span>
3
+ <span class="line"><span> :service-url=&quot;serviceUrl&quot;</span></span>
4
+ <span class="line"><span> :color-title=&quot;colorTitle&quot;</span></span>
5
+ <span class="line"><span> :color-feature=&quot;colorFeature&quot;</span></span>
6
+ <span class="line"><span> :color-of-selected-feature=&quot;colorOfSelectedFeature&quot;</span></span>
7
+ <span class="line"><span> :shape-style-point=&quot;shapeStylePoint&quot;</span></span>
8
+ <span class="line"><span> :banned-keys=&quot;bannedKeys&quot;</span></span>
9
+ <span class="line"><span> :disable-popup=&quot;disablePopupProperties&quot;</span></span>
10
+ <span class="line"><span> :no-title-in-popup-with-one-feature=&quot;noTitleInPopupWithOneFeature&quot;</span></span>
11
+ <span class="line"><span> &gt;&lt;/unidoo-map-geo-features&gt;</span></span></code></pre></div><p><em>NB : Le composant peut également être utilisé directement en tant que custom element dans une page HTML ou dans Wordpress dans le Block VUE JS. Prérequis :<br> Ajouter les éléments suivant dans le header de la page HTML ou dans le Block Wordpress correspondant :</em></p><ul><li>l&#39;adresse du CDN contenant le package du composant @sedoo/unidoo suivi du numéro de version (ici 0.1.30) avec le lien suivant <code>&lt;script src=&quot;https://unpkg.com/@sedoo/unidoo@0.1.30/dist/unidoo/unidoo.umd.min.js&quot;&gt;&lt;/script&gt;</code>.</li><li>l&#39;adresse du CDN d&#39;une version de Vue 2 compatible (ici Vue.js v2.7.14) avec le lien suivant <code>&lt;script src=&quot;https://cdn.jsdelivr.net/npm/vue/dist/vue.js&quot;&gt;&lt;/script&gt;</code>.</li></ul><h2 id="example-dans-une-page-html" tabindex="-1">Example dans une page HTML <a class="header-anchor" href="#example-dans-une-page-html" aria-label="Permalink to &quot;Example dans une page HTML&quot;">​</a></h2><div class="language-html vp-adaptive-theme"><button title="Copy Code" class="copy"></button><span class="lang">html</span><pre class="shiki shiki-themes github-light github-dark vp-code" tabindex="0"><code><span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> &lt;</span><span style="--shiki-light:#22863A;--shiki-dark:#85E89D;">unidoo-map-geo-features</span></span>
12
+ <span class="line"><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;"> title</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">=</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;">&quot;Mon titre de test&quot;</span></span>
13
+ <span class="line"><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;"> service-url</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">=</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;">&quot;https://services.iagos-data.fr/prod/v2.0/availability/tracks?month=199804&amp;&quot;</span></span>
14
+ <span class="line"><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;"> color-title</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">=</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;">&quot;blue&quot;</span></span>
15
+ <span class="line"><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;"> color-feature</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">=</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;">&quot;green&quot;</span></span>
16
+ <span class="line"><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;"> color-of-selected-feature</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">=</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;">&quot;red&quot;</span></span>
17
+ <span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> &gt;&lt;/</span><span style="--shiki-light:#22863A;--shiki-dark:#85E89D;">unidoo-map-geo-features</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">&gt;</span></span></code></pre></div><h2 id="proprietes" tabindex="-1">Propriétés <a class="header-anchor" href="#proprietes" aria-label="Permalink to &quot;Propriétés&quot;">​</a></h2><table tabindex="0"><thead><tr><th>Nom</th><th>Type</th><th>Defaut</th><th>Requis</th><th>Description</th></tr></thead><tbody><tr><td><strong>title</strong></td><td>String</td><td></td><td>non</td><td>Titre dans le bandeau au dessus du composant</td></tr><tr><td><strong>service-url</strong></td><td>String</td><td></td><td>oui</td><td>URL du services REST qui contient le GeoJSON</td></tr><tr><td><strong>color-title</strong></td><td>String</td><td>&#39;#3f4a75&#39;</td><td>non</td><td>Couleur du bandeau Titre</td></tr><tr><td><strong>color-feature</strong></td><td>String</td><td>&#39;green&#39;</td><td>non</td><td>Couleur des features dessinées (trajectoires, ...)</td></tr><tr><td><strong>color-of-selected-feature</strong></td><td>String</td><td>&#39;green&#39;</td><td>non</td><td>Couleur des features sélectionnées</td></tr><tr><td><strong>shape-style-point</strong></td><td>String</td><td>&#39;circle&#39;</td><td>non</td><td>Forme associée à une feature de type géométrique Point : circle, triangle, square, star, cross, x, <strong>material</strong>:local_airport <em>(<a href="https://fonts.google.com/icons?selected=Material+Icons:local_airport:&amp;icon.query=local+airport" target="_blank" rel="noreferrer">local_airport</a> is an icon name found in the library google <a href="https://fonts.google.com/icons" target="_blank" rel="noreferrer">material</a>)</em>, <strong>fontawesome</strong>:f3c5 <em>(f3c5 is a unicode value of the icon marker <a href="https://fontawesome.com/icons/location-dot?f=classic&amp;s=solid" target="_blank" rel="noreferrer">location-dot</a> found in the <a href="https://fontawesome.com/search?o=r&amp;m=free&amp;c=maps" target="_blank" rel="noreferrer">maps</a> icon category of the library <a href="https://fontawesome.com/search?o=r&amp;m=free" target="_blank" rel="noreferrer">fontawesome free</a>)</em></td></tr><tr><td><strong>is-rotation-shape-style-point</strong></td><td>String</td><td></td><td>oui</td><td>Active la rotation de la forme associée à une feature de type géométrique Point : utile pour afficher l&#39;inclinaison de l&#39;icone avion (forme material:local_airport) en fonction de la trajectoire quand l&#39;attribut rotation est renseignée dans la feature</td></tr><tr><td><strong>banned-keys</strong></td><td>String</td><td>&#39;geometry, origin, interval, source, technicalId, externalLinkPrefix, externalLink, UTC_time, altitude&#39;</td><td>non</td><td>propriétés exclus de l&#39;affichage dans la popup</td></tr><tr><td><strong>disable-popup</strong></td><td>String</td><td>&#39;false&#39;</td><td>non</td><td>Désactive l&#39;affichage de la popup au clic sur une feature</td></tr><tr><td><strong>no-title-in-popup-with-one-feature</strong></td><td>String</td><td>&#39;true&#39;</td><td>non</td><td>Désactive l&#39;affichage du titre dans la popup au clic sur une feature quand elle ne contient qu&#39;une feature</td></tr></tbody></table><p><em>NB : Le GeoJSON est une &quot;featureCollection&quot; de plusieurs formes géométriques auxquelles sont associées des propriétés. Ces formes sont dessinées sur la carte. Les formes géométriques pris en charge par le composant sont de type &quot;LineString, MultiLineString (e.g Trajectoire de vol), Point (e.g un Site), Polygon (e.g Area)&quot;. Les propriétés peuvent être affichées dans une popup au clic sur une feature.</em></p><ul><li><a href="https://geojson.org/" target="_blank" rel="noreferrer">GeoJSON</a> *</li></ul><h4 id="example" tabindex="-1">Example <a class="header-anchor" href="#example" aria-label="Permalink to &quot;Example&quot;">​</a></h4>`,16)),r(t)])}const k=a(l,[["render",p]]);export{f as __pageData,k as default};
@@ -0,0 +1 @@
1
+ import{ac as a,a4 as s,a8 as n,a6 as o,ax as i,z as r}from"./chunks/framework.BNUUHgeN.js";const f=JSON.parse('{"title":"MapGeoFeatures","description":"","frontmatter":{},"headers":[],"relativePath":"unidoo-mapgeofeatures/README.md","filePath":"unidoo-mapgeofeatures/README.md"}'),l={name:"unidoo-mapgeofeatures/README.md"};function p(d,e,u,c,h,g){const t=s("demo-map-geo-features");return n(),o("div",null,[e[0]||(e[0]=i("",16)),r(t)])}const k=a(l,[["render",p]]);export{f as __pageData,k as default};
@@ -0,0 +1,3 @@
1
+ import{ac as t,a4 as o,a8 as n,a6 as r,ax as s,z as i}from"./chunks/framework.BNUUHgeN.js";const k=JSON.parse('{"title":"Markdown","description":"","frontmatter":{},"headers":[],"relativePath":"unidoo-markdown/README.md","filePath":"unidoo-markdown/README.md"}'),d={name:"unidoo-markdown/README.md"};function l(p,a,c,h,u,m){const e=o("demo-unidoo-markdown");return n(),r("div",null,[a[0]||(a[0]=s(`<h1 id="markdown" tabindex="-1">Markdown <a class="header-anchor" href="#markdown" aria-label="Permalink to &quot;Markdown&quot;">​</a></h1><h2 id="description" tabindex="-1">Description <a class="header-anchor" href="#description" aria-label="Permalink to &quot;Description&quot;">​</a></h2><p>Récupère du markdown depuis un service passé en props et l&#39;affiche mis en forme.</p><h2 id="utilisation" tabindex="-1">Utilisation <a class="header-anchor" href="#utilisation" aria-label="Permalink to &quot;Utilisation&quot;">​</a></h2><p>Pour utiliser ce composant il faut insérer le tag <strong>unidoo-viewer</strong> dans un composant <strong>v-app</strong> :</p><div class="language- vp-adaptive-theme"><button title="Copy Code" class="copy"></button><span class="lang"></span><pre class="shiki shiki-themes github-light github-dark vp-code" tabindex="0"><code><span class="line"><span>&lt;unidoo-markdown</span></span>
2
+ <span class="line"><span> :service=&quot;url-du-service&quot;</span></span>
3
+ <span class="line"><span>&gt;&lt;/unidoo-markdown&gt;</span></span></code></pre></div><h2 id="proprietes" tabindex="-1">Propriétés <a class="header-anchor" href="#proprietes" aria-label="Permalink to &quot;Propriétés&quot;">​</a></h2><table tabindex="0"><thead><tr><th>Nom</th><th>Type</th><th>Defaut</th><th>Requis</th><th>Description</th></tr></thead><tbody><tr><td><strong>service</strong></td><td>String</td><td>null</td><td>yes</td><td>URL du service REST</td></tr></tbody></table><h2 id="exemple" tabindex="-1">Exemple <a class="header-anchor" href="#exemple" aria-label="Permalink to &quot;Exemple&quot;">​</a></h2>`,9)),i(e)])}const b=t(d,[["render",l]]);export{k as __pageData,b as default};
@@ -0,0 +1 @@
1
+ import{ac as t,a4 as o,a8 as n,a6 as r,ax as s,z as i}from"./chunks/framework.BNUUHgeN.js";const k=JSON.parse('{"title":"Markdown","description":"","frontmatter":{},"headers":[],"relativePath":"unidoo-markdown/README.md","filePath":"unidoo-markdown/README.md"}'),d={name:"unidoo-markdown/README.md"};function l(p,a,c,h,u,m){const e=o("demo-unidoo-markdown");return n(),r("div",null,[a[0]||(a[0]=s("",9)),i(e)])}const b=t(d,[["render",l]]);export{k as __pageData,b as default};
@@ -0,0 +1,41 @@
1
+ import{ac as n,a4 as e,a8 as t,a6 as l,ax as p,z as o}from"./chunks/framework.BNUUHgeN.js";const g=JSON.parse('{"title":"Image player","description":"","frontmatter":{},"headers":[],"relativePath":"unidoo-player/README.md","filePath":"unidoo-player/README.md"}'),i={name:"unidoo-player/README.md"};function d(r,a,u,c,m,q){const s=e("demo-unidoo-player");return t(),l("div",null,[a[0]||(a[0]=p(`<h1 id="image-player" tabindex="-1">Image player <a class="header-anchor" href="#image-player" aria-label="Permalink to &quot;Image player&quot;">​</a></h1><h2 id="description" tabindex="-1">Description <a class="header-anchor" href="#description" aria-label="Permalink to &quot;Description&quot;">​</a></h2><p>Un player d&#39;images organisées en frames et filtrables par un sélecteur de paramètres.</p><h2 id="utilisation" tabindex="-1">Utilisation <a class="header-anchor" href="#utilisation" aria-label="Permalink to &quot;Utilisation&quot;">​</a></h2><p>Pour utiliser ce composant il faut insérer le tag <strong>unidoo-player</strong> dans un composant <strong>v-app</strong> :</p><div class="language- vp-adaptive-theme"><button title="Copy Code" class="copy"></button><span class="lang"></span><pre class="shiki shiki-themes github-light github-dark vp-code" tabindex="0"><code><span class="line"><span> &lt;unidoo-player</span></span>
2
+ <span class="line"><span> :label=&quot;label&quot; </span></span>
3
+ <span class="line"><span> :data=&quot;values&quot;</span></span>
4
+ <span class="line"><span> &gt;&lt;/unidoo-player&gt;</span></span></code></pre></div><h2 id="proprietes" tabindex="-1">Propriétés <a class="header-anchor" href="#proprietes" aria-label="Permalink to &quot;Propriétés&quot;">​</a></h2><table tabindex="0"><thead><tr><th>Nom</th><th>Type</th><th>Defaut</th><th>Requis</th><th>Description</th></tr></thead><tbody><tr><td><strong>label</strong></td><td>String</td><td>&#39;frame&#39;</td><td>no</td><td>Label utilisé pour préfixer le titre des frames</td></tr><tr><td><strong>data</strong></td><td>Object</td><td>undefined</td><td>no</td><td>Objet contenant les données et la définition des levels</td></tr><tr><td><strong>noDataMessage</strong></td><td>String</td><td>&#39;No available data&#39;</td><td>no</td><td>Message affiché si il n&#39;y a pas de données</td></tr><tr><td><strong>noVisibleData</strong></td><td>Boolean</td><td>false</td><td>no</td><td>Si <em>true</em> et pas de données, affiche le message <em>no visible data</em></td></tr><tr><td><strong>noVisibleDataMessage</strong></td><td>String</td><td>&#39;Existing data, no quicklook available&#39;</td><td>no</td><td>Message affiché si il n&#39;y a pas de données et que <em>noVisibleData</em> est à <em>true</em></td></tr><tr><td><strong>isLoading</strong></td><td>Boolean</td><td>false</td><td>no</td><td>Affiche un masque sur le player</td></tr><tr><td><strong>displayThumbnails</strong></td><td>Boolean</td><td>false</td><td>no</td><td>Affiche une liste d&#39;images miniatures sous le player</td></tr><tr><td><strong>thumbnailRatio</strong></td><td>String</td><td>null</td><td>no</td><td>Surcharge le ratio calculé automatiquement (ex: &quot;16/9&quot;)</td></tr></tbody></table><p>Le Paramètre <strong>data</strong> est un objet contenant les champs <strong>levels</strong> et <strong>entries</strong> :</p><div class="language- vp-adaptive-theme"><button title="Copy Code" class="copy"></button><span class="lang"></span><pre class="shiki shiki-themes github-light github-dark vp-code" tabindex="0"><code><span class="line"><span> &quot;data&quot;: {</span></span>
5
+ <span class="line"><span> &quot;levels&quot;: [],</span></span>
6
+ <span class="line"><span> &quot;entries&quot;: []</span></span>
7
+ <span class="line"><span> }</span></span></code></pre></div><ul><li>le champ <strong>levels</strong> est optionnel, il contient un tableau de définition des levels. Pour organiser les levels, les champs <em>name</em> sont utilisés et ordonnés alphabétiquement. Exemple de définition :</li></ul><div class="language- vp-adaptive-theme"><button title="Copy Code" class="copy"></button><span class="lang"></span><pre class="shiki shiki-themes github-light github-dark vp-code" tabindex="0"><code><span class="line"><span> &quot;levels&quot;: [</span></span>
8
+ <span class="line"><span> {</span></span>
9
+ <span class="line"><span> &quot;name&quot;: &quot;Level1&quot;,</span></span>
10
+ <span class="line"><span> &quot;label&quot;: &quot;Modele&quot;</span></span>
11
+ <span class="line"><span> },</span></span>
12
+ <span class="line"><span> {</span></span>
13
+ <span class="line"><span> &quot;name&quot;: &quot;Level2&quot;,</span></span>
14
+ <span class="line"><span> &quot;label&quot;: &quot;Echelle&quot;</span></span>
15
+ <span class="line"><span> },</span></span>
16
+ <span class="line"><span> {</span></span>
17
+ <span class="line"><span> &quot;name&quot;: &quot;Level3&quot;,</span></span>
18
+ <span class="line"><span> &quot;label&quot;: &quot;Parametre&quot;</span></span>
19
+ <span class="line"><span> }</span></span>
20
+ <span class="line"><span> ]</span></span></code></pre></div><ul><li>le champ <strong>entries</strong> contient les données sous forme de tableau. Chaque entrée doit définir les champs <em>type (la valeur affichée sur la graduation)</em>, <em>media.content (localisation de l&#39;image)</em> et optionnellement le champ <em>levels (pour définir l&#39;association entre les entrées et les levels définis plus tôt)</em>. Exemple basique pour une entrée avec levels :</li></ul><div class="language- vp-adaptive-theme"><button title="Copy Code" class="copy"></button><span class="lang"></span><pre class="shiki shiki-themes github-light github-dark vp-code" tabindex="0"><code><span class="line"><span> &quot;entries&quot;: [</span></span>
21
+ <span class="line"><span> {</span></span>
22
+ <span class="line"><span> &quot;type&quot;: &quot;ech240&quot;,</span></span>
23
+ <span class="line"><span> &quot;media&quot;: {</span></span>
24
+ <span class="line"><span> &quot;content&quot;: &quot;https://services.aeris-data.fr/campaigns/data/v1_0/getimage?product=Synopt_Cartes_Prevues&amp;day=2021-08-04&amp;file=20210804_ECMWF_CAPE-CIN_0h_Raw_MAP_Synoptic_ech240.png&amp;campaign=MISVA&quot;</span></span>
25
+ <span class="line"><span> },</span></span>
26
+ <span class="line"><span> &quot;levels&quot;: [</span></span>
27
+ <span class="line"><span> {</span></span>
28
+ <span class="line"><span> &quot;name&quot;: &quot;Level1&quot;,</span></span>
29
+ <span class="line"><span> &quot;value&quot;: &quot;ECMWF&quot;</span></span>
30
+ <span class="line"><span> },</span></span>
31
+ <span class="line"><span> {</span></span>
32
+ <span class="line"><span> &quot;name&quot;: &quot;Level2&quot;,</span></span>
33
+ <span class="line"><span> &quot;value&quot;: &quot;Synoptic&quot;</span></span>
34
+ <span class="line"><span> },</span></span>
35
+ <span class="line"><span> {</span></span>
36
+ <span class="line"><span> &quot;name&quot;: &quot;Level3&quot;,</span></span>
37
+ <span class="line"><span> &quot;value&quot;: &quot;CAPE-CIN&quot;</span></span>
38
+ <span class="line"><span> }</span></span>
39
+ <span class="line"><span> ]</span></span>
40
+ <span class="line"><span> }</span></span>
41
+ <span class="line"><span> ]</span></span></code></pre></div><p><em>NB : dans chaque entrée le nombre et le nom des levels doivent correspondre à la définition des levels.</em></p><h2 id="exemple" tabindex="-1">Exemple <a class="header-anchor" href="#exemple" aria-label="Permalink to &quot;Exemple&quot;">​</a></h2>`,16)),o(s)])}const b=n(i,[["render",d]]);export{g as __pageData,b as default};
@@ -0,0 +1 @@
1
+ import{ac as n,a4 as e,a8 as t,a6 as l,ax as p,z as o}from"./chunks/framework.BNUUHgeN.js";const g=JSON.parse('{"title":"Image player","description":"","frontmatter":{},"headers":[],"relativePath":"unidoo-player/README.md","filePath":"unidoo-player/README.md"}'),i={name:"unidoo-player/README.md"};function d(r,a,u,c,m,q){const s=e("demo-unidoo-player");return t(),l("div",null,[a[0]||(a[0]=p("",16)),o(s)])}const b=n(i,[["render",d]]);export{g as __pageData,b as default};
@@ -0,0 +1 @@
1
+ import{ac as s,a4 as o,a8 as r,a6 as a,ax as d,z as n}from"./chunks/framework.BNUUHgeN.js";const f=JSON.parse('{"title":"Unidoo sso users","description":"","frontmatter":{},"headers":[],"relativePath":"unidoo-sso-users/README.md","filePath":"unidoo-sso-users/README.md"}'),i={name:"unidoo-sso-users/README.md"};function l(h,t,u,c,p,_){const e=o("demo-unidoo-sso-users");return r(),a("div",null,[t[0]||(t[0]=d('<h1 id="unidoo-sso-users" tabindex="-1">Unidoo sso users <a class="header-anchor" href="#unidoo-sso-users" aria-label="Permalink to &quot;Unidoo sso users&quot;">​</a></h1><h2 id="properties" tabindex="-1">Properties <a class="header-anchor" href="#properties" aria-label="Permalink to &quot;Properties&quot;">​</a></h2><table tabindex="0"><thead><tr><th>Name</th><th>Type</th><th>Default</th><th>Required</th><th>Description</th></tr></thead><tbody><tr><td><strong>url</strong></td><td>String</td><td>&quot;<a href="https://api.sedoo.fr/sedoo-access-request-rest" target="_blank" rel="noreferrer">https://api.sedoo.fr/sedoo-access-request-rest</a>&quot;</td><td>no</td><td>Url of access-request service</td></tr><tr><td><strong>enable-single-select</strong></td><td>Boolean</td><td>false</td><td>no</td><td>Toggle single-select mode</td></tr><tr><td><strong>rows-per-page</strong></td><td>Array</td><td>[10, 25, 50]</td><td>no</td><td>Define possible values for &#39;rows-per-page&#39; in v-data-table footer</td></tr></tbody></table><h2 id="emits" tabindex="-1">$emits <a class="header-anchor" href="#emits" aria-label="Permalink to &quot;$emits&quot;">​</a></h2><table tabindex="0"><thead><tr><th>Name</th><th>Type</th><th>Description</th></tr></thead><tbody><tr><td><strong>selection</strong></td><td>Array</td><td>List of selected users</td></tr></tbody></table>',5)),n(e)])}const b=s(i,[["render",l]]);export{f as __pageData,b as default};
@@ -0,0 +1 @@
1
+ import{ac as s,a4 as o,a8 as r,a6 as a,ax as d,z as n}from"./chunks/framework.BNUUHgeN.js";const f=JSON.parse('{"title":"Unidoo sso users","description":"","frontmatter":{},"headers":[],"relativePath":"unidoo-sso-users/README.md","filePath":"unidoo-sso-users/README.md"}'),i={name:"unidoo-sso-users/README.md"};function l(h,t,u,c,p,_){const e=o("demo-unidoo-sso-users");return r(),a("div",null,[t[0]||(t[0]=d("",5)),n(e)])}const b=s(i,[["render",l]]);export{f as __pageData,b as default};
@@ -0,0 +1,4 @@
1
+ import{ac as e,a4 as o,a8 as r,a6 as s,ax as n,z as i}from"./chunks/framework.BNUUHgeN.js";const g=JSON.parse('{"title":"Trajectory","description":"","frontmatter":{},"headers":[],"relativePath":"unidoo-trajectorymap/README.md","filePath":"unidoo-trajectorymap/README.md"}'),d={name:"unidoo-trajectorymap/README.md"};function p(l,t,c,u,h,m){const a=o("demo-trajectory-map");return r(),s("div",null,[t[0]||(t[0]=n(`<h1 id="trajectory" tabindex="-1">Trajectory <a class="header-anchor" href="#trajectory" aria-label="Permalink to &quot;Trajectory&quot;">​</a></h1><h2 id="description" tabindex="-1">Description <a class="header-anchor" href="#description" aria-label="Permalink to &quot;Description&quot;">​</a></h2><p>Affiche les trajectoires de plusieurs vols.</p><h2 id="utilisation" tabindex="-1">Utilisation <a class="header-anchor" href="#utilisation" aria-label="Permalink to &quot;Utilisation&quot;">​</a></h2><p>Pour utiliser ce composant il faut insérer le tag <strong>unidoo-trajectory-map</strong> dans un composant <strong>v-app</strong> :</p><div class="language- vp-adaptive-theme"><button title="Copy Code" class="copy"></button><span class="lang"></span><pre class="shiki shiki-themes github-light github-dark vp-code" tabindex="0"><code><span class="line"><span> &lt;unidoo-trajectory-map</span></span>
2
+ <span class="line"><span> :json=&quot;json&quot;</span></span>
3
+ <span class="line"><span> :color=&quot;color&quot;</span></span>
4
+ <span class="line"><span> &gt;&lt;/unidoo-trajectory-map&gt;</span></span></code></pre></div><h2 id="proprietes" tabindex="-1">Propriétés <a class="header-anchor" href="#proprietes" aria-label="Permalink to &quot;Propriétés&quot;">​</a></h2><table tabindex="0"><thead><tr><th>Nom</th><th>Type</th><th>Defaut</th><th>Requis</th><th>Description</th></tr></thead><tbody><tr><td><strong>json</strong></td><td>String</td><td></td><td>oui</td><td>URL du services REST qui contient le GeoJSON</td></tr><tr><td><strong>color</strong></td><td>String</td><td>&#39;red&#39;</td><td>non</td><td>Couleur des trajectoires</td></tr></tbody></table><p>*NB : Le GeoJSON est une &quot;featureCollection&quot; de plusieurs &quot;LineString&quot;</p><h4 id="example" tabindex="-1">Example <a class="header-anchor" href="#example" aria-label="Permalink to &quot;Example&quot;">​</a></h4>`,10)),i(a)])}const b=e(d,[["render",p]]);export{g as __pageData,b as default};
@@ -0,0 +1 @@
1
+ import{ac as e,a4 as o,a8 as r,a6 as s,ax as n,z as i}from"./chunks/framework.BNUUHgeN.js";const g=JSON.parse('{"title":"Trajectory","description":"","frontmatter":{},"headers":[],"relativePath":"unidoo-trajectorymap/README.md","filePath":"unidoo-trajectorymap/README.md"}'),d={name:"unidoo-trajectorymap/README.md"};function p(l,t,c,u,h,m){const a=o("demo-trajectory-map");return r(),s("div",null,[t[0]||(t[0]=n("",10)),i(a)])}const b=e(d,[["render",p]]);export{g as __pageData,b as default};
@@ -0,0 +1,7 @@
1
+ import{j as e,a8 as l,a6 as h,ax as p,x as i,P as d,h as k}from"./chunks/framework.BNUUHgeN.js";const E=JSON.parse('{"title":"$unidooUuid","description":"","frontmatter":{},"headers":[],"relativePath":"unidoo-uuid/README.md","filePath":"unidoo-uuid/README.md"}'),o={name:"unidoo-uuid/README.md"},g=Object.assign(o,{setup(r){const n=e("unidooUuid"),s=k("");function t(){s.value=n.randomUuidV4()}return(u,a)=>(l(),h("div",null,[a[0]||(a[0]=p(`<h1 id="unidoouuid" tabindex="-1">$unidooUuid <a class="header-anchor" href="#unidoouuid" aria-label="Permalink to &quot;$unidooUuid&quot;">​</a></h1><h2 id="objectif" tabindex="-1">Objectif <a class="header-anchor" href="#objectif" aria-label="Permalink to &quot;Objectif&quot;">​</a></h2><p>Fournir des méthodes communes relatives aux identifiants</p><h3 id="randomuuidv4" tabindex="-1">randomUuidV4 <a class="header-anchor" href="#randomuuidv4" aria-label="Permalink to &quot;randomUuidV4&quot;">​</a></h3><p>Génère un uuid de type v4 de manière aléatoire.</p><h4 id="syntax" tabindex="-1">Syntax <a class="header-anchor" href="#syntax" aria-label="Permalink to &quot;Syntax&quot;">​</a></h4><p>Option API:</p><div class="language-js vp-adaptive-theme"><button title="Copy Code" class="copy"></button><span class="lang">js</span><pre class="shiki shiki-themes github-light github-dark vp-code" tabindex="0"><code><span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">const</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;"> id</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;"> =</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;"> this</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">.$unidooUuid.</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;">randomUuidV4</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">()</span></span></code></pre></div><p>Compition API:</p><div class="language-vue vp-adaptive-theme"><button title="Copy Code" class="copy"></button><span class="lang">vue</span><pre class="shiki shiki-themes github-light github-dark vp-code" tabindex="0"><code><span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">&lt;</span><span style="--shiki-light:#22863A;--shiki-dark:#85E89D;">script</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;"> setup</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">&gt;</span></span>
2
+ <span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">import</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> { inject } </span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">from</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> &#39;vue&#39;</span></span>
3
+ <span class="line"></span>
4
+ <span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">const</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;"> unidooUuid</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;"> =</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;"> inject</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">(</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;">&#39;unidooUuid&#39;</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">)</span></span>
5
+ <span class="line"></span>
6
+ <span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">const</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;"> id</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;"> =</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> unidooUuid.</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;">randomUuidV4</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">()</span></span>
7
+ <span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">&lt;/</span><span style="--shiki-light:#22863A;--shiki-dark:#85E89D;">script</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">&gt;</span></span></code></pre></div><h4 id="example" tabindex="-1">Example <a class="header-anchor" href="#example" aria-label="Permalink to &quot;Example&quot;">​</a></h4>`,11)),i("p",null,[i("button",{onClick:t,class:"btn primary"},"Generate an UUID")]),i("p",null," UUID = "+d(s.value),1)]))}});export{E as __pageData,g as default};
@@ -0,0 +1 @@
1
+ import{j as e,a8 as l,a6 as h,ax as p,x as i,P as d,h as k}from"./chunks/framework.BNUUHgeN.js";const E=JSON.parse('{"title":"$unidooUuid","description":"","frontmatter":{},"headers":[],"relativePath":"unidoo-uuid/README.md","filePath":"unidoo-uuid/README.md"}'),o={name:"unidoo-uuid/README.md"},g=Object.assign(o,{setup(r){const n=e("unidooUuid"),s=k("");function t(){s.value=n.randomUuidV4()}return(u,a)=>(l(),h("div",null,[a[0]||(a[0]=p("",11)),i("p",null,[i("button",{onClick:t,class:"btn primary"},"Generate an UUID")]),i("p",null," UUID = "+d(s.value),1)]))}});export{E as __pageData,g as default};
@@ -0,0 +1,4 @@
1
+ import{ac as a,a4 as r,a8 as o,a6 as s,ax as i,z as d}from"./chunks/framework.BNUUHgeN.js";const q=JSON.parse('{"title":"Viewer","description":"","frontmatter":{},"headers":[],"relativePath":"unidoo-viewer/README.md","filePath":"unidoo-viewer/README.md"}'),n={name:"unidoo-viewer/README.md"};function l(u,t,p,c,h,m){const e=r("demo-unidoo-viewer");return o(),s("div",null,[t[0]||(t[0]=i(`<h1 id="viewer" tabindex="-1">Viewer <a class="header-anchor" href="#viewer" aria-label="Permalink to &quot;Viewer&quot;">​</a></h1><h2 id="description" tabindex="-1">Description <a class="header-anchor" href="#description" aria-label="Permalink to &quot;Description&quot;">​</a></h2><p>Un player d&#39;images organisées en frames et filtrables par un sélecteur de paramètres et un calendrier</p><h2 id="utilisation" tabindex="-1">Utilisation <a class="header-anchor" href="#utilisation" aria-label="Permalink to &quot;Utilisation&quot;">​</a></h2><p>Pour utiliser ce composant il faut insérer le tag <strong>unidoo-viewer</strong> dans un composant <strong>v-app</strong> :</p><div class="language- vp-adaptive-theme"><button title="Copy Code" class="copy"></button><span class="lang"></span><pre class="shiki shiki-themes github-light github-dark vp-code" tabindex="0"><code><span class="line"><span> &lt;unidoo-viewer</span></span>
2
+ <span class="line"><span> :label=&quot;label&quot; </span></span>
3
+ <span class="line"><span> :data=&quot;values&quot;</span></span>
4
+ <span class="line"><span> &gt;&lt;/unidoo-viewer&gt;</span></span></code></pre></div><h2 id="proprietes" tabindex="-1">Propriétés <a class="header-anchor" href="#proprietes" aria-label="Permalink to &quot;Propriétés&quot;">​</a></h2><table tabindex="0"><thead><tr><th>Nom</th><th>Type</th><th>Defaut</th><th>Requis</th><th>Description</th></tr></thead><tbody><tr><td><strong>service</strong></td><td>String</td><td>&quot;&quot;</td><td>yes</td><td>URL du service REST (&quot;/request...&quot; non inclus)</td></tr><tr><td><strong>product</strong></td><td>Strings (comma-separated)</td><td>&quot;&quot;</td><td>yes</td><td>Liste des noms de produits</td></tr><tr><td><strong>campaign</strong></td><td>String</td><td>&quot;&quot;</td><td>yes</td><td>Nom de la campagne</td></tr><tr><td><strong>breadcrumb</strong></td><td>Strings (comma-separated)</td><td>&quot;&quot;</td><td>yes</td><td>Label du produit courant</td></tr><tr><td><strong>viewer</strong></td><td>String</td><td>null</td><td>yes</td><td>Type de viewer</td></tr><tr><td><strong>baseFolder</strong></td><td>String</td><td>null</td><td>no</td><td>Chemin du dossier racine (requis si viewer = &quot;tree&quot;)</td></tr></tbody></table><p><em>NB : il doit y avoir autant de virgules dans product que dans breadcrumb.</em></p><p>Le Paramètre <strong>viewer</strong> est peut contenir les valeurs suivantes :</p><ul><li>&quot;tree&quot;</li><li>&quot;wmts&quot;</li><li>&quot;wms&quot;</li><li>&quot;iframe&quot;</li><li>null (ou tout autre valeur)</li></ul><h2 id="exemple" tabindex="-1">Exemple <a class="header-anchor" href="#exemple" aria-label="Permalink to &quot;Exemple&quot;">​</a></h2>`,12)),d(e)])}const v=a(n,[["render",l]]);export{q as __pageData,v as default};
@@ -0,0 +1 @@
1
+ import{ac as a,a4 as r,a8 as o,a6 as s,ax as i,z as d}from"./chunks/framework.BNUUHgeN.js";const q=JSON.parse('{"title":"Viewer","description":"","frontmatter":{},"headers":[],"relativePath":"unidoo-viewer/README.md","filePath":"unidoo-viewer/README.md"}'),n={name:"unidoo-viewer/README.md"};function l(u,t,p,c,h,m){const e=r("demo-unidoo-viewer");return o(),s("div",null,[t[0]||(t[0]=i("",12)),d(e)])}const v=a(n,[["render",l]]);export{q as __pageData,v as default};