@mixd-id/web-scaffold 0.1.240411060 → 0.1.240411062
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 +1 -1
- package/src/components/List.vue +5 -2
- package/src/components/PresetSelectorFilterItem.vue +4 -1
- package/src/components/TreeView2.vue +36 -0
- package/src/components/TreeViewItem2.vue +48 -0
- package/src/components/Uploader.vue +3 -2
- package/src/components/VirtualTable.vue +3 -1
- package/src/index.js +2 -0
- package/src/widgets/PresetBar.vue +6 -8
package/package.json
CHANGED
package/src/components/List.vue
CHANGED
|
@@ -137,10 +137,12 @@
|
|
|
137
137
|
:items="dataItems"
|
|
138
138
|
:enumCache="enumCache"
|
|
139
139
|
:freeze-left="freezeLeft"
|
|
140
|
+
:item-class="itemClass"
|
|
140
141
|
@freeze="freeze"
|
|
141
142
|
@unfreeze="unfreeze"
|
|
142
143
|
@scroll-end="loadNext"
|
|
143
|
-
@item-click="onTableItemClick"
|
|
144
|
+
@item-click="onTableItemClick"
|
|
145
|
+
@dragover="(...args) => $emit('dragover', ...args)">
|
|
144
146
|
|
|
145
147
|
<template v-for="(_, slot) in headerSlots" #[slot]="{ item, index }">
|
|
146
148
|
<div :class="getHeader(slot.replace('col-', ''))">
|
|
@@ -281,7 +283,7 @@ import {groupBy, invokeAfterIdle, queueForLater} from "../utils/helpers.mjs";
|
|
|
281
283
|
|
|
282
284
|
export default{
|
|
283
285
|
|
|
284
|
-
emits: [ 'after-load', 'open-preset', 'signal', 'pivot-item-click' ],
|
|
286
|
+
emits: [ 'dragover', 'after-load', 'open-preset', 'signal', 'pivot-item-click' ],
|
|
285
287
|
|
|
286
288
|
inject: [ 'socket', 'toast' ],
|
|
287
289
|
|
|
@@ -322,6 +324,7 @@ export default{
|
|
|
322
324
|
type: String,
|
|
323
325
|
default: "md:p-5 md:gap-3"
|
|
324
326
|
},
|
|
327
|
+
itemClass: String,
|
|
325
328
|
toolbar: {
|
|
326
329
|
type: [ String, Boolean ],
|
|
327
330
|
default: true
|
|
@@ -1,6 +1,5 @@
|
|
|
1
1
|
<template>
|
|
2
2
|
<div class="flex flex-col">
|
|
3
|
-
|
|
4
3
|
<div v-if="type === 'date'" class="flex-1 flex flex-row gap-2">
|
|
5
4
|
<div class="flex-1 flex flex-row gap-2">
|
|
6
5
|
<Dropdown v-model="value.operator"
|
|
@@ -127,6 +126,8 @@ export default{
|
|
|
127
126
|
default: {}
|
|
128
127
|
},
|
|
129
128
|
|
|
129
|
+
enabled: Boolean,
|
|
130
|
+
|
|
130
131
|
type: String,
|
|
131
132
|
|
|
132
133
|
typeParams: Array,
|
|
@@ -169,6 +170,8 @@ export default{
|
|
|
169
170
|
methods: {
|
|
170
171
|
|
|
171
172
|
apply(){
|
|
173
|
+
if(this.enabled === false) return
|
|
174
|
+
|
|
172
175
|
switch(this.type){
|
|
173
176
|
|
|
174
177
|
case 'bool':
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
<template>
|
|
2
|
+
<div :class="$style.comp">
|
|
3
|
+
|
|
4
|
+
<TreeViewItem2 v-for="item in items"
|
|
5
|
+
:item="item"
|
|
6
|
+
:container-class="containerClass">
|
|
7
|
+
<template #default="{ item }">
|
|
8
|
+
<slot :item="item"></slot>
|
|
9
|
+
</template>
|
|
10
|
+
</TreeViewItem2>
|
|
11
|
+
|
|
12
|
+
</div>
|
|
13
|
+
</template>
|
|
14
|
+
|
|
15
|
+
<script setup>
|
|
16
|
+
|
|
17
|
+
import TreeViewItem2 from "./TreeViewItem2.vue";
|
|
18
|
+
|
|
19
|
+
|
|
20
|
+
const { } = defineProps({
|
|
21
|
+
|
|
22
|
+
containerClass: String,
|
|
23
|
+
|
|
24
|
+
items: Array
|
|
25
|
+
|
|
26
|
+
})
|
|
27
|
+
|
|
28
|
+
</script>
|
|
29
|
+
|
|
30
|
+
<style module>
|
|
31
|
+
|
|
32
|
+
.comp {
|
|
33
|
+
@apply flex flex-col gap-1;
|
|
34
|
+
}
|
|
35
|
+
|
|
36
|
+
</style>
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
<template>
|
|
2
|
+
<div :class="$style.comp">
|
|
3
|
+
|
|
4
|
+
<slot name="default" :item="item">
|
|
5
|
+
<div :class="$style.item">
|
|
6
|
+
<label>{{ item.title }}</label>
|
|
7
|
+
</div>
|
|
8
|
+
</slot>
|
|
9
|
+
|
|
10
|
+
<div v-if="(item.items ?? []).length > 0" :class="containerClass ?? $style.subitems">
|
|
11
|
+
<TreeViewItem2 v-for="subItem in item.items"
|
|
12
|
+
:item="subItem"
|
|
13
|
+
:container-class="containerClass">
|
|
14
|
+
<template #default="{ item }">
|
|
15
|
+
<slot :item="item"></slot>
|
|
16
|
+
</template>
|
|
17
|
+
</TreeViewItem2>
|
|
18
|
+
</div>
|
|
19
|
+
|
|
20
|
+
</div>
|
|
21
|
+
</template>
|
|
22
|
+
|
|
23
|
+
<script setup>
|
|
24
|
+
|
|
25
|
+
const { } = defineProps({
|
|
26
|
+
|
|
27
|
+
containerClass: String,
|
|
28
|
+
|
|
29
|
+
item: Object
|
|
30
|
+
})
|
|
31
|
+
|
|
32
|
+
</script>
|
|
33
|
+
|
|
34
|
+
<style module>
|
|
35
|
+
|
|
36
|
+
.comp{
|
|
37
|
+
|
|
38
|
+
}
|
|
39
|
+
|
|
40
|
+
.item{
|
|
41
|
+
@apply bg-text-50 hover:bg-text-100;
|
|
42
|
+
}
|
|
43
|
+
|
|
44
|
+
.subitems {
|
|
45
|
+
@apply ml-4 flex flex-col gap-1 mt-1;
|
|
46
|
+
}
|
|
47
|
+
|
|
48
|
+
</style>
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
<template>
|
|
2
2
|
<div :class="$style.comp" @click="$refs.file.click()">
|
|
3
|
-
<input type="file" :multiple="Boolean(multiple)" ref="file" class="hidden" @change="onUpload"/>
|
|
3
|
+
<input type="file" :multiple="Boolean(multiple)" :accept="accept" ref="file" class="hidden" @change="onUpload"/>
|
|
4
4
|
<slot name="default"></slot>
|
|
5
5
|
</div>
|
|
6
6
|
</template>
|
|
@@ -13,7 +13,8 @@ export default{
|
|
|
13
13
|
|
|
14
14
|
props:{
|
|
15
15
|
|
|
16
|
-
|
|
16
|
+
accept: undefined,
|
|
17
|
+
multiple: undefined,
|
|
17
18
|
|
|
18
19
|
},
|
|
19
20
|
|
|
@@ -89,6 +89,7 @@
|
|
|
89
89
|
<tbody>
|
|
90
90
|
<tr v-for="(item, index) in visibleItems"
|
|
91
91
|
:key="item"
|
|
92
|
+
@dragover="(e) => $emit('dragover', e, item)"
|
|
92
93
|
@mouseover="hover(item, index)" @mouseout="hoverIndex = -1"
|
|
93
94
|
@click="select(item, index)"
|
|
94
95
|
:class="trClass(item, index)">
|
|
@@ -131,6 +132,7 @@
|
|
|
131
132
|
<tbody ref="tbody">
|
|
132
133
|
<tr v-for="(item, index) in visibleItems"
|
|
133
134
|
:key="item"
|
|
135
|
+
@dragover="(e) => $emit('dragover', e, item)"
|
|
134
136
|
@mouseover="hover(item, index)" @mouseout="hoverIndex = -1"
|
|
135
137
|
@click="select(item, index)"
|
|
136
138
|
:class="trClass(item, index)">
|
|
@@ -207,7 +209,7 @@ export default{
|
|
|
207
209
|
|
|
208
210
|
inject: [ 'emitRoot', 'listStyle' ],
|
|
209
211
|
|
|
210
|
-
emits: [ 'freeze', 'unfreeze', 'scroll-end', 'item-click' ],
|
|
212
|
+
emits: [ 'dragover', 'freeze', 'unfreeze', 'scroll-end', 'item-click' ],
|
|
211
213
|
|
|
212
214
|
props:{
|
|
213
215
|
|
package/src/index.js
CHANGED
|
@@ -494,6 +494,8 @@ export default{
|
|
|
494
494
|
app.component('Toast', defineAsyncComponent(() => import("./components/Toast.vue")))
|
|
495
495
|
app.component('TreeView', defineAsyncComponent(() => import("./components/TreeView.vue")))
|
|
496
496
|
app.component('TreeViewItem', defineAsyncComponent(() => import("./components/TreeViewItem.vue")))
|
|
497
|
+
app.component('TreeView2', defineAsyncComponent(() => import("./components/TreeView2.vue")))
|
|
498
|
+
app.component('TreeViewItem2', defineAsyncComponent(() => import("./components/TreeViewItem2.vue")))
|
|
497
499
|
app.component('Uploader', defineAsyncComponent(() => import("./components/Uploader.vue")))
|
|
498
500
|
app.component('VirtualGrid', defineAsyncComponent(() => import("./components/VirtualGrid.vue")))
|
|
499
501
|
app.component('VirtualScroll', defineAsyncComponent(() => import("./components/VirtualScroll.vue")))
|
|
@@ -241,6 +241,7 @@
|
|
|
241
241
|
<div class="flex flex-row" v-for="(filterVal, filterIdx) in filter.value">
|
|
242
242
|
<PresetSelectorFilterItem
|
|
243
243
|
class="flex-1"
|
|
244
|
+
:enabled="filter.enabled"
|
|
244
245
|
:column="column(filter.key)"
|
|
245
246
|
:type="typeOf(column(filter.key).type)"
|
|
246
247
|
:typeParams="typeParamsOf(column(filter.key))"
|
|
@@ -256,12 +257,6 @@
|
|
|
256
257
|
</button>
|
|
257
258
|
</div>
|
|
258
259
|
</div>
|
|
259
|
-
<PresetSelectorFilterItem v-else
|
|
260
|
-
:column="column(filter.key)"
|
|
261
|
-
:type="typeOf(column(filter.key).type)"
|
|
262
|
-
:value="filter"
|
|
263
|
-
:enumCache="enumCache"
|
|
264
|
-
@change="apply()" />
|
|
265
260
|
</div>
|
|
266
261
|
</div>
|
|
267
262
|
</div>
|
|
@@ -788,9 +783,12 @@ export default{
|
|
|
788
783
|
},
|
|
789
784
|
|
|
790
785
|
select(item){
|
|
791
|
-
this.configParams.presetIdx = item.uid
|
|
792
786
|
this.presetBar.view = 2
|
|
793
|
-
|
|
787
|
+
|
|
788
|
+
if(this.configParams.presetIdx !== item.uid){
|
|
789
|
+
this.configParams.presetIdx = item.uid
|
|
790
|
+
this.apply()
|
|
791
|
+
}
|
|
794
792
|
},
|
|
795
793
|
|
|
796
794
|
deselect(){
|