@@ -429,7 +429,7 @@ func syncAttrViewTableColWidth(operation *Operation) (err error) {
429
429
break
430
430
}
431
431
}
432
- case av .LayoutTypeGallery :
432
+ case av .LayoutTypeGallery , av . LayoutTypeKanban :
433
433
return
434
434
}
435
435
@@ -846,6 +846,11 @@ func setAttrViewWrapField(operation *Operation) (err error) {
846
846
for _ , field := range view .Gallery .CardFields {
847
847
field .Wrap = allFieldWrap
848
848
}
849
+ case av .LayoutTypeKanban :
850
+ view .Kanban .WrapField = allFieldWrap
851
+ for _ , field := range view .Kanban .Fields {
852
+ field .Wrap = allFieldWrap
853
+ }
849
854
}
850
855
851
856
err = av .SaveAttributeView (attrView )
@@ -876,6 +881,8 @@ func setAttrViewShowIcon(operation *Operation) (err error) {
876
881
view .Table .ShowIcon = operation .Data .(bool )
877
882
case av .LayoutTypeGallery :
878
883
view .Gallery .ShowIcon = operation .Data .(bool )
884
+ case av .LayoutTypeKanban :
885
+ view .Kanban .ShowIcon = operation .Data .(bool )
879
886
}
880
887
881
888
err = av .SaveAttributeView (attrView )
@@ -1002,6 +1009,8 @@ func setAttrViewCoverFromAssetKeyID(operation *Operation) (err error) {
1002
1009
return
1003
1010
case av .LayoutTypeGallery :
1004
1011
view .Gallery .CoverFromAssetKeyID = operation .KeyID
1012
+ case av .LayoutTypeKanban :
1013
+ view .Kanban .CoverFromAssetKeyID = operation .KeyID
1005
1014
}
1006
1015
1007
1016
err = av .SaveAttributeView (attrView )
@@ -1955,6 +1964,9 @@ func genAttrViewGroups(view *av.View, attrView *av.AttributeView) {
1955
1964
case av .LayoutTypeGallery :
1956
1965
v = av .NewGalleryView ()
1957
1966
v .Gallery = av .NewLayoutGallery ()
1967
+ case av .LayoutTypeKanban :
1968
+ v = av .NewKanbanView ()
1969
+ v .Kanban = av .NewLayoutKanban ()
1958
1970
default :
1959
1971
logging .LogWarnf ("unknown layout type [%s] for group view" , view .LayoutType )
1960
1972
return
@@ -2351,6 +2363,8 @@ func updateAttributeViewColRelation(operation *Operation) (err error) {
2351
2363
v .Table .Columns = append (v .Table .Columns , & av.ViewTableColumn {BaseField : & av.BaseField {ID : operation .BackRelationKeyID }})
2352
2364
case av .LayoutTypeGallery :
2353
2365
v .Gallery .CardFields = append (v .Gallery .CardFields , & av.ViewGalleryCardField {BaseField : & av.BaseField {ID : operation .BackRelationKeyID }})
2366
+ case av .LayoutTypeKanban :
2367
+ v .Kanban .Fields = append (v .Kanban .Fields , & av.ViewKanbanField {BaseField : & av.BaseField {ID : operation .BackRelationKeyID }})
2354
2368
}
2355
2369
}
2356
2370
@@ -2566,6 +2580,8 @@ func (tx *Transaction) doDuplicateAttrViewView(operation *Operation) (ret *TxErr
2566
2580
view = av .NewTableView ()
2567
2581
case av .LayoutTypeGallery :
2568
2582
view = av .NewGalleryView ()
2583
+ case av .LayoutTypeKanban :
2584
+ view = av .NewKanbanView ()
2569
2585
}
2570
2586
2571
2587
view .ID = operation .ID
@@ -2718,6 +2734,10 @@ func addAttrViewView(avID, viewID, blockID string, layout av.LayoutType) (err er
2718
2734
for _ , field := range firstView .Gallery .CardFields {
2719
2735
view .Table .Columns = append (view .Table .Columns , & av.ViewTableColumn {BaseField : & av.BaseField {ID : field .ID }})
2720
2736
}
2737
+ case av .LayoutTypeKanban :
2738
+ for _ , field := range firstView .Kanban .Fields {
2739
+ view .Table .Columns = append (view .Table .Columns , & av.ViewTableColumn {BaseField : & av.BaseField {ID : field .ID }})
2740
+ }
2721
2741
}
2722
2742
case av .LayoutTypeGallery :
2723
2743
view = av .NewGalleryView ()
@@ -2730,6 +2750,22 @@ func addAttrViewView(avID, viewID, blockID string, layout av.LayoutType) (err er
2730
2750
for _ , field := range firstView .Gallery .CardFields {
2731
2751
view .Gallery .CardFields = append (view .Gallery .CardFields , & av.ViewGalleryCardField {BaseField : & av.BaseField {ID : field .ID }})
2732
2752
}
2753
+ case av .LayoutTypeKanban :
2754
+ for _ , field := range firstView .Kanban .Fields {
2755
+ view .Gallery .CardFields = append (view .Gallery .CardFields , & av.ViewGalleryCardField {BaseField : & av.BaseField {ID : field .ID }})
2756
+ }
2757
+ }
2758
+ case av .LayoutTypeKanban :
2759
+ view = av .NewKanbanView ()
2760
+ switch firstView .LayoutType {
2761
+ case av .LayoutTypeTable :
2762
+ for _ , col := range firstView .Table .Columns {
2763
+ view .Kanban .Fields = append (view .Kanban .Fields , & av.ViewKanbanField {BaseField : & av.BaseField {ID : col .ID }})
2764
+ }
2765
+ case av .LayoutTypeKanban :
2766
+ for _ , field := range firstView .Kanban .Fields {
2767
+ view .Kanban .Fields = append (view .Kanban .Fields , & av.ViewKanbanField {BaseField : & av.BaseField {ID : field .ID }})
2768
+ }
2733
2769
}
2734
2770
default :
2735
2771
err = av .ErrWrongLayoutType
@@ -3058,7 +3094,7 @@ func setAttributeViewColumnCalc(operation *Operation) (err error) {
3058
3094
break
3059
3095
}
3060
3096
}
3061
- case av .LayoutTypeGallery :
3097
+ case av .LayoutTypeGallery , av . LayoutTypeKanban :
3062
3098
return
3063
3099
}
3064
3100
@@ -3558,6 +3594,22 @@ func duplicateAttributeViewKey(operation *Operation) (err error) {
3558
3594
break
3559
3595
}
3560
3596
}
3597
+ case av .LayoutTypeKanban :
3598
+ for i , field := range view .Kanban .Fields {
3599
+ if field .ID == key .ID {
3600
+ view .Kanban .Fields = append (view .Kanban .Fields [:i + 1 ], append ([]* av.ViewKanbanField {
3601
+ {
3602
+ BaseField : & av.BaseField {
3603
+ ID : copyKey .ID ,
3604
+ Wrap : field .Wrap ,
3605
+ Hidden : field .Hidden ,
3606
+ Desc : field .Desc ,
3607
+ },
3608
+ },
3609
+ }, view .Kanban .Fields [i + 1 :]... )... )
3610
+ break
3611
+ }
3612
+ }
3561
3613
}
3562
3614
}
3563
3615
@@ -3592,7 +3644,7 @@ func setAttributeViewColWidth(operation *Operation) (err error) {
3592
3644
break
3593
3645
}
3594
3646
}
3595
- case av .LayoutTypeGallery :
3647
+ case av .LayoutTypeGallery , av . LayoutTypeKanban :
3596
3648
return
3597
3649
}
3598
3650
@@ -3638,6 +3690,14 @@ func setAttributeViewColWrap(operation *Operation) (err error) {
3638
3690
allFieldWrap = allFieldWrap && field .Wrap
3639
3691
}
3640
3692
view .Gallery .WrapField = allFieldWrap
3693
+ case av .LayoutTypeKanban :
3694
+ for _ , field := range view .Kanban .Fields {
3695
+ if field .ID == operation .ID {
3696
+ field .Wrap = newWrap
3697
+ }
3698
+ allFieldWrap = allFieldWrap && field .Wrap
3699
+ }
3700
+ view .Kanban .WrapField = allFieldWrap
3641
3701
}
3642
3702
3643
3703
err = av .SaveAttributeView (attrView )
@@ -3678,6 +3738,13 @@ func setAttributeViewColHidden(operation *Operation) (err error) {
3678
3738
break
3679
3739
}
3680
3740
}
3741
+ case av .LayoutTypeKanban :
3742
+ for _ , field := range view .Kanban .Fields {
3743
+ if field .ID == operation .ID {
3744
+ field .Hidden = operation .Data .(bool )
3745
+ break
3746
+ }
3747
+ }
3681
3748
}
3682
3749
3683
3750
err = av .SaveAttributeView (attrView )
@@ -3711,7 +3778,7 @@ func setAttributeViewColPin(operation *Operation) (err error) {
3711
3778
break
3712
3779
}
3713
3780
}
3714
- case av .LayoutTypeGallery :
3781
+ case av .LayoutTypeGallery , av . LayoutTypeKanban :
3715
3782
return
3716
3783
}
3717
3784
@@ -3939,6 +4006,27 @@ func SortAttributeViewViewKey(avID, blockID, keyID, previousKeyID string) (err e
3939
4006
}
3940
4007
}
3941
4008
view .Gallery .CardFields = util .InsertElem (view .Gallery .CardFields , previousIndex , field )
4009
+ case av .LayoutTypeKanban :
4010
+ var field * av.ViewKanbanField
4011
+ for i , kanbanField := range view .Kanban .Fields {
4012
+ if kanbanField .ID == keyID {
4013
+ field = kanbanField
4014
+ curIndex = i
4015
+ break
4016
+ }
4017
+ }
4018
+ if nil == field {
4019
+ return
4020
+ }
4021
+
4022
+ view .Kanban .Fields = append (view .Kanban .Fields [:curIndex ], view .Kanban .Fields [curIndex + 1 :]... )
4023
+ for i , kanbanField := range view .Kanban .Fields {
4024
+ if kanbanField .ID == previousKeyID {
4025
+ previousIndex = i + 1
4026
+ break
4027
+ }
4028
+ }
4029
+ view .Kanban .Fields = util .InsertElem (view .Kanban .Fields , previousIndex , field )
3942
4030
}
3943
4031
3944
4032
err = av .SaveAttributeView (attrView )
@@ -4062,8 +4150,8 @@ func AddAttributeViewKey(avID, keyID, keyName, keyType, keyIcon, previousKeyID s
4062
4150
newField .Wrap = view .Table .WrapField
4063
4151
4064
4152
if "" == previousKeyID {
4065
- if av .LayoutTypeGallery == currentView .LayoutType {
4066
- // 如果当前视图是卡片视图则添加到最后
4153
+ if av .LayoutTypeGallery == currentView .LayoutType || av . LayoutTypeKanban == currentView . LayoutType {
4154
+ // 如果当前视图是卡片或看板视图则添加到最后
4067
4155
view .Table .Columns = append (view .Table .Columns , & av.ViewTableColumn {BaseField : newField })
4068
4156
} else {
4069
4157
view .Table .Columns = append ([]* av.ViewTableColumn {{BaseField : newField }}, view .Table .Columns ... )
@@ -4102,6 +4190,26 @@ func AddAttributeViewKey(avID, keyID, keyName, keyType, keyIcon, previousKeyID s
4102
4190
}
4103
4191
}
4104
4192
}
4193
+
4194
+ if nil != view .Kanban {
4195
+ newField .Wrap = view .Kanban .WrapField
4196
+
4197
+ if "" == previousKeyID {
4198
+ view .Kanban .Fields = append (view .Kanban .Fields , & av.ViewKanbanField {BaseField : newField })
4199
+ } else {
4200
+ added := false
4201
+ for i , field := range view .Kanban .Fields {
4202
+ if field .ID == previousKeyID {
4203
+ view .Kanban .Fields = append (view .Kanban .Fields [:i + 1 ], append ([]* av.ViewKanbanField {{BaseField : newField }}, view .Kanban .Fields [i + 1 :]... )... )
4204
+ added = true
4205
+ break
4206
+ }
4207
+ }
4208
+ if ! added {
4209
+ view .Kanban .Fields = append (view .Kanban .Fields , & av.ViewKanbanField {BaseField : newField })
4210
+ }
4211
+ }
4212
+ }
4105
4213
}
4106
4214
}
4107
4215
@@ -4314,6 +4422,13 @@ func RemoveAttributeViewKey(avID, keyID string, removeRelationDest bool) (err er
4314
4422
break
4315
4423
}
4316
4424
}
4425
+ case av .LayoutTypeKanban :
4426
+ for i , field := range view .Kanban .Fields {
4427
+ if field .ID == removedKey .Relation .BackKeyID {
4428
+ view .Kanban .Fields = append (view .Kanban .Fields [:i ], view .Kanban .Fields [i + 1 :]... )
4429
+ break
4430
+ }
4431
+ }
4317
4432
}
4318
4433
}
4319
4434
}
@@ -4358,6 +4473,15 @@ func RemoveAttributeViewKey(avID, keyID string, removeRelationDest bool) (err er
4358
4473
}
4359
4474
}
4360
4475
}
4476
+
4477
+ if nil != view .Kanban {
4478
+ for i , field := range view .Kanban .Fields {
4479
+ if field .ID == keyID {
4480
+ view .Kanban .Fields = append (view .Kanban .Fields [:i ], view .Kanban .Fields [i + 1 :]... )
4481
+ break
4482
+ }
4483
+ }
4484
+ }
4361
4485
}
4362
4486
4363
4487
for _ , view := range attrView .Views {
0 commit comments