process_engine 0.0.1

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 (409) hide show
  1. checksums.yaml +7 -0
  2. data/MIT-LICENSE +20 -0
  3. data/Rakefile +37 -0
  4. data/app/assets/bower_components/process_engine/Snap.svg/CONTRIBUTING +3 -0
  5. data/app/assets/bower_components/process_engine/Snap.svg/Gruntfile.js +59 -0
  6. data/app/assets/bower_components/process_engine/Snap.svg/LICENSE +202 -0
  7. data/app/assets/bower_components/process_engine/Snap.svg/NOTICE +190 -0
  8. data/app/assets/bower_components/process_engine/Snap.svg/README.md +62 -0
  9. data/app/assets/bower_components/process_engine/Snap.svg/bower.json +25 -0
  10. data/app/assets/bower_components/process_engine/Snap.svg/component.json +13 -0
  11. data/app/assets/bower_components/process_engine/Snap.svg/dist/snap.svg-min.js +20 -0
  12. data/app/assets/bower_components/process_engine/Snap.svg/dist/snap.svg.js +7653 -0
  13. data/app/assets/bower_components/process_engine/Snap.svg/doc/css/dr.css +144 -0
  14. data/app/assets/bower_components/process_engine/Snap.svg/doc/css/main.css +508 -0
  15. data/app/assets/bower_components/process_engine/Snap.svg/doc/css/prism.css +168 -0
  16. data/app/assets/bower_components/process_engine/Snap.svg/doc/css/topcoat-desktop-light.css +3700 -0
  17. data/app/assets/bower_components/process_engine/Snap.svg/doc/fonts/sourcecodepro-regular-webfont.eot +0 -0
  18. data/app/assets/bower_components/process_engine/Snap.svg/doc/fonts/sourcecodepro-regular-webfont.svg +242 -0
  19. data/app/assets/bower_components/process_engine/Snap.svg/doc/fonts/sourcecodepro-regular-webfont.ttf +0 -0
  20. data/app/assets/bower_components/process_engine/Snap.svg/doc/fonts/sourcecodepro-regular-webfont.woff +0 -0
  21. data/app/assets/bower_components/process_engine/Snap.svg/doc/fonts/sourcesanspro-light-webfont.eot +0 -0
  22. data/app/assets/bower_components/process_engine/Snap.svg/doc/fonts/sourcesanspro-light-webfont.svg +243 -0
  23. data/app/assets/bower_components/process_engine/Snap.svg/doc/fonts/sourcesanspro-light-webfont.ttf +0 -0
  24. data/app/assets/bower_components/process_engine/Snap.svg/doc/fonts/sourcesanspro-light-webfont.woff +0 -0
  25. data/app/assets/bower_components/process_engine/Snap.svg/doc/fonts/sourcesanspro-regular-webfont.eot +0 -0
  26. data/app/assets/bower_components/process_engine/Snap.svg/doc/fonts/sourcesanspro-regular-webfont.svg +243 -0
  27. data/app/assets/bower_components/process_engine/Snap.svg/doc/fonts/sourcesanspro-regular-webfont.ttf +0 -0
  28. data/app/assets/bower_components/process_engine/Snap.svg/doc/fonts/sourcesanspro-regular-webfont.woff +0 -0
  29. data/app/assets/bower_components/process_engine/Snap.svg/doc/fonts/sourcesanspro-semibold-webfont.eot +0 -0
  30. data/app/assets/bower_components/process_engine/Snap.svg/doc/fonts/sourcesanspro-semibold-webfont.svg +243 -0
  31. data/app/assets/bower_components/process_engine/Snap.svg/doc/fonts/sourcesanspro-semibold-webfont.ttf +0 -0
  32. data/app/assets/bower_components/process_engine/Snap.svg/doc/fonts/sourcesanspro-semibold-webfont.woff +0 -0
  33. data/app/assets/bower_components/process_engine/Snap.svg/doc/fonts/stylesheet.css +57 -0
  34. data/app/assets/bower_components/process_engine/Snap.svg/doc/img/search.svg +11 -0
  35. data/app/assets/bower_components/process_engine/Snap.svg/doc/img/search_dark.svg +16 -0
  36. data/app/assets/bower_components/process_engine/Snap.svg/doc/js/prism.js +9 -0
  37. data/app/assets/bower_components/process_engine/Snap.svg/doc/reference.html +13633 -0
  38. data/app/assets/bower_components/process_engine/Snap.svg/dr.json +33 -0
  39. data/app/assets/bower_components/process_engine/Snap.svg/history.md +31 -0
  40. data/app/assets/bower_components/process_engine/Snap.svg/package.json +22 -0
  41. data/app/assets/bower_components/process_engine/Snap.svg/template.dot +157 -0
  42. data/app/assets/bower_components/process_engine/Snap.svg/test.html +75 -0
  43. data/app/assets/bower_components/process_engine/bpmn-js/LICENSE +22 -0
  44. data/app/assets/bower_components/process_engine/bpmn-js/README.md +46 -0
  45. data/app/assets/bower_components/process_engine/bpmn-js/bower.json +28 -0
  46. data/app/assets/bower_components/process_engine/bpmn-js/dist/assets/bpmn-font/css/bpmn-embedded.css +40 -0
  47. data/app/assets/bower_components/process_engine/bpmn-js/dist/assets/bpmn-font/font/bpmn.eot +0 -0
  48. data/app/assets/bower_components/process_engine/bpmn-js/dist/assets/bpmn-font/font/bpmn.svg +21 -0
  49. data/app/assets/bower_components/process_engine/bpmn-js/dist/assets/bpmn-font/font/bpmn.ttf +0 -0
  50. data/app/assets/bower_components/process_engine/bpmn-js/dist/assets/bpmn-font/font/bpmn.woff +0 -0
  51. data/app/assets/bower_components/process_engine/bpmn-js/dist/assets/diagram-js.css +355 -0
  52. data/app/assets/bower_components/process_engine/bpmn-js/dist/bpmn-modeler.js +21552 -0
  53. data/app/assets/bower_components/process_engine/bpmn-js/dist/bpmn-modeler.js.map +1 -0
  54. data/app/assets/bower_components/process_engine/bpmn-js/dist/bpmn-modeler.min.js +8 -0
  55. data/app/assets/bower_components/process_engine/bpmn-js/dist/bpmn-navigated-viewer.js +13542 -0
  56. data/app/assets/bower_components/process_engine/bpmn-js/dist/bpmn-navigated-viewer.js.map +1 -0
  57. data/app/assets/bower_components/process_engine/bpmn-js/dist/bpmn-navigated-viewer.min.js +5 -0
  58. data/app/assets/bower_components/process_engine/bpmn-js/dist/bpmn-viewer.js +13294 -0
  59. data/app/assets/bower_components/process_engine/bpmn-js/dist/bpmn-viewer.js.map +1 -0
  60. data/app/assets/bower_components/process_engine/bpmn-js/dist/bpmn-viewer.min.js +5 -0
  61. data/app/assets/bower_components/process_engine/hammerjs/CHANGELOG.md +30 -0
  62. data/app/assets/bower_components/process_engine/hammerjs/CONTRIBUTING.md +41 -0
  63. data/app/assets/bower_components/process_engine/hammerjs/Gruntfile.coffee +123 -0
  64. data/app/assets/bower_components/process_engine/hammerjs/LICENSE.md +21 -0
  65. data/app/assets/bower_components/process_engine/hammerjs/README.md +6 -0
  66. data/app/assets/bower_components/process_engine/hammerjs/bower.json +9 -0
  67. data/app/assets/bower_components/process_engine/hammerjs/component.json +8 -0
  68. data/app/assets/bower_components/process_engine/hammerjs/hammer.js +2463 -0
  69. data/app/assets/bower_components/process_engine/hammerjs/hammer.min.js +7 -0
  70. data/app/assets/bower_components/process_engine/hammerjs/hammer.min.map +1 -0
  71. data/app/assets/bower_components/process_engine/hammerjs/package.json +50 -0
  72. data/app/assets/bower_components/process_engine/jquery/MIT-LICENSE.txt +21 -0
  73. data/app/assets/bower_components/process_engine/jquery/bower.json +27 -0
  74. data/app/assets/bower_components/process_engine/jquery/dist/jquery.js +9205 -0
  75. data/app/assets/bower_components/process_engine/jquery/dist/jquery.min.js +5 -0
  76. data/app/assets/bower_components/process_engine/jquery/dist/jquery.min.map +1 -0
  77. data/app/assets/bower_components/process_engine/jquery/src/ajax/jsonp.js +89 -0
  78. data/app/assets/bower_components/process_engine/jquery/src/ajax/load.js +75 -0
  79. data/app/assets/bower_components/process_engine/jquery/src/ajax/parseJSON.js +13 -0
  80. data/app/assets/bower_components/process_engine/jquery/src/ajax/parseXML.js +28 -0
  81. data/app/assets/bower_components/process_engine/jquery/src/ajax/script.js +64 -0
  82. data/app/assets/bower_components/process_engine/jquery/src/ajax/var/nonce.js +5 -0
  83. data/app/assets/bower_components/process_engine/jquery/src/ajax/var/rquery.js +3 -0
  84. data/app/assets/bower_components/process_engine/jquery/src/ajax/xhr.js +136 -0
  85. data/app/assets/bower_components/process_engine/jquery/src/ajax.js +786 -0
  86. data/app/assets/bower_components/process_engine/jquery/src/attributes/attr.js +141 -0
  87. data/app/assets/bower_components/process_engine/jquery/src/attributes/classes.js +158 -0
  88. data/app/assets/bower_components/process_engine/jquery/src/attributes/prop.js +94 -0
  89. data/app/assets/bower_components/process_engine/jquery/src/attributes/support.js +35 -0
  90. data/app/assets/bower_components/process_engine/jquery/src/attributes/val.js +161 -0
  91. data/app/assets/bower_components/process_engine/jquery/src/attributes.js +11 -0
  92. data/app/assets/bower_components/process_engine/jquery/src/callbacks.js +205 -0
  93. data/app/assets/bower_components/process_engine/jquery/src/core/access.js +60 -0
  94. data/app/assets/bower_components/process_engine/jquery/src/core/init.js +123 -0
  95. data/app/assets/bower_components/process_engine/jquery/src/core/parseHTML.js +39 -0
  96. data/app/assets/bower_components/process_engine/jquery/src/core/ready.js +97 -0
  97. data/app/assets/bower_components/process_engine/jquery/src/core/var/rsingleTag.js +4 -0
  98. data/app/assets/bower_components/process_engine/jquery/src/core.js +497 -0
  99. data/app/assets/bower_components/process_engine/jquery/src/css/addGetHookIf.js +22 -0
  100. data/app/assets/bower_components/process_engine/jquery/src/css/curCSS.js +57 -0
  101. data/app/assets/bower_components/process_engine/jquery/src/css/defaultDisplay.js +70 -0
  102. data/app/assets/bower_components/process_engine/jquery/src/css/hiddenVisibleSelectors.js +15 -0
  103. data/app/assets/bower_components/process_engine/jquery/src/css/support.js +96 -0
  104. data/app/assets/bower_components/process_engine/jquery/src/css/swap.js +28 -0
  105. data/app/assets/bower_components/process_engine/jquery/src/css/var/cssExpand.js +3 -0
  106. data/app/assets/bower_components/process_engine/jquery/src/css/var/getStyles.js +12 -0
  107. data/app/assets/bower_components/process_engine/jquery/src/css/var/isHidden.js +13 -0
  108. data/app/assets/bower_components/process_engine/jquery/src/css/var/rmargin.js +3 -0
  109. data/app/assets/bower_components/process_engine/jquery/src/css/var/rnumnonpx.js +5 -0
  110. data/app/assets/bower_components/process_engine/jquery/src/css.js +450 -0
  111. data/app/assets/bower_components/process_engine/jquery/src/data/Data.js +181 -0
  112. data/app/assets/bower_components/process_engine/jquery/src/data/accepts.js +20 -0
  113. data/app/assets/bower_components/process_engine/jquery/src/data/var/data_priv.js +5 -0
  114. data/app/assets/bower_components/process_engine/jquery/src/data/var/data_user.js +5 -0
  115. data/app/assets/bower_components/process_engine/jquery/src/data.js +178 -0
  116. data/app/assets/bower_components/process_engine/jquery/src/deferred.js +149 -0
  117. data/app/assets/bower_components/process_engine/jquery/src/deprecated.js +13 -0
  118. data/app/assets/bower_components/process_engine/jquery/src/dimensions.js +50 -0
  119. data/app/assets/bower_components/process_engine/jquery/src/effects/Tween.js +114 -0
  120. data/app/assets/bower_components/process_engine/jquery/src/effects/animatedSelector.js +13 -0
  121. data/app/assets/bower_components/process_engine/jquery/src/effects.js +648 -0
  122. data/app/assets/bower_components/process_engine/jquery/src/event/ajax.js +13 -0
  123. data/app/assets/bower_components/process_engine/jquery/src/event/alias.js +39 -0
  124. data/app/assets/bower_components/process_engine/jquery/src/event/support.js +9 -0
  125. data/app/assets/bower_components/process_engine/jquery/src/event.js +868 -0
  126. data/app/assets/bower_components/process_engine/jquery/src/exports/amd.js +24 -0
  127. data/app/assets/bower_components/process_engine/jquery/src/exports/global.js +32 -0
  128. data/app/assets/bower_components/process_engine/jquery/src/intro.js +44 -0
  129. data/app/assets/bower_components/process_engine/jquery/src/jquery.js +37 -0
  130. data/app/assets/bower_components/process_engine/jquery/src/manipulation/_evalUrl.js +18 -0
  131. data/app/assets/bower_components/process_engine/jquery/src/manipulation/support.js +32 -0
  132. data/app/assets/bower_components/process_engine/jquery/src/manipulation/var/rcheckableType.js +3 -0
  133. data/app/assets/bower_components/process_engine/jquery/src/manipulation.js +580 -0
  134. data/app/assets/bower_components/process_engine/jquery/src/offset.js +207 -0
  135. data/app/assets/bower_components/process_engine/jquery/src/outro.js +1 -0
  136. data/app/assets/bower_components/process_engine/jquery/src/queue/delay.js +22 -0
  137. data/app/assets/bower_components/process_engine/jquery/src/queue.js +142 -0
  138. data/app/assets/bower_components/process_engine/jquery/src/selector-native.js +172 -0
  139. data/app/assets/bower_components/process_engine/jquery/src/selector-sizzle.js +14 -0
  140. data/app/assets/bower_components/process_engine/jquery/src/selector.js +1 -0
  141. data/app/assets/bower_components/process_engine/jquery/src/serialize.js +111 -0
  142. data/app/assets/bower_components/process_engine/jquery/src/sizzle/dist/sizzle.js +2067 -0
  143. data/app/assets/bower_components/process_engine/jquery/src/sizzle/dist/sizzle.min.js +3 -0
  144. data/app/assets/bower_components/process_engine/jquery/src/sizzle/dist/sizzle.min.map +1 -0
  145. data/app/assets/bower_components/process_engine/jquery/src/traversing/findFilter.js +100 -0
  146. data/app/assets/bower_components/process_engine/jquery/src/traversing/var/rneedsContext.js +6 -0
  147. data/app/assets/bower_components/process_engine/jquery/src/traversing.js +199 -0
  148. data/app/assets/bower_components/process_engine/jquery/src/var/arr.js +3 -0
  149. data/app/assets/bower_components/process_engine/jquery/src/var/class2type.js +4 -0
  150. data/app/assets/bower_components/process_engine/jquery/src/var/concat.js +5 -0
  151. data/app/assets/bower_components/process_engine/jquery/src/var/hasOwn.js +5 -0
  152. data/app/assets/bower_components/process_engine/jquery/src/var/indexOf.js +5 -0
  153. data/app/assets/bower_components/process_engine/jquery/src/var/pnum.js +3 -0
  154. data/app/assets/bower_components/process_engine/jquery/src/var/push.js +5 -0
  155. data/app/assets/bower_components/process_engine/jquery/src/var/rnotwhite.js +3 -0
  156. data/app/assets/bower_components/process_engine/jquery/src/var/slice.js +5 -0
  157. data/app/assets/bower_components/process_engine/jquery/src/var/strundefined.js +3 -0
  158. data/app/assets/bower_components/process_engine/jquery/src/var/support.js +4 -0
  159. data/app/assets/bower_components/process_engine/jquery/src/var/toString.js +5 -0
  160. data/app/assets/bower_components/process_engine/jquery/src/wrap.js +79 -0
  161. data/app/assets/bower_components/process_engine/jquery-mousewheel/ChangeLog.md +141 -0
  162. data/app/assets/bower_components/process_engine/jquery-mousewheel/LICENSE.txt +20 -0
  163. data/app/assets/bower_components/process_engine/jquery-mousewheel/README.md +85 -0
  164. data/app/assets/bower_components/process_engine/jquery-mousewheel/bower.json +17 -0
  165. data/app/assets/bower_components/process_engine/jquery-mousewheel/jquery.mousewheel.js +221 -0
  166. data/app/assets/bower_components/process_engine/jquery-mousewheel/jquery.mousewheel.min.js +8 -0
  167. data/app/assets/bower_components/process_engine/lodash/LICENSE.txt +22 -0
  168. data/app/assets/bower_components/process_engine/lodash/bower.json +23 -0
  169. data/app/assets/bower_components/process_engine/lodash/dist/lodash.compat.js +7157 -0
  170. data/app/assets/bower_components/process_engine/lodash/dist/lodash.compat.min.js +61 -0
  171. data/app/assets/bower_components/process_engine/lodash/dist/lodash.js +6785 -0
  172. data/app/assets/bower_components/process_engine/lodash/dist/lodash.min.js +56 -0
  173. data/app/assets/bower_components/process_engine/lodash/dist/lodash.underscore.js +4979 -0
  174. data/app/assets/bower_components/process_engine/lodash/dist/lodash.underscore.min.js +39 -0
  175. data/app/assets/bower_components/process_engine/sax/AUTHORS +10 -0
  176. data/app/assets/bower_components/process_engine/sax/LICENSE +32 -0
  177. data/app/assets/bower_components/process_engine/sax/LICENSE-W3C.html +188 -0
  178. data/app/assets/bower_components/process_engine/sax/README.md +216 -0
  179. data/app/assets/bower_components/process_engine/sax/component.json +12 -0
  180. data/app/assets/bower_components/process_engine/sax/examples/big-not-pretty.xml +8002 -0
  181. data/app/assets/bower_components/process_engine/sax/examples/example.js +29 -0
  182. data/app/assets/bower_components/process_engine/sax/examples/get-products.js +58 -0
  183. data/app/assets/bower_components/process_engine/sax/examples/hello-world.js +4 -0
  184. data/app/assets/bower_components/process_engine/sax/examples/not-pretty.xml +8 -0
  185. data/app/assets/bower_components/process_engine/sax/examples/pretty-print.js +74 -0
  186. data/app/assets/bower_components/process_engine/sax/examples/shopping.xml +2 -0
  187. data/app/assets/bower_components/process_engine/sax/examples/strict.dtd +870 -0
  188. data/app/assets/bower_components/process_engine/sax/examples/test.html +15 -0
  189. data/app/assets/bower_components/process_engine/sax/examples/test.xml +1254 -0
  190. data/app/assets/bower_components/process_engine/sax/lib/sax.js +1410 -0
  191. data/app/assets/bower_components/process_engine/sax/package.json +12 -0
  192. data/app/assets/bower_components/process_engine/sax/test/attribute-name.js +33 -0
  193. data/app/assets/bower_components/process_engine/sax/test/attribute-no-space.js +75 -0
  194. data/app/assets/bower_components/process_engine/sax/test/buffer-overrun.js +26 -0
  195. data/app/assets/bower_components/process_engine/sax/test/case.js +50 -0
  196. data/app/assets/bower_components/process_engine/sax/test/cdata-chunked.js +11 -0
  197. data/app/assets/bower_components/process_engine/sax/test/cdata-end-split.js +15 -0
  198. data/app/assets/bower_components/process_engine/sax/test/cdata-fake-end.js +28 -0
  199. data/app/assets/bower_components/process_engine/sax/test/cdata-multiple.js +15 -0
  200. data/app/assets/bower_components/process_engine/sax/test/cdata.js +10 -0
  201. data/app/assets/bower_components/process_engine/sax/test/cyrillic.js +8 -0
  202. data/app/assets/bower_components/process_engine/sax/test/duplicate-attribute.js +13 -0
  203. data/app/assets/bower_components/process_engine/sax/test/emoji.js +12 -0
  204. data/app/assets/bower_components/process_engine/sax/test/end_empty_stream.js +5 -0
  205. data/app/assets/bower_components/process_engine/sax/test/entities.js +10 -0
  206. data/app/assets/bower_components/process_engine/sax/test/entity-mega.js +16 -0
  207. data/app/assets/bower_components/process_engine/sax/test/flush.js +13 -0
  208. data/app/assets/bower_components/process_engine/sax/test/index.js +86 -0
  209. data/app/assets/bower_components/process_engine/sax/test/issue-23.js +43 -0
  210. data/app/assets/bower_components/process_engine/sax/test/issue-30.js +24 -0
  211. data/app/assets/bower_components/process_engine/sax/test/issue-35.js +15 -0
  212. data/app/assets/bower_components/process_engine/sax/test/issue-47.js +12 -0
  213. data/app/assets/bower_components/process_engine/sax/test/issue-49.js +31 -0
  214. data/app/assets/bower_components/process_engine/sax/test/issue-84.js +13 -0
  215. data/app/assets/bower_components/process_engine/sax/test/parser-position.js +28 -0
  216. data/app/assets/bower_components/process_engine/sax/test/script-close-better.js +12 -0
  217. data/app/assets/bower_components/process_engine/sax/test/script.js +12 -0
  218. data/app/assets/bower_components/process_engine/sax/test/self-closing-child-strict.js +44 -0
  219. data/app/assets/bower_components/process_engine/sax/test/self-closing-child.js +44 -0
  220. data/app/assets/bower_components/process_engine/sax/test/self-closing-tag.js +25 -0
  221. data/app/assets/bower_components/process_engine/sax/test/stray-ending.js +17 -0
  222. data/app/assets/bower_components/process_engine/sax/test/trailing-attribute-no-value.js +10 -0
  223. data/app/assets/bower_components/process_engine/sax/test/trailing-non-whitespace.js +18 -0
  224. data/app/assets/bower_components/process_engine/sax/test/unclosed-root.js +11 -0
  225. data/app/assets/bower_components/process_engine/sax/test/unquoted.js +18 -0
  226. data/app/assets/bower_components/process_engine/sax/test/utf8-split.js +32 -0
  227. data/app/assets/bower_components/process_engine/sax/test/xmlns-as-tag-name.js +15 -0
  228. data/app/assets/bower_components/process_engine/sax/test/xmlns-issue-41.js +68 -0
  229. data/app/assets/bower_components/process_engine/sax/test/xmlns-rebinding.js +63 -0
  230. data/app/assets/bower_components/process_engine/sax/test/xmlns-strict.js +74 -0
  231. data/app/assets/bower_components/process_engine/sax/test/xmlns-unbound-element.js +33 -0
  232. data/app/assets/bower_components/process_engine/sax/test/xmlns-unbound.js +15 -0
  233. data/app/assets/bower_components/process_engine/sax/test/xmlns-xml-default-ns.js +31 -0
  234. data/app/assets/bower_components/process_engine/sax/test/xmlns-xml-default-prefix-attribute.js +36 -0
  235. data/app/assets/bower_components/process_engine/sax/test/xmlns-xml-default-prefix.js +21 -0
  236. data/app/assets/bower_components/process_engine/sax/test/xmlns-xml-default-redefine.js +41 -0
  237. data/app/assets/javascripts/process_engine/application.js +65 -0
  238. data/app/assets/stylesheets/process_engine/application.css +39 -0
  239. data/app/controllers/process_engine/application_controller.rb +28 -0
  240. data/app/controllers/process_engine/process_definitions_controller.rb +63 -0
  241. data/app/controllers/process_engine/process_instances_controller.rb +42 -0
  242. data/app/controllers/process_engine/process_tasks_controller.rb +23 -0
  243. data/app/helpers/process_engine/application_helper.rb +4 -0
  244. data/app/models/process_engine/consumer/consumer_task.rb +15 -0
  245. data/app/models/process_engine/error/false_task_state.rb +2 -0
  246. data/app/models/process_engine/listener/base.rb +49 -0
  247. data/app/models/process_engine/node_data_injection.rb +22 -0
  248. data/app/models/process_engine/parser/complex_gateway.rb +21 -0
  249. data/app/models/process_engine/parser/end_event.rb +23 -0
  250. data/app/models/process_engine/parser/exclusive_gateway.rb +25 -0
  251. data/app/models/process_engine/parser/extension/condition_expression.rb +39 -0
  252. data/app/models/process_engine/parser/extension/execution_listener.rb +15 -0
  253. data/app/models/process_engine/parser/extension/form_field.rb +50 -0
  254. data/app/models/process_engine/parser/extension/input_output.rb +28 -0
  255. data/app/models/process_engine/parser/extension/listener.rb +43 -0
  256. data/app/models/process_engine/parser/extension/property.rb +20 -0
  257. data/app/models/process_engine/parser/extension/task_listener.rb +15 -0
  258. data/app/models/process_engine/parser/extension/transitional_parameter.rb +53 -0
  259. data/app/models/process_engine/parser/inclusive_gateway.rb +25 -0
  260. data/app/models/process_engine/parser/parallel_gateway.rb +19 -0
  261. data/app/models/process_engine/parser/script_task.rb +37 -0
  262. data/app/models/process_engine/parser/sequence_flow.rb +36 -0
  263. data/app/models/process_engine/parser/start_event.rb +27 -0
  264. data/app/models/process_engine/parser/user_task.rb +36 -0
  265. data/app/models/process_engine/parser/xml_node.rb +125 -0
  266. data/app/models/process_engine/process_definition.rb +50 -0
  267. data/app/models/process_engine/process_instance.rb +72 -0
  268. data/app/models/process_engine/process_query.rb +52 -0
  269. data/app/models/process_engine/process_schema.rb +30 -0
  270. data/app/models/process_engine/process_task.rb +70 -0
  271. data/app/models/process_engine/schema/interceptor/exclusive_gateway.rb +39 -0
  272. data/app/models/process_engine/schema/node.rb +48 -0
  273. data/app/models/process_engine/schema/node_extension.rb +79 -0
  274. data/app/models/process_engine/schema/transition.rb +22 -0
  275. data/app/views/layouts/process_engine/application.html.erb +14 -0
  276. data/app/views/process_engine/layouts/_menu.html.haml +6 -0
  277. data/app/views/process_engine/layouts/application.html.haml +11 -0
  278. data/app/views/process_engine/process_definitions/_form.html.haml +6 -0
  279. data/app/views/process_engine/process_definitions/edit.html.haml +3 -0
  280. data/app/views/process_engine/process_definitions/index.html.haml +26 -0
  281. data/app/views/process_engine/process_definitions/new.html.haml +3 -0
  282. data/app/views/process_engine/process_definitions/show.html.haml +51 -0
  283. data/app/views/process_engine/process_instances/_form.html.haml +5 -0
  284. data/app/views/process_engine/process_instances/edit.html.haml +3 -0
  285. data/app/views/process_engine/process_instances/index.html.haml +29 -0
  286. data/app/views/process_engine/process_instances/show.html.haml +38 -0
  287. data/app/views/process_engine/process_tasks/index.html.haml +44 -0
  288. data/app/views/process_engine/share/_bpmn_canvas.html.haml +7 -0
  289. data/config/initializers/bower_rails.rb +16 -0
  290. data/config/initializers/simple_form.rb +166 -0
  291. data/config/initializers/simple_form_bootstrap.rb +135 -0
  292. data/config/locales/simple_form.en.yml +31 -0
  293. data/config/routes.rb +18 -0
  294. data/db/migrate/20150313063311_create_process_engine_process_definitions.rb +14 -0
  295. data/db/migrate/20150313063508_create_process_engine_process_instances.rb +15 -0
  296. data/db/migrate/20150313063633_create_process_engine_process_tasks.rb +30 -0
  297. data/lib/process_engine/engine.rb +12 -0
  298. data/lib/process_engine/version.rb +3 -0
  299. data/lib/process_engine.rb +8 -0
  300. data/lib/tasks/process_engine_tasks.rake +4 -0
  301. data/lib/templates/erb/scaffold/_form.html.erb +13 -0
  302. data/test/dummy/README.rdoc +28 -0
  303. data/test/dummy/Rakefile +6 -0
  304. data/test/dummy/app/assets/javascripts/application.js +13 -0
  305. data/test/dummy/app/assets/stylesheets/application.css +15 -0
  306. data/test/dummy/app/controllers/application_controller.rb +5 -0
  307. data/test/dummy/app/helpers/application_helper.rb +2 -0
  308. data/test/dummy/app/views/layouts/application.html.erb +14 -0
  309. data/test/dummy/bin/bundle +3 -0
  310. data/test/dummy/bin/rails +4 -0
  311. data/test/dummy/bin/rake +4 -0
  312. data/test/dummy/bin/setup +29 -0
  313. data/test/dummy/config/application.rb +26 -0
  314. data/test/dummy/config/boot.rb +5 -0
  315. data/test/dummy/config/database.yml +85 -0
  316. data/test/dummy/config/environment.rb +5 -0
  317. data/test/dummy/config/environments/development.rb +41 -0
  318. data/test/dummy/config/environments/production.rb +79 -0
  319. data/test/dummy/config/environments/test.rb +42 -0
  320. data/test/dummy/config/initializers/assets.rb +11 -0
  321. data/test/dummy/config/initializers/backtrace_silencers.rb +7 -0
  322. data/test/dummy/config/initializers/cookies_serializer.rb +3 -0
  323. data/test/dummy/config/initializers/filter_parameter_logging.rb +4 -0
  324. data/test/dummy/config/initializers/inflections.rb +16 -0
  325. data/test/dummy/config/initializers/mime_types.rb +4 -0
  326. data/test/dummy/config/initializers/session_store.rb +3 -0
  327. data/test/dummy/config/initializers/wrap_parameters.rb +14 -0
  328. data/test/dummy/config/locales/en.yml +23 -0
  329. data/test/dummy/config/routes.rb +4 -0
  330. data/test/dummy/config/secrets.yml +22 -0
  331. data/test/dummy/config.ru +4 -0
  332. data/test/dummy/db/schema.rb +66 -0
  333. data/test/dummy/log/development.log +9722 -0
  334. data/test/dummy/public/404.html +67 -0
  335. data/test/dummy/public/422.html +67 -0
  336. data/test/dummy/public/500.html +66 -0
  337. data/test/dummy/public/favicon.ico +0 -0
  338. data/test/dummy/tmp/cache/assets/development/sass/8afee1847b645742b0d2535a7c32f4f22e7926ec/bootstrap.scssc +0 -0
  339. data/test/dummy/tmp/cache/assets/development/sass/b5911aa594334efca1023d6f01abce0758e9648a/bootstrap.scssc +0 -0
  340. data/test/dummy/tmp/cache/assets/development/sprockets/014d8413350c7d85a5429f5e2c9ac911 +0 -0
  341. data/test/dummy/tmp/cache/assets/development/sprockets/0cbd667d0fbf9e0e6f60b5ebf2f95fa3 +0 -0
  342. data/test/dummy/tmp/cache/assets/development/sprockets/0f7ba040a442530a6d4a5bc8307769c1 +0 -0
  343. data/test/dummy/tmp/cache/assets/development/sprockets/0fca2cc9aa38138660d8c7d492cf81e4 +0 -0
  344. data/test/dummy/tmp/cache/assets/development/sprockets/0ff24903c54f534941fbc96ff862e475 +0 -0
  345. data/test/dummy/tmp/cache/assets/development/sprockets/11100f87277a2892323fe5581af75a7b +0 -0
  346. data/test/dummy/tmp/cache/assets/development/sprockets/13fe41fee1fe35b49d145bcc06610705 +0 -0
  347. data/test/dummy/tmp/cache/assets/development/sprockets/18a34084783e8b7f9bc871bc64b13eed +0 -0
  348. data/test/dummy/tmp/cache/assets/development/sprockets/1a3821ce28e0196075ed0830fcb45f38 +0 -0
  349. data/test/dummy/tmp/cache/assets/development/sprockets/1cf94b9a49ee68cb0f4065d48e9cbaf3 +0 -0
  350. data/test/dummy/tmp/cache/assets/development/sprockets/21a6373d6c40614fd05be57194c68248 +0 -0
  351. data/test/dummy/tmp/cache/assets/development/sprockets/26276ae8df51c046f3adc0b50a1521ba +0 -0
  352. data/test/dummy/tmp/cache/assets/development/sprockets/2eea4a8f4854d438cd03cb23a89b6d8c +0 -0
  353. data/test/dummy/tmp/cache/assets/development/sprockets/2f5173deea6c795b8fdde723bb4b63af +0 -0
  354. data/test/dummy/tmp/cache/assets/development/sprockets/357970feca3ac29060c1e3861e2c0953 +0 -0
  355. data/test/dummy/tmp/cache/assets/development/sprockets/3993bcd8bae4771e550d8fc91d1debbc +0 -0
  356. data/test/dummy/tmp/cache/assets/development/sprockets/3ccc4edae36a9c4bd70fc330c9c83dc9 +0 -0
  357. data/test/dummy/tmp/cache/assets/development/sprockets/3e391b0f37505fffc40ba9ffa13330a2 +0 -0
  358. data/test/dummy/tmp/cache/assets/development/sprockets/42e258b77f5dd532dfb9344a2d766de6 +0 -0
  359. data/test/dummy/tmp/cache/assets/development/sprockets/43a5910cb7a330ece5856c0e9099efa2 +0 -0
  360. data/test/dummy/tmp/cache/assets/development/sprockets/4e65ec1149f01e749e1e372861210d4d +0 -0
  361. data/test/dummy/tmp/cache/assets/development/sprockets/501160bcee63ae68449a5a5eb78b6d41 +0 -0
  362. data/test/dummy/tmp/cache/assets/development/sprockets/517beb0bf366ec3c8649da9ac8a8a01e +0 -0
  363. data/test/dummy/tmp/cache/assets/development/sprockets/525a556b1eaacfa041722e1250d9859a +0 -0
  364. data/test/dummy/tmp/cache/assets/development/sprockets/56edbae38e4e0ff9f4b4fc576ae3d746 +0 -0
  365. data/test/dummy/tmp/cache/assets/development/sprockets/5b04f4a7058d92f88f89f2248bcc16b0 +0 -0
  366. data/test/dummy/tmp/cache/assets/development/sprockets/5c3c69f7c2520b57620931c150032d7e +0 -0
  367. data/test/dummy/tmp/cache/assets/development/sprockets/5d1f8f2111e14084ebf711412c9230d2 +0 -0
  368. data/test/dummy/tmp/cache/assets/development/sprockets/5f9833d6835900c56d0e76a1b2924cc2 +0 -0
  369. data/test/dummy/tmp/cache/assets/development/sprockets/67c653cc36eb639f7a7af5159e9f9de3 +0 -0
  370. data/test/dummy/tmp/cache/assets/development/sprockets/704b33432a5ba417bcd5962ad999c671 +0 -0
  371. data/test/dummy/tmp/cache/assets/development/sprockets/7301f83e8e67f30be13546a794a553ef +0 -0
  372. data/test/dummy/tmp/cache/assets/development/sprockets/7482c8f712712a79937caf41413bca15 +0 -0
  373. data/test/dummy/tmp/cache/assets/development/sprockets/761cb171e67ddca71e8b9c74f0220457 +0 -0
  374. data/test/dummy/tmp/cache/assets/development/sprockets/7e23bd4385e166267961b6d936363042 +0 -0
  375. data/test/dummy/tmp/cache/assets/development/sprockets/7e5100f290c9ba0d4c026e43b58d0d79 +0 -0
  376. data/test/dummy/tmp/cache/assets/development/sprockets/80743880e8d46958e9839ff9408c3113 +0 -0
  377. data/test/dummy/tmp/cache/assets/development/sprockets/8b8941aae968854bafb4638a86cad77b +0 -0
  378. data/test/dummy/tmp/cache/assets/development/sprockets/9c292f3b6b577a92970303c351e1d4a1 +0 -0
  379. data/test/dummy/tmp/cache/assets/development/sprockets/a3435b13cfa60fb7469a19703350bda7 +0 -0
  380. data/test/dummy/tmp/cache/assets/development/sprockets/a6ce1b2837383f1e8b62b7f1ddcc6820 +0 -0
  381. data/test/dummy/tmp/cache/assets/development/sprockets/a7e90acc68ba69b7cd5c0a7005467c4b +0 -0
  382. data/test/dummy/tmp/cache/assets/development/sprockets/be4d00fb7bf467b370f0fda7e453ec68 +0 -0
  383. data/test/dummy/tmp/cache/assets/development/sprockets/c4fbf44e63e40cbbf825fe750374728f +0 -0
  384. data/test/dummy/tmp/cache/assets/development/sprockets/c593bacb8d3f003125f91763a7b36b10 +0 -0
  385. data/test/dummy/tmp/cache/assets/development/sprockets/c5ae3bc69f7b1e1fdb51a667c9f3cdd6 +0 -0
  386. data/test/dummy/tmp/cache/assets/development/sprockets/cc843b336460771bf75c97cf0935301b +0 -0
  387. data/test/dummy/tmp/cache/assets/development/sprockets/ce3b6127737ed36f7b62a54acec06b3e +0 -0
  388. data/test/dummy/tmp/cache/assets/development/sprockets/cffd775d018f68ce5dba1ee0d951a994 +0 -0
  389. data/test/dummy/tmp/cache/assets/development/sprockets/d58931b13c55c146d21475e532b126ba +0 -0
  390. data/test/dummy/tmp/cache/assets/development/sprockets/d771ace226fc8215a3572e0aa35bb0d6 +0 -0
  391. data/test/dummy/tmp/cache/assets/development/sprockets/dc6bbdc1e385c7bb2743011e9c2a7407 +0 -0
  392. data/test/dummy/tmp/cache/assets/development/sprockets/dd7270e11b484ae10f601e1dd014445a +0 -0
  393. data/test/dummy/tmp/cache/assets/development/sprockets/de86beefc60e0cd84dd1525af863e64d +0 -0
  394. data/test/dummy/tmp/cache/assets/development/sprockets/e0953e6e4a6c208e350f7f25d85bdce8 +0 -0
  395. data/test/dummy/tmp/cache/assets/development/sprockets/ec3b479833be43bf164a3deb119c3aee +0 -0
  396. data/test/dummy/tmp/cache/assets/development/sprockets/ef2cb0afc9a61a3d5819b4dfc84720ad +0 -0
  397. data/test/dummy/tmp/cache/assets/development/sprockets/f0511bbd6f6cd5530acddebb6d7e7044 +0 -0
  398. data/test/dummy/tmp/cache/assets/development/sprockets/f7009bba030498129042e0c542d4f264 +0 -0
  399. data/test/dummy/tmp/cache/assets/development/sprockets/f7cbd26ba1d28d48de824f0e94586655 +0 -0
  400. data/test/fixtures/process_engine/process_definitions.yml +17 -0
  401. data/test/fixtures/process_engine/process_instances.yml +11 -0
  402. data/test/fixtures/process_engine/process_tasks.yml +11 -0
  403. data/test/integration/navigation_test.rb +10 -0
  404. data/test/models/process_engine/process_definition_test.rb +9 -0
  405. data/test/models/process_engine/process_instance_test.rb +9 -0
  406. data/test/models/process_engine/process_task_test.rb +9 -0
  407. data/test/process_engine_test.rb +7 -0
  408. data/test/test_helper.rb +19 -0
  409. metadata +740 -0
@@ -0,0 +1,96 @@
1
+ define([
2
+ "../core",
3
+ "../var/support"
4
+ ], function( jQuery, support ) {
5
+
6
+ (function() {
7
+ var pixelPositionVal, boxSizingReliableVal,
8
+ docElem = document.documentElement,
9
+ container = document.createElement( "div" ),
10
+ div = document.createElement( "div" );
11
+
12
+ if ( !div.style ) {
13
+ return;
14
+ }
15
+
16
+ // Support: IE9-11+
17
+ // Style of cloned element affects source element cloned (#8908)
18
+ div.style.backgroundClip = "content-box";
19
+ div.cloneNode( true ).style.backgroundClip = "";
20
+ support.clearCloneStyle = div.style.backgroundClip === "content-box";
21
+
22
+ container.style.cssText = "border:0;width:0;height:0;top:0;left:-9999px;margin-top:1px;" +
23
+ "position:absolute";
24
+ container.appendChild( div );
25
+
26
+ // Executing both pixelPosition & boxSizingReliable tests require only one layout
27
+ // so they're executed at the same time to save the second computation.
28
+ function computePixelPositionAndBoxSizingReliable() {
29
+ div.style.cssText =
30
+ // Support: Firefox<29, Android 2.3
31
+ // Vendor-prefix box-sizing
32
+ "-webkit-box-sizing:border-box;-moz-box-sizing:border-box;" +
33
+ "box-sizing:border-box;display:block;margin-top:1%;top:1%;" +
34
+ "border:1px;padding:1px;width:4px;position:absolute";
35
+ div.innerHTML = "";
36
+ docElem.appendChild( container );
37
+
38
+ var divStyle = window.getComputedStyle( div, null );
39
+ pixelPositionVal = divStyle.top !== "1%";
40
+ boxSizingReliableVal = divStyle.width === "4px";
41
+
42
+ docElem.removeChild( container );
43
+ }
44
+
45
+ // Support: node.js jsdom
46
+ // Don't assume that getComputedStyle is a property of the global object
47
+ if ( window.getComputedStyle ) {
48
+ jQuery.extend( support, {
49
+ pixelPosition: function() {
50
+
51
+ // This test is executed only once but we still do memoizing
52
+ // since we can use the boxSizingReliable pre-computing.
53
+ // No need to check if the test was already performed, though.
54
+ computePixelPositionAndBoxSizingReliable();
55
+ return pixelPositionVal;
56
+ },
57
+ boxSizingReliable: function() {
58
+ if ( boxSizingReliableVal == null ) {
59
+ computePixelPositionAndBoxSizingReliable();
60
+ }
61
+ return boxSizingReliableVal;
62
+ },
63
+ reliableMarginRight: function() {
64
+
65
+ // Support: Android 2.3
66
+ // Check if div with explicit width and no margin-right incorrectly
67
+ // gets computed margin-right based on width of container. (#3333)
68
+ // WebKit Bug 13343 - getComputedStyle returns wrong value for margin-right
69
+ // This support function is only executed once so no memoizing is needed.
70
+ var ret,
71
+ marginDiv = div.appendChild( document.createElement( "div" ) );
72
+
73
+ // Reset CSS: box-sizing; display; margin; border; padding
74
+ marginDiv.style.cssText = div.style.cssText =
75
+ // Support: Firefox<29, Android 2.3
76
+ // Vendor-prefix box-sizing
77
+ "-webkit-box-sizing:content-box;-moz-box-sizing:content-box;" +
78
+ "box-sizing:content-box;display:block;margin:0;border:0;padding:0";
79
+ marginDiv.style.marginRight = marginDiv.style.width = "0";
80
+ div.style.width = "1px";
81
+ docElem.appendChild( container );
82
+
83
+ ret = !parseFloat( window.getComputedStyle( marginDiv, null ).marginRight );
84
+
85
+ docElem.removeChild( container );
86
+ div.removeChild( marginDiv );
87
+
88
+ return ret;
89
+ }
90
+ });
91
+ }
92
+ })();
93
+
94
+ return support;
95
+
96
+ });
@@ -0,0 +1,28 @@
1
+ define([
2
+ "../core"
3
+ ], function( jQuery ) {
4
+
5
+ // A method for quickly swapping in/out CSS properties to get correct calculations.
6
+ jQuery.swap = function( elem, options, callback, args ) {
7
+ var ret, name,
8
+ old = {};
9
+
10
+ // Remember the old values, and insert the new ones
11
+ for ( name in options ) {
12
+ old[ name ] = elem.style[ name ];
13
+ elem.style[ name ] = options[ name ];
14
+ }
15
+
16
+ ret = callback.apply( elem, args || [] );
17
+
18
+ // Revert the old values
19
+ for ( name in options ) {
20
+ elem.style[ name ] = old[ name ];
21
+ }
22
+
23
+ return ret;
24
+ };
25
+
26
+ return jQuery.swap;
27
+
28
+ });
@@ -0,0 +1,3 @@
1
+ define(function() {
2
+ return [ "Top", "Right", "Bottom", "Left" ];
3
+ });
@@ -0,0 +1,12 @@
1
+ define(function() {
2
+ return function( elem ) {
3
+ // Support: IE<=11+, Firefox<=30+ (#15098, #14150)
4
+ // IE throws on elements created in popups
5
+ // FF meanwhile throws on frame elements through "defaultView.getComputedStyle"
6
+ if ( elem.ownerDocument.defaultView.opener ) {
7
+ return elem.ownerDocument.defaultView.getComputedStyle( elem, null );
8
+ }
9
+
10
+ return window.getComputedStyle( elem, null );
11
+ };
12
+ });
@@ -0,0 +1,13 @@
1
+ define([
2
+ "../../core",
3
+ "../../selector"
4
+ // css is assumed
5
+ ], function( jQuery ) {
6
+
7
+ return function( elem, el ) {
8
+ // isHidden might be called from jQuery#filter function;
9
+ // in that case, element will be second argument
10
+ elem = el || elem;
11
+ return jQuery.css( elem, "display" ) === "none" || !jQuery.contains( elem.ownerDocument, elem );
12
+ };
13
+ });
@@ -0,0 +1,3 @@
1
+ define(function() {
2
+ return (/^margin/);
3
+ });
@@ -0,0 +1,5 @@
1
+ define([
2
+ "../../var/pnum"
3
+ ], function( pnum ) {
4
+ return new RegExp( "^(" + pnum + ")(?!px)[a-z%]+$", "i" );
5
+ });
@@ -0,0 +1,450 @@
1
+ define([
2
+ "./core",
3
+ "./var/pnum",
4
+ "./core/access",
5
+ "./css/var/rmargin",
6
+ "./css/var/rnumnonpx",
7
+ "./css/var/cssExpand",
8
+ "./css/var/isHidden",
9
+ "./css/var/getStyles",
10
+ "./css/curCSS",
11
+ "./css/defaultDisplay",
12
+ "./css/addGetHookIf",
13
+ "./css/support",
14
+ "./data/var/data_priv",
15
+
16
+ "./core/init",
17
+ "./css/swap",
18
+ "./core/ready",
19
+ "./selector" // contains
20
+ ], function( jQuery, pnum, access, rmargin, rnumnonpx, cssExpand, isHidden,
21
+ getStyles, curCSS, defaultDisplay, addGetHookIf, support, data_priv ) {
22
+
23
+ var
24
+ // Swappable if display is none or starts with table except "table", "table-cell", or "table-caption"
25
+ // See here for display values: https://developer.mozilla.org/en-US/docs/CSS/display
26
+ rdisplayswap = /^(none|table(?!-c[ea]).+)/,
27
+ rnumsplit = new RegExp( "^(" + pnum + ")(.*)$", "i" ),
28
+ rrelNum = new RegExp( "^([+-])=(" + pnum + ")", "i" ),
29
+
30
+ cssShow = { position: "absolute", visibility: "hidden", display: "block" },
31
+ cssNormalTransform = {
32
+ letterSpacing: "0",
33
+ fontWeight: "400"
34
+ },
35
+
36
+ cssPrefixes = [ "Webkit", "O", "Moz", "ms" ];
37
+
38
+ // Return a css property mapped to a potentially vendor prefixed property
39
+ function vendorPropName( style, name ) {
40
+
41
+ // Shortcut for names that are not vendor prefixed
42
+ if ( name in style ) {
43
+ return name;
44
+ }
45
+
46
+ // Check for vendor prefixed names
47
+ var capName = name[0].toUpperCase() + name.slice(1),
48
+ origName = name,
49
+ i = cssPrefixes.length;
50
+
51
+ while ( i-- ) {
52
+ name = cssPrefixes[ i ] + capName;
53
+ if ( name in style ) {
54
+ return name;
55
+ }
56
+ }
57
+
58
+ return origName;
59
+ }
60
+
61
+ function setPositiveNumber( elem, value, subtract ) {
62
+ var matches = rnumsplit.exec( value );
63
+ return matches ?
64
+ // Guard against undefined "subtract", e.g., when used as in cssHooks
65
+ Math.max( 0, matches[ 1 ] - ( subtract || 0 ) ) + ( matches[ 2 ] || "px" ) :
66
+ value;
67
+ }
68
+
69
+ function augmentWidthOrHeight( elem, name, extra, isBorderBox, styles ) {
70
+ var i = extra === ( isBorderBox ? "border" : "content" ) ?
71
+ // If we already have the right measurement, avoid augmentation
72
+ 4 :
73
+ // Otherwise initialize for horizontal or vertical properties
74
+ name === "width" ? 1 : 0,
75
+
76
+ val = 0;
77
+
78
+ for ( ; i < 4; i += 2 ) {
79
+ // Both box models exclude margin, so add it if we want it
80
+ if ( extra === "margin" ) {
81
+ val += jQuery.css( elem, extra + cssExpand[ i ], true, styles );
82
+ }
83
+
84
+ if ( isBorderBox ) {
85
+ // border-box includes padding, so remove it if we want content
86
+ if ( extra === "content" ) {
87
+ val -= jQuery.css( elem, "padding" + cssExpand[ i ], true, styles );
88
+ }
89
+
90
+ // At this point, extra isn't border nor margin, so remove border
91
+ if ( extra !== "margin" ) {
92
+ val -= jQuery.css( elem, "border" + cssExpand[ i ] + "Width", true, styles );
93
+ }
94
+ } else {
95
+ // At this point, extra isn't content, so add padding
96
+ val += jQuery.css( elem, "padding" + cssExpand[ i ], true, styles );
97
+
98
+ // At this point, extra isn't content nor padding, so add border
99
+ if ( extra !== "padding" ) {
100
+ val += jQuery.css( elem, "border" + cssExpand[ i ] + "Width", true, styles );
101
+ }
102
+ }
103
+ }
104
+
105
+ return val;
106
+ }
107
+
108
+ function getWidthOrHeight( elem, name, extra ) {
109
+
110
+ // Start with offset property, which is equivalent to the border-box value
111
+ var valueIsBorderBox = true,
112
+ val = name === "width" ? elem.offsetWidth : elem.offsetHeight,
113
+ styles = getStyles( elem ),
114
+ isBorderBox = jQuery.css( elem, "boxSizing", false, styles ) === "border-box";
115
+
116
+ // Some non-html elements return undefined for offsetWidth, so check for null/undefined
117
+ // svg - https://bugzilla.mozilla.org/show_bug.cgi?id=649285
118
+ // MathML - https://bugzilla.mozilla.org/show_bug.cgi?id=491668
119
+ if ( val <= 0 || val == null ) {
120
+ // Fall back to computed then uncomputed css if necessary
121
+ val = curCSS( elem, name, styles );
122
+ if ( val < 0 || val == null ) {
123
+ val = elem.style[ name ];
124
+ }
125
+
126
+ // Computed unit is not pixels. Stop here and return.
127
+ if ( rnumnonpx.test(val) ) {
128
+ return val;
129
+ }
130
+
131
+ // Check for style in case a browser which returns unreliable values
132
+ // for getComputedStyle silently falls back to the reliable elem.style
133
+ valueIsBorderBox = isBorderBox &&
134
+ ( support.boxSizingReliable() || val === elem.style[ name ] );
135
+
136
+ // Normalize "", auto, and prepare for extra
137
+ val = parseFloat( val ) || 0;
138
+ }
139
+
140
+ // Use the active box-sizing model to add/subtract irrelevant styles
141
+ return ( val +
142
+ augmentWidthOrHeight(
143
+ elem,
144
+ name,
145
+ extra || ( isBorderBox ? "border" : "content" ),
146
+ valueIsBorderBox,
147
+ styles
148
+ )
149
+ ) + "px";
150
+ }
151
+
152
+ function showHide( elements, show ) {
153
+ var display, elem, hidden,
154
+ values = [],
155
+ index = 0,
156
+ length = elements.length;
157
+
158
+ for ( ; index < length; index++ ) {
159
+ elem = elements[ index ];
160
+ if ( !elem.style ) {
161
+ continue;
162
+ }
163
+
164
+ values[ index ] = data_priv.get( elem, "olddisplay" );
165
+ display = elem.style.display;
166
+ if ( show ) {
167
+ // Reset the inline display of this element to learn if it is
168
+ // being hidden by cascaded rules or not
169
+ if ( !values[ index ] && display === "none" ) {
170
+ elem.style.display = "";
171
+ }
172
+
173
+ // Set elements which have been overridden with display: none
174
+ // in a stylesheet to whatever the default browser style is
175
+ // for such an element
176
+ if ( elem.style.display === "" && isHidden( elem ) ) {
177
+ values[ index ] = data_priv.access( elem, "olddisplay", defaultDisplay(elem.nodeName) );
178
+ }
179
+ } else {
180
+ hidden = isHidden( elem );
181
+
182
+ if ( display !== "none" || !hidden ) {
183
+ data_priv.set( elem, "olddisplay", hidden ? display : jQuery.css( elem, "display" ) );
184
+ }
185
+ }
186
+ }
187
+
188
+ // Set the display of most of the elements in a second loop
189
+ // to avoid the constant reflow
190
+ for ( index = 0; index < length; index++ ) {
191
+ elem = elements[ index ];
192
+ if ( !elem.style ) {
193
+ continue;
194
+ }
195
+ if ( !show || elem.style.display === "none" || elem.style.display === "" ) {
196
+ elem.style.display = show ? values[ index ] || "" : "none";
197
+ }
198
+ }
199
+
200
+ return elements;
201
+ }
202
+
203
+ jQuery.extend({
204
+
205
+ // Add in style property hooks for overriding the default
206
+ // behavior of getting and setting a style property
207
+ cssHooks: {
208
+ opacity: {
209
+ get: function( elem, computed ) {
210
+ if ( computed ) {
211
+
212
+ // We should always get a number back from opacity
213
+ var ret = curCSS( elem, "opacity" );
214
+ return ret === "" ? "1" : ret;
215
+ }
216
+ }
217
+ }
218
+ },
219
+
220
+ // Don't automatically add "px" to these possibly-unitless properties
221
+ cssNumber: {
222
+ "columnCount": true,
223
+ "fillOpacity": true,
224
+ "flexGrow": true,
225
+ "flexShrink": true,
226
+ "fontWeight": true,
227
+ "lineHeight": true,
228
+ "opacity": true,
229
+ "order": true,
230
+ "orphans": true,
231
+ "widows": true,
232
+ "zIndex": true,
233
+ "zoom": true
234
+ },
235
+
236
+ // Add in properties whose names you wish to fix before
237
+ // setting or getting the value
238
+ cssProps: {
239
+ "float": "cssFloat"
240
+ },
241
+
242
+ // Get and set the style property on a DOM Node
243
+ style: function( elem, name, value, extra ) {
244
+
245
+ // Don't set styles on text and comment nodes
246
+ if ( !elem || elem.nodeType === 3 || elem.nodeType === 8 || !elem.style ) {
247
+ return;
248
+ }
249
+
250
+ // Make sure that we're working with the right name
251
+ var ret, type, hooks,
252
+ origName = jQuery.camelCase( name ),
253
+ style = elem.style;
254
+
255
+ name = jQuery.cssProps[ origName ] || ( jQuery.cssProps[ origName ] = vendorPropName( style, origName ) );
256
+
257
+ // Gets hook for the prefixed version, then unprefixed version
258
+ hooks = jQuery.cssHooks[ name ] || jQuery.cssHooks[ origName ];
259
+
260
+ // Check if we're setting a value
261
+ if ( value !== undefined ) {
262
+ type = typeof value;
263
+
264
+ // Convert "+=" or "-=" to relative numbers (#7345)
265
+ if ( type === "string" && (ret = rrelNum.exec( value )) ) {
266
+ value = ( ret[1] + 1 ) * ret[2] + parseFloat( jQuery.css( elem, name ) );
267
+ // Fixes bug #9237
268
+ type = "number";
269
+ }
270
+
271
+ // Make sure that null and NaN values aren't set (#7116)
272
+ if ( value == null || value !== value ) {
273
+ return;
274
+ }
275
+
276
+ // If a number, add 'px' to the (except for certain CSS properties)
277
+ if ( type === "number" && !jQuery.cssNumber[ origName ] ) {
278
+ value += "px";
279
+ }
280
+
281
+ // Support: IE9-11+
282
+ // background-* props affect original clone's values
283
+ if ( !support.clearCloneStyle && value === "" && name.indexOf( "background" ) === 0 ) {
284
+ style[ name ] = "inherit";
285
+ }
286
+
287
+ // If a hook was provided, use that value, otherwise just set the specified value
288
+ if ( !hooks || !("set" in hooks) || (value = hooks.set( elem, value, extra )) !== undefined ) {
289
+ style[ name ] = value;
290
+ }
291
+
292
+ } else {
293
+ // If a hook was provided get the non-computed value from there
294
+ if ( hooks && "get" in hooks && (ret = hooks.get( elem, false, extra )) !== undefined ) {
295
+ return ret;
296
+ }
297
+
298
+ // Otherwise just get the value from the style object
299
+ return style[ name ];
300
+ }
301
+ },
302
+
303
+ css: function( elem, name, extra, styles ) {
304
+ var val, num, hooks,
305
+ origName = jQuery.camelCase( name );
306
+
307
+ // Make sure that we're working with the right name
308
+ name = jQuery.cssProps[ origName ] || ( jQuery.cssProps[ origName ] = vendorPropName( elem.style, origName ) );
309
+
310
+ // Try prefixed name followed by the unprefixed name
311
+ hooks = jQuery.cssHooks[ name ] || jQuery.cssHooks[ origName ];
312
+
313
+ // If a hook was provided get the computed value from there
314
+ if ( hooks && "get" in hooks ) {
315
+ val = hooks.get( elem, true, extra );
316
+ }
317
+
318
+ // Otherwise, if a way to get the computed value exists, use that
319
+ if ( val === undefined ) {
320
+ val = curCSS( elem, name, styles );
321
+ }
322
+
323
+ // Convert "normal" to computed value
324
+ if ( val === "normal" && name in cssNormalTransform ) {
325
+ val = cssNormalTransform[ name ];
326
+ }
327
+
328
+ // Make numeric if forced or a qualifier was provided and val looks numeric
329
+ if ( extra === "" || extra ) {
330
+ num = parseFloat( val );
331
+ return extra === true || jQuery.isNumeric( num ) ? num || 0 : val;
332
+ }
333
+ return val;
334
+ }
335
+ });
336
+
337
+ jQuery.each([ "height", "width" ], function( i, name ) {
338
+ jQuery.cssHooks[ name ] = {
339
+ get: function( elem, computed, extra ) {
340
+ if ( computed ) {
341
+
342
+ // Certain elements can have dimension info if we invisibly show them
343
+ // but it must have a current display style that would benefit
344
+ return rdisplayswap.test( jQuery.css( elem, "display" ) ) && elem.offsetWidth === 0 ?
345
+ jQuery.swap( elem, cssShow, function() {
346
+ return getWidthOrHeight( elem, name, extra );
347
+ }) :
348
+ getWidthOrHeight( elem, name, extra );
349
+ }
350
+ },
351
+
352
+ set: function( elem, value, extra ) {
353
+ var styles = extra && getStyles( elem );
354
+ return setPositiveNumber( elem, value, extra ?
355
+ augmentWidthOrHeight(
356
+ elem,
357
+ name,
358
+ extra,
359
+ jQuery.css( elem, "boxSizing", false, styles ) === "border-box",
360
+ styles
361
+ ) : 0
362
+ );
363
+ }
364
+ };
365
+ });
366
+
367
+ // Support: Android 2.3
368
+ jQuery.cssHooks.marginRight = addGetHookIf( support.reliableMarginRight,
369
+ function( elem, computed ) {
370
+ if ( computed ) {
371
+ return jQuery.swap( elem, { "display": "inline-block" },
372
+ curCSS, [ elem, "marginRight" ] );
373
+ }
374
+ }
375
+ );
376
+
377
+ // These hooks are used by animate to expand properties
378
+ jQuery.each({
379
+ margin: "",
380
+ padding: "",
381
+ border: "Width"
382
+ }, function( prefix, suffix ) {
383
+ jQuery.cssHooks[ prefix + suffix ] = {
384
+ expand: function( value ) {
385
+ var i = 0,
386
+ expanded = {},
387
+
388
+ // Assumes a single number if not a string
389
+ parts = typeof value === "string" ? value.split(" ") : [ value ];
390
+
391
+ for ( ; i < 4; i++ ) {
392
+ expanded[ prefix + cssExpand[ i ] + suffix ] =
393
+ parts[ i ] || parts[ i - 2 ] || parts[ 0 ];
394
+ }
395
+
396
+ return expanded;
397
+ }
398
+ };
399
+
400
+ if ( !rmargin.test( prefix ) ) {
401
+ jQuery.cssHooks[ prefix + suffix ].set = setPositiveNumber;
402
+ }
403
+ });
404
+
405
+ jQuery.fn.extend({
406
+ css: function( name, value ) {
407
+ return access( this, function( elem, name, value ) {
408
+ var styles, len,
409
+ map = {},
410
+ i = 0;
411
+
412
+ if ( jQuery.isArray( name ) ) {
413
+ styles = getStyles( elem );
414
+ len = name.length;
415
+
416
+ for ( ; i < len; i++ ) {
417
+ map[ name[ i ] ] = jQuery.css( elem, name[ i ], false, styles );
418
+ }
419
+
420
+ return map;
421
+ }
422
+
423
+ return value !== undefined ?
424
+ jQuery.style( elem, name, value ) :
425
+ jQuery.css( elem, name );
426
+ }, name, value, arguments.length > 1 );
427
+ },
428
+ show: function() {
429
+ return showHide( this, true );
430
+ },
431
+ hide: function() {
432
+ return showHide( this );
433
+ },
434
+ toggle: function( state ) {
435
+ if ( typeof state === "boolean" ) {
436
+ return state ? this.show() : this.hide();
437
+ }
438
+
439
+ return this.each(function() {
440
+ if ( isHidden( this ) ) {
441
+ jQuery( this ).show();
442
+ } else {
443
+ jQuery( this ).hide();
444
+ }
445
+ });
446
+ }
447
+ });
448
+
449
+ return jQuery;
450
+ });