Skip to content

Commit

Permalink
Build
Browse files Browse the repository at this point in the history
  • Loading branch information
mbraak committed Jul 23, 2023
1 parent 1a9a709 commit 7ae2d6d
Show file tree
Hide file tree
Showing 14 changed files with 221 additions and 97 deletions.
31 changes: 21 additions & 10 deletions lib/dragAndDropHandler.js
Original file line number Diff line number Diff line change
Expand Up @@ -212,6 +212,9 @@ var DragAndDropHandler = /*#__PURE__*/function () {
while (low < high) {
var mid = low + high >> 1;
var area = this.hitAreas[mid];
if (!area) {
return null;
}
if (y < area.top) {
high = mid;
} else if (y > area.bottom) {
Expand Down Expand Up @@ -364,10 +367,16 @@ var VisibleNodeIterator = /*#__PURE__*/function () {
if (mustIterateInside) {
var childrenLength = node.children.length;
node.children.forEach(function (_, i) {
if (i === childrenLength - 1) {
_iterateNode(node.children[i], null);
} else {
_iterateNode(node.children[i], node.children[i + 1]);
var child = node.children[i];
if (child) {
if (i === childrenLength - 1) {
_iterateNode(child, null);
} else {
var nextChild = node.children[i + 1];
if (nextChild) {
_iterateNode(child, nextChild);
}
}
}
});
if (node.is_open && $element) {
Expand Down Expand Up @@ -526,12 +535,14 @@ var HitAreasGenerator = /*#__PURE__*/function (_VisibleNodeIterator) {
var i = 0;
while (i < positionCount) {
var position = positionsInGroup[i];
hitAreas.push({
top: areaTop,
bottom: areaTop + areaHeight,
node: position.node,
position: position.position
});
if (position) {
hitAreas.push({
top: areaTop,
bottom: areaTop + areaHeight,
node: position.node,
position: position.position
});
}
areaTop += areaHeight;
i += 1;
}
Expand Down
36 changes: 22 additions & 14 deletions lib/elementsRenderer.js
Original file line number Diff line number Diff line change
Expand Up @@ -39,7 +39,9 @@ var ElementsRenderer = /*#__PURE__*/function () {
value: function renderFromRoot() {
var $element = this.treeWidget.element;
$element.empty();
this.createDomElements($element[0], this.treeWidget.tree.children, true, 1);
if ($element[0]) {
this.createDomElements($element[0], this.treeWidget.tree.children, true, 1);
}
}
}, {
key: "renderFromNode",
Expand Down Expand Up @@ -125,6 +127,14 @@ var ElementsRenderer = /*#__PURE__*/function () {
}
return li;
}
}, {
key: "setTreeItemAriaAttributes",
value: function setTreeItemAriaAttributes(li, node, level, isSelected) {
li.setAttribute("aria-label", node.name);
li.setAttribute("aria-level", "".concat(level));
li.setAttribute("aria-selected", (0, _util.getBoolString)(isSelected));
li.setAttribute("role", "treeitem");
}
}, {
key: "createFolderLi",
value: function createFolderLi(node, level, isSelected) {
Expand All @@ -135,26 +145,28 @@ var ElementsRenderer = /*#__PURE__*/function () {
// li
var li = document.createElement("li");
li.className = "jqtree_common ".concat(folderClasses);
li.setAttribute("role", "presentation");
this.setTreeItemAriaAttributes(li, node, level, isSelected);
li.setAttribute("aria-expanded", (0, _util.getBoolString)(node.is_open));

// div
var div = document.createElement("div");
div.className = "jqtree-element jqtree_common";
div.setAttribute("role", "presentation");
div.setAttribute("role", "none");
li.appendChild(div);

// button link
var buttonLink = document.createElement("a");
buttonLink.className = buttonClasses;
buttonLink.appendChild(iconElement.cloneNode(true));
buttonLink.setAttribute("role", "presentation");
buttonLink.setAttribute("aria-hidden", "true");
if (iconElement) {
buttonLink.appendChild(iconElement.cloneNode(true));
}
if (this.treeWidget.options.buttonLeft) {
div.appendChild(buttonLink);
}

// title span
div.appendChild(this.createTitleSpan(node.name, level, isSelected, node.is_open, true));
div.appendChild(this.createTitleSpan(node.name, isSelected, true));
if (!this.treeWidget.options.buttonLeft) {
div.appendChild(buttonLink);
}
Expand All @@ -172,32 +184,28 @@ var ElementsRenderer = /*#__PURE__*/function () {
// li
var li = document.createElement("li");
li.className = classString;
li.setAttribute("role", "presentation");
this.setTreeItemAriaAttributes(li, node, level, isSelected);

// div
var div = document.createElement("div");
div.className = "jqtree-element jqtree_common";
div.setAttribute("role", "presentation");
div.setAttribute("role", "none");
li.appendChild(div);

// title span
div.appendChild(this.createTitleSpan(node.name, level, isSelected, node.is_open, false));
div.appendChild(this.createTitleSpan(node.name, isSelected, false));
return li;
}
}, {
key: "createTitleSpan",
value: function createTitleSpan(nodeName, level, isSelected, isOpen, isFolder) {
value: function createTitleSpan(nodeName, isSelected, isFolder) {
var titleSpan = document.createElement("span");
var classes = "jqtree-title jqtree_common";
if (isFolder) {
classes += " jqtree-title-folder";
}
classes += " jqtree-title-button-".concat(this.treeWidget.options.buttonLeft ? "left" : "right");
titleSpan.className = classes;
titleSpan.setAttribute("role", "treeitem");
titleSpan.setAttribute("aria-level", "".concat(level));
titleSpan.setAttribute("aria-selected", (0, _util.getBoolString)(isSelected));
titleSpan.setAttribute("aria-expanded", (0, _util.getBoolString)(isOpen));
if (isSelected) {
var tabIndex = this.treeWidget.options.tabIndex;
if (tabIndex !== undefined) {
Expand Down
9 changes: 9 additions & 0 deletions lib/mouse.widget.js
Original file line number Diff line number Diff line change
Expand Up @@ -76,6 +76,9 @@ var MouseWidget = /*#__PURE__*/function (_SimpleWidget) {
return;
}
var touch = e.changedTouches[0];
if (!touch) {
return;
}
_this.handleMouseDown(getPositionInfoFromTouch(touch, e));
});
_defineProperty(_assertThisInitialized(_this), "touchMove", function (e) {
Expand All @@ -86,6 +89,9 @@ var MouseWidget = /*#__PURE__*/function (_SimpleWidget) {
return;
}
var touch = e.changedTouches[0];
if (!touch) {
return;
}
_this.handleMouseMove(e, getPositionInfoFromTouch(touch, e));
});
_defineProperty(_assertThisInitialized(_this), "touchEnd", function (e) {
Expand All @@ -96,6 +102,9 @@ var MouseWidget = /*#__PURE__*/function (_SimpleWidget) {
return;
}
var touch = e.changedTouches[0];
if (!touch) {
return;
}
_this.handleMouseUp(getPositionInfoFromTouch(touch, e));
});
return _this;
Expand Down
13 changes: 8 additions & 5 deletions lib/node.js
Original file line number Diff line number Diff line change
Expand Up @@ -513,7 +513,7 @@ var Node = /*#__PURE__*/function () {
} else {
var previousIndex = this.parent.getChildIndex(this) - 1;
if (previousIndex >= 0) {
return this.parent.children[previousIndex];
return this.parent.children[previousIndex] || null;
} else {
return null;
}
Expand All @@ -527,7 +527,7 @@ var Node = /*#__PURE__*/function () {
} else {
var nextIndex = this.parent.getChildIndex(this) + 1;
if (nextIndex < this.parent.children.length) {
return this.parent.children[nextIndex];
return this.parent.children[nextIndex] || null;
} else {
return null;
}
Expand Down Expand Up @@ -557,7 +557,7 @@ var Node = /*#__PURE__*/function () {
value: function getNextNode() {
var includeChildren = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : true;
if (includeChildren && this.hasChildren()) {
return this.children[0];
return this.children[0] || null;
} else if (!this.parent) {
return null;
} else {
Expand All @@ -574,7 +574,7 @@ var Node = /*#__PURE__*/function () {
value: function getNextVisibleNode() {
if (this.hasChildren() && this.is_open) {
// First child
return this.children[0];
return this.children[0] || null;
} else {
if (!this.parent) {
return null;
Expand Down Expand Up @@ -644,10 +644,13 @@ var Node = /*#__PURE__*/function () {
return null;
} else {
var lastChild = this.children[this.children.length - 1];
if (!lastChild) {
return null;
}
if (!(lastChild.hasChildren() && lastChild.is_open)) {
return lastChild;
} else {
return lastChild.getLastChild();
return lastChild === null || lastChild === void 0 ? void 0 : lastChild.getLastChild();
}
}
}
Expand Down
27 changes: 16 additions & 11 deletions lib/nodeElement.js
Original file line number Diff line number Diff line change
Expand Up @@ -69,10 +69,10 @@ var NodeElement = /*#__PURE__*/function () {
value: function deselect() {
var $li = this.getLi();
$li.removeClass("jqtree-selected");
$li.attr("aria-selected", "false");
$li.attr("aria-selected", "true");
var $span = this.getSpan();
$span.removeAttr("tabindex");
$span.blur();
$span.trigger("blur");
}
}, {
key: "getUl",
Expand Down Expand Up @@ -120,14 +120,16 @@ var FolderElement = /*#__PURE__*/function (_NodeElement) {
$button.html("");
var buttonEl = $button.get(0);
if (buttonEl) {
var icon = this.treeWidget.renderer.openedIconElement.cloneNode(true);
buttonEl.appendChild(icon);
var openedIconElement = this.treeWidget.renderer.openedIconElement;
if (openedIconElement) {
var icon = openedIconElement.cloneNode(true);
buttonEl.appendChild(icon);
}
}
var doOpen = function doOpen() {
var $li = _this.getLi();
$li.removeClass("jqtree-closed");
var $span = _this.getSpan();
$span.attr("aria-expanded", "true");
$li.attr("aria-expanded", "true");
if (onFinished) {
onFinished(_this.node);
}
Expand Down Expand Up @@ -157,14 +159,16 @@ var FolderElement = /*#__PURE__*/function (_NodeElement) {
$button.html("");
var buttonEl = $button.get(0);
if (buttonEl) {
var icon = this.treeWidget.renderer.closedIconElement.cloneNode(true);
buttonEl.appendChild(icon);
var closedIconElement = this.treeWidget.renderer.closedIconElement;
if (closedIconElement) {
var icon = closedIconElement.cloneNode(true);
buttonEl.appendChild(icon);
}
}
var doClose = function doClose() {
var $li = _this2.getLi();
$li.addClass("jqtree-closed");
var $span = _this2.getSpan();
$span.attr("aria-expanded", "false");
$li.attr("aria-expanded", "false");
_this2.treeWidget._triggerEvent("tree.close", {
node: _this2.node
});
Expand Down Expand Up @@ -254,7 +258,8 @@ var GhostDropHint = /*#__PURE__*/function () {
}, {
key: "moveInsideOpenFolder",
value: function moveInsideOpenFolder() {
var childElement = this.node.children[0].element;
var _this$node$children$;
var childElement = (_this$node$children$ = this.node.children[0]) === null || _this$node$children$ === void 0 ? void 0 : _this$node$children$.element;
if (childElement) {
jQuery(childElement).before(this.$ghost);
}
Expand Down
2 changes: 1 addition & 1 deletion lib/saveStateHandler.js
Original file line number Diff line number Diff line change
Expand Up @@ -107,7 +107,7 @@ var SaveStateHandler = /*#__PURE__*/function () {
value: function getNodeIdToBeSelected() {
var state = this.getStateFromStorage();
if (state && state.selected_node) {
return state.selected_node[0];
return state.selected_node[0] || null;
} else {
return null;
}
Expand Down
10 changes: 7 additions & 3 deletions lib/scrollHandler.js
Original file line number Diff line number Diff line change
Expand Up @@ -37,7 +37,7 @@ var ScrollHandler = /*#__PURE__*/function () {
key: "scrollToY",
value: function scrollToY(top) {
this.ensureInit();
if (this.$scrollParent) {
if (this.$scrollParent && this.$scrollParent[0]) {
this.$scrollParent[0].scrollTop = top;
} else {
var offset = this.treeWidget.$el.offset();
Expand Down Expand Up @@ -83,7 +83,8 @@ var ScrollHandler = /*#__PURE__*/function () {
}, {
key: "initScrollParent",
value: function initScrollParent() {
var _this = this;
var _this = this,
_$scrollParent$;
var getParentWithOverflow = function getParentWithOverflow() {
var cssAttributes = ["overflow", "overflow-y"];
var hasOverFlow = function hasOverFlow($el) {
Expand Down Expand Up @@ -124,7 +125,7 @@ var ScrollHandler = /*#__PURE__*/function () {
setDocumentAsScrollParent();
}
var $scrollParent = getParentWithOverflow();
if ($scrollParent && $scrollParent.length && $scrollParent[0].tagName !== "HTML") {
if ($scrollParent && $scrollParent.length && ((_$scrollParent$ = $scrollParent[0]) === null || _$scrollParent$ === void 0 ? void 0 : _$scrollParent$.tagName) !== "HTML") {
this.$scrollParent = $scrollParent;
var offset = this.$scrollParent.offset();
this.scrollParentTop = offset ? offset.top : 0;
Expand Down Expand Up @@ -210,6 +211,9 @@ var ScrollHandler = /*#__PURE__*/function () {
return;
}
var scrollParent = $scrollParent[0];
if (!scrollParent) {
return;
}
var canScrollRight = scrollParent.scrollLeft + scrollParent.clientWidth < scrollParent.scrollWidth;
var canScrollLeft = scrollParent.scrollLeft > 0;
var rightEdge = scrollParentOffset.left + scrollParent.clientWidth;
Expand Down
2 changes: 1 addition & 1 deletion lib/selectNodeHandler.js
Original file line number Diff line number Diff line change
Expand Up @@ -26,7 +26,7 @@ var SelectNodeHandler = /*#__PURE__*/function () {
value: function getSelectedNode() {
var selectedNodes = this.getSelectedNodes();
if (selectedNodes.length) {
return selectedNodes[0];
return selectedNodes[0] || false;
} else {
return false;
}
Expand Down
Loading

0 comments on commit 7ae2d6d

Please sign in to comment.