From f94532529f493ccd4eea72c7a78dd8039246ff31 Mon Sep 17 00:00:00 2001 From: Peter Petrik Date: Fri, 21 Apr 2023 15:26:32 +0200 Subject: [PATCH 01/22] add js and py styling --- .github/workflows/code_style.yml | 27 +++++++++++++++++++++++++++ README.md | 3 ++- web-app/babel.config.js | 3 +++ 3 files changed, 32 insertions(+), 1 deletion(-) create mode 100644 .github/workflows/code_style.yml create mode 100644 web-app/babel.config.js diff --git a/.github/workflows/code_style.yml b/.github/workflows/code_style.yml new file mode 100644 index 00000000..d0af27f9 --- /dev/null +++ b/.github/workflows/code_style.yml @@ -0,0 +1,27 @@ +name: Code Layout + +on: push + +jobs: + code_style_python: + name: Python code convention check + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v3 + + - uses: psf/black@stable + with: + options: "--check --verbose --diff" + src: "./server" + + code_style_js: + name: JavaScript code convention check + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v3 + - uses: actions/setup-node@v3 + - name: Check JS + run: | + cd web-app + yarn install + npx eslint ./packages/** --config .eslintrc.js --ext .js,.vue --ignore-path .gitignore diff --git a/README.md b/README.md index 56ef4dd6..b0d6fc4f 100644 --- a/README.md +++ b/README.md @@ -14,7 +14,8 @@

- +
+[![Code Layout](https://github.com/MerginMaps/mergin/actions/workflows/code_style.yml/badge.svg)](https://github.com/MerginMaps/mergin/actions/workflows/code_style.yml)

## About diff --git a/web-app/babel.config.js b/web-app/babel.config.js new file mode 100644 index 00000000..716b0237 --- /dev/null +++ b/web-app/babel.config.js @@ -0,0 +1,3 @@ +module.exports = { + presets: ['@vue/cli-plugin-babel/preset'] +} From 72634c172fa0d791cb9d56c199474202812fbacf Mon Sep 17 00:00:00 2001 From: "marcel.kocisek" Date: Fri, 28 Apr 2023 09:52:23 +0200 Subject: [PATCH 02/22] Added disabling and default count of versions option to project versions table --- .../project/views/ProjectsListView.vue | 2 +- .../packages/lib/src/modules/project/store.ts | 39 ++- .../packages/lib/src/modules/project/types.ts | 12 +- .../project/views/ProjectVersionsView.vue | 231 +------------- .../views/ProjectVersionsViewTemplate.vue | 289 ++++++++++++++++++ .../lib/src/modules/project/views/index.ts | 1 + 6 files changed, 339 insertions(+), 235 deletions(-) create mode 100644 web-app/packages/lib/src/modules/project/views/ProjectVersionsViewTemplate.vue diff --git a/web-app/packages/app/src/modules/project/views/ProjectsListView.vue b/web-app/packages/app/src/modules/project/views/ProjectsListView.vue index cfe44319..ea020f05 100644 --- a/web-app/packages/app/src/modules/project/views/ProjectsListView.vue +++ b/web-app/packages/app/src/modules/project/views/ProjectsListView.vue @@ -24,7 +24,7 @@ SPDX-License-Identifier: AGPL-3.0-only OR LicenseRef-MerginMaps-Commercial diff --git a/web-app/packages/lib/src/modules/project/views/ProjectVersionsViewTemplate.vue b/web-app/packages/lib/src/modules/project/views/ProjectVersionsViewTemplate.vue new file mode 100644 index 00000000..bd36dcc1 --- /dev/null +++ b/web-app/packages/lib/src/modules/project/views/ProjectVersionsViewTemplate.vue @@ -0,0 +1,289 @@ + + + + + + + diff --git a/web-app/packages/lib/src/modules/project/views/index.ts b/web-app/packages/lib/src/modules/project/views/index.ts index eead7acb..467ffb5e 100644 --- a/web-app/packages/lib/src/modules/project/views/index.ts +++ b/web-app/packages/lib/src/modules/project/views/index.ts @@ -10,3 +10,4 @@ export { default as ProjectSettingsViewTemplate } from './ProjectSettingsViewTem export { default as ProjectVersionsView } from './ProjectVersionsView.vue' export { default as ProjectViewTemplate } from './ProjectViewTemplate.vue' export { default as VersionDetailView } from './VersionDetailView.vue' +export { default as ProjectVersionsViewTemplate } from './ProjectVersionsViewTemplate.vue' From 10f234dd17a58665071e2d12423d7b6ade5acd2f Mon Sep 17 00:00:00 2001 From: "marcel.kocisek" Date: Fri, 28 Apr 2023 16:04:31 +0200 Subject: [PATCH 03/22] Added slot for table footer in versions table Added ability to disable pagination --- .../modules/project/views/ProjectVersionsView.vue | 3 +-- .../project/views/ProjectVersionsViewTemplate.vue | 13 ++++++++----- .../src/modules/project/views/VersionDetailView.vue | 8 +++----- 3 files changed, 12 insertions(+), 12 deletions(-) diff --git a/web-app/packages/lib/src/modules/project/views/ProjectVersionsView.vue b/web-app/packages/lib/src/modules/project/views/ProjectVersionsView.vue index a9f31952..c89b3bd6 100644 --- a/web-app/packages/lib/src/modules/project/views/ProjectVersionsView.vue +++ b/web-app/packages/lib/src/modules/project/views/ProjectVersionsView.vue @@ -33,5 +33,4 @@ export default Vue.extend({ }) - + diff --git a/web-app/packages/lib/src/modules/project/views/ProjectVersionsViewTemplate.vue b/web-app/packages/lib/src/modules/project/views/ProjectVersionsViewTemplate.vue index bd36dcc1..247b543a 100644 --- a/web-app/packages/lib/src/modules/project/views/ProjectVersionsViewTemplate.vue +++ b/web-app/packages/lib/src/modules/project/views/ProjectVersionsViewTemplate.vue @@ -11,10 +11,10 @@ SPDX-License-Identifier: AGPL-3.0-only OR LicenseRef-MerginMaps-Commercial
@@ -152,7 +152,7 @@ SPDX-License-Identifier: AGPL-3.0-only OR LicenseRef-MerginMaps-Commercial
+
@@ -188,7 +189,9 @@ export default Vue.extend({ /** Default items per page */ defaultItemsPerPage: Number as PropType, /** Disabled keys (name attribute of rows in vuetify table are keys for items) */ - disabledKeys: { type: Array as PropType, default: () => [] } + disabledKeys: { type: Array as PropType, default: () => [] }, + /** Show pagination */ + showPagination: { type: Boolean, default: true } }, data() { return { diff --git a/web-app/packages/lib/src/modules/project/views/VersionDetailView.vue b/web-app/packages/lib/src/modules/project/views/VersionDetailView.vue index 238ea1c3..4ff5adc5 100644 --- a/web-app/packages/lib/src/modules/project/views/VersionDetailView.vue +++ b/web-app/packages/lib/src/modules/project/views/VersionDetailView.vue @@ -155,7 +155,7 @@ export default Vue.extend({ this.getVersion() }, computed: { - ...mapState('projectModule', ['project']), + ...mapState('projectModule', ['project', 'versions']), colors() { return Colors }, @@ -182,7 +182,7 @@ export default Vue.extend({ }, methods: { getVersion() { - if (!this.project.versions) { + if (!this.versions?.length) { ProjectApi.getProjectVersion( this.project.namespace, this.project.name, @@ -203,9 +203,7 @@ export default Vue.extend({ this.$store.dispatch('notificationModule/error', { text: msg }) }) } else { - this.version = this.project.versions.find( - (v) => v.name === this.version_id - ) + this.version = this.versions.find((v) => v.name === this.version_id) } } } From c2bd01e65eaa958fb39a95275e6aa314d2ab6c14 Mon Sep 17 00:00:00 2001 From: "marcel.kocisek" Date: Tue, 2 May 2023 16:33:50 +0200 Subject: [PATCH 04/22] Added non public paths for history Added cursor for disabled rows in table Added flag showHistory for ProjectViewTemplate --- web-app/packages/app/src/router.js | 6 ++---- .../modules/project/views/ProjectVersionsViewTemplate.vue | 3 ++- .../lib/src/modules/project/views/ProjectViewTemplate.vue | 8 +++++--- web-app/packages/lib/src/modules/user/store.ts | 4 +++- 4 files changed, 12 insertions(+), 9 deletions(-) diff --git a/web-app/packages/app/src/router.js b/web-app/packages/app/src/router.js index ae187b9d..2361185d 100644 --- a/web-app/packages/app/src/router.js +++ b/web-app/packages/app/src/router.js @@ -159,15 +159,13 @@ const router = new Router({ path: 'history', name: 'project-versions', component: ProjectVersionsView, - props: true, - meta: { public: true } + props: true }, { path: 'history/:version_id', name: 'project-versions-detail', component: VersionDetailView, - props: true, - meta: { public: true } + props: true }, { path: 'history/:version_id/:path', diff --git a/web-app/packages/lib/src/modules/project/views/ProjectVersionsViewTemplate.vue b/web-app/packages/lib/src/modules/project/views/ProjectVersionsViewTemplate.vue index 247b543a..ef189194 100644 --- a/web-app/packages/lib/src/modules/project/views/ProjectVersionsViewTemplate.vue +++ b/web-app/packages/lib/src/modules/project/views/ProjectVersionsViewTemplate.vue @@ -130,6 +130,7 @@ SPDX-License-Identifier: AGPL-3.0-only OR LicenseRef-MerginMaps-Commercial icon v-on="on" :disabled="item.disabled" + :style="[disabledRow(item)]" data-cy="project-versions-download-btn" @click=" downloadArchive( @@ -262,7 +263,7 @@ export default Vue.extend({ this.fetchVersions() }, disabledRow(item: ProjectVersionsItem) { - return item.disabled && { opacity: 0.5 } + return item.disabled && { opacity: 0.5, cursor: 'not-allowed' } }, async fetchVersions() { const params: FetchProjectVersionsParams = { diff --git a/web-app/packages/lib/src/modules/project/views/ProjectViewTemplate.vue b/web-app/packages/lib/src/modules/project/views/ProjectViewTemplate.vue index 320565ce..62cba678 100644 --- a/web-app/packages/lib/src/modules/project/views/ProjectViewTemplate.vue +++ b/web-app/packages/lib/src/modules/project/views/ProjectViewTemplate.vue @@ -115,6 +115,7 @@ SPDX-License-Identifier: AGPL-3.0-only OR LicenseRef-MerginMaps-Commercial Settings @@ -193,7 +194,7 @@ SPDX-License-Identifier: AGPL-3.0-only OR LicenseRef-MerginMaps-Commercial