strapi-plugin-bulk-updater 1.5.2 → 1.5.3
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/_chunks/{BulkUpdater-JZW74XM4.js → BulkUpdater-DMkx6dLf.js} +118 -67
- package/dist/_chunks/BulkUpdater-DMkx6dLf.js.map +1 -0
- package/dist/_chunks/{BulkUpdater-BiSkkAHF.mjs → BulkUpdater-DUfv52ng.mjs} +118 -67
- package/dist/_chunks/BulkUpdater-DUfv52ng.mjs.map +1 -0
- package/dist/admin/index.js +1 -1
- package/dist/admin/index.mjs +1 -1
- package/dist/server/index.js +133 -5
- package/dist/server/index.js.map +1 -1
- package/dist/server/index.mjs +133 -5
- package/dist/server/index.mjs.map +1 -1
- package/package.json +1 -1
- package/dist/_chunks/BulkUpdater-BiSkkAHF.mjs.map +0 -1
- package/dist/_chunks/BulkUpdater-JZW74XM4.js.map +0 -1
|
@@ -2857,6 +2857,91 @@ const CheckerReviewModal = ({
|
|
|
2857
2857
|
}
|
|
2858
2858
|
);
|
|
2859
2859
|
};
|
|
2860
|
+
function getEntryLifecycleStatus(entry, col, pendingBatches = []) {
|
|
2861
|
+
const isPendingApproval = pendingBatches.some((b) => {
|
|
2862
|
+
if (b.status !== "pending_approval") return false;
|
|
2863
|
+
const targets = b.payload?.selectedEntries || [];
|
|
2864
|
+
return targets.some((t) => entry.documentId && t.documentId === entry.documentId || String(t.documentId) === String(entry.id));
|
|
2865
|
+
});
|
|
2866
|
+
if (isPendingApproval) {
|
|
2867
|
+
return {
|
|
2868
|
+
status: "pending_review",
|
|
2869
|
+
label: "Pending Review",
|
|
2870
|
+
badgeColor: "warning100",
|
|
2871
|
+
textColor: "warning700"
|
|
2872
|
+
};
|
|
2873
|
+
}
|
|
2874
|
+
if (col && col.draftAndPublish === false) {
|
|
2875
|
+
return {
|
|
2876
|
+
status: "published",
|
|
2877
|
+
label: "Published",
|
|
2878
|
+
badgeColor: "success100",
|
|
2879
|
+
textColor: "success700"
|
|
2880
|
+
};
|
|
2881
|
+
}
|
|
2882
|
+
if (entry.status === "modified") {
|
|
2883
|
+
return {
|
|
2884
|
+
status: "modified",
|
|
2885
|
+
label: "Modified",
|
|
2886
|
+
badgeColor: "primary100",
|
|
2887
|
+
textColor: "primary700"
|
|
2888
|
+
};
|
|
2889
|
+
}
|
|
2890
|
+
if (entry.status === "draft") {
|
|
2891
|
+
return {
|
|
2892
|
+
status: "draft",
|
|
2893
|
+
label: "Draft",
|
|
2894
|
+
badgeColor: "neutral150",
|
|
2895
|
+
textColor: "neutral700"
|
|
2896
|
+
};
|
|
2897
|
+
}
|
|
2898
|
+
if (entry.status === "published") {
|
|
2899
|
+
return {
|
|
2900
|
+
status: "published",
|
|
2901
|
+
label: "Published",
|
|
2902
|
+
badgeColor: "success100",
|
|
2903
|
+
textColor: "success700"
|
|
2904
|
+
};
|
|
2905
|
+
}
|
|
2906
|
+
if (entry.status === "unknown") {
|
|
2907
|
+
return {
|
|
2908
|
+
status: "unknown",
|
|
2909
|
+
label: "Unknown",
|
|
2910
|
+
badgeColor: "neutral200",
|
|
2911
|
+
textColor: "neutral600"
|
|
2912
|
+
};
|
|
2913
|
+
}
|
|
2914
|
+
if (!entry.documentId && !entry.id && !entry.slug) {
|
|
2915
|
+
return {
|
|
2916
|
+
status: "unknown",
|
|
2917
|
+
label: "Unknown",
|
|
2918
|
+
badgeColor: "neutral200",
|
|
2919
|
+
textColor: "neutral600"
|
|
2920
|
+
};
|
|
2921
|
+
}
|
|
2922
|
+
if (entry.publishedAt) {
|
|
2923
|
+
if (entry.updatedAt && new Date(entry.updatedAt).getTime() > new Date(entry.publishedAt).getTime()) {
|
|
2924
|
+
return {
|
|
2925
|
+
status: "modified",
|
|
2926
|
+
label: "Modified",
|
|
2927
|
+
badgeColor: "primary100",
|
|
2928
|
+
textColor: "primary700"
|
|
2929
|
+
};
|
|
2930
|
+
}
|
|
2931
|
+
return {
|
|
2932
|
+
status: "published",
|
|
2933
|
+
label: "Published",
|
|
2934
|
+
badgeColor: "success100",
|
|
2935
|
+
textColor: "success700"
|
|
2936
|
+
};
|
|
2937
|
+
}
|
|
2938
|
+
return {
|
|
2939
|
+
status: "draft",
|
|
2940
|
+
label: "Draft",
|
|
2941
|
+
badgeColor: "neutral150",
|
|
2942
|
+
textColor: "neutral700"
|
|
2943
|
+
};
|
|
2944
|
+
}
|
|
2860
2945
|
function parseDynamicZonePath(path) {
|
|
2861
2946
|
if (!path) return { cleanPath: "", rootKey: "", subPath: "" };
|
|
2862
2947
|
const bracketMatch = path.match(/^([^.[]+)\[([^\]]+)\]\.(.+)$/);
|
|
@@ -3269,67 +3354,6 @@ function formatDisplayValue(val) {
|
|
|
3269
3354
|
}
|
|
3270
3355
|
return String(val);
|
|
3271
3356
|
}
|
|
3272
|
-
function getEntryLifecycleStatus(entry, col, pendingBatches = []) {
|
|
3273
|
-
const isPendingApproval = pendingBatches.some((b) => {
|
|
3274
|
-
if (b.status !== "pending_approval") return false;
|
|
3275
|
-
const targets = b.payload?.selectedEntries || [];
|
|
3276
|
-
return targets.some((t) => t.documentId === entry.documentId || String(t.documentId) === String(entry.id));
|
|
3277
|
-
});
|
|
3278
|
-
if (isPendingApproval) {
|
|
3279
|
-
return {
|
|
3280
|
-
status: "pending_review",
|
|
3281
|
-
label: "Pending Review",
|
|
3282
|
-
badgeColor: "warning100",
|
|
3283
|
-
textColor: "warning700"
|
|
3284
|
-
};
|
|
3285
|
-
}
|
|
3286
|
-
if (entry.status === "modified") {
|
|
3287
|
-
return {
|
|
3288
|
-
status: "modified",
|
|
3289
|
-
label: "Modified",
|
|
3290
|
-
badgeColor: "primary100",
|
|
3291
|
-
textColor: "primary700"
|
|
3292
|
-
};
|
|
3293
|
-
}
|
|
3294
|
-
if (entry.status === "draft") {
|
|
3295
|
-
return {
|
|
3296
|
-
status: "draft",
|
|
3297
|
-
label: "Draft",
|
|
3298
|
-
badgeColor: "neutral150",
|
|
3299
|
-
textColor: "neutral700"
|
|
3300
|
-
};
|
|
3301
|
-
}
|
|
3302
|
-
if (entry.status === "published") {
|
|
3303
|
-
return {
|
|
3304
|
-
status: "published",
|
|
3305
|
-
label: "Published",
|
|
3306
|
-
badgeColor: "success100",
|
|
3307
|
-
textColor: "success700"
|
|
3308
|
-
};
|
|
3309
|
-
}
|
|
3310
|
-
if (col && col.draftAndPublish === false) {
|
|
3311
|
-
return {
|
|
3312
|
-
status: "published",
|
|
3313
|
-
label: "Published",
|
|
3314
|
-
badgeColor: "success100",
|
|
3315
|
-
textColor: "success700"
|
|
3316
|
-
};
|
|
3317
|
-
}
|
|
3318
|
-
if (entry.publishedAt) {
|
|
3319
|
-
return {
|
|
3320
|
-
status: "published",
|
|
3321
|
-
label: "Published",
|
|
3322
|
-
badgeColor: "success100",
|
|
3323
|
-
textColor: "success700"
|
|
3324
|
-
};
|
|
3325
|
-
}
|
|
3326
|
-
return {
|
|
3327
|
-
status: "draft",
|
|
3328
|
-
label: "Draft",
|
|
3329
|
-
badgeColor: "neutral150",
|
|
3330
|
-
textColor: "neutral700"
|
|
3331
|
-
};
|
|
3332
|
-
}
|
|
3333
3357
|
function renderCellContent(colDef, entry, col, selectedAttribute, searchAttribute, isMatch, hasAttr, isSelected, onToggleSelect, pendingBatches = [], isDzExpanded = false, onToggleExpandDz, filterQuery = "") {
|
|
3334
3358
|
switch (colDef.key) {
|
|
3335
3359
|
case "select":
|
|
@@ -3736,12 +3760,23 @@ const BulkUpdater = () => {
|
|
|
3736
3760
|
cols.forEach((col) => {
|
|
3737
3761
|
const total = col.totalEntries !== void 0 ? col.totalEntries : col.entries ? col.entries.length : 0;
|
|
3738
3762
|
const initialPageSize = col.isSingleType ? 1 : 10;
|
|
3763
|
+
const previewSlice = (col.entries || []).slice(0, initialPageSize).map((entry) => {
|
|
3764
|
+
if (!entry.status) {
|
|
3765
|
+
const lifecycle = getEntryLifecycleStatus(entry, col, pendingBatches);
|
|
3766
|
+
return {
|
|
3767
|
+
...entry,
|
|
3768
|
+
status: lifecycle.status,
|
|
3769
|
+
publishedAt: entry.publishedAt ?? (lifecycle.status === "published" ? entry.updatedAt || null : null)
|
|
3770
|
+
};
|
|
3771
|
+
}
|
|
3772
|
+
return entry;
|
|
3773
|
+
});
|
|
3739
3774
|
pages[col.uid] = {
|
|
3740
3775
|
page: 1,
|
|
3741
3776
|
pageSize: initialPageSize,
|
|
3742
3777
|
total,
|
|
3743
3778
|
pageCount: col.isSingleType ? 1 : Math.ceil(total / initialPageSize) || 1,
|
|
3744
|
-
entries:
|
|
3779
|
+
entries: previewSlice,
|
|
3745
3780
|
loading: false
|
|
3746
3781
|
};
|
|
3747
3782
|
initialVisibility[col.uid] = true;
|
|
@@ -3863,6 +3898,18 @@ const BulkUpdater = () => {
|
|
|
3863
3898
|
const pageSizeNum = res.data.pagination?.pageSize ?? size ?? defaultPageSize;
|
|
3864
3899
|
const totalNum = res.data.pagination?.total !== void 0 ? res.data.pagination.total : fetchedEntries.length;
|
|
3865
3900
|
const pageCountNum = res.data.pagination?.pageCount ?? Math.max(1, Math.ceil(totalNum / pageSizeNum));
|
|
3901
|
+
const col = collections.find((c) => c.uid === colUid) || null;
|
|
3902
|
+
const enrichedEntries = fetchedEntries.map((entry) => {
|
|
3903
|
+
if (!entry.status) {
|
|
3904
|
+
const lifecycle = getEntryLifecycleStatus(entry, col, pendingBatches);
|
|
3905
|
+
return {
|
|
3906
|
+
...entry,
|
|
3907
|
+
status: lifecycle.status,
|
|
3908
|
+
publishedAt: entry.publishedAt ?? (lifecycle.status === "published" ? entry.updatedAt || null : null)
|
|
3909
|
+
};
|
|
3910
|
+
}
|
|
3911
|
+
return entry;
|
|
3912
|
+
});
|
|
3866
3913
|
setCollectionPages((prev) => ({
|
|
3867
3914
|
...prev,
|
|
3868
3915
|
[colUid]: {
|
|
@@ -3870,7 +3917,7 @@ const BulkUpdater = () => {
|
|
|
3870
3917
|
pageSize: pageSizeNum,
|
|
3871
3918
|
total: totalNum,
|
|
3872
3919
|
pageCount: pageCountNum,
|
|
3873
|
-
entries:
|
|
3920
|
+
entries: enrichedEntries,
|
|
3874
3921
|
loading: false
|
|
3875
3922
|
}
|
|
3876
3923
|
}));
|
|
@@ -4344,6 +4391,7 @@ const BulkUpdater = () => {
|
|
|
4344
4391
|
let modified = 0;
|
|
4345
4392
|
let draft = 0;
|
|
4346
4393
|
let pendingReview = 0;
|
|
4394
|
+
let unknown = 0;
|
|
4347
4395
|
Object.keys(selectedEntries).forEach((key) => {
|
|
4348
4396
|
if (!selectedEntries[key]) return;
|
|
4349
4397
|
const parts = key.split(KEY_SEP);
|
|
@@ -4359,18 +4407,20 @@ const BulkUpdater = () => {
|
|
|
4359
4407
|
else if (status === "modified") modified++;
|
|
4360
4408
|
else if (status === "draft") draft++;
|
|
4361
4409
|
else if (status === "pending_review") pendingReview++;
|
|
4410
|
+
else unknown++;
|
|
4362
4411
|
} else {
|
|
4363
4412
|
draft++;
|
|
4364
4413
|
}
|
|
4365
4414
|
});
|
|
4366
|
-
const unreviewedCount = draft + modified + pendingReview;
|
|
4415
|
+
const unreviewedCount = draft + modified + pendingReview + unknown;
|
|
4367
4416
|
return {
|
|
4368
4417
|
published,
|
|
4369
4418
|
modified,
|
|
4370
4419
|
draft,
|
|
4371
4420
|
pendingReview,
|
|
4421
|
+
unknown,
|
|
4372
4422
|
unreviewedCount,
|
|
4373
|
-
total: published + modified + draft + pendingReview
|
|
4423
|
+
total: published + modified + draft + pendingReview + unknown
|
|
4374
4424
|
};
|
|
4375
4425
|
}, [selectedEntries, collections, collectionPages, pendingBatches]);
|
|
4376
4426
|
const handleOpenConfirmModal = () => {
|
|
@@ -5377,7 +5427,8 @@ const BulkUpdater = () => {
|
|
|
5377
5427
|
/* @__PURE__ */ jsxRuntime.jsx(designSystem.SingleSelectOption, { value: "pending_review", children: "Pending Review (Due)" }),
|
|
5378
5428
|
/* @__PURE__ */ jsxRuntime.jsx(designSystem.SingleSelectOption, { value: "draft", children: "Draft" }),
|
|
5379
5429
|
/* @__PURE__ */ jsxRuntime.jsx(designSystem.SingleSelectOption, { value: "published", children: "Published" }),
|
|
5380
|
-
/* @__PURE__ */ jsxRuntime.jsx(designSystem.SingleSelectOption, { value: "modified", children: "Modified" })
|
|
5430
|
+
/* @__PURE__ */ jsxRuntime.jsx(designSystem.SingleSelectOption, { value: "modified", children: "Modified" }),
|
|
5431
|
+
/* @__PURE__ */ jsxRuntime.jsx(designSystem.SingleSelectOption, { value: "unknown", children: "Unknown" })
|
|
5381
5432
|
]
|
|
5382
5433
|
}
|
|
5383
5434
|
) }),
|
|
@@ -7467,4 +7518,4 @@ exports.getNestedValue = getNestedValue;
|
|
|
7467
7518
|
exports.getPropertyValue = getPropertyValue;
|
|
7468
7519
|
exports.getSortOptionsForCollection = getSortOptionsForCollection;
|
|
7469
7520
|
exports.parseDynamicZonePath = parseDynamicZonePath;
|
|
7470
|
-
//# sourceMappingURL=BulkUpdater-
|
|
7521
|
+
//# sourceMappingURL=BulkUpdater-DMkx6dLf.js.map
|