简体   繁体   English

如何在花式树中区分展开与点击?

[英]how to distinguish expand vs click in fancytree?

>[\] Group
   >[\] Subgroup
      [] Item
      [] Item
      ...
   ...
...

I have tree like demonstrated. 我有演示的树。 [\\] implies that it is not selectable, while [] stands for checkbox, which can be selected. [\\]表示它是不可选择的,而[]代表复选框是可以选择的。

I would like that CLICKING on Group or Subgroup implies: 我希望在组或子组上单击意味着:

  • expand of all children below the clicked group/subgroup 展开单击的组/子组下的所有子级
  • selection (or when it is second time unselection) of all items below 选择(或第二次取消选择)以下所有项

I would like that clicking on > implies only: 我希望单击>仅意味着:

  • expand of all children below the clicked group/subgroup 展开单击的组/子组下的所有子级

My code for now looks something like this: 我的代码现在看起来像这样:

createNode: (event, data) ->
    kind = data.node.data.k
    pk = data.node.data.i

    if objects?[pk]
        data.node.setSelected()

    if kind isnt 'c'
        $(data.node.li).find('span.fancytree-checkbox').remove()

beforeSelect: (event, data) ->
    if data.node.data.k isnt 'c'
        return false

    if data.node.isSelected() and data.node.parent.isSelected()
        return false
click: (event, data) ->
    data.node.visit (child) ->
        console.log data.node.data.k 
        child.makeVisible()
        if child.data.k is 'c'
            child.setSelected(data.node.selected)

and: 和:

ajax: ifModified: true cache: true ajax:ifModified:true缓存:true

checkbox: true
selectMode: 2
debugLevel: 0
generateIds: false

filter:
    mode: 'hide'

For now I have problem that clicking on '>' shows and hides the children below. 现在,我有一个问题,单击“>”显示并隐藏下面的孩子。

How to make properly the check: 如何正确进行检查:

event.originalEvent.target is 'fancytree-expander'

This is not working. 这是行不通的。

This solved my problem: 这解决了我的问题:

        tt = $.ui.fancytree.getEventTargetType(event.originalEvent)
        if tt isnt 'expander'

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM