<?php
include_once('c_quiz_theme_card.php');

class c_page_cab_quiz_theme_card_sections_tree extends c_page_cab_quiz_theme_card
{
    public $h1='Контроль знаний - карточка темы - разделы темы';
    public $rec_theme;

    function block_main()
    {
        $this->page_title();

        ?>
        <script src="/AddOns/jstree/dist/jstree.min.js"></script>
        <link rel="stylesheet" href="/AddOns/jstree/dist/themes/default/style.css"/>
        <div id="tree"></div>
        <script type="text/javascript">
            $j('div#tree').jstree({
                      'core': {
                          'data': {
                              'url': '/services/quiz/ajax_json/',
                              'data': function (node)
                               {
                                  return {
                                      'id': node.id,
                                      'type': node.type,
                                      'cmd': 'themes_get_tree_content',
                                      'theme_id': <?echo $this->rec_theme['pkey']?>
                                  };
                               }
                          },check_callback: false
                      },
                      "types": {"#":    {"max_children": 1,"max_depth": 4,"valid_children": ["default"]},
                                "root": {"icon": "/static/3.3.5/assets/images/tree_icon.png","valid_children": ["default"]},
                                "default": {icon: "far fa-folder","valid_children": ["default","file"]},
                                "file": {"icon": "glyphicon glyphicon-file","valid_children": []}
                                },
                    "plugins": ["checkbox","dnd","search","state","types","changed"],
                    "checkbox": {
                    checkbox: true, // сохраняет все значения по умолчанию для плагина флажка
                    visible: true, //  //  логическое указание, если флажки должны быть видимыми (их можно изменить позже, используя show_checkboxes () и hide_checkboxes). Значение по умолчанию равно true.
                    three_state: true,  // логическое значение, указывающее, следует ли каскадировать флажки и иметь неопределенное состояние. По умолчанию true
                    whole_node: false,// логическое указание, если щелчок в любом месте узла должен действовать как щелчок на флажке. Значение по умолчанию равно true.
                    keep_selected_style: true,  // boolean, указывающий, следует ли сохранить или удалить выбранный стиль узла. Значение по умолчанию равно true.
                    cascade: '',  // Этот параметр определяет, как применяются каскадные и неопределенные узлы.
                                  //  Если в строке находится «вверх», то включен режим «каскадирование», если «вниз» находится в строке - каскадное нажатие включено, если «неопределенный» находится в строке - будут использоваться неопределенные узлы.
                    // Если для параметра three_state установлено значение true, этот параметр автоматически устанавливается на «вверх + вниз + неопределенный». По умолчанию используется значение ''.
                    tie_selection: false,  // Этот параметр управляет, если флажок привязан к общему дереву или внутреннему массиву, поддерживаемому плагином. По умолчанию значение true, только значение false, если вы точно знаете, что делаете.
                    cascade_to_disabled: false, // Этот параметр управляет, если каскадное нажатие влияет на отключенные флажки
                    cascade_to_hidden: false  // Этот параметр управляет, если каскадирование вниз влияет на скрытые флажки
                }
                                  })  // для работы требуется
                // tie_selection:false
                /*
                .on("check_node.jstree uncheck_node.jstree",function (e,data) {
                    $j('#tree_check_result').html('');
                    $j('#test222').next('div').find('li.false').remove();
                    var parent_id = <?echo $this->rec_theme['pkey']?>;
                    var parent_node = null;
                    var node_path = '';
                    var selectedElms = $j('#tree').jstree("get_checked",true);
                    /*
                    $j.each(selectedElms,function () { //selectedElmsIds.push(this.id);
                        //console.log(this) ;
                        node_path = $j('#tree').jstree("get_path",this,' / ');
                        parent_id = this.parent;
                        parent_node = $j('#tree').jstree('get_node',parent_id);
                        //console.log(parent_node) ;
                        console.log(parent_node.state.checked);
                        if (!parent_node.state.checked) $j('#tree_check_result').append('<div id="tree_el_view_"'+this.id+'><input type="hidden" name="filter[themes_ids][]" value='+this.id+'>'+node_path+'</div>');
                    });


                })*/
        </script>
        <style type="text/css">
            div#tree
            {}
        </style><?
    }
}

?>
