aboutsummaryrefslogtreecommitdiff
path: root/solr-8.1.1/example/files/conf/velocity/js/dropit.js
diff options
context:
space:
mode:
Diffstat (limited to 'solr-8.1.1/example/files/conf/velocity/js/dropit.js')
-rw-r--r--solr-8.1.1/example/files/conf/velocity/js/dropit.js97
1 files changed, 97 insertions, 0 deletions
diff --git a/solr-8.1.1/example/files/conf/velocity/js/dropit.js b/solr-8.1.1/example/files/conf/velocity/js/dropit.js
new file mode 100644
index 000000000..3094414f0
--- /dev/null
+++ b/solr-8.1.1/example/files/conf/velocity/js/dropit.js
@@ -0,0 +1,97 @@
+/*
+ * Dropit v1.1.0
+ * http://dev7studios.com/dropit
+ *
+ * Copyright 2012, Dev7studios
+ * Free to use and abuse under the MIT license.
+ * http://www.opensource.org/licenses/mit-license.php
+ */
+
+;(function($) {
+
+ $.fn.dropit = function(method) {
+
+ var methods = {
+
+ init : function(options) {
+ this.dropit.settings = $.extend({}, this.dropit.defaults, options);
+ return this.each(function() {
+ var $el = $(this),
+ el = this,
+ settings = $.fn.dropit.settings;
+
+ // Hide initial submenus
+ $el.addClass('dropit')
+ .find('>'+ settings.triggerParentEl +':has('+ settings.submenuEl +')').addClass('dropit-trigger')
+ .find(settings.submenuEl).addClass('dropit-submenu').hide();
+
+ // Open on click
+ $el.off(settings.action).on(settings.action, settings.triggerParentEl +':has('+ settings.submenuEl +') > '+ settings.triggerEl +'', function(){
+ // Close click menu's if clicked again
+ if(settings.action == 'click' && $(this).parents(settings.triggerParentEl).hasClass('dropit-open')){
+ settings.beforeHide.call(this);
+ $(this).parents(settings.triggerParentEl).removeClass('dropit-open').find(settings.submenuEl).hide();
+ settings.afterHide.call(this);
+ return false;
+ }
+
+ // Hide open menus
+ settings.beforeHide.call(this);
+ $('.dropit-open').removeClass('dropit-open').find('.dropit-submenu').hide();
+ settings.afterHide.call(this);
+
+ // Open this menu
+ settings.beforeShow.call(this);
+ $(this).parents(settings.triggerParentEl).addClass('dropit-open').find(settings.submenuEl).show();
+ settings.afterShow.call(this);
+
+ return false;
+ });
+
+ // Close if outside click
+ $(document).on('click', function(){
+ settings.beforeHide.call(this);
+ $('.dropit-open').removeClass('dropit-open').find('.dropit-submenu').hide();
+ settings.afterHide.call(this);
+ });
+
+ // If hover
+ if(settings.action == 'mouseenter'){
+ $el.on('mouseleave', '.dropit-open', function(){
+ settings.beforeHide.call(this);
+ $(this).removeClass('dropit-open').find(settings.submenuEl).hide();
+ settings.afterHide.call(this);
+ });
+ }
+
+ settings.afterLoad.call(this);
+ });
+ }
+
+ };
+
+ if (methods[method]) {
+ return methods[method].apply(this, Array.prototype.slice.call(arguments, 1));
+ } else if (typeof method === 'object' || !method) {
+ return methods.init.apply(this, arguments);
+ } else {
+ $.error( 'Method "' + method + '" does not exist in dropit plugin!');
+ }
+
+ };
+
+ $.fn.dropit.defaults = {
+ action: 'mouseenter', // The open action for the trigger
+ submenuEl: 'ul', // The submenu element
+ triggerEl: 'a', // The trigger element
+ triggerParentEl: 'li', // The trigger parent element
+ afterLoad: function(){}, // Triggers when plugin has loaded
+ beforeShow: function(){}, // Triggers before submenu is shown
+ afterShow: function(){}, // Triggers after submenu is shown
+ beforeHide: function(){}, // Triggers before submenu is hidden
+ afterHide: function(){} // Triggers before submenu is hidden
+ };
+
+ $.fn.dropit.settings = {};
+
+})(jQuery);