Mercurial > repos > mingchen0919 > aurora_skewer_site
diff vakata-jstree-3.3.5/src/jstree.conditionalselect.js @ 0:a42e58c71e5b draft default tip
planemo upload commit 841d8b22bf9f1aaed6bfe8344b60617f45b275b2-dirty
author | mingchen0919 |
---|---|
date | Sun, 30 Dec 2018 12:55:49 -0500 |
parents | |
children |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/vakata-jstree-3.3.5/src/jstree.conditionalselect.js Sun Dec 30 12:55:49 2018 -0500 @@ -0,0 +1,38 @@ +/** + * ### Conditionalselect plugin + * + * This plugin allows defining a callback to allow or deny node selection by user input (activate node method). + */ +/*globals jQuery, define, exports, require, document */ +(function (factory) { + "use strict"; + if (typeof define === 'function' && define.amd) { + define('jstree.conditionalselect', ['jquery','jstree'], factory); + } + else if(typeof exports === 'object') { + factory(require('jquery'), require('jstree')); + } + else { + factory(jQuery, jQuery.jstree); + } +}(function ($, jstree, undefined) { + "use strict"; + + if($.jstree.plugins.conditionalselect) { return; } + + /** + * a callback (function) which is invoked in the instance's scope and receives two arguments - the node and the event that triggered the `activate_node` call. Returning false prevents working with the node, returning true allows invoking activate_node. Defaults to returning `true`. + * @name $.jstree.defaults.checkbox.visible + * @plugin checkbox + */ + $.jstree.defaults.conditionalselect = function () { return true; }; + $.jstree.plugins.conditionalselect = function (options, parent) { + // own function + this.activate_node = function (obj, e) { + if(this.settings.conditionalselect.call(this, this.get_node(obj), e)) { + return parent.activate_node.call(this, obj, e); + } + }; + }; + +})); \ No newline at end of file