@myissue/vue-website-page-builder 3.1.44 → 3.1.45
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/README.md
CHANGED
|
@@ -41,8 +41,8 @@ create and enhance digital experiences with Vue on any backend.
|
|
|
41
41
|
|
|
42
42
|
[Play around with the Page Builder](https://www.builder-demo.myissue.dk)
|
|
43
43
|
|
|
44
|
-
|
|
45
|
-
|
|
44
|
+
<hr>
|
|
45
|
+
<hr>
|
|
46
46
|
<table>
|
|
47
47
|
<tr>
|
|
48
48
|
<td>
|
|
@@ -53,8 +53,8 @@ create and enhance digital experiences with Vue on any backend.
|
|
|
53
53
|
</td>
|
|
54
54
|
</tr>
|
|
55
55
|
</table>
|
|
56
|
-
|
|
57
|
-
|
|
56
|
+
<hr>
|
|
57
|
+
<hr>
|
|
58
58
|
|
|
59
59
|
## About
|
|
60
60
|
|
|
@@ -273,15 +273,10 @@ To load existing content that was created with this PageBuilder:
|
|
|
273
273
|
- The PageBuilderClass uses the shared store to maintain state consistency between external operations and the internal PageBuilder component, ensuring that when you load content externally it appears correctly in the PageBuilder interface
|
|
274
274
|
- Set `formType` to `"update"` in your config object and pass it to the PageBuilder using `pageBuilderClass.setConfigPageBuilder(configPageBuilder)`. This tells the PageBuilder that you're editing an existing resource rather than creating a new one, which affects how the component handles data and interactions.
|
|
275
275
|
|
|
276
|
-
|
|
277
|
-
|
|
278
|
-
```javascript
|
|
279
|
-
<PageBuilder />
|
|
280
|
-
```
|
|
281
|
-
|
|
282
|
-
1. **Load existing content on mount**:
|
|
276
|
+
**Set formType to "update"** in template:
|
|
283
277
|
|
|
284
278
|
```javascript
|
|
279
|
+
<script setup>
|
|
285
280
|
import {
|
|
286
281
|
PageBuilder,
|
|
287
282
|
PageBuilderClass,
|
|
@@ -302,6 +297,11 @@ const pageBuilderClass = new PageBuilderClass(pageBuilderStateStore)
|
|
|
302
297
|
pageBuilderClass.setConfigPageBuilder(configPageBuilder)
|
|
303
298
|
// Populating page builder with existing resource content
|
|
304
299
|
pageBuilderClass.loadExistingContent(existingResourceFromBackend)
|
|
300
|
+
</script>
|
|
301
|
+
|
|
302
|
+
<template>
|
|
303
|
+
<PageBuilder />
|
|
304
|
+
</template>
|
|
305
305
|
```
|
|
306
306
|
|
|
307
307
|
#### How should `existingResourceFromBackend` look?
|
|
@@ -312,14 +312,18 @@ The example below shows the structure as it would appear when loaded from local
|
|
|
312
312
|
- Example JSON string (from localStorage or backend)
|
|
313
313
|
- For existing resources, id will always be present and set by the page builder.
|
|
314
314
|
|
|
315
|
-
|
|
316
|
-
|
|
315
|
+
TypeScript interface for reference
|
|
316
|
+
|
|
317
|
+
```javascript
|
|
317
318
|
export interface ComponentObject {
|
|
318
319
|
id: string | number | null
|
|
319
320
|
html_code: string
|
|
320
321
|
title?: string
|
|
321
322
|
}
|
|
323
|
+
```
|
|
322
324
|
|
|
325
|
+
```javascript
|
|
326
|
+
<script setup>
|
|
323
327
|
// Example JSON string (from localStorage or backend)
|
|
324
328
|
const existingResourceFromBackend = JSON.stringify([
|
|
325
329
|
{
|
|
@@ -343,6 +347,11 @@ const existingResourceFromBackend = JSON.stringify([
|
|
|
343
347
|
title: 'Component Title',
|
|
344
348
|
},
|
|
345
349
|
])
|
|
350
|
+
</script>
|
|
351
|
+
|
|
352
|
+
<template>
|
|
353
|
+
<PageBuilder />
|
|
354
|
+
</template>
|
|
346
355
|
```
|
|
347
356
|
|
|
348
357
|
Alternatively, you can provide a raw HTML string containing your `<section>` components:
|
|
@@ -367,7 +376,7 @@ Want to add your own media library or Create custom components that can be injec
|
|
|
367
376
|
|
|
368
377
|
Example integration:
|
|
369
378
|
|
|
370
|
-
```
|
|
379
|
+
```javascript
|
|
371
380
|
<script setup>
|
|
372
381
|
import { PageBuilder } from '@myissue/vue-website-page-builder'
|
|
373
382
|
import MediaLibraryComponent from './ComponentsPageBuilder/MediaLibraryComponent.vue'
|
|
@@ -399,6 +408,7 @@ If fonts (Jost, Cormorant) or Material Icons are not displaying correctly, verif
|
|
|
399
408
|
https://fonts.googleapis.com/css2?family=Jost:*
|
|
400
409
|
https://fonts.googleapis.com/css2?family=Cormorant:*
|
|
401
410
|
https://fonts.googleapis.com/css2?family=Material+Symbols+Outlined
|
|
411
|
+
|
|
402
412
|
```
|
|
403
413
|
|
|
404
414
|
3. **Content Security Policy**: If using CSP, allow Google Fonts:
|
|
@@ -417,6 +427,25 @@ If fonts (Jost, Cormorant) or Material Icons are not displaying correctly, verif
|
|
|
417
427
|
4. Build and test locally
|
|
418
428
|
5. Submit a pull request
|
|
419
429
|
|
|
430
|
+
## Security Vulnerabilities
|
|
431
|
+
|
|
432
|
+
If you discover a security vulnerability, please send us a message.
|
|
433
|
+
|
|
434
|
+
## Get in touch for customization or any questions
|
|
435
|
+
|
|
436
|
+
If you have any questions or if you're looking for customization, feel free to connect with our developer.
|
|
437
|
+
|
|
438
|
+
- [Email](mailto:qais.wardag@outlook.com)
|
|
439
|
+
- [LinkedIn](https://www.linkedin.com/in/qaiswardag)
|
|
440
|
+
|
|
441
|
+
## Feedback
|
|
442
|
+
|
|
443
|
+
Suggestions, or any issues you encounter while using this app. Feel free to reach out.
|
|
444
|
+
|
|
445
|
+
## Support the Project
|
|
446
|
+
|
|
447
|
+
We would greatly appreciate it if you could star the GitHub repository. Starring the project helps to boost its visibility.
|
|
448
|
+
|
|
420
449
|
## License
|
|
421
450
|
|
|
422
451
|
[MIT License](./LICENSE)
|
|
@@ -23583,7 +23583,7 @@ const F4 = { class: "p-4" }, z4 = { class: "mb-8" }, j4 = { class: "grid grid-co
|
|
|
23583
23583
|
}, pS = { class: "overflow-hidden shadow ring-1 ring-black ring-opacity-5 md:rounded-lg" }, uS = { class: "overflow-x-auto" }, mS = { class: "min-w-full divide-y divide-gray-300" }, hS = { class: "bg-white divide-y divide-gray-200" }, gS = { class: "px-6 py-4 whitespace-nowrap text-sm text-gray-500" }, fS = { class: "flex items-center space-x-3" }, bS = { class: "border-r border-gray-200 pr-6" }, yS = ["src"], wS = { class: "px-6 py-4 whitespace-nowrap text-sm text-gray-500" }, vS = { class: "flex items-center space-x-3" }, xS = { class: "border-r border-gray-200 pr-6" }, kS = { class: "flex items-center space-x-3" }, SS = { class: "whitespace-nowrap" }, CS = {
|
|
23584
23584
|
__name: "PageBuilderSettings",
|
|
23585
23585
|
setup(r) {
|
|
23586
|
-
const e = "v3.1.
|
|
23586
|
+
const e = "v3.1.45", t = Le, o = S(!1), n = S(""), i = S(null), s = L(() => t.getConfigPageBuilder), a = function() {
|
|
23587
23587
|
n.value = "Advanced Settings", o.value = !0;
|
|
23588
23588
|
}, l = function() {
|
|
23589
23589
|
o.value = !1;
|