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', {
|