From d0fb66fa50d773c542df7e4234b83473df3660df Mon Sep 17 00:00:00 2001 From: lucile varloteaux <lucile.varloteaux@inrae.fr> Date: Tue, 10 Dec 2024 17:16:30 +0100 Subject: [PATCH 1/4] =?UTF-8?q?r=C3=A9paration=20du=20bug=20et=20ajout=20d?= =?UTF-8?q?es=20commentaires=20manquant?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- public/Logos_OA.svg | 70 +++++++++++ public/Logos_OpernADOM.svg | 100 ++++++++++++++++ src/components/common/CollapsibleTree.vue | 2 +- src/components/common/SubMenu.vue | 5 + src/composable/data/dataLoader.js | 2 +- src/locales/en.json | 2 +- src/locales/fr.json | 2 +- src/views/application/ApplicationInfoView.vue | 3 +- src/views/data/DataVersioningView.vue | 110 +++++++++++------- src/views/data/DatasManagementView.vue | 69 +++++++++-- 10 files changed, 307 insertions(+), 58 deletions(-) create mode 100644 public/Logos_OA.svg create mode 100644 public/Logos_OpernADOM.svg diff --git a/public/Logos_OA.svg b/public/Logos_OA.svg new file mode 100644 index 000000000..7d9591663 --- /dev/null +++ b/public/Logos_OA.svg @@ -0,0 +1,70 @@ +<?xml version="1.0" encoding="UTF-8" standalone="no"?> +<svg + xmlns:dc="http://purl.org/dc/elements/1.1/" + xmlns:cc="http://creativecommons.org/ns#" + xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" + xmlns:svg="http://www.w3.org/2000/svg" + xmlns="http://www.w3.org/2000/svg" + xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" + xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" + id="_x31_4" + viewBox="0 0 833.61 598.36" + version="1.1" + sodipodi:docname="2024_11_20_Logos_OpernADOM_SDE_3.svg" + inkscape:version="1.0.2 (e86c870879, 2021-01-15)"> + <metadata + id="metadata13"> + <rdf:RDF> + <cc:Work + rdf:about=""> + <dc:format>image/svg+xml</dc:format> + <dc:type + rdf:resource="http://purl.org/dc/dcmitype/StillImage" /> + </cc:Work> + </rdf:RDF> + </metadata> + <sodipodi:namedview + pagecolor="#ffffff" + bordercolor="#666666" + borderopacity="1" + objecttolerance="10" + gridtolerance="10" + guidetolerance="10" + inkscape:pageopacity="0" + inkscape:pageshadow="2" + inkscape:window-width="1867" + inkscape:window-height="1043" + id="namedview11" + showgrid="false" + inkscape:zoom="0.42115116" + inkscape:cx="769.64922" + inkscape:cy="491.52489" + inkscape:window-x="0" + inkscape:window-y="0" + inkscape:window-maximized="1" + inkscape:current-layer="_x31_4" + inkscape:document-rotation="0" /> + <defs + id="defs4"> + <style + id="style2"> + .cls-1 { + fill: #00a3a6; + } + + .cls-2 { + fill: #275663; + } + </style> + </defs> + <path + class="cls-2" + d="m 267.0022,52.127747 c -143.15531,0 -259.2012909,119.663923 -259.2012909,267.282303 0,147.61841 116.0459809,267.28233 259.2012909,267.28233 143.15528,0 259.20126,-119.66392 259.20126,-267.28233 0,-147.61838 -116.04598,-267.282303 -259.20126,-267.282303 z m 0,433.881553 c -89.21009,0 -161.56229,-74.56091 -161.56229,-166.59925 0,-92.03831 72.30663,-166.59925 161.56229,-166.59925 89.25562,0 161.56226,74.56094 161.56226,166.59925 0,92.03834 -72.30664,166.59925 -161.56226,166.59925 z" + id="path6" + style="stroke-width:4.62666" /> + <path + class="cls-1" + d="M 531.44308,59.879822 H 640.74592 L 832.0145,581.75923 H 707.94962 L 667.35403,464.91425 H 504.10598 L 464.23936,581.75923 H 340.12892 L 531.39751,59.879822 Z m 115.95486,321.969728 -61.32622,-184.4995 -62.78421,184.4995 h 124.06487 z" + id="path8" + style="stroke-width:4.62666" /> +</svg> diff --git a/public/Logos_OpernADOM.svg b/public/Logos_OpernADOM.svg new file mode 100644 index 000000000..cf4ef6cd2 --- /dev/null +++ b/public/Logos_OpernADOM.svg @@ -0,0 +1,100 @@ +<?xml version="1.0" encoding="UTF-8" standalone="no"?> +<svg + xmlns:dc="http://purl.org/dc/elements/1.1/" + xmlns:cc="http://creativecommons.org/ns#" + xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" + xmlns:svg="http://www.w3.org/2000/svg" + xmlns="http://www.w3.org/2000/svg" + xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" + xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" + id="_x30_1" + viewBox="0 0 833.61 598.36" + version="1.1" + sodipodi:docname="2024_11_20_Logos_OpernADOM_SDE_1_interligne_petit.svg" + inkscape:version="1.0.2 (e86c870879, 2021-01-15)"> + <metadata + id="metadata25"> + <rdf:RDF> + <cc:Work + rdf:about=""> + <dc:format>image/svg+xml</dc:format> + <dc:type + rdf:resource="http://purl.org/dc/dcmitype/StillImage" /> + <dc:title></dc:title> + </cc:Work> + </rdf:RDF> + </metadata> + <sodipodi:namedview + pagecolor="#ffffff" + bordercolor="#666666" + borderopacity="1" + objecttolerance="10" + gridtolerance="10" + guidetolerance="10" + inkscape:pageopacity="0" + inkscape:pageshadow="2" + inkscape:window-width="2507" + inkscape:window-height="1403" + id="namedview23" + showgrid="false" + inkscape:zoom="0.59559768" + inkscape:cx="681.94681" + inkscape:cy="469.55204" + inkscape:window-x="0" + inkscape:window-y="0" + inkscape:window-maximized="1" + inkscape:current-layer="_x30_1" /> + <defs + id="defs4"> + <style + id="style2"> + .cls-1 { + fill: #00a3a6; + } + + .cls-2 { + fill: #275663; + } + </style> + </defs> + <path + class="cls-2" + d="m 128.21142,277.73013 c -17.38039,0 -33.131366,-3.58826 -47.408117,-10.76479 C 66.52657,259.78883 54.344772,250.41044 44.257941,238.74859 34.171108,227.08673 26.334423,213.79388 20.747872,198.78842 c -5.586551,-15.00543 -8.379834,-30.41863 -8.379834,-46.40269 0,-15.98408 2.870874,-31.72349 8.690198,-46.72893 C 26.877558,90.651336 35.024621,77.440036 45.421816,66.02284 55.81901,54.605656 68.155977,45.471909 82.432726,38.703146 96.709472,31.934386 112.30527,28.50922 129.2201,28.50922 c 16.91484,0 33.13135,3.588259 47.4081,10.764777 14.27674,7.176518 26.45855,16.63647 36.54538,28.379871 10.08681,11.743401 17.92353,25.117818 23.35489,40.123262 5.50895,15.00545 8.22463,30.25556 8.22463,45.66876 0,15.41319 -2.94844,31.72346 -8.69017,46.72892 -5.81932,15.00545 -13.8888,28.21676 -24.20842,39.63396 -10.31959,11.41717 -22.57896,20.55093 -36.85571,27.4828 -14.27674,6.93185 -29.87255,10.35701 -46.70979,10.35701 z M 67.302477,153.20124 c 0,9.45996 1.319044,18.59369 3.957146,27.4828 2.638087,8.88908 6.517641,16.79957 11.716238,23.73143 5.121004,6.93187 11.561056,12.47735 19.242579,16.63649 7.68149,4.15911 16.44929,6.19789 26.30335,6.19789 9.85404,0 19.32017,-2.20188 27.00167,-6.60566 7.68151,-4.40377 14.04396,-10.11237 19.08738,-17.12579 5.04343,-7.0134 8.84539,-15.00543 11.40588,-23.89453 2.48291,-8.8891 3.80197,-17.9413 3.80197,-27.15662 0,-9.21529 -1.31906,-18.59369 -3.95714,-27.4828 -2.63811,-8.88907 -6.59524,-16.71801 -11.87142,-23.48677 -5.27621,-6.768774 -11.71627,-12.232704 -19.24259,-16.228724 -7.60391,-3.996013 -16.2941,-6.034797 -26.14817,-6.034797 -9.85405,0 -19.24257,2.120339 -26.84648,6.442557 -7.603925,4.24066 -13.966386,9.86771 -19.087392,16.799584 -5.198597,6.93185 -9.000562,14.84235 -11.561057,23.73144 -2.560512,8.88909 -3.801964,17.9413 -3.801964,27.15659 z" + id="path6" + style="stroke-width:7.95465" /> + <path + class="cls-2" + d="M 229.77806,277.73013 V 28.590775 h 101.17866 c 11.32831,0 21.7255,2.446543 31.19159,7.339627 9.46611,4.893069 17.61317,11.335628 24.36358,19.327659 6.75043,7.992033 12.10422,16.962689 16.06134,26.99349 3.87956,10.030815 5.81933,20.224749 5.81933,30.500219 0,11.00942 -1.86219,21.52955 -5.50895,31.56036 -3.64678,10.03082 -8.7678,19.08302 -15.36305,26.99349 -6.59522,7.99203 -14.5095,14.27149 -23.89801,18.91991 -9.38852,4.64845 -19.70812,7.01342 -31.0364,7.01342 h -48.10644 v 80.32808 H 229.70047 Z M 284.5573,147.24799 h 44.77002 c 6.44004,0 12.0266,-2.93586 16.68204,-8.80755 4.65549,-5.8717 6.98323,-14.35303 6.98323,-25.60712 0,-5.87169 -0.69834,-10.84633 -2.17256,-15.086994 -1.47423,-4.24068 -3.41401,-7.74739 -5.81932,-10.52013 -2.48292,-2.772751 -5.27619,-4.811535 -8.37984,-6.11636 -3.10364,-1.304812 -6.20728,-1.957232 -9.3885,-1.957232 h -42.75266 v 68.095386 z" + id="path8" + style="stroke-width:7.95465" /> + <path + class="cls-1" + d="m 557.28971,268.25896 c -17.92352,6.90347 -35.14873,10.0341 -51.59804,9.47219 -16.44928,-0.5619 -31.50194,-4.17419 -45.15793,-10.75656 -13.65604,-6.58236 -25.52747,-15.73347 -35.5367,-27.37303 -10.00923,-11.63957 -17.76834,-24.96486 -23.12213,-39.8956 -5.74174,-16.05456 -8.61259,-32.10914 -8.53499,-48.32426 0.0776,-16.21509 3.10361,-31.46695 9.07814,-45.91605 5.9745,-14.449114 14.97505,-27.533591 27.00168,-39.173147 12.02659,-11.639556 27.15684,-21.031492 45.39072,-28.015225 18.2339,-6.983734 35.45909,-10.114374 51.8308,-9.311645 16.3717,0.802729 31.34678,4.575547 44.84761,11.318467 13.57843,6.823196 25.29465,16.134842 35.3039,27.934949 10.00925,11.880385 17.69076,25.366207 23.12212,40.537791 1.39665,3.93337 2.63809,7.86674 3.72437,11.71983 1.08628,3.85309 1.8622,7.3851 2.32772,10.35521 l -158.20806,60.68625 c 6.44005,14.44911 15.75098,23.76077 27.85516,27.93494 12.1818,4.17419 24.2084,3.93337 36.15743,-0.72244 9.54369,-3.61228 17.84593,-9.55248 24.98428,-17.7403 7.1384,-8.18783 10.70758,-16.93757 10.78519,-26.24921 l 61.21928,-5.21774 c -2.17254,20.71037 -10.16441,39.89559 -23.89802,57.63588 -13.73362,17.74029 -32.97618,31.38668 -57.7277,40.85888 z m -3.41402,-153.24084 c -6.44004,-13.56612 -15.28542,-22.797494 -26.6137,-27.694144 -11.3283,-4.896631 -23.27732,-4.976908 -35.76945,-0.16053 -12.49217,4.81635 -21.8031,13.084464 -27.15687,24.563484 -5.35379,11.47902 -6.20728,24.40294 -2.63808,38.6915 l 92.1781,-35.32003 z" + id="path10" + style="stroke-width:7.89205" /> + <path + class="cls-2" + d="M 678.71963,135.25994 V 277.73013 H 623.94038 V 28.590775 h 42.75266 L 777.18264,174.89388 V 28.590775 h 54.77925 V 277.73013 h -44.0717 z" + id="path12" + style="stroke-width:7.95465" /> + <path + class="cls-2" + d="m 88.114312,313.18482 h 49.425478 l 86.43637,249.13937 H 164.15352 L 147.00588,500.01896 H 78.260255 L 61.423011,562.32419 H 1.6003364 L 88.036726,313.18482 Z m 50.511758,145.32451 -25.83782,-82.04064 -26.458523,82.04064 z" + id="path14" + style="stroke-width:7.95465" /> + <path + class="cls-2" + d="M 201.08683,562.32419 V 313.18482 h 88.45375 c 19.55293,0 36.70054,3.26206 51.44283,9.86774 14.6647,6.52408 27.00169,15.41319 36.93333,26.66728 9.93165,11.25406 17.38039,24.38386 22.34622,39.47085 5.04341,15.087 7.52632,31.1526 7.52632,48.2784 0,18.91989 -2.79328,36.12724 -8.37981,51.37734 -5.58658,15.33166 -13.50085,28.46143 -23.89804,39.30774 -10.31961,10.84633 -22.81176,19.32768 -37.39888,25.28093 -14.58712,5.95322 -30.80363,8.97065 -48.57197,8.97065 H 201.08683 Z M 355.80329,437.38753 c 0,-11.74341 -1.47422,-22.50816 -4.50027,-32.13123 -2.94845,-9.62305 -7.29355,-17.9413 -13.03529,-24.95472 -5.74173,-7.01339 -12.72493,-12.39579 -21.10475,-16.14715 -8.37984,-3.75137 -17.76834,-5.62704 -28.24314,-5.62704 h -36.07982 v 158.5358 h 36.07982 c 10.70757,0 20.25127,-2.03877 28.63111,-6.0348 8.30221,-3.99602 15.28542,-9.54151 20.87197,-16.71802 5.58655,-7.17652 9.85405,-15.49477 12.8801,-25.19938 3.02605,-9.70459 4.50027,-20.22472 4.50027,-31.72346 z" + id="path16" + style="stroke-width:7.95465" /> + <path + class="cls-2" + d="m 500.66573,562.32419 c -17.38039,0 -33.13137,-3.58825 -47.40814,-10.76477 -14.27672,-7.17652 -26.45851,-16.55494 -36.54534,-28.21678 -10.08683,-11.66183 -17.92353,-24.9547 -23.51008,-39.96015 -5.58656,-15.00545 -8.37983,-30.41865 -8.37983,-46.40272 0,-15.98407 2.87086,-31.72347 8.69019,-46.72892 5.81933,-15.00545 13.96638,-28.21677 24.36358,-39.63394 10.3972,-11.4172 22.73417,-20.55095 37.01092,-27.31972 14.27674,-6.76875 29.87253,-10.19391 46.78737,-10.19391 16.91484,0 33.13136,3.58825 47.40811,10.76477 14.27675,7.17652 26.45853,16.63648 36.54536,28.37987 10.08684,11.7434 17.92353,25.11781 23.35491,40.12327 5.50896,15.00545 8.22465,30.25554 8.22465,45.66875 0,15.41321 -2.94848,31.72347 -8.6902,46.72892 -5.81935,15.00546 -13.88879,28.21677 -24.2084,39.63395 -10.3196,11.41718 -22.57899,20.55095 -36.85573,27.48281 -14.27675,6.93187 -29.87253,10.35702 -46.70978,10.35702 z m -60.90894,-124.5289 c 0,9.45995 1.31903,18.59369 3.95711,27.4828 2.63811,8.88909 6.51767,16.79957 11.71627,23.73145 5.121,6.93185 11.56105,12.47734 19.24255,16.63648 7.68152,4.15909 16.44931,6.19788 26.30337,6.19788 9.85406,0 19.32015,-2.20189 27.00166,-6.60566 7.68151,-4.40377 14.04399,-10.11236 19.08742,-17.12576 5.04338,-7.01343 8.84535,-15.00546 11.40584,-23.89456 2.48292,-8.8891 3.80198,-17.94128 3.80198,-27.15659 0,-9.2153 -1.31906,-18.59372 -3.95716,-27.4828 -2.63808,-8.88909 -6.59522,-16.71804 -11.87142,-23.48678 -5.2762,-6.76878 -11.71624,-12.23272 -19.24256,-16.22874 -7.60395,-3.99601 -16.29412,-6.0348 -26.14817,-6.0348 -9.85406,0 -19.24258,2.12034 -26.84652,6.44256 -7.60389,4.24069 -13.96635,9.86771 -19.08737,16.79957 -5.19858,6.93188 -9.00054,14.84236 -11.56107,23.73146 -2.56049,8.88908 -3.80193,17.94129 -3.80193,27.1566 z" + id="path18" + style="stroke-width:7.95465" /> + <path + class="cls-2" + d="M 766.64769,562.32419 V 396.36722 L 716.36873,517.06319 H 687.66004 L 637.38107,396.36722 v 165.95697 h -43.063 V 313.18482 h 58.27083 l 60.28824,130.15596 60.59857,-130.15596 h 57.96048 v 249.13937 h -64.6333 z" + id="path20" + style="stroke-width:7.95465" /> +</svg> diff --git a/src/components/common/CollapsibleTree.vue b/src/components/common/CollapsibleTree.vue index cf8a9ff4e..3335cef8f 100644 --- a/src/components/common/CollapsibleTree.vue +++ b/src/components/common/CollapsibleTree.vue @@ -20,7 +20,7 @@ @click="(event) => onClickLabelCb && onClickLabelCb(event, option.label)" @keyup.enter="(event) => onClickLabelCb && onClickLabelCb(event, option.label)" > - <!-- TODO Lucile : btn ouvertur sidePanel à redéfinir ce qu'on met dedant puis refaire--> + <!-- TODO Lucile : btn ouverture sidePanel à redéfinir ce qu'on met dedant puis refaire--> <b-tooltip v-if="false" :label="$t('dataTypesManagement.tooltip_show_secondary_menu')" diff --git a/src/components/common/SubMenu.vue b/src/components/common/SubMenu.vue index 91c7e9832..b76d5cf9b 100644 --- a/src/components/common/SubMenu.vue +++ b/src/components/common/SubMenu.vue @@ -1,6 +1,7 @@ <template> <div class="SubMenu"> <FontAwesomeIcon + v-if="!isAccueil" class="clickable mr-4 SubMenu-back-button" icon="arrow-left" @click="goBack()" @@ -47,6 +48,10 @@ export default { paths: { type: Array, }, + isAccueil: { + type: Boolean, + default: false, + }, }, methods: { goBack() { diff --git a/src/composable/data/dataLoader.js b/src/composable/data/dataLoader.js index 5585ca762..c1bb2daea 100644 --- a/src/composable/data/dataLoader.js +++ b/src/composable/data/dataLoader.js @@ -116,7 +116,7 @@ export function dataLoader(services) { getOrLoadDataByNaturalKey, getValueDisplay, getColumnNameView, - getDisplayValueForLink + getDisplayValueForLink, }; //const getOrLoadData = function() } diff --git a/src/locales/en.json b/src/locales/en.json index 92b890637..db1169ce6 100644 --- a/src/locales/en.json +++ b/src/locales/en.json @@ -980,7 +980,7 @@ "data-type-new-authorization": "New authorization", "data-type-request-authorization": "Request authorizations", "data-types-page": "{applicationName} data types", - "data-types-repository": "Management of data sets {applicationName}", + "data-types-repository": "Management of data sets {dataName}", "login-page": "Welcome to", "profile": "Profile", "references-authorizations": "References authorizations", diff --git a/src/locales/fr.json b/src/locales/fr.json index 3839c2506..146b565f0 100644 --- a/src/locales/fr.json +++ b/src/locales/fr.json @@ -989,7 +989,7 @@ "data-type-new-authorization": "Nouvelle autorisation", "data-type-request-authorization": "Demande d'autorisations", "data-types-page": "Type de données de {applicationName}", - "data-types-repository": "Gestion des jeux de données de {applicationName}", + "data-types-repository": "Gestion des jeux de données de {dataName}", "login-page": "Bienvenue sur", "profile": "Profil", "references-authorizations": "Autorisations des référentiels", diff --git a/src/views/application/ApplicationInfoView.vue b/src/views/application/ApplicationInfoView.vue index 4d93a3baf..7d4338221 100644 --- a/src/views/application/ApplicationInfoView.vue +++ b/src/views/application/ApplicationInfoView.vue @@ -96,7 +96,7 @@ export default { new SubMenuPath( "Accueil", () => app.$router.push(`/applications/${props.applicationName}`), - () => app.$router.push(`/applications`) + () => {} ), ]); }); @@ -184,6 +184,7 @@ export default { <SubMenu :aria-label="$t('menu.aria-sub-menu')" :paths="subMenuPaths" + :is-accueil="true" :root="application.localName || applicationName" role="navigation" /> diff --git a/src/views/data/DataVersioningView.vue b/src/views/data/DataVersioningView.vue index 3d0fc6c49..9d37697c2 100644 --- a/src/views/data/DataVersioningView.vue +++ b/src/views/data/DataVersioningView.vue @@ -1,16 +1,30 @@ <template> <div> - <PageView class="with-submenu" :application="application"> + <PageView :application="application" class="with-submenu"> <SubMenu :aria-label="$t('menu.aria-sub-menu')" :paths="subMenuPaths" :root="application.localName || application.title" role="navigation" /> - <h1 class="title main-title"> + <b-tooltip + v-if="data.localDescription" + :label="data.localDescription" + class="title main-title" + position="is-top" + > + <h1 class="title main-title"> + {{ + $t("titles.data-types-repository", { + dataName: data.localName || dataId + }) + }} + </h1> + </b-tooltip> + <h1 v-else class="title main-title"> {{ $t("titles.data-types-repository", { - applicationName: application.localName || dataId, + dataName: data.localName || dataId }) }} </h1> @@ -31,21 +45,21 @@ <template #trigger="{ active }"> <b-taginput v-model="requiredAuthorizationsLabels[referenceScopesByData.id]" - :icon-right="active ? 'angle-up' : 'angle-down'" - open-on-focus - rounded - type="is-dark" - :closable="false" :aria-placeholder=" $t('dataTypesRepository.placeholder-select-scope-depot', { scope: referenceScopesByData.i18n[locale] || referenceScopesByData.id, }) " + :closable="false" + :icon-right="active ? 'angle-up' : 'angle-down'" :placeholder=" $t('dataTypesRepository.placeholder-select-scope-depot', { scope: referenceScopesByData.i18n[locale] || referenceScopesByData.id, }) " + open-on-focus + rounded + type="is-dark" > </b-taginput> </template> @@ -84,11 +98,11 @@ label-position="on-border" > <InputDate - :input-type="determinateInputType()" :format="patternDateTimeScope" - name="startDate" - :is-simple-value="true" :from="startDate" + :input-type="determinateInputType()" + :is-simple-value="true" + name="startDate" @update:dateValue="updateDate($event)" > </InputDate> @@ -102,11 +116,11 @@ label-position="on-border" > <InputDate - :input-type="determinateInputType()" :format="patternDateTimeScope" - name="endDate" - :is-simple-value="true" :from="endDate" + :input-type="determinateInputType()" + :is-simple-value="true" + name="endDate" @update:dateValue="updateDate($event)" > </InputDate> @@ -122,8 +136,8 @@ <span class="file-cta"> <b-icon class="file-icon" icon="upload"></b-icon> <span class="file-label">{{ - $t("dataTypesRepository.choose-file") - }}</span> + $t("dataTypesRepository.choose-file") + }}</span> </span> <span v-if="file" class="file-name"> {{ file.name }} @@ -147,7 +161,7 @@ <div class="column is-10"></div> <div class="column is-2" style="float: right"> <b-button expanded style="float: right" type="is-dark" @click="upload" - >{{ $t("dataTypesRepository.submit") }} + >{{ $t("dataTypesRepository.submit") }} </b-button> </div> </footer> @@ -343,7 +357,7 @@ export default { }, services() { return services; - }, + } }, components: { CollapseMenuOneSelect, @@ -351,15 +365,15 @@ export default { InputDate, LoadingAnimate, PageView, - SubMenu, + SubMenu }, props: { applicationName: { - type: String, + type: String }, dataId: { - type: String, - }, + type: String + } }, setup(props, ctx) { const loader = dataLoader(services); @@ -371,7 +385,7 @@ export default { const { shallowRefArray: errorsList, doChangeArray: changeErrorsList, - doAddToArray: addErrorsList, + doAddToArray: addErrorsList } = useArray(); const { reactiveObject: application, doChangeObject: changeApplication } = useObject( new ApplicationResult() @@ -386,16 +400,17 @@ export default { const { refBoolean: submissionListVisible } = useBoolean(); const { reactiveObject: requiredAuthorizationsObject, - doChangeObject: changeRequiredAuthorizationsObject, + doChangeObject: changeRequiredAuthorizationsObject } = useObject(); const { reactiveObject: requiredAuthorizationsLabels, - doChangeObject: changeRequiredAuthorizationsLabels, + doChangeObject: changeRequiredAuthorizationsLabels } = useObject(); let getSubmissionReferenceScopePath = services.internationalisationService.getSubmissionReferenceScopePath; let getDataTypeDisplay = services.internationalisationService.getDataTypeDisplay; let datasets = ref({}); + let data = ref({}); let file = ref(null); let startDate = ref(null); let endDate = ref(null); @@ -414,13 +429,13 @@ export default { y: { pattern: "\\d", type: "date" }, M: { pattern: "\\d", type: "date" }, Z: { pattern: "[+-]\\d{4}", type: "date" }, - G: { pattern: "[AB]D", type: "date" }, + G: { pattern: "[AB]D", type: "date" } }); onMounted(async () => { await init(); changeSubMenuPaths([ new SubMenuPath( - props.dataId.toLowerCase(), + data.value.localName.toLowerCase() || props.dataId.toLowerCase(), () => {}, () => app.$router.push(`/applications/${props.applicationName}/dataTypes`) ), @@ -517,11 +532,11 @@ export default { await services.applicationService.getApplication(props.applicationName, [ "CONFIGURATION", "DATATYPE", - "REFERENCETYPE", + "REFERENCETYPE" ]) ); const loadingComponent = app.$buefy.loading.open({ - container: document.getElementById("element"), + container: document.getElementById("element") }); changeVersioning(application.configuration.dataDescription[props.dataId].submission); componentNameTimeScope = versioning?.submissionScope?.timescope?.component; @@ -530,7 +545,7 @@ export default { localDatatypeName: services.internationalisationService.localeDataTypeIdName( application, application.dataTypes[props.dataId] - ), + ) }); changeConfiguration(application.configuration.dataDescription[props.dataId]); changeAuthorizations(configuration.submission.submissionScope); @@ -541,9 +556,10 @@ export default { requiredAuthorizations: {}, from: "", to: "", - comment: "", + comment: "" }) ); + getI18nData(application); let refForAuth = {}; let reference = ""; for (let auth in authorizations.value) { @@ -598,6 +614,15 @@ export default { } } + function getI18nData(application) { + let dataLocal = { + localName: application.configuration.i18n.data[props.dataId].i18n.title[locale], + localDescription: + application.configuration.i18n.data[props.dataId].i18n.description[locale] + }; + data.value = dataLocal; + } + function nameSelectedTagList(nameTagList) { return i18n.t("dataTypesManagement.selected_filter", { key: nameTagList }); } @@ -697,7 +722,7 @@ export default { changeErrorsMessages([]); dataset.params.published = pusblished; let requiredAuthorizations = dataset.params.binaryFiledataset.requiredAuthorizations; - requiredAuthorizations = Object.keys(requiredAuthorizations).reduce(function (acc, key) { + requiredAuthorizations = Object.keys(requiredAuthorizations).reduce(function(acc, key) { acc[key] = acc[key] ? acc[key].sql : ""; return acc; }, requiredAuthorizations); @@ -755,11 +780,11 @@ export default { selected.requiredAuthorizations[event.type] = [event.naturalKey]; changeRequiredAuthorizationsObject({ ...requiredAuthorizationsObject, - [event.type]: [event.id], + [event.type]: [event.id] }); changeRequiredAuthorizationsLabels({ ...requiredAuthorizationsLabels, - [event.type]: [event.localName], + [event.type]: [event.localName] }); if (currentDataset.value) { datasets.value = currentDataset.value; @@ -798,7 +823,7 @@ export default { } getDatasetMap({ binaryFileList: datasetsList.map((d) => new BinaryFile(d)), - uuid: uuid, + uuid: uuid }); } } @@ -831,7 +856,7 @@ export default { (isPublished ? "<b>La version contient des données publiées.</b><br />La supprimer entraînera la suppression de ces données.<br /><br />?" : "") + "Etes vous sûr de vouloir supprimer cette version?", - onConfirm: () => deleteFile(dataset.id), + onConfirm: () => deleteFile(dataset.id) }); } @@ -891,7 +916,7 @@ export default { localName, isLeaf: false, currentPath: newCurrentPath, - completeLocalName, + completeLocalName }; authPartition.rows.push(referenceValue); returnValues[naturalKey] = authPartition; @@ -903,7 +928,7 @@ export default { returnValues[returnValuesKey] = { ...auth, isLeaf: true, - rows: referenceValueLeaf, + rows: referenceValueLeaf }; } else { let r = await partitionReferencesValues( @@ -914,12 +939,13 @@ export default { returnValues[returnValuesKey] = { ...auth, isLeaf: false, - rows: r, + rows: r }; } } return returnValues; } + function internationalizeRequiredAuthorization(data, datasets) { const value = datasets?.datasets?.[0]?.params?.binaryFiledataset?.requiredAuthorizations?.[data]?.sql; @@ -963,9 +989,10 @@ export default { comment, currentDataset, internationalizeRequiredAuthorization, - submissionListVisible, + data, + submissionListVisible }; - }, + } }; </script> @@ -992,6 +1019,7 @@ table.datasetsPanel td { border-collapse: collapse; text-align: center; } + .subtitle { font-style: italic; } diff --git a/src/views/data/DatasManagementView.vue b/src/views/data/DatasManagementView.vue index 59b9ff1a0..c704af262 100644 --- a/src/views/data/DatasManagementView.vue +++ b/src/views/data/DatasManagementView.vue @@ -6,8 +6,13 @@ :root="application.localName || application.title" role="navigation" /> - <h1 class="title main-title"> - <b-tooltip :label="application.localDescription"> + <b-tooltip + v-if="application.localDescription" + :label="application.localDescription" + class="title main-title" + position="is-top" + > + <h1 class="title main-title"> {{ type[type.length - 1] === "dataTypes" ? $t("titles.data-types-page", { @@ -17,17 +22,27 @@ applicationName: application.localName || application.title, }) }} - </b-tooltip> - <b-tooltip :label="$t('dataTypesManagement.consult-authorization')" position="is-bottom"> - <b-button - icon-left="key" - type="is-warning" - @click="consultAuthorization" - outlined - rounded - /> - </b-tooltip> + </h1> + </b-tooltip> + <h1 v-else class="title main-title"> + {{ + type[type.length - 1] === "dataTypes" + ? $t("titles.data-types-page", { + applicationName: application.localName || application.title, + }) + : $t("titles.references-page", { + applicationName: application.localName || application.title, + }) + }} </h1> + <div + class="btn_auth_tooltip" + v-if="canCreateApplication || canManagerApplication || canManagerUser" + > + <b-tooltip :label="$t('dataTypesManagement.consult-authorization')" position="is-top"> + <b-button icon-left="key" outlined rounded type="is-warning" @click="consultAuthorization" /> + </b-tooltip> + </div> <div v-if="errorsMessages.length !== 0" style="margin: 10px"> <ShowErrors :errors-messages="errorsMessages" @@ -140,6 +155,11 @@ export default { const { reactiveObject: application, doChangeObject: changeApplication } = useObject( new ApplicationResult() ); + const { refBoolean: canCreateApplication, doChangeBoolean: changeCanCreateApplication } = + useBoolean(false); + const { refBoolean: canManagerApplication, doChangeBoolean: changeCanManagerApplication } = + useBoolean(false); + const { refBoolean: canManagerUser, doChangeBoolean: changeCanManagerUser } = useBoolean(false); const type = window.location.href.split("/"); const hasTags = useBoolean(false).refBoolean; const changeTags = function (tagsToChange) { @@ -182,6 +202,23 @@ export default { ]); changeTags(buildTags(application, datas.value)); changeDatas(services.tagService.toBeShown(tags, datas.value)); + try { + changeCanCreateApplication( + application?.currentApplicationUserRolesResult?.isApplicationCreator + ? application?.currentApplicationUserRolesResult?.isApplicationCreator + : application?.currentApplicationUserRolesResult?.isOpenAdomAdmin + ); + changeCanManagerApplication( + application?.currentApplicationUserRolesResult?.applicationRoles.includes( + "applicationManager" + ) + ); + changeCanManagerUser( + application?.currentApplicationUserRolesResult?.applicationRoles.includes("userManager") + ); + } catch (error) { + console.log("missing admin application rights", error); + } }); function addAuthorizationToData(reference) { @@ -377,6 +414,9 @@ export default { } return { + canCreateApplication, + canManagerApplication, + canManagerUser, openRefDetails, uploadReferenceCsv, changeTagSelected, @@ -409,4 +449,9 @@ export default { margin-bottom: 10px; border: 1px solid white; } +.btn_auth_tooltip { + display: flex; + justify-content: center; + align-items: center; +} </style> -- GitLab From 2ccde0abb8a90630e9fed215a0eee4b3bfd023cc Mon Sep 17 00:00:00 2001 From: lucile varloteaux <lucile.varloteaux@inrae.fr> Date: Wed, 11 Dec 2024 14:04:14 +0100 Subject: [PATCH 2/4] rebranchement des demandes de droits --- src/components/common/TitleAndDescription.vue | 35 ++++++ src/views/data/DataVersioningView.vue | 102 +++++++----------- 2 files changed, 75 insertions(+), 62 deletions(-) create mode 100644 src/components/common/TitleAndDescription.vue diff --git a/src/components/common/TitleAndDescription.vue b/src/components/common/TitleAndDescription.vue new file mode 100644 index 000000000..60658e20e --- /dev/null +++ b/src/components/common/TitleAndDescription.vue @@ -0,0 +1,35 @@ +<script> +export default { + name: "TitleAndDescription", + props: { + application: Object, + localName: String, + localDescription: String, + localTitle: String, + }, +}; +</script> + +<template> + <h1 class="title main-title"> + <slot name="label" v-bind:option="application"> + {{ localTitle || localName }} + </slot> + <slot name="description" v-bind:option="application" v-if="localDescription"> + <sup style="font-size: 1.5em"> + <b-tooltip + :label="$t('applications.description', { localDescription: localDescription })" + position="is-top" + > + <b-icon icon="info-circle" type="is-dark"></b-icon> + </b-tooltip> + </sup> + </slot> + </h1> +</template> + +<style scoped lang="scss"> +.icon { + vertical-align: text-top; +} +</style> diff --git a/src/views/data/DataVersioningView.vue b/src/views/data/DataVersioningView.vue index 9d37697c2..6b422e95a 100644 --- a/src/views/data/DataVersioningView.vue +++ b/src/views/data/DataVersioningView.vue @@ -7,27 +7,16 @@ :root="application.localName || application.title" role="navigation" /> - <b-tooltip - v-if="data.localDescription" - :label="data.localDescription" - class="title main-title" - position="is-top" - > - <h1 class="title main-title"> - {{ - $t("titles.data-types-repository", { - dataName: data.localName || dataId - }) - }} - </h1> - </b-tooltip> - <h1 v-else class="title main-title"> - {{ - $t("titles.data-types-repository", { - dataName: data.localName || dataId + <TitleAndDescription + :application="application" + :localDescription="application.localDatatypeDescription" + :localName="application.localDatatypeName" + :local-title=" + $t('titles.data-types-repository', { + dataName: application.localDatatypeName || dataId, }) - }} - </h1> + " + /> <div class="columns"> <b-field v-for="(referenceScopesByData, index) in referenceScopes[dataId]" @@ -136,8 +125,8 @@ <span class="file-cta"> <b-icon class="file-icon" icon="upload"></b-icon> <span class="file-label">{{ - $t("dataTypesRepository.choose-file") - }}</span> + $t("dataTypesRepository.choose-file") + }}</span> </span> <span v-if="file" class="file-name"> {{ file.name }} @@ -161,7 +150,7 @@ <div class="column is-10"></div> <div class="column is-2" style="float: right"> <b-button expanded style="float: right" type="is-dark" @click="upload" - >{{ $t("dataTypesRepository.submit") }} + >{{ $t("dataTypesRepository.submit") }} </b-button> </div> </footer> @@ -347,6 +336,7 @@ import ShowErrors from "@/components/application/ShowErrors.vue"; import { dataLoader } from "@/composable/data/dataLoader"; import { ReferenceScope } from "@/model/authorization/ReferenceScope"; import CollapseMenuOneSelect from "@/components/common/CollapseMenuOneSelect.vue"; +import TitleAndDescription from "@/components/common/TitleAndDescription.vue"; export default { name: "DataVersioningView", @@ -357,23 +347,24 @@ export default { }, services() { return services; - } + }, }, components: { + TitleAndDescription, CollapseMenuOneSelect, ShowErrors, InputDate, LoadingAnimate, PageView, - SubMenu + SubMenu, }, props: { applicationName: { - type: String + type: String, }, dataId: { - type: String - } + type: String, + }, }, setup(props, ctx) { const loader = dataLoader(services); @@ -385,7 +376,7 @@ export default { const { shallowRefArray: errorsList, doChangeArray: changeErrorsList, - doAddToArray: addErrorsList + doAddToArray: addErrorsList, } = useArray(); const { reactiveObject: application, doChangeObject: changeApplication } = useObject( new ApplicationResult() @@ -400,17 +391,16 @@ export default { const { refBoolean: submissionListVisible } = useBoolean(); const { reactiveObject: requiredAuthorizationsObject, - doChangeObject: changeRequiredAuthorizationsObject + doChangeObject: changeRequiredAuthorizationsObject, } = useObject(); const { reactiveObject: requiredAuthorizationsLabels, - doChangeObject: changeRequiredAuthorizationsLabels + doChangeObject: changeRequiredAuthorizationsLabels, } = useObject(); let getSubmissionReferenceScopePath = services.internationalisationService.getSubmissionReferenceScopePath; let getDataTypeDisplay = services.internationalisationService.getDataTypeDisplay; let datasets = ref({}); - let data = ref({}); let file = ref(null); let startDate = ref(null); let endDate = ref(null); @@ -429,13 +419,13 @@ export default { y: { pattern: "\\d", type: "date" }, M: { pattern: "\\d", type: "date" }, Z: { pattern: "[+-]\\d{4}", type: "date" }, - G: { pattern: "[AB]D", type: "date" } + G: { pattern: "[AB]D", type: "date" }, }); onMounted(async () => { await init(); changeSubMenuPaths([ new SubMenuPath( - data.value.localName.toLowerCase() || props.dataId.toLowerCase(), + application.localDatatypeName.toLowerCase() || props.dataId.toLowerCase(), () => {}, () => app.$router.push(`/applications/${props.applicationName}/dataTypes`) ), @@ -532,20 +522,19 @@ export default { await services.applicationService.getApplication(props.applicationName, [ "CONFIGURATION", "DATATYPE", - "REFERENCETYPE" + "REFERENCETYPE", ]) ); const loadingComponent = app.$buefy.loading.open({ - container: document.getElementById("element") + container: document.getElementById("element"), }); changeVersioning(application.configuration.dataDescription[props.dataId].submission); componentNameTimeScope = versioning?.submissionScope?.timescope?.component; changeApplication({ ...services.internationalisationService.mergeInternationalization(application), - localDatatypeName: services.internationalisationService.localeDataTypeIdName( - application, - application.dataTypes[props.dataId] - ) + localDatatypeName: application.configuration.i18n.data[props.dataId].i18n.title[locale], + localDatatypeDescription: + application.configuration.i18n.data[props.dataId].i18n.description[locale], }); changeConfiguration(application.configuration.dataDescription[props.dataId]); changeAuthorizations(configuration.submission.submissionScope); @@ -556,10 +545,9 @@ export default { requiredAuthorizations: {}, from: "", to: "", - comment: "" + comment: "", }) ); - getI18nData(application); let refForAuth = {}; let reference = ""; for (let auth in authorizations.value) { @@ -614,15 +602,6 @@ export default { } } - function getI18nData(application) { - let dataLocal = { - localName: application.configuration.i18n.data[props.dataId].i18n.title[locale], - localDescription: - application.configuration.i18n.data[props.dataId].i18n.description[locale] - }; - data.value = dataLocal; - } - function nameSelectedTagList(nameTagList) { return i18n.t("dataTypesManagement.selected_filter", { key: nameTagList }); } @@ -722,7 +701,7 @@ export default { changeErrorsMessages([]); dataset.params.published = pusblished; let requiredAuthorizations = dataset.params.binaryFiledataset.requiredAuthorizations; - requiredAuthorizations = Object.keys(requiredAuthorizations).reduce(function(acc, key) { + requiredAuthorizations = Object.keys(requiredAuthorizations).reduce(function (acc, key) { acc[key] = acc[key] ? acc[key].sql : ""; return acc; }, requiredAuthorizations); @@ -780,11 +759,11 @@ export default { selected.requiredAuthorizations[event.type] = [event.naturalKey]; changeRequiredAuthorizationsObject({ ...requiredAuthorizationsObject, - [event.type]: [event.id] + [event.type]: [event.id], }); changeRequiredAuthorizationsLabels({ ...requiredAuthorizationsLabels, - [event.type]: [event.localName] + [event.type]: [event.localName], }); if (currentDataset.value) { datasets.value = currentDataset.value; @@ -823,7 +802,7 @@ export default { } getDatasetMap({ binaryFileList: datasetsList.map((d) => new BinaryFile(d)), - uuid: uuid + uuid: uuid, }); } } @@ -856,7 +835,7 @@ export default { (isPublished ? "<b>La version contient des données publiées.</b><br />La supprimer entraînera la suppression de ces données.<br /><br />?" : "") + "Etes vous sûr de vouloir supprimer cette version?", - onConfirm: () => deleteFile(dataset.id) + onConfirm: () => deleteFile(dataset.id), }); } @@ -916,7 +895,7 @@ export default { localName, isLeaf: false, currentPath: newCurrentPath, - completeLocalName + completeLocalName, }; authPartition.rows.push(referenceValue); returnValues[naturalKey] = authPartition; @@ -928,7 +907,7 @@ export default { returnValues[returnValuesKey] = { ...auth, isLeaf: true, - rows: referenceValueLeaf + rows: referenceValueLeaf, }; } else { let r = await partitionReferencesValues( @@ -939,7 +918,7 @@ export default { returnValues[returnValuesKey] = { ...auth, isLeaf: false, - rows: r + rows: r, }; } } @@ -989,10 +968,9 @@ export default { comment, currentDataset, internationalizeRequiredAuthorization, - data, - submissionListVisible + submissionListVisible, }; - } + }, }; </script> -- GitLab From 9d2650681d8aebf311cabdb0ebff129b1a857b9c Mon Sep 17 00:00:00 2001 From: lucile varloteaux <lucile.varloteaux@inrae.fr> Date: Wed, 11 Dec 2024 14:04:56 +0100 Subject: [PATCH 3/4] =?UTF-8?q?cr=C3=A9ation=20d'un=20component=20pour=20l?= =?UTF-8?q?e=20title=20avec=20ajout=20de=20leur=20description?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- package-lock.json | 270 +++++++++++++++--- .../common/provider/FiltersDataCollapse.vue | 4 +- src/composable/data/dataLoader.js | 29 +- .../AuthorizationsRightsRequestInfoView.vue | 20 +- .../DataTypeAuthorizationInfoView.vue | 16 +- .../DataTypeAuthorizationsView.vue | 17 +- src/views/data/DataTableView.vue | 37 +-- src/views/data/DatasManagementView.vue | 55 ++-- 8 files changed, 326 insertions(+), 122 deletions(-) diff --git a/package-lock.json b/package-lock.json index 97df31138..e6422ec90 100644 --- a/package-lock.json +++ b/package-lock.json @@ -76,6 +76,7 @@ "version": "2.3.0", "resolved": "https://registry.npmjs.org/@ampproject/remapping/-/remapping-2.3.0.tgz", "integrity": "sha512-30iZtAPgz+LTIYoeivqYo853f02jBYSd5uGnGpkFV0M3xOt9aN73erkgYAmZU43x4VfqcnLxW9Kpg3R5LC4YYw==", + "dev": true, "dependencies": { "@jridgewell/gen-mapping": "^0.3.5", "@jridgewell/trace-mapping": "^0.3.24" @@ -101,6 +102,7 @@ "version": "7.26.2", "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.26.2.tgz", "integrity": "sha512-Z0WgzSEa+aUcdiJuCIqgujCshpMWgUpgOxXotrYPSA53hA3qopNaqcJpyr0hVb1FeWdnqFA35/fUtXgBK8srQg==", + "dev": true, "engines": { "node": ">=6.9.0" } @@ -109,6 +111,7 @@ "version": "7.26.0", "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.26.0.tgz", "integrity": "sha512-i1SLeK+DzNnQ3LL/CswPCa/E5u4lh1k6IAEphON8F+cXt0t9euTshDru0q7/IqMa1PMPz5RnHuHscF8/ZJsStg==", + "dev": true, "dependencies": { "@ampproject/remapping": "^2.2.0", "@babel/code-frame": "^7.26.0", @@ -195,6 +198,7 @@ "version": "7.25.9", "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.25.9.tgz", "integrity": "sha512-j9Db8Suy6yV/VHa4qzrj9yZfZxhLWQdVnRlXxmKLYlhWUVB1sB2G5sxuWYXk/whHD9iW76PmNzxZ4UCnTQTVEQ==", + "dev": true, "dependencies": { "@babel/compat-data": "^7.25.9", "@babel/helper-validator-option": "^7.25.9", @@ -275,6 +279,7 @@ "version": "7.25.9", "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.25.9.tgz", "integrity": "sha512-tnUA4RsrmflIM6W6RFTLFSXITtl0wKjgpnLgXyowocVPrbYrLUXSBXDgTs8BlbmIzIdlBySRQjINYs2BAkiLtw==", + "dev": true, "dependencies": { "@babel/traverse": "^7.25.9", "@babel/types": "^7.25.9" @@ -287,6 +292,7 @@ "version": "7.26.0", "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.26.0.tgz", "integrity": "sha512-xO+xu6B5K2czEnQye6BHA7DolFFmS3LB7stHZFaOLb1pAwO1HWLS8fXA+eh0A2yIvltPVmx3eNNDBJA2SLHXFw==", + "dev": true, "dependencies": { "@babel/helper-module-imports": "^7.25.9", "@babel/helper-validator-identifier": "^7.25.9", @@ -396,6 +402,7 @@ "version": "7.25.9", "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.25.9.tgz", "integrity": "sha512-e/zv1co8pp55dNdEcCynfj9X7nyUKUXoUEwfXqaZt0omVOmDe9oOTdKStH4GmAw6zxMFs50ZayuMfHDKlO7Tfw==", + "dev": true, "engines": { "node": ">=6.9.0" } @@ -418,6 +425,7 @@ "version": "7.26.0", "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.26.0.tgz", "integrity": "sha512-tbhNuIxNcVb21pInl3ZSjksLCvgdZy9KwJ8brv993QtIVKJBBkYXz4q4ZbAv31GdnC+R90np23L5FbEBlthAEw==", + "dev": true, "dependencies": { "@babel/template": "^7.25.9", "@babel/types": "^7.26.0" @@ -1719,6 +1727,7 @@ "version": "1.5.0", "resolved": "https://registry.npmjs.org/@colors/colors/-/colors-1.5.0.tgz", "integrity": "sha512-ooWCrlZP11i8GImSjTHYHLkvFDP48nS4+204nGb1RiX/WXYHmJA2III9/e2DWVabCESdW7hBAEzHRqUn9OUVvQ==", + "dev": true, "optional": true, "engines": { "node": ">=0.1.90" @@ -1728,6 +1737,7 @@ "version": "3.0.6", "resolved": "https://registry.npmjs.org/@cypress/request/-/request-3.0.6.tgz", "integrity": "sha512-fi0eVdCOtKu5Ed6+E8mYxUF6ZTFJDZvHogCBelM0xVXmrDEkyM22gRArQzq1YcHPm1V47Vf/iAD+WgVdUlJCGg==", + "dev": true, "dependencies": { "aws-sign2": "~0.7.0", "aws4": "^1.8.0", @@ -1784,6 +1794,7 @@ "version": "1.2.4", "resolved": "https://registry.npmjs.org/@cypress/xvfb/-/xvfb-1.2.4.tgz", "integrity": "sha512-skbBzPggOVYCbnGgV+0dmBdW/s77ZkAOXIC1knS8NagwDjBrNC1LuXtQJeiN6l+m7lzmHtaoUw/ctJKdqkG57Q==", + "dev": true, "dependencies": { "debug": "^3.1.0", "lodash.once": "^4.1.1" @@ -1793,6 +1804,7 @@ "version": "3.2.7", "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", + "dev": true, "dependencies": { "ms": "^2.1.1" } @@ -2578,6 +2590,7 @@ "version": "8.56.12", "resolved": "https://registry.npmjs.org/@types/eslint/-/eslint-8.56.12.tgz", "integrity": "sha512-03ruubjWyOHlmljCVoxSuNDdmfZDzsrrz0P2LeJsOXr+ZwFQ+0yQIwNCwt/GYhV7Z31fgtXJTAEs+FYlEL851g==", + "dev": true, "dependencies": { "@types/estree": "*", "@types/json-schema": "*" @@ -2587,6 +2600,7 @@ "version": "3.7.7", "resolved": "https://registry.npmjs.org/@types/eslint-scope/-/eslint-scope-3.7.7.tgz", "integrity": "sha512-MzMFlSLBqNF2gcHWO0G1vP/YQyfvrxZ0bF+u7mzUdZ1/xK4A4sru+nraZz5i3iEIk1l1uyicaDVTB4QbbEkAYg==", + "dev": true, "dependencies": { "@types/eslint": "*", "@types/estree": "*" @@ -2595,7 +2609,8 @@ "node_modules/@types/estree": { "version": "1.0.6", "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.6.tgz", - "integrity": "sha512-AYnb1nQyY49te+VRAVgmzfcgjYS91mY5P0TKUDCLEM+gNnA+3T6rWITXRLYCpahpqSQbN5cE+gHpnPyXjHWxcw==" + "integrity": "sha512-AYnb1nQyY49te+VRAVgmzfcgjYS91mY5P0TKUDCLEM+gNnA+3T6rWITXRLYCpahpqSQbN5cE+gHpnPyXjHWxcw==", + "dev": true }, "node_modules/@types/express": { "version": "4.17.21", @@ -2737,12 +2752,14 @@ "node_modules/@types/sinonjs__fake-timers": { "version": "8.1.1", "resolved": "https://registry.npmjs.org/@types/sinonjs__fake-timers/-/sinonjs__fake-timers-8.1.1.tgz", - "integrity": "sha512-0kSuKjAS0TrGLJ0M/+8MaFkGsQhZpB6pxOmvS3K8FYI72K//YmdfoW9X2qPsAKh1mkwxGD5zib9s1FIFed6E8g==" + "integrity": "sha512-0kSuKjAS0TrGLJ0M/+8MaFkGsQhZpB6pxOmvS3K8FYI72K//YmdfoW9X2qPsAKh1mkwxGD5zib9s1FIFed6E8g==", + "dev": true }, "node_modules/@types/sizzle": { "version": "2.3.9", "resolved": "https://registry.npmjs.org/@types/sizzle/-/sizzle-2.3.9.tgz", - "integrity": "sha512-xzLEyKB50yqCUPUJkIsrVvoWNfFUbIZI+RspLWt8u+tIW/BetMBZtgV2LY/2o+tYH8dRvQ+eoPf3NdhQCcLE2w==" + "integrity": "sha512-xzLEyKB50yqCUPUJkIsrVvoWNfFUbIZI+RspLWt8u+tIW/BetMBZtgV2LY/2o+tYH8dRvQ+eoPf3NdhQCcLE2w==", + "dev": true }, "node_modules/@types/sockjs": { "version": "0.3.36", @@ -2813,6 +2830,7 @@ "version": "2.10.3", "resolved": "https://registry.npmjs.org/@types/yauzl/-/yauzl-2.10.3.tgz", "integrity": "sha512-oJoftv0LSuaDZE3Le4DbKX+KS9G36NzOeSap90UIK0yMA/NhKJhqlSGtNDORNRaIbQfzjXDrQa0ytJ6mNRGz/Q==", + "dev": true, "optional": true, "dependencies": { "@types/node": "*" @@ -3486,6 +3504,7 @@ "version": "1.14.1", "resolved": "https://registry.npmjs.org/@webassemblyjs/ast/-/ast-1.14.1.tgz", "integrity": "sha512-nuBEDgQfm1ccRp/8bCQrx1frohyufl4JlbMMZ4P1wpeOfDhF6FQkxZJ1b/e+PLwr6X1Nhw6OLme5usuBWYBvuQ==", + "dev": true, "dependencies": { "@webassemblyjs/helper-numbers": "1.13.2", "@webassemblyjs/helper-wasm-bytecode": "1.13.2" @@ -3494,22 +3513,26 @@ "node_modules/@webassemblyjs/floating-point-hex-parser": { "version": "1.13.2", "resolved": "https://registry.npmjs.org/@webassemblyjs/floating-point-hex-parser/-/floating-point-hex-parser-1.13.2.tgz", - "integrity": "sha512-6oXyTOzbKxGH4steLbLNOu71Oj+C8Lg34n6CqRvqfS2O71BxY6ByfMDRhBytzknj9yGUPVJ1qIKhRlAwO1AovA==" + "integrity": "sha512-6oXyTOzbKxGH4steLbLNOu71Oj+C8Lg34n6CqRvqfS2O71BxY6ByfMDRhBytzknj9yGUPVJ1qIKhRlAwO1AovA==", + "dev": true }, "node_modules/@webassemblyjs/helper-api-error": { "version": "1.13.2", "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-api-error/-/helper-api-error-1.13.2.tgz", - "integrity": "sha512-U56GMYxy4ZQCbDZd6JuvvNV/WFildOjsaWD3Tzzvmw/mas3cXzRJPMjP83JqEsgSbyrmaGjBfDtV7KDXV9UzFQ==" + "integrity": "sha512-U56GMYxy4ZQCbDZd6JuvvNV/WFildOjsaWD3Tzzvmw/mas3cXzRJPMjP83JqEsgSbyrmaGjBfDtV7KDXV9UzFQ==", + "dev": true }, "node_modules/@webassemblyjs/helper-buffer": { "version": "1.14.1", "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-buffer/-/helper-buffer-1.14.1.tgz", - "integrity": "sha512-jyH7wtcHiKssDtFPRB+iQdxlDf96m0E39yb0k5uJVhFGleZFoNw1c4aeIcVUPPbXUVJ94wwnMOAqUHyzoEPVMA==" + "integrity": "sha512-jyH7wtcHiKssDtFPRB+iQdxlDf96m0E39yb0k5uJVhFGleZFoNw1c4aeIcVUPPbXUVJ94wwnMOAqUHyzoEPVMA==", + "dev": true }, "node_modules/@webassemblyjs/helper-numbers": { "version": "1.13.2", "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-numbers/-/helper-numbers-1.13.2.tgz", "integrity": "sha512-FE8aCmS5Q6eQYcV3gI35O4J789wlQA+7JrqTTpJqn5emA4U2hvwJmvFRC0HODS+3Ye6WioDklgd6scJ3+PLnEA==", + "dev": true, "dependencies": { "@webassemblyjs/floating-point-hex-parser": "1.13.2", "@webassemblyjs/helper-api-error": "1.13.2", @@ -3519,12 +3542,14 @@ "node_modules/@webassemblyjs/helper-wasm-bytecode": { "version": "1.13.2", "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.13.2.tgz", - "integrity": "sha512-3QbLKy93F0EAIXLh0ogEVR6rOubA9AoZ+WRYhNbFyuB70j3dRdwH9g+qXhLAO0kiYGlg3TxDV+I4rQTr/YNXkA==" + "integrity": "sha512-3QbLKy93F0EAIXLh0ogEVR6rOubA9AoZ+WRYhNbFyuB70j3dRdwH9g+qXhLAO0kiYGlg3TxDV+I4rQTr/YNXkA==", + "dev": true }, "node_modules/@webassemblyjs/helper-wasm-section": { "version": "1.14.1", "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-section/-/helper-wasm-section-1.14.1.tgz", "integrity": "sha512-ds5mXEqTJ6oxRoqjhWDU83OgzAYjwsCV8Lo/N+oRsNDmx/ZDpqalmrtgOMkHwxsG0iI//3BwWAErYRHtgn0dZw==", + "dev": true, "dependencies": { "@webassemblyjs/ast": "1.14.1", "@webassemblyjs/helper-buffer": "1.14.1", @@ -3536,6 +3561,7 @@ "version": "1.13.2", "resolved": "https://registry.npmjs.org/@webassemblyjs/ieee754/-/ieee754-1.13.2.tgz", "integrity": "sha512-4LtOzh58S/5lX4ITKxnAK2USuNEvpdVV9AlgGQb8rJDHaLeHciwG4zlGr0j/SNWlr7x3vO1lDEsuePvtcDNCkw==", + "dev": true, "dependencies": { "@xtuc/ieee754": "^1.2.0" } @@ -3544,6 +3570,7 @@ "version": "1.13.2", "resolved": "https://registry.npmjs.org/@webassemblyjs/leb128/-/leb128-1.13.2.tgz", "integrity": "sha512-Lde1oNoIdzVzdkNEAWZ1dZ5orIbff80YPdHx20mrHwHrVNNTjNr8E3xz9BdpcGqRQbAEa+fkrCb+fRFTl/6sQw==", + "dev": true, "dependencies": { "@xtuc/long": "4.2.2" } @@ -3551,12 +3578,14 @@ "node_modules/@webassemblyjs/utf8": { "version": "1.13.2", "resolved": "https://registry.npmjs.org/@webassemblyjs/utf8/-/utf8-1.13.2.tgz", - "integrity": "sha512-3NQWGjKTASY1xV5m7Hr0iPeXD9+RDobLll3T9d2AO+g3my8xy5peVyjSag4I50mR1bBSN/Ct12lo+R9tJk0NZQ==" + "integrity": "sha512-3NQWGjKTASY1xV5m7Hr0iPeXD9+RDobLll3T9d2AO+g3my8xy5peVyjSag4I50mR1bBSN/Ct12lo+R9tJk0NZQ==", + "dev": true }, "node_modules/@webassemblyjs/wasm-edit": { "version": "1.14.1", "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-edit/-/wasm-edit-1.14.1.tgz", "integrity": "sha512-RNJUIQH/J8iA/1NzlE4N7KtyZNHi3w7at7hDjvRNm5rcUXa00z1vRz3glZoULfJ5mpvYhLybmVcwcjGrC1pRrQ==", + "dev": true, "dependencies": { "@webassemblyjs/ast": "1.14.1", "@webassemblyjs/helper-buffer": "1.14.1", @@ -3572,6 +3601,7 @@ "version": "1.14.1", "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-gen/-/wasm-gen-1.14.1.tgz", "integrity": "sha512-AmomSIjP8ZbfGQhumkNvgC33AY7qtMCXnN6bL2u2Js4gVCg8fp735aEiMSBbDR7UQIj90n4wKAFUSEd0QN2Ukg==", + "dev": true, "dependencies": { "@webassemblyjs/ast": "1.14.1", "@webassemblyjs/helper-wasm-bytecode": "1.13.2", @@ -3584,6 +3614,7 @@ "version": "1.14.1", "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-opt/-/wasm-opt-1.14.1.tgz", "integrity": "sha512-PTcKLUNvBqnY2U6E5bdOQcSM+oVP/PmrDY9NzowJjislEjwP/C4an2303MCVS2Mg9d3AJpIGdUFIQQWbPds0Sw==", + "dev": true, "dependencies": { "@webassemblyjs/ast": "1.14.1", "@webassemblyjs/helper-buffer": "1.14.1", @@ -3595,6 +3626,7 @@ "version": "1.14.1", "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-parser/-/wasm-parser-1.14.1.tgz", "integrity": "sha512-JLBl+KZ0R5qB7mCnud/yyX08jWFw5MsoalJ1pQ4EdFlgj9VdXKGuENGsiCIjegI1W7p91rUlcB/LB5yRJKNTcQ==", + "dev": true, "dependencies": { "@webassemblyjs/ast": "1.14.1", "@webassemblyjs/helper-api-error": "1.13.2", @@ -3608,6 +3640,7 @@ "version": "1.14.1", "resolved": "https://registry.npmjs.org/@webassemblyjs/wast-printer/-/wast-printer-1.14.1.tgz", "integrity": "sha512-kPSSXE6De1XOR820C90RIo2ogvZG+c3KiHzqUoO/F34Y2shGzesfqv7o57xrxovZJH/MetF5UjroJ/R/3isoiw==", + "dev": true, "dependencies": { "@webassemblyjs/ast": "1.14.1", "@xtuc/long": "4.2.2" @@ -3616,12 +3649,14 @@ "node_modules/@xtuc/ieee754": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/@xtuc/ieee754/-/ieee754-1.2.0.tgz", - "integrity": "sha512-DX8nKgqcGwsc0eJSqYt5lwP4DH5FlHnmuWWBRy7X0NcaGR0ZtuyeESgMwTYVEtxmsNGY+qit4QYT/MIYTOTPeA==" + "integrity": "sha512-DX8nKgqcGwsc0eJSqYt5lwP4DH5FlHnmuWWBRy7X0NcaGR0ZtuyeESgMwTYVEtxmsNGY+qit4QYT/MIYTOTPeA==", + "dev": true }, "node_modules/@xtuc/long": { "version": "4.2.2", "resolved": "https://registry.npmjs.org/@xtuc/long/-/long-4.2.2.tgz", - "integrity": "sha512-NuHqBY1PB/D8xU6s/thBgOAiAP7HOYDQ32+BFZILJ8ivkUkAHQnWfn6WhL79Owj1qmUnoN/YPhktdIoucipkAQ==" + "integrity": "sha512-NuHqBY1PB/D8xU6s/thBgOAiAP7HOYDQ32+BFZILJ8ivkUkAHQnWfn6WhL79Owj1qmUnoN/YPhktdIoucipkAQ==", + "dev": true }, "node_modules/accepts": { "version": "1.3.8", @@ -3688,6 +3723,7 @@ "version": "3.1.0", "resolved": "https://registry.npmjs.org/aggregate-error/-/aggregate-error-3.1.0.tgz", "integrity": "sha512-4I7Td01quW/RpocfNayFdFVk1qSuoh0E7JrbRJ16nH01HhKFQ88INq9Sd+nd72zqRySlr9BmDA8xlEJ6vJMrYA==", + "dev": true, "dependencies": { "clean-stack": "^2.0.0", "indent-string": "^4.0.0" @@ -3700,6 +3736,7 @@ "version": "6.12.6", "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", + "dev": true, "dependencies": { "fast-deep-equal": "^3.1.1", "fast-json-stable-stringify": "^2.0.0", @@ -3751,6 +3788,7 @@ "version": "3.5.2", "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-3.5.2.tgz", "integrity": "sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ==", + "dev": true, "peerDependencies": { "ajv": "^6.9.1" } @@ -3769,6 +3807,7 @@ "version": "4.1.3", "resolved": "https://registry.npmjs.org/ansi-colors/-/ansi-colors-4.1.3.tgz", "integrity": "sha512-/6w/C21Pm1A7aZitlI5Ni/2J6FFQN8i1Cvz3kHABAAbw93v/NlvKdVOqz7CCWz/3iv/JplRSEEZ83XION15ovw==", + "dev": true, "engines": { "node": ">=6" } @@ -3777,6 +3816,7 @@ "version": "4.3.2", "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-4.3.2.tgz", "integrity": "sha512-gKXj5ALrKWQLsYG9jlTRmR/xKluxHV+Z9QEwNIgCfM1/uwPMCuzVVnh5mwTd+OuBZcwSIMbqssNWRm1lE51QaQ==", + "dev": true, "dependencies": { "type-fest": "^0.21.3" }, @@ -3842,6 +3882,7 @@ "version": "2.2.0", "resolved": "https://registry.npmjs.org/arch/-/arch-2.2.0.tgz", "integrity": "sha512-Of/R0wqp83cgHozfIYLbBMnej79U/SVGOOyuB3VVFv1NRM/PSFMK12x9KVtiYzJqmnU5WR2qp0Z5rHb7sWGnFQ==", + "dev": true, "funding": [ { "type": "github", @@ -3937,6 +3978,7 @@ "version": "0.2.6", "resolved": "https://registry.npmjs.org/asn1/-/asn1-0.2.6.tgz", "integrity": "sha512-ix/FxPn0MDjeyJ7i/yoHGFt/EX6LyNbxSEhPPXODPL+KB0VPk86UYfL0lMdy+KCnv+fmvIzySwaK5COwqVbWTQ==", + "dev": true, "dependencies": { "safer-buffer": "~2.1.0" } @@ -3945,6 +3987,7 @@ "version": "1.0.0", "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz", "integrity": "sha512-NfJ4UzBCcQGLDlQq7nHxH+tv3kyZ0hHQqF5BO6J7tNJeP5do1llPr8dZ8zHonfhAu0PHAdMkSo+8o0wxg9lZWw==", + "dev": true, "engines": { "node": ">=0.8" } @@ -3953,6 +3996,7 @@ "version": "2.0.0", "resolved": "https://registry.npmjs.org/astral-regex/-/astral-regex-2.0.0.tgz", "integrity": "sha512-Z7tMw1ytTXt5jqMcOP+OQteU1VuNK9Y02uuJtKQ1Sv69jXQKKg5cibLwGJow8yzZP+eAc18EmLGPal0bp36rvQ==", + "dev": true, "engines": { "node": ">=8" } @@ -3960,12 +4004,14 @@ "node_modules/async": { "version": "3.2.6", "resolved": "https://registry.npmjs.org/async/-/async-3.2.6.tgz", - "integrity": "sha512-htCUDlxyyCLMgaM3xXg0C0LW2xqfuQ6p05pCEIsXuyQ+a1koYKTuBMzRNwmybfLgvJDMd0r1LTn4+E0Ti6C2AA==" + "integrity": "sha512-htCUDlxyyCLMgaM3xXg0C0LW2xqfuQ6p05pCEIsXuyQ+a1koYKTuBMzRNwmybfLgvJDMd0r1LTn4+E0Ti6C2AA==", + "dev": true }, "node_modules/asynckit": { "version": "0.4.0", "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz", - "integrity": "sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==" + "integrity": "sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==", + "dev": true }, "node_modules/at-least-node": { "version": "1.0.0", @@ -4030,6 +4076,7 @@ "version": "0.7.0", "resolved": "https://registry.npmjs.org/aws-sign2/-/aws-sign2-0.7.0.tgz", "integrity": "sha512-08kcGqnYf/YmjoRhfxyu+CLxBjUtHLXLXX/vUfx9l2LYzG3c1m61nrpyFUZI6zeS+Li/wWMMidD9KgrqtGq3mA==", + "dev": true, "engines": { "node": "*" } @@ -4037,7 +4084,8 @@ "node_modules/aws4": { "version": "1.13.2", "resolved": "https://registry.npmjs.org/aws4/-/aws4-1.13.2.tgz", - "integrity": "sha512-lHe62zvbTB5eEABUVi/AwVh0ZKY9rMMDhmm+eeyuuUQbQ3+J+fONVQOZyj+DdrvD4BY33uYniyRJ4UJIaSKAfw==" + "integrity": "sha512-lHe62zvbTB5eEABUVi/AwVh0ZKY9rMMDhmm+eeyuuUQbQ3+J+fONVQOZyj+DdrvD4BY33uYniyRJ4UJIaSKAfw==", + "dev": true }, "node_modules/babel-loader": { "version": "8.4.1", @@ -4129,6 +4177,7 @@ "version": "1.5.1", "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.5.1.tgz", "integrity": "sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==", + "dev": true, "funding": [ { "type": "github", @@ -4153,6 +4202,7 @@ "version": "1.0.2", "resolved": "https://registry.npmjs.org/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.2.tgz", "integrity": "sha512-qeFIXtP4MSoi6NLqO12WfqARWWuCKi2Rn/9hJLEmtB5yTNr9DqFWkJRCf2qShWzPeAMRnOgCrq0sg/KLv5ES9w==", + "dev": true, "dependencies": { "tweetnacl": "^0.14.3" } @@ -4190,12 +4240,14 @@ "node_modules/blob-util": { "version": "2.0.2", "resolved": "https://registry.npmjs.org/blob-util/-/blob-util-2.0.2.tgz", - "integrity": "sha512-T7JQa+zsXXEa6/8ZhHcQEW1UFfVM49Ts65uBkFL6fz2QmrElqmbajIDJvuA0tEhRe5eIjpV9ZF+0RfZR9voJFQ==" + "integrity": "sha512-T7JQa+zsXXEa6/8ZhHcQEW1UFfVM49Ts65uBkFL6fz2QmrElqmbajIDJvuA0tEhRe5eIjpV9ZF+0RfZR9voJFQ==", + "dev": true }, "node_modules/bluebird": { "version": "3.7.2", "resolved": "https://registry.npmjs.org/bluebird/-/bluebird-3.7.2.tgz", - "integrity": "sha512-XpNj6GDQzdfW+r2Wnn7xiSAd7TM3jzkxGXBGTtWKuSXv1xUV+azxAm8jdWZN06QTQk+2N2XB9jRDkvbmQmcRtg==" + "integrity": "sha512-XpNj6GDQzdfW+r2Wnn7xiSAd7TM3jzkxGXBGTtWKuSXv1xUV+azxAm8jdWZN06QTQk+2N2XB9jRDkvbmQmcRtg==", + "dev": true }, "node_modules/body-parser": { "version": "1.20.3", @@ -4271,6 +4323,7 @@ "version": "4.24.2", "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.24.2.tgz", "integrity": "sha512-ZIc+Q62revdMcqC6aChtW4jz3My3klmCO1fEmINZY/8J3EpBg5/A/D0AKmBveUh6pgoeycoMkVMko84tuYS+Gg==", + "dev": true, "funding": [ { "type": "opencollective", @@ -4317,6 +4370,7 @@ "version": "5.7.1", "resolved": "https://registry.npmjs.org/buffer/-/buffer-5.7.1.tgz", "integrity": "sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==", + "dev": true, "funding": [ { "type": "github", @@ -4340,6 +4394,7 @@ "version": "0.2.13", "resolved": "https://registry.npmjs.org/buffer-crc32/-/buffer-crc32-0.2.13.tgz", "integrity": "sha512-VO9Ht/+p3SN7SKWqcrgEzjGbRSJYTx+Q1pTQC0wrWqHx0vpJraQ6GtHx8tvcg1rlK1byhU5gccxgOgj7B0TDkQ==", + "dev": true, "engines": { "node": "*" } @@ -4375,6 +4430,7 @@ "version": "2.4.0", "resolved": "https://registry.npmjs.org/cachedir/-/cachedir-2.4.0.tgz", "integrity": "sha512-9EtFOZR8g22CL7BWjJ9BUx1+A/djkofnyW3aOXZORNW2kxoUpx2h+uN2cOqwPmFhnpVmxg+KW2OjOSgChTEvsQ==", + "dev": true, "engines": { "node": ">=6" } @@ -4440,6 +4496,7 @@ "version": "1.0.30001680", "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001680.tgz", "integrity": "sha512-rPQy70G6AGUMnbwS1z6Xg+RkHYPAi18ihs47GH0jcxIG7wArmPgY3XbS2sRdBbxJljp3thdT8BIqv9ccCypiPA==", + "dev": true, "funding": [ { "type": "opencollective", @@ -4467,7 +4524,8 @@ "node_modules/caseless": { "version": "0.12.0", "resolved": "https://registry.npmjs.org/caseless/-/caseless-0.12.0.tgz", - "integrity": "sha512-4tYFyifaFfGacoiObjJegolkwSU4xQNGbVgUiNYVUxbQ2x2lUsFvY4hVgVzGiIe6WLOPqycWXA40l+PWsxthUw==" + "integrity": "sha512-4tYFyifaFfGacoiObjJegolkwSU4xQNGbVgUiNYVUxbQ2x2lUsFvY4hVgVzGiIe6WLOPqycWXA40l+PWsxthUw==", + "dev": true }, "node_modules/chalk": { "version": "3.0.0", @@ -4525,6 +4583,7 @@ "version": "2.24.0", "resolved": "https://registry.npmjs.org/check-more-types/-/check-more-types-2.24.0.tgz", "integrity": "sha512-Pj779qHxV2tuapviy1bSZNEL1maXr13bPYpsvSDB68HlYcYuhlDrmGd63i0JHMCLKzc7rUSNIrpdJlhVlNwrxA==", + "dev": true, "engines": { "node": ">= 0.8.0" } @@ -4547,6 +4606,7 @@ "version": "1.0.4", "resolved": "https://registry.npmjs.org/chrome-trace-event/-/chrome-trace-event-1.0.4.tgz", "integrity": "sha512-rNjApaLzuwaOTjCiT8lSDdGN1APCiqkChLMJxJPWLunPAt5fy8xgU9/jNOchV84wfIxrA0lRQB7oCT8jrn/wrQ==", + "dev": true, "engines": { "node": ">=6.0" } @@ -4555,6 +4615,7 @@ "version": "4.1.0", "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-4.1.0.tgz", "integrity": "sha512-HutrvTNsF48wnxkzERIXOe5/mlcfFcbfCmwcg6CJnizbSue78AbDt+1cgl26zwn61WFxhcPykPfZrbqjGmBb4A==", + "dev": true, "funding": [ { "type": "github", @@ -4580,6 +4641,7 @@ "version": "2.2.0", "resolved": "https://registry.npmjs.org/clean-stack/-/clean-stack-2.2.0.tgz", "integrity": "sha512-4diC9HaTE+KRAMWhDhrGOECgWZxoevMc5TlkObMqNSsVU62PYzXZ/SMTjzyGAFF1YusgxGcSWTEXBhp0CPwQ1A==", + "dev": true, "engines": { "node": ">=6" } @@ -4588,6 +4650,7 @@ "version": "3.1.0", "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-3.1.0.tgz", "integrity": "sha512-I/zHAwsKf9FqGoXM4WWRACob9+SNukZTd94DWF57E4toouRulbCxcUh6RKUEOQlYTHJnzkPMySvPNaaSLNfLZw==", + "dev": true, "dependencies": { "restore-cursor": "^3.1.0" }, @@ -4654,6 +4717,7 @@ "version": "0.6.5", "resolved": "https://registry.npmjs.org/cli-table3/-/cli-table3-0.6.5.tgz", "integrity": "sha512-+W/5efTR7y5HRD7gACw9yQjqMVvEMLBHmboM/kPWam+H+Hmyrgjh6YncVKK122YZkXrLudzTuAukUw9FnMf7IQ==", + "dev": true, "dependencies": { "string-width": "^4.2.0" }, @@ -4668,6 +4732,7 @@ "version": "2.1.0", "resolved": "https://registry.npmjs.org/cli-truncate/-/cli-truncate-2.1.0.tgz", "integrity": "sha512-n8fOixwDD6b/ObinzTrp1ZKFzbgvKZvuz/TvejnLn1aQfC6r52XEx85FmuC+3HI+JM7coBRXUvNqEU2PHVrHpg==", + "dev": true, "dependencies": { "slice-ansi": "^3.0.0", "string-width": "^4.2.0" @@ -4757,6 +4822,7 @@ "version": "1.0.8", "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz", "integrity": "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==", + "dev": true, "dependencies": { "delayed-stream": "~1.0.0" }, @@ -4768,6 +4834,7 @@ "version": "6.2.1", "resolved": "https://registry.npmjs.org/commander/-/commander-6.2.1.tgz", "integrity": "sha512-U7VdrJFnJgo4xjrHpTzu0yrHPGImdsmD95ZlgYSEajAn2JKzDhDTPG9kBTefmObL2w/ngeZnilk+OV9CG3d7UA==", + "dev": true, "engines": { "node": ">= 6" } @@ -4776,6 +4843,7 @@ "version": "1.8.2", "resolved": "https://registry.npmjs.org/common-tags/-/common-tags-1.8.2.tgz", "integrity": "sha512-gk/Z852D2Wtb//0I+kRFNKKE9dIIVirjoqPoA1wJU+XePVXZfGeBpk45+A1rKO4Q43prqWBNY/MiIeRLbPWUaA==", + "dev": true, "engines": { "node": ">=4.0.0" } @@ -4875,7 +4943,8 @@ "node_modules/convert-source-map": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-2.0.0.tgz", - "integrity": "sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==" + "integrity": "sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==", + "dev": true }, "node_modules/cookie": { "version": "0.7.1", @@ -5293,6 +5362,7 @@ "version": "13.16.0", "resolved": "https://registry.npmjs.org/cypress/-/cypress-13.16.0.tgz", "integrity": "sha512-g6XcwqnvzXrqiBQR/5gN+QsyRmKRhls1y5E42fyOvsmU7JuY+wM6uHJWj4ZPttjabzbnRvxcik2WemR8+xT6FA==", + "dev": true, "hasInstallScript": true, "dependencies": { "@cypress/request": "^3.0.6", @@ -5370,6 +5440,7 @@ "version": "4.1.2", "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, "dependencies": { "ansi-styles": "^4.1.0", "supports-color": "^7.1.0" @@ -5385,6 +5456,7 @@ "version": "7.2.0", "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, "dependencies": { "has-flag": "^4.0.0" }, @@ -5396,6 +5468,7 @@ "version": "4.1.0", "resolved": "https://registry.npmjs.org/execa/-/execa-4.1.0.tgz", "integrity": "sha512-j5W0//W7f8UxAn8hXVnwG8tLwdiUy4FJLcSupCg6maBYZDpyBvTApK7KyuI4bKj8KOh1r2YH+6ucuYtJv1bTZA==", + "dev": true, "dependencies": { "cross-spawn": "^7.0.0", "get-stream": "^5.0.0", @@ -5418,6 +5491,7 @@ "version": "5.2.0", "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-5.2.0.tgz", "integrity": "sha512-nBF+F1rAZVCu/p7rjzgA+Yb4lfYXrpl7a6VmJrU8wF9I1CKvP/QwPNZHnOlwbTkY6dvtFIzFMSyQXbLoTQPRpA==", + "dev": true, "dependencies": { "pump": "^3.0.0" }, @@ -5432,6 +5506,7 @@ "version": "2.0.1", "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-2.0.1.tgz", "integrity": "sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==", + "dev": true, "engines": { "node": ">=8" }, @@ -5443,6 +5518,7 @@ "version": "4.0.1", "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-4.0.1.tgz", "integrity": "sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==", + "dev": true, "dependencies": { "path-key": "^3.0.0" }, @@ -5454,6 +5530,7 @@ "version": "7.6.3", "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.3.tgz", "integrity": "sha512-oVekP1cKtI+CTDvHWYFUcMtsK/00wmAEfyqKfNdARm8u1wNVhSgaX7A8d4UuIlUI5e84iEwOhs7ZPYRmzU9U6A==", + "dev": true, "bin": { "semver": "bin/semver.js" }, @@ -5465,6 +5542,7 @@ "version": "8.1.1", "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz", "integrity": "sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==", + "dev": true, "dependencies": { "has-flag": "^4.0.0" }, @@ -5479,6 +5557,7 @@ "version": "1.14.1", "resolved": "https://registry.npmjs.org/dashdash/-/dashdash-1.14.1.tgz", "integrity": "sha512-jRFi8UDGo6j+odZiEpjazZaWqEal3w/basFjQHQEwVtZJGDpxbH1MeYluwCS8Xq5wmLJooDlMgvVarmWfGM44g==", + "dev": true, "dependencies": { "assert-plus": "^1.0.0" }, @@ -5537,7 +5616,8 @@ "node_modules/dayjs": { "version": "1.11.13", "resolved": "https://registry.npmjs.org/dayjs/-/dayjs-1.11.13.tgz", - "integrity": "sha512-oaMBel6gjolK862uaPQOVTA7q3TZhuSvuMQAAglQDOWYO9A91IrAOUJEyKVlqJlHE0vq5p5UXxzdPfMH/x6xNg==" + "integrity": "sha512-oaMBel6gjolK862uaPQOVTA7q3TZhuSvuMQAAglQDOWYO9A91IrAOUJEyKVlqJlHE0vq5p5UXxzdPfMH/x6xNg==", + "dev": true }, "node_modules/de-indent": { "version": "1.0.2", @@ -5712,6 +5792,7 @@ "version": "1.0.0", "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz", "integrity": "sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==", + "dev": true, "engines": { "node": ">=0.4.0" } @@ -5908,6 +5989,7 @@ "version": "0.1.2", "resolved": "https://registry.npmjs.org/ecc-jsbn/-/ecc-jsbn-0.1.2.tgz", "integrity": "sha512-eh9O+hwRHNbG4BLTjEl3nw044CkGm5X6LoaCf7LPp7UU8Qrt47JYNi6nPX8xjW97TKGKm1ouctg0QSpZe9qrnw==", + "dev": true, "dependencies": { "jsbn": "~0.1.0", "safer-buffer": "^2.1.0" @@ -5921,12 +6003,14 @@ "node_modules/electron-to-chromium": { "version": "1.5.63", "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.5.63.tgz", - "integrity": "sha512-ddeXKuY9BHo/mw145axlyWjlJ1UBt4WK3AlvkT7W2AbqfRQoacVoRUCF6wL3uIx/8wT9oLKXzI+rFqHHscByaA==" + "integrity": "sha512-ddeXKuY9BHo/mw145axlyWjlJ1UBt4WK3AlvkT7W2AbqfRQoacVoRUCF6wL3uIx/8wT9oLKXzI+rFqHHscByaA==", + "dev": true }, "node_modules/emoji-regex": { "version": "8.0.0", "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", - "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==" + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", + "dev": true }, "node_modules/emojis-list": { "version": "3.0.0", @@ -5948,6 +6032,7 @@ "version": "1.4.4", "resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.4.tgz", "integrity": "sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q==", + "dev": true, "dependencies": { "once": "^1.4.0" } @@ -5956,6 +6041,7 @@ "version": "5.17.1", "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-5.17.1.tgz", "integrity": "sha512-LMHl3dXhTcfv8gM4kEzIUeTQ+7fpdA0l2tUf34BddXPkz2A5xJ5L/Pchd5BL6rdccM9QGvu0sWZzK1Z1t4wwyg==", + "dev": true, "dependencies": { "graceful-fs": "^4.2.4", "tapable": "^2.2.0" @@ -5968,6 +6054,7 @@ "version": "2.4.1", "resolved": "https://registry.npmjs.org/enquirer/-/enquirer-2.4.1.tgz", "integrity": "sha512-rRqJg/6gd538VHvR3PSrdRBb/1Vy2YfzHqzvbhGIQpDRKIa4FgV/54b5Q1xYSxOOwKvjXweS26E0Q+nAMwp2pQ==", + "dev": true, "dependencies": { "ansi-colors": "^4.1.1", "strip-ansi": "^6.0.1" @@ -6092,7 +6179,8 @@ "node_modules/es-module-lexer": { "version": "1.5.4", "resolved": "https://registry.npmjs.org/es-module-lexer/-/es-module-lexer-1.5.4.tgz", - "integrity": "sha512-MVNK56NiMrOwitFB7cqDwq0CQutbw+0BvLshJSse0MUNU+y1FC3bUS/AQg7oUng+/wKrrki7JfmwtVHkVfPLlw==" + "integrity": "sha512-MVNK56NiMrOwitFB7cqDwq0CQutbw+0BvLshJSse0MUNU+y1FC3bUS/AQg7oUng+/wKrrki7JfmwtVHkVfPLlw==", + "dev": true }, "node_modules/es-object-atoms": { "version": "1.0.0", @@ -6138,6 +6226,7 @@ "version": "3.2.0", "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.2.0.tgz", "integrity": "sha512-WUj2qlxaQtO4g6Pq5c29GTcWGDyd8itL8zTlipgECz3JesAiiOKotd8JU6otB3PACgG6xkJUyVhboMS+bje/jA==", + "dev": true, "engines": { "node": ">=6" } @@ -6272,6 +6361,7 @@ "version": "5.1.1", "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-5.1.1.tgz", "integrity": "sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==", + "dev": true, "dependencies": { "esrecurse": "^4.3.0", "estraverse": "^4.1.1" @@ -6599,6 +6689,7 @@ "version": "4.3.0", "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.3.0.tgz", "integrity": "sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==", + "dev": true, "dependencies": { "estraverse": "^5.2.0" }, @@ -6610,6 +6701,7 @@ "version": "5.3.0", "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", + "dev": true, "engines": { "node": ">=4.0" } @@ -6618,6 +6710,7 @@ "version": "4.3.0", "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz", "integrity": "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==", + "dev": true, "engines": { "node": ">=4.0" } @@ -6657,7 +6750,8 @@ "node_modules/eventemitter2": { "version": "6.4.7", "resolved": "https://registry.npmjs.org/eventemitter2/-/eventemitter2-6.4.7.tgz", - "integrity": "sha512-tYUSVOGeQPKt/eC1ABfhHy5Xd96N3oIijJvN3O9+TsC28T5V9yX9oEfEK5faP0EFSNVOG97qtAS68GBrQB2hDg==" + "integrity": "sha512-tYUSVOGeQPKt/eC1ABfhHy5Xd96N3oIijJvN3O9+TsC28T5V9yX9oEfEK5faP0EFSNVOG97qtAS68GBrQB2hDg==", + "dev": true }, "node_modules/eventemitter3": { "version": "4.0.7", @@ -6668,6 +6762,7 @@ "version": "3.3.0", "resolved": "https://registry.npmjs.org/events/-/events-3.3.0.tgz", "integrity": "sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q==", + "dev": true, "engines": { "node": ">=0.8.x" } @@ -6761,6 +6856,7 @@ "version": "4.1.1", "resolved": "https://registry.npmjs.org/executable/-/executable-4.1.1.tgz", "integrity": "sha512-8iA79xD3uAch729dUG8xaaBBFGaEa0wdD2VkYLFHwlqosEj/jT66AzcreRDSgV7ehnNLBW2WR5jIXwGKjVdTLg==", + "dev": true, "dependencies": { "pify": "^2.2.0" }, @@ -6825,12 +6921,14 @@ "node_modules/extend": { "version": "3.0.2", "resolved": "https://registry.npmjs.org/extend/-/extend-3.0.2.tgz", - "integrity": "sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==" + "integrity": "sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==", + "dev": true }, "node_modules/extract-zip": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/extract-zip/-/extract-zip-2.0.1.tgz", "integrity": "sha512-GDhU9ntwuKyGXdZBUgTIe+vXnWj0fppUEtMDL0+idd5Sta8TGpHssn/eusA9mrPr9qNDym6SxAYZjNvCn/9RBg==", + "dev": true, "dependencies": { "debug": "^4.1.1", "get-stream": "^5.1.0", @@ -6850,6 +6948,7 @@ "version": "5.2.0", "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-5.2.0.tgz", "integrity": "sha512-nBF+F1rAZVCu/p7rjzgA+Yb4lfYXrpl7a6VmJrU8wF9I1CKvP/QwPNZHnOlwbTkY6dvtFIzFMSyQXbLoTQPRpA==", + "dev": true, "dependencies": { "pump": "^3.0.0" }, @@ -6864,6 +6963,7 @@ "version": "1.3.0", "resolved": "https://registry.npmjs.org/extsprintf/-/extsprintf-1.3.0.tgz", "integrity": "sha512-11Ndz7Nv+mvAC1j0ktTa7fAb0vLyGGX+rMHNBYQviQDGU0Hw7lhctJANqbPhu9nV9/izT/IntTgZ7Im/9LJs9g==", + "dev": true, "engines": [ "node >=0.6.0" ] @@ -6910,7 +7010,8 @@ "node_modules/fast-json-stable-stringify": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz", - "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==" + "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==", + "dev": true }, "node_modules/fast-levenshtein": { "version": "2.0.6", @@ -6947,6 +7048,7 @@ "version": "1.1.0", "resolved": "https://registry.npmjs.org/fd-slicer/-/fd-slicer-1.1.0.tgz", "integrity": "sha512-cE1qsB/VwyQozZ+q1dGxR8LBYNZeofhEdUNGSMbQD3Gw2lAzX9Zb3uIU6Ebc/Fmyjo9AWWfnn0AUCHqtevs/8g==", + "dev": true, "dependencies": { "pend": "~1.2.0" } @@ -6955,6 +7057,7 @@ "version": "3.2.0", "resolved": "https://registry.npmjs.org/figures/-/figures-3.2.0.tgz", "integrity": "sha512-yaduQFRKLXYOGgEn6AZau90j3ggSOyiqXU0F9JZfeXYhNa+Jk4X+s45A2zg5jns87GAFa34BBm2kXw4XpNcbdg==", + "dev": true, "dependencies": { "escape-string-regexp": "^1.0.5" }, @@ -6969,6 +7072,7 @@ "version": "1.0.5", "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==", + "dev": true, "engines": { "node": ">=0.8.0" } @@ -7117,6 +7221,7 @@ "version": "0.6.1", "resolved": "https://registry.npmjs.org/forever-agent/-/forever-agent-0.6.1.tgz", "integrity": "sha512-j0KLYPhm6zeac4lz3oJ3o65qvgQCcPubiyotZrXqEaG4hNagNYO8qdlUrX5vwqv9ohqeT/Z3j6+yW067yWWdUw==", + "dev": true, "engines": { "node": "*" } @@ -7125,6 +7230,7 @@ "version": "4.0.1", "resolved": "https://registry.npmjs.org/form-data/-/form-data-4.0.1.tgz", "integrity": "sha512-tzN8e4TX8+kkxGPK8D5u0FNmjPUjw3lwC9lSLxxoB/+GtsJG91CO8bSWy73APlgAZzZbXEYZJuxjkHH2w+Ezhw==", + "dev": true, "dependencies": { "asynckit": "^0.4.0", "combined-stream": "^1.0.8", @@ -7243,6 +7349,7 @@ "version": "1.0.0-beta.2", "resolved": "https://registry.npmjs.org/gensync/-/gensync-1.0.0-beta.2.tgz", "integrity": "sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==", + "dev": true, "engines": { "node": ">=6.9.0" } @@ -7306,6 +7413,7 @@ "version": "3.2.1", "resolved": "https://registry.npmjs.org/getos/-/getos-3.2.1.tgz", "integrity": "sha512-U56CfOK17OKgTVqozZjUKNdkfEv6jk5WISBJ8SHoagjE6L69zOwl3Z+O8myjY9MEW3i2HPWQBt/LTbCgcC973Q==", + "dev": true, "dependencies": { "async": "^3.2.0" } @@ -7314,6 +7422,7 @@ "version": "0.1.7", "resolved": "https://registry.npmjs.org/getpass/-/getpass-0.1.7.tgz", "integrity": "sha512-0fzj9JxOLfJ+XGLhR8ze3unN0KZCgZwiSSDz168VERjK8Wl8kVSdcu2kspd4s4wtAa1y/qrVRiAA0WclVsu0ng==", + "dev": true, "dependencies": { "assert-plus": "^1.0.0" } @@ -7353,12 +7462,14 @@ "node_modules/glob-to-regexp": { "version": "0.4.1", "resolved": "https://registry.npmjs.org/glob-to-regexp/-/glob-to-regexp-0.4.1.tgz", - "integrity": "sha512-lkX1HJXwyMcprw/5YUZc2s7DrpAiHB21/V+E1rHUrVNokkvB6bqMzT0VfV6/86ZNabt1k14YOIaT7nDvOX3Iiw==" + "integrity": "sha512-lkX1HJXwyMcprw/5YUZc2s7DrpAiHB21/V+E1rHUrVNokkvB6bqMzT0VfV6/86ZNabt1k14YOIaT7nDvOX3Iiw==", + "dev": true }, "node_modules/global-dirs": { "version": "3.0.1", "resolved": "https://registry.npmjs.org/global-dirs/-/global-dirs-3.0.1.tgz", "integrity": "sha512-NBcGGFbBA9s1VzD41QXDG+3++t9Mn5t1FpLdhESY6oKY4gYTFpX4wO3sqGUa0Srjtbfj3szX0RnemmrVRUdULA==", + "dev": true, "dependencies": { "ini": "2.0.0" }, @@ -7946,6 +8057,7 @@ "version": "1.4.0", "resolved": "https://registry.npmjs.org/http-signature/-/http-signature-1.4.0.tgz", "integrity": "sha512-G5akfn7eKbpDN+8nPS/cb57YeA1jLTVxjpCj7tmm3QKPdyDy7T+qSC40e9ptydSWvkwjSXw1VbkpyEm39ukeAg==", + "dev": true, "dependencies": { "assert-plus": "^1.0.0", "jsprim": "^2.0.2", @@ -7959,6 +8071,7 @@ "version": "1.1.1", "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-1.1.1.tgz", "integrity": "sha512-SEQu7vl8KjNL2eoGBLF3+wAjpsNfA9XMlXAYj/3EdaNfAlxKthD1xjEQfGOUhllCGGJVNY34bRr6lPINhNjyZw==", + "dev": true, "engines": { "node": ">=8.12.0" } @@ -8001,6 +8114,7 @@ "version": "1.2.1", "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.2.1.tgz", "integrity": "sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==", + "dev": true, "funding": [ { "type": "github", @@ -8059,6 +8173,7 @@ "version": "4.0.0", "resolved": "https://registry.npmjs.org/indent-string/-/indent-string-4.0.0.tgz", "integrity": "sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg==", + "dev": true, "engines": { "node": ">=8" } @@ -8082,6 +8197,7 @@ "version": "2.0.0", "resolved": "https://registry.npmjs.org/ini/-/ini-2.0.0.tgz", "integrity": "sha512-7PnF4oN3CvZF23ADhA5wRaYEQpJ8qygSkbtTXWBeXWXmEVRXK+1ITciHWwHhsjv1TmW0MgacIv6hEi5pX5NQdA==", + "dev": true, "engines": { "node": ">=10" } @@ -8272,6 +8388,7 @@ "version": "3.0.0", "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", + "dev": true, "engines": { "node": ">=8" } @@ -8291,6 +8408,7 @@ "version": "0.4.0", "resolved": "https://registry.npmjs.org/is-installed-globally/-/is-installed-globally-0.4.0.tgz", "integrity": "sha512-iwGqO3J21aaSkC7jWnHP/difazwS7SFeIqxv6wEtLU8Y5KlzFTjyqcSIT0d8s4+dDhKytsk9PJZ2BkS5eZwQRQ==", + "dev": true, "dependencies": { "global-dirs": "^3.0.0", "is-path-inside": "^3.0.2" @@ -8348,6 +8466,7 @@ "version": "3.0.3", "resolved": "https://registry.npmjs.org/is-path-inside/-/is-path-inside-3.0.3.tgz", "integrity": "sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ==", + "dev": true, "engines": { "node": ">=8" } @@ -8457,12 +8576,14 @@ "node_modules/is-typedarray": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz", - "integrity": "sha512-cyA56iCMHAh5CdzjJIa4aohJyeO1YbwLi3Jc35MmRU6poroFjIGZzUzupGiRPOjgHg9TLu43xbpwXk523fMxKA==" + "integrity": "sha512-cyA56iCMHAh5CdzjJIa4aohJyeO1YbwLi3Jc35MmRU6poroFjIGZzUzupGiRPOjgHg9TLu43xbpwXk523fMxKA==", + "dev": true }, "node_modules/is-unicode-supported": { "version": "0.1.0", "resolved": "https://registry.npmjs.org/is-unicode-supported/-/is-unicode-supported-0.1.0.tgz", "integrity": "sha512-knxG2q4UC3u8stRGyAVJCOdxFmv5DZiRcdlIaAQXAbSfJya+OhopNotLQrstBhququ4ZpuKbDc/8S6mgXgPFPw==", + "dev": true, "engines": { "node": ">=10" }, @@ -8522,7 +8643,8 @@ "node_modules/isstream": { "version": "0.1.2", "resolved": "https://registry.npmjs.org/isstream/-/isstream-0.1.2.tgz", - "integrity": "sha512-Yljz7ffyPbrLpLngrMtZ7NduUgVvi6wG9RJ9IUcyCd59YQ911PBJphODUcbOVbqYfxe1wuYf/LJ8PauMRwsM/g==" + "integrity": "sha512-Yljz7ffyPbrLpLngrMtZ7NduUgVvi6wG9RJ9IUcyCd59YQ911PBJphODUcbOVbqYfxe1wuYf/LJ8PauMRwsM/g==", + "dev": true }, "node_modules/javascript-stringify": { "version": "2.1.0", @@ -8534,6 +8656,7 @@ "version": "27.5.1", "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-27.5.1.tgz", "integrity": "sha512-7vuh85V5cdDofPyxn58nrPjBktZo0u9x1g8WtjQol+jZDaE+fhN+cIvTj11GndBnMnyfrUOG1sZQxCdjKh+DKg==", + "dev": true, "dependencies": { "@types/node": "*", "merge-stream": "^2.0.0", @@ -8547,6 +8670,7 @@ "version": "8.1.1", "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz", "integrity": "sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==", + "dev": true, "dependencies": { "has-flag": "^4.0.0" }, @@ -8599,7 +8723,8 @@ "node_modules/jsbn": { "version": "0.1.1", "resolved": "https://registry.npmjs.org/jsbn/-/jsbn-0.1.1.tgz", - "integrity": "sha512-UVU9dibq2JcFWxQPA6KCqj5O42VOmAY3zQUfEKxU0KpTGXwNoCjkX1e13eHNvw/xPynt6pU0rZ1htjWTNTSXsg==" + "integrity": "sha512-UVU9dibq2JcFWxQPA6KCqj5O42VOmAY3zQUfEKxU0KpTGXwNoCjkX1e13eHNvw/xPynt6pU0rZ1htjWTNTSXsg==", + "dev": true }, "node_modules/jsesc": { "version": "3.0.2", @@ -8627,17 +8752,20 @@ "node_modules/json-parse-even-better-errors": { "version": "2.3.1", "resolved": "https://registry.npmjs.org/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz", - "integrity": "sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==" + "integrity": "sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==", + "dev": true }, "node_modules/json-schema": { "version": "0.4.0", "resolved": "https://registry.npmjs.org/json-schema/-/json-schema-0.4.0.tgz", - "integrity": "sha512-es94M3nTIfsEPisRafak+HDLfHXnKBhV3vU5eqPcS3flIWqcxJWgXHXiey3YrpaNsanY5ei1VoYEbOzijuq9BA==" + "integrity": "sha512-es94M3nTIfsEPisRafak+HDLfHXnKBhV3vU5eqPcS3flIWqcxJWgXHXiey3YrpaNsanY5ei1VoYEbOzijuq9BA==", + "dev": true }, "node_modules/json-schema-traverse": { "version": "0.4.1", "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", - "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==" + "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==", + "dev": true }, "node_modules/json-stable-stringify-without-jsonify": { "version": "1.0.1", @@ -8648,12 +8776,14 @@ "node_modules/json-stringify-safe": { "version": "5.0.1", "resolved": "https://registry.npmjs.org/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz", - "integrity": "sha512-ZClg6AaYvamvYEE82d3Iyd3vSSIjQ+odgjaTzRuO3s7toCdFKczob2i0zCh7JE8kWn17yvAWhUVxvqGwUalsRA==" + "integrity": "sha512-ZClg6AaYvamvYEE82d3Iyd3vSSIjQ+odgjaTzRuO3s7toCdFKczob2i0zCh7JE8kWn17yvAWhUVxvqGwUalsRA==", + "dev": true }, "node_modules/json5": { "version": "2.2.3", "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.3.tgz", "integrity": "sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==", + "dev": true, "bin": { "json5": "lib/cli.js" }, @@ -8727,6 +8857,7 @@ "version": "2.0.2", "resolved": "https://registry.npmjs.org/jsprim/-/jsprim-2.0.2.tgz", "integrity": "sha512-gqXddjPqQ6G40VdnI6T6yObEC+pDNvyP95wdQhkWkg7crHH3km5qP1FsOXEkzEQwnz6gz5qGTn1c2Y52wP3OyQ==", + "dev": true, "engines": [ "node >=0.6.0" ], @@ -8785,6 +8916,7 @@ "version": "1.6.0", "resolved": "https://registry.npmjs.org/lazy-ass/-/lazy-ass-1.6.0.tgz", "integrity": "sha512-cc8oEVoctTvsFZ/Oje/kGnHbpWHYBe8IAJe4C0QNc3t8uM/0Y8+erSz/7Y1ALuXTEZTMvxXwO6YbX1ey3ujiZw==", + "dev": true, "engines": { "node": "> 0.8" } @@ -8821,6 +8953,7 @@ "version": "3.14.0", "resolved": "https://registry.npmjs.org/listr2/-/listr2-3.14.0.tgz", "integrity": "sha512-TyWI8G99GX9GjE54cJ+RrNMcIFBfwMPxc3XTFiAYGN4s10hWROGtOg7+O6u6LE3mNkyld7RSLE6nrKBvTfcs3g==", + "dev": true, "dependencies": { "cli-truncate": "^2.1.0", "colorette": "^2.0.16", @@ -8847,6 +8980,7 @@ "version": "4.3.0", "resolved": "https://registry.npmjs.org/loader-runner/-/loader-runner-4.3.0.tgz", "integrity": "sha512-3R/1M+yS3j5ou80Me59j7F9IMs4PXs3VqRrm0TU3AbKPxlmpoY1TNscJV/oGJXo8qCatFGTfDbY6W6ipGOYXfg==", + "dev": true, "engines": { "node": ">=6.11.5" } @@ -8944,7 +9078,8 @@ "node_modules/lodash.once": { "version": "4.1.1", "resolved": "https://registry.npmjs.org/lodash.once/-/lodash.once-4.1.1.tgz", - "integrity": "sha512-Sb487aTOCr9drQVL8pIxOzVhafOjZN9UU54hiN8PU3uAiSV7lx1yYNpbNmex2PK6dSJoNTSJUUswT651yww3Mg==" + "integrity": "sha512-Sb487aTOCr9drQVL8pIxOzVhafOjZN9UU54hiN8PU3uAiSV7lx1yYNpbNmex2PK6dSJoNTSJUUswT651yww3Mg==", + "dev": true }, "node_modules/lodash.truncate": { "version": "4.4.2", @@ -8962,6 +9097,7 @@ "version": "4.1.0", "resolved": "https://registry.npmjs.org/log-symbols/-/log-symbols-4.1.0.tgz", "integrity": "sha512-8XPvpAA8uyhfteu8pIvQxpJZ7SYYdpUivZpGy6sFsBuKRY/7rQGavedeB8aK+Zkyq6upMFVL/9AW6vOYzfRyLg==", + "dev": true, "dependencies": { "chalk": "^4.1.0", "is-unicode-supported": "^0.1.0" @@ -8977,6 +9113,7 @@ "version": "4.1.2", "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, "dependencies": { "ansi-styles": "^4.1.0", "supports-color": "^7.1.0" @@ -8992,6 +9129,7 @@ "version": "4.0.0", "resolved": "https://registry.npmjs.org/log-update/-/log-update-4.0.0.tgz", "integrity": "sha512-9fkkDevMefjg0mmzWFBW8YkFP91OrizzkW3diF7CpG+S2EYdy4+TVfGwz1zeF8x7hCx1ovSPTOE9Ngib74qqUg==", + "dev": true, "dependencies": { "ansi-escapes": "^4.3.0", "cli-cursor": "^3.1.0", @@ -9009,6 +9147,7 @@ "version": "4.0.0", "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-4.0.0.tgz", "integrity": "sha512-qMCMfhY040cVHT43K9BFygqYbUPFZKHOg7K73mtTWJRb8pyP3fzf4Ixd5SzdEJQ6MRUg/WBnOLxghZtKKurENQ==", + "dev": true, "dependencies": { "ansi-styles": "^4.0.0", "astral-regex": "^2.0.0", @@ -9025,6 +9164,7 @@ "version": "6.2.0", "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-6.2.0.tgz", "integrity": "sha512-r6lPcBGxZXlIcymEu7InxDMhdW0KDxpLgoFLcguasxCaJ/SOIZwINatK9KY/tf+ZrlywOKU0UDj3ATXUBfxJXA==", + "dev": true, "dependencies": { "ansi-styles": "^4.0.0", "string-width": "^4.1.0", @@ -9046,6 +9186,7 @@ "version": "5.1.1", "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz", "integrity": "sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==", + "dev": true, "dependencies": { "yallist": "^3.0.2" } @@ -9454,7 +9595,8 @@ "node_modules/node-releases": { "version": "2.0.18", "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.18.tgz", - "integrity": "sha512-d9VeXT4SJ7ZeOqGX6R5EM022wpL+eWPooLI+5UpWn2jCT1aosUQEhQP214x33Wkwx3JQMvIm+tIoVOdodFS40g==" + "integrity": "sha512-d9VeXT4SJ7ZeOqGX6R5EM022wpL+eWPooLI+5UpWn2jCT1aosUQEhQP214x33Wkwx3JQMvIm+tIoVOdodFS40g==", + "dev": true }, "node_modules/normalize-package-data": { "version": "2.5.0", @@ -9733,7 +9875,8 @@ "node_modules/ospath": { "version": "1.2.2", "resolved": "https://registry.npmjs.org/ospath/-/ospath-1.2.2.tgz", - "integrity": "sha512-o6E5qJV5zkAbIDNhGSIlyOhScKXgQrSRMilfph0clDfM0nEnBOlKlH4sWDmG95BW/CvwNz0vmm7dJVtU2KlMiA==" + "integrity": "sha512-o6E5qJV5zkAbIDNhGSIlyOhScKXgQrSRMilfph0clDfM0nEnBOlKlH4sWDmG95BW/CvwNz0vmm7dJVtU2KlMiA==", + "dev": true }, "node_modules/p-finally": { "version": "1.0.0", @@ -9776,6 +9919,7 @@ "version": "4.0.0", "resolved": "https://registry.npmjs.org/p-map/-/p-map-4.0.0.tgz", "integrity": "sha512-/bjOqmgETBYB5BoEeGVea8dmvHb2m9GLy1E9W43yeyfP6QQCZGFNa+XRceJEuDB6zqr+gKpIAmlLebMpykw/MQ==", + "dev": true, "dependencies": { "aggregate-error": "^3.0.0" }, @@ -9925,12 +10069,14 @@ "node_modules/pend": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/pend/-/pend-1.2.0.tgz", - "integrity": "sha512-F3asv42UuXchdzt+xXqfW1OGlVBe+mxa2mqI0pg5yAHZPvFmY3Y6drSf/GQ1A86WgWEN9Kzh/WrgKa6iGcHXLg==" + "integrity": "sha512-F3asv42UuXchdzt+xXqfW1OGlVBe+mxa2mqI0pg5yAHZPvFmY3Y6drSf/GQ1A86WgWEN9Kzh/WrgKa6iGcHXLg==", + "dev": true }, "node_modules/performance-now": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/performance-now/-/performance-now-2.1.0.tgz", - "integrity": "sha512-7EAHlyLHI56VEIdK57uwHdHKIaAGbnXPiw0yWbarQZOKaKpvUIgW0jWRVLiatnM+XXlSwsanIBH/hzGMJulMow==" + "integrity": "sha512-7EAHlyLHI56VEIdK57uwHdHKIaAGbnXPiw0yWbarQZOKaKpvUIgW0jWRVLiatnM+XXlSwsanIBH/hzGMJulMow==", + "dev": true }, "node_modules/picocolors": { "version": "1.1.1", @@ -9952,6 +10098,7 @@ "version": "2.3.0", "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", "integrity": "sha512-udgsAY+fTnvv7kI7aaxbqwWNb0AHiB0qBO89PZKPkoTmGOgdbrHDKD+0B2X4uTfJ/FT1R09r9gTsjUjNJotuog==", + "dev": true, "engines": { "node": ">=0.10.0" } @@ -10685,6 +10832,7 @@ "version": "5.6.0", "resolved": "https://registry.npmjs.org/pretty-bytes/-/pretty-bytes-5.6.0.tgz", "integrity": "sha512-FFw039TmrBqFK8ma/7OL3sDz/VytdtJr044/QUJtH0wK9lb9jLq9tJyIxUwtQJHwar2BqtiA4iCWSwo9JLkzFg==", + "dev": true, "engines": { "node": ">=6" }, @@ -10705,6 +10853,7 @@ "version": "0.11.10", "resolved": "https://registry.npmjs.org/process/-/process-0.11.10.tgz", "integrity": "sha512-cdGef/drWFoydD1JsMzuFf8100nZl+GT+yacc2bEced5f9Rjk4z+WtFUTBu9PhOi9j/jfmBPu0mMEY4wIdAF8A==", + "dev": true, "engines": { "node": ">= 0.6.0" } @@ -10971,7 +11120,8 @@ "node_modules/proxy-from-env": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/proxy-from-env/-/proxy-from-env-1.0.0.tgz", - "integrity": "sha512-F2JHgJQ1iqwnHDcQjVBsq3n/uoaFL+iPW/eAeL7kVxy/2RrWaN4WroKjjvbsoRtv0ftelNyC01bjRhn/bhcf4A==" + "integrity": "sha512-F2JHgJQ1iqwnHDcQjVBsq3n/uoaFL+iPW/eAeL7kVxy/2RrWaN4WroKjjvbsoRtv0ftelNyC01bjRhn/bhcf4A==", + "dev": true }, "node_modules/pseudomap": { "version": "1.0.2", @@ -10983,6 +11133,7 @@ "version": "3.0.2", "resolved": "https://registry.npmjs.org/pump/-/pump-3.0.2.tgz", "integrity": "sha512-tUPXtzlGM8FE3P0ZL6DVs/3P58k9nk8/jZeQCurTJylQA8qFYzHFfhBJkuqyE0FifOsQ0uKWekiZ5g8wtr28cw==", + "dev": true, "dependencies": { "end-of-stream": "^1.1.0", "once": "^1.3.1" @@ -10992,6 +11143,7 @@ "version": "2.3.1", "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.3.1.tgz", "integrity": "sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==", + "dev": true, "engines": { "node": ">=6" } @@ -11034,6 +11186,7 @@ "version": "2.1.0", "resolved": "https://registry.npmjs.org/randombytes/-/randombytes-2.1.0.tgz", "integrity": "sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==", + "dev": true, "dependencies": { "safe-buffer": "^5.1.0" } @@ -11317,6 +11470,7 @@ "version": "3.0.0", "resolved": "https://registry.npmjs.org/request-progress/-/request-progress-3.0.0.tgz", "integrity": "sha512-MnWzEHHaxHO2iWiQuHrUPBi/1WeBf5PkxQqNyNvLl9VAYSdXkP8tQ3pBSeCPD+yw0v0Aq1zosWLz0BdeXpWwZg==", + "dev": true, "dependencies": { "throttleit": "^1.0.0" } @@ -11373,6 +11527,7 @@ "version": "3.1.0", "resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-3.1.0.tgz", "integrity": "sha512-l+sSefzHpj5qimhFSE5a8nufZYAM3sBSVMAPtYkmC+4EH2anSGaEMXSD0izRQbu9nfyQ9y5JrVmp7E8oZrUjvA==", + "dev": true, "dependencies": { "onetime": "^5.1.0", "signal-exit": "^3.0.2" @@ -11402,7 +11557,8 @@ "node_modules/rfdc": { "version": "1.4.1", "resolved": "https://registry.npmjs.org/rfdc/-/rfdc-1.4.1.tgz", - "integrity": "sha512-q1b3N5QkRUWUl7iyylaaj3kOpIT0N2i9MqIEQXP73GVsN9cw3fdx8X63cEmWhJGi2PPCF23Ijp7ktmd39rawIA==" + "integrity": "sha512-q1b3N5QkRUWUl7iyylaaj3kOpIT0N2i9MqIEQXP73GVsN9cw3fdx8X63cEmWhJGi2PPCF23Ijp7ktmd39rawIA==", + "dev": true }, "node_modules/rimraf": { "version": "3.0.2", @@ -11446,6 +11602,7 @@ "version": "7.8.1", "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-7.8.1.tgz", "integrity": "sha512-AA3TVj+0A2iuIoQkWEK/tqFjBq2j+6PO6Y0zJcvzLAFhEFIO3HL0vls9hWLncZbAAbK0mar7oZ4V079I/qPMxg==", + "dev": true, "dependencies": { "tslib": "^2.1.0" } @@ -11656,6 +11813,7 @@ "version": "6.0.2", "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-6.0.2.tgz", "integrity": "sha512-Saa1xPByTTq2gdeFZYLLo+RFE35NHZkAbqZeWNd3BpzppeVisAqpDjcp8dyf6uIvEqJRd46jemmyA4iFIeVk8g==", + "dev": true, "dependencies": { "randombytes": "^2.1.0" } @@ -11866,6 +12024,7 @@ "version": "3.0.0", "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-3.0.0.tgz", "integrity": "sha512-pSyv7bSTC7ig9Dcgbw9AuRNUb5k5V6oDudjZoMBSr13qpLBG7tB+zgCkARjq7xIUgdz5P1Qe8u+rSGdouOOIyQ==", + "dev": true, "dependencies": { "ansi-styles": "^4.0.0", "astral-regex": "^2.0.0", @@ -12014,6 +12173,7 @@ "version": "1.18.0", "resolved": "https://registry.npmjs.org/sshpk/-/sshpk-1.18.0.tgz", "integrity": "sha512-2p2KJZTSqQ/I3+HX42EpYOa2l3f8Erv8MWKsy2I9uf4wA7yFIkXRffYdsx86y6z4vHtV8u7g+pPlr8/4ouAxsQ==", + "dev": true, "dependencies": { "asn1": "~0.2.3", "assert-plus": "^1.0.0", @@ -12079,6 +12239,7 @@ "version": "4.2.3", "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", + "dev": true, "dependencies": { "emoji-regex": "^8.0.0", "is-fullwidth-code-point": "^3.0.0", @@ -12342,6 +12503,7 @@ "version": "5.3.10", "resolved": "https://registry.npmjs.org/terser-webpack-plugin/-/terser-webpack-plugin-5.3.10.tgz", "integrity": "sha512-BKFPWlPDndPs+NGGCr1U59t0XScL5317Y0UReNrHaw9/FwhPENlq6bfgs+4yPfyP51vqC1bQ4rp1EfXW5ZSH9w==", + "dev": true, "dependencies": { "@jridgewell/trace-mapping": "^0.3.20", "jest-worker": "^27.4.5", @@ -12375,6 +12537,7 @@ "version": "3.3.0", "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.3.0.tgz", "integrity": "sha512-pN/yOAvcC+5rQ5nERGuwrjLlYvLTbCibnZ1I7B1LaiAz9BRBlE9GMgE/eqV30P7aJQUf7Ddimy/RsbYO/GrVGg==", + "dev": true, "dependencies": { "@types/json-schema": "^7.0.8", "ajv": "^6.12.5", @@ -12479,6 +12642,7 @@ "version": "1.0.1", "resolved": "https://registry.npmjs.org/throttleit/-/throttleit-1.0.1.tgz", "integrity": "sha512-vDZpf9Chs9mAdfY046mcPt8fg5QSZr37hEH4TXYBnDF+izxgrbRGUAAaBvIk/fJm9aOFCGFd1EsNg5AZCbnQCQ==", + "dev": true, "funding": { "url": "https://github.com/sponsors/sindresorhus" } @@ -12486,7 +12650,8 @@ "node_modules/through": { "version": "2.3.8", "resolved": "https://registry.npmjs.org/through/-/through-2.3.8.tgz", - "integrity": "sha512-w89qg7PI8wAdvX60bMDP+bFoD5Dvhm9oLheFp5O4a2QF0cSBGsBX4qZmadPMvVqlLJBBci+WqGGOAPvcDeNSVg==" + "integrity": "sha512-w89qg7PI8wAdvX60bMDP+bFoD5Dvhm9oLheFp5O4a2QF0cSBGsBX4qZmadPMvVqlLJBBci+WqGGOAPvcDeNSVg==", + "dev": true }, "node_modules/thunky": { "version": "1.1.0", @@ -12497,6 +12662,7 @@ "version": "6.1.61", "resolved": "https://registry.npmjs.org/tldts/-/tldts-6.1.61.tgz", "integrity": "sha512-rv8LUyez4Ygkopqn+M6OLItAOT9FF3REpPQDkdMx5ix8w4qkuE7Vo2o/vw1nxKQYmJDV8JpAMJQr1b+lTKf0FA==", + "dev": true, "dependencies": { "tldts-core": "^6.1.61" }, @@ -12507,12 +12673,14 @@ "node_modules/tldts-core": { "version": "6.1.61", "resolved": "https://registry.npmjs.org/tldts-core/-/tldts-core-6.1.61.tgz", - "integrity": "sha512-In7VffkDWUPgwa+c9picLUxvb0RltVwTkSgMNFgvlGSWveCzGBemBqTsgJCL4EDFWZ6WH0fKTsot6yNhzy3ZzQ==" + "integrity": "sha512-In7VffkDWUPgwa+c9picLUxvb0RltVwTkSgMNFgvlGSWveCzGBemBqTsgJCL4EDFWZ6WH0fKTsot6yNhzy3ZzQ==", + "dev": true }, "node_modules/tmp": { "version": "0.2.3", "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.2.3.tgz", "integrity": "sha512-nZD7m9iCPC5g0pYmcaxogYKggSfLsdxl8of3Q/oIbqCqLLIO9IAF0GWjX1z9NZRHPiXv8Wex4yDCaZsgEw0Y8w==", + "dev": true, "engines": { "node": ">=14.14" } @@ -12549,6 +12717,7 @@ "version": "5.0.0", "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-5.0.0.tgz", "integrity": "sha512-FRKsF7cz96xIIeMZ82ehjC3xW2E+O2+v11udrDYewUbszngYhsGa8z6YUMMzO9QJZzzyd0nGGXnML/TReX6W8Q==", + "dev": true, "dependencies": { "tldts": "^6.1.32" }, @@ -12566,6 +12735,7 @@ "version": "1.2.2", "resolved": "https://registry.npmjs.org/tree-kill/-/tree-kill-1.2.2.tgz", "integrity": "sha512-L0Orpi8qGpRG//Nd+H90vFB+3iHnue1zSSGmNOOCh1GLJ7rUKVwV2HvijphGQS2UmhUZewS9VgvxYIdgr+fG1A==", + "dev": true, "bin": { "tree-kill": "cli.js" } @@ -12579,6 +12749,7 @@ "version": "0.6.0", "resolved": "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.6.0.tgz", "integrity": "sha512-McnNiV1l8RYeY8tBgEpuodCC1mLUdbSN+CYBL7kJsJNInOP8UjDDEwdk6Mw60vdLLrr5NHKZhMAOSrR2NZuQ+w==", + "dev": true, "dependencies": { "safe-buffer": "^5.0.1" }, @@ -12589,7 +12760,8 @@ "node_modules/tweetnacl": { "version": "0.14.5", "resolved": "https://registry.npmjs.org/tweetnacl/-/tweetnacl-0.14.5.tgz", - "integrity": "sha512-KXXFFdAbFXY4geFIwoyNK+f5Z1b7swfXABfL7HXCmoIWMKU3dmS26672A4EeQtDzLKy7SXmfBu51JolvEKwtGA==" + "integrity": "sha512-KXXFFdAbFXY4geFIwoyNK+f5Z1b7swfXABfL7HXCmoIWMKU3dmS26672A4EeQtDzLKy7SXmfBu51JolvEKwtGA==", + "dev": true }, "node_modules/type-check": { "version": "0.4.0", @@ -12607,6 +12779,7 @@ "version": "0.21.3", "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.21.3.tgz", "integrity": "sha512-t0rzBq87m3fVcduHDUFhKmyyX+9eo6WQjZvf51Ea/M0Q7+T374Jp1aUiyUl0GKxp8M/OETVHSDvmkyPgvX+X2w==", + "dev": true, "engines": { "node": ">=10" }, @@ -12774,6 +12947,7 @@ "version": "4.0.0", "resolved": "https://registry.npmjs.org/untildify/-/untildify-4.0.0.tgz", "integrity": "sha512-KK8xQ1mkzZeg9inewmFVDNkg3l5LUhoq9kN6iWYB/CC9YMG8HA+c1Q8HwDe6dEX7kErrEVNVBO3fWsVq5iDgtw==", + "dev": true, "engines": { "node": ">=8" } @@ -12782,6 +12956,7 @@ "version": "1.1.1", "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.1.1.tgz", "integrity": "sha512-R8UzCaa9Az+38REPiJ1tXlImTJXlVfgHZsglwBD/k6nj76ctsH1E3q4doGrukiLQd3sGQYu56r5+lo5r94l29A==", + "dev": true, "funding": [ { "type": "opencollective", @@ -12811,6 +12986,7 @@ "version": "4.4.1", "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz", "integrity": "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==", + "dev": true, "dependencies": { "punycode": "^2.1.0" } @@ -12886,6 +13062,7 @@ "version": "1.10.0", "resolved": "https://registry.npmjs.org/verror/-/verror-1.10.0.tgz", "integrity": "sha512-ZZKSmDAEFOijERBLkmYfJ+vmk3w+7hOLYDNkRCuRuMJGEmqYNCNLyBBFwWKVMhfwaEF3WOd0Zlw86U/WC/+nYw==", + "dev": true, "engines": [ "node >=0.6.0" ], @@ -13241,6 +13418,7 @@ "version": "2.4.2", "resolved": "https://registry.npmjs.org/watchpack/-/watchpack-2.4.2.tgz", "integrity": "sha512-TnbFSbcOCcDgjZ4piURLCbJ3nJhznVh9kw6F6iokjiFPl8ONxe9A6nMDVXDiNbrSfLILs6vB07F7wLBrwPYzJw==", + "dev": true, "dependencies": { "glob-to-regexp": "^0.4.1", "graceful-fs": "^4.1.2" @@ -13276,6 +13454,7 @@ "version": "5.96.1", "resolved": "https://registry.npmjs.org/webpack/-/webpack-5.96.1.tgz", "integrity": "sha512-l2LlBSvVZGhL4ZrPwyr8+37AunkcYj5qh8o6u2/2rzoPc8gxFJkLj1WxNgooi9pnoc06jh0BjuXnamM4qlujZA==", + "dev": true, "dependencies": { "@types/eslint-scope": "^3.7.7", "@types/estree": "^1.0.6", @@ -13635,6 +13814,7 @@ "version": "3.2.3", "resolved": "https://registry.npmjs.org/webpack-sources/-/webpack-sources-3.2.3.tgz", "integrity": "sha512-/DyMEOrDgLKKIG0fmvtz+4dUX/3Ghozwgm6iPp8KRhvn+eQf9+Q7GWxVNMk3+uCPWfdXYC4ExGBckIXdFEfH1w==", + "dev": true, "engines": { "node": ">=10.13.0" } @@ -13649,6 +13829,7 @@ "version": "3.3.0", "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.3.0.tgz", "integrity": "sha512-pN/yOAvcC+5rQ5nERGuwrjLlYvLTbCibnZ1I7B1LaiAz9BRBlE9GMgE/eqV30P7aJQUf7Ddimy/RsbYO/GrVGg==", + "dev": true, "dependencies": { "@types/json-schema": "^7.0.8", "ajv": "^6.12.5", @@ -13764,6 +13945,7 @@ "version": "7.0.0", "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", + "dev": true, "dependencies": { "ansi-styles": "^4.0.0", "string-width": "^4.1.0", @@ -13814,7 +13996,8 @@ "node_modules/yallist": { "version": "3.1.1", "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz", - "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==" + "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==", + "dev": true }, "node_modules/yaml": { "version": "1.10.2", @@ -13876,6 +14059,7 @@ "version": "2.10.0", "resolved": "https://registry.npmjs.org/yauzl/-/yauzl-2.10.0.tgz", "integrity": "sha512-p4a9I6X6nu6IhoGmBqAcbJy1mlC4j27vEPZX9F4L4/vZT3Lyq1VkFHw/V/PUcB9Buo+DG3iHkT0x3Qya58zc3g==", + "dev": true, "dependencies": { "buffer-crc32": "~0.2.3", "fd-slicer": "~1.1.0" diff --git a/src/components/common/provider/FiltersDataCollapse.vue b/src/components/common/provider/FiltersDataCollapse.vue index ce569ee4e..4090c6dd4 100644 --- a/src/components/common/provider/FiltersDataCollapse.vue +++ b/src/components/common/provider/FiltersDataCollapse.vue @@ -445,7 +445,9 @@ export default { for (let i = 0; i < listReferenceValueForAllReferences.value[columnsId].rows.length; i++) { if (listReferenceValueForAllReferences.value[columnsId].rows[i].naturalKey === value) { if ( - listReferenceValueForAllReferences.value[columnsId].rows[i].values["__display_default"] + listReferenceValueForAllReferences.value[columnsId].rows[i].values[ + "__display_default" + ] ) { return listReferenceValueForAllReferences.value[columnsId].rows[i].values[ "__display_default" diff --git a/src/composable/data/dataLoader.js b/src/composable/data/dataLoader.js index c1bb2daea..ef8b34642 100644 --- a/src/composable/data/dataLoader.js +++ b/src/composable/data/dataLoader.js @@ -2,7 +2,7 @@ export function dataLoader(services) { const dataService = services.dataService; const references = {}; - const getOrLoadDataByNaturalKey = async function(application, referenceName, key) { + const getOrLoadDataByNaturalKey = async function (application, referenceName, key) { let applicationName = application.configuration.applicationDescription.name; let reference = references?.[referenceName]?.[key]; if (reference) { @@ -23,14 +23,14 @@ export function dataLoader(services) { referenceName, values: reference.rows?.[0], localName: - reference.rows.length !== 0 ? getValueDisplay(reference.rows?.[0], application) : key + reference.rows.length !== 0 ? getValueDisplay(reference.rows?.[0], application) : key, }; references[referenceName] = references[referenceName] || {}; references[referenceName][key] = reference; return reference; }; - const getDisplayValueForLink = function(rowValue, column, listDisplayRowsValue, application) { + const getDisplayValueForLink = function (rowValue, column, listDisplayRowsValue, application) { if ( listDisplayRowsValue[column.componentKey] && Object.keys(listDisplayRowsValue[column.componentKey]).includes(rowValue) @@ -42,7 +42,7 @@ export function dataLoader(services) { return rowValue; }; - const getValueDisplay = function(referenceLocal, application) { + const getValueDisplay = function (referenceLocal, application) { if (!referenceLocal?.values) { return ""; } @@ -52,18 +52,18 @@ export function dataLoader(services) { if ( application && referenceLocal.values[ - "__display_" + application.configuration.applicationDescription.defaultLanguage - ] + "__display_" + application.configuration.applicationDescription.defaultLanguage + ] ) { return referenceLocal.values[ - "__display_" + application.configuration.applicationDescription.defaultLanguage - ]; + "__display_" + application.configuration.applicationDescription.defaultLanguage + ]; } else { return referenceLocal.values["__display_default"]; } }; - const getColumnNameView = function(columnId, application, dataId, column) { + const getColumnNameView = function (columnId, application, dataId, column) { let columnName; if (!column) { columnName = "this is an error " + columnId; @@ -74,11 +74,12 @@ export function dataLoader(services) { let exportHeader = column?.exportHeader ? column.exportHeader : application.data[dataId].componentDescriptions[columnId].exportHeaderName; - exportHeader = services.internationalisationService.localeReferenceColumnsNames( - dataId, - exportHeader, - application - ) || exportHeader; + exportHeader = + services.internationalisationService.localeReferenceColumnsNames( + dataId, + exportHeader, + application + ) || exportHeader; if (exportHeader !== columnId) { columnName = exportHeader || columnId; } else if (importHeader !== undefined && importHeader !== columnId) { diff --git a/src/views/authorizations/AuthorizationsRightsRequestInfoView.vue b/src/views/authorizations/AuthorizationsRightsRequestInfoView.vue index 1f0d378c7..d20124ccf 100644 --- a/src/views/authorizations/AuthorizationsRightsRequestInfoView.vue +++ b/src/views/authorizations/AuthorizationsRightsRequestInfoView.vue @@ -6,14 +6,16 @@ :root="application?.localName || application?.title" role="navigation" /> - - <h1 class="title main-title"> - <span>{{ - $t("dataTypeAuthorizations.title", { - label: currentUser[0] ? currentUser[0].label : currentUser.label, + <TitleAndDescription + :application="application" + :localDescription="currentAuthorization.description" + :localName="application.localName || application.title" + :local-title=" + $t('dataTypeAuthorizations.title', { + label: currentUser[0] ? currentUser[0].label : currentUser.login, }) - }}</span> - </h1> + " + /> <LoadingAnimate v-if="isLoading" :size="'is-medium'"></LoadingAnimate> <ValidationObserver v-else ref="observer" v-slot="{ handleSubmit }"> <FieldsForm @@ -120,10 +122,12 @@ import app, { i18n } from "@/main"; import useArray from "@/composable/components/array"; import { getListColumnName } from "@/composable/authorization/grantableInfos"; import { User } from "@/model/User"; +import TitleAndDescription from "@/components/common/TitleAndDescription.vue"; export default { name: "AuthorizationsRightsRequestInfoView", components: { + TitleAndDescription, LoadingAnimate, AuthorizationTableForDatatype, PageView, @@ -341,7 +345,7 @@ export default { ); initApplication(getApplication); dependencies.value = buildDependencies(configuration.hierarchicalNodes); - changeFormat(configuration.rightsRequest.format || {}); + changeFormat(configuration.rightsRequest.formFields || {}); changeFields( (Object.keys(format) || []).reduce((acc, field) => { acc[field] = ""; diff --git a/src/views/authorizations/DataTypeAuthorizationInfoView.vue b/src/views/authorizations/DataTypeAuthorizationInfoView.vue index 70de801f9..02889d270 100644 --- a/src/views/authorizations/DataTypeAuthorizationInfoView.vue +++ b/src/views/authorizations/DataTypeAuthorizationInfoView.vue @@ -6,10 +6,16 @@ :root="application.localName || application.title" role="navigation" /> - - <h1 class="title main-title"> - <span v-if="authorizationId === 'new'">{{ $t("titles.data-type-new-authorization") }}</span> - </h1> + <TitleAndDescription + :application="application" + :localDescription="currentAuthorization.description" + :localName="application.localName || application.title" + :local-title=" + authorizationId === 'new' + ? $t('titles.data-type-new-authorization') + : currentAuthorization.name + " + /> <ValidationObserver ref="observer"> <div class="columns"> <ValidationProvider @@ -108,11 +114,13 @@ import app, { i18n } from "@/main"; import services from "@/composable/services"; import { dataLoader } from "@/composable/data/dataLoader"; import AuthorizationTableForDatatype from "@/components/common/AuthorizationTableForDatatype.vue"; +import TitleAndDescription from "@/components/common/TitleAndDescription.vue"; export default { name: "DataTypeAuthorizationInfoView", emits: ["update:infoAuth"], components: { + TitleAndDescription, AuthorizationTableForDatatype, PageView, SubMenu, diff --git a/src/views/authorizations/DataTypeAuthorizationsView.vue b/src/views/authorizations/DataTypeAuthorizationsView.vue index 4c19b1ffa..de80ee779 100644 --- a/src/views/authorizations/DataTypeAuthorizationsView.vue +++ b/src/views/authorizations/DataTypeAuthorizationsView.vue @@ -6,14 +6,17 @@ :root="application.localName || application.name" role="navigation" /> - <h1 class="title main-title"> - {{ - $t("titles.data-type-authorizations", { + <TitleAndDescription + :application="application" + :localDescription="application.localRefDescription" + :localName="application.localName || application.name" + :local-title=" + $t('titles.data-type-authorizations', { dataType: application.localName || application.name, - type: "autorisation", + type: 'autorisation', }) - }} - </h1> + " + /> <div class="rows"> <div class="row"> @@ -543,6 +546,7 @@ import useBoolean from "@/composable/components/boolean"; import { LOCAL_STORAGE_LANG } from "@/services/Fetcher"; import DetailAuthorizationModalCard from "@/components/common/authorization/DetailAuthorizationModalCard.vue"; import SummaryTableOfAuthorizationByData from "@/components/common/authorization/SummaryTableOfAuthorizationByData.vue"; +import TitleAndDescription from "@/components/common/TitleAndDescription.vue"; export default { name: "DataTypeAuthorizationsView", @@ -552,6 +556,7 @@ export default { }, }, components: { + TitleAndDescription, SummaryTableOfAuthorizationByData, LoadingAnimate, PageView, diff --git a/src/views/data/DataTableView.vue b/src/views/data/DataTableView.vue index bfb0bfc92..2ddf11641 100644 --- a/src/views/data/DataTableView.vue +++ b/src/views/data/DataTableView.vue @@ -6,9 +6,12 @@ :root="application.localName" role="navigation" /> - <h1 class="title main-title"> - {{ $t("titles.references-data", { refName: application.localRefName }) }} - </h1> + <TitleAndDescription + :application="application" + :localDescription="application.localRefDescription" + :localName="application.localRefName" + :local-title="$t('titles.references-data', { refName: application.localRefName })" + /> <div id="tagsCollapse" class="column"> <TagsCollapse v-if="hasTags" @@ -33,13 +36,13 @@ id="filtreTable" :current-page="currentPage" :data="rows" + :height="tableHeight" :is-focusable="true" :is-hoverable="true" :per-page="params.limit" :sticky-header="true" - pagination-position="both" - :height="tableHeight" paginated + pagination-position="both" striped style="padding-bottom: 20px; position: relative; z-index: 2" > @@ -60,16 +63,16 @@ range-after="3" range-before="3" role="navigation" - @change="changePage" style="margin: 0; padding-top: 20px; padding-bottom: 20px" + @change="changePage" /> </template> <b-table-column v-for="column in dataColumnsToBeShown" :key="column.id" :field="column.id" - style="padding-bottom: 20px; position: relative; z-index: 2" sortable + style="padding-bottom: 20px; position: relative; z-index: 2" > <template v-slot:header> <div v-if="column.tags" class="column" style="padding: 0"> @@ -80,15 +83,15 @@ </TagsInfos> <DatasPatternLink v-if="'PatternComponent' === column.type" - :info="column.type === 'PatternComponent'" :application="application" - :value="column.getColumnQualifiersMap(application, dataId, rows[0])" :column-id="column.id" :column-title="column.id" + :data-id="dataId" + :info="column.type === 'PatternComponent'" :info-values="column.getColumnQualifiersMap(application, dataId, rows[0])" :loaded-references-by-key="{}" :pattern-checker-date-ref="patternCheckerDateRef" - :data-id="dataId" + :value="column.getColumnQualifiersMap(application, dataId, rows[0])" ></DatasPatternLink> <div v-else> {{ column.getHeader(application, dataId) }} @@ -123,8 +126,8 @@ :column="column" :column-id="column.id" :component="props.row" - :info-values="props.row.values[column.id]" :displays-for-row="props.row.displaysForRow" + :info-values="props.row.values[column.id]" :loaded-references-by-key="{}" :multiplicity="multiplicity(column.id, props.row.values[column.id])" :reference-type="addRefLinkedTo(column.id, column.linkedTo)" @@ -165,9 +168,9 @@ <div class="buttons" style="margin-top: 16px"> <!-- <b-button @click="loadExampleData">Afficher un exemple</b-button>--> <b-button + icon-left="download" style="margin-bottom: 15px; float: right" type="is-primary" - icon-left="download" @click.prevent="downloadResultSearch" >{{ $t("dataTable.donwload-view-result") }} </b-button> @@ -203,6 +206,7 @@ import { dataLoader } from "@/composable/data/dataLoader"; import { patternCheckerDateRef } from "@/composable/application/DatePattern"; import DatasPatternLink from "@/components/datas/DatasPatternLink.vue"; import { Tag } from "@/model/application/Tag"; +import TitleAndDescription from "@/components/common/TitleAndDescription.vue"; export default { name: "DataTableView", @@ -211,6 +215,7 @@ export default { dataId: String, }, components: { + TitleAndDescription, DatasPatternLink, TagsInfos, FiltersDataCollapse, @@ -225,6 +230,7 @@ export default { setup(props) { const onlyMetadata = ref(true); const { reactiveObject: params } = useObject(new DownloadDatasetQuery(0, 10)); + const locale = services.internationalisationService.getLocale(); const loader = dataLoader(services); provide("reference:dataLoader", loader); const { getColumnNameView } = loader; @@ -344,10 +350,9 @@ export default { ); changeApplication({ ...services.internationalisationService.mergeInternationalization(application), - localRefName: services.internationalisationService.localeReferenceNames( - props.dataId, - application - ), + localRefName: application.configuration.i18n.data[props.dataId].i18n.title[locale], + localRefDescription: + application.configuration.i18n.data[props.dataId].i18n.description[locale], }); const data = await services.dataService.getData( props.applicationName, diff --git a/src/views/data/DatasManagementView.vue b/src/views/data/DatasManagementView.vue index c704af262..d4d4fea21 100644 --- a/src/views/data/DatasManagementView.vue +++ b/src/views/data/DatasManagementView.vue @@ -1,46 +1,37 @@ <template> - <PageView class="with-submenu" :application="application"> + <PageView :application="application" class="with-submenu"> <SubMenu :aria-label="$t('menu.aria-sub-menu')" :paths="subMenuPaths" :root="application.localName || application.title" role="navigation" /> - <b-tooltip - v-if="application.localDescription" - :label="application.localDescription" - class="title main-title" - position="is-top" - > - <h1 class="title main-title"> - {{ - type[type.length - 1] === "dataTypes" - ? $t("titles.data-types-page", { - applicationName: application.localName || application.title, - }) - : $t("titles.references-page", { - applicationName: application.localName || application.title, - }) - }} - </h1> - </b-tooltip> - <h1 v-else class="title main-title"> - {{ - type[type.length - 1] === "dataTypes" - ? $t("titles.data-types-page", { + <TitleAndDescription + :application="application" + :local-title=" + type[type.length - 1] === 'dataTypes' + ? $t('titles.data-types-page', { applicationName: application.localName || application.title, }) - : $t("titles.references-page", { + : $t('titles.references-page', { applicationName: application.localName || application.title, }) - }} - </h1> + " + :localDescription="application.localDescription" + :localName="application.localName" + /> <div - class="btn_auth_tooltip" v-if="canCreateApplication || canManagerApplication || canManagerUser" + class="btn_auth_tooltip" > <b-tooltip :label="$t('dataTypesManagement.consult-authorization')" position="is-top"> - <b-button icon-left="key" outlined rounded type="is-warning" @click="consultAuthorization" /> + <b-button + icon-left="key" + outlined + rounded + type="is-warning" + @click="consultAuthorization" + /> </b-tooltip> </div> <div v-if="errorsMessages.length !== 0" style="margin: 10px"> @@ -75,10 +66,10 @@ :on-upload-cb=" withVersioning(data.id) ? null : (label, file) => uploadReferenceCsv(label, file) " - :repository="data.submission" - :repository-redirect="(label) => showVersioning(label)" :option="data" :reference-synthesis="application.referenceSynthesis" + :repository="data.submission" + :repository-redirect="(label) => showVersioning(label)" :show-empty="showInfoEmpty[data.id]" :tags="tags" class="liste" @@ -119,10 +110,12 @@ import { lineCountSynthesis } from "@/composable/application/synthesis"; import LoadingAnimate from "@/components/common/LoadingAnimate.vue"; import ShowErrors from "@/components/application/ShowErrors.vue"; import { Tag } from "@/model/application/Tag"; +import TitleAndDescription from "@/components/common/TitleAndDescription.vue"; export default { name: "DatasManagementView", components: { + TitleAndDescription, ShowErrors, LoadingAnimate, CollapsibleTree, @@ -397,6 +390,7 @@ export default { ) .find((t) => t); } + function withVersioning(dataId) { return !!( application.configuration.dataDescription[dataId]?.submission && @@ -449,6 +443,7 @@ export default { margin-bottom: 10px; border: 1px solid white; } + .btn_auth_tooltip { display: flex; justify-content: center; -- GitLab From 056c361c83a6bb877034c1095a687b0275b91b8b Mon Sep 17 00:00:00 2001 From: lucile varloteaux <lucile.varloteaux@inrae.fr> Date: Wed, 11 Dec 2024 14:26:30 +0100 Subject: [PATCH 4/4] =?UTF-8?q?dernier=20title=20oubli=C3=A9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../RequestAuthorizationManagementView.vue | 17 ++++++++++------- 1 file changed, 10 insertions(+), 7 deletions(-) diff --git a/src/views/authorizations/RequestAuthorizationManagementView.vue b/src/views/authorizations/RequestAuthorizationManagementView.vue index 2f31c6a07..74f7e5772 100644 --- a/src/views/authorizations/RequestAuthorizationManagementView.vue +++ b/src/views/authorizations/RequestAuthorizationManagementView.vue @@ -6,13 +6,15 @@ :root="application.localName || application.title" role="navigation" /> - <h1 class="title main-title"> - {{ - $t("titles.requestAuthorization", { + <TitleAndDescription + :application="application" + :localName="application.localName || application.title" + :local-title=" + $t('titles.requestAuthorization', { applicationName: application.localName || application.title, }) - }} - </h1> + " + /> <div> <b-table :data="listRightsRequests" @@ -98,10 +100,12 @@ import app, { i18n } from "@/main"; import useObject from "@/composable/components/object"; import { onMounted, ref, watch } from "vue"; import useArray from "@/composable/components/array"; +import TitleAndDescription from "@/components/common/TitleAndDescription.vue"; export default { name: "RequestAuthorizationManagementView", components: { + TitleAndDescription, PageView, SubMenu, }, @@ -221,9 +225,8 @@ export default { changeListAllUsers(localeListAllUsers.users.filter((user) => user.label !== "_public_")); if (localRightsRequests.rightsRequests) { changeListRightsRequests(localRightsRequests.rightsRequests); - } else { - changeRightsRequests(localRightsRequests); } + changeRightsRequests(localRightsRequests); } catch (error) { services.alertService.toastServerError(error); } -- GitLab