@bagelink/vue 0.0.1260 → 0.0.1262
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/DataTable/DataTable.vue.d.ts.map +1 -1
- package/dist/components/form/BagelForm.vue.d.ts.map +1 -1
- package/dist/components/form/inputs/TelInput.vue.d.ts +1 -1
- package/dist/components/form/inputs/TelInput.vue.d.ts.map +1 -1
- package/dist/components/form/useBagelFormState.d.ts.map +1 -1
- package/dist/index.cjs +406 -437
- package/dist/index.mjs +407 -438
- package/dist/style.css +47 -47
- package/dist/utils/index.d.ts +1 -0
- package/dist/utils/index.d.ts.map +1 -1
- package/package.json +1 -1
- package/src/components/DataTable/DataTable.vue +7 -1
- package/src/components/form/BagelForm.vue +2 -13
- package/src/components/form/useBagelFormState.ts +2 -14
- package/src/utils/index.ts +15 -0
package/dist/style.css
CHANGED
|
@@ -1015,22 +1015,22 @@ display: block;
|
|
|
1015
1015
|
font-size: 0.95rem;
|
|
1016
1016
|
}
|
|
1017
1017
|
|
|
1018
|
-
.table-list-wrap[data-v-
|
|
1018
|
+
.table-list-wrap[data-v-8e14fc71] {
|
|
1019
1019
|
min-height: 150px;
|
|
1020
1020
|
}
|
|
1021
|
-
.selected[data-v-
|
|
1021
|
+
.selected[data-v-8e14fc71] {
|
|
1022
1022
|
background: var(--bgl-primary-tint);
|
|
1023
1023
|
}
|
|
1024
|
-
tbody tr.selected[data-v-
|
|
1024
|
+
tbody tr.selected[data-v-8e14fc71]:hover {
|
|
1025
1025
|
background: var(--bgl-primary-light);
|
|
1026
1026
|
}
|
|
1027
|
-
.loading-table[data-v-
|
|
1027
|
+
.loading-table[data-v-8e14fc71] {
|
|
1028
1028
|
position: relative;
|
|
1029
1029
|
}
|
|
1030
|
-
.inset[data-v-
|
|
1030
|
+
.inset[data-v-8e14fc71] {
|
|
1031
1031
|
inset: 0;
|
|
1032
1032
|
}
|
|
1033
|
-
.loading-table-animation[data-v-
|
|
1033
|
+
.loading-table-animation[data-v-8e14fc71] {
|
|
1034
1034
|
--size: 60px;
|
|
1035
1035
|
top: 30vh;
|
|
1036
1036
|
inset-inline-start: calc(50% - var(--size));
|
|
@@ -1038,9 +1038,9 @@ tbody tr.selected[data-v-3668ec69]:hover {
|
|
|
1038
1038
|
border-top: 4px solid var(--bgl-primary);
|
|
1039
1039
|
width: var(--size);
|
|
1040
1040
|
height: var(--size);
|
|
1041
|
-
animation: loading-table-
|
|
1041
|
+
animation: loading-table-8e14fc71 1s linear infinite;
|
|
1042
1042
|
}
|
|
1043
|
-
@keyframes loading-table-
|
|
1043
|
+
@keyframes loading-table-8e14fc71 {
|
|
1044
1044
|
0% {
|
|
1045
1045
|
transform: translate(-50%, -50%) rotate(0deg);
|
|
1046
1046
|
}
|
|
@@ -1048,55 +1048,55 @@ tbody tr.selected[data-v-3668ec69]:hover {
|
|
|
1048
1048
|
transform: translate(-50%, -50%) rotate(360deg);
|
|
1049
1049
|
}
|
|
1050
1050
|
}
|
|
1051
|
-
.list-arrows[data-v-
|
|
1051
|
+
.list-arrows[data-v-8e14fc71] {
|
|
1052
1052
|
opacity: 0;
|
|
1053
1053
|
}
|
|
1054
|
-
.list-arrows .bgl_icon-font[data-v-
|
|
1054
|
+
.list-arrows .bgl_icon-font[data-v-8e14fc71] {
|
|
1055
1055
|
transition: all ease-in-out 0.2s;
|
|
1056
1056
|
}
|
|
1057
|
-
.list-arrows.sorted[data-v-
|
|
1057
|
+
.list-arrows.sorted[data-v-8e14fc71] {
|
|
1058
1058
|
opacity: 1;
|
|
1059
1059
|
}
|
|
1060
|
-
.col img[data-v-
|
|
1060
|
+
.col img[data-v-8e14fc71] {
|
|
1061
1061
|
height: 35px;
|
|
1062
1062
|
margin-top: -14px;
|
|
1063
1063
|
margin-bottom: -14px;
|
|
1064
1064
|
border-radius: 5px;
|
|
1065
1065
|
object-fit: cover;
|
|
1066
1066
|
}
|
|
1067
|
-
.col[data-v-
|
|
1067
|
+
.col[data-v-8e14fc71]:has(img) {
|
|
1068
1068
|
padding-inline-end: 0.5rem;
|
|
1069
1069
|
}
|
|
1070
|
-
.list-arrows.sorted .desc[data-v-
|
|
1070
|
+
.list-arrows.sorted .desc[data-v-8e14fc71] {
|
|
1071
1071
|
transform: rotate(180deg);
|
|
1072
1072
|
display: inline-block;
|
|
1073
1073
|
}
|
|
1074
|
-
table[data-v-
|
|
1074
|
+
table[data-v-8e14fc71] {
|
|
1075
1075
|
border-spacing: 0 15px;
|
|
1076
1076
|
border-collapse: collapse;
|
|
1077
1077
|
width: 100%;
|
|
1078
1078
|
}
|
|
1079
|
-
th[data-v-
|
|
1079
|
+
th[data-v-8e14fc71] {
|
|
1080
1080
|
font-size: 0.8rem;
|
|
1081
1081
|
color: var(--bgl-black-tint);
|
|
1082
1082
|
position: sticky;
|
|
1083
1083
|
top: 0;
|
|
1084
1084
|
z-index: 2;
|
|
1085
1085
|
background: var(--bgl-box-bg);
|
|
1086
|
-
height: var(--
|
|
1086
|
+
height: var(--1ab0cc24);
|
|
1087
1087
|
vertical-align: bottom;
|
|
1088
1088
|
font-weight: 400;
|
|
1089
1089
|
text-align: start;
|
|
1090
1090
|
}
|
|
1091
|
-
.embedded-field[data-v-
|
|
1091
|
+
.embedded-field[data-v-8e14fc71] {
|
|
1092
1092
|
margin-bottom: -0.2rem;
|
|
1093
1093
|
margin-top: -0.2rem;
|
|
1094
1094
|
}
|
|
1095
|
-
.row[data-v-
|
|
1095
|
+
.row[data-v-8e14fc71] {
|
|
1096
1096
|
border-bottom: 1px solid var(--border-color);
|
|
1097
1097
|
cursor: pointer;
|
|
1098
1098
|
}
|
|
1099
|
-
.row.first-row[data-v-
|
|
1099
|
+
.row.first-row[data-v-8e14fc71] {
|
|
1100
1100
|
font-size: 0.8rem;
|
|
1101
1101
|
color: var(--bgl-black-tint);
|
|
1102
1102
|
position: sticky;
|
|
@@ -1105,7 +1105,7 @@ th[data-v-3668ec69] {
|
|
|
1105
1105
|
background: var(--bgl-box-bg);
|
|
1106
1106
|
vertical-align: bottom;
|
|
1107
1107
|
}
|
|
1108
|
-
.row.first-row[data-v-
|
|
1108
|
+
.row.first-row[data-v-8e14fc71]::after {
|
|
1109
1109
|
content: '';
|
|
1110
1110
|
border-bottom: 1px solid var(--border-color);
|
|
1111
1111
|
position: absolute;
|
|
@@ -1113,11 +1113,11 @@ th[data-v-3668ec69] {
|
|
|
1113
1113
|
right: 0;
|
|
1114
1114
|
bottom: -1px;
|
|
1115
1115
|
}
|
|
1116
|
-
.first-row .col[data-v-
|
|
1116
|
+
.first-row .col[data-v-8e14fc71] {
|
|
1117
1117
|
cursor: pointer;
|
|
1118
1118
|
background: var(--bgl-box-bg);
|
|
1119
1119
|
}
|
|
1120
|
-
.col[data-v-
|
|
1120
|
+
.col[data-v-8e14fc71] {
|
|
1121
1121
|
white-space: nowrap;
|
|
1122
1122
|
padding: 0.75rem 1rem;
|
|
1123
1123
|
transition: var(--bgl-transition);
|
|
@@ -1127,19 +1127,19 @@ th[data-v-3668ec69] {
|
|
|
1127
1127
|
overflow: hidden;
|
|
1128
1128
|
max-width: 30vw;
|
|
1129
1129
|
}
|
|
1130
|
-
.col[data-v-
|
|
1130
|
+
.col[data-v-8e14fc71]:has(.bagel-input) {
|
|
1131
1131
|
padding: 0rem 0.25rem;
|
|
1132
1132
|
}
|
|
1133
|
-
.col > div[data-v-
|
|
1133
|
+
.col > div[data-v-8e14fc71] {
|
|
1134
1134
|
display: flex;
|
|
1135
1135
|
gap: 0.5rem;
|
|
1136
1136
|
}
|
|
1137
|
-
.max-col-width[data-v-
|
|
1137
|
+
.max-col-width[data-v-8e14fc71] {
|
|
1138
1138
|
max-width: 30vw;
|
|
1139
1139
|
overflow: hidden;
|
|
1140
1140
|
text-overflow: ellipsis;
|
|
1141
1141
|
}
|
|
1142
|
-
.col.check .bgl_icon-font[data-v-
|
|
1142
|
+
.col.check .bgl_icon-font[data-v-8e14fc71] {
|
|
1143
1143
|
border-radius: 100%;
|
|
1144
1144
|
background: var(--bgl-blue-20);
|
|
1145
1145
|
color: var(--bgl-primary);
|
|
@@ -1150,35 +1150,35 @@ th[data-v-3668ec69] {
|
|
|
1150
1150
|
justify-content: center;
|
|
1151
1151
|
margin-top: -2px;
|
|
1152
1152
|
}
|
|
1153
|
-
.rows[data-v-
|
|
1153
|
+
.rows[data-v-8e14fc71] {
|
|
1154
1154
|
font-size: 0.88em;
|
|
1155
1155
|
}
|
|
1156
|
-
.table-list[data-v-
|
|
1156
|
+
.table-list[data-v-8e14fc71] {
|
|
1157
1157
|
height: 100%;
|
|
1158
1158
|
position: relative;
|
|
1159
1159
|
padding-left: 0 !important;
|
|
1160
1160
|
padding-right: 0 !important;
|
|
1161
1161
|
overflow: auto;
|
|
1162
1162
|
}
|
|
1163
|
-
.BagelTable .table-list[data-v-
|
|
1163
|
+
.BagelTable .table-list[data-v-8e14fc71] {
|
|
1164
1164
|
overflow: unset;
|
|
1165
1165
|
}
|
|
1166
|
-
.row-item[data-v-
|
|
1167
|
-
height: var(--
|
|
1166
|
+
.row-item[data-v-8e14fc71] {
|
|
1167
|
+
height: var(--1ab0cc24);
|
|
1168
1168
|
transition: all 200ms ease;
|
|
1169
1169
|
}
|
|
1170
|
-
.row-item[data-v-
|
|
1170
|
+
.row-item[data-v-8e14fc71]:hover {
|
|
1171
1171
|
background: var(--bgl-gray-light);
|
|
1172
1172
|
}
|
|
1173
|
-
.row-item input[type='checkbox'][data-v-
|
|
1173
|
+
.row-item input[type='checkbox'][data-v-8e14fc71] {
|
|
1174
1174
|
margin-top: 0.45rem !important;
|
|
1175
1175
|
accent-color: var(--bgl-accent-color);
|
|
1176
1176
|
}
|
|
1177
|
-
.infinite-wrapper[data-v-
|
|
1177
|
+
.infinite-wrapper[data-v-8e14fc71] {
|
|
1178
1178
|
overflow-y: auto;
|
|
1179
1179
|
width: 100%;
|
|
1180
1180
|
}
|
|
1181
|
-
input[type='checkbox'][data-v-
|
|
1181
|
+
input[type='checkbox'][data-v-8e14fc71] {
|
|
1182
1182
|
margin-top: 0.3rem !important;
|
|
1183
1183
|
accent-color: var(--bgl-accent-color);
|
|
1184
1184
|
transform: scale(1.2);
|
|
@@ -1190,7 +1190,7 @@ input[type='checkbox'][data-v-3668ec69] {
|
|
|
1190
1190
|
height: 0.85rem;
|
|
1191
1191
|
width: 0.85rem;
|
|
1192
1192
|
}
|
|
1193
|
-
input[type='checkbox'][data-v-
|
|
1193
|
+
input[type='checkbox'][data-v-8e14fc71]::before {
|
|
1194
1194
|
content: '';
|
|
1195
1195
|
height: 0.85rem;
|
|
1196
1196
|
width: 0.85rem;
|
|
@@ -1203,18 +1203,18 @@ input[type='checkbox'][data-v-3668ec69]::before {
|
|
|
1203
1203
|
transform: scale(1);
|
|
1204
1204
|
position: absolute;
|
|
1205
1205
|
}
|
|
1206
|
-
input[type='checkbox'][data-v-
|
|
1206
|
+
input[type='checkbox'][data-v-8e14fc71]:hover::before {
|
|
1207
1207
|
opacity: 0.2;
|
|
1208
1208
|
transform: scale(2);
|
|
1209
1209
|
}
|
|
1210
|
-
[lang='he'] [dir='ltr'][data-v-
|
|
1210
|
+
[lang='he'] [dir='ltr'][data-v-8e14fc71] {
|
|
1211
1211
|
text-align: right;
|
|
1212
1212
|
}
|
|
1213
|
-
th input[type='checkbox'][data-v-
|
|
1213
|
+
th input[type='checkbox'][data-v-8e14fc71] {
|
|
1214
1214
|
transform: translateY(0.2rem) scale(1.2);
|
|
1215
1215
|
accent-color: var(--bgl-accent-color);
|
|
1216
1216
|
}
|
|
1217
|
-
th[data-v-
|
|
1217
|
+
th[data-v-8e14fc71]::after {
|
|
1218
1218
|
content: '';
|
|
1219
1219
|
border-bottom: 1px solid var(--border-color);
|
|
1220
1220
|
position: absolute;
|
|
@@ -1222,24 +1222,24 @@ th[data-v-3668ec69]::after {
|
|
|
1222
1222
|
right: 0;
|
|
1223
1223
|
bottom: -1px;
|
|
1224
1224
|
}
|
|
1225
|
-
tr[data-v-
|
|
1225
|
+
tr[data-v-8e14fc71] {
|
|
1226
1226
|
border-bottom: 1px solid var(--border-color);
|
|
1227
1227
|
cursor: pointer;
|
|
1228
1228
|
align-items: center;
|
|
1229
1229
|
}
|
|
1230
|
-
td[data-v-
|
|
1231
|
-
th[data-v-
|
|
1230
|
+
td[data-v-8e14fc71],
|
|
1231
|
+
th[data-v-8e14fc71] {
|
|
1232
1232
|
white-space: nowrap;
|
|
1233
1233
|
padding: 0.75rem 0.65rem;
|
|
1234
1234
|
transition: var(--bgl-transition);
|
|
1235
1235
|
line-height: 1;
|
|
1236
1236
|
}
|
|
1237
|
-
tbody tr[data-v-
|
|
1237
|
+
tbody tr[data-v-8e14fc71] {
|
|
1238
1238
|
font-size: 0.88em;
|
|
1239
|
-
height: var(--
|
|
1239
|
+
height: var(--1ab0cc24);
|
|
1240
1240
|
transition: all 200ms ease;
|
|
1241
1241
|
}
|
|
1242
|
-
tbody tr[data-v-
|
|
1242
|
+
tbody tr[data-v-8e14fc71]:hover {
|
|
1243
1243
|
background: var(--bgl-gray-light);
|
|
1244
1244
|
}
|
|
1245
1245
|
|
package/dist/utils/index.d.ts
CHANGED
|
@@ -27,4 +27,5 @@ export { useLang } from './lang';
|
|
|
27
27
|
export { formatString } from './strings';
|
|
28
28
|
export { useDebounceFn } from '@vueuse/core';
|
|
29
29
|
export declare function pathKeyToURL(pathKey?: string): string | undefined;
|
|
30
|
+
export declare function getNestedValue(obj: any, path?: string, defaultValue?: any): any;
|
|
30
31
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/utils/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,cAAc,EAAE,MAAM,eAAe,CAAA;AAI/D,wBAAgB,QAAQ,CAAC,EAAE,EAAE,MAAM,IAAI,EAAE,IAAI,GAAE,MAAY,QAO1D;AAED,wBAAgB,OAAO,CAAC,GAAG,EAAE,MAAM,UAMlC;AAED,wBAAgB,UAAU,CAAC,GAAG,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAQ3D;AAED,wBAAsB,QAAQ,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,IAAI,iBAGtE;AAED,wBAAgB,QAAQ,CAAC,GAAG,MAAM,EAAE,MAAM,EAAE,UAG3C;AAED,wBAAgB,SAAS,CAAC,KAAK,EAAE,aAAa,EAAE,UAAU,EAAE,MAAM,IAAI,QAIrE;AAED,wBAAgB,QAAQ,CAAC,QAAQ,CAAC,EAAE,GAAG,EAAE,GAAG,CAAC,EAAE,GAAG,EAAE,GAAG,OAAO,EAAE,GAAG,EAAE,UAOpE;AAED,wBAAgB,SAAS,CAAC,CAAC,GAAG;IAAE,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAA;CAAE,EACnD,KAAK,CAAC,EAAE,UAAU,EAClB,QAAQ,CAAC,EAAE,GAAG,EACd,GAAG,CAAC,EAAE,CAAC,OAcP;AAED,wBAAgB,KAAK,CAAC,KAAK,EAAE,GAAG,EAAE,QAAQ,EAAE,GAAG,OAO9C;AAED,wBAAgB,SAAS,CAAC,QAAQ,CAAC,EAAE;IAAE,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAA;CAAE,EAAE,OAAO,CAAC,EAAE,MAAM,OAG5E;AAED,eAAO,MAAM,MAAM,eAAgB,GAAG,YAA0C,CAAA;AAEhF,wBAAgB,iBAAiB,CAAC,CAAC,EAClC,IAAI,CAAC,EAAE,GAAG,EAAE,EACZ,UAAU,CAAC,EAAE,MAAM,EAAE,GACnB,cAAc,CAAC,CAAC,CAAC,CAgBnB;AAED,wBAAgB,KAAK,CAAC,EAAE,GAAE,MAAY,oBAErC;AAED,wBAAgB,YAAY,CAAC,GAAG,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE;IAAE,EAAE,CAAC,EAAE,MAAM,CAAA;CAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAoBlF;AAED,wBAAgB,WAAW,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAatD;AAED,wBAAgB,YAAY,CAAC,GAAG,EAAE,MAAM,UAIvC;AAED,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,EAAE,aAAa,SAAO,GAAG,MAAM,GAAG,SAAS,CAG/G;AAED,OAAO,KAAK,cAAc,MAAM,kBAAkB,CAAA;AAElD,OAAO,EAAE,OAAO,EAAE,MAAM,QAAQ,CAAA;AAEhC,OAAO,EAAE,YAAY,EAAE,MAAM,WAAW,CAAA;AACxC,OAAO,EAAE,aAAa,EAAE,MAAM,cAAc,CAAA;AAK5C,wBAAgB,YAAY,CAAC,OAAO,CAAC,EAAE,MAAM,sBAO5C"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/utils/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,cAAc,EAAE,MAAM,eAAe,CAAA;AAI/D,wBAAgB,QAAQ,CAAC,EAAE,EAAE,MAAM,IAAI,EAAE,IAAI,GAAE,MAAY,QAO1D;AAED,wBAAgB,OAAO,CAAC,GAAG,EAAE,MAAM,UAMlC;AAED,wBAAgB,UAAU,CAAC,GAAG,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAQ3D;AAED,wBAAsB,QAAQ,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,IAAI,iBAGtE;AAED,wBAAgB,QAAQ,CAAC,GAAG,MAAM,EAAE,MAAM,EAAE,UAG3C;AAED,wBAAgB,SAAS,CAAC,KAAK,EAAE,aAAa,EAAE,UAAU,EAAE,MAAM,IAAI,QAIrE;AAED,wBAAgB,QAAQ,CAAC,QAAQ,CAAC,EAAE,GAAG,EAAE,GAAG,CAAC,EAAE,GAAG,EAAE,GAAG,OAAO,EAAE,GAAG,EAAE,UAOpE;AAED,wBAAgB,SAAS,CAAC,CAAC,GAAG;IAAE,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAA;CAAE,EACnD,KAAK,CAAC,EAAE,UAAU,EAClB,QAAQ,CAAC,EAAE,GAAG,EACd,GAAG,CAAC,EAAE,CAAC,OAcP;AAED,wBAAgB,KAAK,CAAC,KAAK,EAAE,GAAG,EAAE,QAAQ,EAAE,GAAG,OAO9C;AAED,wBAAgB,SAAS,CAAC,QAAQ,CAAC,EAAE;IAAE,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAA;CAAE,EAAE,OAAO,CAAC,EAAE,MAAM,OAG5E;AAED,eAAO,MAAM,MAAM,eAAgB,GAAG,YAA0C,CAAA;AAEhF,wBAAgB,iBAAiB,CAAC,CAAC,EAClC,IAAI,CAAC,EAAE,GAAG,EAAE,EACZ,UAAU,CAAC,EAAE,MAAM,EAAE,GACnB,cAAc,CAAC,CAAC,CAAC,CAgBnB;AAED,wBAAgB,KAAK,CAAC,EAAE,GAAE,MAAY,oBAErC;AAED,wBAAgB,YAAY,CAAC,GAAG,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE;IAAE,EAAE,CAAC,EAAE,MAAM,CAAA;CAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAoBlF;AAED,wBAAgB,WAAW,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAatD;AAED,wBAAgB,YAAY,CAAC,GAAG,EAAE,MAAM,UAIvC;AAED,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,EAAE,aAAa,SAAO,GAAG,MAAM,GAAG,SAAS,CAG/G;AAED,OAAO,KAAK,cAAc,MAAM,kBAAkB,CAAA;AAElD,OAAO,EAAE,OAAO,EAAE,MAAM,QAAQ,CAAA;AAEhC,OAAO,EAAE,YAAY,EAAE,MAAM,WAAW,CAAA;AACxC,OAAO,EAAE,aAAa,EAAE,MAAM,cAAc,CAAA;AAK5C,wBAAgB,YAAY,CAAC,OAAO,CAAC,EAAE,MAAM,sBAO5C;AAED,wBAAgB,cAAc,CAAC,GAAG,EAAE,GAAG,EAAE,IAAI,CAAC,EAAE,MAAM,EAAE,YAAY,GAAE,GAAe,GAAG,GAAG,CAa1F"}
|
package/package.json
CHANGED
|
@@ -5,6 +5,7 @@ import type { TableSchemaProps } from '../../types/TableSchema'
|
|
|
5
5
|
import {
|
|
6
6
|
Icon,
|
|
7
7
|
keyToLabel,
|
|
8
|
+
getNestedValue
|
|
8
9
|
} from '@bagelink/vue'
|
|
9
10
|
import { useSlots, watch, computed } from 'vue'
|
|
10
11
|
import { useSchemaField } from '../../composables/useSchemaField'
|
|
@@ -86,7 +87,12 @@ const {
|
|
|
86
87
|
function renderFieldForRow(field: BaseBagelField<T>, row: T) {
|
|
87
88
|
const { renderField } = useSchemaField<T>({
|
|
88
89
|
mode: 'table',
|
|
89
|
-
getRowData: () =>
|
|
90
|
+
getRowData: () => {
|
|
91
|
+
if (field.id) {
|
|
92
|
+
return { [field.id]: getNestedValue(row, field.id) }
|
|
93
|
+
}
|
|
94
|
+
return row
|
|
95
|
+
}
|
|
90
96
|
})
|
|
91
97
|
return renderField({ ...field, label: '' }, slots)
|
|
92
98
|
}
|
|
@@ -3,6 +3,7 @@ import type { BglFormSchemaFnT, Field } from '@bagelink/vue'
|
|
|
3
3
|
import type { VNode } from 'vue'
|
|
4
4
|
import { onMounted, watch, ref } from 'vue'
|
|
5
5
|
import { useSchemaField } from '../../composables/useSchemaField'
|
|
6
|
+
import { getNestedValue } from '../../utils'
|
|
6
7
|
|
|
7
8
|
export interface BagelFormProps<_T> {
|
|
8
9
|
modelValue?: _T
|
|
@@ -65,18 +66,6 @@ const isDirty = $computed(() => {
|
|
|
65
66
|
}
|
|
66
67
|
})
|
|
67
68
|
|
|
68
|
-
function getNestedValue(obj: any, path: string) {
|
|
69
|
-
const keys = path.split('.')
|
|
70
|
-
let current = obj
|
|
71
|
-
|
|
72
|
-
for (const key of keys) {
|
|
73
|
-
if (current === undefined || current === null) return undefined
|
|
74
|
-
current = current[key]
|
|
75
|
-
}
|
|
76
|
-
|
|
77
|
-
return current
|
|
78
|
-
}
|
|
79
|
-
|
|
80
69
|
function updateFormData(fieldId: string, value: any) {
|
|
81
70
|
const keys = fieldId.split('.')
|
|
82
71
|
const newData = safeClone(formData.value) as Record<string, any>
|
|
@@ -124,7 +113,7 @@ const { renderField } = useSchemaField<T>({
|
|
|
124
113
|
return {
|
|
125
114
|
...formData.value,
|
|
126
115
|
// Add a special getter to handle nested paths
|
|
127
|
-
get: (path: string) => getNestedValue(formData.value, path)
|
|
116
|
+
get: (path: string) => getNestedValue(formData.value, path, '')
|
|
128
117
|
}
|
|
129
118
|
},
|
|
130
119
|
onUpdate: (field, value) => {
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import type { Ref } from 'vue'
|
|
2
2
|
import { inject, provide, ref } from 'vue'
|
|
3
|
+
import { getNestedValue } from '../../utils'
|
|
3
4
|
|
|
4
5
|
export const FORM_STATE_KEY = Symbol('bagelFormState')
|
|
5
6
|
|
|
@@ -30,20 +31,7 @@ export function provideBagelFormState<T>(initialData: T) {
|
|
|
30
31
|
const data = ref(initialData) as Ref<T>
|
|
31
32
|
const isDirty = ref(false)
|
|
32
33
|
|
|
33
|
-
const getFieldData = (path?: string) =>
|
|
34
|
-
if (!path) return ''
|
|
35
|
-
const keys = path.split(/[.[]/)
|
|
36
|
-
let current = data.value as any
|
|
37
|
-
|
|
38
|
-
for (let i = 0; i < keys.length; i++) {
|
|
39
|
-
const key = keys[i]
|
|
40
|
-
if (!current || typeof current !== 'object' || !(key in current)) {
|
|
41
|
-
return ''
|
|
42
|
-
}
|
|
43
|
-
current = current[key]
|
|
44
|
-
}
|
|
45
|
-
return current ?? ''
|
|
46
|
-
}
|
|
34
|
+
const getFieldData = (path?: string) => getNestedValue(data.value, path, '')
|
|
47
35
|
|
|
48
36
|
const updateField = (path: string, value: any) => {
|
|
49
37
|
const keys = path.split(/[.[]/)
|
package/src/utils/index.ts
CHANGED
|
@@ -180,3 +180,18 @@ export function pathKeyToURL(pathKey?: string) {
|
|
|
180
180
|
}
|
|
181
181
|
return `${fileBaseUrl}/${pathKey}`
|
|
182
182
|
}
|
|
183
|
+
|
|
184
|
+
export function getNestedValue(obj: any, path?: string, defaultValue: any = undefined): any {
|
|
185
|
+
if (!path) return obj
|
|
186
|
+
const keys = path.split(/[.[]/)
|
|
187
|
+
let current = obj
|
|
188
|
+
|
|
189
|
+
for (const key of keys) {
|
|
190
|
+
if (!current || typeof current !== 'object' || !(key in current)) {
|
|
191
|
+
return defaultValue
|
|
192
|
+
}
|
|
193
|
+
current = current[key]
|
|
194
|
+
}
|
|
195
|
+
|
|
196
|
+
return current ?? defaultValue
|
|
197
|
+
}
|