diff --git a/CHANGELOG.md b/CHANGELOG.md index 7b730df42..c2ab9d250 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -2,7 +2,7 @@ ## Current (in progress) -- Nothing yet +- Add index page with search for dataservices [#516](https://github.com/datagouv/udata-front/pull/516) ## 5.2.0 (2024-09-13) diff --git a/package-lock.json b/package-lock.json index 30a2acbbe..1c007d9e5 100644 --- a/package-lock.json +++ b/package-lock.json @@ -80,7 +80,7 @@ "typescript": "^5.2.2", "uuid": "^9.0.1", "vite": "^4.5.2", - "vue": "^3.4.21", + "vue": "^3.5.6", "vue-content-loader": "^2.0.1", "vue-i18n": "^9.13.1", "vue-i18n-extract": "^2.0.7", @@ -6053,12 +6053,12 @@ } }, "node_modules/@vue/compiler-core": { - "version": "3.5.4", - "resolved": "https://registry.npmjs.org/@vue/compiler-core/-/compiler-core-3.5.4.tgz", - "integrity": "sha512-oNwn+BAt3n9dK9uAYvI+XGlutwuTq/wfj4xCBaZCqwwVIGtD7D6ViihEbyYZrDHIHTDE3Q6oL3/hqmAyFEy9DQ==", + "version": "3.5.6", + "resolved": "https://registry.npmjs.org/@vue/compiler-core/-/compiler-core-3.5.6.tgz", + "integrity": "sha512-r+gNu6K4lrvaQLQGmf+1gc41p3FO2OUJyWmNqaIITaJU6YFiV5PtQSFZt8jfztYyARwqhoCayjprC7KMvT3nRA==", "dependencies": { "@babel/parser": "^7.25.3", - "@vue/shared": "3.5.4", + "@vue/shared": "3.5.6", "entities": "^4.5.0", "estree-walker": "^2.0.2", "source-map-js": "^1.2.0" @@ -6076,37 +6076,37 @@ } }, "node_modules/@vue/compiler-dom": { - "version": "3.5.4", - "resolved": "https://registry.npmjs.org/@vue/compiler-dom/-/compiler-dom-3.5.4.tgz", - "integrity": "sha512-yP9RRs4BDLOLfldn6ah+AGCNovGjMbL9uHvhDHf5wan4dAHLnFGOkqtfE7PPe4HTXIqE7l/NILdYw53bo1C8jw==", + "version": "3.5.6", + "resolved": "https://registry.npmjs.org/@vue/compiler-dom/-/compiler-dom-3.5.6.tgz", + "integrity": "sha512-xRXqxDrIqK8v8sSScpistyYH0qYqxakpsIvqMD2e5sV/PXQ1mTwtXp4k42yHK06KXxKSmitop9e45Ui/3BrTEw==", "dependencies": { - "@vue/compiler-core": "3.5.4", - "@vue/shared": "3.5.4" + "@vue/compiler-core": "3.5.6", + "@vue/shared": "3.5.6" } }, "node_modules/@vue/compiler-sfc": { - "version": "3.5.4", - "resolved": "https://registry.npmjs.org/@vue/compiler-sfc/-/compiler-sfc-3.5.4.tgz", - "integrity": "sha512-P+yiPhL+NYH7m0ZgCq7AQR2q7OIE+mpAEgtkqEeH9oHSdIRvUO+4X6MPvblJIWcoe4YC5a2Gdf/RsoyP8FFiPQ==", + "version": "3.5.6", + "resolved": "https://registry.npmjs.org/@vue/compiler-sfc/-/compiler-sfc-3.5.6.tgz", + "integrity": "sha512-pjWJ8Kj9TDHlbF5LywjVso+BIxCY5wVOLhkEXRhuCHDxPFIeX1zaFefKs8RYoHvkSMqRWt93a0f2gNJVJixHwg==", "dependencies": { "@babel/parser": "^7.25.3", - "@vue/compiler-core": "3.5.4", - "@vue/compiler-dom": "3.5.4", - "@vue/compiler-ssr": "3.5.4", - "@vue/shared": "3.5.4", + "@vue/compiler-core": "3.5.6", + "@vue/compiler-dom": "3.5.6", + "@vue/compiler-ssr": "3.5.6", + "@vue/shared": "3.5.6", "estree-walker": "^2.0.2", "magic-string": "^0.30.11", - "postcss": "^8.4.44", + "postcss": "^8.4.47", "source-map-js": "^1.2.0" } }, "node_modules/@vue/compiler-ssr": { - "version": "3.5.4", - "resolved": "https://registry.npmjs.org/@vue/compiler-ssr/-/compiler-ssr-3.5.4.tgz", - "integrity": "sha512-acESdTXsxPnYr2C4Blv0ggx5zIFMgOzZmYU2UgvIff9POdRGbRNBHRyzHAnizcItvpgerSKQbllUc9USp3V7eg==", + "version": "3.5.6", + "resolved": "https://registry.npmjs.org/@vue/compiler-ssr/-/compiler-ssr-3.5.6.tgz", + "integrity": "sha512-VpWbaZrEOCqnmqjE83xdwegtr5qO/2OPUC6veWgvNqTJ3bYysz6vY3VqMuOijubuUYPRpG3OOKIh9TD0Stxb9A==", "dependencies": { - "@vue/compiler-dom": "3.5.4", - "@vue/shared": "3.5.4" + "@vue/compiler-dom": "3.5.6", + "@vue/shared": "3.5.6" } }, "node_modules/@vue/devtools-api": { @@ -6139,49 +6139,49 @@ } }, "node_modules/@vue/reactivity": { - "version": "3.5.4", - "resolved": "https://registry.npmjs.org/@vue/reactivity/-/reactivity-3.5.4.tgz", - "integrity": "sha512-HKKbEuP7tYSGCq4e4nK6ZW6l5hyG66OUetefBp4budUyjvAYsnQDf+bgFzg2RAgnH0CInyqXwD9y47jwJEHrQw==", + "version": "3.5.6", + "resolved": "https://registry.npmjs.org/@vue/reactivity/-/reactivity-3.5.6.tgz", + "integrity": "sha512-shZ+KtBoHna5GyUxWfoFVBCVd7k56m6lGhk5e+J9AKjheHF6yob5eukssHRI+rzvHBiU1sWs/1ZhNbLExc5oYQ==", "dependencies": { - "@vue/shared": "3.5.4" + "@vue/shared": "3.5.6" } }, "node_modules/@vue/runtime-core": { - "version": "3.5.4", - "resolved": "https://registry.npmjs.org/@vue/runtime-core/-/runtime-core-3.5.4.tgz", - "integrity": "sha512-f3ek2sTA0AFu0n+w+kCtz567Euqqa3eHewvo4klwS7mWfSj/A+UmYTwsnUFo35KeyAFY60JgrCGvEBsu1n/3LA==", + "version": "3.5.6", + "resolved": "https://registry.npmjs.org/@vue/runtime-core/-/runtime-core-3.5.6.tgz", + "integrity": "sha512-FpFULR6+c2lI+m1fIGONLDqPQO34jxV8g6A4wBOgne8eSRHP6PQL27+kWFIx5wNhhjkO7B4rgtsHAmWv7qKvbg==", "dependencies": { - "@vue/reactivity": "3.5.4", - "@vue/shared": "3.5.4" + "@vue/reactivity": "3.5.6", + "@vue/shared": "3.5.6" } }, "node_modules/@vue/runtime-dom": { - "version": "3.5.4", - "resolved": "https://registry.npmjs.org/@vue/runtime-dom/-/runtime-dom-3.5.4.tgz", - "integrity": "sha512-ofyc0w6rbD5KtjhP1i9hGOKdxGpvmuB1jprP7Djlj0X7R5J/oLwuNuE98GJ8WW31Hu2VxQHtk/LYTAlW8xrJdw==", + "version": "3.5.6", + "resolved": "https://registry.npmjs.org/@vue/runtime-dom/-/runtime-dom-3.5.6.tgz", + "integrity": "sha512-SDPseWre45G38ENH2zXRAHL1dw/rr5qp91lS4lt/nHvMr0MhsbCbihGAWLXNB/6VfFOJe2O+RBRkXU+CJF7/sw==", "dependencies": { - "@vue/reactivity": "3.5.4", - "@vue/runtime-core": "3.5.4", - "@vue/shared": "3.5.4", + "@vue/reactivity": "3.5.6", + "@vue/runtime-core": "3.5.6", + "@vue/shared": "3.5.6", "csstype": "^3.1.3" } }, "node_modules/@vue/server-renderer": { - "version": "3.5.4", - "resolved": "https://registry.npmjs.org/@vue/server-renderer/-/server-renderer-3.5.4.tgz", - "integrity": "sha512-FbjV6DJLgKRetMYFBA1UXCroCiED/Ckr53/ba9wivyd7D/Xw9fpo0T6zXzCnxQwyvkyrL7y6plgYhWhNjGxY5g==", + "version": "3.5.6", + "resolved": "https://registry.npmjs.org/@vue/server-renderer/-/server-renderer-3.5.6.tgz", + "integrity": "sha512-zivnxQnOnwEXVaT9CstJ64rZFXMS5ZkKxCjDQKiMSvUhXRzFLWZVbaBiNF4HGDqGNNsTgmjcCSmU6TB/0OOxLA==", "dependencies": { - "@vue/compiler-ssr": "3.5.4", - "@vue/shared": "3.5.4" + "@vue/compiler-ssr": "3.5.6", + "@vue/shared": "3.5.6" }, "peerDependencies": { - "vue": "3.5.4" + "vue": "3.5.6" } }, "node_modules/@vue/shared": { - "version": "3.5.4", - "resolved": "https://registry.npmjs.org/@vue/shared/-/shared-3.5.4.tgz", - "integrity": "sha512-L2MCDD8l7yC62Te5UUyPVpmexhL9ipVnYRw9CsWfm/BGRL5FwDX4a25bcJ/OJSD3+Hx+k/a8LDKcG2AFdJV3BA==" + "version": "3.5.6", + "resolved": "https://registry.npmjs.org/@vue/shared/-/shared-3.5.6.tgz", + "integrity": "sha512-eidH0HInnL39z6wAt6SFIwBrvGOpDWsDxlw3rCgo1B+CQ1781WzQUSU3YjxgdkcJo9Q8S6LmXTkvI+cLHGkQfA==" }, "node_modules/@vuelidate/core": { "version": "2.0.3", @@ -14736,9 +14736,9 @@ } }, "node_modules/postcss": { - "version": "8.4.45", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.45.tgz", - "integrity": "sha512-7KTLTdzdZZYscUc65XmjFiB73vBhBfbPztCYdUNvlaso9PrzjzcmjqBPR0lNGkcVlcO4BjiO5rK/qNz+XAen1Q==", + "version": "8.4.47", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.47.tgz", + "integrity": "sha512-56rxCq7G/XfB4EkXq9Egn5GCqugWvDFjafDOThIdMBsI15iqPqR5r15TfSr1YPYeEI19YeaXMCbY6u88Y76GLQ==", "funding": [ { "type": "opencollective", @@ -14755,8 +14755,8 @@ ], "dependencies": { "nanoid": "^3.3.7", - "picocolors": "^1.0.1", - "source-map-js": "^1.2.0" + "picocolors": "^1.1.0", + "source-map-js": "^1.2.1" }, "engines": { "node": "^10 || ^12 || >=14" @@ -16241,9 +16241,9 @@ } }, "node_modules/source-map-js": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.2.0.tgz", - "integrity": "sha512-itJW8lvSA0TXEphiRoawsCksnlf8SyvmFzIhltqAHluXd88pkCd+cXJVHTDwdCr0IzwptSm035IHQktUu1QUMg==", + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.2.1.tgz", + "integrity": "sha512-UXWMKhLOwVKb728IUtQPXxfYU+usdybtUrK/8uGE8CQMvrhOpwvzDBwj0QhSL7MQc7vIsISBG8VQ8+IDQxpfQA==", "engines": { "node": ">=0.10.0" } @@ -17708,15 +17708,15 @@ } }, "node_modules/vue": { - "version": "3.5.4", - "resolved": "https://registry.npmjs.org/vue/-/vue-3.5.4.tgz", - "integrity": "sha512-3yAj2gkmiY+i7+22A1PWM+kjOVXjU74UPINcTiN7grIVPyFFI0lpGwHlV/4xydDmobaBn7/xmi+YG8HeSlCTcg==", + "version": "3.5.6", + "resolved": "https://registry.npmjs.org/vue/-/vue-3.5.6.tgz", + "integrity": "sha512-zv+20E2VIYbcJOzJPUWp03NOGFhMmpCKOfSxVTmCYyYFFko48H9tmuQFzYj7tu4qX1AeXlp9DmhIP89/sSxxhw==", "dependencies": { - "@vue/compiler-dom": "3.5.4", - "@vue/compiler-sfc": "3.5.4", - "@vue/runtime-dom": "3.5.4", - "@vue/server-renderer": "3.5.4", - "@vue/shared": "3.5.4" + "@vue/compiler-dom": "3.5.6", + "@vue/compiler-sfc": "3.5.6", + "@vue/runtime-dom": "3.5.6", + "@vue/server-renderer": "3.5.6", + "@vue/shared": "3.5.6" }, "peerDependencies": { "typescript": "*" @@ -18457,23 +18457,23 @@ "license": "MIT", "dependencies": { "@headlessui/vue": "^1.7.22", - "vue": "^3.4.38" + "vue": "^3.5" }, "devDependencies": { "@conciergerie.dev/vue-toaster": "^2.4.5-0", "@etalab/udata-front-plugins-helper": "^1.1.0", "@gouvminint/vue-dsfr": "^5.2.0", "@intlify/unplugin-vue-i18n": "^1.5.0", - "@storybook/addon-essentials": "^8.1.6", - "@storybook/addon-interactions": "^8.1.6", - "@storybook/addon-links": "^8.1.6", - "@storybook/blocks": "^8.1.6", - "@storybook/manager-api": "^8.1.6", - "@storybook/test": "^8.1.6", + "@storybook/addon-essentials": "^8.3.0", + "@storybook/addon-interactions": "^8.3.0", + "@storybook/addon-links": "^8.3.0", + "@storybook/blocks": "^8.3.0", + "@storybook/manager-api": "^8.3.0", + "@storybook/test": "^8.3.0", "@storybook/test-runner": "^0.19.1", - "@storybook/theming": "^8.1.6", - "@storybook/vue3": "^8.1.6", - "@storybook/vue3-vite": "^8.1.6", + "@storybook/theming": "^8.3.0", + "@storybook/vue3": "^8.3.0", + "@storybook/vue3-vite": "^8.3.0", "@types/markdown-it": "^13.0.7", "@types/remove-markdown": "^0.3.4", "@vitejs/plugin-vue": "^4.4.1", @@ -20568,16 +20568,16 @@ "@gouvminint/vue-dsfr": "^5.2.0", "@headlessui/vue": "^1.7.22", "@intlify/unplugin-vue-i18n": "^1.5.0", - "@storybook/addon-essentials": "^8.1.6", - "@storybook/addon-interactions": "^8.1.6", - "@storybook/addon-links": "^8.1.6", - "@storybook/blocks": "^8.1.6", - "@storybook/manager-api": "^8.1.6", - "@storybook/test": "^8.1.6", + "@storybook/addon-essentials": "^8.3.0", + "@storybook/addon-interactions": "^8.3.0", + "@storybook/addon-links": "^8.3.0", + "@storybook/blocks": "^8.3.0", + "@storybook/manager-api": "^8.3.0", + "@storybook/test": "^8.3.0", "@storybook/test-runner": "^0.19.1", - "@storybook/theming": "^8.1.6", - "@storybook/vue3": "^8.1.6", - "@storybook/vue3-vite": "^8.1.6", + "@storybook/theming": "^8.3.0", + "@storybook/vue3": "^8.3.0", + "@storybook/vue3-vite": "^8.3.0", "@types/markdown-it": "^13.0.7", "@types/remove-markdown": "^0.3.4", "@vitejs/plugin-vue": "^4.4.1", @@ -20601,7 +20601,7 @@ "storybook-vue3-router": "^5.0.0", "vite": "^4.5.2", "vite-plugin-dts": "^3.6.3", - "vue": "^3.4.38", + "vue": "^3.5", "vue-content-loader": "^2.0.1", "vue-i18n": "^9.13.1", "vue-i18n-extract": "^2.0.7", @@ -23902,12 +23902,12 @@ } }, "@vue/compiler-core": { - "version": "3.5.4", - "resolved": "https://registry.npmjs.org/@vue/compiler-core/-/compiler-core-3.5.4.tgz", - "integrity": "sha512-oNwn+BAt3n9dK9uAYvI+XGlutwuTq/wfj4xCBaZCqwwVIGtD7D6ViihEbyYZrDHIHTDE3Q6oL3/hqmAyFEy9DQ==", + "version": "3.5.6", + "resolved": "https://registry.npmjs.org/@vue/compiler-core/-/compiler-core-3.5.6.tgz", + "integrity": "sha512-r+gNu6K4lrvaQLQGmf+1gc41p3FO2OUJyWmNqaIITaJU6YFiV5PtQSFZt8jfztYyARwqhoCayjprC7KMvT3nRA==", "requires": { "@babel/parser": "^7.25.3", - "@vue/shared": "3.5.4", + "@vue/shared": "3.5.6", "entities": "^4.5.0", "estree-walker": "^2.0.2", "source-map-js": "^1.2.0" @@ -23921,37 +23921,37 @@ } }, "@vue/compiler-dom": { - "version": "3.5.4", - "resolved": "https://registry.npmjs.org/@vue/compiler-dom/-/compiler-dom-3.5.4.tgz", - "integrity": "sha512-yP9RRs4BDLOLfldn6ah+AGCNovGjMbL9uHvhDHf5wan4dAHLnFGOkqtfE7PPe4HTXIqE7l/NILdYw53bo1C8jw==", + "version": "3.5.6", + "resolved": "https://registry.npmjs.org/@vue/compiler-dom/-/compiler-dom-3.5.6.tgz", + "integrity": "sha512-xRXqxDrIqK8v8sSScpistyYH0qYqxakpsIvqMD2e5sV/PXQ1mTwtXp4k42yHK06KXxKSmitop9e45Ui/3BrTEw==", "requires": { - "@vue/compiler-core": "3.5.4", - "@vue/shared": "3.5.4" + "@vue/compiler-core": "3.5.6", + "@vue/shared": "3.5.6" } }, "@vue/compiler-sfc": { - "version": "3.5.4", - "resolved": "https://registry.npmjs.org/@vue/compiler-sfc/-/compiler-sfc-3.5.4.tgz", - "integrity": "sha512-P+yiPhL+NYH7m0ZgCq7AQR2q7OIE+mpAEgtkqEeH9oHSdIRvUO+4X6MPvblJIWcoe4YC5a2Gdf/RsoyP8FFiPQ==", + "version": "3.5.6", + "resolved": "https://registry.npmjs.org/@vue/compiler-sfc/-/compiler-sfc-3.5.6.tgz", + "integrity": "sha512-pjWJ8Kj9TDHlbF5LywjVso+BIxCY5wVOLhkEXRhuCHDxPFIeX1zaFefKs8RYoHvkSMqRWt93a0f2gNJVJixHwg==", "requires": { "@babel/parser": "^7.25.3", - "@vue/compiler-core": "3.5.4", - "@vue/compiler-dom": "3.5.4", - "@vue/compiler-ssr": "3.5.4", - "@vue/shared": "3.5.4", + "@vue/compiler-core": "3.5.6", + "@vue/compiler-dom": "3.5.6", + "@vue/compiler-ssr": "3.5.6", + "@vue/shared": "3.5.6", "estree-walker": "^2.0.2", "magic-string": "^0.30.11", - "postcss": "^8.4.44", + "postcss": "^8.4.47", "source-map-js": "^1.2.0" } }, "@vue/compiler-ssr": { - "version": "3.5.4", - "resolved": "https://registry.npmjs.org/@vue/compiler-ssr/-/compiler-ssr-3.5.4.tgz", - "integrity": "sha512-acESdTXsxPnYr2C4Blv0ggx5zIFMgOzZmYU2UgvIff9POdRGbRNBHRyzHAnizcItvpgerSKQbllUc9USp3V7eg==", + "version": "3.5.6", + "resolved": "https://registry.npmjs.org/@vue/compiler-ssr/-/compiler-ssr-3.5.6.tgz", + "integrity": "sha512-VpWbaZrEOCqnmqjE83xdwegtr5qO/2OPUC6veWgvNqTJ3bYysz6vY3VqMuOijubuUYPRpG3OOKIh9TD0Stxb9A==", "requires": { - "@vue/compiler-dom": "3.5.4", - "@vue/shared": "3.5.4" + "@vue/compiler-dom": "3.5.6", + "@vue/shared": "3.5.6" } }, "@vue/devtools-api": { @@ -23976,46 +23976,46 @@ } }, "@vue/reactivity": { - "version": "3.5.4", - "resolved": "https://registry.npmjs.org/@vue/reactivity/-/reactivity-3.5.4.tgz", - "integrity": "sha512-HKKbEuP7tYSGCq4e4nK6ZW6l5hyG66OUetefBp4budUyjvAYsnQDf+bgFzg2RAgnH0CInyqXwD9y47jwJEHrQw==", + "version": "3.5.6", + "resolved": "https://registry.npmjs.org/@vue/reactivity/-/reactivity-3.5.6.tgz", + "integrity": "sha512-shZ+KtBoHna5GyUxWfoFVBCVd7k56m6lGhk5e+J9AKjheHF6yob5eukssHRI+rzvHBiU1sWs/1ZhNbLExc5oYQ==", "requires": { - "@vue/shared": "3.5.4" + "@vue/shared": "3.5.6" } }, "@vue/runtime-core": { - "version": "3.5.4", - "resolved": "https://registry.npmjs.org/@vue/runtime-core/-/runtime-core-3.5.4.tgz", - "integrity": "sha512-f3ek2sTA0AFu0n+w+kCtz567Euqqa3eHewvo4klwS7mWfSj/A+UmYTwsnUFo35KeyAFY60JgrCGvEBsu1n/3LA==", + "version": "3.5.6", + "resolved": "https://registry.npmjs.org/@vue/runtime-core/-/runtime-core-3.5.6.tgz", + "integrity": "sha512-FpFULR6+c2lI+m1fIGONLDqPQO34jxV8g6A4wBOgne8eSRHP6PQL27+kWFIx5wNhhjkO7B4rgtsHAmWv7qKvbg==", "requires": { - "@vue/reactivity": "3.5.4", - "@vue/shared": "3.5.4" + "@vue/reactivity": "3.5.6", + "@vue/shared": "3.5.6" } }, "@vue/runtime-dom": { - "version": "3.5.4", - "resolved": "https://registry.npmjs.org/@vue/runtime-dom/-/runtime-dom-3.5.4.tgz", - "integrity": "sha512-ofyc0w6rbD5KtjhP1i9hGOKdxGpvmuB1jprP7Djlj0X7R5J/oLwuNuE98GJ8WW31Hu2VxQHtk/LYTAlW8xrJdw==", + "version": "3.5.6", + "resolved": "https://registry.npmjs.org/@vue/runtime-dom/-/runtime-dom-3.5.6.tgz", + "integrity": "sha512-SDPseWre45G38ENH2zXRAHL1dw/rr5qp91lS4lt/nHvMr0MhsbCbihGAWLXNB/6VfFOJe2O+RBRkXU+CJF7/sw==", "requires": { - "@vue/reactivity": "3.5.4", - "@vue/runtime-core": "3.5.4", - "@vue/shared": "3.5.4", + "@vue/reactivity": "3.5.6", + "@vue/runtime-core": "3.5.6", + "@vue/shared": "3.5.6", "csstype": "^3.1.3" } }, "@vue/server-renderer": { - "version": "3.5.4", - "resolved": "https://registry.npmjs.org/@vue/server-renderer/-/server-renderer-3.5.4.tgz", - "integrity": "sha512-FbjV6DJLgKRetMYFBA1UXCroCiED/Ckr53/ba9wivyd7D/Xw9fpo0T6zXzCnxQwyvkyrL7y6plgYhWhNjGxY5g==", + "version": "3.5.6", + "resolved": "https://registry.npmjs.org/@vue/server-renderer/-/server-renderer-3.5.6.tgz", + "integrity": "sha512-zivnxQnOnwEXVaT9CstJ64rZFXMS5ZkKxCjDQKiMSvUhXRzFLWZVbaBiNF4HGDqGNNsTgmjcCSmU6TB/0OOxLA==", "requires": { - "@vue/compiler-ssr": "3.5.4", - "@vue/shared": "3.5.4" + "@vue/compiler-ssr": "3.5.6", + "@vue/shared": "3.5.6" } }, "@vue/shared": { - "version": "3.5.4", - "resolved": "https://registry.npmjs.org/@vue/shared/-/shared-3.5.4.tgz", - "integrity": "sha512-L2MCDD8l7yC62Te5UUyPVpmexhL9ipVnYRw9CsWfm/BGRL5FwDX4a25bcJ/OJSD3+Hx+k/a8LDKcG2AFdJV3BA==" + "version": "3.5.6", + "resolved": "https://registry.npmjs.org/@vue/shared/-/shared-3.5.6.tgz", + "integrity": "sha512-eidH0HInnL39z6wAt6SFIwBrvGOpDWsDxlw3rCgo1B+CQ1781WzQUSU3YjxgdkcJo9Q8S6LmXTkvI+cLHGkQfA==" }, "@vuelidate/core": { "version": "2.0.3", @@ -29866,13 +29866,13 @@ } }, "postcss": { - "version": "8.4.45", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.45.tgz", - "integrity": "sha512-7KTLTdzdZZYscUc65XmjFiB73vBhBfbPztCYdUNvlaso9PrzjzcmjqBPR0lNGkcVlcO4BjiO5rK/qNz+XAen1Q==", + "version": "8.4.47", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.47.tgz", + "integrity": "sha512-56rxCq7G/XfB4EkXq9Egn5GCqugWvDFjafDOThIdMBsI15iqPqR5r15TfSr1YPYeEI19YeaXMCbY6u88Y76GLQ==", "requires": { "nanoid": "^3.3.7", - "picocolors": "^1.0.1", - "source-map-js": "^1.2.0" + "picocolors": "^1.1.0", + "source-map-js": "^1.2.1" } }, "postcss-browser-comments": { @@ -30959,9 +30959,9 @@ "dev": true }, "source-map-js": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.2.0.tgz", - "integrity": "sha512-itJW8lvSA0TXEphiRoawsCksnlf8SyvmFzIhltqAHluXd88pkCd+cXJVHTDwdCr0IzwptSm035IHQktUu1QUMg==" + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.2.1.tgz", + "integrity": "sha512-UXWMKhLOwVKb728IUtQPXxfYU+usdybtUrK/8uGE8CQMvrhOpwvzDBwj0QhSL7MQc7vIsISBG8VQ8+IDQxpfQA==" }, "source-map-support": { "version": "0.5.21", @@ -31945,15 +31945,15 @@ "dev": true }, "vue": { - "version": "3.5.4", - "resolved": "https://registry.npmjs.org/vue/-/vue-3.5.4.tgz", - "integrity": "sha512-3yAj2gkmiY+i7+22A1PWM+kjOVXjU74UPINcTiN7grIVPyFFI0lpGwHlV/4xydDmobaBn7/xmi+YG8HeSlCTcg==", - "requires": { - "@vue/compiler-dom": "3.5.4", - "@vue/compiler-sfc": "3.5.4", - "@vue/runtime-dom": "3.5.4", - "@vue/server-renderer": "3.5.4", - "@vue/shared": "3.5.4" + "version": "3.5.6", + "resolved": "https://registry.npmjs.org/vue/-/vue-3.5.6.tgz", + "integrity": "sha512-zv+20E2VIYbcJOzJPUWp03NOGFhMmpCKOfSxVTmCYyYFFko48H9tmuQFzYj7tu4qX1AeXlp9DmhIP89/sSxxhw==", + "requires": { + "@vue/compiler-dom": "3.5.6", + "@vue/compiler-sfc": "3.5.6", + "@vue/runtime-dom": "3.5.6", + "@vue/server-renderer": "3.5.6", + "@vue/shared": "3.5.6" } }, "vue-component-meta": { diff --git a/package.json b/package.json index fb5c2aa6c..20a6a8186 100644 --- a/package.json +++ b/package.json @@ -96,7 +96,7 @@ "typescript": "^5.2.2", "uuid": "^9.0.1", "vite": "^4.5.2", - "vue": "^3.4.21", + "vue": "^3.5.6", "vue-content-loader": "^2.0.1", "vue-i18n": "^9.13.1", "vue-i18n-extract": "^2.0.7", diff --git a/udata_front/theme/gouvfr/assets/js/api/types.ts b/udata_front/theme/gouvfr/assets/js/api/types.ts new file mode 100644 index 000000000..fc92d66c7 --- /dev/null +++ b/udata_front/theme/gouvfr/assets/js/api/types.ts @@ -0,0 +1,8 @@ +export type PaginatedArray = { + data: Array; + next_page: string | null; + page: number; + page_size: number; + previous_page: string | null; + total: number; +}; \ No newline at end of file diff --git a/udata_front/theme/gouvfr/assets/js/components/DataservicesSearch/DataservicesSearch.stories.ts b/udata_front/theme/gouvfr/assets/js/components/DataservicesSearch/DataservicesSearch.stories.ts new file mode 100644 index 000000000..7335cc149 --- /dev/null +++ b/udata_front/theme/gouvfr/assets/js/components/DataservicesSearch/DataservicesSearch.stories.ts @@ -0,0 +1,21 @@ +import type { Meta, StoryObj } from '@storybook/vue3'; +import DataservicesSearch from './DataservicesSearch.vue'; + +const meta = { + title: 'Components/DataservicesSearch', + component: DataservicesSearch, + args: {}, +} satisfies Meta; + +export default meta; + +export const DataservicesSearchExample: StoryObj = { + render: (args) => ({ + components: { DataservicesSearch }, + setup() { + return { args }; + }, + template: '', + }), + args: {}, +}; diff --git a/udata_front/theme/gouvfr/assets/js/components/DataservicesSearch/DataservicesSearch.vue b/udata_front/theme/gouvfr/assets/js/components/DataservicesSearch/DataservicesSearch.vue new file mode 100644 index 000000000..75dfa4a6e --- /dev/null +++ b/udata_front/theme/gouvfr/assets/js/components/DataservicesSearch/DataservicesSearch.vue @@ -0,0 +1,257 @@ + + + diff --git a/udata_front/theme/gouvfr/assets/js/components/Form/ActionCard/ActionCard.vue b/udata_front/theme/gouvfr/assets/js/components/Form/ActionCard/ActionCard.vue index 3ea144c2b..528bf27aa 100644 --- a/udata_front/theme/gouvfr/assets/js/components/Form/ActionCard/ActionCard.vue +++ b/udata_front/theme/gouvfr/assets/js/components/Form/ActionCard/ActionCard.vue @@ -55,7 +55,6 @@ export default defineComponent({ }, content: { type: String, - required: true, }, type: { type: String, diff --git a/udata_front/theme/gouvfr/assets/js/index.ts b/udata_front/theme/gouvfr/assets/js/index.ts index 14e1c6f9e..f46643fe1 100644 --- a/udata_front/theme/gouvfr/assets/js/index.ts +++ b/udata_front/theme/gouvfr/assets/js/index.ts @@ -36,6 +36,7 @@ import EventBus from "./plugins/eventbus.ts"; import Auth from "./plugins/auth.ts"; import InitSentry from "./sentry.ts"; import ReportModalButton from "./components/Report/ReportModalButton.vue"; +import DataservicesSearch from "./components/DataservicesSearch/DataservicesSearch.vue"; setupComponents({ admin_root, @@ -82,6 +83,7 @@ const configAndMountApp = (el: HTMLElement) => { app.component("owner-type-icon", OwnerTypeIcon); app.component("publishing-form", PublishingForm); app.component("search", Search); + app.component("dataservices-search", DataservicesSearch); app.component("toggletip", Toggletip); app.component("user-dataset-list", UserDatasetList); app.component("user-reuse-list", UserReuseList); diff --git a/udata_front/theme/gouvfr/assets/js/locales/de.json b/udata_front/theme/gouvfr/assets/js/locales/de.json index bbc0863b1..2019e5602 100644 --- a/udata_front/theme/gouvfr/assets/js/locales/de.json +++ b/udata_front/theme/gouvfr/assets/js/locales/de.json @@ -483,5 +483,10 @@ "Member since": "Member since", "Last connection": "Last connection", "No connection": "No connection", - "You are seeing a specific community resource of this dataset": "You are seeing a specific community resource of this dataset" + "You are seeing a specific community resource of this dataset": "You are seeing a specific community resource of this dataset", + "Access terms": "", + "Open APIs to everyone": "", + "Restricted access APIs": "", + "{count} API": "", + "All access terms": "" } \ No newline at end of file diff --git a/udata_front/theme/gouvfr/assets/js/locales/en.json b/udata_front/theme/gouvfr/assets/js/locales/en.json index bbc0863b1..d3f47d54f 100644 --- a/udata_front/theme/gouvfr/assets/js/locales/en.json +++ b/udata_front/theme/gouvfr/assets/js/locales/en.json @@ -483,5 +483,10 @@ "Member since": "Member since", "Last connection": "Last connection", "No connection": "No connection", - "You are seeing a specific community resource of this dataset": "You are seeing a specific community resource of this dataset" + "You are seeing a specific community resource of this dataset": "You are seeing a specific community resource of this dataset", + "Access terms": "Access terms", + "Open APIs to everyone": "Open APIs to everyone", + "Restricted access APIs": "Restricted access APIs", + "{count} API": "{count} API", + "All access terms": "All access terms" } \ No newline at end of file diff --git a/udata_front/theme/gouvfr/assets/js/locales/es.json b/udata_front/theme/gouvfr/assets/js/locales/es.json index ab9eb4054..df33976e3 100644 --- a/udata_front/theme/gouvfr/assets/js/locales/es.json +++ b/udata_front/theme/gouvfr/assets/js/locales/es.json @@ -483,5 +483,10 @@ "Member since": "Member since", "Last connection": "Last connection", "No connection": "No connection", - "You are seeing a specific community resource of this dataset": "You are seeing a specific community resource of this dataset" + "You are seeing a specific community resource of this dataset": "You are seeing a specific community resource of this dataset", + "Access terms": "", + "Open APIs to everyone": "", + "Restricted access APIs": "", + "{count} API": "", + "All access terms": "" } \ No newline at end of file diff --git a/udata_front/theme/gouvfr/assets/js/locales/fr.json b/udata_front/theme/gouvfr/assets/js/locales/fr.json index 127292360..62fd55e09 100644 --- a/udata_front/theme/gouvfr/assets/js/locales/fr.json +++ b/udata_front/theme/gouvfr/assets/js/locales/fr.json @@ -483,5 +483,10 @@ "Member since": "Membre depuis", "Last connection": "Dernière connexion", "No connection": "Aucune connection", - "You are seeing a specific community resource of this dataset": "Vous consultez une ressource communautaire spécifique sur ce jeu de données" + "You are seeing a specific community resource of this dataset": "Vous consultez une ressource communautaire spécifique sur ce jeu de données", + "Access terms": "", + "Open APIs to everyone": "", + "Restricted access APIs": "", + "{count} API": "", + "All access terms": "" } \ No newline at end of file diff --git a/udata_front/theme/gouvfr/assets/js/locales/it.json b/udata_front/theme/gouvfr/assets/js/locales/it.json index bbc0863b1..2019e5602 100644 --- a/udata_front/theme/gouvfr/assets/js/locales/it.json +++ b/udata_front/theme/gouvfr/assets/js/locales/it.json @@ -483,5 +483,10 @@ "Member since": "Member since", "Last connection": "Last connection", "No connection": "No connection", - "You are seeing a specific community resource of this dataset": "You are seeing a specific community resource of this dataset" + "You are seeing a specific community resource of this dataset": "You are seeing a specific community resource of this dataset", + "Access terms": "", + "Open APIs to everyone": "", + "Restricted access APIs": "", + "{count} API": "", + "All access terms": "" } \ No newline at end of file diff --git a/udata_front/theme/gouvfr/assets/js/locales/pt.json b/udata_front/theme/gouvfr/assets/js/locales/pt.json index 78963a540..1039eb210 100644 --- a/udata_front/theme/gouvfr/assets/js/locales/pt.json +++ b/udata_front/theme/gouvfr/assets/js/locales/pt.json @@ -483,5 +483,10 @@ "Member since": "Member since", "Last connection": "Last connection", "No connection": "No connection", - "You are seeing a specific community resource of this dataset": "You are seeing a specific community resource of this dataset" + "You are seeing a specific community resource of this dataset": "You are seeing a specific community resource of this dataset", + "Access terms": "", + "Open APIs to everyone": "", + "Restricted access APIs": "", + "{count} API": "", + "All access terms": "" } \ No newline at end of file diff --git a/udata_front/theme/gouvfr/assets/js/locales/sr.json b/udata_front/theme/gouvfr/assets/js/locales/sr.json index bbc0863b1..2019e5602 100644 --- a/udata_front/theme/gouvfr/assets/js/locales/sr.json +++ b/udata_front/theme/gouvfr/assets/js/locales/sr.json @@ -483,5 +483,10 @@ "Member since": "Member since", "Last connection": "Last connection", "No connection": "No connection", - "You are seeing a specific community resource of this dataset": "You are seeing a specific community resource of this dataset" + "You are seeing a specific community resource of this dataset": "You are seeing a specific community resource of this dataset", + "Access terms": "", + "Open APIs to everyone": "", + "Restricted access APIs": "", + "{count} API": "", + "All access terms": "" } \ No newline at end of file diff --git a/udata_front/theme/gouvfr/datagouv-components/package-lock.json b/udata_front/theme/gouvfr/datagouv-components/package-lock.json index 22a0be1e5..09c7fd65c 100644 --- a/udata_front/theme/gouvfr/datagouv-components/package-lock.json +++ b/udata_front/theme/gouvfr/datagouv-components/package-lock.json @@ -10,7 +10,7 @@ "license": "MIT", "dependencies": { "@headlessui/vue": "^1.7.22", - "vue": "^3.4.38" + "vue": "^3.5" }, "devDependencies": { "@conciergerie.dev/vue-toaster": "^2.4.5-0", @@ -3288,12 +3288,13 @@ } }, "node_modules/@vue/compiler-core": { - "version": "3.4.38", - "resolved": "https://registry.npmjs.org/@vue/compiler-core/-/compiler-core-3.4.38.tgz", - "integrity": "sha512-8IQOTCWnLFqfHzOGm9+P8OPSEDukgg3Huc92qSG49if/xI2SAwLHQO2qaPQbjCWPBcQoO1WYfXfTACUrWV3c5A==", + "version": "3.5.6", + "resolved": "https://registry.npmjs.org/@vue/compiler-core/-/compiler-core-3.5.6.tgz", + "integrity": "sha512-r+gNu6K4lrvaQLQGmf+1gc41p3FO2OUJyWmNqaIITaJU6YFiV5PtQSFZt8jfztYyARwqhoCayjprC7KMvT3nRA==", + "license": "MIT", "dependencies": { - "@babel/parser": "^7.24.7", - "@vue/shared": "3.4.38", + "@babel/parser": "^7.25.3", + "@vue/shared": "3.5.6", "entities": "^4.5.0", "estree-walker": "^2.0.2", "source-map-js": "^1.2.0" @@ -3311,37 +3312,40 @@ } }, "node_modules/@vue/compiler-dom": { - "version": "3.4.38", - "resolved": "https://registry.npmjs.org/@vue/compiler-dom/-/compiler-dom-3.4.38.tgz", - "integrity": "sha512-Osc/c7ABsHXTsETLgykcOwIxFktHfGSUDkb05V61rocEfsFDcjDLH/IHJSNJP+/Sv9KeN2Lx1V6McZzlSb9EhQ==", + "version": "3.5.6", + "resolved": "https://registry.npmjs.org/@vue/compiler-dom/-/compiler-dom-3.5.6.tgz", + "integrity": "sha512-xRXqxDrIqK8v8sSScpistyYH0qYqxakpsIvqMD2e5sV/PXQ1mTwtXp4k42yHK06KXxKSmitop9e45Ui/3BrTEw==", + "license": "MIT", "dependencies": { - "@vue/compiler-core": "3.4.38", - "@vue/shared": "3.4.38" + "@vue/compiler-core": "3.5.6", + "@vue/shared": "3.5.6" } }, "node_modules/@vue/compiler-sfc": { - "version": "3.4.38", - "resolved": "https://registry.npmjs.org/@vue/compiler-sfc/-/compiler-sfc-3.4.38.tgz", - "integrity": "sha512-s5QfZ+9PzPh3T5H4hsQDJtI8x7zdJaew/dCGgqZ2630XdzaZ3AD8xGZfBqpT8oaD/p2eedd+pL8tD5vvt5ZYJQ==", - "dependencies": { - "@babel/parser": "^7.24.7", - "@vue/compiler-core": "3.4.38", - "@vue/compiler-dom": "3.4.38", - "@vue/compiler-ssr": "3.4.38", - "@vue/shared": "3.4.38", + "version": "3.5.6", + "resolved": "https://registry.npmjs.org/@vue/compiler-sfc/-/compiler-sfc-3.5.6.tgz", + "integrity": "sha512-pjWJ8Kj9TDHlbF5LywjVso+BIxCY5wVOLhkEXRhuCHDxPFIeX1zaFefKs8RYoHvkSMqRWt93a0f2gNJVJixHwg==", + "license": "MIT", + "dependencies": { + "@babel/parser": "^7.25.3", + "@vue/compiler-core": "3.5.6", + "@vue/compiler-dom": "3.5.6", + "@vue/compiler-ssr": "3.5.6", + "@vue/shared": "3.5.6", "estree-walker": "^2.0.2", - "magic-string": "^0.30.10", - "postcss": "^8.4.40", + "magic-string": "^0.30.11", + "postcss": "^8.4.47", "source-map-js": "^1.2.0" } }, "node_modules/@vue/compiler-ssr": { - "version": "3.4.38", - "resolved": "https://registry.npmjs.org/@vue/compiler-ssr/-/compiler-ssr-3.4.38.tgz", - "integrity": "sha512-YXznKFQ8dxYpAz9zLuVvfcXhc31FSPFDcqr0kyujbOwNhlmaNvL2QfIy+RZeJgSn5Fk54CWoEUeW+NVBAogGaw==", + "version": "3.5.6", + "resolved": "https://registry.npmjs.org/@vue/compiler-ssr/-/compiler-ssr-3.5.6.tgz", + "integrity": "sha512-VpWbaZrEOCqnmqjE83xdwegtr5qO/2OPUC6veWgvNqTJ3bYysz6vY3VqMuOijubuUYPRpG3OOKIh9TD0Stxb9A==", + "license": "MIT", "dependencies": { - "@vue/compiler-dom": "3.4.38", - "@vue/shared": "3.4.38" + "@vue/compiler-dom": "3.5.6", + "@vue/shared": "3.5.6" } }, "node_modules/@vue/devtools-api": { @@ -3387,49 +3391,54 @@ } }, "node_modules/@vue/reactivity": { - "version": "3.4.38", - "resolved": "https://registry.npmjs.org/@vue/reactivity/-/reactivity-3.4.38.tgz", - "integrity": "sha512-4vl4wMMVniLsSYYeldAKzbk72+D3hUnkw9z8lDeJacTxAkXeDAP1uE9xr2+aKIN0ipOL8EG2GPouVTH6yF7Gnw==", + "version": "3.5.6", + "resolved": "https://registry.npmjs.org/@vue/reactivity/-/reactivity-3.5.6.tgz", + "integrity": "sha512-shZ+KtBoHna5GyUxWfoFVBCVd7k56m6lGhk5e+J9AKjheHF6yob5eukssHRI+rzvHBiU1sWs/1ZhNbLExc5oYQ==", + "license": "MIT", "dependencies": { - "@vue/shared": "3.4.38" + "@vue/shared": "3.5.6" } }, "node_modules/@vue/runtime-core": { - "version": "3.4.38", - "resolved": "https://registry.npmjs.org/@vue/runtime-core/-/runtime-core-3.4.38.tgz", - "integrity": "sha512-21z3wA99EABtuf+O3IhdxP0iHgkBs1vuoCAsCKLVJPEjpVqvblwBnTj42vzHRlWDCyxu9ptDm7sI2ZMcWrQqlA==", + "version": "3.5.6", + "resolved": "https://registry.npmjs.org/@vue/runtime-core/-/runtime-core-3.5.6.tgz", + "integrity": "sha512-FpFULR6+c2lI+m1fIGONLDqPQO34jxV8g6A4wBOgne8eSRHP6PQL27+kWFIx5wNhhjkO7B4rgtsHAmWv7qKvbg==", + "license": "MIT", "dependencies": { - "@vue/reactivity": "3.4.38", - "@vue/shared": "3.4.38" + "@vue/reactivity": "3.5.6", + "@vue/shared": "3.5.6" } }, "node_modules/@vue/runtime-dom": { - "version": "3.4.38", - "resolved": "https://registry.npmjs.org/@vue/runtime-dom/-/runtime-dom-3.4.38.tgz", - "integrity": "sha512-afZzmUreU7vKwKsV17H1NDThEEmdYI+GCAK/KY1U957Ig2NATPVjCROv61R19fjZNzMmiU03n79OMnXyJVN0UA==", + "version": "3.5.6", + "resolved": "https://registry.npmjs.org/@vue/runtime-dom/-/runtime-dom-3.5.6.tgz", + "integrity": "sha512-SDPseWre45G38ENH2zXRAHL1dw/rr5qp91lS4lt/nHvMr0MhsbCbihGAWLXNB/6VfFOJe2O+RBRkXU+CJF7/sw==", + "license": "MIT", "dependencies": { - "@vue/reactivity": "3.4.38", - "@vue/runtime-core": "3.4.38", - "@vue/shared": "3.4.38", + "@vue/reactivity": "3.5.6", + "@vue/runtime-core": "3.5.6", + "@vue/shared": "3.5.6", "csstype": "^3.1.3" } }, "node_modules/@vue/server-renderer": { - "version": "3.4.38", - "resolved": "https://registry.npmjs.org/@vue/server-renderer/-/server-renderer-3.4.38.tgz", - "integrity": "sha512-NggOTr82FbPEkkUvBm4fTGcwUY8UuTsnWC/L2YZBmvaQ4C4Jl/Ao4HHTB+l7WnFCt5M/dN3l0XLuyjzswGYVCA==", + "version": "3.5.6", + "resolved": "https://registry.npmjs.org/@vue/server-renderer/-/server-renderer-3.5.6.tgz", + "integrity": "sha512-zivnxQnOnwEXVaT9CstJ64rZFXMS5ZkKxCjDQKiMSvUhXRzFLWZVbaBiNF4HGDqGNNsTgmjcCSmU6TB/0OOxLA==", + "license": "MIT", "dependencies": { - "@vue/compiler-ssr": "3.4.38", - "@vue/shared": "3.4.38" + "@vue/compiler-ssr": "3.5.6", + "@vue/shared": "3.5.6" }, "peerDependencies": { - "vue": "3.4.38" + "vue": "3.5.6" } }, "node_modules/@vue/shared": { - "version": "3.4.38", - "resolved": "https://registry.npmjs.org/@vue/shared/-/shared-3.4.38.tgz", - "integrity": "sha512-q0xCiLkuWWQLzVrecPb0RMsNWyxICOjPrcrwxTUEHb1fsnvni4dcuyG7RT/Ie7VPTvnjzIaWzRMUBsrqNj/hhw==" + "version": "3.5.6", + "resolved": "https://registry.npmjs.org/@vue/shared/-/shared-3.5.6.tgz", + "integrity": "sha512-eidH0HInnL39z6wAt6SFIwBrvGOpDWsDxlw3rCgo1B+CQ1781WzQUSU3YjxgdkcJo9Q8S6LmXTkvI+cLHGkQfA==", + "license": "MIT" }, "node_modules/@vueuse/core": { "version": "10.6.1", @@ -8798,9 +8807,10 @@ } }, "node_modules/picocolors": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.0.1.tgz", - "integrity": "sha512-anP1Z8qwhkbmu7MFP5iTt+wQKXgwzf7zTyGlcdzabySa9vd0Xt392U0rVmz9poOaBj0uHJKyyo9/upk0HrEQew==" + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.1.0.tgz", + "integrity": "sha512-TQ92mBOW0l3LeMeyLV6mzy/kWr8lkd/hp3mTg7wYK7zJhuBStmGMBG0BdeDZS/dZx1IukaX6Bk11zcln25o1Aw==", + "license": "ISC" }, "node_modules/picomatch": { "version": "2.3.1", @@ -8978,9 +8988,9 @@ } }, "node_modules/postcss": { - "version": "8.4.41", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.41.tgz", - "integrity": "sha512-TesUflQ0WKZqAvg52PWL6kHgLKP6xB6heTOdoYM0Wt2UHyxNa4K25EZZMgKns3BH1RLVbZCREPpLY0rhnNoHVQ==", + "version": "8.4.47", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.47.tgz", + "integrity": "sha512-56rxCq7G/XfB4EkXq9Egn5GCqugWvDFjafDOThIdMBsI15iqPqR5r15TfSr1YPYeEI19YeaXMCbY6u88Y76GLQ==", "funding": [ { "type": "opencollective", @@ -8995,10 +9005,11 @@ "url": "https://github.com/sponsors/ai" } ], + "license": "MIT", "dependencies": { "nanoid": "^3.3.7", - "picocolors": "^1.0.1", - "source-map-js": "^1.2.0" + "picocolors": "^1.1.0", + "source-map-js": "^1.2.1" }, "engines": { "node": "^10 || ^12 || >=14" @@ -9912,9 +9923,10 @@ } }, "node_modules/source-map-js": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.2.0.tgz", - "integrity": "sha512-itJW8lvSA0TXEphiRoawsCksnlf8SyvmFzIhltqAHluXd88pkCd+cXJVHTDwdCr0IzwptSm035IHQktUu1QUMg==", + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.2.1.tgz", + "integrity": "sha512-UXWMKhLOwVKb728IUtQPXxfYU+usdybtUrK/8uGE8CQMvrhOpwvzDBwj0QhSL7MQc7vIsISBG8VQ8+IDQxpfQA==", + "license": "BSD-3-Clause", "engines": { "node": ">=0.10.0" } @@ -10785,15 +10797,16 @@ "dev": true }, "node_modules/vue": { - "version": "3.4.38", - "resolved": "https://registry.npmjs.org/vue/-/vue-3.4.38.tgz", - "integrity": "sha512-f0ZgN+mZ5KFgVv9wz0f4OgVKukoXtS3nwET4c2vLBGQR50aI8G0cqbFtLlX9Yiyg3LFGBitruPHt2PxwTduJEw==", - "dependencies": { - "@vue/compiler-dom": "3.4.38", - "@vue/compiler-sfc": "3.4.38", - "@vue/runtime-dom": "3.4.38", - "@vue/server-renderer": "3.4.38", - "@vue/shared": "3.4.38" + "version": "3.5.6", + "resolved": "https://registry.npmjs.org/vue/-/vue-3.5.6.tgz", + "integrity": "sha512-zv+20E2VIYbcJOzJPUWp03NOGFhMmpCKOfSxVTmCYyYFFko48H9tmuQFzYj7tu4qX1AeXlp9DmhIP89/sSxxhw==", + "license": "MIT", + "dependencies": { + "@vue/compiler-dom": "3.5.6", + "@vue/compiler-sfc": "3.5.6", + "@vue/runtime-dom": "3.5.6", + "@vue/server-renderer": "3.5.6", + "@vue/shared": "3.5.6" }, "peerDependencies": { "typescript": "*" diff --git a/udata_front/theme/gouvfr/datagouv-components/package.json b/udata_front/theme/gouvfr/datagouv-components/package.json index ceeb57611..3ed25fce6 100644 --- a/udata_front/theme/gouvfr/datagouv-components/package.json +++ b/udata_front/theme/gouvfr/datagouv-components/package.json @@ -44,7 +44,7 @@ }, "dependencies": { "@headlessui/vue": "^1.7.22", - "vue": "^3.4.38" + "vue": "^3.5" }, "peerDependencies": { "@gouvfr/dsfr": "~1.11.2", diff --git a/udata_front/theme/gouvfr/templates/dataservice/list.html b/udata_front/theme/gouvfr/templates/dataservice/list.html new file mode 100644 index 000000000..394fab52e --- /dev/null +++ b/udata_front/theme/gouvfr/templates/dataservice/list.html @@ -0,0 +1,37 @@ +{% extends theme("layouts/1-column.html") %} + +{% block breadcrumb %} +
  • + + {{ _('Dataservices') }} + +
  • +{% endblock %} + +{% set meta = { + 'title': _('Dataservices'), + 'description': _("%(site)s dataservices search", site=config['SITE_TITLE']), + 'keywords': [_('search'), _('dataservices')], + 'robots': 'noindex', +} %} + +{% set bundle = 'search' %} + +{% block main_content %} + +{% endblock %} diff --git a/udata_front/theme/gouvfr/translations/gouvfr.pot b/udata_front/theme/gouvfr/translations/gouvfr.pot index d18be0e06..6c98d62f4 100644 --- a/udata_front/theme/gouvfr/translations/gouvfr.pot +++ b/udata_front/theme/gouvfr/translations/gouvfr.pot @@ -6,10 +6,10 @@ #, fuzzy msgid "" msgstr "" -"Project-Id-Version: udata-front 5.1.3.dev0\n" +"Project-Id-Version: udata-front 5.2.1.dev0\n" "Report-Msgid-Bugs-To: data.gouv@data.gouv.fr\n" -"POT-Creation-Date: 2024-09-12 13:25+0200\n" -"PO-Revision-Date: 2024-09-12 13:25+0200\n" +"POT-Creation-Date: 2024-09-17 11:05+0200\n" +"PO-Revision-Date: 2024-09-17 11:05+0200\n" "Last-Translator: Data.gouv.fr Team \n" "Language: en\n" "Language-Team: Data.gouv.fr Team \n" @@ -843,6 +843,40 @@ msgstr "" msgid "There are no discussions for this API yet." msgstr "" +#: udata_front/theme/gouvfr/templates/dataservice/list.html:6 +#: udata_front/theme/gouvfr/templates/dataservice/list.html:12 +#: udata_front/theme/gouvfr/templates/dataservice/list.html:24 +msgid "Dataservices" +msgstr "" + +#: udata_front/theme/gouvfr/templates/dataservice/list.html:13 +#, python-format +msgid "%(site)s dataservices search" +msgstr "" + +#: udata_front/theme/gouvfr/templates/dataservice/list.html:14 +#: udata_front/theme/gouvfr/templates/dataset/list.html:16 +#: udata_front/theme/gouvfr/templates/organization/list.html:8 +#: udata_front/theme/gouvfr/templates/reuse/list.html:8 +#: udata_front/theme/gouvfr/templates/topic/datasets.html:8 +#: udata_front/theme/gouvfr/templates/topic/reuses.html:8 +#: udata_front/theme/gouvfr/templates/user/list.html:7 +msgid "search" +msgstr "" + +#: udata_front/theme/gouvfr/templates/dataservice/list.html:14 +msgid "dataservices" +msgstr "" + +#: udata_front/theme/gouvfr/templates/dataservice/list.html:26 +#, python-format +msgid "Search among %(count)s dataservices on %(site)s" +msgstr "" + +#: udata_front/theme/gouvfr/templates/dataservice/list.html:32 +msgid "Search datasets" +msgstr "" + #: udata_front/theme/gouvfr/templates/dataset/card-lg.html:63 #: udata_front/theme/gouvfr/templates/dataset/card-sm.html:59 #: udata_front/theme/gouvfr/templates/dataset/card-xs.html:60 @@ -1109,15 +1143,6 @@ msgstr[1] "" msgid "%(site)s dataset search" msgstr "" -#: udata_front/theme/gouvfr/templates/dataset/list.html:16 -#: udata_front/theme/gouvfr/templates/organization/list.html:8 -#: udata_front/theme/gouvfr/templates/reuse/list.html:8 -#: udata_front/theme/gouvfr/templates/topic/datasets.html:8 -#: udata_front/theme/gouvfr/templates/topic/reuses.html:8 -#: udata_front/theme/gouvfr/templates/user/list.html:7 -msgid "search" -msgstr "" - #: udata_front/theme/gouvfr/templates/dataset/list.html:16 #: udata_front/theme/gouvfr/templates/topic/datasets.html:8 msgid "datasets" @@ -2364,7 +2389,7 @@ msgstr "" msgid "%(user)s has not yet published any reuse" msgstr "" -#: udata_front/views/dataservice.py:18 udata_front/views/dataset.py:25 +#: udata_front/views/dataservice.py:20 udata_front/views/dataset.py:25 msgid "Last datasets" msgstr "" diff --git a/udata_front/views/dataservice.py b/udata_front/views/dataservice.py index 3a464cbbf..3b1994c48 100644 --- a/udata_front/views/dataservice.py +++ b/udata_front/views/dataservice.py @@ -1,12 +1,14 @@ from flask import abort, make_response, request, url_for from feedgenerator.django.utils.feedgenerator import Atom1Feed +from jinja2 import TemplateNotFound from udata.core.dataservices.models import Dataservice from udata.core.dataservices.permissions import DataserviceEditPermission from udata.core.site.models import current_site from udata.i18n import I18nBlueprint, gettext as _ from udata.sitemap import sitemap +from udata_front import theme from udata_front.theme import render as render_template from udata_front.views.base import DetailView @@ -44,6 +46,14 @@ def recent_feed(): return response +@blueprint.route("/", endpoint="list") +def dataservices_list(): + try: + return theme.render("dataservice/list.html") + except TemplateNotFound: + abort(404) + + class DataserviceView(object): model = Dataservice object_name = 'dataservice'