From b0516a68688e0d145facf36294d1952792ea7888 Mon Sep 17 00:00:00 2001 From: Gaelle Date: Fri, 9 Jan 2026 16:29:21 +0100 Subject: [PATCH 1/7] add model tags --- package-lock.json | 27 +-- .../models/models-table/ModelsTable.vue | 119 +++++++++++-- .../specific/models/models-table/columns.js | 8 + .../model-tags-cell/ModelTagsCell.scss | 78 +++++++++ .../model-tags-cell/ModelTagsCell.vue | 160 ++++++++++++++++++ src/i18n/lang/fr.json | 1 + 6 files changed, 354 insertions(+), 39 deletions(-) create mode 100644 src/components/specific/models/models-table/model-tags-cell/ModelTagsCell.scss create mode 100644 src/components/specific/models/models-table/model-tags-cell/ModelTagsCell.vue diff --git a/package-lock.json b/package-lock.json index 779d5b328..310247299 100644 --- a/package-lock.json +++ b/package-lock.json @@ -128,7 +128,6 @@ "integrity": "sha512-e7jT4DxYvIDLk1ZHmU/m/mB19rex9sv0c2ftBtjSBv+kVM/902eh0fINUzD7UwLLNR+jU585GxUJ8/EBfAM5fw==", "dev": true, "license": "MIT", - "peer": true, "dependencies": { "@babel/code-frame": "^7.27.1", "@babel/generator": "^7.28.5", @@ -1856,7 +1855,6 @@ "version": "1.10.0", "resolved": "https://registry.npmjs.org/@bimdata/components/-/components-1.10.0.tgz", "integrity": "sha512-l6w2S1ZgH6KKT4osAch+lH+D+t+u+dmE1A7pC1AmPD5wC80mcs1vP/hpJrldjcrc9dVG2wnpnD7TE47GUFc0TQ==", - "peer": true, "peerDependencies": { "@bimdata/design-system": "*", "@bimdata/typescript-fetch-api-client": "*", @@ -1867,14 +1865,12 @@ "node_modules/@bimdata/design-system": { "version": "2.3.0", "resolved": "https://registry.npmjs.org/@bimdata/design-system/-/design-system-2.3.0.tgz", - "integrity": "sha512-/3vKXSptTUz2yaY4fcPCHu6fNeLYLqr03J4vQ8Tb8zKlIaUdgwcmFSTGM7bgXfyW6BlAkXPxp8wcEkcPnk2/Dw==", - "peer": true + "integrity": "sha512-/3vKXSptTUz2yaY4fcPCHu6fNeLYLqr03J4vQ8Tb8zKlIaUdgwcmFSTGM7bgXfyW6BlAkXPxp8wcEkcPnk2/Dw==" }, "node_modules/@bimdata/typescript-fetch-api-client": { "version": "10.31.1", "resolved": "https://registry.npmjs.org/@bimdata/typescript-fetch-api-client/-/typescript-fetch-api-client-10.31.1.tgz", - "integrity": "sha512-YmskqjInKSaZIElo/zllxbQj8/WJwOReW+9Ou3ob2NvayhulVnAu0d2B1Y6BekuWbLyjot9ftiUluxXeeij3Iw==", - "peer": true + "integrity": "sha512-YmskqjInKSaZIElo/zllxbQj8/WJwOReW+9Ou3ob2NvayhulVnAu0d2B1Y6BekuWbLyjot9ftiUluxXeeij3Iw==" }, "node_modules/@bimdata/viewer": { "version": "2.16.0-beta.1", @@ -3305,7 +3301,6 @@ "integrity": "sha512-DhGl4xMVFGVIyMwswXeyzdL4uXD5OGILGX5N8Y+f6W7LhC1Ze2poSNrkF/fedpVDHEEZ+PHFW0vL14I+mm8K3Q==", "dev": true, "license": "MIT", - "peer": true, "dependencies": { "@octokit/auth-token": "^6.0.0", "@octokit/graphql": "^9.0.3", @@ -5455,7 +5450,6 @@ "integrity": "sha512-NZyJarBfL7nWwIq+FDL6Zp/yHEhePMNnnJ0y3qfieCrmNvYct8uvtiV41UvlSe6apAfk0fY1FbWx+NwfmpvtTg==", "dev": true, "license": "MIT", - "peer": true, "bin": { "acorn": "bin/acorn" }, @@ -5986,7 +5980,6 @@ } ], "license": "MIT", - "peer": true, "dependencies": { "baseline-browser-mapping": "^2.9.0", "caniuse-lite": "^1.0.30001759", @@ -7135,7 +7128,6 @@ "integrity": "sha512-rRqJg/6gd538VHvR3PSrdRBb/1Vy2YfzHqzvbhGIQpDRKIa4FgV/54b5Q1xYSxOOwKvjXweS26E0Q+nAMwp2pQ==", "dev": true, "license": "MIT", - "peer": true, "dependencies": { "ansi-colors": "^4.1.1", "strip-ansi": "^6.0.1" @@ -7467,7 +7459,6 @@ "integrity": "sha512-LEyamqS7W5HB3ujJyvi0HQK/dtVINZvd5mAAp9eT5S/ujByGjiZLCzPcHVzuXbpJDJF/cxwHlfceVUDZ2lnSTw==", "dev": true, "license": "MIT", - "peer": true, "dependencies": { "@eslint-community/eslint-utils": "^4.8.0", "@eslint-community/regexpp": "^4.12.1", @@ -7528,7 +7519,6 @@ "integrity": "sha512-82GZUjRS0p/jganf6q1rEO25VSoHH0hKPCTrgillPjdI/3bgBhAE1QzHrHTizjpRvy6pGAvKjDJtk2pF9NDq8w==", "dev": true, "license": "MIT", - "peer": true, "bin": { "eslint-config-prettier": "bin/cli.js" }, @@ -10327,7 +10317,6 @@ "integrity": "sha512-8dD6FusOQSrpv9Z1rdNMdlSgQOIP880DHqnohobOmYLElGEqAL/JvxvuxZO16r4HtjTlfPRDC1hbvxC9dPN2nA==", "dev": true, "license": "MIT", - "peer": true, "bin": { "marked": "bin/marked.js" }, @@ -12715,7 +12704,6 @@ "dev": true, "inBundle": true, "license": "MIT", - "peer": true, "engines": { "node": ">=12" }, @@ -13485,7 +13473,6 @@ "integrity": "sha512-v6UNi1+3hSlVvv8fSaoUbggEM5VErKmmpGA7Pl3HF8V6uKY7rvClBOJlH6yNwQtfTueNkGVpOv/mtWL9L4bgRA==", "dev": true, "license": "MIT", - "peer": true, "bin": { "prettier": "bin/prettier.cjs" }, @@ -14495,7 +14482,6 @@ "integrity": "sha512-6qGjWccl5yoyugHt3jTgztJ9Y0JVzyH8/Voc/D8PlLat9pwxQYXz7W1Dpnq5h0/G5GCYGUaDSlYcyk3AMh5A6g==", "dev": true, "license": "MIT", - "peer": true, "dependencies": { "@semantic-release/commit-analyzer": "^13.0.1", "@semantic-release/error": "^4.0.0", @@ -15840,7 +15826,6 @@ "integrity": "sha512-5gTmgEY/sqK6gFXLIsQNH19lWb4ebPDLA4SdLP7dsWkIXHWlG66oPuVvXSGFPppYZz8ZDZq0dYYrbHfBCVUb1Q==", "dev": true, "license": "MIT", - "peer": true, "engines": { "node": ">=12" }, @@ -16315,7 +16300,6 @@ "integrity": "sha512-w+N7Hifpc3gRjZ63vYBXA56dvvRlNWRczTdmCBBa+CotUzAPf5b7YMdMR/8CQoeYE5LX3W4wj6RYTgonm1b9DA==", "dev": true, "license": "MIT", - "peer": true, "dependencies": { "esbuild": "^0.27.0", "fdir": "^6.5.0", @@ -16419,7 +16403,6 @@ "integrity": "sha512-5gTmgEY/sqK6gFXLIsQNH19lWb4ebPDLA4SdLP7dsWkIXHWlG66oPuVvXSGFPppYZz8ZDZq0dYYrbHfBCVUb1Q==", "dev": true, "license": "MIT", - "peer": true, "engines": { "node": ">=12" }, @@ -16432,7 +16415,6 @@ "resolved": "https://registry.npmjs.org/vue/-/vue-3.5.26.tgz", "integrity": "sha512-SJ/NTccVyAoNUJmkM9KUqPcYlY+u8OVL1X5EW9RIs3ch5H2uERxyyIUI4MRxVCSOiEcupX9xNGde1tL9ZKpimA==", "license": "MIT", - "peer": true, "dependencies": { "@vue/compiler-dom": "3.5.26", "@vue/compiler-sfc": "3.5.26", @@ -16455,6 +16437,7 @@ "integrity": "sha512-CydUvFOQKD928UzZhTp4pr2vWz1L+H99t7Pkln2QSPdvmURT0MoC4wUccfCnuEaihNsu9aYYyk+bep8rlfkUXw==", "dev": true, "license": "MIT", + "peer": true, "dependencies": { "debug": "^4.4.0", "eslint-scope": "^8.2.0", @@ -16479,6 +16462,7 @@ "integrity": "sha512-SdsKMrI9TdgjdweUSR9MweHA4EJ8YxHn8DFaDisvhVlUOe4BF1tLD7GAj0lIqWVl+dPb/rExr0Btby5loQm20Q==", "dev": true, "license": "ISC", + "peer": true, "bin": { "semver": "bin/semver.js" }, @@ -16491,7 +16475,6 @@ "resolved": "https://registry.npmjs.org/vue-i18n/-/vue-i18n-11.2.8.tgz", "integrity": "sha512-vJ123v/PXCZntd6Qj5Jumy7UBmIuE92VrtdX+AXr+1WzdBHojiBxnAxdfctUFL+/JIN+VQH4BhsfTtiGsvVObg==", "license": "MIT", - "peer": true, "dependencies": { "@intlify/core-base": "11.2.8", "@intlify/shared": "11.2.8", @@ -16801,4 +16784,4 @@ } } } -} \ No newline at end of file +} diff --git a/src/components/specific/models/models-table/ModelsTable.vue b/src/components/specific/models/models-table/ModelsTable.vue index 8e5dcd670..5561d1c71 100644 --- a/src/components/specific/models/models-table/ModelsTable.vue +++ b/src/components/specific/models/models-table/ModelsTable.vue @@ -1,13 +1,12 @@ + @@ -73,36 +75,40 @@ diff --git a/src/i18n/lang/fr.json b/src/i18n/lang/fr.json index dcdda9c3f..096536a18 100644 --- a/src/i18n/lang/fr.json +++ b/src/i18n/lang/fr.json @@ -359,6 +359,7 @@ }, "ModelsTable": { "headers": { + "tags": "Tags", "version": "Version" }, "emptyTablePlaceholder": { From e2a6f4291b07d4e3216c7414bf275738c3608d93 Mon Sep 17 00:00:00 2001 From: Gaelle Date: Fri, 9 Jan 2026 16:29:57 +0100 Subject: [PATCH 2/7] fix model status --- .../specific/models/models-table/columns.js | 2 +- .../model-status-cell/ModelStatusCell.scss | 22 +++++++++++++++---- .../model-status-cell/ModelStatusCell.vue | 18 ++++++++------- 3 files changed, 29 insertions(+), 13 deletions(-) diff --git a/src/components/specific/models/models-table/columns.js b/src/components/specific/models/models-table/columns.js index 5135d8057..1f78132f9 100644 --- a/src/components/specific/models/models-table/columns.js +++ b/src/components/specific/models/models-table/columns.js @@ -38,7 +38,7 @@ export default [ { id: "status", text: "t.status", - width: "80px", + width: "120px", align: "center" }, { diff --git a/src/components/specific/models/models-table/model-status-cell/ModelStatusCell.scss b/src/components/specific/models/models-table/model-status-cell/ModelStatusCell.scss index 86d3f6d5b..694f08cfd 100644 --- a/src/components/specific/models/models-table/model-status-cell/ModelStatusCell.scss +++ b/src/components/specific/models/models-table/model-status-cell/ModelStatusCell.scss @@ -1,25 +1,39 @@ .model-status-cell { - display: inline-flex; + margin: auto; + padding: 0 var(--spacing-unit); + height: 26px; + width: max-content; + display: flex; justify-content: center; align-items: center; - width: 18px; - height: 18px; - margin: calc(var(--spacing-unit) / 2); + border-radius: 50px; + + .status-icon { + margin-right: 3px; + border-radius: 50px; + width: 8px; + height: 8px; + background-color: currentColor; + } &--pending, &--in-progress { + background-color: #e2e3e6; color: var(--color-primary); } &--completed { + background-color: #dbf4e6; color: var(--color-success); } &--warning { + background-color: #fff0db; color: var(--color-warning); } &--error { + background-color: #ffe4df; color: var(--color-high); } } diff --git a/src/components/specific/models/models-table/model-status-cell/ModelStatusCell.vue b/src/components/specific/models/models-table/model-status-cell/ModelStatusCell.vue index 43aeac710..9335d1c10 100644 --- a/src/components/specific/models/models-table/model-status-cell/ModelStatusCell.vue +++ b/src/components/specific/models/models-table/model-status-cell/ModelStatusCell.vue @@ -1,7 +1,9 @@ @@ -14,12 +16,12 @@ export default { props: { project: { type: Object, - required: true + required: true, }, model: { type: Object, - required: true - } + required: true, + }, }, setup(props) { const { fetchModelByID, loadProjectModels } = useModels(); @@ -27,7 +29,7 @@ export default { const statusName = ref(""); const statusIcon = ref(""); - const setStatus = status => { + const setStatus = (status) => { switch (status) { case MODEL_STATUS.PENDING: statusName.value = "pending"; @@ -80,9 +82,9 @@ export default { return { statusIcon, - statusName + statusName, }; - } + }, }; From c8b0e796f2fe905bdb0198f719f0f18fa6d1c8f8 Mon Sep 17 00:00:00 2001 From: Gaelle Date: Mon, 19 Jan 2026 10:50:57 +0100 Subject: [PATCH 3/7] fix go to folder view on FilesManager --- .../files/files-manager/FilesManager.vue | 130 ++++++-------- .../models/models-manager/ModelsManager.vue | 4 +- .../GenericModelsManager.vue | 4 + .../models/models-table/ModelsTable.vue | 12 ++ .../specific/models/models-table/columns.js | 6 + .../model-path-cell/ModelPathCell.scss | 46 +++++ .../model-path-cell/ModelPathCell.vue | 162 ++++++++++++++++++ src/composables/session.js | 43 +++-- src/i18n/lang/fr.json | 1 + src/utils/file-structure.js | 2 +- src/views/project-board/ProjectBoard.vue | 3 +- .../project-overview/ProjectOverview.vue | 18 +- 12 files changed, 333 insertions(+), 98 deletions(-) create mode 100644 src/components/specific/models/models-table/model-path-cell/ModelPathCell.scss create mode 100644 src/components/specific/models/models-table/model-path-cell/ModelPathCell.vue diff --git a/src/components/specific/files/files-manager/FilesManager.vue b/src/components/specific/files/files-manager/FilesManager.vue index ce7c72ad5..f69fd8f3d 100644 --- a/src/components/specific/files/files-manager/FilesManager.vue +++ b/src/components/specific/files/files-manager/FilesManager.vue @@ -1,6 +1,6 @@