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 @@
-
+
+[](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 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {{ header.icon }}
+
+
+ Added
+
+
+
+
+
+ {{ header.icon }}
+
+
+ Deleted
+
+
+
+
+
+ {{ header.icon }}
+
+
+ Modified
+
+
+
+
+
+
+
+ {{
+ item.created | timediff
+ }}
+
+ {{ item.created | datetime }}
+
+
+
+ {{ item.author }}
+
+
+
+ {{ item.name }}
+
+
+
+
+
+ {{
+ item.changes.added.length
+ }}
+
+
+
+
+ {{
+ item.changes.removed.length
+ }}
+
+
+
+
+ {{
+ item.changes.updated.length
+ }}
+
+
+
+ {{
+ item.project_size | filesize
+ }}
+
+
+
+
+
+ archive
+
+
+ Download Project Version {{ item.name }} (ZIP)
+
+
+
+
+
+
+
+
+
+
+
+
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