@myissue/vue-website-page-builder 3.1.44 → 3.1.46
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,13 +53,15 @@ 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
|
|
|
61
61
|
A Page Builder designed for growth. Build your website pages with ready-made components that are fully customizable and always responsive, designed to fit every need. A powerful Page Builder for growing merchants, brands, and agencies.
|
|
62
62
|
|
|
63
|
+
<img style="max-width: 100%;" src="./public/home/builder3.png" alt="Logo">
|
|
64
|
+
|
|
63
65
|
## Features
|
|
64
66
|
|
|
65
67
|
Includes:
|
|
@@ -273,15 +275,10 @@ To load existing content that was created with this PageBuilder:
|
|
|
273
275
|
- 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
276
|
- 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
277
|
|
|
276
|
-
|
|
277
|
-
|
|
278
|
-
```javascript
|
|
279
|
-
<PageBuilder />
|
|
280
|
-
```
|
|
281
|
-
|
|
282
|
-
1. **Load existing content on mount**:
|
|
278
|
+
**Set formType to "update"** in template:
|
|
283
279
|
|
|
284
280
|
```javascript
|
|
281
|
+
<script setup>
|
|
285
282
|
import {
|
|
286
283
|
PageBuilder,
|
|
287
284
|
PageBuilderClass,
|
|
@@ -302,6 +299,11 @@ const pageBuilderClass = new PageBuilderClass(pageBuilderStateStore)
|
|
|
302
299
|
pageBuilderClass.setConfigPageBuilder(configPageBuilder)
|
|
303
300
|
// Populating page builder with existing resource content
|
|
304
301
|
pageBuilderClass.loadExistingContent(existingResourceFromBackend)
|
|
302
|
+
</script>
|
|
303
|
+
|
|
304
|
+
<template>
|
|
305
|
+
<PageBuilder />
|
|
306
|
+
</template>
|
|
305
307
|
```
|
|
306
308
|
|
|
307
309
|
#### How should `existingResourceFromBackend` look?
|
|
@@ -312,14 +314,18 @@ The example below shows the structure as it would appear when loaded from local
|
|
|
312
314
|
- Example JSON string (from localStorage or backend)
|
|
313
315
|
- For existing resources, id will always be present and set by the page builder.
|
|
314
316
|
|
|
315
|
-
|
|
316
|
-
|
|
317
|
+
TypeScript interface for reference
|
|
318
|
+
|
|
319
|
+
```javascript
|
|
317
320
|
export interface ComponentObject {
|
|
318
321
|
id: string | number | null
|
|
319
322
|
html_code: string
|
|
320
323
|
title?: string
|
|
321
324
|
}
|
|
325
|
+
```
|
|
322
326
|
|
|
327
|
+
```javascript
|
|
328
|
+
<script setup>
|
|
323
329
|
// Example JSON string (from localStorage or backend)
|
|
324
330
|
const existingResourceFromBackend = JSON.stringify([
|
|
325
331
|
{
|
|
@@ -343,6 +349,11 @@ const existingResourceFromBackend = JSON.stringify([
|
|
|
343
349
|
title: 'Component Title',
|
|
344
350
|
},
|
|
345
351
|
])
|
|
352
|
+
</script>
|
|
353
|
+
|
|
354
|
+
<template>
|
|
355
|
+
<PageBuilder />
|
|
356
|
+
</template>
|
|
346
357
|
```
|
|
347
358
|
|
|
348
359
|
Alternatively, you can provide a raw HTML string containing your `<section>` components:
|
|
@@ -367,7 +378,7 @@ Want to add your own media library or Create custom components that can be injec
|
|
|
367
378
|
|
|
368
379
|
Example integration:
|
|
369
380
|
|
|
370
|
-
```
|
|
381
|
+
```javascript
|
|
371
382
|
<script setup>
|
|
372
383
|
import { PageBuilder } from '@myissue/vue-website-page-builder'
|
|
373
384
|
import MediaLibraryComponent from './ComponentsPageBuilder/MediaLibraryComponent.vue'
|
|
@@ -399,6 +410,7 @@ If fonts (Jost, Cormorant) or Material Icons are not displaying correctly, verif
|
|
|
399
410
|
https://fonts.googleapis.com/css2?family=Jost:*
|
|
400
411
|
https://fonts.googleapis.com/css2?family=Cormorant:*
|
|
401
412
|
https://fonts.googleapis.com/css2?family=Material+Symbols+Outlined
|
|
413
|
+
|
|
402
414
|
```
|
|
403
415
|
|
|
404
416
|
3. **Content Security Policy**: If using CSP, allow Google Fonts:
|
|
@@ -417,6 +429,25 @@ If fonts (Jost, Cormorant) or Material Icons are not displaying correctly, verif
|
|
|
417
429
|
4. Build and test locally
|
|
418
430
|
5. Submit a pull request
|
|
419
431
|
|
|
432
|
+
## Security Vulnerabilities
|
|
433
|
+
|
|
434
|
+
If you discover a security vulnerability, please send us a message.
|
|
435
|
+
|
|
436
|
+
## Get in touch for customization or any questions
|
|
437
|
+
|
|
438
|
+
If you have any questions or if you're looking for customization, feel free to connect with our developer.
|
|
439
|
+
|
|
440
|
+
- [Email](mailto:qais.wardag@outlook.com)
|
|
441
|
+
- [LinkedIn](https://www.linkedin.com/in/qaiswardag)
|
|
442
|
+
|
|
443
|
+
## Feedback
|
|
444
|
+
|
|
445
|
+
Suggestions, or any issues you encounter while using this app. Feel free to reach out.
|
|
446
|
+
|
|
447
|
+
## Support the Project
|
|
448
|
+
|
|
449
|
+
We would greatly appreciate it if you could star the GitHub repository. Starring the project helps to boost its visibility.
|
|
450
|
+
|
|
420
451
|
## License
|
|
421
452
|
|
|
422
453
|
[MIT License](./LICENSE)
|
|
Binary file
|
|
@@ -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.46", 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;
|