|
14 | 14 | (function($) { |
15 | 15 | /* static variables */ |
16 | 16 | var PLUGIN_NAMESPACE = "MultipleSelectBox"; |
17 | | - var PLUGIN_FILTER_NAMESPACE = "MultipleSelectBoxFilter"; |
18 | 17 | var PLUGIN_MODE_AUTO = "auto"; |
19 | 18 | var PLUGIN_ATTR_VALUE_RENDER = "value-render"; |
20 | 19 | var PLUGIN_STYLE_HORIZONTAL = "horizontal"; |
|
37 | 36 | "isKeyEventEnabled": true, |
38 | 37 | /* form options */ |
39 | 38 | "submitField": null, |
40 | | - /* filter options */ |
41 | | - "isFilterEnabled": true, |
42 | | - "filterField": null, |
43 | 39 | /* callback function */ |
44 | 40 | "onCreate": null, |
45 | 41 | "onSelectStart": null, |
|
788 | 784 | }); |
789 | 785 | } |
790 | 786 |
|
791 | | - /** |
792 | | - * Private : Initialize MultipleSelectBox Filter |
793 | | - */ |
794 | | - function initializeMultipleSelectBoxFilter($container) { |
795 | | - var options = $container.getMultipleSelectBoxOptions(); |
796 | | - var containerOffset = $container.offset(); |
797 | | - var filterField = options.filterField; |
798 | | - $container.bind("mouseenter." + PLUGIN_FILTER_NAMESPACE, function() { |
799 | | - filterField.removeClass(PLUGIN_STYLE_DISABLED); |
800 | | - }).bind("mouseleave." + PLUGIN_FILTER_NAMESPACE, function() { |
801 | | - filterField.addClass(PLUGIN_STYLE_DISABLED); |
802 | | - }).bind("focus." + PLUGIN_FILTER_NAMESPACE, function() { |
803 | | - filterField.removeClass(PLUGIN_STYLE_DISABLED); |
804 | | - }).bind("blur." + PLUGIN_FILTER_NAMESPACE, function() { |
805 | | - filterField.addClass(PLUGIN_STYLE_DISABLED); |
806 | | - }); |
807 | | - filterField.css({ |
808 | | - "top": containerOffset.top + $container.height() - filterField.outerHeight(), |
809 | | - "left": containerOffset.left + $container.width() - filterField.outerWidth() - scrollBarSize |
810 | | - }).bind("mouseenter." + PLUGIN_FILTER_NAMESPACE, function() { |
811 | | - filterField.removeClass(PLUGIN_STYLE_DISABLED); |
812 | | - }).bind("mouseleave." + PLUGIN_FILTER_NAMESPACE, function() { |
813 | | - filterField.addClass(PLUGIN_STYLE_DISABLED); |
814 | | - }).bind("focus." + PLUGIN_FILTER_NAMESPACE, function() { |
815 | | - filterField.removeClass(PLUGIN_STYLE_DISABLED); |
816 | | - }).bind("blur." + PLUGIN_FILTER_NAMESPACE, function() { |
817 | | - filterField.addClass(PLUGIN_STYLE_DISABLED); |
818 | | - }); |
819 | | - } |
820 | | - |
821 | 787 | function computeMultipleSelectBoxOptions($container, options) { |
822 | 788 | if (options.isTouchDeviceMode == PLUGIN_MODE_AUTO) { |
823 | 789 | options.isTouchDeviceMode = isTouchDevice; |
|
830 | 796 | var $submitField = $("input[name=" + originalSubmitField + "]"); |
831 | 797 | options.submitField = ($submitField.length > 0 ? $submitField : $("<input type='hidden' name='" + originalSubmitField + "'/>").insertAfter($container)); |
832 | 798 | } |
833 | | - if (options.isFilterEnabled) { |
834 | | - var filterField = options.filterField; |
835 | | - if (filterField == null) { |
836 | | - filterField = $("<div>Search: <input type='text' size='20'/></div>").insertAfter($container); |
837 | | - } else if (typeof filterField == "string") { |
838 | | - filterField = $("#" + filterField); |
839 | | - } |
840 | | - options.filterField = filterField; |
841 | | - } |
842 | 799 | $container.data("options", options); |
843 | 800 | } |
844 | 801 |
|
|
863 | 820 | }); |
864 | 821 | /* touch scroll supported for ios5+ only */ |
865 | 822 | /* $container.css("-webkit-overflow-scrolling", "touch"); */ |
866 | | - if (options.isFilterEnabled) { |
867 | | - options.filterField.addClass(PLUGIN_FILTER_NAMESPACE + " " + PLUGIN_STYLE_DISABLED); |
868 | | - } |
869 | 823 | } |
870 | 824 |
|
871 | 825 | function initializeMultipleSelectBoxCallbackFunctions($container, options) { |
|
903 | 857 | if (options.isTouchDeviceMode) { |
904 | 858 | initializeMultipleSelectBoxTouchEvent($container); |
905 | 859 | } |
906 | | - /* search helper */ |
907 | | - if (options.isFilterEnabled) { |
908 | | - initializeMultipleSelectBoxFilter($container); |
909 | | - } |
910 | 860 | /* reset the field value */ |
911 | 861 | if (options.submitField != null) { |
912 | 862 | options.submitField.val($container.serializeMultipleSelectBox()); |
|
0 commit comments