@ticatec/uniface-element 0.1.13 → 0.1.15

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (51) hide show
  1. package/dist/concise-data-table/Column.d.ts +9 -0
  2. package/dist/concise-data-table/Column.js +1 -0
  3. package/dist/concise-data-table/ConciseListTable.svelte +154 -0
  4. package/dist/concise-data-table/ConciseListTable.svelte.d.ts +26 -0
  5. package/dist/concise-data-table/DataCell.svelte +22 -0
  6. package/dist/{data-table/parts/LinkButton.svelte.d.ts → concise-data-table/DataCell.svelte.d.ts} +7 -6
  7. package/dist/concise-data-table/DataRow.svelte +15 -0
  8. package/dist/concise-data-table/DataRow.svelte.d.ts +25 -0
  9. package/dist/concise-data-table/TableOptions.d.ts +11 -0
  10. package/dist/concise-data-table/TableOptions.js +1 -0
  11. package/dist/concise-data-table/index.d.ts +5 -0
  12. package/dist/concise-data-table/index.js +2 -0
  13. package/dist/concise-data-table/utils.d.ts +6 -0
  14. package/dist/concise-data-table/utils.js +38 -0
  15. package/dist/data-table/DataTable.svelte +85 -54
  16. package/dist/data-table/DataTable.svelte.d.ts +7 -5
  17. package/dist/data-table/UniDataTable.d.ts +4 -2
  18. package/dist/data-table/UniDataTable.js +8 -7
  19. package/dist/data-table/lib/ActionsColumn.d.ts +0 -4
  20. package/dist/data-table/lib/HrefLink.d.ts +1 -1
  21. package/dist/data-table/lib/IndicatorColumn.d.ts +2 -11
  22. package/dist/data-table/parts/ActionsPanel.svelte +9 -2
  23. package/dist/data-table/parts/ActionsPanel.svelte.d.ts +1 -1
  24. package/dist/data-table/parts/ActionsRow.svelte +3 -3
  25. package/dist/data-table/parts/ContentPanel.svelte +68 -76
  26. package/dist/data-table/parts/ContentPanel.svelte.d.ts +15 -8
  27. package/dist/data-table/parts/DataCell.svelte +3 -3
  28. package/dist/data-table/parts/DataRow.svelte +2 -4
  29. package/dist/data-table/parts/FixedColumnsPanel.svelte +52 -13
  30. package/dist/data-table/parts/FixedColumnsPanel.svelte.d.ts +12 -5
  31. package/dist/data-table/parts/FixedHeaderPanel.svelte +74 -11
  32. package/dist/data-table/parts/FixedHeaderPanel.svelte.d.ts +8 -2
  33. package/dist/data-table/parts/FixedRow.svelte +30 -17
  34. package/dist/data-table/parts/FixedRow.svelte.d.ts +6 -3
  35. package/dist/data-table/parts/HrefCell.svelte +8 -10
  36. package/dist/data-table/parts/TableHeaderPanel.svelte +32 -63
  37. package/dist/data-table/parts/TableHeaderPanel.svelte.d.ts +6 -10
  38. package/dist/data-table/parts/TableRow.d.ts +0 -10
  39. package/dist/data-table/parts/TableRow.js +0 -29
  40. package/dist/data-table/parts/TableRows.d.ts +0 -2
  41. package/dist/data-table/parts/TableRows.js +0 -2
  42. package/dist/data-table/parts/TextCell.svelte +6 -9
  43. package/dist/data-table/parts/TreeRootCell.svelte +3 -0
  44. package/dist/data-table/parts/TreeRootCell.svelte.d.ts +18 -0
  45. package/dist/pagination-panel/PaginationPanel.svelte +1 -1
  46. package/dist/pagination-panel/PaginationPanel.svelte.d.ts +1 -1
  47. package/dist/ticatec-uniface-web.css +214 -217
  48. package/dist/tree-view/TreeNodeView.svelte +6 -8
  49. package/dist/tree-view/TreeUtils.js +2 -2
  50. package/package.json +5 -1
  51. package/dist/data-table/parts/LinkButton.svelte +0 -19
@@ -189,10 +189,13 @@
189
189
  --uniface-data-table-alter-row-bg: #f7f7f7;
190
190
  --uniface-data-table-header-bg: #F8FAFC;
191
191
  --uniface-data-table-shadow-gap: 2px;
192
+ --uniface-data-table-header-divid-color: #B3BCCA;
193
+ --uniface-data-table-cell-padding: 3px 4px;
192
194
  --uniface-data-table-inline-row-panel-border: 1px solid #F8FAFC;
193
195
  --uniface-data-table-inline-row-panel-bg: #F1F5F9;
194
196
  --uniface-scroll-color: #e1e1e180;
195
- --uniface-data-table-inline-border-color: #e1e1e180;
197
+ --uniface-data-table-inline-border-color: #CBD5E1;
198
+ --uniface-data-table-bg: #ffffff;
196
199
  --uniface-treeview-icon-color: #8AA7FF;
197
200
  --uniface-treeview-icon-hover-color: #0057FE;
198
201
  --uniface-treeview-item-bg: #EEF4FF;
@@ -2534,6 +2537,8 @@
2534
2537
  flex-direction: row;
2535
2538
  gap: 8px;
2536
2539
  align-items: center;
2540
+ height: 100%;
2541
+ box-sizing: border-box;
2537
2542
  }
2538
2543
  .uniface-range-wrapper .uniface-range-editor .divider {
2539
2544
  position: relative;
@@ -3071,7 +3076,6 @@
3071
3076
  box-sizing: border-box;
3072
3077
  overflow-y: auto;
3073
3078
  overflow-x: hidden;
3074
- padding: var(--uniface-navigator-vertical-padding, 16px) 0;
3075
3079
  position: relative;
3076
3080
  user-select: none;
3077
3081
  }
@@ -3081,6 +3085,16 @@
3081
3085
  position: relative;
3082
3086
  background: linear-gradient(to right, transparent 12px, lightgray 12px, lightgray 13px, transparent 13px);
3083
3087
  }
3088
+ .uniface-navigator-panel .navigator-content .uniface-navigator-item:first-child {
3089
+ background-size: 100% 60%; /* 只占元素高度的一半 */
3090
+ background-position: bottom; /* 从底部开始 */
3091
+ background-repeat: no-repeat; /* 防止背景重复 */
3092
+ }
3093
+ .uniface-navigator-panel .navigator-content .uniface-navigator-item:last-child {
3094
+ background-size: 100% 60%; /* 只占元素高度的一半 */
3095
+ background-position: top; /* 从底部开始 */
3096
+ background-repeat: no-repeat; /* 防止背景重复 */
3097
+ }
3084
3098
  .uniface-navigator-panel .navigator-content .uniface-navigator-item.nav-completed {
3085
3099
  color: var(--uniface-navigator-completed-text-color, #374151);
3086
3100
  }
@@ -3114,11 +3128,11 @@
3114
3128
  .uniface-navigator-panel .navigator-content .uniface-navigator-item.active::before {
3115
3129
  content: "";
3116
3130
  position: absolute;
3117
- left: 6px;
3131
+ left: 5px;
3118
3132
  top: 50%;
3119
3133
  transform: translateY(-50%);
3120
- width: 5px;
3121
- height: 5px;
3134
+ width: 15px;
3135
+ height: 15px;
3122
3136
  border: 4px solid var(--uniface-active-label-text-color, #0061FF);
3123
3137
  border-radius: 50%; /* 圆形 */
3124
3138
  background-color: white;
@@ -3619,13 +3633,13 @@
3619
3633
  }
3620
3634
 
3621
3635
  .uniface-data-table {
3622
- width: 100%;
3623
- height: 100%;
3624
3636
  position: relative;
3625
3637
  box-sizing: border-box;
3626
- background: transparent;
3627
3638
  overflow: hidden;
3639
+ background-color: var(--uniface-data-table-bg, #ffffff);
3628
3640
  color: var(--uniface-default-text-color, #374151);
3641
+ display: flex;
3642
+ flex-direction: row;
3629
3643
  }
3630
3644
  .uniface-data-table ::-webkit-scrollbar {
3631
3645
  -webkit-appearance: none;
@@ -3644,97 +3658,25 @@
3644
3658
  background-color: var(--uniface-scroll-color, rgba(225, 225, 225, 0.5019607843));
3645
3659
  -webkit-box-shadow: 0 0 1px rgba(255, 255, 255, 0.5);
3646
3660
  }
3647
- .uniface-data-table > div {
3648
- width: 100%;
3649
- height: 100%;
3661
+ .uniface-data-table .vertical-center {
3650
3662
  position: relative;
3651
- display: flex;
3652
- flex-direction: column;
3663
+ top: 50%;
3664
+ transform: translateY(-50%);
3653
3665
  }
3654
- .uniface-data-table .table-row {
3655
- position: relative;
3656
- display: flex;
3666
+ .uniface-data-table .header-row {
3667
+ flex: 0 0 auto;
3657
3668
  width: 100%;
3658
- flex-wrap: nowrap;
3659
- flex-direction: row;
3660
- align-items: center;
3661
- background-color: var(--uniface-data-table-background-color, #ffffff);
3662
- height: 36px;
3663
- }
3664
- .uniface-data-table .table-row.alternative {
3665
- background-color: var(--uniface-data-table-background-color, #f7f7f7);
3666
- }
3667
- .uniface-data-table.row-border .table-row {
3668
- border-bottom: 1px solid var(--uniface-data-table-row-border-color, #f0f0f0);
3669
- }
3670
- .uniface-data-table .table-header-panel {
3671
3669
  position: relative;
3672
- width: 100%;
3673
- background-color: var(--uniface-data-table-header-bg, #F8FAFC);
3674
- flex: 0 0 auto;
3675
- overflow: hidden;
3670
+ height: var(--uniface-data-table-header-hight, 48px);
3676
3671
  font-weight: 600;
3677
3672
  user-select: none;
3673
+ background-color: var(--uniface-data-table-header-bg, #F8FAFC);
3674
+ border-bottom: 1px solid transparent;
3675
+ color: var(--uniface-data-table-header-color, #374151);
3678
3676
  display: flex;
3679
3677
  flex-direction: row;
3680
- height: 48px;
3681
- align-items: center;
3682
- text-align: center;
3683
3678
  }
3684
- .uniface-data-table .table-header-panel .header-indicator {
3685
- flex: 0 0 auto;
3686
- width: 50px;
3687
- height: 100%;
3688
- border-right: 1px solid var(--uniface-data-table-header-separator-color, #6B7280);
3689
- box-sizing: border-box;
3690
- z-index: 1;
3691
- box-shadow: var(--uniface-data-table-separator-shadow, rgba(60, 64, 67, 0.3) 0px 1px 2px 0px, rgba(60, 64, 67, 0.15) 0px 1px 3px 1px);
3692
- }
3693
- .uniface-data-table .table-header-panel .header-indicator > div {
3694
- padding: 4px;
3695
- height: 100%;
3696
- display: flex;
3697
- flex-direction: row;
3698
- justify-content: center;
3699
- align-items: center;
3700
- }
3701
- .uniface-data-table .table-header-panel .header-actions {
3702
- flex: 0 0 auto;
3703
- border-left: 1px solid var(--uniface-data-table-header-separator-color, #6B7280);
3704
- box-shadow: rgba(60, 64, 67, 0.3) 0px 1px 2px 0px, rgba(60, 64, 67, 0.15) 0px 1px 3px 1px;
3705
- display: block;
3706
- width: 100%;
3707
- font-weight: 600;
3708
- height: 100%;
3709
- position: relative;
3710
- box-sizing: border-box;
3711
- }
3712
- .uniface-data-table .table-header-panel .header-actions > div {
3713
- top: 50%;
3714
- position: relative;
3715
- transform: translateY(-50%);
3716
- }
3717
- .uniface-data-table .table-header-panel .header-row-panel {
3718
- display: flex;
3719
- flex-direction: row;
3720
- position: relative;
3721
- box-sizing: border-box;
3722
- }
3723
- .uniface-data-table .table-header-panel .table-cell {
3724
- text-align: center;
3725
- color: var(--uniface-data-table-header-color, #374151);
3726
- overflow: hidden;
3727
- position: relative;
3728
- flex: 0 0 auto;
3729
- line-height: 28px;
3730
- }
3731
- .uniface-data-table .table-header-panel .table-cell > div {
3732
- text-align: center;
3733
- }
3734
- .uniface-data-table .table-header-panel .table-cell .sortable {
3735
- cursor: pointer;
3736
- }
3737
- .uniface-data-table .table-header-panel .table-cell .header-cell-divider {
3679
+ .uniface-data-table .header-row .header-cell-divider {
3738
3680
  position: absolute;
3739
3681
  top: 0;
3740
3682
  right: 0;
@@ -3742,190 +3684,163 @@
3742
3684
  width: 3px;
3743
3685
  z-index: 2;
3744
3686
  }
3745
- .uniface-data-table .table-header-panel .table-cell .header-cell-divider::before {
3687
+ .uniface-data-table .header-row .header-cell-divider::before {
3746
3688
  content: ""; /* 必须指定伪元素的内容 */
3747
3689
  position: absolute;
3748
3690
  left: 50%; /* 将伪元素水平居中 */
3749
- top: 0;
3750
- bottom: 0;
3691
+ top: 25%;
3692
+ bottom: 25%;
3751
3693
  width: 1px; /* 竖线宽度 */
3752
3694
  background-color: var(--uniface-data-table-header-separator-color, #6B7280); /* 竖线颜色 */
3753
3695
  transform: translateX(-50%); /* 精确居中 */
3754
3696
  }
3755
- .uniface-data-table .table-header-panel .table-cell .header-cell-divider.resizer {
3756
- cursor: ew-resize;
3697
+ .uniface-data-table .header-row .header-cell-divider.resizer {
3698
+ cursor: col-resize;
3757
3699
  }
3758
- .uniface-data-table .table-header-panel .table-cell span {
3759
- display: inline-block;
3760
- vertical-align: center;
3761
- align-self: center;
3700
+ .uniface-data-table.cell-border .header-cell-divider:not(.resizer)::before {
3701
+ display: none;
3762
3702
  }
3763
- .uniface-data-table .data-content-panel {
3703
+ .uniface-data-table .data-cell {
3704
+ height: 100%;
3705
+ border-right: 1px solid transparent;
3706
+ padding: var(--uniface-data-table-cell-padding, 3px 4px);
3764
3707
  position: relative;
3765
- width: 100%;
3766
- flex: 1 1 auto;
3767
- overflow: hidden;
3768
- display: flex;
3769
- flex-direction: row;
3770
3708
  }
3771
- .uniface-data-table .data-content-panel .table-row {
3772
- background-color: var(--uniface-data-table-background-color, #ffffff);
3773
- height: 36px;
3709
+ .uniface-data-table .data-cell .sortable {
3710
+ cursor: pointer;
3774
3711
  }
3775
- .uniface-data-table .data-content-panel .table-row.alternative {
3776
- background-color: var(--uniface-data-table-background-color, #f7f7f7);
3712
+ .uniface-data-table .data-cell:last-child {
3713
+ border-right: none;
3777
3714
  }
3778
- .uniface-data-table .data-content-panel .table-row .table-data-cell {
3779
- flex: 0 0 auto;
3780
- height: 100%;
3781
- position: relative;
3782
- box-sizing: border-box;
3783
- padding: 4px;
3715
+ .uniface-data-table .data-cell > div:first-child {
3716
+ overflow: hidden;
3784
3717
  }
3785
- .uniface-data-table .data-content-panel .table-row .table-data-cell > div {
3718
+ .uniface-data-table .data-row {
3786
3719
  position: relative;
3787
- top: 50%;
3788
- transform: translateY(-50%);
3720
+ display: flex;
3721
+ width: 100%;
3722
+ flex-wrap: nowrap;
3723
+ flex-direction: row;
3724
+ align-items: center;
3725
+ background-color: var(--uniface-data-table-background-color, #ffffff);
3789
3726
  }
3790
- .uniface-data-table .data-content-panel .table-row .table-data-cell .cell-text {
3791
- overflow: hidden;
3727
+ .uniface-data-table .data-row.alternative {
3728
+ background-color: var(--uniface-data-table-alter-row-bg, #f7f7f7);
3792
3729
  }
3793
- .uniface-data-table .data-content-panel .table-row .table-data-cell:first-child {
3794
- padding-left: 8px;
3730
+ .uniface-data-table.row-border .header-row, .uniface-data-table.row-border .data-row {
3731
+ border-bottom: 1px solid var(--uniface-data-table-inline-border-color, #CBD5E1);
3795
3732
  }
3796
- .uniface-data-table .data-content-panel .table-row .table-data-cell:last-child {
3797
- padding: 0;
3733
+ .uniface-data-table.cell-border .data-cell {
3734
+ border-right-color: var(--uniface-data-table-inline-border-color, #CBD5E1);
3798
3735
  }
3799
- .uniface-data-table .data-content-panel .expand-data-row {
3800
- background-color: var(--uniface-data-table-expand-row-bg, #f7f7f7);
3801
- min-height: 32px;
3802
- box-sizing: border-box;
3803
- }
3804
- .uniface-data-table .data-content-panel .fixed-panel, .uniface-data-table .data-content-panel .action-panel {
3805
- flex: 0 0 auto;
3736
+ .uniface-data-table .rows-container {
3737
+ flex: 1 1 auto;
3806
3738
  height: 100%;
3807
- position: relative;
3739
+ width: 100%;
3808
3740
  box-sizing: border-box;
3809
3741
  overflow: hidden;
3810
- display: flex;
3811
- flex-direction: column;
3812
3742
  }
3813
- .uniface-data-table .data-content-panel .fixed-panel .scroll-panel, .uniface-data-table .data-content-panel .action-panel .scroll-panel {
3814
- flex: 1 1 auto;
3815
- height: 100%;
3743
+ .uniface-data-table .rows-container > div {
3816
3744
  width: 100%;
3817
3745
  position: relative;
3818
- overflow: hidden;
3819
3746
  }
3820
- .uniface-data-table .data-content-panel .fixed-panel .scroll-panel > div, .uniface-data-table .data-content-panel .action-panel .scroll-panel > div {
3821
- height: 100%;
3822
- width: 100%;
3747
+ .uniface-data-table .left-fixed-panel, .uniface-data-table .action-panel {
3748
+ flex: 0 0 auto;
3823
3749
  position: relative;
3750
+ box-sizing: border-box;
3751
+ overflow: hidden;
3752
+ display: flex;
3753
+ flex-direction: column;
3824
3754
  }
3825
- .uniface-data-table .data-content-panel .fixed-panel .bottom-mask-overlay, .uniface-data-table .data-content-panel .action-panel .bottom-mask-overlay {
3755
+ .uniface-data-table .left-fixed-panel .bottom-mask-overlay, .uniface-data-table .action-panel .bottom-mask-overlay {
3826
3756
  flex: 0 0 auto;
3827
3757
  width: 100%;
3828
3758
  height: 8px;
3829
3759
  box-sizing: border-box;
3830
- background-color: #ffffff;
3831
- border-top: 1px solid var(--uniface-inner-border-color, #d9d9d9);
3760
+ background-color: var(--uniface-data-table-bg, #ffffff);
3761
+ border-top: 1px solid var(--uniface-data-table-inline-border-color, rgba(225, 225, 225, 0.5019607843));
3832
3762
  }
3833
- .uniface-data-table .data-content-panel .action-panel {
3834
- border-left: 1px solid var(--uniface-inner-border-color, #d9d9d9);
3835
- box-shadow: rgba(60, 64, 67, 0.3) 0px 1px 2px 0px, rgba(60, 64, 67, 0.15) 0px 1px 3px 1px;
3763
+ .uniface-data-table .left-fixed-panel {
3764
+ z-index: 1;
3765
+ border-right: 1px solid var(--uniface-data-table-inline-border-color, rgba(225, 225, 225, 0.5019607843));
3766
+ box-shadow: var(--uniface-data-table-separator-shadow, rgba(60, 64, 67, 0.3) 0px 1px 2px 0px, rgba(60, 64, 67, 0.15) 0px 1px 3px 1px);
3836
3767
  }
3837
- .uniface-data-table .data-content-panel .action-panel .scroll-panel {
3838
- overflow-y: auto;
3768
+ .uniface-data-table .left-fixed-panel .data-cell {
3769
+ flex: 0 0 auto;
3839
3770
  }
3840
- .uniface-data-table .data-content-panel .action-panel > div .operation-row {
3841
- position: relative;
3842
- width: 100%;
3771
+ .uniface-data-table .left-fixed-panel .data-cell:last-child {
3772
+ border-right: none;
3773
+ }
3774
+ .uniface-data-table .left-fixed-panel .indicator-cell {
3843
3775
  display: flex;
3844
- box-sizing: border-box;
3845
- border-bottom: 1px solid #f0f0f0;
3846
3776
  flex-direction: row;
3777
+ justify-content: center;
3847
3778
  align-items: center;
3848
3779
  }
3849
- .uniface-data-table .data-content-panel .action-panel > div .operation-row.alternative {
3850
- background-color: var(--uniface-data-table-background-color, #f7f7f7);
3780
+ .uniface-data-table .left-fixed-panel .indicator-cell .expand-icon {
3781
+ display: none;
3782
+ color: var(--uniface-hover-item-color, #42A5F5);
3783
+ font-size: 14px;
3784
+ width: 16px;
3785
+ position: absolute;
3786
+ right: 4px;
3787
+ cursor: pointer;
3851
3788
  }
3852
- .uniface-data-table .data-content-panel .action-panel > div .operation-row > div:first-child {
3853
- width: 100%;
3854
- padding: 2px 4px;
3855
- box-sizing: border-box;
3856
- overflow: hidden;
3857
- white-space: nowrap;
3789
+ .uniface-data-table .left-fixed-panel .indicator-cell:hover .expand-icon {
3790
+ display: block;
3858
3791
  }
3859
- .uniface-data-table .data-content-panel .fixed-panel {
3860
- width: 50px;
3861
- border-right: 1px solid var(--uniface-inner-border-color, #d9d9d9);
3792
+ .uniface-data-table .action-panel {
3862
3793
  z-index: 1;
3863
- box-shadow: rgba(60, 64, 67, 0.3) 0px 1px 2px 0px, rgba(60, 64, 67, 0.15) 0px 2px 6px 2px;
3864
- overflow: hidden;
3794
+ border-left: 1px solid var(--uniface-data-table-inline-border-color, rgba(225, 225, 225, 0.5019607843));
3795
+ box-shadow: var(--uniface-data-table-separator-shadow, rgba(60, 64, 67, 0.3) 0px 1px 2px 0px, rgba(60, 64, 67, 0.15) 0px 1px 3px 1px);
3865
3796
  }
3866
- .uniface-data-table .data-content-panel .fixed-panel .indicator-cell {
3867
- position: relative;
3868
- width: 100%;
3797
+ .uniface-data-table .action-panel .header-row {
3798
+ display: block;
3799
+ text-align: center;
3800
+ }
3801
+ .uniface-data-table .action-panel .data-row .action-cell {
3869
3802
  display: flex;
3870
- padding: 0 6px 0 3px;
3871
- box-sizing: border-box;
3872
3803
  flex-direction: row;
3873
3804
  align-items: center;
3805
+ width: max-content;
3806
+ height: 100%;
3807
+ overflow-x: auto;
3808
+ white-space: nowrap;
3809
+ position: relative;
3874
3810
  }
3875
- .uniface-data-table .data-content-panel .fixed-panel .indicator-cell.alternative {
3876
- background-color: var(--uniface-data-table-background-color, #f7f7f7);
3877
- }
3878
- .uniface-data-table .data-content-panel .fixed-panel .indicator-cell input {
3879
- flex: 0 0 auto;
3811
+ .uniface-data-table.row-border .table-row {
3812
+ border-bottom: 1px solid var(--uniface-data-table-row-border-color, #f0f0f0);
3880
3813
  }
3881
- .uniface-data-table .data-content-panel .fixed-panel .indicator-cell span {
3814
+ .uniface-data-table .data-content-panel {
3815
+ position: relative;
3816
+ width: 100%;
3882
3817
  flex: 1 1 auto;
3883
- display: inline-block;
3884
- text-align: center;
3885
- }
3886
- .uniface-data-table .data-content-panel .action-button {
3887
- display: inline-block;
3888
- cursor: pointer;
3889
- color: var(--uniface-button-primary-background-color, #42A5F5);
3890
- box-sizing: border-box;
3891
- padding: 2px 4px;
3892
- text-decoration: none;
3818
+ overflow: hidden;
3819
+ display: flex;
3820
+ flex-direction: column;
3893
3821
  }
3894
- .uniface-data-table .data-content-panel .action-button:hover {
3895
- font-weight: 600;
3822
+ .uniface-data-table .data-content-panel .data-cell {
3823
+ flex: 0 0 auto;
3896
3824
  }
3897
- .uniface-data-table .data-content-panel .action-button:active {
3825
+ .uniface-data-table .data-content-panel .data-cell > div:first-child {
3898
3826
  position: relative;
3899
- top: 1px;
3827
+ top: 50%;
3828
+ transform: translateY(-50%);
3900
3829
  }
3901
- .uniface-data-table .data-content-panel .data-table-popover {
3830
+ .uniface-data-table .data-content-panel .header-row > div {
3902
3831
  position: relative;
3903
- z-index: 50;
3904
- }
3905
- .uniface-data-table .data-content-panel .data-table-popover .contents-wrapper {
3906
- position: absolute;
3907
- transition: none;
3908
- display: block;
3909
- }
3910
- .uniface-data-table .data-content-panel .data-table-popover .contents-wrapper .contents {
3911
- background: var(--uniface-app-background-color, #ffffff);
3912
- box-shadow: rgba(99, 99, 99, 0.2) 0 2px 8px 0;
3913
- padding-top: 0;
3914
- opacity: 1;
3915
- transform: scale(1);
3916
- display: block;
3832
+ height: 100%;
3833
+ display: flex;
3834
+ flex-direction: row;
3835
+ align-items: center;
3917
3836
  }
3918
- .uniface-data-table .data-content-panel .data-table-popover .contents-wrapper .contents .contents-inner {
3919
- overflow: auto;
3837
+ .uniface-data-table .data-content-panel .header-row .data-cell {
3838
+ text-align: center !important;
3920
3839
  }
3921
- .uniface-data-table .data-content-panel .data-table-popover .contents-wrapper .contents .action-popover {
3922
- padding: 0 4px;
3840
+ .uniface-data-table .data-content-panel .expand-data-row {
3841
+ background-color: var(--uniface-data-table-expand-row-bg, #f7f7f7);
3842
+ min-height: 32px;
3923
3843
  box-sizing: border-box;
3924
- line-height: 1.5em;
3925
- cursor: pointer;
3926
- }
3927
- .uniface-data-table .data-content-panel .data-table-popover .contents-wrapper .contents .action-popover:hover {
3928
- background-color: #f7f7f7;
3929
3844
  }
3930
3845
  .uniface-data-table .data-content-panel .data-view-panel {
3931
3846
  flex: 1 1 auto;
@@ -4064,6 +3979,88 @@
4064
3979
  width: fit-content;
4065
3980
  }
4066
3981
 
3982
+ :root {
3983
+ --uniface-concise-table-primary-color: #333;
3984
+ --uniface-concise-table-primary-background-color: #ffffff;
3985
+ --uniface-concise-table-out-border: #333;
3986
+ --uniface-concise-table-header-background: #E1F5FE;
3987
+ --uniface-concise-table-header-color: #333;
3988
+ --uniface-concise-table-header-line-color: #fff;
3989
+ --uniface-concise-table-data-line-color: #7f7f7f;
3990
+ --uniface-concise-table-fixed-columns-background: #E0E0E0;
3991
+ --uniface-concise-table-bg: unset;
3992
+ }
3993
+
3994
+ .uniface-concise-datatable {
3995
+ width: 100%;
3996
+ height: 100%;
3997
+ overflow: hidden;
3998
+ display: flex;
3999
+ flex-direction: column;
4000
+ color: var(--uniface-concise-table-bg, unset);
4001
+ }
4002
+ .uniface-concise-datatable .table-container {
4003
+ display: flex;
4004
+ flex-direction: column;
4005
+ height: 100%;
4006
+ width: 100%;
4007
+ overflow: hidden;
4008
+ }
4009
+ .uniface-concise-datatable .table-row {
4010
+ display: flex;
4011
+ width: 100%;
4012
+ position: relative;
4013
+ align-items: center;
4014
+ }
4015
+ .uniface-concise-datatable .table-row .data-cell {
4016
+ overflow: hidden;
4017
+ text-overflow: ellipsis;
4018
+ white-space: nowrap;
4019
+ padding: 2px 4px;
4020
+ }
4021
+ .uniface-concise-datatable .table-header {
4022
+ background-color: #f5f5f5;
4023
+ padding: 0;
4024
+ flex-shrink: 0;
4025
+ z-index: 10;
4026
+ user-select: none;
4027
+ }
4028
+ .uniface-concise-datatable .table-header .table-row {
4029
+ font-weight: 600;
4030
+ }
4031
+ .uniface-concise-datatable .table-header .table-row .data-cell {
4032
+ text-align: center !important;
4033
+ }
4034
+ .uniface-concise-datatable .table-body-container {
4035
+ flex: 1;
4036
+ overflow-y: auto;
4037
+ overflow-x: hidden;
4038
+ }
4039
+ .uniface-concise-datatable .table-body-container .table-body {
4040
+ width: 100%;
4041
+ }
4042
+ .uniface-concise-datatable .table-body-container .table-row {
4043
+ cursor: pointer;
4044
+ }
4045
+ .uniface-concise-datatable .table-body-container .table-row.alternative {
4046
+ background-color: var(--uniface-concise-table-row-alter-bg, #F8FAFC);
4047
+ color: var(--uniface-concise-table-row-alter-color, #374151);
4048
+ }
4049
+ .uniface-concise-datatable .table-body-container .table-row:hover {
4050
+ background-color: #f9f9f9;
4051
+ }
4052
+ .uniface-concise-datatable .table-body-container.auto-scroll {
4053
+ overflow-y: hidden;
4054
+ }
4055
+
4056
+ html {
4057
+ box-sizing: border-box;
4058
+ }
4059
+
4060
+ *, *:before, *:after {
4061
+ box-sizing: inherit;
4062
+ }
4063
+
4067
4064
  .uniface-mask, .uniface-mask-overlay {
4068
4065
  position: absolute;
4069
4066
  top: 0;
@@ -72,16 +72,14 @@
72
72
  <div class="node-item" class:selected={activeNode===node} on:click={handleNodeClick} aria-hidden="true"
73
73
  on:contextmenu={handleContextMenu}>
74
74
  <div class="item-icon">
75
- {#if loading}
76
- <img alt="" style="cursor: default" src={iconLoading}/>
77
- {:else }
78
- <span aria-hidden="true" on:click={handleNodeIconClick}>{expanded ? '▼' : '▶'}</span>
75
+ {#if isBranch()}
76
+ {#if loading}
77
+ <img alt="" style="cursor: default" src={iconLoading}/>
78
+ {:else }
79
+ <span aria-hidden="true" on:click={handleNodeIconClick}>{expanded ? '▼' : '▶'}</span>
80
+ {/if}
79
81
  {/if}
80
82
  </div>
81
- <div class="item-icon" style="margin-left: 4px;">
82
- <i class={isBranch() ? "uniface-icon-folder" : "uniface-icon-file"}
83
- aria-hidden="true"></i>
84
- </div>
85
83
  <span class="item-text">{node.text}</span>
86
84
  </div>
87
85
  {#if expanded && node.children}
@@ -24,7 +24,7 @@ const buildTreeNode = (list, idKey, joinKey, textField, valueField, isRoot, sort
24
24
  else {
25
25
  let parent = map.get(item[joinKey]);
26
26
  if (parent != null) {
27
- parent.children = [...parent.children, node];
27
+ parent.children = [...(parent.children ?? []), node];
28
28
  node.parent = parent;
29
29
  map.set(item[idKey], node);
30
30
  }
@@ -36,7 +36,7 @@ const buildTreeNode = (list, idKey, joinKey, textField, valueField, isRoot, sort
36
36
  else {
37
37
  let parent = map.get(item[joinKey]);
38
38
  if (parent != null) {
39
- parent.children = [...parent.children, item];
39
+ parent.children = [...(parent.children ?? []), item];
40
40
  node.parent = parent;
41
41
  map.set(item[idKey], node);
42
42
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@ticatec/uniface-element",
3
- "version": "0.1.13",
3
+ "version": "0.1.15",
4
4
  "description": "uniface web elements",
5
5
  "scripts": {
6
6
  "dev": "vite dev",
@@ -100,6 +100,10 @@
100
100
  "types": "./dist/common/FullscreenOverlay.svelte.d.ts",
101
101
  "import": "./dist/common/FullscreenOverlay.svelte"
102
102
  },
103
+ "./ConciseDataTable": {
104
+ "types": "./dist/concise-data-table/index.d.ts",
105
+ "import": "./dist/concise-data-table/index.js"
106
+ },
103
107
  "./PromptsTextEditor": {
104
108
  "types": "./dist/prompts-text-editor/index.d.ts",
105
109
  "import": "./dist/prompts-text-editor/index.js"
@@ -1,19 +0,0 @@
1
- <script lang="ts">
2
- export let text;
3
- export let action;
4
- export let style: string = '';
5
-
6
- let silent: boolean = false;
7
-
8
- const handleButtonClick = (e) => {
9
- if (!silent) {
10
- silent = true;
11
- setTimeout(()=>{silent=false}, 500);
12
- action();
13
- }
14
- }
15
-
16
- </script>
17
- <a {style} class="action-button" href="javascript:void(0)" on:click={handleButtonClick}>
18
- <span>{text}</span>
19
- </a>