@myissue/vue-website-page-builder 3.1.13 → 3.1.15
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.css +1 -1
- package/dist/vue-website-page-builder.js +5161 -5194
- package/dist/vue-website-page-builder.umd.cjs +38 -38
- package/package.json +1 -1
- package/src/App.vue +2 -2
- package/src/Components/Homepage/HomeSection.vue +18 -7
- package/src/Components/Modals/{DynamicModal.vue → DynamicModalBuilder.vue} +38 -31
- package/src/Components/Modals/MediaLibraryModal.vue +1 -1
- package/src/Components/Modals/{Modal.vue → ModalBuilder.vue} +9 -15
- package/src/Components/Modals/PageBuilderPreviewModal.vue +13 -6
- package/src/Components/PageBuilder/DemoContent/NoneCustomSearchComponent.vue +0 -17
- package/src/Components/PageBuilder/DropdownsPlusToggles/OptionsDropdown.vue +113 -87
- package/src/Components/PageBuilder/EditorMenu/Editables/BackgroundColorEditor.vue +2 -2
- package/src/Components/PageBuilder/EditorMenu/Editables/BorderRadius.vue +2 -2
- package/src/Components/PageBuilder/EditorMenu/Editables/Borders.vue +3 -3
- package/src/Components/PageBuilder/EditorMenu/Editables/ClassEditor.vue +1 -1
- package/src/Components/PageBuilder/EditorMenu/Editables/ComponentTopMenu.vue +13 -13
- package/src/Components/PageBuilder/EditorMenu/Editables/DeleteElement.vue +1 -1
- package/src/Components/PageBuilder/EditorMenu/Editables/EditGetElement.vue +25 -25
- package/src/Components/PageBuilder/EditorMenu/Editables/ElementEditor.vue +2 -2
- package/src/Components/PageBuilder/EditorMenu/Editables/ImageEditor.vue +3 -3
- package/src/Components/PageBuilder/EditorMenu/Editables/LinkEditor.vue +1 -1
- package/src/Components/PageBuilder/EditorMenu/Editables/ManageBackgroundOpacity.vue +2 -2
- package/src/Components/PageBuilder/EditorMenu/Editables/ManageOpacity.vue +2 -2
- package/src/Components/PageBuilder/EditorMenu/Editables/OpacityEditor.vue +3 -3
- package/src/Components/PageBuilder/EditorMenu/Editables/PaddingPlusMargin.vue +2 -2
- package/src/Components/PageBuilder/EditorMenu/Editables/TextColorEditor.vue +2 -2
- package/src/Components/PageBuilder/EditorMenu/Editables/Typography.vue +3 -3
- package/src/Components/PageBuilder/EditorMenu/RightSidebarEditor.vue +13 -13
- package/src/Components/PageBuilder/Settings/AdvancedPageBuilderSettings.vue +9 -1
- package/src/Components/PageBuilder/Settings/PageBuilderSettings.vue +306 -15
- package/src/Components/Search/SearchComponents.vue +14 -8
- package/src/Components/TipTap/TipTap.vue +1 -1
- package/src/Components/TipTap/TipTapInput.vue +15 -17
- package/src/PageBuilder/PageBuilder.vue +37 -131
- package/src/composables/PageBuilderClass.ts +90 -80
- package/src/stores/page-builder-state.ts +9 -192
- package/src/types/index.ts +13 -10
- package/src/utils/builder/html-doc-declaration-with-components.ts +1 -1
- package/src/utils/html-elements/componentHelpers.ts +3 -3
- package/src/composables/isObject.ts +0 -6
- package/src/composables/usePromise.ts +0 -10
- package/src/composables/vueFetch.ts +0 -278
|
@@ -1,18 +1,18 @@
|
|
|
1
1
|
<script setup>
|
|
2
2
|
import { computed, inject } from 'vue'
|
|
3
|
-
import ClassEditor from '
|
|
4
|
-
import ImageEditor from '
|
|
5
|
-
import OpacityEditor from '
|
|
6
|
-
import Typography from '
|
|
7
|
-
import PaddingPlusMargin from '
|
|
8
|
-
import DeleteElement from '
|
|
9
|
-
import BorderRadius from '
|
|
10
|
-
import BackgroundColorEditor from '
|
|
11
|
-
import Borders from '
|
|
12
|
-
import LinkEditor from '
|
|
13
|
-
import TipTap from '
|
|
14
|
-
import EditGetElement from '
|
|
15
|
-
import ElementEditor from '
|
|
3
|
+
import ClassEditor from './Editables/ClassEditor.vue'
|
|
4
|
+
import ImageEditor from './Editables/ImageEditor.vue'
|
|
5
|
+
import OpacityEditor from './Editables/OpacityEditor.vue'
|
|
6
|
+
import Typography from './Editables/Typography.vue'
|
|
7
|
+
import PaddingPlusMargin from './Editables/PaddingPlusMargin.vue'
|
|
8
|
+
import DeleteElement from './Editables/DeleteElement.vue'
|
|
9
|
+
import BorderRadius from './Editables/BorderRadius.vue'
|
|
10
|
+
import BackgroundColorEditor from './Editables/BackgroundColorEditor.vue'
|
|
11
|
+
import Borders from './Editables/Borders.vue'
|
|
12
|
+
import LinkEditor from './Editables/LinkEditor.vue'
|
|
13
|
+
import TipTap from '../../TipTap/TipTap.vue'
|
|
14
|
+
import EditGetElement from './Editables/EditGetElement.vue'
|
|
15
|
+
import ElementEditor from './Editables/ElementEditor.vue'
|
|
16
16
|
|
|
17
17
|
// Get stores from parent PageBuilder component
|
|
18
18
|
const pageBuilderStateStore = inject('pageBuilderStateStore')
|
|
@@ -145,7 +145,11 @@ const updateCurrentTab = function (tab) {
|
|
|
145
145
|
{{ getComponent?.id }}
|
|
146
146
|
</p>
|
|
147
147
|
<p class="whitespace-pre-line leading-5 mt-4">
|
|
148
|
-
Component
|
|
148
|
+
Component Title:<br />
|
|
149
|
+
{{ getComponent?.title }}
|
|
150
|
+
</p>
|
|
151
|
+
<p class="whitespace-pre-line leading-5 mt-4">
|
|
152
|
+
Component HTML:
|
|
149
153
|
{{ getComponent?.html_code }}
|
|
150
154
|
</p>
|
|
151
155
|
</div>
|
|
@@ -167,6 +171,10 @@ const updateCurrentTab = function (tab) {
|
|
|
167
171
|
{{ component.id }}
|
|
168
172
|
</p>
|
|
169
173
|
|
|
174
|
+
<p class="whitespace-pre-line leading-5 mt-4">
|
|
175
|
+
Component Title:
|
|
176
|
+
{{ getComponent?.title }}
|
|
177
|
+
</p>
|
|
170
178
|
<p class="whitespace-pre-line leading-5 mt-4">
|
|
171
179
|
Component HTML:<br />
|
|
172
180
|
{{ component.html_code }}
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
<script setup>
|
|
2
|
-
import SlideOverRightParent from '
|
|
3
|
-
import AdvancedPageBuilderSettings from '
|
|
2
|
+
import SlideOverRightParent from '../Slidebars/SlideOverRightParent.vue'
|
|
3
|
+
import AdvancedPageBuilderSettings from './AdvancedPageBuilderSettings.vue'
|
|
4
4
|
import { ref, computed, inject } from 'vue'
|
|
5
|
-
import fullHTMLContent from '
|
|
5
|
+
import fullHTMLContent from '../../../utils/builder/html-doc-declaration-with-components'
|
|
6
6
|
const version = __APP_VERSION__
|
|
7
7
|
|
|
8
8
|
// Get stores from parent PageBuilder component
|
|
@@ -12,6 +12,10 @@ const showAdvancedSettingsSlideOverRight = ref(false)
|
|
|
12
12
|
const titleSettingsSlideOverRight = ref('')
|
|
13
13
|
const downloadedComponents = ref(null)
|
|
14
14
|
|
|
15
|
+
const getConfigPageBuilder = computed(() => {
|
|
16
|
+
return pageBuilderStateStore.getConfigPageBuilder
|
|
17
|
+
})
|
|
18
|
+
|
|
15
19
|
// handle slideover window
|
|
16
20
|
const handleAdvancedSettingsSlideOver = function () {
|
|
17
21
|
titleSettingsSlideOverRight.value = 'Advanced Settings'
|
|
@@ -64,23 +68,310 @@ const handleDownloadHTML = function () {
|
|
|
64
68
|
<AdvancedPageBuilderSettings></AdvancedPageBuilderSettings>
|
|
65
69
|
</SlideOverRightParent>
|
|
66
70
|
<!-- Advanced Settings - start -->
|
|
67
|
-
<div
|
|
68
|
-
|
|
69
|
-
|
|
71
|
+
<div
|
|
72
|
+
class="mt-4 mb-4 py-8 border-b border-myPrimbryLightGrayColor flex gap-4 flex-col divide-y divide-gray-300"
|
|
73
|
+
>
|
|
74
|
+
<div class="flex items-left flex-col gap-2">
|
|
75
|
+
<h3 class="myQuaternaryHeader">Selections Overview</h3>
|
|
70
76
|
<p class="myPrimaryParagraph text-xs">
|
|
71
77
|
Manage advanced settings here. Like an overview of Selected Element, Component, and
|
|
72
78
|
Components in real-time.
|
|
73
79
|
</p>
|
|
74
|
-
|
|
80
|
+
|
|
81
|
+
<div class="my-4">
|
|
82
|
+
<button
|
|
83
|
+
@click="handleAdvancedSettingsSlideOver"
|
|
84
|
+
type="button"
|
|
85
|
+
class="myPrimaryButton text-xs"
|
|
86
|
+
>
|
|
87
|
+
Open Overview
|
|
88
|
+
</button>
|
|
89
|
+
</div>
|
|
75
90
|
</div>
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
class="
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
91
|
+
|
|
92
|
+
<!-- Advanced Settings - start -->
|
|
93
|
+
<div class="mt-4 mb-4 py-8 border-b border-myPrimbryLightGrayColor">
|
|
94
|
+
<div class="flex items-left flex-col gap-1">
|
|
95
|
+
<h3 class="myQuaternaryHeader">Configuration Overview</h3>
|
|
96
|
+
<p class="myPrimaryParagraph text-xs">
|
|
97
|
+
A summary of current user preferences, application settings, and system metadata
|
|
98
|
+
including UI theme, language, saved components, and logo configuration.
|
|
99
|
+
</p>
|
|
100
|
+
</div>
|
|
101
|
+
<!-- User Settings Table - start -->
|
|
102
|
+
<div class="mt-4">
|
|
103
|
+
<h4 class="myQuaternaryHeader text-sm mb-2">User Settings</h4>
|
|
104
|
+
<div class="overflow-hidden shadow ring-1 ring-black ring-opacity-5 md:rounded-lg">
|
|
105
|
+
<div class="overflow-x-auto">
|
|
106
|
+
<table class="min-w-full divide-y divide-gray-300">
|
|
107
|
+
<thead class="bg-gray-50">
|
|
108
|
+
<tr>
|
|
109
|
+
<th
|
|
110
|
+
scope="col"
|
|
111
|
+
class="px-6 py-3 text-left text-xs font-medium text-gray-500 uppercase tracking-wider"
|
|
112
|
+
>
|
|
113
|
+
Setting
|
|
114
|
+
</th>
|
|
115
|
+
<th
|
|
116
|
+
scope="col"
|
|
117
|
+
class="px-6 py-3 text-left text-xs font-medium text-gray-500 uppercase tracking-wider"
|
|
118
|
+
>
|
|
119
|
+
Value
|
|
120
|
+
</th>
|
|
121
|
+
</tr>
|
|
122
|
+
</thead>
|
|
123
|
+
<tbody class="bg-white divide-y divide-gray-200">
|
|
124
|
+
<tr v-if="getConfigPageBuilder?.userSettings?.theme">
|
|
125
|
+
<td class="px-6 py-4 whitespace-nowrap text-sm font-medium text-gray-900">
|
|
126
|
+
Theme
|
|
127
|
+
</td>
|
|
128
|
+
<td class="px-6 py-4 whitespace-nowrap text-sm text-gray-500">
|
|
129
|
+
{{ getConfigPageBuilder.userSettings.theme }}
|
|
130
|
+
</td>
|
|
131
|
+
</tr>
|
|
132
|
+
<tr v-if="getConfigPageBuilder?.userSettings?.language">
|
|
133
|
+
<td class="px-6 py-4 whitespace-nowrap text-sm font-medium text-gray-900">
|
|
134
|
+
Language
|
|
135
|
+
</td>
|
|
136
|
+
<td class="px-6 py-4 whitespace-nowrap text-sm text-gray-500">
|
|
137
|
+
{{ getConfigPageBuilder.userSettings.language }}
|
|
138
|
+
</td>
|
|
139
|
+
</tr>
|
|
140
|
+
<tr v-if="getConfigPageBuilder?.userSettings?.autoSave !== undefined">
|
|
141
|
+
<td class="px-6 py-4 whitespace-nowrap text-sm font-medium text-gray-900">
|
|
142
|
+
Auto Save
|
|
143
|
+
</td>
|
|
144
|
+
<td class="px-6 py-4 whitespace-nowrap text-sm text-gray-500">
|
|
145
|
+
<span
|
|
146
|
+
class="inline-flex items-center px-2.5 py-0.5 rounded-full text-xs font-medium"
|
|
147
|
+
:class="
|
|
148
|
+
getConfigPageBuilder.userSettings.autoSave
|
|
149
|
+
? 'bg-green-100 text-green-800'
|
|
150
|
+
: 'bg-red-100 text-red-800'
|
|
151
|
+
"
|
|
152
|
+
>
|
|
153
|
+
{{ getConfigPageBuilder.userSettings.autoSave ? 'Enabled' : 'Disabled' }}
|
|
154
|
+
</span>
|
|
155
|
+
</td>
|
|
156
|
+
</tr>
|
|
157
|
+
<tr v-if="getConfigPageBuilder?.userSettings?.notifications !== undefined">
|
|
158
|
+
<td class="px-6 py-4 whitespace-nowrap text-sm font-medium text-gray-900">
|
|
159
|
+
Notifications
|
|
160
|
+
</td>
|
|
161
|
+
<td class="px-6 py-4 whitespace-nowrap text-sm text-gray-500">
|
|
162
|
+
<span
|
|
163
|
+
class="inline-flex items-center px-2.5 py-0.5 rounded-full text-xs font-medium"
|
|
164
|
+
:class="
|
|
165
|
+
getConfigPageBuilder.userSettings.notifications
|
|
166
|
+
? 'bg-green-100 text-green-800'
|
|
167
|
+
: 'bg-red-100 text-red-800'
|
|
168
|
+
"
|
|
169
|
+
>
|
|
170
|
+
{{
|
|
171
|
+
getConfigPageBuilder.userSettings.notifications ? 'Enabled' : 'Disabled'
|
|
172
|
+
}}
|
|
173
|
+
</span>
|
|
174
|
+
</td>
|
|
175
|
+
</tr>
|
|
176
|
+
</tbody>
|
|
177
|
+
</table>
|
|
178
|
+
</div>
|
|
179
|
+
</div>
|
|
180
|
+
</div>
|
|
181
|
+
<!-- User Settings Table - end -->
|
|
182
|
+
|
|
183
|
+
<!-- Version Information Table - start -->
|
|
184
|
+
<div class="mt-8">
|
|
185
|
+
<h4 class="myQuaternaryHeader text-sm mb-2">Version Information</h4>
|
|
186
|
+
<div class="overflow-hidden shadow ring-1 ring-black ring-opacity-5 md:rounded-lg">
|
|
187
|
+
<div class="overflow-x-auto">
|
|
188
|
+
<table class="min-w-full divide-y divide-gray-300">
|
|
189
|
+
<thead class="bg-gray-50">
|
|
190
|
+
<tr>
|
|
191
|
+
<th
|
|
192
|
+
scope="col"
|
|
193
|
+
class="px-6 py-3 text-left text-xs font-medium text-gray-500 uppercase tracking-wider"
|
|
194
|
+
>
|
|
195
|
+
Component
|
|
196
|
+
</th>
|
|
197
|
+
<th
|
|
198
|
+
scope="col"
|
|
199
|
+
class="px-6 py-3 text-left text-xs font-medium text-gray-500 uppercase tracking-wider"
|
|
200
|
+
>
|
|
201
|
+
Version
|
|
202
|
+
</th>
|
|
203
|
+
</tr>
|
|
204
|
+
</thead>
|
|
205
|
+
<tbody class="bg-white divide-y divide-gray-200">
|
|
206
|
+
<tr>
|
|
207
|
+
<td class="px-6 py-4 whitespace-nowrap text-sm font-medium text-gray-900">
|
|
208
|
+
Page Builder
|
|
209
|
+
</td>
|
|
210
|
+
<td class="px-6 py-4 whitespace-nowrap text-sm text-gray-500">
|
|
211
|
+
<span
|
|
212
|
+
class="inline-flex items-center px-2.5 py-0.5 rounded-full text-xs font-medium bg-blue-100 text-blue-800"
|
|
213
|
+
>
|
|
214
|
+
{{ version }}
|
|
215
|
+
</span>
|
|
216
|
+
</td>
|
|
217
|
+
</tr>
|
|
218
|
+
</tbody>
|
|
219
|
+
</table>
|
|
220
|
+
</div>
|
|
221
|
+
</div>
|
|
222
|
+
</div>
|
|
223
|
+
<!-- Version Information Table - end -->
|
|
224
|
+
|
|
225
|
+
<!-- User Information Table - start -->
|
|
226
|
+
<div class="mt-8" v-if="getConfigPageBuilder?.userForPageBuilder">
|
|
227
|
+
<h4 class="myQuaternaryHeader text-sm mb-2">User Information</h4>
|
|
228
|
+
<div class="overflow-hidden shadow ring-1 ring-black ring-opacity-5 md:rounded-lg">
|
|
229
|
+
<div class="overflow-x-auto">
|
|
230
|
+
<table class="min-w-full divide-y divide-gray-300">
|
|
231
|
+
<thead class="bg-gray-50">
|
|
232
|
+
<tr>
|
|
233
|
+
<th
|
|
234
|
+
scope="col"
|
|
235
|
+
class="px-6 py-3 text-left text-xs font-medium text-gray-500 uppercase tracking-wider"
|
|
236
|
+
>
|
|
237
|
+
Property
|
|
238
|
+
</th>
|
|
239
|
+
<th
|
|
240
|
+
scope="col"
|
|
241
|
+
class="px-6 py-3 text-left text-xs font-medium text-gray-500 uppercase tracking-wider"
|
|
242
|
+
>
|
|
243
|
+
Value
|
|
244
|
+
</th>
|
|
245
|
+
</tr>
|
|
246
|
+
</thead>
|
|
247
|
+
<tbody class="bg-white divide-y divide-gray-200">
|
|
248
|
+
<tr>
|
|
249
|
+
<td class="px-6 py-4 whitespace-nowrap text-sm font-medium text-gray-900">
|
|
250
|
+
User Name
|
|
251
|
+
</td>
|
|
252
|
+
<td class="px-6 py-4 whitespace-nowrap text-sm text-gray-500">
|
|
253
|
+
{{ getConfigPageBuilder.userForPageBuilder.name }}
|
|
254
|
+
</td>
|
|
255
|
+
</tr>
|
|
256
|
+
</tbody>
|
|
257
|
+
</table>
|
|
258
|
+
</div>
|
|
259
|
+
</div>
|
|
260
|
+
</div>
|
|
261
|
+
<!-- User Information Table - end -->
|
|
262
|
+
|
|
263
|
+
<!-- Operation Mode Table - start -->
|
|
264
|
+
<div class="mt-8" v-if="getConfigPageBuilder?.updateOrCreate">
|
|
265
|
+
<h4 class="myQuaternaryHeader text-sm mb-2">Operation Mode</h4>
|
|
266
|
+
<div class="overflow-hidden shadow ring-1 ring-black ring-opacity-5 md:rounded-lg">
|
|
267
|
+
<div class="overflow-x-auto">
|
|
268
|
+
<table class="min-w-full divide-y divide-gray-300">
|
|
269
|
+
<thead class="bg-gray-50">
|
|
270
|
+
<tr>
|
|
271
|
+
<th
|
|
272
|
+
scope="col"
|
|
273
|
+
class="px-6 py-3 text-left text-xs font-medium text-gray-500 uppercase tracking-wider"
|
|
274
|
+
>
|
|
275
|
+
Mode
|
|
276
|
+
</th>
|
|
277
|
+
<th
|
|
278
|
+
scope="col"
|
|
279
|
+
class="px-6 py-3 text-left text-xs font-medium text-gray-500 uppercase tracking-wider"
|
|
280
|
+
>
|
|
281
|
+
Description
|
|
282
|
+
</th>
|
|
283
|
+
</tr>
|
|
284
|
+
</thead>
|
|
285
|
+
<tbody class="bg-white divide-y divide-gray-200">
|
|
286
|
+
<tr>
|
|
287
|
+
<td class="px-6 py-4 whitespace-nowrap text-sm font-medium text-gray-900">
|
|
288
|
+
Current Operation
|
|
289
|
+
</td>
|
|
290
|
+
<td class="px-6 py-4 whitespace-nowrap text-sm text-gray-500">
|
|
291
|
+
<span
|
|
292
|
+
class="inline-flex items-center px-2.5 py-0.5 rounded-full text-xs font-medium"
|
|
293
|
+
:class="
|
|
294
|
+
getConfigPageBuilder.updateOrCreate === 'create'
|
|
295
|
+
? 'bg-green-100 text-green-800'
|
|
296
|
+
: 'bg-blue-100 text-blue-800'
|
|
297
|
+
"
|
|
298
|
+
>
|
|
299
|
+
{{
|
|
300
|
+
getConfigPageBuilder.updateOrCreate === 'create'
|
|
301
|
+
? 'Creating new Resource'
|
|
302
|
+
: 'Updating existing Resource'
|
|
303
|
+
}}
|
|
304
|
+
</span>
|
|
305
|
+
</td>
|
|
306
|
+
</tr>
|
|
307
|
+
</tbody>
|
|
308
|
+
</table>
|
|
309
|
+
</div>
|
|
310
|
+
</div>
|
|
311
|
+
</div>
|
|
312
|
+
<!-- Operation Mode Table - end -->
|
|
313
|
+
|
|
314
|
+
<!-- Page Builder Logo Table - start -->
|
|
315
|
+
<div class="mt-8" v-if="getConfigPageBuilder?.pageBuilderLogo">
|
|
316
|
+
<h4 class="myQuaternaryHeader text-sm mb-2">Logo Configuration</h4>
|
|
317
|
+
<div class="overflow-hidden shadow ring-1 ring-black ring-opacity-5 md:rounded-lg">
|
|
318
|
+
<div class="overflow-x-auto">
|
|
319
|
+
<table class="min-w-full divide-y divide-gray-300">
|
|
320
|
+
<thead class="bg-gray-50">
|
|
321
|
+
<tr>
|
|
322
|
+
<th
|
|
323
|
+
scope="col"
|
|
324
|
+
class="px-6 py-3 text-left text-xs font-medium text-gray-500 uppercase tracking-wider"
|
|
325
|
+
>
|
|
326
|
+
Property
|
|
327
|
+
</th>
|
|
328
|
+
<th
|
|
329
|
+
scope="col"
|
|
330
|
+
class="px-6 py-3 text-left text-xs font-medium text-gray-500 uppercase tracking-wider"
|
|
331
|
+
>
|
|
332
|
+
Value
|
|
333
|
+
</th>
|
|
334
|
+
</tr>
|
|
335
|
+
</thead>
|
|
336
|
+
<tbody class="bg-white divide-y divide-gray-200">
|
|
337
|
+
<tr>
|
|
338
|
+
<td class="px-6 py-4 whitespace-nowrap text-sm font-medium text-gray-900">
|
|
339
|
+
Logo
|
|
340
|
+
</td>
|
|
341
|
+
<td class="px-6 py-4 whitespace-nowrap text-sm text-gray-500">
|
|
342
|
+
<div class="flex items-center space-x-3">
|
|
343
|
+
<div class="border-r border-gray-200 pr-6">
|
|
344
|
+
<img
|
|
345
|
+
class="h-3"
|
|
346
|
+
:src="getConfigPageBuilder.pageBuilderLogo.src"
|
|
347
|
+
alt="Logo"
|
|
348
|
+
/>
|
|
349
|
+
</div>
|
|
350
|
+
</div>
|
|
351
|
+
</td>
|
|
352
|
+
</tr>
|
|
353
|
+
<tr>
|
|
354
|
+
<td class="px-6 py-4 whitespace-nowrap text-sm font-medium text-gray-900">
|
|
355
|
+
Logo URL
|
|
356
|
+
</td>
|
|
357
|
+
<td class="px-6 py-4 whitespace-nowrap text-sm text-gray-500">
|
|
358
|
+
<div class="flex items-center space-x-3">
|
|
359
|
+
<div class="border-r border-gray-200 pr-6">
|
|
360
|
+
<div class="flex items-center space-x-3">
|
|
361
|
+
<span class="whitespace-nowrap">{{
|
|
362
|
+
getConfigPageBuilder.pageBuilderLogo.src
|
|
363
|
+
}}</span>
|
|
364
|
+
</div>
|
|
365
|
+
</div>
|
|
366
|
+
</div>
|
|
367
|
+
</td>
|
|
368
|
+
</tr>
|
|
369
|
+
</tbody>
|
|
370
|
+
</table>
|
|
371
|
+
</div>
|
|
372
|
+
</div>
|
|
373
|
+
</div>
|
|
374
|
+
<!-- Page Builder Logo Table - end -->
|
|
84
375
|
</div>
|
|
85
376
|
</div>
|
|
86
377
|
<!-- Advanced Settings - end -->
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
<script setup>
|
|
2
|
-
import
|
|
3
|
-
import NoneCustomSearchComponent from '
|
|
2
|
+
import ModalBuilder from '../Modals/ModalBuilder.vue'
|
|
3
|
+
import NoneCustomSearchComponent from '../PageBuilder/DemoContent/NoneCustomSearchComponent.vue'
|
|
4
4
|
|
|
5
|
-
|
|
5
|
+
defineProps({
|
|
6
6
|
firstButtonText: {
|
|
7
7
|
required: true,
|
|
8
8
|
},
|
|
@@ -22,13 +22,19 @@ const props = defineProps({
|
|
|
22
22
|
const emit = defineEmits(['firstModalButtonSearchComponentsFunction'])
|
|
23
23
|
|
|
24
24
|
// first button function
|
|
25
|
-
const
|
|
25
|
+
const firstButtonBuilder = function () {
|
|
26
26
|
emit('firstModalButtonSearchComponentsFunction')
|
|
27
27
|
}
|
|
28
28
|
</script>
|
|
29
29
|
|
|
30
30
|
<template>
|
|
31
|
-
<
|
|
31
|
+
<ModalBuilder
|
|
32
|
+
maxWidth="5xl"
|
|
33
|
+
:showModalBuilder="show"
|
|
34
|
+
@closeMainModalBuilder="firstButtonBuilder"
|
|
35
|
+
minHeight=""
|
|
36
|
+
maxHeight=""
|
|
37
|
+
>
|
|
32
38
|
<div
|
|
33
39
|
class="font-sans w-full relative inline-block align-bottom text-left overflow-hidden transform transition-all sm:align-middle"
|
|
34
40
|
>
|
|
@@ -40,7 +46,7 @@ const firstButton = function () {
|
|
|
40
46
|
</div>
|
|
41
47
|
<div
|
|
42
48
|
class="h-10 w-10 flex-start cursor-pointer rounded-full flex items-center border-none justify-center bg-gray-50 aspect-square hover:bg-myPrimaryLinkColor hover:text-white hover:fill-white focus-visible:ring-0"
|
|
43
|
-
@click="
|
|
49
|
+
@click="firstButtonBuilder"
|
|
44
50
|
>
|
|
45
51
|
<span class="material-symbols-outlined"> close </span>
|
|
46
52
|
</div>
|
|
@@ -61,11 +67,11 @@ const firstButton = function () {
|
|
|
61
67
|
ref="firstButtonRef"
|
|
62
68
|
class="mySecondaryButton"
|
|
63
69
|
type="button"
|
|
64
|
-
@click="
|
|
70
|
+
@click="firstButtonBuilder"
|
|
65
71
|
>
|
|
66
72
|
{{ firstButtonText }}
|
|
67
73
|
</button>
|
|
68
74
|
</div>
|
|
69
75
|
</div>
|
|
70
|
-
</
|
|
76
|
+
</ModalBuilder>
|
|
71
77
|
</template>
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
<script setup>
|
|
2
2
|
import { inject } from 'vue'
|
|
3
|
-
import PageBuilderClass from '
|
|
3
|
+
import PageBuilderClass from '../../composables/PageBuilderClass.ts'
|
|
4
4
|
|
|
5
5
|
// Get stores from parent PageBuilder component
|
|
6
6
|
const pageBuilderStateStore = inject('pageBuilderStateStore')
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
<script setup>
|
|
2
|
-
import {
|
|
2
|
+
import { useEditor, EditorContent } from '@tiptap/vue-3'
|
|
3
3
|
import StarterKit from '@tiptap/starter-kit'
|
|
4
4
|
import { computed, onBeforeMount, onMounted, ref, watch, inject } from 'vue'
|
|
5
|
-
import PageBuilderClass from '
|
|
5
|
+
import PageBuilderClass from '../../composables/PageBuilderClass.ts'
|
|
6
6
|
import Link from '@tiptap/extension-link'
|
|
7
|
-
import
|
|
7
|
+
import DynamicModalBuilder from '../Modals/DynamicModalBuilder.vue'
|
|
8
8
|
|
|
9
9
|
// Get stores from parent PageBuilder component
|
|
10
10
|
const pageBuilderStateStore = inject('pageBuilderStateStore')
|
|
@@ -20,9 +20,9 @@ const firstButtonModal = ref('')
|
|
|
20
20
|
const secondButtonModal = ref(null)
|
|
21
21
|
const thirdButtonModal = ref(null)
|
|
22
22
|
// set dynamic modal handle functions
|
|
23
|
-
const
|
|
24
|
-
const
|
|
25
|
-
const
|
|
23
|
+
const firstModalButtonFunctionDynamicModalBuilder = ref(null)
|
|
24
|
+
const secondModalButtonFunctionDynamicModalBuilder = ref(null)
|
|
25
|
+
const thirdModalButtonFunctionDynamicModalBuilder = ref(null)
|
|
26
26
|
|
|
27
27
|
const pageBuilderClass = new PageBuilderClass(pageBuilderStateStore)
|
|
28
28
|
|
|
@@ -79,8 +79,6 @@ watch(textContent, (newValue) => {
|
|
|
79
79
|
}
|
|
80
80
|
})
|
|
81
81
|
|
|
82
|
-
// pageBuilderClass.selectedElementIsValidText(newValue);
|
|
83
|
-
|
|
84
82
|
const TipTapSetContent = function () {
|
|
85
83
|
if (!pageBuilderClass.selectedElementIsValidText()) return
|
|
86
84
|
|
|
@@ -114,19 +112,19 @@ const handleURL = function () {
|
|
|
114
112
|
thirdButtonModal.value = 'Save'
|
|
115
113
|
|
|
116
114
|
// handle click
|
|
117
|
-
|
|
115
|
+
firstModalButtonFunctionDynamicModalBuilder.value = function () {
|
|
118
116
|
showModalUrl.value = false
|
|
119
117
|
urlError.value = null
|
|
120
118
|
}
|
|
121
119
|
|
|
122
120
|
// handle click
|
|
123
|
-
|
|
121
|
+
secondModalButtonFunctionDynamicModalBuilder.value = function () {
|
|
124
122
|
editor.value.chain().focus().extendMarkRange('link').unsetLink().run()
|
|
125
123
|
showModalUrl.value = false
|
|
126
124
|
}
|
|
127
125
|
|
|
128
126
|
// handle click
|
|
129
|
-
|
|
127
|
+
thirdModalButtonFunctionDynamicModalBuilder.value = function () {
|
|
130
128
|
const isNotValidated = validateURL()
|
|
131
129
|
if (isNotValidated) {
|
|
132
130
|
return
|
|
@@ -179,8 +177,8 @@ onMounted(() => {
|
|
|
179
177
|
</script>
|
|
180
178
|
<template>
|
|
181
179
|
<div>
|
|
182
|
-
<
|
|
183
|
-
:
|
|
180
|
+
<DynamicModalBuilder
|
|
181
|
+
:showDynamicModalBuilder="showModalUrl"
|
|
184
182
|
:type="typeModal"
|
|
185
183
|
:gridColumnAmount="gridColumnModal"
|
|
186
184
|
:title="titleModal"
|
|
@@ -188,9 +186,9 @@ onMounted(() => {
|
|
|
188
186
|
:firstButtonText="firstButtonModal"
|
|
189
187
|
:secondButtonText="secondButtonModal"
|
|
190
188
|
:thirdButtonText="thirdButtonModal"
|
|
191
|
-
@
|
|
192
|
-
@
|
|
193
|
-
@
|
|
189
|
+
@firstModalButtonFunctionDynamicModalBuilder="firstModalButtonFunctionDynamicModalBuilder"
|
|
190
|
+
@secondModalButtonFunctionDynamicModalBuilder="secondModalButtonFunctionDynamicModalBuilder"
|
|
191
|
+
@thirdModalButtonFunctionDynamicModalBuilder="thirdModalButtonFunctionDynamicModalBuilder"
|
|
194
192
|
>
|
|
195
193
|
<header></header>
|
|
196
194
|
<main>
|
|
@@ -204,7 +202,7 @@ onMounted(() => {
|
|
|
204
202
|
</div>
|
|
205
203
|
</div>
|
|
206
204
|
</main>
|
|
207
|
-
</
|
|
205
|
+
</DynamicModalBuilder>
|
|
208
206
|
|
|
209
207
|
<div class="blockease-linear duration-200 block ease-linear">
|
|
210
208
|
<div v-if="pageBuilderClass.selectedElementIsValidText() && editor">
|