DmitrMakeev commited on
Commit
d213fc2
·
verified ·
1 Parent(s): 9ed1c34

Update pages.html

Browse files
Files changed (1) hide show
  1. pages.html +62 -27
pages.html CHANGED
@@ -627,55 +627,90 @@ const editor = grapesjs.init({
627
 
628
 
629
  <script>
630
- editor.Components.addType('menu-list-set', {
 
631
  model: {
632
  defaults: {
633
- content: '<div id="dropdown-settings"></div>',
 
 
634
  script: function(props) {
635
- window.menu_list = props.menu_list;
636
- console.log('Dropdown settings initialized with menu_list:', window.menu_list);
637
- const loadScriptToBody = (src, callback) => {
 
 
 
 
 
 
638
  const script = document.createElement('script');
639
  script.src = src;
640
  script.onload = callback;
641
  document.body.appendChild(script);
642
  };
643
- const library = props.library;
644
- let dropdownjsSrc;
645
- if (library === '1') {
646
- dropdownjsSrc = 'https://huggingface.co/spaces/DMTuit/psy_vk/resolve/main/js/menu_gen.js';
647
- loadScriptToBody(dropdownjsSrc, () => {
648
- console.log('DropdownJS script loaded!');
649
  });
 
 
650
  }
 
 
 
 
 
 
 
 
 
 
651
  },
652
- 'script-props': ['menu_list', 'library'],
 
 
653
  traits: [
654
  {
655
- type: 'select',
656
- name: 'library',
657
- label: 'Library',
658
- options: [
659
- { value: '1', name: 'Меню - 1' }
660
- ],
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
661
  changeProp: true
662
  },
663
  {
664
  type: 'text',
665
- name: 'menu_list',
666
- label: 'Menu List',
667
- changeProp: true,
668
- placeholder: '[{"title":"Название","link":"URL"},...]',
669
- style: { width: '100%', height: '200px' }
670
  }
671
  ]
672
  }
673
  }
674
  });
675
-
676
- editor.Blocks.add('dropdown-settings-block', {
677
- label: 'Настройка выпадающего списка',
678
- content: { type: 'menu-list-set' },
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>