columbus3 0.4.0 → 0.5.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (344) hide show
  1. checksums.yaml +4 -4
  2. data/.gitignore +1 -1
  3. data/README.md +122 -0
  4. data/bin/console +0 -0
  5. data/bin/setup +0 -0
  6. data/bower.json +25 -0
  7. data/bower_components/jquery/.bower.json +7 -20
  8. data/bower_components/jquery/AUTHORS.txt +301 -0
  9. data/bower_components/jquery/{MIT-LICENSE.txt → LICENSE.txt} +17 -2
  10. data/bower_components/jquery/README.md +67 -0
  11. data/bower_components/jquery/bower.json +2 -16
  12. data/bower_components/jquery/dist/core.js +476 -0
  13. data/bower_components/jquery/dist/jquery.js +3861 -2818
  14. data/bower_components/jquery/dist/jquery.min.js +4 -5
  15. data/bower_components/jquery/dist/jquery.min.map +1 -1
  16. data/bower_components/jquery/dist/jquery.slim.js +8160 -0
  17. data/bower_components/jquery/dist/jquery.slim.min.js +4 -0
  18. data/bower_components/jquery/dist/jquery.slim.min.map +1 -0
  19. data/bower_components/jquery/external/sizzle/LICENSE.txt +36 -0
  20. data/bower_components/jquery/{src → external}/sizzle/dist/sizzle.js +445 -240
  21. data/bower_components/jquery/external/sizzle/dist/sizzle.min.js +3 -0
  22. data/bower_components/jquery/external/sizzle/dist/sizzle.min.map +1 -0
  23. data/bower_components/jquery/src/.eslintrc.json +5 -0
  24. data/bower_components/jquery/src/ajax.js +174 -105
  25. data/bower_components/jquery/src/ajax/jsonp.js +27 -14
  26. data/bower_components/jquery/src/ajax/load.js +24 -23
  27. data/bower_components/jquery/src/ajax/parseXML.js +8 -6
  28. data/bower_components/jquery/src/ajax/script.js +25 -12
  29. data/bower_components/jquery/src/ajax/var/location.js +5 -0
  30. data/bower_components/jquery/src/ajax/var/nonce.js +4 -2
  31. data/bower_components/jquery/src/ajax/var/rquery.js +5 -3
  32. data/bower_components/jquery/src/ajax/xhr.js +76 -43
  33. data/bower_components/jquery/src/attributes.js +4 -2
  34. data/bower_components/jquery/src/attributes/attr.js +60 -60
  35. data/bower_components/jquery/src/attributes/classes.js +87 -71
  36. data/bower_components/jquery/src/attributes/prop.js +81 -32
  37. data/bower_components/jquery/src/attributes/support.js +11 -13
  38. data/bower_components/jquery/src/attributes/val.js +66 -37
  39. data/bower_components/jquery/src/callbacks.js +119 -90
  40. data/bower_components/jquery/src/core.js +108 -134
  41. data/bower_components/jquery/src/core/DOMEval.js +16 -0
  42. data/bower_components/jquery/src/core/access.js +21 -11
  43. data/bower_components/jquery/src/core/init.js +33 -28
  44. data/bower_components/jquery/src/core/nodeName.js +13 -0
  45. data/bower_components/jquery/src/core/parseHTML.js +39 -13
  46. data/bower_components/jquery/src/core/ready-no-deferred.js +96 -0
  47. data/bower_components/jquery/src/core/ready.js +40 -51
  48. data/bower_components/jquery/src/core/readyException.js +13 -0
  49. data/bower_components/jquery/src/core/stripAndCollapse.js +14 -0
  50. data/bower_components/jquery/src/core/support.js +20 -0
  51. data/bower_components/jquery/src/core/var/rsingleTag.js +5 -3
  52. data/bower_components/jquery/src/css.js +146 -158
  53. data/bower_components/jquery/src/css/addGetHookIf.js +7 -3
  54. data/bower_components/jquery/src/css/adjustCSS.js +71 -0
  55. data/bower_components/jquery/src/css/curCSS.js +22 -14
  56. data/bower_components/jquery/src/css/hiddenVisibleSelectors.js +8 -8
  57. data/bower_components/jquery/src/css/showHide.js +105 -0
  58. data/bower_components/jquery/src/css/support.js +69 -76
  59. data/bower_components/jquery/src/css/var/cssExpand.js +4 -2
  60. data/bower_components/jquery/src/css/var/getStyles.js +11 -6
  61. data/bower_components/jquery/src/css/var/isHiddenWithinTree.js +34 -0
  62. data/bower_components/jquery/src/css/var/rmargin.js +5 -3
  63. data/bower_components/jquery/src/css/var/rnumnonpx.js +4 -2
  64. data/bower_components/jquery/src/css/{swap.js → var/swap.js} +5 -7
  65. data/bower_components/jquery/src/data.js +67 -66
  66. data/bower_components/jquery/src/data/Data.js +87 -107
  67. data/bower_components/jquery/src/data/{accepts.js → var/acceptData.js} +6 -7
  68. data/bower_components/jquery/src/data/var/{data_priv.js → dataPriv.js} +4 -2
  69. data/bower_components/jquery/src/data/var/{data_user.js → dataUser.js} +4 -2
  70. data/bower_components/jquery/src/deferred.js +314 -72
  71. data/bower_components/jquery/src/deferred/exceptionHook.js +21 -0
  72. data/bower_components/jquery/src/deprecated.js +36 -9
  73. data/bower_components/jquery/src/dimensions.js +16 -10
  74. data/bower_components/jquery/src/effects.js +257 -206
  75. data/bower_components/jquery/src/effects/Tween.js +18 -9
  76. data/bower_components/jquery/src/effects/animatedSelector.js +7 -5
  77. data/bower_components/jquery/src/event.js +297 -419
  78. data/bower_components/jquery/src/event/ajax.js +13 -4
  79. data/bower_components/jquery/src/event/alias.js +13 -23
  80. data/bower_components/jquery/src/event/focusin.js +55 -0
  81. data/bower_components/jquery/src/event/support.js +5 -3
  82. data/bower_components/jquery/src/event/trigger.js +185 -0
  83. data/bower_components/jquery/src/exports/amd.js +5 -3
  84. data/bower_components/jquery/src/exports/global.js +8 -6
  85. data/bower_components/jquery/src/jquery.js +6 -2
  86. data/bower_components/jquery/src/manipulation.js +218 -310
  87. data/bower_components/jquery/src/manipulation/_evalUrl.js +9 -4
  88. data/bower_components/jquery/src/manipulation/buildFragment.js +104 -0
  89. data/bower_components/jquery/src/manipulation/getAll.js +32 -0
  90. data/bower_components/jquery/src/manipulation/setGlobalEval.js +22 -0
  91. data/bower_components/jquery/src/manipulation/support.js +11 -8
  92. data/bower_components/jquery/src/manipulation/var/rcheckableType.js +5 -3
  93. data/bower_components/jquery/src/manipulation/var/rscriptType.js +5 -0
  94. data/bower_components/jquery/src/manipulation/var/rtagName.js +5 -0
  95. data/bower_components/jquery/src/manipulation/wrapMap.js +29 -0
  96. data/bower_components/jquery/src/offset.js +75 -53
  97. data/bower_components/jquery/src/queue.js +26 -23
  98. data/bower_components/jquery/src/queue/delay.js +8 -6
  99. data/bower_components/jquery/src/selector-native.js +133 -68
  100. data/bower_components/jquery/src/selector-sizzle.js +10 -5
  101. data/bower_components/jquery/src/selector.js +3 -1
  102. data/bower_components/jquery/src/serialize.js +52 -33
  103. data/bower_components/jquery/src/traversing.js +61 -69
  104. data/bower_components/jquery/src/traversing/findFilter.js +37 -31
  105. data/bower_components/jquery/src/traversing/var/dir.js +22 -0
  106. data/bower_components/jquery/src/traversing/var/rneedsContext.js +4 -2
  107. data/bower_components/jquery/src/traversing/var/siblings.js +17 -0
  108. data/bower_components/jquery/src/var/ObjectFunctionString.js +7 -0
  109. data/bower_components/jquery/src/var/arr.js +4 -2
  110. data/bower_components/jquery/src/var/class2type.js +4 -2
  111. data/bower_components/jquery/src/var/concat.js +4 -2
  112. data/bower_components/jquery/src/var/document.js +5 -0
  113. data/bower_components/jquery/src/var/documentElement.js +7 -0
  114. data/bower_components/jquery/src/var/fnToString.js +7 -0
  115. data/bower_components/jquery/src/var/getProto.js +5 -0
  116. data/bower_components/jquery/src/var/hasOwn.js +4 -2
  117. data/bower_components/jquery/src/var/indexOf.js +4 -2
  118. data/bower_components/jquery/src/var/pnum.js +5 -3
  119. data/bower_components/jquery/src/var/push.js +4 -2
  120. data/bower_components/jquery/src/var/rcssNum.js +9 -0
  121. data/bower_components/jquery/src/var/rnothtmlwhite.js +8 -0
  122. data/bower_components/jquery/src/var/slice.js +4 -2
  123. data/bower_components/jquery/src/var/support.js +4 -2
  124. data/bower_components/jquery/src/var/toString.js +4 -2
  125. data/bower_components/jquery/src/wrap.js +24 -26
  126. data/bower_components/leaflet-providers/.bower.json +6 -7
  127. data/bower_components/leaflet-providers/CHANGELOG.md +62 -0
  128. data/bower_components/leaflet-providers/README.md +12 -3
  129. data/bower_components/leaflet-providers/bower.json +1 -1
  130. data/bower_components/leaflet-providers/leaflet-providers.js +133 -92
  131. data/bower_components/leaflet-providers/package.json +14 -7
  132. data/bower_components/leaflet/.bower.json +10 -14
  133. data/bower_components/leaflet/CHANGELOG.md +648 -3
  134. data/bower_components/leaflet/CONTRIBUTING.md +88 -33
  135. data/bower_components/leaflet/ISSUE_TEMPLATE.md +25 -0
  136. data/bower_components/leaflet/Jakefile.js +73 -14
  137. data/bower_components/leaflet/LICENSE +1 -1
  138. data/bower_components/leaflet/PLUGIN-GUIDE.md +97 -3
  139. data/bower_components/leaflet/README.md +6 -8
  140. data/bower_components/leaflet/bower.json +3 -9
  141. data/bower_components/leaflet/dist/images/layers-2x.png +0 -0
  142. data/bower_components/leaflet/dist/images/layers.png +0 -0
  143. data/bower_components/leaflet/dist/images/marker-icon-2x.png +0 -0
  144. data/bower_components/leaflet/dist/images/marker-icon.png +0 -0
  145. data/bower_components/leaflet/dist/images/marker-shadow.png +0 -0
  146. data/bower_components/leaflet/dist/leaflet-src.js +12301 -7898
  147. data/bower_components/leaflet/dist/leaflet-src.js.map +1 -0
  148. data/bower_components/leaflet/dist/leaflet.css +196 -43
  149. data/bower_components/leaflet/dist/leaflet.js +6 -9
  150. data/bower_components/leaflet/dist/leaflet.js.map +1 -0
  151. data/bower_components/leaflet/docs/CNAME +1 -0
  152. data/bower_components/leaflet/docs/Gemfile +4 -0
  153. data/bower_components/leaflet/docs/_config.yml +19 -0
  154. data/bower_components/leaflet/docs/_includes/frame.html +9 -0
  155. data/bower_components/leaflet/docs/_includes/tutorial_link.html +8 -0
  156. data/bower_components/leaflet/docs/_layouts/post.html +30 -0
  157. data/bower_components/leaflet/docs/_layouts/redirected.html +14 -0
  158. data/bower_components/leaflet/docs/_layouts/tutorial.html +9 -0
  159. data/bower_components/leaflet/docs/_layouts/tutorial_frame.html +32 -0
  160. data/bower_components/leaflet/docs/_layouts/tutorial_v2.html +9 -0
  161. data/bower_components/leaflet/docs/_layouts/v2.html +159 -0
  162. data/bower_components/leaflet/docs/_posts/2012-07-30-leaflet-0-4-released.md +240 -0
  163. data/bower_components/leaflet/docs/_posts/2012-08-07-leaflet-0-4-3-and-a-new-tutorial.md +47 -0
  164. data/bower_components/leaflet/docs/_posts/2012-08-20-guest-post-markerclusterer-0-1-released.md +112 -0
  165. data/bower_components/leaflet/docs/_posts/2012-10-25-leaflet-0-4-5-bugfix-release-and-plans-for-0.5.md +36 -0
  166. data/bower_components/leaflet/docs/_posts/2013-01-17-leaflet-0-5-released.md +24 -0
  167. data/bower_components/leaflet/docs/_posts/2013-02-20-guest-post-draw.md +146 -0
  168. data/bower_components/leaflet/docs/_posts/2013-06-26-leaflet-0-6-released-dc-code-sprint-mapbox.md +31 -0
  169. data/bower_components/leaflet/docs/_posts/2013-06-28-leaflet-plugin-authoring-guide.md +111 -0
  170. data/bower_components/leaflet/docs/_posts/2013-11-18-leaflet-0-7-released-plans-for-future.md +56 -0
  171. data/bower_components/leaflet/docs/_posts/2015-07-01-leaflet-is-alive-and-kicking.md +21 -0
  172. data/bower_components/leaflet/docs/_posts/2015-07-15-leaflet-1.0-beta1-released.md +60 -0
  173. data/bower_components/leaflet/docs/_posts/2015-09-01-leaflet-0.7.4-released.md +29 -0
  174. data/bower_components/leaflet/docs/_posts/2015-10-14-leaflet-1.0-beta2-released.md +35 -0
  175. data/bower_components/leaflet/docs/_posts/2016-03-20-debugging-touch-interactions.md +101 -0
  176. data/bower_components/leaflet/docs/_posts/2016-04-18-leaflet-1.0-rc1.md +78 -0
  177. data/bower_components/leaflet/docs/_posts/2016-07-16-leaflet-1.0-rc2.md +60 -0
  178. data/bower_components/leaflet/docs/_posts/2016-08-05-leaflet-1.0-rc3.md +53 -0
  179. data/bower_components/leaflet/docs/_posts/2016-09-27-leaflet-1.0-final.md +50 -0
  180. data/bower_components/leaflet/docs/_posts/2016-11-21-leaflet-1.0.2.md +25 -0
  181. data/bower_components/leaflet/docs/_posts/2017-01-23-leaflet-1.0.3.md +27 -0
  182. data/bower_components/leaflet/docs/atom.xml +29 -0
  183. data/bower_components/leaflet/docs/blog.md +24 -0
  184. data/bower_components/leaflet/docs/docs/css/main.css +1092 -0
  185. data/bower_components/leaflet/docs/docs/css/normalize.css +426 -0
  186. data/bower_components/leaflet/docs/docs/highlight/LICENSE +24 -0
  187. data/bower_components/leaflet/docs/docs/highlight/highlight.pack.js +1 -0
  188. data/bower_components/leaflet/docs/docs/highlight/styles/github-gist.css +211 -0
  189. data/bower_components/leaflet/docs/docs/images/2016-03-20-prosthetic-hand-zooming.gif +0 -0
  190. data/bower_components/leaflet/docs/docs/images/2016-04-18-inheritances.gif +0 -0
  191. data/bower_components/leaflet/docs/docs/images/2016-04-18-leaflet-toilet-paper.jpeg +0 -0
  192. data/bower_components/leaflet/docs/docs/images/2016-04-18-madrid-leaflet-864px.jpg +0 -0
  193. data/bower_components/leaflet/docs/docs/images/2016-07-18-remote-session.png +0 -0
  194. data/bower_components/leaflet/docs/docs/images/2016-07-18-tooltip.png +0 -0
  195. data/bower_components/leaflet/docs/docs/images/2016-08-03-iraq-hacking.jpg +0 -0
  196. data/bower_components/leaflet/docs/docs/images/favicon.ico +0 -0
  197. data/bower_components/leaflet/docs/docs/images/forum-round.png +0 -0
  198. data/bower_components/leaflet/docs/docs/images/github-round.png +0 -0
  199. data/bower_components/leaflet/docs/docs/images/logo.png +0 -0
  200. data/bower_components/leaflet/docs/docs/images/logos.png +0 -0
  201. data/bower_components/leaflet/docs/docs/images/sprite.png +0 -0
  202. data/bower_components/leaflet/docs/docs/images/sprite.svg +75 -0
  203. data/bower_components/leaflet/docs/docs/images/twitter-round.png +0 -0
  204. data/bower_components/leaflet/docs/docs/images/twitter.png +0 -0
  205. data/bower_components/leaflet/docs/docs/js/docs.js +52 -0
  206. data/bower_components/leaflet/docs/download.md +95 -0
  207. data/bower_components/leaflet/docs/examples.md +125 -0
  208. data/bower_components/leaflet/docs/examples/choropleth-example.md +5 -0
  209. data/bower_components/leaflet/docs/examples/choropleth.md +5 -0
  210. data/bower_components/leaflet/docs/examples/choropleth/example-basic.md +20 -0
  211. data/bower_components/leaflet/docs/examples/choropleth/example-color.md +46 -0
  212. data/bower_components/leaflet/docs/examples/choropleth/example.md +159 -0
  213. data/bower_components/leaflet/docs/examples/choropleth/index.md +232 -0
  214. data/bower_components/leaflet/docs/examples/choropleth/thumbnail.png +0 -0
  215. data/bower_components/leaflet/docs/examples/choropleth/us-states.js +54 -0
  216. data/bower_components/leaflet/docs/examples/crs-simple/crs-simple-example1.md +16 -0
  217. data/bower_components/leaflet/docs/examples/crs-simple/crs-simple-example2.md +20 -0
  218. data/bower_components/leaflet/docs/examples/crs-simple/crs-simple-example3.md +38 -0
  219. data/bower_components/leaflet/docs/examples/crs-simple/crs-simple.md +117 -0
  220. data/bower_components/leaflet/docs/examples/crs-simple/thumbnail.png +0 -0
  221. data/bower_components/leaflet/docs/examples/crs-simple/uqm_map_400px.png +0 -0
  222. data/bower_components/leaflet/docs/examples/crs-simple/uqm_map_detail.png +0 -0
  223. data/bower_components/leaflet/docs/examples/crs-simple/uqm_map_full.png +0 -0
  224. data/bower_components/leaflet/docs/examples/custom-icons-example.md +5 -0
  225. data/bower_components/leaflet/docs/examples/custom-icons.md +5 -0
  226. data/bower_components/leaflet/docs/examples/custom-icons/example-one-icon.md +27 -0
  227. data/bower_components/leaflet/docs/examples/custom-icons/example.md +31 -0
  228. data/bower_components/leaflet/docs/examples/custom-icons/index.md +79 -0
  229. data/bower_components/leaflet/docs/examples/custom-icons/leaf-green.png +0 -0
  230. data/bower_components/leaflet/docs/examples/custom-icons/leaf-orange.png +0 -0
  231. data/bower_components/leaflet/docs/examples/custom-icons/leaf-red.png +0 -0
  232. data/bower_components/leaflet/docs/examples/custom-icons/leaf-shadow.png +0 -0
  233. data/bower_components/leaflet/docs/examples/custom-icons/thumbnail.png +0 -0
  234. data/bower_components/leaflet/docs/examples/extending/canvascircles.md +37 -0
  235. data/bower_components/leaflet/docs/examples/extending/class-diagram.md +24 -0
  236. data/bower_components/leaflet/docs/examples/extending/class-diagram.png +0 -0
  237. data/bower_components/leaflet/docs/examples/extending/class-diagram.txt +100 -0
  238. data/bower_components/leaflet/docs/examples/extending/extending-1-classes.md +196 -0
  239. data/bower_components/leaflet/docs/examples/extending/extending-2-layers.md +210 -0
  240. data/bower_components/leaflet/docs/examples/extending/extending-3-controls.md +100 -0
  241. data/bower_components/leaflet/docs/examples/extending/gridcoords.md +32 -0
  242. data/bower_components/leaflet/docs/examples/extending/kittenlayer.md +29 -0
  243. data/bower_components/leaflet/docs/examples/extending/pixelorigin.md +90 -0
  244. data/bower_components/leaflet/docs/examples/extending/thumbnail-1.png +0 -0
  245. data/bower_components/leaflet/docs/examples/extending/thumbnail-2.png +0 -0
  246. data/bower_components/leaflet/docs/examples/extending/thumbnail-3.png +0 -0
  247. data/bower_components/leaflet/docs/examples/extending/tilt.md +59 -0
  248. data/bower_components/leaflet/docs/examples/extending/watermark.md +36 -0
  249. data/bower_components/leaflet/docs/examples/geojson-example.md +5 -0
  250. data/bower_components/leaflet/docs/examples/geojson.md +5 -0
  251. data/bower_components/leaflet/docs/examples/geojson/baseball-marker.png +0 -0
  252. data/bower_components/leaflet/docs/examples/geojson/example.md +78 -0
  253. data/bower_components/leaflet/docs/examples/geojson/geojson-example.html +89 -0
  254. data/bower_components/leaflet/docs/examples/geojson/geojson.html +281 -0
  255. data/bower_components/leaflet/docs/examples/geojson/index.md +205 -0
  256. data/bower_components/leaflet/docs/examples/geojson/sample-geojson.js +248 -0
  257. data/bower_components/leaflet/docs/examples/geojson/thumbnail.png +0 -0
  258. data/bower_components/leaflet/docs/examples/layers-control-example.md +5 -0
  259. data/bower_components/leaflet/docs/examples/layers-control.md +5 -0
  260. data/bower_components/leaflet/docs/examples/layers-control/example.md +38 -0
  261. data/bower_components/leaflet/docs/examples/layers-control/index.md +72 -0
  262. data/bower_components/leaflet/docs/examples/layers-control/thumbnail.png +0 -0
  263. data/bower_components/leaflet/docs/examples/map-panes-example.md +5 -0
  264. data/bower_components/leaflet/docs/examples/map-panes.md +5 -0
  265. data/bower_components/leaflet/docs/examples/map-panes/eu-countries.js +79 -0
  266. data/bower_components/leaflet/docs/examples/map-panes/example.md +38 -0
  267. data/bower_components/leaflet/docs/examples/map-panes/index.md +105 -0
  268. data/bower_components/leaflet/docs/examples/map-panes/thumbnail.png +0 -0
  269. data/bower_components/leaflet/docs/examples/mobile-example.md +5 -0
  270. data/bower_components/leaflet/docs/examples/mobile.md +5 -0
  271. data/bower_components/leaflet/docs/examples/mobile/example.md +42 -0
  272. data/bower_components/leaflet/docs/examples/mobile/index.md +72 -0
  273. data/bower_components/leaflet/docs/examples/mobile/thumbnail.png +0 -0
  274. data/bower_components/leaflet/docs/examples/quick-start-example.md +5 -0
  275. data/bower_components/leaflet/docs/examples/quick-start.md +5 -0
  276. data/bower_components/leaflet/docs/examples/quick-start/example-basic.md +19 -0
  277. data/bower_components/leaflet/docs/examples/quick-start/example-overlays.md +35 -0
  278. data/bower_components/leaflet/docs/examples/quick-start/example-popups.md +37 -0
  279. data/bower_components/leaflet/docs/examples/quick-start/example.md +46 -0
  280. data/bower_components/leaflet/docs/examples/quick-start/index.md +143 -0
  281. data/bower_components/leaflet/docs/examples/quick-start/thumbnail.png +0 -0
  282. data/bower_components/leaflet/docs/examples/video-overlay/example-bounds.md +23 -0
  283. data/bower_components/leaflet/docs/examples/video-overlay/example-nocontrols.md +31 -0
  284. data/bower_components/leaflet/docs/examples/video-overlay/example.md +58 -0
  285. data/bower_components/leaflet/docs/examples/video-overlay/index.md +122 -0
  286. data/bower_components/leaflet/docs/examples/video-overlay/thumbnail.gif +0 -0
  287. data/bower_components/leaflet/docs/examples/wms/qgis-wms-layers.png +0 -0
  288. data/bower_components/leaflet/docs/examples/wms/thumbnail.png +0 -0
  289. data/bower_components/leaflet/docs/examples/wms/wms-example-crs.md +18 -0
  290. data/bower_components/leaflet/docs/examples/wms/wms-example1.md +16 -0
  291. data/bower_components/leaflet/docs/examples/wms/wms-example2.md +16 -0
  292. data/bower_components/leaflet/docs/examples/wms/wms-example3.md +34 -0
  293. data/bower_components/leaflet/docs/examples/wms/wms-example4.md +29 -0
  294. data/bower_components/leaflet/docs/examples/wms/wms.md +157 -0
  295. data/bower_components/leaflet/docs/examples/zoom-levels/example-delta.md +40 -0
  296. data/bower_components/leaflet/docs/examples/zoom-levels/example-fractional.md +56 -0
  297. data/bower_components/leaflet/docs/examples/zoom-levels/example-scale.md +29 -0
  298. data/bower_components/leaflet/docs/examples/zoom-levels/example-setzoom.md +44 -0
  299. data/bower_components/leaflet/docs/examples/zoom-levels/example-zero.md +19 -0
  300. data/bower_components/leaflet/docs/examples/zoom-levels/index.md +275 -0
  301. data/bower_components/leaflet/docs/examples/zoom-levels/thumbnail.png +0 -0
  302. data/bower_components/leaflet/docs/index.html +218 -0
  303. data/bower_components/leaflet/docs/plugins.md +3854 -0
  304. data/bower_components/leaflet/docs/reference-0.7.7.html +6424 -0
  305. data/bower_components/leaflet/docs/reference-1.0.0.html +22889 -0
  306. data/bower_components/leaflet/docs/reference-1.0.2.html +23382 -0
  307. data/bower_components/leaflet/docs/reference-1.0.3.html +23495 -0
  308. data/bower_components/leaflet/docs/reference-tpl.html +89 -0
  309. data/bower_components/leaflet/docs/reference-versions.html +16 -0
  310. data/bower_components/leaflet/docs/reference.html +3 -0
  311. data/bower_components/leaflet/package.json +77 -16
  312. data/columbus3.gemspec +1 -1
  313. data/doc/ChangeLog.org +10 -0
  314. data/doc/manual.txt +122 -0
  315. data/doc/todo.org +63 -0
  316. data/exe/columbus3 +2 -246
  317. data/lib/columbus3.rb +12 -7
  318. data/lib/columbus3/cli/command_semantics.rb +352 -0
  319. data/lib/columbus3/cli/command_syntax.rb +103 -0
  320. data/lib/columbus3/metadata/query_parser.racc +21 -7
  321. data/lib/columbus3/metadata/query_parser.tab.rb +34 -34
  322. data/lib/columbus3/metadata/sidecar.rb +1 -1
  323. data/lib/columbus3/renderer/flot_renderer.rb +3 -8
  324. data/lib/columbus3/renderer/leaflet_renderer.rb +18 -29
  325. data/lib/columbus3/renderer/sanitizer.rb +8 -0
  326. data/lib/columbus3/v900track/gpx2v900.rb +31 -0
  327. data/lib/columbus3/v900track/v900track.rb +34 -8
  328. data/lib/columbus3/v900track/v900waypoint.rb +9 -0
  329. data/lib/columbus3/version.rb +1 -1
  330. data/lib/html/flot.html.erb +6 -6
  331. data/lib/html/show.html.erb +53 -76
  332. data/lib/html/track.js.erb +58 -12
  333. metadata +222 -23
  334. data/README.textile +0 -67
  335. data/bower_components/jquery/src/ajax/parseJSON.js +0 -13
  336. data/bower_components/jquery/src/css/defaultDisplay.js +0 -70
  337. data/bower_components/jquery/src/css/var/isHidden.js +0 -13
  338. data/bower_components/jquery/src/intro.js +0 -44
  339. data/bower_components/jquery/src/outro.js +0 -1
  340. data/bower_components/jquery/src/sizzle/dist/sizzle.min.js +0 -3
  341. data/bower_components/jquery/src/sizzle/dist/sizzle.min.map +0 -1
  342. data/bower_components/jquery/src/var/rnotwhite.js +0 -3
  343. data/bower_components/jquery/src/var/strundefined.js +0 -3
  344. data/bower_components/leaflet/component.json +0 -20
@@ -1,4 +1,4 @@
1
- define([
1
+ define( [
2
2
  "./core",
3
3
  "./attributes/attr",
4
4
  "./attributes/prop",
@@ -6,6 +6,8 @@ define([
6
6
  "./attributes/val"
7
7
  ], function( jQuery ) {
8
8
 
9
+ "use strict";
10
+
9
11
  // Return jQuery for attributes-only inclusion
10
12
  return jQuery;
11
- });
13
+ } );
@@ -1,101 +1,81 @@
1
- define([
1
+ define( [
2
2
  "../core",
3
- "../var/rnotwhite",
4
- "../var/strundefined",
5
3
  "../core/access",
4
+ "../core/nodeName",
6
5
  "./support",
6
+ "../var/rnothtmlwhite",
7
7
  "../selector"
8
- ], function( jQuery, rnotwhite, strundefined, access, support ) {
8
+ ], function( jQuery, access, nodeName, support, rnothtmlwhite ) {
9
9
 
10
- var nodeHook, boolHook,
10
+ "use strict";
11
+
12
+ var boolHook,
11
13
  attrHandle = jQuery.expr.attrHandle;
12
14
 
13
- jQuery.fn.extend({
15
+ jQuery.fn.extend( {
14
16
  attr: function( name, value ) {
15
17
  return access( this, jQuery.attr, name, value, arguments.length > 1 );
16
18
  },
17
19
 
18
20
  removeAttr: function( name ) {
19
- return this.each(function() {
21
+ return this.each( function() {
20
22
  jQuery.removeAttr( this, name );
21
- });
23
+ } );
22
24
  }
23
- });
25
+ } );
24
26
 
25
- jQuery.extend({
27
+ jQuery.extend( {
26
28
  attr: function( elem, name, value ) {
27
- var hooks, ret,
29
+ var ret, hooks,
28
30
  nType = elem.nodeType;
29
31
 
30
- // don't get/set attributes on text, comment and attribute nodes
31
- if ( !elem || nType === 3 || nType === 8 || nType === 2 ) {
32
+ // Don't get/set attributes on text, comment and attribute nodes
33
+ if ( nType === 3 || nType === 8 || nType === 2 ) {
32
34
  return;
33
35
  }
34
36
 
35
37
  // Fallback to prop when attributes are not supported
36
- if ( typeof elem.getAttribute === strundefined ) {
38
+ if ( typeof elem.getAttribute === "undefined" ) {
37
39
  return jQuery.prop( elem, name, value );
38
40
  }
39
41
 
40
- // All attributes are lowercase
42
+ // Attribute hooks are determined by the lowercase version
41
43
  // Grab necessary hook if one is defined
42
44
  if ( nType !== 1 || !jQuery.isXMLDoc( elem ) ) {
43
- name = name.toLowerCase();
44
- hooks = jQuery.attrHooks[ name ] ||
45
- ( jQuery.expr.match.bool.test( name ) ? boolHook : nodeHook );
45
+ hooks = jQuery.attrHooks[ name.toLowerCase() ] ||
46
+ ( jQuery.expr.match.bool.test( name ) ? boolHook : undefined );
46
47
  }
47
48
 
48
49
  if ( value !== undefined ) {
49
-
50
50
  if ( value === null ) {
51
51
  jQuery.removeAttr( elem, name );
52
+ return;
53
+ }
52
54
 
53
- } else if ( hooks && "set" in hooks && (ret = hooks.set( elem, value, name )) !== undefined ) {
55
+ if ( hooks && "set" in hooks &&
56
+ ( ret = hooks.set( elem, value, name ) ) !== undefined ) {
54
57
  return ret;
55
-
56
- } else {
57
- elem.setAttribute( name, value + "" );
58
- return value;
59
58
  }
60
59
 
61
- } else if ( hooks && "get" in hooks && (ret = hooks.get( elem, name )) !== null ) {
62
- return ret;
63
-
64
- } else {
65
- ret = jQuery.find.attr( elem, name );
66
-
67
- // Non-existent attributes return null, we normalize to undefined
68
- return ret == null ?
69
- undefined :
70
- ret;
60
+ elem.setAttribute( name, value + "" );
61
+ return value;
71
62
  }
72
- },
73
63
 
74
- removeAttr: function( elem, value ) {
75
- var name, propName,
76
- i = 0,
77
- attrNames = value && value.match( rnotwhite );
78
-
79
- if ( attrNames && elem.nodeType === 1 ) {
80
- while ( (name = attrNames[i++]) ) {
81
- propName = jQuery.propFix[ name ] || name;
64
+ if ( hooks && "get" in hooks && ( ret = hooks.get( elem, name ) ) !== null ) {
65
+ return ret;
66
+ }
82
67
 
83
- // Boolean attributes get special treatment (#10870)
84
- if ( jQuery.expr.match.bool.test( name ) ) {
85
- // Set corresponding property to false
86
- elem[ propName ] = false;
87
- }
68
+ ret = jQuery.find.attr( elem, name );
88
69
 
89
- elem.removeAttribute( name );
90
- }
91
- }
70
+ // Non-existent attributes return null, we normalize to undefined
71
+ return ret == null ? undefined : ret;
92
72
  },
93
73
 
94
74
  attrHooks: {
95
75
  type: {
96
76
  set: function( elem, value ) {
97
77
  if ( !support.radioValue && value === "radio" &&
98
- jQuery.nodeName( elem, "input" ) ) {
78
+ nodeName( elem, "input" ) ) {
99
79
  var val = elem.value;
100
80
  elem.setAttribute( "type", value );
101
81
  if ( val ) {
@@ -105,13 +85,29 @@ jQuery.extend({
105
85
  }
106
86
  }
107
87
  }
88
+ },
89
+
90
+ removeAttr: function( elem, value ) {
91
+ var name,
92
+ i = 0,
93
+
94
+ // Attribute names can contain non-HTML whitespace characters
95
+ // https://html.spec.whatwg.org/multipage/syntax.html#attributes-2
96
+ attrNames = value && value.match( rnothtmlwhite );
97
+
98
+ if ( attrNames && elem.nodeType === 1 ) {
99
+ while ( ( name = attrNames[ i++ ] ) ) {
100
+ elem.removeAttribute( name );
101
+ }
102
+ }
108
103
  }
109
- });
104
+ } );
110
105
 
111
106
  // Hooks for boolean attributes
112
107
  boolHook = {
113
108
  set: function( elem, value, name ) {
114
109
  if ( value === false ) {
110
+
115
111
  // Remove boolean attributes when set to false
116
112
  jQuery.removeAttr( elem, name );
117
113
  } else {
@@ -120,22 +116,26 @@ boolHook = {
120
116
  return name;
121
117
  }
122
118
  };
119
+
123
120
  jQuery.each( jQuery.expr.match.bool.source.match( /\w+/g ), function( i, name ) {
124
121
  var getter = attrHandle[ name ] || jQuery.find.attr;
125
122
 
126
123
  attrHandle[ name ] = function( elem, name, isXML ) {
127
- var ret, handle;
124
+ var ret, handle,
125
+ lowercaseName = name.toLowerCase();
126
+
128
127
  if ( !isXML ) {
128
+
129
129
  // Avoid an infinite loop by temporarily removing this function from the getter
130
- handle = attrHandle[ name ];
131
- attrHandle[ name ] = ret;
130
+ handle = attrHandle[ lowercaseName ];
131
+ attrHandle[ lowercaseName ] = ret;
132
132
  ret = getter( elem, name, isXML ) != null ?
133
- name.toLowerCase() :
133
+ lowercaseName :
134
134
  null;
135
- attrHandle[ name ] = handle;
135
+ attrHandle[ lowercaseName ] = handle;
136
136
  }
137
137
  return ret;
138
138
  };
139
- });
139
+ } );
140
140
 
141
- });
141
+ } );
@@ -1,49 +1,47 @@
1
- define([
1
+ define( [
2
2
  "../core",
3
- "../var/rnotwhite",
4
- "../var/strundefined",
5
- "../data/var/data_priv",
3
+ "../core/stripAndCollapse",
4
+ "../var/rnothtmlwhite",
5
+ "../data/var/dataPriv",
6
6
  "../core/init"
7
- ], function( jQuery, rnotwhite, strundefined, data_priv ) {
7
+ ], function( jQuery, stripAndCollapse, rnothtmlwhite, dataPriv ) {
8
8
 
9
- var rclass = /[\t\r\n\f]/g;
9
+ "use strict";
10
10
 
11
- jQuery.fn.extend({
11
+ function getClass( elem ) {
12
+ return elem.getAttribute && elem.getAttribute( "class" ) || "";
13
+ }
14
+
15
+ jQuery.fn.extend( {
12
16
  addClass: function( value ) {
13
- var classes, elem, cur, clazz, j, finalValue,
14
- proceed = typeof value === "string" && value,
15
- i = 0,
16
- len = this.length;
17
+ var classes, elem, cur, curValue, clazz, j, finalValue,
18
+ i = 0;
17
19
 
18
20
  if ( jQuery.isFunction( value ) ) {
19
- return this.each(function( j ) {
20
- jQuery( this ).addClass( value.call( this, j, this.className ) );
21
- });
21
+ return this.each( function( j ) {
22
+ jQuery( this ).addClass( value.call( this, j, getClass( this ) ) );
23
+ } );
22
24
  }
23
25
 
24
- if ( proceed ) {
25
- // The disjunction here is for better compressibility (see removeClass)
26
- classes = ( value || "" ).match( rnotwhite ) || [];
26
+ if ( typeof value === "string" && value ) {
27
+ classes = value.match( rnothtmlwhite ) || [];
27
28
 
28
- for ( ; i < len; i++ ) {
29
- elem = this[ i ];
30
- cur = elem.nodeType === 1 && ( elem.className ?
31
- ( " " + elem.className + " " ).replace( rclass, " " ) :
32
- " "
33
- );
29
+ while ( ( elem = this[ i++ ] ) ) {
30
+ curValue = getClass( elem );
31
+ cur = elem.nodeType === 1 && ( " " + stripAndCollapse( curValue ) + " " );
34
32
 
35
33
  if ( cur ) {
36
34
  j = 0;
37
- while ( (clazz = classes[j++]) ) {
35
+ while ( ( clazz = classes[ j++ ] ) ) {
38
36
  if ( cur.indexOf( " " + clazz + " " ) < 0 ) {
39
37
  cur += clazz + " ";
40
38
  }
41
39
  }
42
40
 
43
- // only assign if different to avoid unneeded rendering.
44
- finalValue = jQuery.trim( cur );
45
- if ( elem.className !== finalValue ) {
46
- elem.className = finalValue;
41
+ // Only assign if different to avoid unneeded rendering.
42
+ finalValue = stripAndCollapse( cur );
43
+ if ( curValue !== finalValue ) {
44
+ elem.setAttribute( "class", finalValue );
47
45
  }
48
46
  }
49
47
  }
@@ -53,40 +51,42 @@ jQuery.fn.extend({
53
51
  },
54
52
 
55
53
  removeClass: function( value ) {
56
- var classes, elem, cur, clazz, j, finalValue,
57
- proceed = arguments.length === 0 || typeof value === "string" && value,
58
- i = 0,
59
- len = this.length;
54
+ var classes, elem, cur, curValue, clazz, j, finalValue,
55
+ i = 0;
60
56
 
61
57
  if ( jQuery.isFunction( value ) ) {
62
- return this.each(function( j ) {
63
- jQuery( this ).removeClass( value.call( this, j, this.className ) );
64
- });
58
+ return this.each( function( j ) {
59
+ jQuery( this ).removeClass( value.call( this, j, getClass( this ) ) );
60
+ } );
61
+ }
62
+
63
+ if ( !arguments.length ) {
64
+ return this.attr( "class", "" );
65
65
  }
66
- if ( proceed ) {
67
- classes = ( value || "" ).match( rnotwhite ) || [];
68
66
 
69
- for ( ; i < len; i++ ) {
70
- elem = this[ i ];
67
+ if ( typeof value === "string" && value ) {
68
+ classes = value.match( rnothtmlwhite ) || [];
69
+
70
+ while ( ( elem = this[ i++ ] ) ) {
71
+ curValue = getClass( elem );
72
+
71
73
  // This expression is here for better compressibility (see addClass)
72
- cur = elem.nodeType === 1 && ( elem.className ?
73
- ( " " + elem.className + " " ).replace( rclass, " " ) :
74
- ""
75
- );
74
+ cur = elem.nodeType === 1 && ( " " + stripAndCollapse( curValue ) + " " );
76
75
 
77
76
  if ( cur ) {
78
77
  j = 0;
79
- while ( (clazz = classes[j++]) ) {
78
+ while ( ( clazz = classes[ j++ ] ) ) {
79
+
80
80
  // Remove *all* instances
81
- while ( cur.indexOf( " " + clazz + " " ) >= 0 ) {
81
+ while ( cur.indexOf( " " + clazz + " " ) > -1 ) {
82
82
  cur = cur.replace( " " + clazz + " ", " " );
83
83
  }
84
84
  }
85
85
 
86
86
  // Only assign if different to avoid unneeded rendering.
87
- finalValue = value ? jQuery.trim( cur ) : "";
88
- if ( elem.className !== finalValue ) {
89
- elem.className = finalValue;
87
+ finalValue = stripAndCollapse( cur );
88
+ if ( curValue !== finalValue ) {
89
+ elem.setAttribute( "class", finalValue );
90
90
  }
91
91
  }
92
92
  }
@@ -103,20 +103,26 @@ jQuery.fn.extend({
103
103
  }
104
104
 
105
105
  if ( jQuery.isFunction( value ) ) {
106
- return this.each(function( i ) {
107
- jQuery( this ).toggleClass( value.call(this, i, this.className, stateVal), stateVal );
108
- });
106
+ return this.each( function( i ) {
107
+ jQuery( this ).toggleClass(
108
+ value.call( this, i, getClass( this ), stateVal ),
109
+ stateVal
110
+ );
111
+ } );
109
112
  }
110
113
 
111
- return this.each(function() {
114
+ return this.each( function() {
115
+ var className, i, self, classNames;
116
+
112
117
  if ( type === "string" ) {
118
+
113
119
  // Toggle individual class names
114
- var className,
115
- i = 0,
116
- self = jQuery( this ),
117
- classNames = value.match( rnotwhite ) || [];
120
+ i = 0;
121
+ self = jQuery( this );
122
+ classNames = value.match( rnothtmlwhite ) || [];
123
+
124
+ while ( ( className = classNames[ i++ ] ) ) {
118
125
 
119
- while ( (className = classNames[ i++ ]) ) {
120
126
  // Check each className given, space separated list
121
127
  if ( self.hasClass( className ) ) {
122
128
  self.removeClass( className );
@@ -126,33 +132,43 @@ jQuery.fn.extend({
126
132
  }
127
133
 
128
134
  // Toggle whole class name
129
- } else if ( type === strundefined || type === "boolean" ) {
130
- if ( this.className ) {
131
- // store className if set
132
- data_priv.set( this, "__className__", this.className );
135
+ } else if ( value === undefined || type === "boolean" ) {
136
+ className = getClass( this );
137
+ if ( className ) {
138
+
139
+ // Store className if set
140
+ dataPriv.set( this, "__className__", className );
133
141
  }
134
142
 
135
143
  // If the element has a class name or if we're passed `false`,
136
144
  // then remove the whole classname (if there was one, the above saved it).
137
145
  // Otherwise bring back whatever was previously saved (if anything),
138
146
  // falling back to the empty string if nothing was stored.
139
- this.className = this.className || value === false ? "" : data_priv.get( this, "__className__" ) || "";
147
+ if ( this.setAttribute ) {
148
+ this.setAttribute( "class",
149
+ className || value === false ?
150
+ "" :
151
+ dataPriv.get( this, "__className__" ) || ""
152
+ );
153
+ }
140
154
  }
141
- });
155
+ } );
142
156
  },
143
157
 
144
158
  hasClass: function( selector ) {
145
- var className = " " + selector + " ",
146
- i = 0,
147
- l = this.length;
148
- for ( ; i < l; i++ ) {
149
- if ( this[i].nodeType === 1 && (" " + this[i].className + " ").replace(rclass, " ").indexOf( className ) >= 0 ) {
150
- return true;
159
+ var className, elem,
160
+ i = 0;
161
+
162
+ className = " " + selector + " ";
163
+ while ( ( elem = this[ i++ ] ) ) {
164
+ if ( elem.nodeType === 1 &&
165
+ ( " " + stripAndCollapse( getClass( elem ) ) + " " ).indexOf( className ) > -1 ) {
166
+ return true;
151
167
  }
152
168
  }
153
169
 
154
170
  return false;
155
171
  }
156
- });
172
+ } );
157
173
 
158
- });
174
+ } );
@@ -1,82 +1,131 @@
1
- define([
1
+ define( [
2
2
  "../core",
3
3
  "../core/access",
4
- "./support"
4
+ "./support",
5
+ "../selector"
5
6
  ], function( jQuery, access, support ) {
6
7
 
7
- var rfocusable = /^(?:input|select|textarea|button)$/i;
8
+ "use strict";
8
9
 
9
- jQuery.fn.extend({
10
+ var rfocusable = /^(?:input|select|textarea|button)$/i,
11
+ rclickable = /^(?:a|area)$/i;
12
+
13
+ jQuery.fn.extend( {
10
14
  prop: function( name, value ) {
11
15
  return access( this, jQuery.prop, name, value, arguments.length > 1 );
12
16
  },
13
17
 
14
18
  removeProp: function( name ) {
15
- return this.each(function() {
19
+ return this.each( function() {
16
20
  delete this[ jQuery.propFix[ name ] || name ];
17
- });
21
+ } );
18
22
  }
19
- });
20
-
21
- jQuery.extend({
22
- propFix: {
23
- "for": "htmlFor",
24
- "class": "className"
25
- },
23
+ } );
26
24
 
25
+ jQuery.extend( {
27
26
  prop: function( elem, name, value ) {
28
- var ret, hooks, notxml,
27
+ var ret, hooks,
29
28
  nType = elem.nodeType;
30
29
 
31
30
  // Don't get/set properties on text, comment and attribute nodes
32
- if ( !elem || nType === 3 || nType === 8 || nType === 2 ) {
31
+ if ( nType === 3 || nType === 8 || nType === 2 ) {
33
32
  return;
34
33
  }
35
34
 
36
- notxml = nType !== 1 || !jQuery.isXMLDoc( elem );
35
+ if ( nType !== 1 || !jQuery.isXMLDoc( elem ) ) {
37
36
 
38
- if ( notxml ) {
39
37
  // Fix name and attach hooks
40
38
  name = jQuery.propFix[ name ] || name;
41
39
  hooks = jQuery.propHooks[ name ];
42
40
  }
43
41
 
44
42
  if ( value !== undefined ) {
45
- return hooks && "set" in hooks && (ret = hooks.set( elem, value, name )) !== undefined ?
46
- ret :
47
- ( elem[ name ] = value );
48
-
49
- } else {
50
- return hooks && "get" in hooks && (ret = hooks.get( elem, name )) !== null ?
51
- ret :
52
- elem[ name ];
43
+ if ( hooks && "set" in hooks &&
44
+ ( ret = hooks.set( elem, value, name ) ) !== undefined ) {
45
+ return ret;
46
+ }
47
+
48
+ return ( elem[ name ] = value );
49
+ }
50
+
51
+ if ( hooks && "get" in hooks && ( ret = hooks.get( elem, name ) ) !== null ) {
52
+ return ret;
53
53
  }
54
+
55
+ return elem[ name ];
54
56
  },
55
57
 
56
58
  propHooks: {
57
59
  tabIndex: {
58
60
  get: function( elem ) {
59
- return elem.hasAttribute( "tabindex" ) || rfocusable.test( elem.nodeName ) || elem.href ?
60
- elem.tabIndex :
61
- -1;
61
+
62
+ // Support: IE <=9 - 11 only
63
+ // elem.tabIndex doesn't always return the
64
+ // correct value when it hasn't been explicitly set
65
+ // https://web.archive.org/web/20141116233347/http://fluidproject.org/blog/2008/01/09/getting-setting-and-removing-tabindex-values-with-javascript/
66
+ // Use proper attribute retrieval(#12072)
67
+ var tabindex = jQuery.find.attr( elem, "tabindex" );
68
+
69
+ if ( tabindex ) {
70
+ return parseInt( tabindex, 10 );
71
+ }
72
+
73
+ if (
74
+ rfocusable.test( elem.nodeName ) ||
75
+ rclickable.test( elem.nodeName ) &&
76
+ elem.href
77
+ ) {
78
+ return 0;
79
+ }
80
+
81
+ return -1;
62
82
  }
63
83
  }
84
+ },
85
+
86
+ propFix: {
87
+ "for": "htmlFor",
88
+ "class": "className"
64
89
  }
65
- });
90
+ } );
66
91
 
92
+ // Support: IE <=11 only
93
+ // Accessing the selectedIndex property
94
+ // forces the browser to respect setting selected
95
+ // on the option
96
+ // The getter ensures a default option is selected
97
+ // when in an optgroup
98
+ // eslint rule "no-unused-expressions" is disabled for this code
99
+ // since it considers such accessions noop
67
100
  if ( !support.optSelected ) {
68
101
  jQuery.propHooks.selected = {
69
102
  get: function( elem ) {
103
+
104
+ /* eslint no-unused-expressions: "off" */
105
+
70
106
  var parent = elem.parentNode;
71
107
  if ( parent && parent.parentNode ) {
72
108
  parent.parentNode.selectedIndex;
73
109
  }
74
110
  return null;
111
+ },
112
+ set: function( elem ) {
113
+
114
+ /* eslint no-unused-expressions: "off" */
115
+
116
+ var parent = elem.parentNode;
117
+ if ( parent ) {
118
+ parent.selectedIndex;
119
+
120
+ if ( parent.parentNode ) {
121
+ parent.parentNode.selectedIndex;
122
+ }
123
+ }
75
124
  }
76
125
  };
77
126
  }
78
127
 
79
- jQuery.each([
128
+ jQuery.each( [
80
129
  "tabIndex",
81
130
  "readOnly",
82
131
  "maxLength",
@@ -89,6 +138,6 @@ jQuery.each([
89
138
  "contentEditable"
90
139
  ], function() {
91
140
  jQuery.propFix[ this.toLowerCase() ] = this;
92
- });
141
+ } );
93
142
 
94
- });
143
+ } );