feat: kanban view (#903)

* feat: enable kanban button on nav drawer

Signed-off-by: Wing-Kam Wong <wingkwong.code@gmail.com>

* refak: move conditions to isKanban

Signed-off-by: Wing-Kam Wong <wingkwong.code@gmail.com>

* wip: add basic layout & integrate with view data

Signed-off-by: Wing-Kam Wong <wingkwong.code@gmail.com>

* fix: add missing components

Signed-off-by: Wing-Kam Wong <wingkwong.code@gmail.com>

* feat: emit expandForm

Signed-off-by: Wing-Kam Wong <wingkwong.code@gmail.com>

* feat: add boolean cell for kanban card

Signed-off-by: Wing-Kam Wong <wingkwong.code@gmail.com>

* fix: add :disable to boollean cell

Signed-off-by: Wing-Kam Wong <wingkwong.code@gmail.com>

* style: kanban card

Signed-off-by: Wing-Kam Wong <wingkwong.code@gmail.com>

* feat: enable kanban share view on drawer

Signed-off-by: Wing-Kam Wong <wingkwong.code@gmail.com>

* fix: share links

Signed-off-by: Wing-Kam Wong <wingkwong.code@gmail.com>

* wip: kanban shared page

Signed-off-by: Wing-Kam Wong <wingkwong.code@gmail.com>

* wip: implement updateBlock logic

Signed-off-by: Wing-Kam Wong <wingkwong.code@gmail.com>

* wip: reload kanban view after drag n drop

Signed-off-by: Wing-Kam Wong <wingkwong.code@gmail.com>

* refak: kanban view

Signed-off-by: Wing-Kam Wong <wingkwong.code@gmail.com>

* fix: update CsvExportImport path

Signed-off-by: Wing-Kam Wong <wingkwong.code@gmail.com>

* feat: add grouping field for kanban view

Signed-off-by: Wing-Kam Wong <wingkwong.code@gmail.com>

* feat: add uncategorized stack

Signed-off-by: Wing-Kam Wong <wingkwong.code@gmail.com>

* style: match stack title color with that of grouping field

Signed-off-by: Wing-Kam Wong <wingkwong.code@gmail.com>

* style: kanban view

Signed-off-by: Wing-Kam Wong <wingkwong.code@gmail.com>

* feat: implement groupingField change logic

Signed-off-by: Wing-Kam Wong <wingkwong.code@gmail.com>

* feat: watch data prop change

Signed-off-by: Wing-Kam Wong <wingkwong.code@gmail.com>

* style: fix center title n padding

Signed-off-by: Wing-Kam Wong <wingkwong.code@gmail.com>

* wip: add footer

Signed-off-by: Wing-Kam Wong <wingkwong.code@gmail.com>

* test(cypress): include kanban viewTest

Signed-off-by: Wing-Kam Wong <wingkwong.code@gmail.com>

* feat: add insertNewRow logic to kanban view

Signed-off-by: Wing-Kam Wong <wingkwong.code@gmail.com>

* feat: add new stack column

Signed-off-by: Wing-Kam Wong <wingkwong.code@gmail.com>

* feat: include loadTableData

Signed-off-by: Wing-Kam Wong <wingkwong.code@gmail.com>

* fix: reload issue

Signed-off-by: Wing-Kam Wong <wingkwong.code@gmail.com>

* wip: fetch data using api

Signed-off-by: Wing-Kam Wong <wingkwong.code@gmail.com>

* feat: add api filtering logic

Signed-off-by: Wing-Kam Wong <wingkwong.code@gmail.com>

* fix: inconsistent content

Signed-off-by: Wing-Kam Wong <wingkwong.code@gmail.com>

* chore: merge from upstream master

Signed-off-by: Wing-Kam Wong <wingkwong.code@gmail.com>

* chore: hide new stack button

Signed-off-by: Wing-Kam Wong <wingkwong.code@gmail.com>

* feat: populate the grouping field to new record for kanban

Signed-off-by: Wing-Kam Wong <wingkwong.code@gmail.com>

* chore: hide pagination in kanban view

Signed-off-by: Wing-Kam Wong <wingkwong.code@gmail.com>

* style: display add new record as an icon

Signed-off-by: Wing-Kam Wong <wingkwong.code@gmail.com>

* feat: add numbers of records under each stack

Signed-off-by: Wing-Kam Wong <wingkwong.code@gmail.com>

* fix: missing uncategorized records

Signed-off-by: Wing-Kam Wong <wingkwong.code@gmail.com>

* fix: kanban preset value issue

Signed-off-by: Wing-Kam Wong <wingkwong.code@gmail.com>

* fix: kanban layout & 0 record issue

Signed-off-by: Wing-Kam Wong <wingkwong.code@gmail.com>

* chore: set toast position

Signed-off-by: Wing-Kam Wong <wingkwong.code@gmail.com>

* fix: lint

Signed-off-by: Wing-Kam Wong <wingkwong.code@gmail.com>

* feat: add v-skeleton-loader

Signed-off-by: Wing-Kam Wong <wingkwong.code@gmail.com>

* chore: rm toast if there is no grouping column

Signed-off-by: Wing-Kam Wong <wingkwong.code@gmail.com>

* fix: remove :loading

Signed-off-by: Wing-Kam Wong <wingkwong.code@gmail.com>

* refak: move kanban logic to rowsXcDataTable

Signed-off-by: Wing-Kam Wong <wingkwong.code@gmail.com>

* refak: update kanban block logic

Signed-off-by: Wing-Kam Wong <wingkwong.code@gmail.com>

* refak: remove unused code

Signed-off-by: Wing-Kam Wong <wingkwong.code@gmail.com>

* fix: update kanban ui for status and grouping field

Signed-off-by: Wing-Kam Wong <wingkwong.code@gmail.com>

* refak: move set kanban logic to rowsXcDataTable

Signed-off-by: Wing-Kam Wong <wingkwong.code@gmail.com>

* fix: new kanban record issue

Signed-off-by: Wing-Kam Wong <wingkwong.code@gmail.com>

* feat: infinite scrolling on kanban view

Signed-off-by: Wing-Kam Wong <wingkwong.code@gmail.com>

* refak: remove updateKanbanBlock

Signed-off-by: Wing-Kam Wong <wingkwong.code@gmail.com>

* fix: splash issue

Signed-off-by: Wing-Kam Wong <wingkwong.code@gmail.com>

* fix: empty kanban view

Signed-off-by: Wing-Kam Wong <wingkwong.code@gmail.com>

* chore: move skeleton-loader to rowsXcDataTable.vue

Signed-off-by: Wing-Kam Wong <wingkwong.code@gmail.com>

* fix: avoid reload after saving in expanded form

Signed-off-by: Wing-Kam Wong <wingkwong.code@gmail.com>

* refak: remove unused clonedBlock

Signed-off-by: Wing-Kam Wong <wingkwong.code@gmail.com>

* fix: handle composite primary key

Signed-off-by: Wing-Kam Wong <wingkwong.code@gmail.com>

* fix: kanban refresh issue

Signed-off-by: Wing-Kam Wong <wingkwong.code@gmail.com>

* fix: update reload logic for kanban

Signed-off-by: Wing-Kam Wong <wingkwong.code@gmail.com>

* feat: add total number of records for each kanban stack

Signed-off-by: Wing-Kam Wong <wingkwong.code@gmail.com>

* fix: kanban display issue

Signed-off-by: Wing-Kam Wong <wingkwong.code@gmail.com>

* wip: kanban share view

Signed-off-by: Wing-Kam Wong <wingkwong.code@gmail.com>

* fix: insert new row issue

Signed-off-by: Wing-Kam Wong <wingkwong.code@gmail.com>

* fix: missing data after reload

Signed-off-by: Wing-Kam Wong <wingkwong.code@gmail.com>

* chore: temporarily disable share view for kanban view

Signed-off-by: Wing-Kam Wong <wingkwong.code@gmail.com>

* chore: disable kanban viewTest temporarily

Signed-off-by: Wing-Kam Wong <wingkwong.code@gmail.com>
This commit is contained in:
աɨռɢӄաօռɢ
2022-01-03 21:10:30 +08:00
committed by GitHub
parent aff5df2a49
commit cfabc58456
14 changed files with 1131 additions and 208 deletions

View File

@@ -77,6 +77,7 @@ export default {
if (!this.valid) { return }
let showFields = null
let attachmentCol
let singleSelectCol
if (this.show_as === 'gallery') {
showFields = { [this.primaryValueColumn]: true }
attachmentCol = this.meta.columns.find(c => c.uidt === 'Attachment')
@@ -90,6 +91,19 @@ export default {
})
}
if (this.show_as === 'kanban') {
showFields = { [this.primaryValueColumn]: true }
singleSelectCol = this.meta.columns.find(c => c.uidt === 'SingleSelect')
if (singleSelectCol) {
showFields[singleSelectCol.cn] = true
}
this.meta.columns.forEach((c) => {
if (c.pk) {
showFields[c.cn] = true
}
})
}
this.loading = true
try {
const viewMeta = await this.sqlOp({
@@ -99,6 +113,7 @@ export default {
query_params: {
showFields,
coverImageField: attachmentCol ? attachmentCol._cn : '',
groupingField: singleSelectCol ? singleSelectCol._cn : '',
...this.queryParams
},
parent_model_title: this.table,