@@ -72,62 +72,65 @@
-
-
- mdi-reload
-
-
-
-
- mdi-plus
-
-
-
-
- save
-
- Save
-
-
+
+
+
+ mdi-reload
+
+
+
+
+ mdi-plus
+
+
+
+
+ save
+
+ Save
+
+
+
-
-
+
+
+
expandRow(rowIndex,rowMeta)"
/>
+
+ expandRow(rowIndex,rowMeta)"
+ />
+
-
+
({
+ extraViewParams: {},
debug: false,
key: 1,
dataLoaded: false,
@@ -692,7 +716,8 @@ export default {
fieldsOrder: this.fieldsOrder,
viewStatus: this.viewStatus,
columnsWidth: this.columnsWidth,
- showSystemFields: this.showSystemFields
+ showSystemFields: this.showSystemFields,
+ extraViewParams: this.extraViewParams
}
if (this.isGallery) {
@@ -1038,6 +1063,9 @@ export default {
isGallery() {
return this.selectedView && this.selectedView.show_as === 'gallery'
},
+ isForm() {
+ return this.selectedView && this.selectedView.show_as === 'form'
+ },
meta() {
return this.$store.state.meta.metas[this.table]
},
diff --git a/packages/nc-gui/components/project/spreadsheet/views/formView.vue b/packages/nc-gui/components/project/spreadsheet/views/formView.vue
new file mode 100644
index 0000000000..523f33fc14
--- /dev/null
+++ b/packages/nc-gui/components/project/spreadsheet/views/formView.vue
@@ -0,0 +1,359 @@
+
+
+
+
+
+
+ Fields
+
+ add all
+ remove all
+
+
+
+
+
+
+ mdi-drag
+
+
+
+
+ Drag and drop field here to hide
+
+
+
+
+ mdi-plus
+
+ Add new field to this table
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
i !== j)">
+ mdi-eye-off-outline
+
+
+
+
+
+
+
+
+
+
+
+ Submit
+
+
+
+
+
+
+
+
+
+
+
diff --git a/packages/nc-gui/mixins/device.js b/packages/nc-gui/mixins/device.js
index dee099f14a..3a782e0168 100644
--- a/packages/nc-gui/mixins/device.js
+++ b/packages/nc-gui/mixins/device.js
@@ -44,7 +44,9 @@ export default {
return process.env.EE
},
_isZh() {
- return ['zh', 'zh-cn', 'zh-hk', 'zh-mo', 'zh-sg', 'zh-tw'].includes((navigator.language || navigator.userLanguage || 'en').toLowerCase())
+ const zhLan = ['zh', 'zh-cn', 'zh-hk', 'zh-mo', 'zh-sg', 'zh-tw']
+ const browserLan = (navigator.languages || [navigator.language || navigator.userLanguage || 'en']).map(v => v.toLowerCase())
+ return zhLan.some(l => browserLan.includes(l))
},
...mapGetters({
_isUIAllowed: 'users/GtrIsUIAllowed'