|
136 | 136 | if (tree.trackSelection) { |
137 | 137 | treeElem.bind('click', function (evt) { |
138 | 138 | var selectedItemElem = findParentListItem(evt.target); |
| 139 | + var selectedItemScope = selectedItemElem ? selectedItemElem.scope() : null; |
139 | 140 |
|
140 | 141 | if (evt.metaKey && tree.multiple) { |
141 | | - if (selectedItemElem) { |
142 | | - selectedItemElem.scope().$apply(function () { |
143 | | - tree.selected(selectedItemElem.scope(), ! selectedItemElem.scope().$selected); |
| 142 | + if (selectedItemScope) { |
| 143 | + selectedItemScope.$apply(function () { |
| 144 | + tree.selected(selectedItemScope, ! selectedItemScope.$selected); |
144 | 145 | }); |
145 | 146 | } |
146 | 147 | } else { |
147 | 148 | descendNodes(treeElem, function (listElem, itemElem) { |
148 | | - if ((! selectedItemElem || itemElem[0] !== selectedItemElem[0]) && itemElem.scope().$selected) { |
149 | | - itemElem.scope().$apply(function () { |
150 | | - tree.selected(itemElem.scope(), false); |
151 | | - }); |
| 149 | + if (! selectedItemElem || itemElem[0] !== selectedItemElem[0]) { |
| 150 | + var itemScope = itemElem.scope(); |
| 151 | + |
| 152 | + if (itemScope.$selected) { |
| 153 | + itemScope.$apply(function () { |
| 154 | + tree.selected(itemScope, false); |
| 155 | + }); |
| 156 | + } |
152 | 157 | } |
153 | 158 | }); |
154 | 159 |
|
155 | | - if (selectedItemElem && ! selectedItemElem.scope().$selected) { |
156 | | - selectedItemElem.scope().$apply(function () { |
157 | | - tree.selected(selectedItemElem.scope(), true); |
| 160 | + if (selectedItemScope && ! selectedItemScope.$selected) { |
| 161 | + selectedItemScope.$apply(function () { |
| 162 | + tree.selected(selectedItemScope, true); |
158 | 163 | }); |
159 | 164 | } |
160 | 165 | } |
|
0 commit comments