@myissue/vue-website-page-builder 3.2.75 → 3.2.77
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/vue-website-page-builder.js +424 -402
- package/dist/vue-website-page-builder.umd.cjs +3 -3
- package/package.json +1 -1
- package/src/DemoComponents/HomeSection.vue +4 -4
- package/src/DemoComponents/html.json +0 -1
- package/src/PageBuilder/PageBuilder.vue +2 -0
- package/src/composables/PageBuilderClass.ts +78 -11
package/package.json
CHANGED
|
@@ -95,10 +95,10 @@ pageBuilderClass.setConfigPageBuilder(configPageBuilder)
|
|
|
95
95
|
|
|
96
96
|
onMounted(async () => {
|
|
97
97
|
if (typeof getLocalStorageItemName.value === 'string' && getLocalStorageItemName.value) {
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
)
|
|
98
|
+
const value = localStorage.getItem(getLocalStorageItemName.value)
|
|
99
|
+
|
|
100
|
+
if (value) {
|
|
101
|
+
pageBuilderClass.loadExistingContent(JSON.stringify(value))
|
|
102
102
|
} else {
|
|
103
103
|
pageBuilderClass.loadExistingContent(JSON.stringify(html), true)
|
|
104
104
|
// pageBuilderClass.loadExistingContent(rawHTML, true)
|
|
@@ -958,7 +958,10 @@ class PageBuilderClass {
|
|
|
958
958
|
}
|
|
959
959
|
|
|
960
960
|
updateLocalStorageItemName(): void {
|
|
961
|
-
const updateOrCreate =
|
|
961
|
+
const updateOrCreate =
|
|
962
|
+
this.pageBuilderStateStore.getConfigPageBuilder &&
|
|
963
|
+
this.pageBuilderStateStore.getConfigPageBuilder.updateOrCreate &&
|
|
964
|
+
this.pageBuilderStateStore.getConfigPageBuilder.updateOrCreate.formType
|
|
962
965
|
|
|
963
966
|
const resourceData = this.pageBuilderStateStore.getConfigPageBuilder?.resourceData
|
|
964
967
|
|
|
@@ -1132,7 +1135,7 @@ class PageBuilderClass {
|
|
|
1132
1135
|
localStorage.setItem(
|
|
1133
1136
|
this.getLocalStorageItemName.value,
|
|
1134
1137
|
JSON.stringify({
|
|
1135
|
-
|
|
1138
|
+
pageBuilderContentSavedAt: new Date().toISOString(),
|
|
1136
1139
|
components: componentsToSave,
|
|
1137
1140
|
}),
|
|
1138
1141
|
)
|
|
@@ -1157,6 +1160,61 @@ class PageBuilderClass {
|
|
|
1157
1160
|
}
|
|
1158
1161
|
}
|
|
1159
1162
|
|
|
1163
|
+
//
|
|
1164
|
+
deleteOldPageBuilderLocalStorage(): void {
|
|
1165
|
+
if (
|
|
1166
|
+
this.pageBuilderStateStore.getConfigPageBuilder &&
|
|
1167
|
+
this.pageBuilderStateStore.getConfigPageBuilder.updateOrCreate &&
|
|
1168
|
+
typeof this.pageBuilderStateStore.getConfigPageBuilder.updateOrCreate.formType === 'string' &&
|
|
1169
|
+
this.pageBuilderStateStore.getConfigPageBuilder.updateOrCreate.formType === 'update'
|
|
1170
|
+
) {
|
|
1171
|
+
let oldCountLocalStorages = 0
|
|
1172
|
+
const deletedItemsLog: { Number: number; Key: string; SavedAt: string }[] = []
|
|
1173
|
+
|
|
1174
|
+
// const pastTime = new Date(Date.now() - 1 * 60 * 1000) // 1 minute
|
|
1175
|
+
const pastTime = new Date(Date.now() - 14 * 24 * 60 * 60 * 1000) // 2 weeks
|
|
1176
|
+
|
|
1177
|
+
for (let i = 0; i < localStorage.length; i++) {
|
|
1178
|
+
const key = localStorage.key(i)
|
|
1179
|
+
|
|
1180
|
+
if (!key) continue
|
|
1181
|
+
if (!key.startsWith('page-builder-update-resource-')) continue
|
|
1182
|
+
|
|
1183
|
+
try {
|
|
1184
|
+
const storeComponents = localStorage.getItem(key)
|
|
1185
|
+
if (!storeComponents) continue
|
|
1186
|
+
|
|
1187
|
+
const storeComponentsParsed = JSON.parse(storeComponents)
|
|
1188
|
+
const savedAt = storeComponentsParsed.pageBuilderContentSavedAt
|
|
1189
|
+
if (savedAt) {
|
|
1190
|
+
const savedAtDate = new Date(savedAt)
|
|
1191
|
+
|
|
1192
|
+
if (savedAtDate < pastTime) {
|
|
1193
|
+
oldCountLocalStorages++
|
|
1194
|
+
deletedItemsLog.push({
|
|
1195
|
+
Number: oldCountLocalStorages,
|
|
1196
|
+
Key: key,
|
|
1197
|
+
SavedAt: savedAt,
|
|
1198
|
+
})
|
|
1199
|
+
|
|
1200
|
+
// Delete old items
|
|
1201
|
+
localStorage.removeItem(key)
|
|
1202
|
+
}
|
|
1203
|
+
}
|
|
1204
|
+
} catch (e) {
|
|
1205
|
+
// Ignore parse errors for unrelated keys
|
|
1206
|
+
}
|
|
1207
|
+
}
|
|
1208
|
+
|
|
1209
|
+
if (deletedItemsLog.length > 0) {
|
|
1210
|
+
console.info(
|
|
1211
|
+
`Deleted ${deletedItemsLog.length} localStorage item(s) older than ${pastTime} days:`,
|
|
1212
|
+
)
|
|
1213
|
+
console.table(deletedItemsLog)
|
|
1214
|
+
}
|
|
1215
|
+
}
|
|
1216
|
+
}
|
|
1217
|
+
|
|
1160
1218
|
getStorageItemNameForResource(): string | null {
|
|
1161
1219
|
return this.getLocalStorageItemName.value
|
|
1162
1220
|
}
|
|
@@ -1431,20 +1489,20 @@ class PageBuilderClass {
|
|
|
1431
1489
|
}
|
|
1432
1490
|
}
|
|
1433
1491
|
|
|
1434
|
-
// Private method to parse JSON components and save
|
|
1492
|
+
// Private method to parse JSON components and save pageBuilderContentSavedAt to localStorage
|
|
1435
1493
|
#parseJSONComponents(jsonData: string): void {
|
|
1436
|
-
console.log(1111)
|
|
1437
1494
|
try {
|
|
1438
1495
|
const parsedData = JSON.parse(jsonData)
|
|
1439
1496
|
let componentsArray: ComponentObject[] = []
|
|
1440
|
-
let
|
|
1497
|
+
let pageBuilderContentSavedAt: string | undefined = undefined
|
|
1441
1498
|
|
|
1442
1499
|
// Support both old and new structure
|
|
1443
1500
|
if (Array.isArray(parsedData)) {
|
|
1444
1501
|
componentsArray = parsedData
|
|
1445
1502
|
} else if (parsedData && Array.isArray(parsedData.components)) {
|
|
1446
1503
|
componentsArray = parsedData.components
|
|
1447
|
-
|
|
1504
|
+
|
|
1505
|
+
pageBuilderContentSavedAt = parsedData.pageBuilderContentSavedAt
|
|
1448
1506
|
}
|
|
1449
1507
|
|
|
1450
1508
|
let savedCurrentDesign: ComponentObject[] = []
|
|
@@ -1480,9 +1538,9 @@ class PageBuilderClass {
|
|
|
1480
1538
|
|
|
1481
1539
|
this.pageBuilderStateStore.setComponents(savedCurrentDesign)
|
|
1482
1540
|
|
|
1483
|
-
// Save to localStorage with
|
|
1541
|
+
// Save to localStorage with pageBuilderContentSavedAt using the correct key
|
|
1484
1542
|
const dataToSave = {
|
|
1485
|
-
|
|
1543
|
+
pageBuilderContentSavedAt: parsedData.pageBuilderContentSavedAt || new Date().toISOString(),
|
|
1486
1544
|
components: savedCurrentDesign,
|
|
1487
1545
|
}
|
|
1488
1546
|
|
|
@@ -1499,7 +1557,6 @@ class PageBuilderClass {
|
|
|
1499
1557
|
}
|
|
1500
1558
|
// Private method to parse HTML components
|
|
1501
1559
|
#parseHTMLComponents(htmlData: string): void {
|
|
1502
|
-
console.log(2222)
|
|
1503
1560
|
try {
|
|
1504
1561
|
const parser = new DOMParser()
|
|
1505
1562
|
const doc = parser.parseFromString(htmlData, 'text/html')
|
|
@@ -1551,13 +1608,23 @@ class PageBuilderClass {
|
|
|
1551
1608
|
|
|
1552
1609
|
const storedData = this.areComponentsStoredInLocalStorage()
|
|
1553
1610
|
|
|
1554
|
-
if (
|
|
1611
|
+
if (
|
|
1612
|
+
this.pageBuilderStateStore.getConfigPageBuilder &&
|
|
1613
|
+
this.pageBuilderStateStore.getConfigPageBuilder.updateOrCreate &&
|
|
1614
|
+
typeof this.pageBuilderStateStore.getConfigPageBuilder.updateOrCreate.formType === 'string' &&
|
|
1615
|
+
this.pageBuilderStateStore.getConfigPageBuilder.updateOrCreate.formType === 'create'
|
|
1616
|
+
) {
|
|
1555
1617
|
if (storedData) {
|
|
1556
1618
|
this.setComponentsFromData(storedData)
|
|
1557
1619
|
}
|
|
1558
1620
|
}
|
|
1559
1621
|
|
|
1560
|
-
if (
|
|
1622
|
+
if (
|
|
1623
|
+
this.pageBuilderStateStore.getConfigPageBuilder &&
|
|
1624
|
+
this.pageBuilderStateStore.getConfigPageBuilder.updateOrCreate &&
|
|
1625
|
+
typeof this.pageBuilderStateStore.getConfigPageBuilder.updateOrCreate.formType === 'string' &&
|
|
1626
|
+
this.pageBuilderStateStore.getConfigPageBuilder.updateOrCreate.formType === 'update'
|
|
1627
|
+
) {
|
|
1561
1628
|
if (data) {
|
|
1562
1629
|
this.setComponentsFromData(data)
|
|
1563
1630
|
}
|