forked from alexandernst/jstree-actions
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathjstree-actions.min.js
1 lines (1 loc) · 1.68 KB
/
jstree-actions.min.js
1
!function(t,n){"use strict";t.jstree.defaults.actions=t.noop,t.jstree.plugins.actions=function(t,n){this._actions={},this.add_action=function(t,n){var i=this;t=typeof t===Object?t:[t];for(var a=0;a<t.length;a++){var e=t[a],o=i._actions[e]=i._actions[e]||[];i._has_action(e,n.id)||o.push(n)}this.redraw(!0)},this.remove_action=function(t,n){for(var i=this,a=typeof t===Object?t:"all"===t?Object.keys(this._actions).concat("all"):[t],e=0;e<a.length;e++){t=a[e];for(var o=i._actions[t]||[],r=[],c=0;c<o.length;c++){var s=o[c];s.id!==n&&"all"!==n&&r.push(s)}i._actions[t]=r}this.redraw(!0)},this._create_action=function(t,n){var i=this,a=this._get_action(t,n);if(null===a)return null;var e=document.createElement("i");return e.className=a["class"],e.textContent=a.text,e.onclick=function(){var o=i.get_node(e);a.callback(t,o,n,e)},{action:a,action_el:e}},this._get_action=function(t,n){for(var i=this._actions[t]||[],a=null,e=0;e<i.length;e++){var o=i[e];o.id===n&&(a=o)}return a},this._set_action=function(t,n,i){if(null!==i){var a=n.querySelector(i.action.selector);i.action.after?a.parentNode.insertBefore(i.action_el,a.nextSibling):n.insertBefore(i.action_el,a)}},this._has_action=function(t,n){var i=!1,a=this._actions;if(a.hasOwnProperty(t))for(var e=0;e<a[t].length;e++)a[t][e].id===n&&(i=!0);if(this._actions.hasOwnProperty("all"))for(e=0;e<a.all.length;e++)a.all[e].id===n&&(i=!0);return i},this.redraw_node=function(t,i,a,e){var o=this,r=t,c=n.redraw_node.call(this,t,i,a,e);if(c){for(var s=this._actions[r]||[],l=0;l<s.length;l++){var _=o._create_action(r,s[l].id);o._set_action(r,c,_)}for(s=this._actions.all||[],l=0;l<s.length;l++)_=o._create_action("all",s[l].id),o._set_action(r,c,_)}return c}}}(jQuery);