Comments (4)
I think I have fixed the issue using the new _clearEmpty:
_clearEmpty: function (item) {
function replaceClass(elem, search, replace, swap) {
if (swap) {
search = [replace, replace = search][0];
}
$(elem).removeClass(search).addClass(replace);
}
var o = this.options,
childrenList = $(item).children(o.listType),
hasChildren = childrenList.is(':not(:empty)');
var doNotClear =
o.doNotClear ||
hasChildren ||
o.protectRoot && $(item)[0] === this.element[0];
if (o.isTree) {
replaceClass(item, o.branchClass, o.leafClass, doNotClear);
if (doNotClear && hasChildren) {
if (childrenList.is(':visible'))
replaceClass(item, o.collapsedClass, o.expandedClass);
else
replaceClass(item, o.expandedClass, o.collapsedClass);
}
}
if (!doNotClear) {
childrenList.remove();
}
}
from nestedsortable.
Even with the new _clearEmpty there is an issue.
If I have all items de-collapsed.
- Then collapse 3 (not 3.1 and 3.3)
- Move 4
- De-collapse 3
3.1 and 3.3 is collapsed but with de-collapsed icon.
De-collapse 3.1 and 3.3 and the icon change to collapse-icon.
Any ideas on a solution?
from nestedsortable.
+1 (same issue)
from nestedsortable.
I edited the _clearEmpty (v. 2.1a)
This seems to work for me.
#816 because :empty includes text nodes as child elements
- hasChildren = childrenList.is(':not(:empty)');
+ hasChildren = childrenList.has('li').length;
#825-828 removed as that caused all branches of the tree to open
- if (doNotClear && hasChildren) {
- replaceClass(item, o.collapsedClass, o.expandedClass);
- }
#832-833 remove expandedClass when childList is removed
- childrenList.remove();
+ childrenList.parent().removeClass(o.expandedClass);
+ childrenList.remove();
complete method
_clearEmpty: function (item) {
function replaceClass(elem, search, replace, swap) {
if (swap) {
search = [replace, replace = search][0];
}
$(elem).removeClass(search).addClass(replace);
}
var o = this.options,
childrenList = $(item).children(o.listType),
hasChildren = childrenList.has('li').length;
var doNotClear =
o.doNotClear ||
hasChildren ||
o.protectRoot && $(item)[0] === this.element[0];
if (o.isTree) {
replaceClass(item, o.branchClass, o.leafClass, doNotClear);
}
if (!doNotClear) {
childrenList.parent().removeClass(o.expandedClass);
childrenList.remove();
}
}
from nestedsortable.
Related Issues (20)
- Load from AJAX data
- Allow Drag-Drop from one nestedSortable tree to another HOT 2
- Is there any way to make it work on mobile devices? HOT 1
- Depth count - difference between current code and demo
- Store nestedSortable into the Database HOT 2
- Does not working if inserting into blank branch
- Prefix for item is forced since 2.0
- Depth and Index
- iPad moving
- Has anyone gotten this to work on mobile devices (touch support)? HOT 1
- Maintain nesting level. Prevent item being dropped in parent but allow another container of same level
- Where is the Placeholder move along X-axis defined?
- How 3rd level sub menu in menu.liquid
- Create a dynamic nested sortable accordion
- Allow parent change on items that are not parents?
- Sorting Breaks with jQuery UI 1.13+ HOT 4
- Scrolling issue using laptop touch page
- Release of new version?
- "jquery-ui/ui/sortable" is a reference to jquery-ui version 11 only
- Not working with jquery-ui v. 1.13.2
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from nestedsortable.