Update pages.html
Browse files- pages.html +62 -27
pages.html
CHANGED
@@ -627,55 +627,90 @@ const editor = grapesjs.init({
|
|
627 |
|
628 |
|
629 |
<script>
|
630 |
-
|
|
|
631 |
model: {
|
632 |
defaults: {
|
633 |
-
|
|
|
|
|
634 |
script: function(props) {
|
635 |
-
window.
|
636 |
-
|
637 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
638 |
const script = document.createElement('script');
|
639 |
script.src = src;
|
640 |
script.onload = callback;
|
641 |
document.body.appendChild(script);
|
642 |
};
|
643 |
-
|
644 |
-
|
645 |
-
|
646 |
-
|
647 |
-
|
648 |
-
console.log('DropdownJS script loaded!');
|
649 |
});
|
|
|
|
|
650 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
651 |
},
|
652 |
-
|
|
|
|
|
653 |
traits: [
|
654 |
{
|
655 |
-
type: '
|
656 |
-
name: '
|
657 |
-
label: '
|
658 |
-
|
659 |
-
|
660 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
661 |
changeProp: true
|
662 |
},
|
663 |
{
|
664 |
type: 'text',
|
665 |
-
name: '
|
666 |
-
label: '
|
667 |
-
changeProp: true
|
668 |
-
placeholder: '[{"title":"Название","link":"URL"},...]',
|
669 |
-
style: { width: '100%', height: '200px' }
|
670 |
}
|
671 |
]
|
672 |
}
|
673 |
}
|
674 |
});
|
675 |
-
|
676 |
-
editor.Blocks.add('
|
677 |
-
label: '
|
678 |
-
content: { type: 'menu-
|
679 |
});
|
680 |
|
681 |
</script>
|
|
|
627 |
|
628 |
|
629 |
<script>
|
630 |
+
// Создаем новый тип компонента для настройки меню
|
631 |
+
editor.Components.addType('menu-settings-block', {
|
632 |
model: {
|
633 |
defaults: {
|
634 |
+
// HTML-код пустого блока с постоянным идентификатором
|
635 |
+
content: '<div id="set_avp"></div>',
|
636 |
+
// Скрипт для обработки блока (если нужно)
|
637 |
script: function(props) {
|
638 |
+
window.avp = props.avp;
|
639 |
+
window.grup = props.grup;
|
640 |
+
window.red_url = props.red_url;
|
641 |
+
window.pol_a = props.pol_a;
|
642 |
+
window.pol_b = props.pol_b;
|
643 |
+
const initBlock = () => {
|
644 |
+
console.log('Menu settings block initialized with props:', { avp, grup, red_url, pol_a, pol_b });
|
645 |
+
};
|
646 |
+
const loadScript = (src, callback) => {
|
647 |
const script = document.createElement('script');
|
648 |
script.src = src;
|
649 |
script.onload = callback;
|
650 |
document.body.appendChild(script);
|
651 |
};
|
652 |
+
// Загружаем необходимые скрипты динамически
|
653 |
+
if (typeof vkBridge === 'undefined') {
|
654 |
+
loadScript('https://unpkg.com/@vkontakte/vk-bridge/dist/browser.min.js', () => {
|
655 |
+
console.log('VK Bridge loaded!');
|
656 |
+
initBlock();
|
|
|
657 |
});
|
658 |
+
} else {
|
659 |
+
initBlock();
|
660 |
}
|
661 |
+
|
662 |
+
if (typeof VK === 'undefined') {
|
663 |
+
loadScript('https://vk.com/js/api/openapi.js?169', () => {
|
664 |
+
console.log('VK Open API loaded!');
|
665 |
+
});
|
666 |
+
}
|
667 |
+
|
668 |
+
loadScript('https://huggingface.co/spaces/vkatis/api/resolve/main/bundle.3ea86973b4b6c8f6c2bf.js', () => {
|
669 |
+
console.log('Custom script loaded!');
|
670 |
+
});
|
671 |
},
|
672 |
+
// Свойства, которые будут передаваться в скрипт
|
673 |
+
'script-props': ['avp', 'grup', 'red_url', 'pol_a', 'pol_b'],
|
674 |
+
// Настройки для изменения URL отправки
|
675 |
traits: [
|
676 |
{
|
677 |
+
type: 'text',
|
678 |
+
name: 'avp',
|
679 |
+
label: 'AVP',
|
680 |
+
changeProp: true
|
681 |
+
},
|
682 |
+
{
|
683 |
+
type: 'text',
|
684 |
+
name: 'grup',
|
685 |
+
label: 'GRUP',
|
686 |
+
changeProp: true
|
687 |
+
},
|
688 |
+
{
|
689 |
+
type: 'text',
|
690 |
+
name: 'red_url',
|
691 |
+
label: 'RED_URL',
|
692 |
+
changeProp: true
|
693 |
+
},
|
694 |
+
{
|
695 |
+
type: 'text',
|
696 |
+
name: 'pol_a',
|
697 |
+
label: 'POL_A',
|
698 |
changeProp: true
|
699 |
},
|
700 |
{
|
701 |
type: 'text',
|
702 |
+
name: 'pol_b',
|
703 |
+
label: 'POL_B',
|
704 |
+
changeProp: true
|
|
|
|
|
705 |
}
|
706 |
]
|
707 |
}
|
708 |
}
|
709 |
});
|
710 |
+
// Создаем блок для компонента настройки меню
|
711 |
+
editor.Blocks.add('menu-settings-block-block', {
|
712 |
+
label: 'Menu Settings Block',
|
713 |
+
content: { type: 'menu-settings-block' },
|
714 |
});
|
715 |
|
716 |
</script>
|