Update pages.html
Browse files- pages.html +86 -0
pages.html
CHANGED
@@ -355,9 +355,95 @@ const editor = grapesjs.init({
|
|
355 |
|
356 |
|
357 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
358 |
|
359 |
|
360 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
361 |
<script>
|
362 |
|
363 |
editor.BlockManager.add('custom-player', {
|
|
|
355 |
|
356 |
|
357 |
|
358 |
+
<script>
|
359 |
+
|
360 |
+
|
361 |
+
editor.Components.addType('dropdown-settings', {
|
362 |
+
model: {
|
363 |
+
defaults: {
|
364 |
+
// HTML-код блока настроек выпадающего списка
|
365 |
+
content: '<div id="dropdown-settings"></div>',
|
366 |
+
// Скрипт для обработки блока (если нужно)
|
367 |
+
script: function(props) {
|
368 |
+
window.dropdown_list = props.dropdown_list;
|
369 |
+
console.log('Dropdown settings initialized with dropdown_list:', dropdown_list);
|
370 |
+
// Подключение указанных скриптов
|
371 |
+
const loadScriptToHead = (src, callback) => {
|
372 |
+
const script = document.createElement('script');
|
373 |
+
script.src = src;
|
374 |
+
script.onload = callback;
|
375 |
+
document.head.appendChild(script);
|
376 |
+
};
|
377 |
+
const library = props.library;
|
378 |
+
let dropdownjsSrc;
|
379 |
+
if (library === '1') {
|
380 |
+
dropdownjsSrc = 'https://example.com/path/to/dropdownjs.js';
|
381 |
+
}
|
382 |
+
if (dropdownjsSrc) {
|
383 |
+
loadScriptToHead(dropdownjsSrc, () => {
|
384 |
+
console.log('DropdownJS script loaded!');
|
385 |
+
});
|
386 |
+
}
|
387 |
+
},
|
388 |
+
// Свойства, которые будут передаваться в скрипт
|
389 |
+
'script-props': ['dropdown_list', 'library'],
|
390 |
+
// Настройки для ввода JSON-строки с данными о выпадающем списке
|
391 |
+
traits: [
|
392 |
+
{
|
393 |
+
type: 'select',
|
394 |
+
name: 'library',
|
395 |
+
label: 'Library',
|
396 |
+
options: [
|
397 |
+
{ value: '1', name: 'Dropdown - 1' }
|
398 |
+
],
|
399 |
+
changeProp: true
|
400 |
+
},
|
401 |
+
{
|
402 |
+
type: 'text',
|
403 |
+
name: 'dropdown_list',
|
404 |
+
label: 'Dropdown List',
|
405 |
+
changeProp: true,
|
406 |
+
placeholder: '[{"title":"Название","link":"URL"},...]',
|
407 |
+
style: { width: '100%', height: '200px' } // Широкое поле ввода
|
408 |
+
}
|
409 |
+
]
|
410 |
+
}
|
411 |
+
}
|
412 |
+
});
|
413 |
+
// Создаем блок для компонента настроек выпадающего списка
|
414 |
+
editor.Blocks.add('dropdown-settings-block', {
|
415 |
+
label: 'Настройка выпадающего списка',
|
416 |
+
content: { type: 'dropdown-settings' },
|
417 |
+
});
|
418 |
+
</script>
|
419 |
+
|
420 |
+
|
421 |
+
|
422 |
+
|
423 |
+
|
424 |
+
|
425 |
|
426 |
|
427 |
|
428 |
+
|
429 |
+
|
430 |
+
|
431 |
+
|
432 |
+
|
433 |
+
|
434 |
+
|
435 |
+
|
436 |
+
|
437 |
+
|
438 |
+
|
439 |
+
|
440 |
+
|
441 |
+
|
442 |
+
|
443 |
+
|
444 |
+
|
445 |
+
|
446 |
+
|
447 |
<script>
|
448 |
|
449 |
editor.BlockManager.add('custom-player', {
|