@mixd-id/web-scaffold 0.1.230406343 → 0.1.230406345
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/VirtualTable.vue +1 -1
- package/src/index.js +3 -0
- package/src/utils/dashboard.js +33 -2
- package/src/widgets/Dashboard/BarChart.vue +31 -3
- package/src/widgets/Dashboard/BarChartSetting.vue +5 -0
- package/src/widgets/Dashboard/Doughnut.vue +17 -3
- package/src/widgets/Dashboard/DoughnutSetting.vue +5 -0
- package/src/widgets/Dashboard/Metric.vue +10 -2
- package/src/widgets/Dashboard/MetricSetting.vue +5 -0
- package/src/widgets/Dashboard/Pie.vue +17 -15
- package/src/widgets/Dashboard/PieSetting.vue +5 -0
- package/src/widgets/Dashboard/VirtualTableSetting.vue +5 -0
- package/src/widgets/Dashboard.vue +12 -2
- package/src/widgets/WebPageBuilder4/GridSetting.vue +108 -95
package/package.json
CHANGED
|
@@ -6,7 +6,7 @@
|
|
|
6
6
|
<thead>
|
|
7
7
|
<tr>
|
|
8
8
|
<th v-for="column in visibleColumns" :style="thStyle(column)" :class="thClass(column)"
|
|
9
|
-
v-tooltip="
|
|
9
|
+
v-tooltip="column.tooltip">
|
|
10
10
|
<slot v-if="$slots['col-' + column.key]" :name="'col-' + column.key" :column="column"></slot>
|
|
11
11
|
<div v-else :class="headerColumnClass(column)">
|
|
12
12
|
<span>{{ column.label2 ? column.label2 : (column.label ?? column.key) }}</span>
|
package/src/index.js
CHANGED
package/src/utils/dashboard.js
CHANGED
|
@@ -1,7 +1,38 @@
|
|
|
1
1
|
const {presetToSequelizeList} = require("./preset-selector");
|
|
2
2
|
|
|
3
3
|
const backgroundColors = [
|
|
4
|
-
|
|
4
|
+
"#FF5733", // Bright Red
|
|
5
|
+
"#33FF57", // Bright Green
|
|
6
|
+
"#3357FF", // Bright Blue
|
|
7
|
+
"#FFC300", // Bright Yellow
|
|
8
|
+
"#28B463", // Emerald Green
|
|
9
|
+
"#2874A6", // Deep Blue
|
|
10
|
+
"#F39C12", // Orange
|
|
11
|
+
"#8E44AD", // Purple
|
|
12
|
+
"#1ABC9C", // Aqua
|
|
13
|
+
"#3498DB", // Sky Blue
|
|
14
|
+
"#2ECC71", // Green
|
|
15
|
+
"#F1C40F", // Yellow
|
|
16
|
+
"#34495E", // Dark Slate
|
|
17
|
+
"#7D3C98", // Amethyst
|
|
18
|
+
"#16A085", // Teal
|
|
19
|
+
"#E67E22", // Carrot Orange
|
|
20
|
+
"#2C3E50", // Dark Blue
|
|
21
|
+
"#D35400", // Pumpkin Orange
|
|
22
|
+
"#7FB3D5", // Light Blue
|
|
23
|
+
"#B03A2E", // Rust
|
|
24
|
+
"#1F618D", // Steel Blue
|
|
25
|
+
"#A93226", // Dark Red
|
|
26
|
+
"#48C9B0", // Light Teal
|
|
27
|
+
"#E74C3C", // Red
|
|
28
|
+
"#AF7AC5", // Lavender
|
|
29
|
+
"#45B39D", // Seafoam
|
|
30
|
+
"#5D6D7E", // Gray Blue
|
|
31
|
+
"#52BE80", // Light Green
|
|
32
|
+
"#F5B041", // Saffron
|
|
33
|
+
"#BDC3C7" // Light Gray
|
|
34
|
+
|
|
35
|
+
/*'#5D9CEC',
|
|
5
36
|
'#A0D468',
|
|
6
37
|
'#FFCE54',
|
|
7
38
|
'#FC6E51',
|
|
@@ -10,7 +41,7 @@ const backgroundColors = [
|
|
|
10
41
|
'#4FC1E9',
|
|
11
42
|
'#FFCE54',
|
|
12
43
|
'#ED5565',
|
|
13
|
-
'#EC87C0'
|
|
44
|
+
'#EC87C0'*/
|
|
14
45
|
]
|
|
15
46
|
|
|
16
47
|
const getModelFromDatasource = async (datasource, opt) => {
|
|
@@ -12,8 +12,8 @@
|
|
|
12
12
|
<div v-if="yAxeMultiple" class="flex flex-row justify-center gap-1">
|
|
13
13
|
<div v-for="(yLegend, idx) in yLegends"
|
|
14
14
|
class="p-0.5 px-1 rounded-lg text-black cursor-default text-xs w-[50px] text-center text-ellipsis overflow-hidden whitespace-nowrap capitalize"
|
|
15
|
-
:style="{ backgroundColor:
|
|
16
|
-
{{ (yLegend ?? '').toString().split(' ')[0].toLowerCase() }}
|
|
15
|
+
:style="{ backgroundColor:yLegend.color }">
|
|
16
|
+
{{ (yLegend.key ?? '').toString().split(' ')[0].toLowerCase() }}
|
|
17
17
|
</div>
|
|
18
18
|
</div>
|
|
19
19
|
|
|
@@ -24,6 +24,7 @@
|
|
|
24
24
|
|
|
25
25
|
import {Bar} from 'vue-chartjs'
|
|
26
26
|
import Chart from 'chart.js/auto'
|
|
27
|
+
import { color } from 'chart.js/helpers'
|
|
27
28
|
import {useDatasource} from "../../stores/datasource";
|
|
28
29
|
|
|
29
30
|
export default{
|
|
@@ -42,7 +43,22 @@ export default{
|
|
|
42
43
|
},
|
|
43
44
|
|
|
44
45
|
chartData(){
|
|
45
|
-
|
|
46
|
+
if(!this.value?.datasets)
|
|
47
|
+
return { labels:[], datasets:[] }
|
|
48
|
+
|
|
49
|
+
return {
|
|
50
|
+
labels: this.value?.labels ?? [],
|
|
51
|
+
datasets: this.value.datasets.map(_ => {
|
|
52
|
+
return {
|
|
53
|
+
..._,
|
|
54
|
+
borderWidth: 1,
|
|
55
|
+
borderColor: function(context, options) {
|
|
56
|
+
const hex = options.color;
|
|
57
|
+
return color(hex).darken(0.5).rgbString()
|
|
58
|
+
}
|
|
59
|
+
}
|
|
60
|
+
})
|
|
61
|
+
}
|
|
46
62
|
},
|
|
47
63
|
|
|
48
64
|
chartOptions(){
|
|
@@ -53,6 +69,18 @@ export default{
|
|
|
53
69
|
plugins: {
|
|
54
70
|
legend: {
|
|
55
71
|
display: false // This hides the legend
|
|
72
|
+
},
|
|
73
|
+
tooltip: {
|
|
74
|
+
callbacks: {
|
|
75
|
+
title: function(tooltipItems) {
|
|
76
|
+
return `${tooltipItems[0].label}`;
|
|
77
|
+
},
|
|
78
|
+
label: (tooltipItem) => {
|
|
79
|
+
if(this.usePercentage)
|
|
80
|
+
return `${tooltipItem.dataset.label}: ${tooltipItem.dataset.data0[tooltipItem.dataIndex]} (${tooltipItem.raw}%)`
|
|
81
|
+
return `${tooltipItem.dataset.label}: ${tooltipItem.raw}`;
|
|
82
|
+
}
|
|
83
|
+
},
|
|
56
84
|
}
|
|
57
85
|
},
|
|
58
86
|
scales: {
|
|
@@ -1,6 +1,11 @@
|
|
|
1
1
|
<template>
|
|
2
2
|
<div class="flex flex-col gap-5 p-6">
|
|
3
3
|
|
|
4
|
+
<div class="flex flex-row items-center">
|
|
5
|
+
<label class="flex-1">Active</label>
|
|
6
|
+
<Switch v-model="value.props.enabled" :readonly="readonly" />
|
|
7
|
+
</div>
|
|
8
|
+
|
|
4
9
|
<div class="flex flex-col gap-1">
|
|
5
10
|
<div class="flex flex-row gap-2">
|
|
6
11
|
<label class="flex-1">Datasource</label>
|
|
@@ -16,6 +16,7 @@
|
|
|
16
16
|
|
|
17
17
|
import { Doughnut } from 'vue-chartjs'
|
|
18
18
|
import Chart from 'chart.js/auto'
|
|
19
|
+
import {color} from "chart.js/helpers";
|
|
19
20
|
|
|
20
21
|
export default{
|
|
21
22
|
|
|
@@ -26,9 +27,22 @@ export default{
|
|
|
26
27
|
computed: {
|
|
27
28
|
|
|
28
29
|
chartData(){
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
30
|
+
if(!this.value?.datasets)
|
|
31
|
+
return { labels:[], datasets:[] }
|
|
32
|
+
|
|
33
|
+
return {
|
|
34
|
+
labels: this.value?.labels ?? [],
|
|
35
|
+
datasets: this.value.datasets.map(_ => {
|
|
36
|
+
return {
|
|
37
|
+
..._,
|
|
38
|
+
borderWidth: 1,
|
|
39
|
+
borderColor: function(context, options) {
|
|
40
|
+
const hex = options.color;
|
|
41
|
+
return color(hex).darken(0.5).rgbString()
|
|
42
|
+
}
|
|
43
|
+
}
|
|
44
|
+
})
|
|
45
|
+
}
|
|
32
46
|
},
|
|
33
47
|
|
|
34
48
|
chartOptions(){
|
|
@@ -1,6 +1,11 @@
|
|
|
1
1
|
<template>
|
|
2
2
|
<div class="flex flex-col gap-5 p-6">
|
|
3
3
|
|
|
4
|
+
<div class="flex flex-row items-center">
|
|
5
|
+
<label class="flex-1">Active</label>
|
|
6
|
+
<Switch v-model="value.props.enabled" :readonly="readonly" />
|
|
7
|
+
</div>
|
|
8
|
+
|
|
4
9
|
<div>
|
|
5
10
|
<label class="text-text-400">Datasource</label>
|
|
6
11
|
<Dropdown class="min-w-[150px]"
|
|
@@ -7,7 +7,7 @@
|
|
|
7
7
|
</h1>
|
|
8
8
|
<div class="flex flex-col" v-if="column2Enabled">
|
|
9
9
|
<div class="text-sm text-ellipsis whitespace-nowrap overflow-hidden" :class="value?.comparedPercent <= 50 ? 'text-red-600' : 'text-green-600'">{{ value?.comparedPercent }}%</div>
|
|
10
|
-
<div class="text-sm text-ellipsis whitespace-nowrap overflow-hidden">{{
|
|
10
|
+
<div class="text-sm text-ellipsis whitespace-nowrap overflow-hidden">{{ ccValue }}</div>
|
|
11
11
|
</div>
|
|
12
12
|
</div>
|
|
13
13
|
</div>
|
|
@@ -24,7 +24,15 @@ export default{
|
|
|
24
24
|
cValue(){
|
|
25
25
|
let value = parseFloat(this.value?.value)
|
|
26
26
|
if(isNaN(value)) return 'N/A'
|
|
27
|
-
return value
|
|
27
|
+
return value.toLocaleString()
|
|
28
|
+
},
|
|
29
|
+
|
|
30
|
+
ccValue(){
|
|
31
|
+
if(!this.column2Enabled) return
|
|
32
|
+
|
|
33
|
+
let value = parseFloat(this.value?.comparedValue)
|
|
34
|
+
if(isNaN(value)) return 'N/A'
|
|
35
|
+
return value.toLocaleString()
|
|
28
36
|
}
|
|
29
37
|
|
|
30
38
|
},
|
|
@@ -1,6 +1,11 @@
|
|
|
1
1
|
<template>
|
|
2
2
|
<div class="flex flex-col gap-5 p-6">
|
|
3
3
|
|
|
4
|
+
<div class="flex flex-row items-center">
|
|
5
|
+
<label class="flex-1">Active</label>
|
|
6
|
+
<Switch v-model="value.props.enabled" :readonly="readonly" />
|
|
7
|
+
</div>
|
|
8
|
+
|
|
4
9
|
<div class="flex flex-col gap-1">
|
|
5
10
|
<div class="flex flex-row gap-2">
|
|
6
11
|
<label class="flex-1">Datasource</label>
|
|
@@ -16,6 +16,7 @@
|
|
|
16
16
|
|
|
17
17
|
import { Pie } from 'vue-chartjs'
|
|
18
18
|
import Chart from 'chart.js/auto'
|
|
19
|
+
import { color } from 'chart.js/helpers'
|
|
19
20
|
|
|
20
21
|
export default{
|
|
21
22
|
|
|
@@ -26,9 +27,22 @@ export default{
|
|
|
26
27
|
computed: {
|
|
27
28
|
|
|
28
29
|
chartData(){
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
30
|
+
if(!this.value?.datasets)
|
|
31
|
+
return { labels:[], datasets:[] }
|
|
32
|
+
|
|
33
|
+
return {
|
|
34
|
+
labels: this.value?.labels ?? [],
|
|
35
|
+
datasets: this.value.datasets.map(_ => {
|
|
36
|
+
return {
|
|
37
|
+
..._,
|
|
38
|
+
borderWidth: 1,
|
|
39
|
+
borderColor: function(context, options) {
|
|
40
|
+
const hex = options.color;
|
|
41
|
+
return color(hex).darken(0.5).rgbString()
|
|
42
|
+
}
|
|
43
|
+
}
|
|
44
|
+
})
|
|
45
|
+
}
|
|
32
46
|
},
|
|
33
47
|
|
|
34
48
|
chartOptions(){
|
|
@@ -49,18 +63,6 @@ export default{
|
|
|
49
63
|
|
|
50
64
|
data(){
|
|
51
65
|
return {
|
|
52
|
-
backgroundColors: [
|
|
53
|
-
'#5D9CEC',
|
|
54
|
-
'#A0D468',
|
|
55
|
-
'#FFCE54',
|
|
56
|
-
'#FC6E51',
|
|
57
|
-
'#48CFAD',
|
|
58
|
-
'#AC92EC',
|
|
59
|
-
'#4FC1E9',
|
|
60
|
-
'#FFCE54',
|
|
61
|
-
'#ED5565',
|
|
62
|
-
'#EC87C0'
|
|
63
|
-
],
|
|
64
66
|
}
|
|
65
67
|
},
|
|
66
68
|
|
|
@@ -1,6 +1,11 @@
|
|
|
1
1
|
<template>
|
|
2
2
|
<div class="flex flex-col gap-6 p-6">
|
|
3
3
|
|
|
4
|
+
<div class="flex flex-row items-center">
|
|
5
|
+
<label class="flex-1">Active</label>
|
|
6
|
+
<Switch v-model="value.props.enabled" :readonly="readonly" />
|
|
7
|
+
</div>
|
|
8
|
+
|
|
4
9
|
<div>
|
|
5
10
|
<label class="text-text-400">Datasource</label>
|
|
6
11
|
<Dropdown class="min-w-[150px]"
|
|
@@ -1,6 +1,11 @@
|
|
|
1
1
|
<template>
|
|
2
2
|
<div :class="$style.comp">
|
|
3
3
|
|
|
4
|
+
<div class="flex flex-row items-center px-5">
|
|
5
|
+
<label class="flex-1">Active</label>
|
|
6
|
+
<Switch v-model="value.props.enabled" :readonly="readonly" />
|
|
7
|
+
</div>
|
|
8
|
+
|
|
4
9
|
<div class="flex justify-center border-b-[1px] border-text-50" v-if="tabItems.length > 1">
|
|
5
10
|
<Tabs :items="tabItems" v-model="value.tabIndex" />
|
|
6
11
|
</div>
|
|
@@ -430,7 +430,8 @@
|
|
|
430
430
|
<svg v-else-if="item.type === 'Pie'" class="fill-text-200" width="14" height="14" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 576 512"><!--! Font Awesome Pro 6.0.0-alpha3 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) --><path d="M559.7 288l-237.2-.0006l157.1 158c6.124 6.124 15.99 6.484 22.24 .7343c38.62-36.5 65.25-85.62 73.12-140.9C577.2 296.4 569.4 288 559.7 288zM543.1 223.2c-8.249-119.5-103.7-214.1-223.2-223.2c-9.124-.6249-16.76 7.113-16.76 16.24L304 240l223.7-.0012C536.9 240 544.6 232.4 543.1 223.2zM256 288V50.75c0-9.624-8.369-17.48-17.87-16.11C119 51.52 27.89 155.6 32.14 280.4c4.375 128.1 114.8 233.2 242.9 231.6c50.37-.6249 97-16.88 135.2-44c7.999-5.624 8.487-17.24 1.612-24.11L256 288z"/></svg>
|
|
431
431
|
<svg v-else-if="item.type === 'PolarArea'" class="fill-text-200" width="14" height="14" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 640 512"><!--! Font Awesome Pro 6.0.0-alpha3 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) --><path d="M119.1 272C107.1 252.1 87.55 240 64 240c-35.25 0-64 28.75-64 64s28.75 64 64 64c23.55 0 43.96-12.97 55.08-32h60.15C177.1 325.7 176 314.1 176 304s1.127-21.66 3.229-32H119.1zM576 192c35.25 0 64-28.75 64-64s-28.75-64-64-64s-64 28.75-64 64S540.8 192 576 192zM576 384c-11.19 0-21.66 3.094-30.78 8.213l-86.1-52.2C461.6 328.5 464 316.6 464 304c0-16.77-3.436-32.68-9.301-47.36l67.3-49.36c-17.94-12.26-31.13-30.59-37.53-51.86l-67.96 49.84C394.5 187.3 366.7 176 336 176c-7.988 0-15.74 .9492-23.32 2.352L276.3 100.3C283.5 89.98 288 77.54 288 64c0-35.25-28.75-64-64-64S160 28.75 160 64c0 33.29 25.73 60.47 58.28 63.42l36.57 78.36C226.5 229.3 208 264.3 208 304c0 70.67 57.33 128 128 128c34.97 0 66.61-14.11 89.71-36.85l86.39 51.83C512.1 447.3 512 447.7 512 448c0 35.25 28.75 64 64 64S640 483.3 640 448S611.3 384 576 384zM336 352C309.5 352 288 330.5 288 304S309.5 256 336 256S384 277.5 384 304S362.5 352 336 352z"/></svg>
|
|
432
432
|
</div>
|
|
433
|
-
<div class="flex-1 text-ellipsis overflow-hidden whitespace-nowrap"
|
|
433
|
+
<div class="flex-1 text-ellipsis overflow-hidden whitespace-nowrap"
|
|
434
|
+
:class="!item.props?.enabled ? 'line-through opacity-50' : ''">
|
|
434
435
|
<strong @click="cConfig.selectedView = item.uid" class="hover:text-primary">
|
|
435
436
|
{{ item.props?.label ?? (item.name ?? item.type) }}
|
|
436
437
|
</strong>
|
|
@@ -646,7 +647,11 @@
|
|
|
646
647
|
@mousedown="(e) => $util.dragResize(e, resize1)"></div>
|
|
647
648
|
</div>
|
|
648
649
|
|
|
649
|
-
<div v-if="
|
|
650
|
+
<div v-if="readyState === 0" class="flex-1 flex items-center justify-center">
|
|
651
|
+
<svg class="animate-spin aspect-square w-[64px] h-[64px]" xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24"><circle class="opacity-25" cx="12" cy="12" r="10" stroke="currentColor" stroke-width="4"></circle><path class="opacity-75" fill="currentColor" d="M4 12a8 8 0 018-8V0C5.373 0 0 5.373 0 12h4zm2 5.291A7.962 7.962 0 014 12H0c0 3.042 1.135 5.824 3 7.938l3-2.647z"></path></svg>
|
|
652
|
+
</div>
|
|
653
|
+
|
|
654
|
+
<div v-else-if="viewedPreset" class="flex-1 px-8 py-5 overflow-y-auto flex flex-col gap-6">
|
|
650
655
|
|
|
651
656
|
<div class="flex flex-row gap-2 md:gap-2 items-center" ref="title">
|
|
652
657
|
<button type="button"
|
|
@@ -939,6 +944,8 @@ export default{
|
|
|
939
944
|
|
|
940
945
|
previewData: null,
|
|
941
946
|
|
|
947
|
+
readyState: 1,
|
|
948
|
+
|
|
942
949
|
selectedViewUid: null,
|
|
943
950
|
|
|
944
951
|
viewTypes: [
|
|
@@ -1206,9 +1213,12 @@ export default{
|
|
|
1206
1213
|
if(!this.viewedComponents) return
|
|
1207
1214
|
|
|
1208
1215
|
const views = this.recurseViews(this.viewedComponents, uids)
|
|
1216
|
+
if(views?.length < 1) return
|
|
1209
1217
|
|
|
1218
|
+
if(!uids) this.readyState = 0
|
|
1210
1219
|
this.socket.send(this.src, { views })
|
|
1211
1220
|
.then(_ => {
|
|
1221
|
+
this.readyState = 1
|
|
1212
1222
|
Object.assign(this.values, _)
|
|
1213
1223
|
})
|
|
1214
1224
|
},
|
|
@@ -1,110 +1,123 @@
|
|
|
1
1
|
<template>
|
|
2
2
|
<div :class="$style.comp">
|
|
3
|
-
<strong>Grid Setting</strong>
|
|
4
3
|
|
|
5
4
|
<div class="flex flex-row items-center">
|
|
6
|
-
<label class="flex-1">
|
|
5
|
+
<label class="flex-1">Active</label>
|
|
7
6
|
<Switch v-model="value.props.enabled" :readonly="readonly" />
|
|
8
7
|
</div>
|
|
9
8
|
|
|
10
|
-
<div class="flex flex-
|
|
11
|
-
<label class="flex-1">
|
|
12
|
-
<
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
<option v-for="i in 12" :value="`${viewType}grid-cols-${i}`">{{ i }}</option>
|
|
19
|
-
<option :value="`${viewType}grid-cols-none`">None</option>
|
|
20
|
-
</Dropdown>
|
|
9
|
+
<div class="flex flex-col gap-1">
|
|
10
|
+
<label class="flex-1">Label</label>
|
|
11
|
+
<Textbox v-model="value.props.label"
|
|
12
|
+
maxlength="30"
|
|
13
|
+
placeholder="Label"
|
|
14
|
+
:readonly="readonly"
|
|
15
|
+
@keyup.enter="$emit('change')"
|
|
16
|
+
@blur="$emit('change')" />
|
|
21
17
|
</div>
|
|
22
18
|
|
|
23
|
-
<div class="
|
|
24
|
-
<
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
19
|
+
<div class="grid grid-cols-3 gap-3">
|
|
20
|
+
<div>
|
|
21
|
+
<label class="flex-1">Columns</label>
|
|
22
|
+
<Dropdown v-for="(_, idx) in viewTypes"
|
|
23
|
+
v-show="viewType === _.value"
|
|
24
|
+
v-model="columns[idx]"
|
|
25
|
+
:readonly="readonly">
|
|
26
|
+
<option value="">Default</option>
|
|
27
|
+
<option v-for="i in 12" :value="`${viewType}grid-cols-${i}`">{{ i }}</option>
|
|
28
|
+
<option :value="`${viewType}grid-cols-none`">None</option>
|
|
29
|
+
</Dropdown>
|
|
30
|
+
</div>
|
|
31
|
+
|
|
32
|
+
<div>
|
|
33
|
+
<label class="flex-1">Rows</label>
|
|
34
|
+
<Dropdown v-for="(_, idx) in viewTypes"
|
|
35
|
+
v-show="viewType === _.value"
|
|
36
|
+
v-model="rows[idx]"
|
|
37
|
+
:readonly="readonly">
|
|
38
|
+
<option value="">Default</option>
|
|
39
|
+
<option v-for="i in 12" :value="`${viewType}grid-rows-${i}`">{{ i }}</option>
|
|
40
|
+
<option :value="`${viewType}grid-rows-none`">None</option>
|
|
41
|
+
</Dropdown>
|
|
42
|
+
</div>
|
|
43
|
+
|
|
44
|
+
<div>
|
|
45
|
+
<label class="flex-1">Gap</label>
|
|
46
|
+
<Dropdown v-for="(_, idx) in viewTypes"
|
|
47
|
+
v-show="viewType === _.value"
|
|
48
|
+
v-model="gap[idx]"
|
|
49
|
+
:readonly="readonly">
|
|
50
|
+
<option value="">Not Set</option>
|
|
51
|
+
<option :value="`${viewType}gap-0`">0</option>
|
|
52
|
+
<option :value="`${viewType}gap-1`">1</option>
|
|
53
|
+
<option :value="`${viewType}gap-2`">2</option>
|
|
54
|
+
<option :value="`${viewType}gap-3`">3</option>
|
|
55
|
+
<option :value="`${viewType}gap-4`">4</option>
|
|
56
|
+
<option :value="`${viewType}gap-5`">5</option>
|
|
57
|
+
<option :value="`${viewType}gap-6`">6</option>
|
|
58
|
+
<option :value="`${viewType}gap-7`">7</option>
|
|
59
|
+
<option :value="`${viewType}gap-8`">8</option>
|
|
60
|
+
</Dropdown>
|
|
61
|
+
</div>
|
|
34
62
|
</div>
|
|
35
63
|
|
|
36
|
-
<div class="
|
|
37
|
-
<
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
64
|
+
<div class="grid grid-cols-2 gap-3">
|
|
65
|
+
<div>
|
|
66
|
+
<label class="flex-1">Align Items</label>
|
|
67
|
+
<Dropdown v-for="(_, idx) in viewTypes"
|
|
68
|
+
v-show="viewType === _.value"
|
|
69
|
+
v-model="alignItems[idx]"
|
|
70
|
+
:readonly="readonly">
|
|
71
|
+
<option value="">Default</option>
|
|
72
|
+
<option :value="`${viewType}items-start`">Start</option>
|
|
73
|
+
<option :value="`${viewType}items-end`">End</option>
|
|
74
|
+
<option :value="`${viewType}items-center`">Center</option>
|
|
75
|
+
<option :value="`${viewType}items-baseline`">Baseline</option>
|
|
76
|
+
<option :value="`${viewType}items-stretch`">Stretch</option>
|
|
77
|
+
</Dropdown>
|
|
78
|
+
</div>
|
|
79
|
+
|
|
80
|
+
<div>
|
|
81
|
+
<label class="flex-1">Justify Content</label>
|
|
82
|
+
<Dropdown v-for="(_, idx) in viewTypes"
|
|
83
|
+
v-show="viewType === _.value"
|
|
84
|
+
v-model="justifyContent[idx]"
|
|
85
|
+
:readonly="readonly">
|
|
86
|
+
<option value="">Default</option>
|
|
87
|
+
<option :value="`${viewType}justify-normal`">Normal</option>
|
|
88
|
+
<option :value="`${viewType}justify-start`">Start</option>
|
|
89
|
+
<option :value="`${viewType}justify-end`">End</option>
|
|
90
|
+
<option :value="`${viewType}justify-center`">Center</option>
|
|
91
|
+
<option :value="`${viewType}justify-between`">Between</option>
|
|
92
|
+
<option :value="`${viewType}justify-around`">Around</option>
|
|
93
|
+
<option :value="`${viewType}justify-evenly`">Evenly</option>
|
|
94
|
+
<option :value="`${viewType}justify-stretch`">Stretch</option>
|
|
95
|
+
</Dropdown>
|
|
96
|
+
</div>
|
|
53
97
|
</div>
|
|
54
98
|
|
|
55
|
-
<div class="
|
|
56
|
-
<
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
<option :value="`${viewType}justify-normal`">Normal</option>
|
|
78
|
-
<option :value="`${viewType}justify-start`">Start</option>
|
|
79
|
-
<option :value="`${viewType}justify-end`">End</option>
|
|
80
|
-
<option :value="`${viewType}justify-center`">Center</option>
|
|
81
|
-
<option :value="`${viewType}justify-between`">Between</option>
|
|
82
|
-
<option :value="`${viewType}justify-around`">Around</option>
|
|
83
|
-
<option :value="`${viewType}justify-evenly`">Evenly</option>
|
|
84
|
-
<option :value="`${viewType}justify-stretch`">Stretch</option>
|
|
85
|
-
</Dropdown>
|
|
86
|
-
</div>
|
|
87
|
-
|
|
88
|
-
<div class="flex flex-row items-center">
|
|
89
|
-
<label class="flex-1">Col Span</label>
|
|
90
|
-
<Dropdown v-for="(_, idx) in viewTypes"
|
|
91
|
-
v-show="viewType === _.value"
|
|
92
|
-
v-model="colSpan[idx]"
|
|
93
|
-
:readonly="readonly">
|
|
94
|
-
<option value="">Default</option>
|
|
95
|
-
<option v-for="i in 12" :value="`${viewType}col-span-${i}`">{{ i }}</option>
|
|
96
|
-
</Dropdown>
|
|
97
|
-
</div>
|
|
98
|
-
|
|
99
|
-
<div class="flex flex-row items-center">
|
|
100
|
-
<label class="flex-1">Row Span</label>
|
|
101
|
-
<Dropdown v-for="(_, idx) in viewTypes"
|
|
102
|
-
v-show="viewType === _.value"
|
|
103
|
-
v-model="rowSpan[idx]"
|
|
104
|
-
:readonly="readonly">
|
|
105
|
-
<option value="">Default</option>
|
|
106
|
-
<option v-for="i in 12" :value="`${viewType}row-span-${i}`">{{ i }}</option>
|
|
107
|
-
</Dropdown>
|
|
99
|
+
<div class="grid grid-cols-2 gap-3">
|
|
100
|
+
<div>
|
|
101
|
+
<label class="flex-1">Col Span</label>
|
|
102
|
+
<Dropdown v-for="(_, idx) in viewTypes"
|
|
103
|
+
v-show="viewType === _.value"
|
|
104
|
+
v-model="colSpan[idx]"
|
|
105
|
+
:readonly="readonly">
|
|
106
|
+
<option value="">Default</option>
|
|
107
|
+
<option v-for="i in 12" :value="`${viewType}col-span-${i}`">{{ i }}</option>
|
|
108
|
+
</Dropdown>
|
|
109
|
+
</div>
|
|
110
|
+
|
|
111
|
+
<div>
|
|
112
|
+
<label class="flex-1">Row Span</label>
|
|
113
|
+
<Dropdown v-for="(_, idx) in viewTypes"
|
|
114
|
+
v-show="viewType === _.value"
|
|
115
|
+
v-model="rowSpan[idx]"
|
|
116
|
+
:readonly="readonly">
|
|
117
|
+
<option value="">Default</option>
|
|
118
|
+
<option v-for="i in 12" :value="`${viewType}row-span-${i}`">{{ i }}</option>
|
|
119
|
+
</Dropdown>
|
|
120
|
+
</div>
|
|
108
121
|
</div>
|
|
109
122
|
|
|
110
123
|
</div>
|
|
@@ -197,7 +210,7 @@ export default{
|
|
|
197
210
|
<style module>
|
|
198
211
|
|
|
199
212
|
.comp{
|
|
200
|
-
@apply flex flex-col gap-
|
|
213
|
+
@apply flex flex-col gap-6 p-6;
|
|
201
214
|
}
|
|
202
215
|
|
|
203
216
|
</style>
|