Current File : /home/pacjaorg/public_html/dnpsom/plugins/system/helixultimate/assets/js/admin/treeSortable.js
/**
 * Tree sortable jQuery library using jQuery UI sortable.
 *
 * @package TreeSortable
 * @license MIT
 * @author Sajeeb Ahamed
 */
var $=jQuery,treeSortable={options:{depth:20,treeSelector:"#hu-menu-tree",branchSelector:".hu-menu-tree-branch",dragHandlerSelector:".hu-branch-drag-handler",placeholderName:"hu-sortable-placeholder",childrenBusSelector:".hu-menu-children-bus",levelPrefix:"hu-branch-level",maxLevel:10},run(){this.jQuerySupplements(),this.initSorting()},getTreeEdge:()=>$(treeSortable.options.treeSelector).offset().left,pxToNumber:e=>new RegExp("px$","i").test(e)?1*e.slice(0,-2):0,numberToPx:e=>`${e}px`,jQuerySupplements(){const{options:e}=treeSortable,{levelPrefix:t}=e;$.fn.extend({getBranchLevel(){if(0===$(this).length)return 0;const{depth:t}=e,r=$(this).css("margin-left");return/(px)|(em)|(rem)$/i.test(r)?Math.floor(r.slice(0,-2)/t)+1:Math.floor(r/t)+1},updateBranchLevel(e,r=null){return this.each((function(){r=r||$(this).getBranchLevel()||1,$(this).removeClass(t+"-"+r).addClass(t+"-"+e)}))},shiftBranchLevel(e){return this.each((function(){let r=$(this).getBranchLevel()||1,l=r+e;$(this).removeClass(t+"-"+r).addClass(t+"-"+l)}))},getParent(){const{options:{branchSelector:e}}=treeSortable,t=$(this).getBranchLevel()||1;let r=$(this).prev(e);for(;r.length&&r.getBranchLevel()>=t;)r=r.prev(e);return r},getRootChildren(){const{options:{branchSelector:e,treeSelector:t,levelPrefix:r}}=treeSortable;return $(t).children(`${e}.${r}-1`)},getChildren(){const{options:{branchSelector:e}}=treeSortable;let t=$();return this.each((function(){let r=$(this).getBranchLevel()||1,l=$(this).next(e);for(;l.length&&l.getBranchLevel()>r;)t=t.add(l),l=l.next(e)})),t},nextBranch(){return $(this).next()},prevBranch(){return $(this).prev()},nextSibling(){const{options:{branchSelector:e}}=treeSortable;let t=$(this).getBranchLevel()||1,r=$(this).next(e),l=r.getBranchLevel();for(;r.length&&l>t;)r=r.next(e),l=r.getBranchLevel();return+l==+t?r:$()},prevSibling(){const{options:{branchSelector:e}}=treeSortable;let t=$(this).getBranchLevel()||1,r=$(this).prev(e),l=r.getBranchLevel();for(;r.length&&l>t;)r=r.prev(e),l=r.getBranchLevel();return l===t?r:$()},getSiblings(e=null){const{options:{treeSelector:t,branchSelector:r}}=treeSortable;e=e||$(this).getBranchLevel();let l=[],a=$(`${t} > ${r}`),h=this;return a.length&&a.each((function(){+$(this).getBranchLevel()==+e&&h[0]!==$(this)[0]&&l.push($(this))})),l}})},updateBranchZIndex(){const{options:{treeSelector:e,branchSelector:t}}=treeSortable,r=$(`${e} > ${t}`),l=r.length;r.length&&r.each((function(e){$(this).css("z-index",Math.max(1,l-e))}))},initSorting(){const{options:e,pxToNumber:t,numberToPx:r,updateBranchZIndex:l}=treeSortable,{treeSelector:a,dragHandlerSelector:h,placeholderName:n,childrenBusSelector:o}=e;let c=1,i=1,s=null,p=0,g=0,d=!1;$(a).sortable({handle:h,placeholder:n,items:"> *",start(e,l){const a=l.item.getBranchLevel();l.placeholder.updateBranchLevel(a),g=l.item.index(),i=a,s=l.item.find(o),s.append(l.item.next().getChildren());let n=s.outerHeight(),d=l.placeholder.css("margin-top");n+=n>0?t(d):0,n+=l.helper.outerHeight(),p=n,n-=2;let u=l.helper.find(h).outerWidth()-2;l.placeholder.css({height:n,width:u});const v=l.placeholder.nextBranch();v.css("margin-top",r(p)),l.placeholder.detach(),$(this).sortable("refresh"),l.item.after(l.placeholder),v.css("margin-top",0),c=a,$(".hu-menu-tree-branch .hu-menu-branch-path").hide()},sort(e,t){const{options:r,getTreeEdge:l}=treeSortable,{depth:a,maxLevel:h}=r;let n=l(),o=t.helper.offset().left,i=1,s=h,g=t.placeholder.prevBranch();g=g[0]===t.item[0]?g.prevBranch():g;let u=g.getBranchLevel();s=Math.min(u+1,h);let v=1;if(t.placeholder.nextSibling().length)v=t.placeholder.getBranchLevel()||1;else{v=t.placeholder.nextBranch().getBranchLevel()||1}i=Math.max(1,v);let m=Math.max(0,o-n),b=Math.floor(m/a)+1;if(b=Math.max(i,Math.min(b,s)),(e=>{let t=e.helper.offset().top+p,r=e.placeholder.nextBranch(),l=r.offset()||0,a=r.outerHeight();return t>l.top+a/3})(t)){let e=t.placeholder.nextBranch();e.getChildren().length&&(b=e.getBranchLevel()+1),e.after(t.placeholder),$(this).sortable("refreshPositions")}let f=t.item.getSiblings(b);if(f.length>0){let e=t.item.data("alias");if(d=f.some((t=>t.data("alias")===e)),d)return}var B,x;B=t.placeholder,x=b,B.updateBranchLevel(x),c=x},change(e,t){let r=t.placeholder.prevBranch();r=r[0]===t.item[0]?r.prevBranch():r;let l=r.getBranchLevel()||1;if(r.length){t.placeholder.detach();let e=r.getChildren();e&&e.length&&(l+=1),t.placeholder.updateBranchLevel(l),r.after(t.placeholder)}},stop(e,t){$(".hu-menu-tree-branch:not(.hu-branch-level-1) .hu-menu-branch-path").show(),d&&Joomla.HelixToaster.error(`Can't set the same alias <strong>${t.item.data("alias")}</strong> in the same menu level!`,"Error");const r=s.children().insertAfter(t.item);s.empty(),t.item.updateBranchLevel(c),r.shiftBranchLevel(c-i);t.item.find(".hu-branch-tools-list-megamenu").html(c>1?'<svg xmlns="http://www.w3.org/2000/svg" width="13" height="13" fill="currentColor" class="bi bi-gear" viewBox="0 0 16 16"><path d="M8 4.754a3.246 3.246 0 1 0 0 6.492 3.246 3.246 0 0 0 0-6.492zM5.754 8a2.246 2.246 0 1 1 4.492 0 2.246 2.246 0 0 1-4.492 0z"></path><path d="M9.796 1.343c-.527-1.79-3.065-1.79-3.592 0l-.094.319a.873.873 0 0 1-1.255.52l-.292-.16c-1.64-.892-3.433.902-2.54 2.541l.159.292a.873.873 0 0 1-.52 1.255l-.319.094c-1.79.527-1.79 3.065 0 3.592l.319.094a.873.873 0 0 1 .52 1.255l-.16.292c-.892 1.64.901 3.434 2.541 2.54l.292-.159a.873.873 0 0 1 1.255.52l.094.319c.527 1.79 3.065 1.79 3.592 0l.094-.319a.873.873 0 0 1 1.255-.52l.292.16c1.64.893 3.434-.902 2.54-2.541l-.159-.292a.873.873 0 0 1 .52-1.255l.319-.094c1.79-.527 1.79-3.065 0-3.592l-.319-.094a.873.873 0 0 1-.52-1.255l.16-.292c.893-1.64-.902-3.433-2.541-2.54l-.292.159a.873.873 0 0 1-1.255-.52l-.094-.319zm-2.633.283c.246-.835 1.428-.835 1.674 0l.094.319a1.873 1.873 0 0 0 2.693 1.115l.291-.16c.764-.415 1.6.42 1.184 1.185l-.159.292a1.873 1.873 0 0 0 1.116 2.692l.318.094c.835.246.835 1.428 0 1.674l-.319.094a1.873 1.873 0 0 0-1.115 2.693l.16.291c.415.764-.42 1.6-1.185 1.184l-.291-.159a1.873 1.873 0 0 0-2.693 1.116l-.094.318c-.246.835-1.428.835-1.674 0l-.094-.319a1.873 1.873 0 0 0-2.692-1.115l-.292.16c-.764.415-1.6-.42-1.184-1.185l.159-.291A1.873 1.873 0 0 0 1.945 8.93l-.319-.094c-.835-.246-.835-1.428 0-1.674l.319-.094A1.873 1.873 0 0 0 3.06 4.377l-.16-.292c-.415-.764.42-1.6 1.185-1.184l.292.159a1.873 1.873 0 0 0 2.692-1.115l.094-.319z"></path></svg>':'<svg xmlns="http://www.w3.org/2000/svg" width="13" height="13" fill="currentColor" class="bi bi-grid-1x2" viewBox="0 0 16 16"><path d="M6 1H1v14h5V1zm9 0h-5v5h5V1zm0 9v5h-5v-5h5zM0 1a1 1 0 0 1 1-1h5a1 1 0 0 1 1 1v14a1 1 0 0 1-1 1H1a1 1 0 0 1-1-1V1zm9 0a1 1 0 0 1 1-1h5a1 1 0 0 1 1 1v5a1 1 0 0 1-1 1h-5a1 1 0 0 1-1-1V1zm1 8a1 1 0 0 0-1 1v5a1 1 0 0 0 1 1h5a1 1 0 0 0 1-1v-5a1 1 0 0 0-1-1h-5z"></path></svg>'),c===i&&g===t.item.index()||$(document).trigger("sortCompleted",[t]),Joomla.utils.calculateSiblingDistances()}})}};Joomla.sortable=treeSortable;
Site is undergoing maintenance

PACJA Events

Maintenance mode is on

Site will be available soon. Thank you for your patience!