@itfin/components 1.2.110 → 1.2.112

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.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@itfin/components",
3
- "version": "1.2.110",
3
+ "version": "1.2.112",
4
4
  "author": "Vitalii Savchuk <esvit666@gmail.com>",
5
5
  "scripts": {
6
6
  "serve": "vue-cli-service serve",
@@ -27,7 +27,7 @@
27
27
  v-draggable="{ handle: true, payload: { index, column }, mirror: { yAxis:false } }"
28
28
  class="flex-grow-1 d-flex align-items-center itf-board-column__header justify-content-between">
29
29
  <div><slot name="header" :column="column">{{ column[columnNameKey] }}</slot></div>
30
- <div class="text-muted me-1"><slot name="header-addon" :column="column">{{ (groupedItems[column.Id] || []).length }}</slot></div>
30
+ <div class="text-muted me-1"><slot name="header-addon" :column="column" :items="groupedItems[column.Id]">{{ (groupedItems[column.Id] || []).length }}</slot></div>
31
31
  </div>
32
32
  </itf-edit-button>
33
33
  <div v-if="index === columns.length - 1"
@@ -35,17 +35,19 @@
35
35
  <style lang="scss">
36
36
  .scrollable {
37
37
  --itf-table-hover-bg: #f2f2f2;
38
- --table-min-width: 45px;
38
+ --itf-table-min-width: 45px;
39
+ --itf-table-line-height: 35px;
39
40
 
40
41
  body[data-theme="dark"] & {
41
42
  --itf-table-hover-bg: #393b41;
42
43
  }
43
44
 
44
45
  -webkit-overflow-scrolling: touch;
45
- overflow: hidden auto;
46
+ overflow: hidden scroll;
46
47
 
47
48
  &.scrollable-x {
48
- overflow-x: auto;
49
+ overflow-x: scroll;
50
+ padding-right: 4px;
49
51
  }
50
52
  }
51
53
  .last-sticky-column:after {
@@ -43,7 +43,7 @@
43
43
  v-if="column.visible !== false"
44
44
  :data-column="n"
45
45
  :style="`width: ${column.width}px; left: ${column.left}px;`"
46
- :class="{'sticky': column.pinned, 'last-sticky-column': n === lastPinnedIndex}"
46
+ :class="{'sticky': column.pinned, 'last-sticky-column': n === lastPinnedIndex, 'flex-grow-1': column.grow}"
47
47
  class="table-view-item-value d-flex h-100 align-items-stretch px-2">
48
48
  <slot :name="`column.${column.name}`" :item="item" :column="column">
49
49
  <template v-if="editTypes[column.Type]">
@@ -86,8 +86,8 @@
86
86
  height: 100%;
87
87
  display: flex;
88
88
  position: relative;
89
- line-height: 35px;
90
- min-width: var(--table-min-width);
89
+ line-height: var(--itf-table-line-height);
90
+ min-width: var(--itf-table-min-width);
91
91
 
92
92
  &.highlight-drop-column {
93
93
  position: relative;
@@ -137,7 +137,7 @@
137
137
  display: flex;
138
138
  align-items: center;
139
139
  justify-content: center;
140
- min-width: var(--table-min-width);
140
+ min-width: var(--itf-table-min-width);
141
141
  }
142
142
 
143
143
  .table-item-inner .boundary {
@@ -174,9 +174,6 @@
174
174
  .table-small-row .table-view-item {
175
175
  height: var(--table-row-height);
176
176
  }
177
- .vue-recycle-scroller {
178
- position: relative;
179
- }
180
177
  .resize-observer {
181
178
  position: absolute;
182
179
  top: 0;
@@ -198,6 +195,7 @@ import { RecycleScroller } from 'vue-virtual-scroller'
198
195
  import sortBy from 'lodash/sortBy';
199
196
  import PropertyInlineEdit from '../customize/PropertyInlineEdit.vue';
200
197
  import { INLINE_TYPES } from '../customize/constants';
198
+ import 'vue-virtual-scroller/dist/vue-virtual-scroller.css';
201
199
 
202
200
  export default @Component({
203
201
  name: 'itfTableBody',
@@ -142,15 +142,15 @@
142
142
  --group-title-height: 40px;
143
143
  --table-row-height: 36px;
144
144
  --table-small-row-size: var(--table-row-height);
145
- --shadow-area-width: 2px;
145
+ --shadow-area-width: 12px;
146
146
  --indicator-area-width: 38px;
147
147
 
148
148
  flex-direction: column;
149
149
  min-width: 100%;
150
150
  display: flex;
151
151
  width: fit-content;
152
- margin-top: 20px;
153
- margin-bottom: 20px;
152
+ //margin-top: 20px;
153
+ margin-bottom: 20px ;
154
154
 
155
155
  .preline {
156
156
  display: flex;
@@ -222,26 +222,10 @@
222
222
  font-size: 1rem;
223
223
  }
224
224
 
225
- .table-view-wrapper .vue-recycle-scroller__item-wrapper {
225
+ .vue-recycle-scroller__item-wrapper {
226
226
  overflow: visible;
227
227
  }
228
228
 
229
- .vue-recycle-scroller.direction-vertical .vue-recycle-scroller__item-wrapper {
230
- width: 100%;
231
- }
232
-
233
- .table-view-wrapper .vue-recycle-scroller__item-wrapper {
234
- overflow: visible;
235
- }
236
-
237
- .vue-recycle-scroller.ready .vue-recycle-scroller__item-view {
238
- position: absolute;
239
- top: 0;
240
- left: 0;
241
- will-change: transform;
242
- width: 100%;
243
- }
244
-
245
229
  .table-row-template {
246
230
  height: var(--table-small-row-size);
247
231
  }
@@ -259,7 +243,7 @@
259
243
  .table-summary {
260
244
  .shadow-area {
261
245
  border-right: 0;
262
- min-width: var(--table-min-width);
246
+ min-width: var(--itf-table-min-width);
263
247
  }
264
248
  .table-summary-columns {
265
249
  padding-right: .5rem;
@@ -13,7 +13,7 @@
13
13
  data-test="table-header-column"
14
14
  :data-column="n"
15
15
  :data-id="column.Id"
16
- :class="{'sticky': column.pinned, 'last-sticky-column': n === lastPinnedIndex}"
16
+ :class="{'sticky': column.pinned, 'last-sticky-column': n === lastPinnedIndex, 'flex-grow-1': column.grow, [`justify-content-${column.align || 'start'}`]: true}"
17
17
  class="table-view-header-value"
18
18
  :style="`width: ${column.width}px; left: ${column.left}px;`">
19
19
  <div accept-group="tablecolumns"
@@ -96,7 +96,6 @@
96
96
  position: sticky;
97
97
  top: 0;
98
98
  z-index: calc(var(--row-count) + 1);
99
- border-top: 1px solid var(--bs-border-color);
100
99
 
101
100
  .table-header.draggable-mirror{
102
101
  z-index: 100000001;
@@ -113,14 +112,15 @@
113
112
  align-items: center;
114
113
  height: var(--table-row-height);
115
114
  white-space: nowrap;
116
- border-top: 0;
115
+ //border-top: 0;
116
+ border-top: 1px solid var(--bs-border-color);
117
117
  border-left: 0;
118
118
  border-right-width: thin;
119
119
  border-bottom-width: thin;
120
120
  border-style: solid;
121
121
  position: relative;
122
122
  display: flex;
123
- min-width: var(--table-min-width);
123
+ min-width: var(--itf-table-min-width);
124
124
  border-right-color: var(--bs-border-color);
125
125
  border-bottom-color: var(--bs-border-color);
126
126
  background-color: var(--bs-body-bg);