@mongoosejs/studio 0.5.4 → 0.5.5
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/backend/actions/Model/analyzeSchema.js +202 -0
- package/backend/actions/Model/index.js +2 -0
- package/backend/actions/Model/validateDocument.js +35 -0
- package/backend/authorize.js +2 -0
- package/backend/helpers/validateDocumentWithTimeout.js +39 -0
- package/frontend/public/app.js +639 -99
- package/frontend/public/tw.css +221 -28
- package/frontend/src/api.js +12 -0
- package/frontend/src/array-utils.js +60 -2
- package/frontend/src/detail-array/detail-array.html +98 -14
- package/frontend/src/detail-array/detail-array.js +73 -3
- package/frontend/src/document/document.html +51 -0
- package/frontend/src/document/document.js +13 -0
- package/frontend/src/document-details/document-details.html +10 -3
- package/frontend/src/document-details/document-details.js +28 -0
- package/frontend/src/document-details/document-property/document-property.html +36 -44
- package/frontend/src/document-details/document-property/document-property.js +78 -14
- package/frontend/src/edit-array/edit-array.html +143 -8
- package/frontend/src/edit-array/edit-array.js +104 -2
- package/frontend/src/models/analyze-schema-modal/analyze-schema-modal.html +169 -0
- package/frontend/src/models/analyze-schema-modal/analyze-schema-modal.js +149 -0
- package/frontend/src/models/models.html +25 -13
- package/frontend/src/models/models.js +5 -13
- package/package.json +2 -1
package/frontend/public/tw.css
CHANGED
|
@@ -663,10 +663,6 @@ video {
|
|
|
663
663
|
left: -0.25rem;
|
|
664
664
|
}
|
|
665
665
|
|
|
666
|
-
.-left-2 {
|
|
667
|
-
left: -0.5rem;
|
|
668
|
-
}
|
|
669
|
-
|
|
670
666
|
.-left-3 {
|
|
671
667
|
left: -0.75rem;
|
|
672
668
|
}
|
|
@@ -791,6 +787,10 @@ video {
|
|
|
791
787
|
z-index: 100;
|
|
792
788
|
}
|
|
793
789
|
|
|
790
|
+
.z-\[1\] {
|
|
791
|
+
z-index: 1;
|
|
792
|
+
}
|
|
793
|
+
|
|
794
794
|
.z-\[9999\] {
|
|
795
795
|
z-index: 9999;
|
|
796
796
|
}
|
|
@@ -1068,6 +1068,10 @@ video {
|
|
|
1068
1068
|
height: 4rem;
|
|
1069
1069
|
}
|
|
1070
1070
|
|
|
1071
|
+
.h-20 {
|
|
1072
|
+
height: 5rem;
|
|
1073
|
+
}
|
|
1074
|
+
|
|
1071
1075
|
.h-3 {
|
|
1072
1076
|
height: 0.75rem;
|
|
1073
1077
|
}
|
|
@@ -1096,6 +1100,10 @@ video {
|
|
|
1096
1100
|
height: 16rem;
|
|
1097
1101
|
}
|
|
1098
1102
|
|
|
1103
|
+
.h-7 {
|
|
1104
|
+
height: 1.75rem;
|
|
1105
|
+
}
|
|
1106
|
+
|
|
1099
1107
|
.h-8 {
|
|
1100
1108
|
height: 2rem;
|
|
1101
1109
|
}
|
|
@@ -1140,6 +1148,10 @@ video {
|
|
|
1140
1148
|
max-height: 12rem;
|
|
1141
1149
|
}
|
|
1142
1150
|
|
|
1151
|
+
.max-h-72 {
|
|
1152
|
+
max-height: 18rem;
|
|
1153
|
+
}
|
|
1154
|
+
|
|
1143
1155
|
.max-h-80 {
|
|
1144
1156
|
max-height: 20rem;
|
|
1145
1157
|
}
|
|
@@ -1152,6 +1164,10 @@ video {
|
|
|
1152
1164
|
max-height: 50vh;
|
|
1153
1165
|
}
|
|
1154
1166
|
|
|
1167
|
+
.max-h-\[55vh\] {
|
|
1168
|
+
max-height: 55vh;
|
|
1169
|
+
}
|
|
1170
|
+
|
|
1155
1171
|
.min-h-0 {
|
|
1156
1172
|
min-height: 0px;
|
|
1157
1173
|
}
|
|
@@ -1208,6 +1224,10 @@ video {
|
|
|
1208
1224
|
width: 0.375rem;
|
|
1209
1225
|
}
|
|
1210
1226
|
|
|
1227
|
+
.w-10 {
|
|
1228
|
+
width: 2.5rem;
|
|
1229
|
+
}
|
|
1230
|
+
|
|
1211
1231
|
.w-12 {
|
|
1212
1232
|
width: 3rem;
|
|
1213
1233
|
}
|
|
@@ -1216,6 +1236,18 @@ video {
|
|
|
1216
1236
|
width: 4rem;
|
|
1217
1237
|
}
|
|
1218
1238
|
|
|
1239
|
+
.w-20 {
|
|
1240
|
+
width: 5rem;
|
|
1241
|
+
}
|
|
1242
|
+
|
|
1243
|
+
.w-24 {
|
|
1244
|
+
width: 6rem;
|
|
1245
|
+
}
|
|
1246
|
+
|
|
1247
|
+
.w-28 {
|
|
1248
|
+
width: 7rem;
|
|
1249
|
+
}
|
|
1250
|
+
|
|
1219
1251
|
.w-3 {
|
|
1220
1252
|
width: 0.75rem;
|
|
1221
1253
|
}
|
|
@@ -1224,6 +1256,10 @@ video {
|
|
|
1224
1256
|
width: 0.875rem;
|
|
1225
1257
|
}
|
|
1226
1258
|
|
|
1259
|
+
.w-32 {
|
|
1260
|
+
width: 8rem;
|
|
1261
|
+
}
|
|
1262
|
+
|
|
1227
1263
|
.w-36 {
|
|
1228
1264
|
width: 9rem;
|
|
1229
1265
|
}
|
|
@@ -1276,6 +1312,14 @@ video {
|
|
|
1276
1312
|
width: 240px;
|
|
1277
1313
|
}
|
|
1278
1314
|
|
|
1315
|
+
.w-\[40\%\] {
|
|
1316
|
+
width: 40%;
|
|
1317
|
+
}
|
|
1318
|
+
|
|
1319
|
+
.w-\[60\%\] {
|
|
1320
|
+
width: 60%;
|
|
1321
|
+
}
|
|
1322
|
+
|
|
1279
1323
|
.w-\[calc\(100\%-1rem\)\] {
|
|
1280
1324
|
width: calc(100% - 1rem);
|
|
1281
1325
|
}
|
|
@@ -1300,6 +1344,10 @@ video {
|
|
|
1300
1344
|
min-width: 220px;
|
|
1301
1345
|
}
|
|
1302
1346
|
|
|
1347
|
+
.min-w-\[260px\] {
|
|
1348
|
+
min-width: 260px;
|
|
1349
|
+
}
|
|
1350
|
+
|
|
1303
1351
|
.min-w-\[7rem\] {
|
|
1304
1352
|
min-width: 7rem;
|
|
1305
1353
|
}
|
|
@@ -1308,6 +1356,10 @@ video {
|
|
|
1308
1356
|
min-width: 80px;
|
|
1309
1357
|
}
|
|
1310
1358
|
|
|
1359
|
+
.min-w-\[8rem\] {
|
|
1360
|
+
min-width: 8rem;
|
|
1361
|
+
}
|
|
1362
|
+
|
|
1311
1363
|
.min-w-full {
|
|
1312
1364
|
min-width: 100%;
|
|
1313
1365
|
}
|
|
@@ -1348,6 +1400,10 @@ video {
|
|
|
1348
1400
|
max-width: 32rem;
|
|
1349
1401
|
}
|
|
1350
1402
|
|
|
1403
|
+
.max-w-md {
|
|
1404
|
+
max-width: 28rem;
|
|
1405
|
+
}
|
|
1406
|
+
|
|
1351
1407
|
.max-w-xl {
|
|
1352
1408
|
max-width: 36rem;
|
|
1353
1409
|
}
|
|
@@ -1388,6 +1444,10 @@ video {
|
|
|
1388
1444
|
flex-grow: 1;
|
|
1389
1445
|
}
|
|
1390
1446
|
|
|
1447
|
+
.table-fixed {
|
|
1448
|
+
table-layout: fixed;
|
|
1449
|
+
}
|
|
1450
|
+
|
|
1391
1451
|
.border-collapse {
|
|
1392
1452
|
border-collapse: collapse;
|
|
1393
1453
|
}
|
|
@@ -1455,6 +1515,16 @@ video {
|
|
|
1455
1515
|
transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
|
|
1456
1516
|
}
|
|
1457
1517
|
|
|
1518
|
+
@keyframes pulse {
|
|
1519
|
+
50% {
|
|
1520
|
+
opacity: .5;
|
|
1521
|
+
}
|
|
1522
|
+
}
|
|
1523
|
+
|
|
1524
|
+
.animate-pulse {
|
|
1525
|
+
animation: pulse 2s cubic-bezier(0.4, 0, 0.6, 1) infinite;
|
|
1526
|
+
}
|
|
1527
|
+
|
|
1458
1528
|
@keyframes spin {
|
|
1459
1529
|
to {
|
|
1460
1530
|
transform: rotate(360deg);
|
|
@@ -1485,6 +1555,10 @@ video {
|
|
|
1485
1555
|
resize: none;
|
|
1486
1556
|
}
|
|
1487
1557
|
|
|
1558
|
+
.resize-y {
|
|
1559
|
+
resize: vertical;
|
|
1560
|
+
}
|
|
1561
|
+
|
|
1488
1562
|
.list-disc {
|
|
1489
1563
|
list-style-type: disc;
|
|
1490
1564
|
}
|
|
@@ -1649,6 +1723,10 @@ video {
|
|
|
1649
1723
|
border-bottom-width: calc(1px * var(--tw-divide-y-reverse));
|
|
1650
1724
|
}
|
|
1651
1725
|
|
|
1726
|
+
.divide-edge > :not([hidden]) ~ :not([hidden]) {
|
|
1727
|
+
border-color: var(--color-edge);
|
|
1728
|
+
}
|
|
1729
|
+
|
|
1652
1730
|
.divide-gray-100 > :not([hidden]) ~ :not([hidden]) {
|
|
1653
1731
|
--tw-divide-opacity: 1;
|
|
1654
1732
|
border-color: rgb(243 244 246 / var(--tw-divide-opacity));
|
|
@@ -1931,9 +2009,9 @@ video {
|
|
|
1931
2009
|
border-color: rgb(254 240 138 / var(--tw-border-opacity));
|
|
1932
2010
|
}
|
|
1933
2011
|
|
|
1934
|
-
.border-l-
|
|
2012
|
+
.border-l-slate-100 {
|
|
1935
2013
|
--tw-border-opacity: 1;
|
|
1936
|
-
border-left-color: rgb(
|
|
2014
|
+
border-left-color: rgb(241 245 249 / var(--tw-border-opacity));
|
|
1937
2015
|
}
|
|
1938
2016
|
|
|
1939
2017
|
.border-r-gray-900 {
|
|
@@ -1945,16 +2023,6 @@ video {
|
|
|
1945
2023
|
background-color: var(--color-surface) !important;
|
|
1946
2024
|
}
|
|
1947
2025
|
|
|
1948
|
-
.bg-amber-100 {
|
|
1949
|
-
--tw-bg-opacity: 1;
|
|
1950
|
-
background-color: rgb(254 243 199 / var(--tw-bg-opacity));
|
|
1951
|
-
}
|
|
1952
|
-
|
|
1953
|
-
.bg-amber-200 {
|
|
1954
|
-
--tw-bg-opacity: 1;
|
|
1955
|
-
background-color: rgb(253 230 138 / var(--tw-bg-opacity));
|
|
1956
|
-
}
|
|
1957
|
-
|
|
1958
2026
|
.bg-black {
|
|
1959
2027
|
--tw-bg-opacity: 1;
|
|
1960
2028
|
background-color: rgb(0 0 0 / var(--tw-bg-opacity));
|
|
@@ -2059,6 +2127,15 @@ video {
|
|
|
2059
2127
|
background-color: rgb(79 70 229 / var(--tw-bg-opacity));
|
|
2060
2128
|
}
|
|
2061
2129
|
|
|
2130
|
+
.bg-inherit {
|
|
2131
|
+
background-color: inherit;
|
|
2132
|
+
}
|
|
2133
|
+
|
|
2134
|
+
.bg-merlot-700 {
|
|
2135
|
+
--tw-bg-opacity: 1;
|
|
2136
|
+
background-color: rgb(176 32 43 / var(--tw-bg-opacity));
|
|
2137
|
+
}
|
|
2138
|
+
|
|
2062
2139
|
.bg-muted {
|
|
2063
2140
|
background-color: var(--color-muted);
|
|
2064
2141
|
}
|
|
@@ -2129,6 +2206,10 @@ video {
|
|
|
2129
2206
|
background-color: rgb(248 250 252 / 0.5);
|
|
2130
2207
|
}
|
|
2131
2208
|
|
|
2209
|
+
.bg-slate-50\/90 {
|
|
2210
|
+
background-color: rgb(248 250 252 / 0.9);
|
|
2211
|
+
}
|
|
2212
|
+
|
|
2132
2213
|
.bg-slate-500 {
|
|
2133
2214
|
--tw-bg-opacity: 1;
|
|
2134
2215
|
background-color: rgb(100 116 139 / var(--tw-bg-opacity));
|
|
@@ -2314,6 +2395,11 @@ video {
|
|
|
2314
2395
|
padding-right: 1.5rem;
|
|
2315
2396
|
}
|
|
2316
2397
|
|
|
2398
|
+
.px-px {
|
|
2399
|
+
padding-left: 1px;
|
|
2400
|
+
padding-right: 1px;
|
|
2401
|
+
}
|
|
2402
|
+
|
|
2317
2403
|
.py-0 {
|
|
2318
2404
|
padding-top: 0px;
|
|
2319
2405
|
padding-bottom: 0px;
|
|
@@ -2334,6 +2420,11 @@ video {
|
|
|
2334
2420
|
padding-bottom: 0.375rem;
|
|
2335
2421
|
}
|
|
2336
2422
|
|
|
2423
|
+
.py-10 {
|
|
2424
|
+
padding-top: 2.5rem;
|
|
2425
|
+
padding-bottom: 2.5rem;
|
|
2426
|
+
}
|
|
2427
|
+
|
|
2337
2428
|
.py-12 {
|
|
2338
2429
|
padding-top: 3rem;
|
|
2339
2430
|
padding-bottom: 3rem;
|
|
@@ -2384,6 +2475,11 @@ video {
|
|
|
2384
2475
|
padding-bottom: 1px;
|
|
2385
2476
|
}
|
|
2386
2477
|
|
|
2478
|
+
.py-px {
|
|
2479
|
+
padding-top: 1px;
|
|
2480
|
+
padding-bottom: 1px;
|
|
2481
|
+
}
|
|
2482
|
+
|
|
2387
2483
|
.pb-1 {
|
|
2388
2484
|
padding-bottom: 0.25rem;
|
|
2389
2485
|
}
|
|
@@ -2408,6 +2504,10 @@ video {
|
|
|
2408
2504
|
padding-left: 2.5rem;
|
|
2409
2505
|
}
|
|
2410
2506
|
|
|
2507
|
+
.pl-2 {
|
|
2508
|
+
padding-left: 0.5rem;
|
|
2509
|
+
}
|
|
2510
|
+
|
|
2411
2511
|
.pl-3 {
|
|
2412
2512
|
padding-left: 0.75rem;
|
|
2413
2513
|
}
|
|
@@ -2428,6 +2528,10 @@ video {
|
|
|
2428
2528
|
padding-right: 3rem;
|
|
2429
2529
|
}
|
|
2430
2530
|
|
|
2531
|
+
.pr-16 {
|
|
2532
|
+
padding-right: 4rem;
|
|
2533
|
+
}
|
|
2534
|
+
|
|
2431
2535
|
.pr-2 {
|
|
2432
2536
|
padding-right: 0.5rem;
|
|
2433
2537
|
}
|
|
@@ -2568,6 +2672,10 @@ video {
|
|
|
2568
2672
|
line-height: 1;
|
|
2569
2673
|
}
|
|
2570
2674
|
|
|
2675
|
+
.leading-snug {
|
|
2676
|
+
line-height: 1.375;
|
|
2677
|
+
}
|
|
2678
|
+
|
|
2571
2679
|
.leading-tight {
|
|
2572
2680
|
line-height: 1.25;
|
|
2573
2681
|
}
|
|
@@ -2677,6 +2785,11 @@ video {
|
|
|
2677
2785
|
color: rgb(20 83 45 / var(--tw-text-opacity));
|
|
2678
2786
|
}
|
|
2679
2787
|
|
|
2788
|
+
.text-merlot-700 {
|
|
2789
|
+
--tw-text-opacity: 1;
|
|
2790
|
+
color: rgb(176 32 43 / var(--tw-text-opacity));
|
|
2791
|
+
}
|
|
2792
|
+
|
|
2680
2793
|
.text-primary {
|
|
2681
2794
|
color: var(--color-primary);
|
|
2682
2795
|
}
|
|
@@ -2950,6 +3063,10 @@ video {
|
|
|
2950
3063
|
--tw-ring-color: rgb(0 0 0 / 0.05);
|
|
2951
3064
|
}
|
|
2952
3065
|
|
|
3066
|
+
.ring-edge-strong {
|
|
3067
|
+
--tw-ring-color: var(--color-edge-strong);
|
|
3068
|
+
}
|
|
3069
|
+
|
|
2953
3070
|
.ring-gray-300 {
|
|
2954
3071
|
--tw-ring-opacity: 1;
|
|
2955
3072
|
--tw-ring-color: rgb(209 213 219 / var(--tw-ring-opacity));
|
|
@@ -3090,6 +3207,10 @@ video {
|
|
|
3090
3207
|
margin-bottom: 0px;
|
|
3091
3208
|
}
|
|
3092
3209
|
|
|
3210
|
+
.last\:border-b-0:last-child {
|
|
3211
|
+
border-bottom-width: 0px;
|
|
3212
|
+
}
|
|
3213
|
+
|
|
3093
3214
|
.last\:border-r-0:last-child {
|
|
3094
3215
|
border-right-width: 0px;
|
|
3095
3216
|
}
|
|
@@ -3182,14 +3303,9 @@ video {
|
|
|
3182
3303
|
border-color: rgb(253 224 71 / var(--tw-border-opacity));
|
|
3183
3304
|
}
|
|
3184
3305
|
|
|
3185
|
-
.hover\:border-l-
|
|
3306
|
+
.hover\:border-l-slate-100:hover {
|
|
3186
3307
|
--tw-border-opacity: 1;
|
|
3187
|
-
border-left-color: rgb(
|
|
3188
|
-
}
|
|
3189
|
-
|
|
3190
|
-
.hover\:bg-amber-200:hover {
|
|
3191
|
-
--tw-bg-opacity: 1;
|
|
3192
|
-
background-color: rgb(253 230 138 / var(--tw-bg-opacity));
|
|
3308
|
+
border-left-color: rgb(241 245 249 / var(--tw-border-opacity));
|
|
3193
3309
|
}
|
|
3194
3310
|
|
|
3195
3311
|
.hover\:bg-blue-100:hover {
|
|
@@ -3308,6 +3424,11 @@ video {
|
|
|
3308
3424
|
background-color: rgb(241 245 249 / var(--tw-bg-opacity));
|
|
3309
3425
|
}
|
|
3310
3426
|
|
|
3427
|
+
.hover\:bg-slate-200:hover {
|
|
3428
|
+
--tw-bg-opacity: 1;
|
|
3429
|
+
background-color: rgb(226 232 240 / var(--tw-bg-opacity));
|
|
3430
|
+
}
|
|
3431
|
+
|
|
3311
3432
|
.hover\:bg-slate-400:hover {
|
|
3312
3433
|
--tw-bg-opacity: 1;
|
|
3313
3434
|
background-color: rgb(148 163 184 / var(--tw-bg-opacity));
|
|
@@ -3318,6 +3439,14 @@ video {
|
|
|
3318
3439
|
background-color: rgb(248 250 252 / var(--tw-bg-opacity));
|
|
3319
3440
|
}
|
|
3320
3441
|
|
|
3442
|
+
.hover\:bg-slate-50\/60:hover {
|
|
3443
|
+
background-color: rgb(248 250 252 / 0.6);
|
|
3444
|
+
}
|
|
3445
|
+
|
|
3446
|
+
.hover\:bg-slate-50\/80:hover {
|
|
3447
|
+
background-color: rgb(248 250 252 / 0.8);
|
|
3448
|
+
}
|
|
3449
|
+
|
|
3321
3450
|
.hover\:bg-slate-500:hover {
|
|
3322
3451
|
--tw-bg-opacity: 1;
|
|
3323
3452
|
background-color: rgb(100 116 139 / var(--tw-bg-opacity));
|
|
@@ -3378,11 +3507,6 @@ video {
|
|
|
3378
3507
|
--tw-gradient-to: #b91c1c var(--tw-gradient-to-position);
|
|
3379
3508
|
}
|
|
3380
3509
|
|
|
3381
|
-
.hover\:text-blue-800:hover {
|
|
3382
|
-
--tw-text-opacity: 1;
|
|
3383
|
-
color: rgb(30 64 175 / var(--tw-text-opacity));
|
|
3384
|
-
}
|
|
3385
|
-
|
|
3386
3510
|
.hover\:text-content:hover {
|
|
3387
3511
|
color: var(--color-content);
|
|
3388
3512
|
}
|
|
@@ -3406,6 +3530,11 @@ video {
|
|
|
3406
3530
|
color: rgb(31 41 55 / var(--tw-text-opacity));
|
|
3407
3531
|
}
|
|
3408
3532
|
|
|
3533
|
+
.hover\:text-merlot-900:hover {
|
|
3534
|
+
--tw-text-opacity: 1;
|
|
3535
|
+
color: rgb(127 29 43 / var(--tw-text-opacity));
|
|
3536
|
+
}
|
|
3537
|
+
|
|
3409
3538
|
.hover\:text-primary:hover {
|
|
3410
3539
|
color: var(--color-primary);
|
|
3411
3540
|
}
|
|
@@ -3658,6 +3787,10 @@ video {
|
|
|
3658
3787
|
cursor: not-allowed;
|
|
3659
3788
|
}
|
|
3660
3789
|
|
|
3790
|
+
.disabled\:cursor-wait:disabled {
|
|
3791
|
+
cursor: wait;
|
|
3792
|
+
}
|
|
3793
|
+
|
|
3661
3794
|
.disabled\:bg-gray-400:disabled {
|
|
3662
3795
|
--tw-bg-opacity: 1;
|
|
3663
3796
|
background-color: rgb(156 163 175 / var(--tw-bg-opacity));
|
|
@@ -3668,10 +3801,18 @@ video {
|
|
|
3668
3801
|
background-color: rgb(75 85 99 / var(--tw-bg-opacity));
|
|
3669
3802
|
}
|
|
3670
3803
|
|
|
3804
|
+
.disabled\:bg-muted:disabled {
|
|
3805
|
+
background-color: var(--color-muted);
|
|
3806
|
+
}
|
|
3807
|
+
|
|
3671
3808
|
.disabled\:bg-page:disabled {
|
|
3672
3809
|
background-color: var(--color-page);
|
|
3673
3810
|
}
|
|
3674
3811
|
|
|
3812
|
+
.disabled\:text-content-tertiary:disabled {
|
|
3813
|
+
color: var(--color-content-tertiary);
|
|
3814
|
+
}
|
|
3815
|
+
|
|
3675
3816
|
.disabled\:text-gray-300:disabled {
|
|
3676
3817
|
--tw-text-opacity: 1;
|
|
3677
3818
|
color: rgb(209 213 219 / var(--tw-text-opacity));
|
|
@@ -3682,6 +3823,10 @@ video {
|
|
|
3682
3823
|
color: rgb(156 163 175 / var(--tw-text-opacity));
|
|
3683
3824
|
}
|
|
3684
3825
|
|
|
3826
|
+
.disabled\:opacity-40:disabled {
|
|
3827
|
+
opacity: 0.4;
|
|
3828
|
+
}
|
|
3829
|
+
|
|
3685
3830
|
.disabled\:opacity-50:disabled {
|
|
3686
3831
|
opacity: 0.5;
|
|
3687
3832
|
}
|
|
@@ -3743,6 +3888,10 @@ video {
|
|
|
3743
3888
|
height: 1rem;
|
|
3744
3889
|
}
|
|
3745
3890
|
|
|
3891
|
+
.sm\:max-w-md {
|
|
3892
|
+
max-width: 28rem;
|
|
3893
|
+
}
|
|
3894
|
+
|
|
3746
3895
|
.sm\:flex-none {
|
|
3747
3896
|
flex: none;
|
|
3748
3897
|
}
|
|
@@ -3767,6 +3916,10 @@ video {
|
|
|
3767
3916
|
align-items: center;
|
|
3768
3917
|
}
|
|
3769
3918
|
|
|
3919
|
+
.sm\:gap-3 {
|
|
3920
|
+
gap: 0.75rem;
|
|
3921
|
+
}
|
|
3922
|
+
|
|
3770
3923
|
.sm\:rounded-xl {
|
|
3771
3924
|
border-radius: 0.75rem;
|
|
3772
3925
|
}
|
|
@@ -3812,10 +3965,26 @@ video {
|
|
|
3812
3965
|
display: none;
|
|
3813
3966
|
}
|
|
3814
3967
|
|
|
3968
|
+
.md\:\!w-\[70vw\] {
|
|
3969
|
+
width: 70vw !important;
|
|
3970
|
+
}
|
|
3971
|
+
|
|
3815
3972
|
.md\:grid-cols-2 {
|
|
3816
3973
|
grid-template-columns: repeat(2, minmax(0, 1fr));
|
|
3817
3974
|
}
|
|
3818
3975
|
|
|
3976
|
+
.md\:grid-cols-4 {
|
|
3977
|
+
grid-template-columns: repeat(4, minmax(0, 1fr));
|
|
3978
|
+
}
|
|
3979
|
+
|
|
3980
|
+
.md\:grid-cols-\[minmax\(160px\2c 220px\)_1fr\] {
|
|
3981
|
+
grid-template-columns: minmax(160px,220px) 1fr;
|
|
3982
|
+
}
|
|
3983
|
+
|
|
3984
|
+
.md\:grid-cols-\[minmax\(180px\2c 240px\)_1fr\] {
|
|
3985
|
+
grid-template-columns: minmax(180px,240px) 1fr;
|
|
3986
|
+
}
|
|
3987
|
+
|
|
3819
3988
|
.md\:gap-3 {
|
|
3820
3989
|
gap: 0.75rem;
|
|
3821
3990
|
}
|
|
@@ -3848,6 +4017,10 @@ video {
|
|
|
3848
4017
|
margin-right: -2rem;
|
|
3849
4018
|
}
|
|
3850
4019
|
|
|
4020
|
+
.lg\:ml-auto {
|
|
4021
|
+
margin-left: auto;
|
|
4022
|
+
}
|
|
4023
|
+
|
|
3851
4024
|
.lg\:flex {
|
|
3852
4025
|
display: flex;
|
|
3853
4026
|
}
|
|
@@ -3868,6 +4041,10 @@ video {
|
|
|
3868
4041
|
width: 16rem;
|
|
3869
4042
|
}
|
|
3870
4043
|
|
|
4044
|
+
.lg\:max-w-\[18rem\] {
|
|
4045
|
+
max-width: 18rem;
|
|
4046
|
+
}
|
|
4047
|
+
|
|
3871
4048
|
.lg\:max-w-\[calc\(100vw-20rem\)\] {
|
|
3872
4049
|
max-width: calc(100vw - 20rem);
|
|
3873
4050
|
}
|
|
@@ -3877,6 +4054,18 @@ video {
|
|
|
3877
4054
|
transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
|
|
3878
4055
|
}
|
|
3879
4056
|
|
|
4057
|
+
.lg\:flex-row {
|
|
4058
|
+
flex-direction: row;
|
|
4059
|
+
}
|
|
4060
|
+
|
|
4061
|
+
.lg\:items-center {
|
|
4062
|
+
align-items: center;
|
|
4063
|
+
}
|
|
4064
|
+
|
|
4065
|
+
.lg\:gap-4 {
|
|
4066
|
+
gap: 1rem;
|
|
4067
|
+
}
|
|
4068
|
+
|
|
3880
4069
|
.lg\:\!border-r-0 {
|
|
3881
4070
|
border-right-width: 0px !important;
|
|
3882
4071
|
}
|
|
@@ -3885,6 +4074,10 @@ video {
|
|
|
3885
4074
|
padding-left: 2rem;
|
|
3886
4075
|
padding-right: 2rem;
|
|
3887
4076
|
}
|
|
4077
|
+
|
|
4078
|
+
.lg\:text-right {
|
|
4079
|
+
text-align: right;
|
|
4080
|
+
}
|
|
3888
4081
|
}
|
|
3889
4082
|
|
|
3890
4083
|
@media (min-width: 1280px) {
|
package/frontend/src/api.js
CHANGED
|
@@ -168,6 +168,9 @@ if (window.MONGOOSE_STUDIO_CONFIG.isLambda) {
|
|
|
168
168
|
addField(params) {
|
|
169
169
|
return client.post('', { action: 'Model.addField', ...params }).then(res => res.data);
|
|
170
170
|
},
|
|
171
|
+
analyzeSchema(params) {
|
|
172
|
+
return client.post('', { action: 'Model.analyzeSchema', ...params }).then(res => res.data);
|
|
173
|
+
},
|
|
171
174
|
createChart(params) {
|
|
172
175
|
return client.post('', { action: 'Model.createChart', ...params }).then(res => res.data);
|
|
173
176
|
},
|
|
@@ -183,6 +186,9 @@ if (window.MONGOOSE_STUDIO_CONFIG.isLambda) {
|
|
|
183
186
|
executeDocumentScript(params) {
|
|
184
187
|
return client.post('', { action: 'Model.executeDocumentScript', ...params }).then(res => res.data);
|
|
185
188
|
},
|
|
189
|
+
validateDocument(params) {
|
|
190
|
+
return client.post('', { action: 'Model.validateDocument', ...params }).then(res => res.data);
|
|
191
|
+
},
|
|
186
192
|
exportQueryResults(params) {
|
|
187
193
|
const accessToken = window.localStorage.getItem('_mongooseStudioAccessToken') || null;
|
|
188
194
|
|
|
@@ -439,6 +445,9 @@ if (window.MONGOOSE_STUDIO_CONFIG.isLambda) {
|
|
|
439
445
|
getCollectionInfo: function getCollectionInfo(params) {
|
|
440
446
|
return client.post('/Model/getCollectionInfo', params).then(res => res.data);
|
|
441
447
|
},
|
|
448
|
+
analyzeSchema: function analyzeSchema(params) {
|
|
449
|
+
return client.post('/Model/analyzeSchema', params).then(res => res.data);
|
|
450
|
+
},
|
|
442
451
|
getIndexes: function getIndexes(params) {
|
|
443
452
|
return client.post('/Model/getIndexes', params).then(res => res.data);
|
|
444
453
|
},
|
|
@@ -451,6 +460,9 @@ if (window.MONGOOSE_STUDIO_CONFIG.isLambda) {
|
|
|
451
460
|
updateDocument: function updateDocument(params) {
|
|
452
461
|
return client.post('/Model/updateDocument', params).then(res => res.data);
|
|
453
462
|
},
|
|
463
|
+
validateDocument: function validateDocument(params) {
|
|
464
|
+
return client.post('/Model/validateDocument', params).then(res => res.data);
|
|
465
|
+
},
|
|
454
466
|
streamChatMessage: async function* streamChatMessage(params) {
|
|
455
467
|
const accessToken = window.localStorage.getItem('_mongooseStudioAccessToken') || null;
|
|
456
468
|
const url = window.MONGOOSE_STUDIO_CONFIG.baseURL + '/Model/streamChatMessage?' + new URLSearchParams(params).toString();
|
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
3
|
const { inspect } = require('node-inspect-extracted');
|
|
4
|
-
const deepEqual = require('./_util/deepEqual');
|
|
5
4
|
|
|
6
5
|
/**
|
|
7
6
|
* Format a value for display in array views
|
|
@@ -59,9 +58,68 @@ function formatItemValue(item, key) {
|
|
|
59
58
|
return String(value);
|
|
60
59
|
}
|
|
61
60
|
|
|
61
|
+
/**
|
|
62
|
+
* True when every element is a plain object (empty array counts as eligible).
|
|
63
|
+
*/
|
|
64
|
+
function isArrayOfObjects(arr) {
|
|
65
|
+
return Array.isArray(arr) && arr.every(item => isObjectItem(item));
|
|
66
|
+
}
|
|
67
|
+
|
|
68
|
+
/**
|
|
69
|
+
* Sorted union of keys across plain object elements.
|
|
70
|
+
*/
|
|
71
|
+
function unionKeysForArrayOfObjects(arr) {
|
|
72
|
+
if (!Array.isArray(arr)) {
|
|
73
|
+
return [];
|
|
74
|
+
}
|
|
75
|
+
const set = new Set();
|
|
76
|
+
for (const item of arr) {
|
|
77
|
+
if (!isObjectItem(item)) {
|
|
78
|
+
continue;
|
|
79
|
+
}
|
|
80
|
+
for (const k of Object.keys(item)) {
|
|
81
|
+
set.add(k);
|
|
82
|
+
}
|
|
83
|
+
}
|
|
84
|
+
return Array.from(set).sort((a, b) => a.localeCompare(b));
|
|
85
|
+
}
|
|
86
|
+
|
|
87
|
+
/**
|
|
88
|
+
* Flat text for substring search over one array element (field names + values, or whole item).
|
|
89
|
+
* @param {*} item
|
|
90
|
+
* @returns {string}
|
|
91
|
+
*/
|
|
92
|
+
function searchTextForArrayItem(item) {
|
|
93
|
+
if (item == null) {
|
|
94
|
+
return String(item);
|
|
95
|
+
}
|
|
96
|
+
if (isObjectItem(item)) {
|
|
97
|
+
return getItemKeys(item)
|
|
98
|
+
.map(k => `${k} ${formatItemValue(item, k)}`)
|
|
99
|
+
.join(' \n ');
|
|
100
|
+
}
|
|
101
|
+
return formatValue(item);
|
|
102
|
+
}
|
|
103
|
+
|
|
104
|
+
/**
|
|
105
|
+
* Case-insensitive substring match against an array element.
|
|
106
|
+
* @param {*} item
|
|
107
|
+
* @param {string} normalizedQuery lowercased trimmed query; empty matches all
|
|
108
|
+
*/
|
|
109
|
+
function arrayItemMatchesSearch(item, normalizedQuery) {
|
|
110
|
+
if (normalizedQuery == null || normalizedQuery === '') {
|
|
111
|
+
return true;
|
|
112
|
+
}
|
|
113
|
+
return searchTextForArrayItem(item).toLowerCase().includes(normalizedQuery);
|
|
114
|
+
}
|
|
115
|
+
|
|
62
116
|
module.exports = {
|
|
63
117
|
formatValue,
|
|
64
118
|
isObjectItem,
|
|
65
119
|
getItemKeys,
|
|
66
|
-
formatItemValue
|
|
120
|
+
formatItemValue,
|
|
121
|
+
isArrayOfObjects,
|
|
122
|
+
unionKeysForArrayOfObjects,
|
|
123
|
+
searchTextForArrayItem,
|
|
124
|
+
arrayItemMatchesSearch
|
|
67
125
|
};
|