@bagelink/vue 1.0.43 → 1.0.47
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/dist/components/form/FieldArray.vue.d.ts +3 -2
- package/dist/components/form/FieldArray.vue.d.ts.map +1 -1
- package/dist/index.cjs +59 -24
- package/dist/index.mjs +59 -24
- package/dist/style.css +460 -234
- package/dist/utils/BagelFormUtils.d.ts +2 -1
- package/dist/utils/BagelFormUtils.d.ts.map +1 -1
- package/package.json +5 -5
- package/src/components/form/FieldArray.vue +88 -48
- package/src/styles/layout.css +226 -113
- package/src/styles/mobilLayout.css +226 -113
- package/src/utils/BagelFormUtils.ts +7 -2
|
@@ -131,8 +131,9 @@ interface ArrayFieldOptions extends InputOptions {
|
|
|
131
131
|
delete?: boolean;
|
|
132
132
|
add?: boolean;
|
|
133
133
|
}
|
|
134
|
+
type ArrayType = 'number' | 'text';
|
|
134
135
|
export declare function arrField<T extends {
|
|
135
136
|
[key: string]: any;
|
|
136
|
-
}>(id: DotNotation<T> | string, label: string,
|
|
137
|
+
}>(id: DotNotation<T> | string, label: string, schemaOrType: BglFormSchemaT | ArrayType, options?: ArrayFieldOptions): Field<T>;
|
|
137
138
|
export {};
|
|
138
139
|
//# sourceMappingURL=BagelFormUtils.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BagelFormUtils.d.ts","sourceRoot":"","sources":["../../src/utils/BagelFormUtils.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"BagelFormUtils.d.ts","sourceRoot":"","sources":["../../src/utils/BagelFormUtils.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@bagelink/vue",
|
|
3
3
|
"type": "module",
|
|
4
|
-
"version": "1.0.
|
|
4
|
+
"version": "1.0.47",
|
|
5
5
|
"description": "Bagel core sdk packages",
|
|
6
6
|
"author": {
|
|
7
7
|
"name": "Neveh Allon",
|
|
@@ -56,7 +56,7 @@
|
|
|
56
56
|
"@types/signature_pad": "^4.0.0",
|
|
57
57
|
"@vue-macros/reactivity-transform": "^1.1.6",
|
|
58
58
|
"vue": "^3.5.13",
|
|
59
|
-
"vue-component-type-helpers": "^2.2.
|
|
59
|
+
"vue-component-type-helpers": "^2.2.8"
|
|
60
60
|
},
|
|
61
61
|
"peerDependencies": {
|
|
62
62
|
"@bagelink/sdk": "*",
|
|
@@ -82,10 +82,10 @@
|
|
|
82
82
|
},
|
|
83
83
|
"dependencies": {
|
|
84
84
|
"date-fns": "^4.1.0",
|
|
85
|
-
"@vueuse/core": "^12.
|
|
86
|
-
"axios": "^1.
|
|
85
|
+
"@vueuse/core": "^12.8.1",
|
|
86
|
+
"axios": "^1.8.1",
|
|
87
87
|
"floating-vue": "^5.2.2",
|
|
88
|
-
"libphonenumber-js": "1.
|
|
88
|
+
"libphonenumber-js": "1.12.4",
|
|
89
89
|
"signature_pad": "^5.0.4"
|
|
90
90
|
},
|
|
91
91
|
"scripts": {
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
<script lang="ts" setup generic="T
|
|
1
|
+
<script lang="ts" setup generic="T">
|
|
2
2
|
import type {
|
|
3
3
|
AttributeFn,
|
|
4
4
|
AttributeValue,
|
|
@@ -6,9 +6,10 @@ import type {
|
|
|
6
6
|
BagelFieldOptions,
|
|
7
7
|
BglFormSchemaFnT,
|
|
8
8
|
Field,
|
|
9
|
+
Icon,
|
|
9
10
|
} from '@bagelink/vue'
|
|
10
11
|
import { BagelForm, Btn, Loading } from '@bagelink/vue'
|
|
11
|
-
import { ref, onMounted } from 'vue'
|
|
12
|
+
import { ref, onMounted, computed, watch } from 'vue'
|
|
12
13
|
|
|
13
14
|
const props = withDefaults(
|
|
14
15
|
defineProps<{
|
|
@@ -27,13 +28,15 @@ const props = withDefaults(
|
|
|
27
28
|
add?: boolean
|
|
28
29
|
delete?: boolean
|
|
29
30
|
transform?: (value: T) => T
|
|
30
|
-
schema
|
|
31
|
+
schema?: BglFormSchemaFnT
|
|
31
32
|
modelValue: T[]
|
|
33
|
+
type?: 'object' | 'number' | 'text'
|
|
32
34
|
}>(),
|
|
33
35
|
{
|
|
34
36
|
delete: true,
|
|
35
37
|
add: true,
|
|
36
38
|
el: 'div',
|
|
39
|
+
type: 'object',
|
|
37
40
|
}
|
|
38
41
|
)
|
|
39
42
|
|
|
@@ -45,14 +48,38 @@ const internalData = ref<any[]>(props.modelValue || [])
|
|
|
45
48
|
const schemaState = ref<'loading' | 'loaded' | 'error'>('loaded')
|
|
46
49
|
const resolvedSchemaData = ref<any[]>([])
|
|
47
50
|
|
|
48
|
-
//
|
|
51
|
+
// Watch for external changes to modelValue
|
|
52
|
+
watch(() => props.modelValue, (newValue) => {
|
|
53
|
+
internalData.value = newValue || []
|
|
54
|
+
}, { deep: true })
|
|
55
|
+
|
|
56
|
+
// Generate schema for primitive types
|
|
57
|
+
const primitiveSchema = computed(() => {
|
|
58
|
+
if (props.type === 'text') {
|
|
59
|
+
return [{ id: 'value', type: 'text', label: '' }]
|
|
60
|
+
} else if (props.type === 'number') {
|
|
61
|
+
return [{ id: 'value', type: 'number', label: '' }]
|
|
62
|
+
}
|
|
63
|
+
return []
|
|
64
|
+
})
|
|
65
|
+
|
|
66
|
+
// Resolve schema
|
|
49
67
|
async function resolveSchema() {
|
|
68
|
+
// For primitive types, use the predefined schema
|
|
69
|
+
if (props.type !== 'object') {
|
|
70
|
+
resolvedSchemaData.value = primitiveSchema.value
|
|
71
|
+
schemaState.value = 'loaded'
|
|
72
|
+
return
|
|
73
|
+
}
|
|
74
|
+
|
|
75
|
+
// For object type without schema
|
|
50
76
|
if (!props.schema) {
|
|
51
77
|
resolvedSchemaData.value = []
|
|
52
78
|
schemaState.value = 'loaded'
|
|
53
79
|
return
|
|
54
80
|
}
|
|
55
81
|
|
|
82
|
+
// For object type with schema
|
|
56
83
|
try {
|
|
57
84
|
schemaState.value = 'loading'
|
|
58
85
|
const isPromise = (obj: any) => obj && typeof obj.then === 'function'
|
|
@@ -75,9 +102,7 @@ async function resolveSchema() {
|
|
|
75
102
|
}
|
|
76
103
|
|
|
77
104
|
// Initialize schema on mount
|
|
78
|
-
onMounted(
|
|
79
|
-
resolveSchema()
|
|
80
|
-
})
|
|
105
|
+
onMounted(resolveSchema)
|
|
81
106
|
|
|
82
107
|
// Event handlers
|
|
83
108
|
function emitValue() {
|
|
@@ -90,7 +115,13 @@ function deleteItem(i: number) {
|
|
|
90
115
|
}
|
|
91
116
|
|
|
92
117
|
function addItem() {
|
|
93
|
-
|
|
118
|
+
// Add appropriate default value based on type
|
|
119
|
+
const defaultValues = {
|
|
120
|
+
text: '',
|
|
121
|
+
number: 0,
|
|
122
|
+
object: {}
|
|
123
|
+
}
|
|
124
|
+
internalData.value.push(defaultValues[props.type])
|
|
94
125
|
emitValue()
|
|
95
126
|
}
|
|
96
127
|
|
|
@@ -99,61 +130,74 @@ function toggleMinimized(index: number) {
|
|
|
99
130
|
}
|
|
100
131
|
|
|
101
132
|
function updateItem(index: number, value: any) {
|
|
102
|
-
|
|
133
|
+
// Handle primitive types by extracting the value property
|
|
134
|
+
if (props.type === 'text' || props.type === 'number') {
|
|
135
|
+
internalData.value[index] = props.type === 'number' ? Number(value.value) : value.value
|
|
136
|
+
} else {
|
|
137
|
+
internalData.value[index] = value
|
|
138
|
+
}
|
|
103
139
|
emitValue()
|
|
104
140
|
}
|
|
105
141
|
|
|
106
|
-
//
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
// if (!field.id) return
|
|
112
|
-
// const index = Number.parseInt(field.id)
|
|
113
|
-
// if (Number.isNaN(index)) return
|
|
114
|
-
// internalData.value[index] = value
|
|
115
|
-
// emitValue()
|
|
116
|
-
// }
|
|
117
|
-
// })
|
|
142
|
+
// Computed properties for rendering
|
|
143
|
+
const isPrimitiveType = computed(() => props.type === 'text' || props.type === 'number')
|
|
144
|
+
const canRenderItems = computed(() => isPrimitiveType.value || (props.type === 'object' && resolvedSchemaData.value.length > 0)
|
|
145
|
+
)
|
|
146
|
+
const showMinimizeButton = computed(() => resolvedSchemaData.value.length > 4)
|
|
118
147
|
</script>
|
|
119
148
|
|
|
120
149
|
<template>
|
|
121
150
|
<div :class="props.class">
|
|
122
|
-
|
|
151
|
+
<!-- Label -->
|
|
152
|
+
<p v-if="label" class="label mb-05">
|
|
123
153
|
{{ label }}
|
|
124
154
|
</p>
|
|
125
|
-
<div
|
|
126
|
-
<!-- Loading
|
|
127
|
-
<div v-if="schemaState
|
|
128
|
-
<Loading />
|
|
155
|
+
<div class="ps-025 border-start mb-05">
|
|
156
|
+
<!-- Loading/Error States -->
|
|
157
|
+
<div v-if="schemaState !== 'loaded'" class="flex-center h-300px">
|
|
158
|
+
<Loading v-if="schemaState === 'loading'" />
|
|
159
|
+
<Icon v-else-if="schemaState === 'error'" icon="error" color="red" />
|
|
129
160
|
</div>
|
|
130
161
|
|
|
131
|
-
<!--
|
|
132
|
-
<div v-else-if="
|
|
133
|
-
|
|
162
|
+
<!-- No Schema Available -->
|
|
163
|
+
<div v-else-if="!canRenderItems" class="py-1">
|
|
164
|
+
<p class="opacity-7">
|
|
165
|
+
No schema available
|
|
166
|
+
</p>
|
|
134
167
|
</div>
|
|
135
168
|
|
|
136
|
-
<!--
|
|
169
|
+
<!-- Items Rendering -->
|
|
137
170
|
<template v-else>
|
|
171
|
+
<!-- Array Items -->
|
|
138
172
|
<div
|
|
139
|
-
v-for="(item, i) in internalData"
|
|
173
|
+
v-for="(item, i) in internalData"
|
|
174
|
+
:key="i"
|
|
175
|
+
outline
|
|
176
|
+
thin
|
|
140
177
|
class="mb-05 itemBox transition ps-05 pb-025 pt-025 radius-05 gap-05 overflow-hidden"
|
|
141
178
|
:class="{ minimized: minimizedItems[i] }"
|
|
142
179
|
>
|
|
180
|
+
<!-- Minimized View -->
|
|
143
181
|
<p v-if="minimizedItems[i]" class="minimizedText txt14 p-025 opacity-7">
|
|
144
182
|
{{ label }} {{ i + 1 }}
|
|
145
183
|
</p>
|
|
184
|
+
|
|
185
|
+
<!-- Form View -->
|
|
146
186
|
<BagelForm
|
|
147
187
|
v-else
|
|
148
|
-
:model-value="item"
|
|
188
|
+
:model-value="isPrimitiveType ? { value: item } : item"
|
|
149
189
|
:schema="resolvedSchemaData"
|
|
150
190
|
@update:model-value="val => updateItem(i, val)"
|
|
151
191
|
/>
|
|
192
|
+
|
|
193
|
+
<!-- Controls -->
|
|
152
194
|
<div class="bg-gray-80 -my-05 px-025 pt-065 pb-05 txt-center space-between flex column">
|
|
153
195
|
<Btn
|
|
154
|
-
v-if="
|
|
196
|
+
v-if="showMinimizeButton"
|
|
155
197
|
class="block rotate-180 txt10 opacity-7 p-025"
|
|
156
|
-
flat
|
|
198
|
+
flat
|
|
199
|
+
thin
|
|
200
|
+
icon="keyboard_arrow_down"
|
|
157
201
|
@click="toggleMinimized(i)"
|
|
158
202
|
/>
|
|
159
203
|
<Btn
|
|
@@ -166,35 +210,31 @@ function updateItem(index: number, value: any) {
|
|
|
166
210
|
/>
|
|
167
211
|
</div>
|
|
168
212
|
</div>
|
|
213
|
+
|
|
214
|
+
<!-- Add Button -->
|
|
169
215
|
<Btn v-if="add" thin icon="add" color="gray" class="txt12" @click="addItem">
|
|
170
216
|
<p>{{ label }}</p>
|
|
171
217
|
</Btn>
|
|
172
218
|
</template>
|
|
173
219
|
</div>
|
|
174
|
-
|
|
175
|
-
<template v-else>
|
|
176
|
-
<div v-for="(_, i) in internalData" :key="i">
|
|
177
|
-
<p>No schema available</p>
|
|
178
|
-
</div>
|
|
179
|
-
</template>
|
|
180
220
|
</div>
|
|
181
221
|
</template>
|
|
182
222
|
|
|
183
223
|
<style>
|
|
184
|
-
.minimized{
|
|
224
|
+
.minimized {
|
|
185
225
|
height: 2.4rem;
|
|
186
226
|
overflow: hidden;
|
|
187
227
|
}
|
|
188
|
-
.minimizedText{
|
|
228
|
+
.minimizedText {
|
|
189
229
|
display: none;
|
|
190
230
|
}
|
|
191
|
-
.minimized .minimizedText{
|
|
231
|
+
.minimized .minimizedText {
|
|
192
232
|
display: block;
|
|
193
233
|
}
|
|
194
|
-
.minimized .rotate-180{
|
|
234
|
+
.minimized .rotate-180 {
|
|
195
235
|
transform: rotate(0deg);
|
|
196
236
|
}
|
|
197
|
-
.itemBox{
|
|
237
|
+
.itemBox {
|
|
198
238
|
background: var(--input-bg);
|
|
199
239
|
grid-template-columns: 1fr auto;
|
|
200
240
|
display: grid;
|
|
@@ -203,7 +243,7 @@ function updateItem(index: number, value: any) {
|
|
|
203
243
|
--input-font-size: 14px;
|
|
204
244
|
}
|
|
205
245
|
|
|
206
|
-
.pt-065{
|
|
246
|
+
.pt-065 {
|
|
207
247
|
padding-top: 0.65rem;
|
|
208
248
|
}
|
|
209
249
|
|
|
@@ -213,10 +253,10 @@ function updateItem(index: number, value: any) {
|
|
|
213
253
|
.itemBox .custom-select .input {
|
|
214
254
|
background: var(--bgl-white) !important;
|
|
215
255
|
}
|
|
216
|
-
.itemBox .code-editor-wrap textarea{
|
|
256
|
+
.itemBox .code-editor-wrap textarea {
|
|
217
257
|
background: transparent !important;
|
|
218
258
|
}
|
|
219
|
-
.itemBox .bagel-input{
|
|
259
|
+
.itemBox .bagel-input {
|
|
220
260
|
margin-bottom: 0.15rem !important;
|
|
221
261
|
}
|
|
222
262
|
</style>
|