libre-jqgrid 4.17.2 → 4.17.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.tscache/all/hashes/free-jqgrid.d.ts-74303c8b076937117540c0cb798f2053 +1 -0
- package/.tscache/all/hashes/test.ts-0d81877a31bc5d7ac52dd35a66602f01 +1 -0
- package/.tscache/all/timestamp +0 -0
- package/dist/css/ui.jqgrid.css +1618 -0
- package/dist/css/ui.jqgrid.min.css +4 -0
- package/dist/css/ui.jqgrid.min.css.map +1 -0
- package/dist/i18n/grid.locale-ar.js +198 -0
- package/dist/i18n/grid.locale-bg.js +201 -0
- package/dist/i18n/grid.locale-bs.js +230 -0
- package/dist/i18n/grid.locale-ca.js +204 -0
- package/dist/i18n/grid.locale-cn.js +237 -0
- package/dist/i18n/grid.locale-cs.js +197 -0
- package/dist/i18n/grid.locale-da.js +196 -0
- package/dist/i18n/grid.locale-de.js +240 -0
- package/dist/i18n/grid.locale-el.js +195 -0
- package/dist/i18n/grid.locale-en.js +256 -0
- package/dist/i18n/grid.locale-es.js +202 -0
- package/dist/i18n/grid.locale-fa.js +211 -0
- package/dist/i18n/grid.locale-fi.js +201 -0
- package/dist/i18n/grid.locale-fr.js +197 -0
- package/dist/i18n/grid.locale-gl.js +197 -0
- package/dist/i18n/grid.locale-he.js +198 -0
- package/dist/i18n/grid.locale-hr.js +231 -0
- package/dist/i18n/grid.locale-hu.js +196 -0
- package/dist/i18n/grid.locale-id.js +238 -0
- package/dist/i18n/grid.locale-is.js +197 -0
- package/dist/i18n/grid.locale-it.js +189 -0
- package/dist/i18n/grid.locale-ja.js +203 -0
- package/dist/i18n/grid.locale-kr.js +194 -0
- package/dist/i18n/grid.locale-lt.js +199 -0
- package/dist/i18n/grid.locale-me.js +198 -0
- package/dist/i18n/grid.locale-nl.js +208 -0
- package/dist/i18n/grid.locale-no.js +180 -0
- package/dist/i18n/grid.locale-pl.js +204 -0
- package/dist/i18n/grid.locale-pt-br.js +210 -0
- package/dist/i18n/grid.locale-pt.js +196 -0
- package/dist/i18n/grid.locale-ro.js +210 -0
- package/dist/i18n/grid.locale-ru.js +196 -0
- package/dist/i18n/grid.locale-sk.js +198 -0
- package/dist/i18n/grid.locale-sl.js +230 -0
- package/dist/i18n/grid.locale-sr.js +199 -0
- package/dist/i18n/grid.locale-sv.js +198 -0
- package/dist/i18n/grid.locale-th.js +195 -0
- package/dist/i18n/grid.locale-tr.js +197 -0
- package/dist/i18n/grid.locale-tw.js +199 -0
- package/dist/i18n/grid.locale-ua.js +199 -0
- package/dist/i18n/grid.locale-vi.js +238 -0
- package/dist/i18n/min/grid.locale-ar.js +10 -0
- package/dist/i18n/min/grid.locale-ar.js.map +1 -0
- package/dist/i18n/min/grid.locale-bg.js +10 -0
- package/dist/i18n/min/grid.locale-bg.js.map +1 -0
- package/dist/i18n/min/grid.locale-ca.js +15 -0
- package/dist/i18n/min/grid.locale-ca.js.map +1 -0
- package/dist/i18n/min/grid.locale-cn.js +10 -0
- package/dist/i18n/min/grid.locale-cn.js.map +1 -0
- package/dist/i18n/min/grid.locale-cs.js +11 -0
- package/dist/i18n/min/grid.locale-cs.js.map +1 -0
- package/dist/i18n/min/grid.locale-da.js +10 -0
- package/dist/i18n/min/grid.locale-da.js.map +1 -0
- package/dist/i18n/min/grid.locale-de.js +21 -0
- package/dist/i18n/min/grid.locale-de.js.map +1 -0
- package/dist/i18n/min/grid.locale-el.js +10 -0
- package/dist/i18n/min/grid.locale-el.js.map +1 -0
- package/dist/i18n/min/grid.locale-en.js +11 -0
- package/dist/i18n/min/grid.locale-en.js.map +1 -0
- package/dist/i18n/min/grid.locale-es.js +16 -0
- package/dist/i18n/min/grid.locale-es.js.map +1 -0
- package/dist/i18n/min/grid.locale-fa.js +8 -0
- package/dist/i18n/min/grid.locale-fa.js.map +1 -0
- package/dist/i18n/min/grid.locale-fi.js +11 -0
- package/dist/i18n/min/grid.locale-fi.js.map +1 -0
- package/dist/i18n/min/grid.locale-fr.js +10 -0
- package/dist/i18n/min/grid.locale-fr.js.map +1 -0
- package/dist/i18n/min/grid.locale-gl.js +9 -0
- package/dist/i18n/min/grid.locale-gl.js.map +1 -0
- package/dist/i18n/min/grid.locale-he.js +10 -0
- package/dist/i18n/min/grid.locale-he.js.map +1 -0
- package/dist/i18n/min/grid.locale-hr.js +11 -0
- package/dist/i18n/min/grid.locale-hr.js.map +1 -0
- package/dist/i18n/min/grid.locale-hu.js +10 -0
- package/dist/i18n/min/grid.locale-hu.js.map +1 -0
- package/dist/i18n/min/grid.locale-id.js +10 -0
- package/dist/i18n/min/grid.locale-id.js.map +1 -0
- package/dist/i18n/min/grid.locale-is.js +9 -0
- package/dist/i18n/min/grid.locale-is.js.map +1 -0
- package/dist/i18n/min/grid.locale-it.js +2 -0
- package/dist/i18n/min/grid.locale-it.js.map +1 -0
- package/dist/i18n/min/grid.locale-ja.js +10 -0
- package/dist/i18n/min/grid.locale-ja.js.map +1 -0
- package/dist/i18n/min/grid.locale-kr.js +2 -0
- package/dist/i18n/min/grid.locale-kr.js.map +1 -0
- package/dist/i18n/min/grid.locale-lt.js +10 -0
- package/dist/i18n/min/grid.locale-lt.js.map +1 -0
- package/dist/i18n/min/grid.locale-me.js +10 -0
- package/dist/i18n/min/grid.locale-me.js.map +1 -0
- package/dist/i18n/min/grid.locale-nl.js +2 -0
- package/dist/i18n/min/grid.locale-nl.js.map +1 -0
- package/dist/i18n/min/grid.locale-no.js +2 -0
- package/dist/i18n/min/grid.locale-no.js.map +1 -0
- package/dist/i18n/min/grid.locale-pl.js +18 -0
- package/dist/i18n/min/grid.locale-pl.js.map +1 -0
- package/dist/i18n/min/grid.locale-pt-br.js +21 -0
- package/dist/i18n/min/grid.locale-pt-br.js.map +1 -0
- package/dist/i18n/min/grid.locale-pt.js +9 -0
- package/dist/i18n/min/grid.locale-pt.js.map +1 -0
- package/dist/i18n/min/grid.locale-ro.js +10 -0
- package/dist/i18n/min/grid.locale-ro.js.map +1 -0
- package/dist/i18n/min/grid.locale-ru.js +10 -0
- package/dist/i18n/min/grid.locale-ru.js.map +1 -0
- package/dist/i18n/min/grid.locale-sk.js +10 -0
- package/dist/i18n/min/grid.locale-sk.js.map +1 -0
- package/dist/i18n/min/grid.locale-sr.js +10 -0
- package/dist/i18n/min/grid.locale-sr.js.map +1 -0
- package/dist/i18n/min/grid.locale-sv.js +10 -0
- package/dist/i18n/min/grid.locale-sv.js.map +1 -0
- package/dist/i18n/min/grid.locale-th.js +10 -0
- package/dist/i18n/min/grid.locale-th.js.map +1 -0
- package/dist/i18n/min/grid.locale-tr.js +10 -0
- package/dist/i18n/min/grid.locale-tr.js.map +1 -0
- package/dist/i18n/min/grid.locale-tw.js +11 -0
- package/dist/i18n/min/grid.locale-tw.js.map +1 -0
- package/dist/i18n/min/grid.locale-ua.js +10 -0
- package/dist/i18n/min/grid.locale-ua.js.map +1 -0
- package/dist/i18n/min/grid.locale-vi.js +10 -0
- package/dist/i18n/min/grid.locale-vi.js.map +1 -0
- package/dist/jquery.jqgrid.min.js +11 -0
- package/dist/jquery.jqgrid.min.js.map +1 -0
- package/{js/jquery.jqgrid.src.js.1 → dist/jquery.jqgrid.src.js} +1 -1
- package/dist/modules/grid.base.js +8518 -0
- package/dist/modules/grid.celledit.js +673 -0
- package/dist/modules/grid.common.js +844 -0
- package/dist/modules/grid.custom.js +1795 -0
- package/dist/modules/grid.filter.js +897 -0
- package/dist/modules/grid.formedit.js +2537 -0
- package/dist/modules/grid.grouping.js +737 -0
- package/dist/modules/grid.import.js +251 -0
- package/dist/modules/grid.inlinedit.js +784 -0
- package/dist/modules/grid.jqueryui.js +965 -0
- package/dist/modules/grid.pivot.js +862 -0
- package/dist/modules/grid.subgrid.js +379 -0
- package/dist/modules/grid.tbltogrid.js +141 -0
- package/dist/modules/grid.treegrid.js +683 -0
- package/dist/modules/jqdnr.js +188 -0
- package/dist/modules/jqmodal.js +292 -0
- package/dist/modules/jquery.fmatter.js +1061 -0
- package/dist/modules/jsonxml.js +343 -0
- package/dist/modules/min/grid.base.js +11 -0
- package/dist/modules/min/grid.base.js.map +1 -0
- package/dist/modules/min/grid.celledit.js +2 -0
- package/dist/modules/min/grid.celledit.js.map +1 -0
- package/dist/modules/min/grid.common.js +2 -0
- package/dist/modules/min/grid.common.js.map +1 -0
- package/dist/modules/min/grid.custom.js +2 -0
- package/dist/modules/min/grid.custom.js.map +1 -0
- package/dist/modules/min/grid.filter.js +2 -0
- package/dist/modules/min/grid.filter.js.map +1 -0
- package/dist/modules/min/grid.formedit.js +2 -0
- package/dist/modules/min/grid.formedit.js.map +1 -0
- package/dist/modules/min/grid.grouping.js +2 -0
- package/dist/modules/min/grid.grouping.js.map +1 -0
- package/dist/modules/min/grid.import.js +2 -0
- package/dist/modules/min/grid.import.js.map +1 -0
- package/dist/modules/min/grid.inlinedit.js +2 -0
- package/dist/modules/min/grid.inlinedit.js.map +1 -0
- package/dist/modules/min/grid.jqueryui.js +2 -0
- package/dist/modules/min/grid.jqueryui.js.map +1 -0
- package/dist/modules/min/grid.pivot.js +2 -0
- package/dist/modules/min/grid.pivot.js.map +1 -0
- package/dist/modules/min/grid.subgrid.js +2 -0
- package/dist/modules/min/grid.subgrid.js.map +1 -0
- package/dist/modules/min/grid.tbltogrid.js +2 -0
- package/dist/modules/min/grid.tbltogrid.js.map +1 -0
- package/dist/modules/min/grid.treegrid.js +2 -0
- package/dist/modules/min/grid.treegrid.js.map +1 -0
- package/dist/modules/min/jqdnr.js +2 -0
- package/dist/modules/min/jqdnr.js.map +1 -0
- package/dist/modules/min/jqmodal.js +2 -0
- package/dist/modules/min/jqmodal.js.map +1 -0
- package/dist/modules/min/jquery.fmatter.js +2 -0
- package/dist/modules/min/jquery.fmatter.js.map +1 -0
- package/dist/modules/min/jsonxml.js +2 -0
- package/dist/modules/min/jsonxml.js.map +1 -0
- package/dist/plugins/css/ui.multiselect.css +30 -0
- package/dist/plugins/css/ui.multiselect.min.css +2 -0
- package/dist/plugins/css/ui.multiselect.min.css.map +1 -0
- package/dist/plugins/grid.odata.js +1313 -0
- package/dist/plugins/jqgrid_download.js +109 -0
- package/dist/plugins/jquery.contextmenu-ui.js +304 -0
- package/dist/plugins/jquery.contextmenu.js +174 -0
- package/dist/plugins/jquery.createcontexmenufromnavigatorbuttons.js +172 -0
- package/dist/plugins/jquery.jqgrid.showhidecolumnmenu.js +201 -0
- package/dist/plugins/min/grid.odata.js +11 -0
- package/dist/plugins/min/grid.odata.js.map +1 -0
- package/dist/plugins/min/jquery.contextmenu-ui.js +26 -0
- package/dist/plugins/min/jquery.contextmenu-ui.js.map +1 -0
- package/dist/plugins/min/jquery.contextmenu.js +19 -0
- package/dist/plugins/min/jquery.contextmenu.js.map +1 -0
- package/dist/plugins/min/jquery.createcontexmenufromnavigatorbuttons.js +12 -0
- package/dist/plugins/min/jquery.createcontexmenufromnavigatorbuttons.js.map +1 -0
- package/dist/plugins/min/jquery.jqgrid.showhidecolumnmenu.js +10 -0
- package/dist/plugins/min/jquery.jqgrid.showhidecolumnmenu.js.map +1 -0
- package/dist/plugins/min/ui.multiselect.js +30 -0
- package/dist/plugins/min/ui.multiselect.js.map +1 -0
- package/dist/plugins/ui.multiselect.js +389 -0
- package/dist/ts/free-jqgrid.d.ts +2132 -0
- package/js/jquery.jqgrid.min.js +1 -1
- package/js/jquery.jqgrid.min.js.map +1 -1
- package/js/jquery.jqgrid.src.js +8 -3
- package/libre-jqgrid-4.17.4.tgz +0 -0
- package/package.json +1 -1
- package/.github/workflows/npm.yml +0 -47
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @license Copyright (c) 2014-2019, Oleg Kiriljuk, oleg.kiriljuk@ok-soft-gmbh.com
|
|
3
|
+
* Dual licensed under the MIT and GPL licenses
|
|
4
|
+
* http://www.opensource.org/licenses/mit-license.php
|
|
5
|
+
* http://www.gnu.org/licenses/gpl-2.0.html
|
|
6
|
+
* Date: 2014-11-13, 2015-04-06
|
|
7
|
+
* see https://github.com/tonytomov/jqGrid/issues/650 for more details
|
|
8
|
+
*/
|
|
9
|
+
((i,n)=>{"function"==typeof define&&define.amd?define(["jquery","./jquery.contextmenu-ui","free-jqgrid/grid.base"],function(e){return n(e,i,i.document)}):"object"==typeof module&&module.exports?module.exports=function(e,i){return void 0===i&&(i="undefined"!=typeof window?require("jquery"):require("jquery")(e||window)),require("./jquery.contextmenu-ui"),require("free-jqgrid/grid.base"),n(i,e,e.document),i}:n(jQuery,i,i.document)})("undefined"!=typeof window?window:this,function(b,x,j){b.jgrid=b.jgrid||{},b.extend(b.jgrid,{showHideColumnMenu:{adjustGridWidth:!0,viewHideDlgColumnsAsDisabled:!1,allowHideInernalColumns:!1,shrink:!1,menuStyle:{float:"left"},modifyMenuItem:function(e,i,n){0<=b.inArray(i.name,["rn","subgrid","cb"])?n.allowHideInernalColumns||e.hide():i.hidedlg&&(n.viewHideDlgColumnsAsDisabled?e.addClass("ui-state-disabled"):e.hide())}}}),b.jgrid.extend({showHideColumnMenu:function(e){var C=b.extend(!0,{},b.jgrid.showHideColumnMenu,e),e=null!=b.ui&&"string"==typeof b.ui.version?/^([0-9]+)\.([0-9]+)\.([0-9]+)$/.exec(b.ui.version):[],k=null!=e&&4===e.length&&"1"===e[1]&&e[2]<11;return this.each(function(){function e(){b(this.grid.hDiv).find(".ui-jqgrid-labels").contextmenu(function(e){for(var i,n,o,t,c,d,r=g.jqGrid("getGridParam"),l=r.colModel,u=r.colNames,a=l.length,s=r.groupHeader,h={},m={},f=b("<ul class='ui-jqgrid-showHideColumnMenu'></ul>"),p=0;p<a;p++)h[l[p].name]=p;if(null!=s&&null!=s.groupHeaders)for(o=0,c=s.groupHeaders.length;o<c;o++)for(d=s.groupHeaders[o],t=0;t<d.numberOfColumns;t++)p=h[d.startColumnName]+t,i=l[p],m[p]=b.jgrid.isFunction(C.buildItemText)?C.buildItemText.call(g[0],{iCol:p,cm:i,cmName:i.name,colName:u[p],groupTitleText:d.titleText}):b.jgrid.stripHtml(d.titleText)+": "+b.jgrid.stripHtml(""===u[p]?i.name:u[p]);for(p=0;p<a;p++)void 0===m[p]&&(i=l[p],m[p]=b.jgrid.isFunction(C.buildItemText)?C.buildItemText.call(g[0],{iCol:p,cm:i,cmName:i.name,colName:u[p],groupTitleText:null}):b.jgrid.stripHtml(u[p]));for(p=0;p<a;p++)i=l[p],n=b("<li></li>").data("iCol",p).html(m[p]),C.modifyMenuItem.call(g[0],n,i,C),n.prepend(i.hidden?C.checkboxUnChecked:C.checkboxChecked),k&&n.wrapInner("<a></a>"),n.appendTo(f);return f.css(C.menuStyle),b("ul.ui-jqgrid-showHideColumnMenu").menu("destroy").remove(),f.appendTo("body").menu({select:function(e,i){var n=parseInt(i.item.data("iCol"),10),o=i.item.find(C.checkboxSelector),t=l[n],c=C.isChecked.call(g[0],o,e,t);!isNaN(n)&&0<=n&&null!=t&&0<o.length&&(c?(C.toUnCheck.call(g[0],o,e,t),g.jqGrid("hideCol",t.name)):(C.toCheck.call(g[0],o,e,t),g.jqGrid("showCol",t.name)),b(this).parent().css("zoom",1),f.menu("focus",e,i.item))},create:function(){var e=f.height(),i=x.innerHeight||j.documentElement.clientHeight;i<e&&f.height(i).css("overflow-y","scroll")}}).mouseleave(function(){b(this).menu("destroy").remove()}).position({of:b(e.target),my:"left top",at:"right center",collision:"flipfit flipfit"}),!1})}var g=b(this);C=b.extend(!0,"fontAwesome"===this.p.iconSet||"fontAwesome"===C.iconSet?{checkboxChecked:'<i class="fa fa-check-square-o fa-fw fa-lg"></i> ',checkboxUnChecked:'<i class="fa fa-square-o fa-fw fa-lg"></i> ',checkboxSelector:"i.fa",isChecked:function(e){return e.hasClass("fa-check-square-o")},toCheck:function(e){e.removeClass("fa-square-o").addClass("fa-check-square-o")},toUnCheck:function(e){e.removeClass("fa-check-square-o").addClass("fa-square-o")}}:{checkboxChecked:'<input disabled="disabled" checked="checked" type="checkbox"/>',checkboxUnChecked:'<input disabled="disabled" type="checkbox"/>',checkboxSelector:"input[type=checkbox]",isChecked:function(e){return e.is(":checked")},toCheck:function(e){e.prop("checked",!0)},toUnCheck:function(e){e.prop("checked",!1)}},C),e.call(this),g.bind("jqGridAfterSetGroupHeaders",function(){e.call(this)})})}})});
|
|
10
|
+
//# sourceMappingURL=jquery.jqgrid.showhidecolumnmenu.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"jquery.jqgrid.showhidecolumnmenu.js","sources":["../jquery.jqgrid.showhidecolumnmenu.js"],"names":["global","factory","define","amd","$","document","module","exports","root","undefined","window","require","jQuery","this","jgrid","extend","showHideColumnMenu","adjustGridWidth","viewHideDlgColumnsAsDisabled","allowHideInernalColumns","shrink","menuStyle","float","modifyMenuItem","$li","cm","options","inArray","name","hide","hidedlg","addClass","opt","versionParts","ui","version","exec","isAncorRequired","length","each","bindContextMenu","grid","hDiv","find","contextmenu","e","i","j","l","ghItem","p","$self","jqGrid","colModel","colNames","nCol","gh","groupHeader","iColByName","colHeader","$menu","iCol","groupHeaders","numberOfColumns","startColumnName","isFunction","buildItemText","call","cmName","colName","groupTitleText","titleText","stripHtml","data","html","prepend","hidden","checkboxUnChecked","checkboxChecked","wrapInner","appendTo","css","menu","remove","select","event","index","parseInt","item","$cb","checkboxSelector","cmi","toHide","isChecked","isNaN","toUnCheck","toCheck","parent","create","mHeight","height","wHeight","innerHeight","documentElement","clientHeight","mouseleave","position","of","target","my","at","collision","iconSet","$checkbox","hasClass","removeClass","is","prop","bind"],"mappings":"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"}
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @license jQuery UI Multiselect
|
|
3
|
+
*
|
|
4
|
+
* Authors:
|
|
5
|
+
* Michael Aufreiter (quasipartikel.at)
|
|
6
|
+
* Yanick Rochon (yanick.rochon[at]gmail[dot]com)
|
|
7
|
+
*
|
|
8
|
+
* Dual licensed under the MIT (MIT-LICENSE.txt)
|
|
9
|
+
* and GPL (GPL-LICENSE.txt) licenses.
|
|
10
|
+
*
|
|
11
|
+
* http://www.quasipartikel.at/multiselect/
|
|
12
|
+
*
|
|
13
|
+
* UPDATED by Oleg Kiriljuk (oleg.kiriljuk@ok-soft-gmbh.com) to support jQuery 1.6 and hight
|
|
14
|
+
* (the usage of jQuery.attr and jQuery.removeAttr is replaced to the usage of jQuery.prop
|
|
15
|
+
* in case of working with selected options of select)
|
|
16
|
+
*
|
|
17
|
+
* Depends:
|
|
18
|
+
* ui.core.js
|
|
19
|
+
* ui.sortable.js
|
|
20
|
+
*
|
|
21
|
+
* Optional:
|
|
22
|
+
* localization (http://plugins.jquery.com/project/localisation)
|
|
23
|
+
* scrollTo (http://plugins.jquery.com/project/ScrollTo)
|
|
24
|
+
*
|
|
25
|
+
* Todo:
|
|
26
|
+
* Make batch actions faster
|
|
27
|
+
* Implement dynamic insertion through remote calls
|
|
28
|
+
*/
|
|
29
|
+
(i=>{"function"==typeof define&&define.amd?define(["jquery","jquery-ui/sortable"],i):"object"==typeof module&&module.exports?module.exports=function(e,t){return void 0===t&&(t="undefined"!=typeof window?require("jquery"):require("jquery")(e||window)),require("jquery-ui/sortable"),i(t),t}:i(jQuery)})(function(l){l.widget("ui.multiselect",{options:{sortable:!0,searchable:!0,doubleClickable:!0,animated:"fast",show:"slideDown",hide:"slideUp",dividerLocation:.6,availableFirst:!1,nodeComparator:function(e,t){e=e.text(),t=t.text();return e==t?0:e<t?-1:1}},_create:function(){this.element.hide(),this.id=this.element.attr("id"),this.container=l('<div class="ui-multiselect ui-helper-clearfix ui-widget"></div>').insertAfter(this.element),this.count=0,this.selectedContainer=l('<div class="selected"></div>').appendTo(this.container),this.availableContainer=l('<div class="available"></div>')[this.options.availableFirst?"prependTo":"appendTo"](this.container),this.selectedActions=l('<div class="actions ui-widget-header ui-helper-clearfix"><span class="count">0 '+l.ui.multiselect.locale.itemsCount+'</span><a href="#" class="remove-all">'+l.ui.multiselect.locale.removeAll+"</a></div>").appendTo(this.selectedContainer),this.availableActions=l('<div class="actions ui-widget-header ui-helper-clearfix"><input type="text" class="search empty ui-widget-content ui-corner-all"></input><a href="#" class="add-all">'+l.ui.multiselect.locale.addAll+"</a></div>").appendTo(this.availableContainer),this.selectedList=l('<ul class="selected connected-list"><li class="ui-helper-hidden-accessible"></li></ul>').bind("selectstart",function(){return!1}).appendTo(this.selectedContainer),this.availableList=l('<ul class="available connected-list"><li class="ui-helper-hidden-accessible"></li></ul>').bind("selectstart",function(){return!1}).appendTo(this.availableContainer);var i=this;this.container.width(this.element.width()+1),this.selectedContainer.width(Math.floor(this.element.width()*this.options.dividerLocation)),this.availableContainer.width(Math.floor(this.element.width()*(1-this.options.dividerLocation))),this.selectedList.height(Math.max(this.element.height()-this.selectedActions.height(),1)),this.availableList.height(Math.max(this.element.height()-this.availableActions.height(),1)),this.options.animated||(this.options.show="show",this.options.hide="hide"),this._populateLists(this.element.find("option")),this.options.sortable&&this.selectedList.sortable({placeholder:"ui-state-highlight",axis:"y",update:function(e,t){i.selectedList.find("li").each(function(){l(this).data("optionLink")&&l(this).data("optionLink").remove().appendTo(i.element)})},receive:function(e,t){t.item.data("optionLink").prop("selected",!0),i.count+=1,i._updateCount(),i.selectedList.children(".ui-draggable").each(function(){l(this).removeClass("ui-draggable"),l(this).data("optionLink",t.item.data("optionLink")),l(this).data("idx",t.item.data("idx")),i._applyItemState(l(this),!0)}),setTimeout(function(){t.item.remove()},1)}}),this.options.searchable?this._registerSearchEvents(this.availableContainer.find("input.search")):l(".search").hide(),this.container.find(".remove-all").click(function(){return i._populateLists(i.element.find("option").prop("selected",!1)),!1}),this.container.find(".add-all").click(function(){var t=i.element.find("option").not(":selected");return 1<i.availableList.children("li:hidden").length?i.availableList.children("li").each(function(e){l(this).is(":visible")&&l(t[e-1]).prop("selected",!0)}):t.prop("selected",!0),i._populateLists(i.element.find("option")),!1})},destroy:function(){this.element.show(),this.container.remove(),l.Widget.prototype.destroy.apply(this,arguments)},_populateLists:function(e){this.selectedList.children(".ui-element").remove(),this.availableList.children(".ui-element").remove(),this.count=0;var s=this;l(e.map(function(e){var t=l(this).is(":selected"),i=s._getOptionNode(this).appendTo(t?s.selectedList:s.availableList).show();return t&&(s.count+=1),s._applyItemState(i,t),i.data("idx",e),i[0]}));this._updateCount(),s._filter.apply(this.availableContainer.find("input.search"),[s.availableList])},_updateCount:function(){this.element.trigger("change"),this.selectedContainer.find("span.count").text(this.count+" "+l.ui.multiselect.locale.itemsCount)},_getOptionNode:function(e){e=l(e);var t=l("<li>",{class:"ui-state-default ui-element",title:e.text(),"data-selected-value":e.val()}).append('<span class="ui-icon"></span>'+e.html()+'<a href="#" class="action"><span class="ui-corner-all ui-icon"></span></a></li>').hide();return t.data("optionLink",e),t},_cloneWithData:function(e){var t=e.clone(!1,!1);return t.data("optionLink",e.data("optionLink")),t.data("idx",e.data("idx")),t},_setSelected:function(e,t){if(e.data("optionLink").prop("selected",t),t)return t=this._cloneWithData(e),e[this.options.hide](this.options.animated,function(){l(this).remove()}),t.appendTo(this.selectedList).hide()[this.options.show](this.options.animated),this._applyItemState(t,!0),t;var i=this.availableList.find("li"),s=this.options.nodeComparator,n=null,a=e.data("idx"),o=s(e,l(i[a]));if(o){for(;0<=a&&a<i.length;)if(0<o?a++:a--,o!=s(e,l(i[a]))){n=i[0<o?a:a+1];break}}else n=i[a];t=this._cloneWithData(e);return n?t.insertBefore(l(n)):t.appendTo(this.availableList),e[this.options.hide](this.options.animated,function(){l(this).remove()}),t.hide()[this.options.show](this.options.animated),this._applyItemState(t,!1),t},_applyItemState:function(e,t){t?(this.options.sortable?e.children("span").addClass("ui-icon-arrowthick-2-n-s").removeClass("ui-helper-hidden").addClass("ui-icon"):e.children("span").removeClass("ui-icon-arrowthick-2-n-s").addClass("ui-helper-hidden").removeClass("ui-icon"),e.find("a.action span").addClass("ui-icon-minus").removeClass("ui-icon-plus"),this._registerRemoveEvents(e.find("a.action"))):(e.children("span").removeClass("ui-icon-arrowthick-2-n-s").addClass("ui-helper-hidden").removeClass("ui-icon"),e.find("a.action span").addClass("ui-icon-plus").removeClass("ui-icon-minus"),this._registerAddEvents(e.find("a.action"))),this._registerDoubleClickEvents(e),this._registerHoverEvents(e)},_filter:function(e){var t=l(this),i=e.children("li"),e=i.map(function(){return l(this).text().toLowerCase()}),s=l.jgrid.trim(t.val().toLowerCase()),n=[];s?(i.hide(),e.each(function(e){-1<this.indexOf(s)&&n.push(e)}),l.each(n,function(){l(i[this]).show()})):i.show()},_registerDoubleClickEvents:function(t){this.options.doubleClickable&&t.dblclick(function(e){0===l(e.target).closest(".action").length&&t.find("a.action").click()})},_registerHoverEvents:function(e){e.removeClass("ui-state-hover"),e.mouseover(function(){l(this).addClass("ui-state-hover")}),e.mouseout(function(){l(this).removeClass("ui-state-hover")})},_registerAddEvents:function(e){var t=this;e.click(function(){t._setSelected(l(this).parent(),!0);return t.count+=1,t._updateCount(),!1}),this.options.sortable&&e.each(function(){l(this).parent().draggable({connectToSortable:t.selectedList,helper:function(){var e=t._cloneWithData(l(this)).width(l(this).width()-50);return e.width(l(this).width()),e},appendTo:t.container,containment:t.container,revert:"invalid"})})},_registerRemoveEvents:function(e){var t=this;e.click(function(){return t._setSelected(l(this).parent(),!1),--t.count,t._updateCount(),!1})},_registerSearchEvents:function(e){var t=this;e.focus(function(){l(this).addClass("ui-state-active")}).blur(function(){l(this).removeClass("ui-state-active")}).keypress(function(e){if(13==e.keyCode)return!1}).keyup(function(){t._filter.apply(this,[t.availableList])})}}),l.extend(l.ui.multiselect,{locale:{addAll:"Add all",removeAll:"Remove all",itemsCount:"items selected"}})});
|
|
30
|
+
//# sourceMappingURL=ui.multiselect.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ui.multiselect.js","sources":["../ui.multiselect.js"],"names":["factory","define","amd","module","exports","root","$","undefined","window","require","jQuery","widget","options","sortable","searchable","doubleClickable","animated","show","hide","dividerLocation","availableFirst","nodeComparator","node1","node2","text1","text","text2","_create","this","element","id","attr","container","insertAfter","count","selectedContainer","appendTo","availableContainer","selectedActions","ui","multiselect","locale","itemsCount","removeAll","availableActions","addAll","selectedList","bind","availableList","that","width","Math","floor","height","max","_populateLists","find","placeholder","axis","update","event","each","data","remove","receive","item","prop","_updateCount","children","removeClass","_applyItemState","setTimeout","_registerSearchEvents","click","not","length","i","is","destroy","Widget","prototype","apply","arguments","map","isSelected","_getOptionNode","_filter","trigger","option","node","class","title","data-selected-value","val","append","html","_cloneWithData","clonee","clone","_setSelected","selected","selectedItem","items","comparator","succ","direction","availableItem","insertBefore","addClass","_registerRemoveEvents","_registerAddEvents","_registerDoubleClickEvents","_registerHoverEvents","list","input","rows","cache","toLowerCase","term","jgrid","trim","scores","indexOf","push","elements","dblclick","ev","target","closest","mouseover","mouseout","parent","draggable","connectToSortable","helper","containment","revert","focus","blur","keypress","e","keyCode","keyup","extend"],"mappings":"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"}
|
|
@@ -0,0 +1,389 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @license jQuery UI Multiselect
|
|
3
|
+
*
|
|
4
|
+
* Authors:
|
|
5
|
+
* Michael Aufreiter (quasipartikel.at)
|
|
6
|
+
* Yanick Rochon (yanick.rochon[at]gmail[dot]com)
|
|
7
|
+
*
|
|
8
|
+
* Dual licensed under the MIT (MIT-LICENSE.txt)
|
|
9
|
+
* and GPL (GPL-LICENSE.txt) licenses.
|
|
10
|
+
*
|
|
11
|
+
* http://www.quasipartikel.at/multiselect/
|
|
12
|
+
*
|
|
13
|
+
* UPDATED by Oleg Kiriljuk (oleg.kiriljuk@ok-soft-gmbh.com) to support jQuery 1.6 and hight
|
|
14
|
+
* (the usage of jQuery.attr and jQuery.removeAttr is replaced to the usage of jQuery.prop
|
|
15
|
+
* in case of working with selected options of select)
|
|
16
|
+
*
|
|
17
|
+
* Depends:
|
|
18
|
+
* ui.core.js
|
|
19
|
+
* ui.sortable.js
|
|
20
|
+
*
|
|
21
|
+
* Optional:
|
|
22
|
+
* localization (http://plugins.jquery.com/project/localisation)
|
|
23
|
+
* scrollTo (http://plugins.jquery.com/project/ScrollTo)
|
|
24
|
+
*
|
|
25
|
+
* Todo:
|
|
26
|
+
* Make batch actions faster
|
|
27
|
+
* Implement dynamic insertion through remote calls
|
|
28
|
+
*/
|
|
29
|
+
|
|
30
|
+
/*global jQuery, define, module, require */
|
|
31
|
+
(function (factory) {
|
|
32
|
+
"use strict";
|
|
33
|
+
if (typeof define === "function" && define.amd) {
|
|
34
|
+
// AMD. Register as an anonymous module.
|
|
35
|
+
define([
|
|
36
|
+
"jquery",
|
|
37
|
+
"jquery-ui/sortable"
|
|
38
|
+
], factory);
|
|
39
|
+
} else if (typeof module === "object" && module.exports) {
|
|
40
|
+
// Node/CommonJS
|
|
41
|
+
module.exports = function (root, $) {
|
|
42
|
+
if ($ === undefined) {
|
|
43
|
+
// require("jquery") returns a factory that requires window to
|
|
44
|
+
// build a jQuery instance, we normalize how we use modules
|
|
45
|
+
// that require this pattern but the window provided is a noop
|
|
46
|
+
// if it's defined (how jquery works)
|
|
47
|
+
$ = typeof window !== "undefined" ?
|
|
48
|
+
require("jquery") :
|
|
49
|
+
require("jquery")(root || window);
|
|
50
|
+
}
|
|
51
|
+
require("jquery-ui/sortable");
|
|
52
|
+
factory($);
|
|
53
|
+
return $;
|
|
54
|
+
};
|
|
55
|
+
} else {
|
|
56
|
+
// Browser globals
|
|
57
|
+
factory(jQuery);
|
|
58
|
+
}
|
|
59
|
+
}(function ($) {
|
|
60
|
+
|
|
61
|
+
$.widget("ui.multiselect", {
|
|
62
|
+
options: {
|
|
63
|
+
sortable: true,
|
|
64
|
+
searchable: true,
|
|
65
|
+
doubleClickable: true,
|
|
66
|
+
animated: 'fast',
|
|
67
|
+
show: 'slideDown',
|
|
68
|
+
hide: 'slideUp',
|
|
69
|
+
dividerLocation: 0.6,
|
|
70
|
+
availableFirst: false,
|
|
71
|
+
nodeComparator: function(node1,node2) {
|
|
72
|
+
var text1 = node1.text(),
|
|
73
|
+
text2 = node2.text();
|
|
74
|
+
return text1 == text2 ? 0 : (text1 < text2 ? -1 : 1);
|
|
75
|
+
}
|
|
76
|
+
},
|
|
77
|
+
_create: function() {
|
|
78
|
+
this.element.hide();
|
|
79
|
+
this.id = this.element.attr("id");
|
|
80
|
+
this.container = $('<div class="ui-multiselect ui-helper-clearfix ui-widget"></div>').insertAfter(this.element);
|
|
81
|
+
this.count = 0; // number of currently selected options
|
|
82
|
+
this.selectedContainer = $('<div class="selected"></div>').appendTo(this.container);
|
|
83
|
+
this.availableContainer = $('<div class="available"></div>')[this.options.availableFirst?'prependTo': 'appendTo'](this.container);
|
|
84
|
+
this.selectedActions = $('<div class="actions ui-widget-header ui-helper-clearfix"><span class="count">0 '+$.ui.multiselect.locale.itemsCount+'</span><a href="#" class="remove-all">'+$.ui.multiselect.locale.removeAll+'</a></div>').appendTo(this.selectedContainer);
|
|
85
|
+
this.availableActions = $('<div class="actions ui-widget-header ui-helper-clearfix"><input type="text" class="search empty ui-widget-content ui-corner-all"></input><a href="#" class="add-all">'+$.ui.multiselect.locale.addAll+'</a></div>').appendTo(this.availableContainer);
|
|
86
|
+
this.selectedList = $('<ul class="selected connected-list"><li class="ui-helper-hidden-accessible"></li></ul>').bind('selectstart', function(){return false;}).appendTo(this.selectedContainer);
|
|
87
|
+
this.availableList = $('<ul class="available connected-list"><li class="ui-helper-hidden-accessible"></li></ul>').bind('selectstart', function(){return false;}).appendTo(this.availableContainer);
|
|
88
|
+
|
|
89
|
+
var that = this;
|
|
90
|
+
|
|
91
|
+
// set dimensions
|
|
92
|
+
this.container.width(this.element.width()+1);
|
|
93
|
+
this.selectedContainer.width(Math.floor(this.element.width()*this.options.dividerLocation));
|
|
94
|
+
this.availableContainer.width(Math.floor(this.element.width()*(1-this.options.dividerLocation)));
|
|
95
|
+
|
|
96
|
+
// fix list height to match <option> depending on their individual header's heights
|
|
97
|
+
this.selectedList.height(Math.max(this.element.height()-this.selectedActions.height(),1));
|
|
98
|
+
this.availableList.height(Math.max(this.element.height()-this.availableActions.height(),1));
|
|
99
|
+
|
|
100
|
+
if ( !this.options.animated ) {
|
|
101
|
+
this.options.show = 'show';
|
|
102
|
+
this.options.hide = 'hide';
|
|
103
|
+
}
|
|
104
|
+
|
|
105
|
+
// init lists
|
|
106
|
+
this._populateLists(this.element.find('option'));
|
|
107
|
+
|
|
108
|
+
// make selection sortable
|
|
109
|
+
if (this.options.sortable) {
|
|
110
|
+
this.selectedList.sortable({
|
|
111
|
+
placeholder: 'ui-state-highlight',
|
|
112
|
+
axis: 'y',
|
|
113
|
+
update: function(event, ui) {
|
|
114
|
+
// apply the new sort order to the original selectbox
|
|
115
|
+
that.selectedList.find('li').each(function() {
|
|
116
|
+
if ($(this).data('optionLink')) {
|
|
117
|
+
$(this).data('optionLink').remove().appendTo(that.element);
|
|
118
|
+
}
|
|
119
|
+
});
|
|
120
|
+
},
|
|
121
|
+
receive: function(event, ui) {
|
|
122
|
+
ui.item.data('optionLink').prop('selected', true);
|
|
123
|
+
// increment count
|
|
124
|
+
that.count += 1;
|
|
125
|
+
that._updateCount();
|
|
126
|
+
// workaround, because there's no way to reference
|
|
127
|
+
// the new element, see http://dev.jqueryui.com/ticket/4303
|
|
128
|
+
that.selectedList.children('.ui-draggable').each(function() {
|
|
129
|
+
$(this).removeClass('ui-draggable');
|
|
130
|
+
$(this).data('optionLink', ui.item.data('optionLink'));
|
|
131
|
+
$(this).data('idx', ui.item.data('idx'));
|
|
132
|
+
that._applyItemState($(this), true);
|
|
133
|
+
});
|
|
134
|
+
|
|
135
|
+
// workaround according to http://dev.jqueryui.com/ticket/4088
|
|
136
|
+
setTimeout(function() { ui.item.remove(); }, 1);
|
|
137
|
+
}
|
|
138
|
+
});
|
|
139
|
+
}
|
|
140
|
+
|
|
141
|
+
// set up livesearch
|
|
142
|
+
if (this.options.searchable) {
|
|
143
|
+
this._registerSearchEvents(this.availableContainer.find('input.search'));
|
|
144
|
+
} else {
|
|
145
|
+
$('.search').hide();
|
|
146
|
+
}
|
|
147
|
+
|
|
148
|
+
// batch actions
|
|
149
|
+
this.container.find(".remove-all").click(function() {
|
|
150
|
+
that._populateLists(that.element.find('option').prop('selected', false));
|
|
151
|
+
return false;
|
|
152
|
+
});
|
|
153
|
+
|
|
154
|
+
this.container.find(".add-all").click(function() {
|
|
155
|
+
var options = that.element.find('option').not(":selected");
|
|
156
|
+
if (that.availableList.children('li:hidden').length > 1) {
|
|
157
|
+
that.availableList.children('li').each(function(i) {
|
|
158
|
+
if ($(this).is(":visible")) {
|
|
159
|
+
$(options[i-1]).prop('selected', true);
|
|
160
|
+
}
|
|
161
|
+
});
|
|
162
|
+
} else {
|
|
163
|
+
options.prop('selected', true);
|
|
164
|
+
}
|
|
165
|
+
that._populateLists(that.element.find('option'));
|
|
166
|
+
return false;
|
|
167
|
+
});
|
|
168
|
+
},
|
|
169
|
+
destroy: function() {
|
|
170
|
+
this.element.show();
|
|
171
|
+
this.container.remove();
|
|
172
|
+
|
|
173
|
+
$.Widget.prototype.destroy.apply(this, arguments);
|
|
174
|
+
},
|
|
175
|
+
_populateLists: function(options) {
|
|
176
|
+
this.selectedList.children('.ui-element').remove();
|
|
177
|
+
this.availableList.children('.ui-element').remove();
|
|
178
|
+
this.count = 0;
|
|
179
|
+
|
|
180
|
+
var that = this;
|
|
181
|
+
var items = $(options.map(function(i) {
|
|
182
|
+
var isSelected = $(this).is(":selected"), item = that._getOptionNode(this).appendTo(isSelected ? that.selectedList : that.availableList).show();
|
|
183
|
+
|
|
184
|
+
if (isSelected) {
|
|
185
|
+
that.count += 1;
|
|
186
|
+
}
|
|
187
|
+
that._applyItemState(item, isSelected);
|
|
188
|
+
item.data('idx', i);
|
|
189
|
+
return item[0];
|
|
190
|
+
}));
|
|
191
|
+
|
|
192
|
+
// update count
|
|
193
|
+
this._updateCount();
|
|
194
|
+
that._filter.apply(this.availableContainer.find('input.search'), [that.availableList]);
|
|
195
|
+
},
|
|
196
|
+
_updateCount: function() {
|
|
197
|
+
this.element.trigger('change');
|
|
198
|
+
this.selectedContainer.find('span.count').text(this.count+" "+$.ui.multiselect.locale.itemsCount);
|
|
199
|
+
},
|
|
200
|
+
_getOptionNode: function(option) {
|
|
201
|
+
option = $(option);
|
|
202
|
+
var node = $('<li>',
|
|
203
|
+
{
|
|
204
|
+
class: 'ui-state-default ui-element',
|
|
205
|
+
title: option.text(),
|
|
206
|
+
'data-selected-value': option.val()
|
|
207
|
+
})
|
|
208
|
+
.append('<span class="ui-icon"></span>'+option.html()+'<a href="#" class="action"><span class="ui-corner-all ui-icon"></span></a></li>')
|
|
209
|
+
.hide();
|
|
210
|
+
node.data('optionLink', option);
|
|
211
|
+
return node;
|
|
212
|
+
},
|
|
213
|
+
// clones an item with associated data
|
|
214
|
+
// didn't find a smarter away around this
|
|
215
|
+
_cloneWithData: function(clonee) {
|
|
216
|
+
var clone = clonee.clone(false,false);
|
|
217
|
+
clone.data('optionLink', clonee.data('optionLink'));
|
|
218
|
+
clone.data('idx', clonee.data('idx'));
|
|
219
|
+
return clone;
|
|
220
|
+
},
|
|
221
|
+
_setSelected: function(item, selected) {
|
|
222
|
+
item.data('optionLink').prop('selected', selected);
|
|
223
|
+
|
|
224
|
+
if (selected) {
|
|
225
|
+
var selectedItem = this._cloneWithData(item);
|
|
226
|
+
item[this.options.hide](this.options.animated, function() { $(this).remove(); });
|
|
227
|
+
selectedItem.appendTo(this.selectedList).hide()[this.options.show](this.options.animated);
|
|
228
|
+
|
|
229
|
+
this._applyItemState(selectedItem, true);
|
|
230
|
+
return selectedItem;
|
|
231
|
+
} else {
|
|
232
|
+
// look for successor based on initial option index
|
|
233
|
+
var items = this.availableList.find('li'), comparator = this.options.nodeComparator;
|
|
234
|
+
var succ = null, i = item.data('idx'), direction = comparator(item, $(items[i]));
|
|
235
|
+
|
|
236
|
+
// TODO: test needed for dynamic list populating
|
|
237
|
+
if ( direction ) {
|
|
238
|
+
while (i>=0 && i<items.length) {
|
|
239
|
+
direction > 0 ? i++ : i--;
|
|
240
|
+
if ( direction != comparator(item, $(items[i])) ) {
|
|
241
|
+
// going up, go back one item down, otherwise leave as is
|
|
242
|
+
succ = items[direction > 0 ? i : i+1];
|
|
243
|
+
break;
|
|
244
|
+
}
|
|
245
|
+
}
|
|
246
|
+
} else {
|
|
247
|
+
succ = items[i];
|
|
248
|
+
}
|
|
249
|
+
|
|
250
|
+
var availableItem = this._cloneWithData(item);
|
|
251
|
+
succ ? availableItem.insertBefore($(succ)) : availableItem.appendTo(this.availableList);
|
|
252
|
+
item[this.options.hide](this.options.animated, function() { $(this).remove(); });
|
|
253
|
+
availableItem.hide()[this.options.show](this.options.animated);
|
|
254
|
+
|
|
255
|
+
this._applyItemState(availableItem, false);
|
|
256
|
+
return availableItem;
|
|
257
|
+
}
|
|
258
|
+
},
|
|
259
|
+
_applyItemState: function(item, selected) {
|
|
260
|
+
if (selected) {
|
|
261
|
+
if (this.options.sortable) {
|
|
262
|
+
item.children('span').addClass('ui-icon-arrowthick-2-n-s').removeClass('ui-helper-hidden').addClass('ui-icon');
|
|
263
|
+
} else {
|
|
264
|
+
item.children('span').removeClass('ui-icon-arrowthick-2-n-s').addClass('ui-helper-hidden').removeClass('ui-icon');
|
|
265
|
+
}
|
|
266
|
+
item.find('a.action span').addClass('ui-icon-minus').removeClass('ui-icon-plus');
|
|
267
|
+
this._registerRemoveEvents(item.find('a.action'));
|
|
268
|
+
|
|
269
|
+
} else {
|
|
270
|
+
item.children('span').removeClass('ui-icon-arrowthick-2-n-s').addClass('ui-helper-hidden').removeClass('ui-icon');
|
|
271
|
+
item.find('a.action span').addClass('ui-icon-plus').removeClass('ui-icon-minus');
|
|
272
|
+
this._registerAddEvents(item.find('a.action'));
|
|
273
|
+
}
|
|
274
|
+
|
|
275
|
+
this._registerDoubleClickEvents(item);
|
|
276
|
+
this._registerHoverEvents(item);
|
|
277
|
+
},
|
|
278
|
+
// taken from John Resig's liveUpdate script
|
|
279
|
+
_filter: function(list) {
|
|
280
|
+
var input = $(this);
|
|
281
|
+
var rows = list.children('li'),
|
|
282
|
+
cache = rows.map(function(){
|
|
283
|
+
|
|
284
|
+
return $(this).text().toLowerCase();
|
|
285
|
+
});
|
|
286
|
+
|
|
287
|
+
var term = $.jgrid.trim(input.val().toLowerCase()), scores = [];
|
|
288
|
+
|
|
289
|
+
if (!term) {
|
|
290
|
+
rows.show();
|
|
291
|
+
} else {
|
|
292
|
+
rows.hide();
|
|
293
|
+
|
|
294
|
+
cache.each(function(i) {
|
|
295
|
+
if (this.indexOf(term)>-1) {
|
|
296
|
+
scores.push(i);
|
|
297
|
+
}
|
|
298
|
+
});
|
|
299
|
+
|
|
300
|
+
$.each(scores, function() {
|
|
301
|
+
$(rows[this]).show();
|
|
302
|
+
});
|
|
303
|
+
}
|
|
304
|
+
},
|
|
305
|
+
_registerDoubleClickEvents: function(elements) {
|
|
306
|
+
if (!this.options.doubleClickable) {
|
|
307
|
+
return;
|
|
308
|
+
}
|
|
309
|
+
elements.dblclick(function(ev) {
|
|
310
|
+
if ($(ev.target).closest('.action').length === 0) {
|
|
311
|
+
// This may be triggered with rapid clicks on actions as well. In that
|
|
312
|
+
// case don't trigger an additional click.
|
|
313
|
+
elements.find('a.action').click();
|
|
314
|
+
}
|
|
315
|
+
});
|
|
316
|
+
},
|
|
317
|
+
_registerHoverEvents: function(elements) {
|
|
318
|
+
elements.removeClass('ui-state-hover');
|
|
319
|
+
elements.mouseover(function() {
|
|
320
|
+
$(this).addClass('ui-state-hover');
|
|
321
|
+
});
|
|
322
|
+
elements.mouseout(function() {
|
|
323
|
+
$(this).removeClass('ui-state-hover');
|
|
324
|
+
});
|
|
325
|
+
},
|
|
326
|
+
_registerAddEvents: function(elements) {
|
|
327
|
+
var that = this;
|
|
328
|
+
elements.click(function() {
|
|
329
|
+
var item = that._setSelected($(this).parent(), true);
|
|
330
|
+
that.count += 1;
|
|
331
|
+
that._updateCount();
|
|
332
|
+
return false;
|
|
333
|
+
});
|
|
334
|
+
|
|
335
|
+
// make draggable
|
|
336
|
+
if (this.options.sortable) {
|
|
337
|
+
elements.each(function() {
|
|
338
|
+
$(this).parent().draggable({
|
|
339
|
+
connectToSortable: that.selectedList,
|
|
340
|
+
helper: function() {
|
|
341
|
+
var selectedItem = that._cloneWithData($(this)).width($(this).width() - 50);
|
|
342
|
+
selectedItem.width($(this).width());
|
|
343
|
+
return selectedItem;
|
|
344
|
+
},
|
|
345
|
+
appendTo: that.container,
|
|
346
|
+
containment: that.container,
|
|
347
|
+
revert: 'invalid'
|
|
348
|
+
});
|
|
349
|
+
});
|
|
350
|
+
}
|
|
351
|
+
},
|
|
352
|
+
_registerRemoveEvents: function(elements) {
|
|
353
|
+
var that = this;
|
|
354
|
+
elements.click(function() {
|
|
355
|
+
that._setSelected($(this).parent(), false);
|
|
356
|
+
that.count -= 1;
|
|
357
|
+
that._updateCount();
|
|
358
|
+
return false;
|
|
359
|
+
});
|
|
360
|
+
},
|
|
361
|
+
_registerSearchEvents: function(input) {
|
|
362
|
+
var that = this;
|
|
363
|
+
|
|
364
|
+
input.focus(function() {
|
|
365
|
+
$(this).addClass('ui-state-active');
|
|
366
|
+
})
|
|
367
|
+
.blur(function() {
|
|
368
|
+
$(this).removeClass('ui-state-active');
|
|
369
|
+
})
|
|
370
|
+
.keypress(function(e) {
|
|
371
|
+
if (e.keyCode == 13) {
|
|
372
|
+
return false;
|
|
373
|
+
}
|
|
374
|
+
})
|
|
375
|
+
.keyup(function() {
|
|
376
|
+
that._filter.apply(this, [that.availableList]);
|
|
377
|
+
});
|
|
378
|
+
}
|
|
379
|
+
});
|
|
380
|
+
|
|
381
|
+
$.extend($.ui.multiselect, {
|
|
382
|
+
locale: {
|
|
383
|
+
addAll:'Add all',
|
|
384
|
+
removeAll:'Remove all',
|
|
385
|
+
itemsCount:'items selected'
|
|
386
|
+
}
|
|
387
|
+
});
|
|
388
|
+
|
|
389
|
+
}));
|