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.
Files changed (211) hide show
  1. package/.tscache/all/hashes/free-jqgrid.d.ts-74303c8b076937117540c0cb798f2053 +1 -0
  2. package/.tscache/all/hashes/test.ts-0d81877a31bc5d7ac52dd35a66602f01 +1 -0
  3. package/.tscache/all/timestamp +0 -0
  4. package/dist/css/ui.jqgrid.css +1618 -0
  5. package/dist/css/ui.jqgrid.min.css +4 -0
  6. package/dist/css/ui.jqgrid.min.css.map +1 -0
  7. package/dist/i18n/grid.locale-ar.js +198 -0
  8. package/dist/i18n/grid.locale-bg.js +201 -0
  9. package/dist/i18n/grid.locale-bs.js +230 -0
  10. package/dist/i18n/grid.locale-ca.js +204 -0
  11. package/dist/i18n/grid.locale-cn.js +237 -0
  12. package/dist/i18n/grid.locale-cs.js +197 -0
  13. package/dist/i18n/grid.locale-da.js +196 -0
  14. package/dist/i18n/grid.locale-de.js +240 -0
  15. package/dist/i18n/grid.locale-el.js +195 -0
  16. package/dist/i18n/grid.locale-en.js +256 -0
  17. package/dist/i18n/grid.locale-es.js +202 -0
  18. package/dist/i18n/grid.locale-fa.js +211 -0
  19. package/dist/i18n/grid.locale-fi.js +201 -0
  20. package/dist/i18n/grid.locale-fr.js +197 -0
  21. package/dist/i18n/grid.locale-gl.js +197 -0
  22. package/dist/i18n/grid.locale-he.js +198 -0
  23. package/dist/i18n/grid.locale-hr.js +231 -0
  24. package/dist/i18n/grid.locale-hu.js +196 -0
  25. package/dist/i18n/grid.locale-id.js +238 -0
  26. package/dist/i18n/grid.locale-is.js +197 -0
  27. package/dist/i18n/grid.locale-it.js +189 -0
  28. package/dist/i18n/grid.locale-ja.js +203 -0
  29. package/dist/i18n/grid.locale-kr.js +194 -0
  30. package/dist/i18n/grid.locale-lt.js +199 -0
  31. package/dist/i18n/grid.locale-me.js +198 -0
  32. package/dist/i18n/grid.locale-nl.js +208 -0
  33. package/dist/i18n/grid.locale-no.js +180 -0
  34. package/dist/i18n/grid.locale-pl.js +204 -0
  35. package/dist/i18n/grid.locale-pt-br.js +210 -0
  36. package/dist/i18n/grid.locale-pt.js +196 -0
  37. package/dist/i18n/grid.locale-ro.js +210 -0
  38. package/dist/i18n/grid.locale-ru.js +196 -0
  39. package/dist/i18n/grid.locale-sk.js +198 -0
  40. package/dist/i18n/grid.locale-sl.js +230 -0
  41. package/dist/i18n/grid.locale-sr.js +199 -0
  42. package/dist/i18n/grid.locale-sv.js +198 -0
  43. package/dist/i18n/grid.locale-th.js +195 -0
  44. package/dist/i18n/grid.locale-tr.js +197 -0
  45. package/dist/i18n/grid.locale-tw.js +199 -0
  46. package/dist/i18n/grid.locale-ua.js +199 -0
  47. package/dist/i18n/grid.locale-vi.js +238 -0
  48. package/dist/i18n/min/grid.locale-ar.js +10 -0
  49. package/dist/i18n/min/grid.locale-ar.js.map +1 -0
  50. package/dist/i18n/min/grid.locale-bg.js +10 -0
  51. package/dist/i18n/min/grid.locale-bg.js.map +1 -0
  52. package/dist/i18n/min/grid.locale-ca.js +15 -0
  53. package/dist/i18n/min/grid.locale-ca.js.map +1 -0
  54. package/dist/i18n/min/grid.locale-cn.js +10 -0
  55. package/dist/i18n/min/grid.locale-cn.js.map +1 -0
  56. package/dist/i18n/min/grid.locale-cs.js +11 -0
  57. package/dist/i18n/min/grid.locale-cs.js.map +1 -0
  58. package/dist/i18n/min/grid.locale-da.js +10 -0
  59. package/dist/i18n/min/grid.locale-da.js.map +1 -0
  60. package/dist/i18n/min/grid.locale-de.js +21 -0
  61. package/dist/i18n/min/grid.locale-de.js.map +1 -0
  62. package/dist/i18n/min/grid.locale-el.js +10 -0
  63. package/dist/i18n/min/grid.locale-el.js.map +1 -0
  64. package/dist/i18n/min/grid.locale-en.js +11 -0
  65. package/dist/i18n/min/grid.locale-en.js.map +1 -0
  66. package/dist/i18n/min/grid.locale-es.js +16 -0
  67. package/dist/i18n/min/grid.locale-es.js.map +1 -0
  68. package/dist/i18n/min/grid.locale-fa.js +8 -0
  69. package/dist/i18n/min/grid.locale-fa.js.map +1 -0
  70. package/dist/i18n/min/grid.locale-fi.js +11 -0
  71. package/dist/i18n/min/grid.locale-fi.js.map +1 -0
  72. package/dist/i18n/min/grid.locale-fr.js +10 -0
  73. package/dist/i18n/min/grid.locale-fr.js.map +1 -0
  74. package/dist/i18n/min/grid.locale-gl.js +9 -0
  75. package/dist/i18n/min/grid.locale-gl.js.map +1 -0
  76. package/dist/i18n/min/grid.locale-he.js +10 -0
  77. package/dist/i18n/min/grid.locale-he.js.map +1 -0
  78. package/dist/i18n/min/grid.locale-hr.js +11 -0
  79. package/dist/i18n/min/grid.locale-hr.js.map +1 -0
  80. package/dist/i18n/min/grid.locale-hu.js +10 -0
  81. package/dist/i18n/min/grid.locale-hu.js.map +1 -0
  82. package/dist/i18n/min/grid.locale-id.js +10 -0
  83. package/dist/i18n/min/grid.locale-id.js.map +1 -0
  84. package/dist/i18n/min/grid.locale-is.js +9 -0
  85. package/dist/i18n/min/grid.locale-is.js.map +1 -0
  86. package/dist/i18n/min/grid.locale-it.js +2 -0
  87. package/dist/i18n/min/grid.locale-it.js.map +1 -0
  88. package/dist/i18n/min/grid.locale-ja.js +10 -0
  89. package/dist/i18n/min/grid.locale-ja.js.map +1 -0
  90. package/dist/i18n/min/grid.locale-kr.js +2 -0
  91. package/dist/i18n/min/grid.locale-kr.js.map +1 -0
  92. package/dist/i18n/min/grid.locale-lt.js +10 -0
  93. package/dist/i18n/min/grid.locale-lt.js.map +1 -0
  94. package/dist/i18n/min/grid.locale-me.js +10 -0
  95. package/dist/i18n/min/grid.locale-me.js.map +1 -0
  96. package/dist/i18n/min/grid.locale-nl.js +2 -0
  97. package/dist/i18n/min/grid.locale-nl.js.map +1 -0
  98. package/dist/i18n/min/grid.locale-no.js +2 -0
  99. package/dist/i18n/min/grid.locale-no.js.map +1 -0
  100. package/dist/i18n/min/grid.locale-pl.js +18 -0
  101. package/dist/i18n/min/grid.locale-pl.js.map +1 -0
  102. package/dist/i18n/min/grid.locale-pt-br.js +21 -0
  103. package/dist/i18n/min/grid.locale-pt-br.js.map +1 -0
  104. package/dist/i18n/min/grid.locale-pt.js +9 -0
  105. package/dist/i18n/min/grid.locale-pt.js.map +1 -0
  106. package/dist/i18n/min/grid.locale-ro.js +10 -0
  107. package/dist/i18n/min/grid.locale-ro.js.map +1 -0
  108. package/dist/i18n/min/grid.locale-ru.js +10 -0
  109. package/dist/i18n/min/grid.locale-ru.js.map +1 -0
  110. package/dist/i18n/min/grid.locale-sk.js +10 -0
  111. package/dist/i18n/min/grid.locale-sk.js.map +1 -0
  112. package/dist/i18n/min/grid.locale-sr.js +10 -0
  113. package/dist/i18n/min/grid.locale-sr.js.map +1 -0
  114. package/dist/i18n/min/grid.locale-sv.js +10 -0
  115. package/dist/i18n/min/grid.locale-sv.js.map +1 -0
  116. package/dist/i18n/min/grid.locale-th.js +10 -0
  117. package/dist/i18n/min/grid.locale-th.js.map +1 -0
  118. package/dist/i18n/min/grid.locale-tr.js +10 -0
  119. package/dist/i18n/min/grid.locale-tr.js.map +1 -0
  120. package/dist/i18n/min/grid.locale-tw.js +11 -0
  121. package/dist/i18n/min/grid.locale-tw.js.map +1 -0
  122. package/dist/i18n/min/grid.locale-ua.js +10 -0
  123. package/dist/i18n/min/grid.locale-ua.js.map +1 -0
  124. package/dist/i18n/min/grid.locale-vi.js +10 -0
  125. package/dist/i18n/min/grid.locale-vi.js.map +1 -0
  126. package/dist/jquery.jqgrid.min.js +11 -0
  127. package/dist/jquery.jqgrid.min.js.map +1 -0
  128. package/{js/jquery.jqgrid.src.js.1 → dist/jquery.jqgrid.src.js} +1 -1
  129. package/dist/modules/grid.base.js +8518 -0
  130. package/dist/modules/grid.celledit.js +673 -0
  131. package/dist/modules/grid.common.js +844 -0
  132. package/dist/modules/grid.custom.js +1795 -0
  133. package/dist/modules/grid.filter.js +897 -0
  134. package/dist/modules/grid.formedit.js +2537 -0
  135. package/dist/modules/grid.grouping.js +737 -0
  136. package/dist/modules/grid.import.js +251 -0
  137. package/dist/modules/grid.inlinedit.js +784 -0
  138. package/dist/modules/grid.jqueryui.js +965 -0
  139. package/dist/modules/grid.pivot.js +862 -0
  140. package/dist/modules/grid.subgrid.js +379 -0
  141. package/dist/modules/grid.tbltogrid.js +141 -0
  142. package/dist/modules/grid.treegrid.js +683 -0
  143. package/dist/modules/jqdnr.js +188 -0
  144. package/dist/modules/jqmodal.js +292 -0
  145. package/dist/modules/jquery.fmatter.js +1061 -0
  146. package/dist/modules/jsonxml.js +343 -0
  147. package/dist/modules/min/grid.base.js +11 -0
  148. package/dist/modules/min/grid.base.js.map +1 -0
  149. package/dist/modules/min/grid.celledit.js +2 -0
  150. package/dist/modules/min/grid.celledit.js.map +1 -0
  151. package/dist/modules/min/grid.common.js +2 -0
  152. package/dist/modules/min/grid.common.js.map +1 -0
  153. package/dist/modules/min/grid.custom.js +2 -0
  154. package/dist/modules/min/grid.custom.js.map +1 -0
  155. package/dist/modules/min/grid.filter.js +2 -0
  156. package/dist/modules/min/grid.filter.js.map +1 -0
  157. package/dist/modules/min/grid.formedit.js +2 -0
  158. package/dist/modules/min/grid.formedit.js.map +1 -0
  159. package/dist/modules/min/grid.grouping.js +2 -0
  160. package/dist/modules/min/grid.grouping.js.map +1 -0
  161. package/dist/modules/min/grid.import.js +2 -0
  162. package/dist/modules/min/grid.import.js.map +1 -0
  163. package/dist/modules/min/grid.inlinedit.js +2 -0
  164. package/dist/modules/min/grid.inlinedit.js.map +1 -0
  165. package/dist/modules/min/grid.jqueryui.js +2 -0
  166. package/dist/modules/min/grid.jqueryui.js.map +1 -0
  167. package/dist/modules/min/grid.pivot.js +2 -0
  168. package/dist/modules/min/grid.pivot.js.map +1 -0
  169. package/dist/modules/min/grid.subgrid.js +2 -0
  170. package/dist/modules/min/grid.subgrid.js.map +1 -0
  171. package/dist/modules/min/grid.tbltogrid.js +2 -0
  172. package/dist/modules/min/grid.tbltogrid.js.map +1 -0
  173. package/dist/modules/min/grid.treegrid.js +2 -0
  174. package/dist/modules/min/grid.treegrid.js.map +1 -0
  175. package/dist/modules/min/jqdnr.js +2 -0
  176. package/dist/modules/min/jqdnr.js.map +1 -0
  177. package/dist/modules/min/jqmodal.js +2 -0
  178. package/dist/modules/min/jqmodal.js.map +1 -0
  179. package/dist/modules/min/jquery.fmatter.js +2 -0
  180. package/dist/modules/min/jquery.fmatter.js.map +1 -0
  181. package/dist/modules/min/jsonxml.js +2 -0
  182. package/dist/modules/min/jsonxml.js.map +1 -0
  183. package/dist/plugins/css/ui.multiselect.css +30 -0
  184. package/dist/plugins/css/ui.multiselect.min.css +2 -0
  185. package/dist/plugins/css/ui.multiselect.min.css.map +1 -0
  186. package/dist/plugins/grid.odata.js +1313 -0
  187. package/dist/plugins/jqgrid_download.js +109 -0
  188. package/dist/plugins/jquery.contextmenu-ui.js +304 -0
  189. package/dist/plugins/jquery.contextmenu.js +174 -0
  190. package/dist/plugins/jquery.createcontexmenufromnavigatorbuttons.js +172 -0
  191. package/dist/plugins/jquery.jqgrid.showhidecolumnmenu.js +201 -0
  192. package/dist/plugins/min/grid.odata.js +11 -0
  193. package/dist/plugins/min/grid.odata.js.map +1 -0
  194. package/dist/plugins/min/jquery.contextmenu-ui.js +26 -0
  195. package/dist/plugins/min/jquery.contextmenu-ui.js.map +1 -0
  196. package/dist/plugins/min/jquery.contextmenu.js +19 -0
  197. package/dist/plugins/min/jquery.contextmenu.js.map +1 -0
  198. package/dist/plugins/min/jquery.createcontexmenufromnavigatorbuttons.js +12 -0
  199. package/dist/plugins/min/jquery.createcontexmenufromnavigatorbuttons.js.map +1 -0
  200. package/dist/plugins/min/jquery.jqgrid.showhidecolumnmenu.js +10 -0
  201. package/dist/plugins/min/jquery.jqgrid.showhidecolumnmenu.js.map +1 -0
  202. package/dist/plugins/min/ui.multiselect.js +30 -0
  203. package/dist/plugins/min/ui.multiselect.js.map +1 -0
  204. package/dist/plugins/ui.multiselect.js +389 -0
  205. package/dist/ts/free-jqgrid.d.ts +2132 -0
  206. package/js/jquery.jqgrid.min.js +1 -1
  207. package/js/jquery.jqgrid.min.js.map +1 -1
  208. package/js/jquery.jqgrid.src.js +8 -3
  209. package/libre-jqgrid-4.17.4.tgz +0 -0
  210. package/package.json +1 -1
  211. 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>&nbsp;',checkboxUnChecked:'<i class="fa fa-square-o fa-fw fa-lg"></i>&nbsp;',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
+ }));