mohsen mehri
mohsen mehri

Reputation: 41

fancy tree jquery how selected automatically when use lazyloading function and when use ajax

fancy tree jquery how selected automatically when use lazyloading function and when use ajax.here is problem is when i,m give subGroups in lazyloading function must be selected but not selected. i,m want function select run automatically or when add in tree,selected automatically my code :

lazyLoad: function (event, data) {
      console.log('lazyLoad function')
      console.log(data)
      var is_filter = false
      @if(isset($is_filter) && $is_filter)
        is_filter = true
      @endif
      var node = data.node
  // Issue an Ajax request to load child nodes
      data.result = {
        type: 'POST',
        url: "{{secure_route('backend.products.group_items_child')}}",
        data: {
            key: node.key, is_filter: is_filter
            // key: node.key, is_filter: is_filter,selected:true????
      }
  }
}

and complete code is :

$('#group_item_modal_tree').fancytree({
  selectMode:3,
  @if(isset($is_filter))
  checkbox: function (event, data) {
    return true
  },
  @else
  checkbox: function (event, data) {
    return data.node.isFolder() ? false : true
  },
  @endif
  select: function (event, data) {
      console.log('select function')
      console.log(data)
    data.node.toggleExpanded();
    if (data.targetType === 'checkbox') {
      product_selected = []
      if (data.node.isSelected()) {
        var type = ''
          @if(isset($is_filter))
          if (data.node.key > 0) {
            type = 'type: '
          } else {
            type = 'kind: '
          }
          @endif
        product_selected['id'] = data.node.data.id
        product_selected['title'] = type + data.node.title
        product_selected['code'] = data.node.data.code
        window.jspanel_selected.push(product_selected)
      }
    }
  },
rtl: true,
source: source_data,
lazyLoad: function (event, data) {
      console.log('lazyLoad function')
      console.log(data)
      var is_filter = false
      @if(isset($is_filter) && $is_filter)
        is_filter = true
      @endif
      var node = data.node
  // Issue an Ajax request to load child nodes
      data.result = {
        type: 'POST',
        url: "{{secure_route('backend.products.group_items_child')}}",
        data: {
            key: node.key, is_filter: is_filter
      }
  }
}

})

Upvotes: 0

Views: 232

Answers (1)

mohsen mehri
mohsen mehri

Reputation: 41

myProblem solved with loadChildren function

loadChildren: function(event, data) {
    // Apply parent's state to new child nodes:
    console.log('children load')
    data.node.fixSelection3AfterClick();
},

Upvotes: 1

Related Questions