lanes 0.1.9 → 0.1.9.5

Sign up to get free protection for your applications and to get access to all the features.
Files changed (447) hide show
  1. checksums.yaml +4 -4
  2. data/.gitignore +1 -0
  3. data/client/fonts/fontawesome-webfont.woff +0 -0
  4. data/client/fonts/fontawesome-webfont.woff2 +0 -0
  5. data/client/lanes/Boot.cjsx +9 -0
  6. data/client/lanes/access/Extension.coffee +18 -4
  7. data/client/lanes/access/LoginDialog.cjsx +78 -0
  8. data/client/lanes/access/Roles.coffee +22 -28
  9. data/client/lanes/access/User.coffee +16 -16
  10. data/client/lanes/access/index.js +4 -5
  11. data/client/lanes/access/screens/user-management/Editor.cjsx +20 -0
  12. data/client/lanes/access/screens/user-management/UserManagement.cjsx +41 -0
  13. data/client/lanes/access/screens/user-management/index.js +0 -1
  14. data/client/lanes/components/grid/EditingMixin.cjsx +64 -0
  15. data/client/lanes/components/grid/Grid.cjsx +139 -0
  16. data/client/lanes/components/grid/PopOverMixin.cjsx +28 -0
  17. data/client/lanes/components/grid/PopoverEditor.cjsx +8 -0
  18. data/client/lanes/components/grid/RowEditor.cjsx +10 -0
  19. data/client/lanes/components/grid/Toolbar.cjsx +14 -0
  20. data/client/lanes/components/grid/config.json +1 -1
  21. data/client/lanes/components/grid/editors.scss +94 -53
  22. data/client/lanes/components/grid/index.js +2 -7
  23. data/client/lanes/components/grid/styles.scss +8 -296
  24. data/client/lanes/components/helpers.coffee +2 -0
  25. data/client/lanes/components/index.js +2 -1
  26. data/client/lanes/components/modal/Modal.cjsx +36 -0
  27. data/client/lanes/components/modal/index.js +1 -2
  28. data/client/lanes/components/modal/styles.scss +0 -19
  29. data/client/lanes/components/record-finder/Clause.cjsx +80 -0
  30. data/client/lanes/components/record-finder/Dialog.cjsx +54 -0
  31. data/client/lanes/components/record-finder/RecordFinder.cjsx +38 -0
  32. data/client/lanes/components/record-finder/config.json +1 -1
  33. data/client/lanes/components/record-finder/index.js +1 -2
  34. data/client/lanes/components/request-spinner/index.js +1 -0
  35. data/client/lanes/components/select-field/SelectField.cjsx +78 -0
  36. data/client/lanes/components/select-field/index.js +2 -1
  37. data/client/lanes/components/select-field/styles.scss +1 -0
  38. data/client/lanes/components/shared/CountBadge.cjsx +9 -0
  39. data/client/lanes/components/shared/ErrorDisplay.cjsx +21 -0
  40. data/client/lanes/components/shared/FieldMixin.cjsx +71 -0
  41. data/client/lanes/components/shared/FieldSet.cjsx +58 -0
  42. data/client/lanes/components/shared/GenericField.cjsx +5 -0
  43. data/client/lanes/components/shared/Helpers.coffee +9 -0
  44. data/client/lanes/components/shared/RadioField.cjsx +14 -0
  45. data/client/lanes/components/shared/Resize.cjsx +152 -0
  46. data/client/lanes/components/shared/TextArea.cjsx +19 -0
  47. data/client/lanes/components/shared/TextField.cjsx +25 -0
  48. data/client/lanes/components/shared/Tooltip.cjsx +10 -0
  49. data/client/lanes/components/shared/fields.scss +35 -0
  50. data/client/lanes/components/shared/fieldset.scss +29 -0
  51. data/client/lanes/components/shared/index.js +3 -0
  52. data/client/lanes/components/shared/styles.scss +32 -0
  53. data/client/lanes/components/toolbar/RemoteChangeSets.cjsx +75 -0
  54. data/client/lanes/components/toolbar/SaveButton.cjsx +3 -0
  55. data/client/lanes/components/toolbar/Toolbar.cjsx +58 -0
  56. data/client/lanes/{workspace/styles → components/toolbar}/changes-notification.scss +10 -23
  57. data/client/lanes/components/toolbar/index.js +3 -0
  58. data/client/lanes/components/toolbar/styles.scss +51 -0
  59. data/client/lanes/extension/Extensions.coffee +19 -10
  60. data/client/lanes/extension/LateLoaded.js.erb +4 -3
  61. data/client/lanes/index.js +3 -5
  62. data/client/lanes/index.scss.erb +6 -14
  63. data/client/lanes/lib/HotReload.coffee +35 -0
  64. data/client/lanes/lib/MakeBaseClass.coffee +10 -11
  65. data/client/lanes/lib/development.coffee +3 -0
  66. data/client/lanes/lib/dom.coffee +49 -0
  67. data/client/lanes/lib/el.coffee +23 -0
  68. data/client/lanes/lib/index.js.erb +16 -0
  69. data/client/lanes/lib/loader.coffee +34 -34
  70. data/client/lanes/lib/namespace.coffee +1 -1
  71. data/client/lanes/lib/objToParam.coffee +37 -0
  72. data/client/lanes/{access/views/.gitkeep → lib/production.coffee} +0 -0
  73. data/client/lanes/lib/utilFunctions.coffee +44 -26
  74. data/client/lanes/models/AssociationMap.coffee +51 -38
  75. data/client/lanes/models/Base.coffee +89 -88
  76. data/client/lanes/models/ChangeMonitor.coffee +10 -10
  77. data/client/lanes/models/ChangeSet.coffee +14 -24
  78. data/client/lanes/models/Collection.coffee +40 -41
  79. data/client/lanes/models/PubSub.coffee +28 -19
  80. data/client/lanes/models/Query.coffee +78 -45
  81. data/client/lanes/models/QueryResults.coffee +93 -0
  82. data/client/lanes/models/ServerCache.coffee +12 -12
  83. data/client/lanes/models/Sync.coffee +53 -50
  84. data/client/lanes/models/User.coffee +31 -17
  85. data/client/lanes/react/Component.coffee +31 -0
  86. data/client/lanes/react/DefaultComponentNotFound.cjsx +9 -0
  87. data/client/lanes/{views → react}/FormBindings.coffee +0 -0
  88. data/client/lanes/{views → react}/ModelObserver.coffee +0 -0
  89. data/client/lanes/{views → react}/ModelUpdate.coffee +0 -0
  90. data/client/lanes/{views → react}/PubSub.coffee +0 -0
  91. data/client/lanes/react/Root.cjsx +14 -0
  92. data/client/lanes/react/Router.cjsx +18 -0
  93. data/client/lanes/react/Screen.coffee +15 -0
  94. data/client/lanes/{views → react}/TimedHighlight.coffee +0 -0
  95. data/client/lanes/{views → react}/TimedMask.coffee +0 -0
  96. data/client/lanes/react/TypeValidators.coffee +21 -0
  97. data/client/lanes/{lib/create-namespace.js → react/Utils.coffee} +0 -0
  98. data/client/lanes/react/Viewport.coffee +30 -0
  99. data/client/lanes/react/index.js +8 -0
  100. data/client/lanes/react/mixins/Access.coffee +27 -0
  101. data/client/lanes/react/mixins/Component.coffee +4 -0
  102. data/client/lanes/react/mixins/Data.coffee +136 -0
  103. data/client/lanes/react/mixins/MonitorSize.coffee +11 -0
  104. data/client/lanes/react/mixins/ReadEditingState.coffee +11 -0
  105. data/client/lanes/react/mixins/RelayEditingState.coffee +17 -0
  106. data/client/lanes/react/mixins/RelayFieldChange.coffee +11 -0
  107. data/client/lanes/react/mixins/Screen.coffee +7 -0
  108. data/client/lanes/react/mixins/Viewport.coffee +11 -0
  109. data/client/lanes/screens/ChangeListener.coffee +3 -3
  110. data/client/lanes/screens/Commands.coffee +27 -0
  111. data/client/lanes/screens/Definitions.coffee +74 -65
  112. data/client/lanes/screens/all.js.erb +1 -1
  113. data/client/lanes/screens/index.js +1 -2
  114. data/client/lanes/screens/mixins/index.js +0 -1
  115. data/client/lanes/screens/register.js.erb +0 -1
  116. data/client/lanes/screens/styles.scss +7 -0
  117. data/client/lanes/styles/bootstrap-custom-grid.scss +67 -37
  118. data/client/lanes/styles/bootstrap.scss +4 -5
  119. data/client/lanes/styles/fonts.scss +10 -23
  120. data/client/lanes/styles/fonts/_animated.scss +34 -0
  121. data/client/lanes/styles/fonts/_bordered-pulled.scss +16 -0
  122. data/client/lanes/styles/fonts/_core.scss +13 -0
  123. data/client/lanes/styles/fonts/_fixed-width.scss +6 -0
  124. data/client/lanes/styles/fonts/_icons.scss +596 -0
  125. data/client/lanes/styles/fonts/_larger.scss +13 -0
  126. data/client/lanes/styles/fonts/_list.scss +19 -0
  127. data/client/lanes/styles/fonts/_mixins.scss +27 -0
  128. data/client/lanes/styles/fonts/_path.scss +10 -0
  129. data/client/lanes/styles/fonts/_rotated-flipped.scss +20 -0
  130. data/client/lanes/styles/fonts/_stacked.scss +20 -0
  131. data/client/lanes/styles/fonts/_variables.scss +606 -0
  132. data/client/lanes/styles/fonts/font-awesome.scss +16 -0
  133. data/client/lanes/styles/fonts/index.scss +2 -0
  134. data/client/lanes/styles/global.scss +2 -0
  135. data/client/lanes/styles/global/fancy-header.scss +14 -0
  136. data/client/lanes/testing/BeforeEach.coffee +15 -40
  137. data/client/lanes/testing/Helpers.coffee +27 -0
  138. data/client/lanes/testing/ModelSaver.coffee +14 -24
  139. data/client/lanes/testing/StubRouter.coffee +27 -0
  140. data/client/lanes/testing/TestObjects.coffee +27 -0
  141. data/client/lanes/testing/index.js +3 -1
  142. data/client/lanes/vendor/base.js +85256 -0
  143. data/client/lanes/vendor/commons.js +20579 -0
  144. data/client/lanes/vendor/development.js +2511 -0
  145. data/client/lanes/vendor/grid.js +6689 -0
  146. data/client/lanes/vendor/grid.scss +387 -0
  147. data/client/lanes/vendor/index.js +3 -0
  148. data/client/lanes/vendor/message-bus.coffee +264 -0
  149. data/client/lanes/vendor/widgets.js +8798 -0
  150. data/client/lanes/vendor/widgets.scss +723 -0
  151. data/client/lanes/workspace/ActiveScreenSwitcher.cjsx +38 -0
  152. data/client/lanes/workspace/Extension.coffee +6 -0
  153. data/client/lanes/workspace/Layout.cjsx +28 -0
  154. data/client/lanes/workspace/Navbar.cjsx +25 -0
  155. data/client/lanes/workspace/ScreenView.cjsx +27 -0
  156. data/client/lanes/workspace/ScreensMenu.cjsx +57 -0
  157. data/client/lanes/workspace/UIState.coffee +17 -16
  158. data/client/lanes/workspace/index.js +7 -2
  159. data/client/lanes/workspace/styles.scss +0 -3
  160. data/client/lanes/workspace/styles/forms.scss +2 -73
  161. data/client/lanes/workspace/styles/header.scss +0 -2
  162. data/client/lanes/workspace/styles/layout.scss +9 -2
  163. data/client/lanes/workspace/styles/screens.scss +0 -59
  164. data/client/lanes/workspace/styles/tabs.scss +16 -15
  165. data/coffeelint.json +49 -0
  166. data/config.ru +1 -0
  167. data/config/database.yml +2 -2
  168. data/config/routes.rb +7 -0
  169. data/docs/command.md +11 -8
  170. data/docs/model.md +2 -5
  171. data/docs/react.md +137 -0
  172. data/lanes.gemspec +1 -0
  173. data/lib/lanes.rb +1 -1
  174. data/lib/lanes/access/authentication_provider.rb +1 -0
  175. data/lib/lanes/access/config/routes.rb +2 -0
  176. data/lib/lanes/access/config/screens.rb +15 -12
  177. data/lib/lanes/access/extension.rb +2 -1
  178. data/lib/lanes/access/role.rb +8 -4
  179. data/lib/lanes/api.rb +4 -3
  180. data/lib/lanes/api/coffeescript_processor.rb +47 -6
  181. data/lib/lanes/api/controller.rb +4 -3
  182. data/lib/lanes/api/default_routes.rb +16 -0
  183. data/lib/lanes/api/javascript_processor.rb +14 -68
  184. data/lib/lanes/api/pub_sub.rb +17 -3
  185. data/lib/lanes/api/request_wrapper.rb +2 -2
  186. data/lib/lanes/api/root.rb +16 -13
  187. data/lib/lanes/api/routing.rb +0 -18
  188. data/lib/lanes/api/sprockets_extension.rb +10 -4
  189. data/lib/lanes/api/test_specs.rb +3 -3
  190. data/lib/lanes/cli.rb +6 -1
  191. data/lib/lanes/command/app.rb +7 -11
  192. data/lib/lanes/command/generate.rb +3 -3
  193. data/lib/lanes/command/generate_component.rb +28 -0
  194. data/lib/lanes/command/generate_component.usage +11 -0
  195. data/lib/lanes/command/generate_screen.rb +24 -7
  196. data/lib/lanes/command/generate_screen.usage +5 -8
  197. data/lib/lanes/configuration.rb +3 -2
  198. data/lib/lanes/extension.rb +12 -18
  199. data/lib/lanes/extension/definition.rb +20 -8
  200. data/lib/lanes/guard_tasks.rb +22 -5
  201. data/lib/lanes/hot_reload_plugin.rb +47 -0
  202. data/lib/lanes/logger.rb +41 -5
  203. data/lib/lanes/screen.rb +40 -16
  204. data/lib/lanes/spec_helper.rb +6 -3
  205. data/lib/lanes/version.rb +1 -1
  206. data/lib/lanes/workspace/extension.rb +1 -0
  207. data/npm-build/{template.js → base.js} +17 -17
  208. data/{client/lanes/workspace/tab.html → npm-build/common.js} +0 -0
  209. data/npm-build/compile.coffee +13 -4
  210. data/npm-build/development.js +7 -0
  211. data/npm-build/grid.js +11 -0
  212. data/npm-build/package.json +62 -58
  213. data/npm-build/react-widgets.js +5 -0
  214. data/npm-build/react-widgets.less +35 -0
  215. data/npm-build/webpack.config.js +39 -0
  216. data/spec/command-reference-files/component/client/appy-app/components/Big.cjsx +4 -0
  217. data/spec/command-reference-files/component/spec/appy-app/components/BigSpec.coffee +5 -0
  218. data/spec/command-reference-files/initial/.rubocop.yml +7 -0
  219. data/spec/command-reference-files/initial/Gemfile +1 -1
  220. data/spec/command-reference-files/initial/client/appy-app/Extension.coffee +17 -5
  221. data/spec/command-reference-files/initial/client/appy-app/components/Base.coffee +9 -0
  222. data/spec/command-reference-files/initial/client/appy-app/index.js +1 -3
  223. data/spec/command-reference-files/initial/client/appy-app/screens/Base.coffee +8 -2
  224. data/spec/command-reference-files/initial/coffeelint.json +49 -0
  225. data/spec/command-reference-files/initial/config.ru +2 -0
  226. data/spec/command-reference-files/initial/config/screens.rb +10 -0
  227. data/spec/command-reference-files/initial/lib/appy-app/extension.rb +7 -0
  228. data/spec/command-reference-files/model/client/appy-app/models/TestTest.coffee +0 -1
  229. data/spec/command-reference-files/screen/client/appy-app/Extension.coffee +34 -0
  230. data/spec/command-reference-files/screen/client/appy-app/screens/ready-set-go/ReadySetGo.cjsx +7 -0
  231. data/spec/command-reference-files/screen/config/screens.rb +19 -9
  232. data/spec/command-reference-files/screen/spec/appy-app/screens/ready-set-go/ReadySetGoSpec.coffee +3 -3
  233. data/spec/lanes/components/grid/GridSpec.coffee +26 -26
  234. data/spec/lanes/models/AssociationMapSpec.coffee +6 -6
  235. data/spec/lanes/models/BaseSpec.coffee +24 -35
  236. data/spec/lanes/models/CollectionSpec.coffee +19 -18
  237. data/spec/lanes/models/EnumMapSpec.coffee +1 -1
  238. data/spec/lanes/models/PubSubSpec.coffee +17 -15
  239. data/spec/lanes/models/SyncSpec.coffee +28 -0
  240. data/spec/lanes/models/UserSpec.coffee +17 -0
  241. data/spec/lanes/react/mixins/DataSpec.coffee +72 -0
  242. data/spec/lanes/screens/DefinitionsSpec.coffee +33 -0
  243. data/spec/lanes/views/BaseSpec.coffee +133 -133
  244. data/spec/lanes/views/FormBindingsSpec.coffee +30 -30
  245. data/spec/server/api/coffeescript_processor_spec.rb +2 -2
  246. data/spec/server/command_spec.rb +3 -3
  247. data/templates/client/Extension.coffee +17 -5
  248. data/templates/client/components/BaseComponent.coffee +9 -0
  249. data/templates/client/components/Component.cjsx +4 -0
  250. data/templates/client/{views → components}/template.html +0 -0
  251. data/templates/client/index.js +1 -3
  252. data/templates/client/models/Model.coffee +0 -1
  253. data/templates/client/screens/BaseScreen.coffee +9 -0
  254. data/templates/client/screens/Screen.cjsx +7 -0
  255. data/templates/config.ru +2 -0
  256. data/templates/config/screen.rb +10 -10
  257. data/templates/config/screens.rb +10 -0
  258. data/templates/lib/namespace/extension.rb +7 -0
  259. data/templates/spec/client/Screen.coffee +4 -4
  260. data/templates/spec/client/components/ComponentSpec.coffee +5 -0
  261. metadata +157 -201
  262. data/client/fonts/lanes/icomoon.eot +0 -0
  263. data/client/fonts/lanes/icomoon.svg +0 -160
  264. data/client/fonts/lanes/icomoon.ttf +0 -0
  265. data/client/fonts/lanes/icomoon.woff +0 -0
  266. data/client/fonts/lanes/selection.json +0 -3565
  267. data/client/lanes/Boot.coffee +0 -50
  268. data/client/lanes/access/LoginDialog.coffee +0 -46
  269. data/client/lanes/access/login-dialog.html +0 -16
  270. data/client/lanes/access/screens/user-management/GridUserEditor.coffee +0 -26
  271. data/client/lanes/access/screens/user-management/UserManagement.coffee +0 -23
  272. data/client/lanes/access/screens/user-management/grid-popover-editor.html +0 -33
  273. data/client/lanes/access/screens/user-management/screen.html +0 -7
  274. data/client/lanes/components/Base.coffee +0 -39
  275. data/client/lanes/components/ChoicesInput.coffee +0 -47
  276. data/client/lanes/components/grid/Editor.coffee +0 -62
  277. data/client/lanes/components/grid/Grid.coffee +0 -205
  278. data/client/lanes/components/grid/PopOverEditor.coffee +0 -29
  279. data/client/lanes/components/grid/RowEditor.coffee +0 -30
  280. data/client/lanes/components/grid/popover-editor.html +0 -18
  281. data/client/lanes/components/grid/row-editor.html +0 -16
  282. data/client/lanes/components/grid/template.html +0 -4
  283. data/client/lanes/components/grid/vendor/dataTables.scroller.js +0 -1262
  284. data/client/lanes/components/grid/vendor/index.js +0 -2
  285. data/client/lanes/components/grid/vendor/jquery.dataTables.js +0 -14839
  286. data/client/lanes/components/modal/ModalDialog.coffee +0 -68
  287. data/client/lanes/components/modal/template.html +0 -18
  288. data/client/lanes/components/multi-select/MultiSelect.coffee +0 -65
  289. data/client/lanes/components/popover/PopOver.coffee +0 -55
  290. data/client/lanes/components/popover/index.js +0 -2
  291. data/client/lanes/components/popover/styles.scss +0 -2
  292. data/client/lanes/components/popover/template.html +0 -5
  293. data/client/lanes/components/radio-group/RadioGroup.coffee +0 -47
  294. data/client/lanes/components/radio-group/index.js +0 -1
  295. data/client/lanes/components/radio-group/styles.scss +0 -1
  296. data/client/lanes/components/record-finder/Clause.coffee +0 -37
  297. data/client/lanes/components/record-finder/Dialog.coffee +0 -45
  298. data/client/lanes/components/record-finder/RecordFinder.coffee +0 -61
  299. data/client/lanes/components/record-finder/clause.html +0 -37
  300. data/client/lanes/components/record-finder/dialog.html +0 -4
  301. data/client/lanes/components/record-finder/field.html +0 -8
  302. data/client/lanes/components/select-field/SelectField.coffee +0 -63
  303. data/client/lanes/components/select2/Select2.coffee +0 -8
  304. data/client/lanes/components/select2/index.js +0 -2
  305. data/client/lanes/lib/Templates.coffee +0 -51
  306. data/client/lanes/lib/debounce.coffee +0 -15
  307. data/client/lanes/lib/defer.coffee +0 -7
  308. data/client/lanes/lib/el.js +0 -115
  309. data/client/lanes/lib/index.js +0 -5
  310. data/client/lanes/plugins/overlay.coffee +0 -41
  311. data/client/lanes/screens/Base.coffee +0 -35
  312. data/client/lanes/screens/Router.coffee +0 -4
  313. data/client/lanes/screens/mixins/Editing.coffee +0 -38
  314. data/client/lanes/styles/bootstrap/old/_alerts.scss +0 -68
  315. data/client/lanes/styles/bootstrap/old/_badges.scss +0 -57
  316. data/client/lanes/styles/bootstrap/old/_breadcrumbs.scss +0 -26
  317. data/client/lanes/styles/bootstrap/old/_button-groups.scss +0 -240
  318. data/client/lanes/styles/bootstrap/old/_buttons.scss +0 -157
  319. data/client/lanes/styles/bootstrap/old/_carousel.scss +0 -243
  320. data/client/lanes/styles/bootstrap/old/_close.scss +0 -35
  321. data/client/lanes/styles/bootstrap/old/_code.scss +0 -68
  322. data/client/lanes/styles/bootstrap/old/_component-animations.scss +0 -35
  323. data/client/lanes/styles/bootstrap/old/_dropdowns.scss +0 -215
  324. data/client/lanes/styles/bootstrap/old/_forms.scss +0 -538
  325. data/client/lanes/styles/bootstrap/old/_glyphicons.scss +0 -237
  326. data/client/lanes/styles/bootstrap/old/_grid.scss +0 -84
  327. data/client/lanes/styles/bootstrap/old/_input-groups.scss +0 -166
  328. data/client/lanes/styles/bootstrap/old/_jumbotron.scss +0 -48
  329. data/client/lanes/styles/bootstrap/old/_labels.scss +0 -66
  330. data/client/lanes/styles/bootstrap/old/_list-group.scss +0 -132
  331. data/client/lanes/styles/bootstrap/old/_media.scss +0 -56
  332. data/client/lanes/styles/bootstrap/old/_mixins.scss +0 -39
  333. data/client/lanes/styles/bootstrap/old/_modals.scss +0 -150
  334. data/client/lanes/styles/bootstrap/old/_navbar.scss +0 -659
  335. data/client/lanes/styles/bootstrap/old/_navs.scss +0 -242
  336. data/client/lanes/styles/bootstrap/old/_normalize.scss +0 -425
  337. data/client/lanes/styles/bootstrap/old/_pager.scss +0 -55
  338. data/client/lanes/styles/bootstrap/old/_pagination.scss +0 -88
  339. data/client/lanes/styles/bootstrap/old/_panels.scss +0 -243
  340. data/client/lanes/styles/bootstrap/old/_popovers.scss +0 -133
  341. data/client/lanes/styles/bootstrap/old/_print.scss +0 -101
  342. data/client/lanes/styles/bootstrap/old/_progress-bars.scss +0 -105
  343. data/client/lanes/styles/bootstrap/old/_responsive-embed.scss +0 -34
  344. data/client/lanes/styles/bootstrap/old/_responsive-utilities.scss +0 -174
  345. data/client/lanes/styles/bootstrap/old/_scaffolding.scss +0 -150
  346. data/client/lanes/styles/bootstrap/old/_tables.scss +0 -233
  347. data/client/lanes/styles/bootstrap/old/_theme.scss +0 -258
  348. data/client/lanes/styles/bootstrap/old/_thumbnails.scss +0 -38
  349. data/client/lanes/styles/bootstrap/old/_tooltip.scss +0 -95
  350. data/client/lanes/styles/bootstrap/old/_type.scss +0 -304
  351. data/client/lanes/styles/bootstrap/old/_utilities.scss +0 -57
  352. data/client/lanes/styles/bootstrap/old/_variables.scss +0 -850
  353. data/client/lanes/styles/bootstrap/old/_wells.scss +0 -29
  354. data/client/lanes/styles/bootstrap/old/bootstrap.scss +0 -50
  355. data/client/lanes/styles/bootstrap/old/mixins/_alerts.scss +0 -14
  356. data/client/lanes/styles/bootstrap/old/mixins/_background-variant.scss +0 -11
  357. data/client/lanes/styles/bootstrap/old/mixins/_border-radius.scss +0 -18
  358. data/client/lanes/styles/bootstrap/old/mixins/_buttons.scss +0 -50
  359. data/client/lanes/styles/bootstrap/old/mixins/_center-block.scss +0 -7
  360. data/client/lanes/styles/bootstrap/old/mixins/_clearfix.scss +0 -22
  361. data/client/lanes/styles/bootstrap/old/mixins/_forms.scss +0 -84
  362. data/client/lanes/styles/bootstrap/old/mixins/_gradients.scss +0 -58
  363. data/client/lanes/styles/bootstrap/old/mixins/_grid-framework.scss +0 -81
  364. data/client/lanes/styles/bootstrap/old/mixins/_grid.scss +0 -122
  365. data/client/lanes/styles/bootstrap/old/mixins/_hide-text.scss +0 -21
  366. data/client/lanes/styles/bootstrap/old/mixins/_image.scss +0 -34
  367. data/client/lanes/styles/bootstrap/old/mixins/_labels.scss +0 -12
  368. data/client/lanes/styles/bootstrap/old/mixins/_list-group.scss +0 -31
  369. data/client/lanes/styles/bootstrap/old/mixins/_nav-divider.scss +0 -10
  370. data/client/lanes/styles/bootstrap/old/mixins/_nav-vertical-align.scss +0 -9
  371. data/client/lanes/styles/bootstrap/old/mixins/_opacity.scss +0 -8
  372. data/client/lanes/styles/bootstrap/old/mixins/_pagination.scss +0 -23
  373. data/client/lanes/styles/bootstrap/old/mixins/_panels.scss +0 -24
  374. data/client/lanes/styles/bootstrap/old/mixins/_progress-bar.scss +0 -10
  375. data/client/lanes/styles/bootstrap/old/mixins/_reset-filter.scss +0 -8
  376. data/client/lanes/styles/bootstrap/old/mixins/_resize.scss +0 -6
  377. data/client/lanes/styles/bootstrap/old/mixins/_responsive-visibility.scss +0 -21
  378. data/client/lanes/styles/bootstrap/old/mixins/_size.scss +0 -10
  379. data/client/lanes/styles/bootstrap/old/mixins/_tab-focus.scss +0 -9
  380. data/client/lanes/styles/bootstrap/old/mixins/_table-row.scss +0 -28
  381. data/client/lanes/styles/bootstrap/old/mixins/_text-emphasis.scss +0 -11
  382. data/client/lanes/styles/bootstrap/old/mixins/_text-overflow.scss +0 -8
  383. data/client/lanes/styles/bootstrap/old/mixins/_vendor-prefixes.scss +0 -219
  384. data/client/lanes/styles/font-definitions.scss +0 -451
  385. data/client/lanes/testing/TestModels.coffee +0 -23
  386. data/client/lanes/vendor/bootstrap/affix.js +0 -162
  387. data/client/lanes/vendor/bootstrap/alert.js +0 -94
  388. data/client/lanes/vendor/bootstrap/button.js +0 -116
  389. data/client/lanes/vendor/bootstrap/carousel.js +0 -240
  390. data/client/lanes/vendor/bootstrap/collapse.js +0 -211
  391. data/client/lanes/vendor/bootstrap/dropdown.js +0 -161
  392. data/client/lanes/vendor/bootstrap/modal.js +0 -324
  393. data/client/lanes/vendor/bootstrap/popover.js +0 -119
  394. data/client/lanes/vendor/bootstrap/scrollspy.js +0 -175
  395. data/client/lanes/vendor/bootstrap/tab.js +0 -153
  396. data/client/lanes/vendor/bootstrap/tooltip.js +0 -478
  397. data/client/lanes/vendor/bootstrap/transition.js +0 -59
  398. data/client/lanes/vendor/message-bus.js +0 -285
  399. data/client/lanes/vendor/modern-stack.js +0 -27
  400. data/client/lanes/vendor/packaged.js +0 -19533
  401. data/client/lanes/views/Assets.coffee +0 -9
  402. data/client/lanes/views/Base.coffee +0 -426
  403. data/client/lanes/views/Functions.coffee +0 -13
  404. data/client/lanes/views/Helpers.coffee +0 -76
  405. data/client/lanes/views/Keys.coffee +0 -59
  406. data/client/lanes/views/RenderContext.coffee +0 -32
  407. data/client/lanes/views/SaveNotify.coffee +0 -32
  408. data/client/lanes/views/Viewport.coffee +0 -18
  409. data/client/lanes/views/_button.html +0 -3
  410. data/client/lanes/views/_toolbar.html +0 -23
  411. data/client/lanes/views/empty-span.html +0 -1
  412. data/client/lanes/views/index.js +0 -2
  413. data/client/lanes/views/model-update.html +0 -15
  414. data/client/lanes/workspace/ActiveScreensSwitcher.coffee +0 -112
  415. data/client/lanes/workspace/Layout.coffee +0 -29
  416. data/client/lanes/workspace/Navbar.coffee +0 -31
  417. data/client/lanes/workspace/Pages.coffee +0 -39
  418. data/client/lanes/workspace/ScreensMenu.coffee +0 -126
  419. data/client/lanes/workspace/WorkspaceView.coffee +0 -8
  420. data/client/lanes/workspace/layout.html +0 -4
  421. data/client/lanes/workspace/menu.html +0 -356
  422. data/client/lanes/workspace/menu_toggle.html +0 -9
  423. data/client/lanes/workspace/navbar.html +0 -17
  424. data/client/lanes/workspace/pages.html +0 -6
  425. data/client/lanes/workspace/screens-menu.html +0 -11
  426. data/client/lanes/workspace/screens-switcher.html +0 -7
  427. data/docs/view.md +0 -292
  428. data/lib/lanes/command/generate_view.rb +0 -38
  429. data/lib/lanes/command/generate_view.usage +0 -13
  430. data/spec/command-reference-files/initial/client/appy-app/Router.coffee +0 -4
  431. data/spec/command-reference-files/initial/client/appy-app/controllers/.gitkeep +0 -0
  432. data/spec/command-reference-files/initial/client/appy-app/views/.gitkeep +0 -0
  433. data/spec/command-reference-files/initial/client/appy-app/views/Base.coffee +0 -5
  434. data/spec/command-reference-files/initial/spec/appy-app/screens/Base.coffee +0 -5
  435. data/spec/command-reference-files/screen/client/appy-app/screens/ready-set-go/ReadySetGo.coffee +0 -6
  436. data/spec/command-reference-files/screen/client/appy-app/screens/ready-set-go/layout.html +0 -3
  437. data/spec/command-reference-files/view/client/appy-app/views/BigView.coffee +0 -10
  438. data/spec/command-reference-files/view/spec/appy-app/views/BigViewSpec.coffee +0 -5
  439. data/templates/client/Router.coffee +0 -4
  440. data/templates/client/components/Component.coffee +0 -1
  441. data/templates/client/screens/Base.coffee +0 -3
  442. data/templates/client/screens/Screen.coffee +0 -11
  443. data/templates/client/screens/layout.html +0 -3
  444. data/templates/client/views/.gitkeep +0 -0
  445. data/templates/client/views/BaseView.coffee +0 -5
  446. data/templates/client/views/View.coffee +0 -10
  447. data/templates/spec/client/views/ViewSpec.coffee +0 -5
@@ -1,4 +0,0 @@
1
- <div class="form-horizontal query-clauses" data-hook="form">
2
- </div>
3
- <div class="grid" data-hook="grid">
4
- </div>
@@ -1,8 +0,0 @@
1
- <div class="input-group">
2
- <input type="text" name="<%= @fieldName %>" class="form-control record-finder-query-string">
3
- <span class="input-group-btn">
4
- <button type="button" class="btn btn-default record-finder-query">
5
- <i class="icon-search"></i>
6
- </button>
7
- </span>
8
- </div>
@@ -1,63 +0,0 @@
1
- #= require ../multi-select/MultiSelect
2
-
3
- class SelectOption extends Lanes.Views.Base
4
- template: (scope)->
5
- '<option></option>'
6
-
7
- constructor: (options)->
8
- @groupName=options.groupName
9
- m = options.mappings
10
- @bindings = {}
11
- @bindings["model.#{m.id}"] = { type: 'value', selector: 'option' }
12
- @bindings["model.#{m.selected}"] = { type: 'booleanAttribute', selector: 'option', name:'selected' }
13
- @bindings["model.#{m.title}"] = 'option'
14
- @bindings["model.#{m.visible}"] = { type: 'toggle' } if m.visible
15
- super
16
-
17
-
18
- class Lanes.Components.SelectField extends Lanes.Components.MultiSelect
19
-
20
- subviews:
21
- fields:
22
- hook: 'choices-input'
23
- collection: 'selections'
24
- options: 'subViewOptions'
25
- view: SelectOption
26
-
27
- session:
28
- multiple: { type: 'boolean', default: false }
29
-
30
- subViewOptions: ->
31
- { field_name: @field_name, mappings: @mappings }
32
-
33
- ui:
34
- select: 'select'
35
-
36
- domEvents:
37
- 'change' : 'onSelectChange'
38
-
39
- onSelectChange: (ev)->
40
- if @model && @association
41
- selection = this.selectionForID(parseInt(this.ui.select.val()))
42
- @model.set(@association, selection) if selection
43
-
44
- writeTemplate: ->
45
- multiple = if this.multiple then "multiple" else ""
46
- "<div><select class='form-control' #{multiple} name='#{this.field_name}' data-hook='choices-input'></select></div>"
47
-
48
- readTemplate: ->
49
- "<div class='ro-input' name='#{this.field_name}'></div>"
50
-
51
- select: (option)->
52
- if this.readOnly
53
- this.$el.text( if option then option[@mappings.title] else "" )
54
- else if option
55
- id = option.get(@mappings.id)
56
- option = this.query("option[value=\"#{id}\"]")
57
- if option
58
- if option.selected
59
- this.onSelectChange() # force event to fire
60
- else
61
- option.selected = true
62
- else
63
- this.unSelectAll()
@@ -1,8 +0,0 @@
1
- class Lanes.Components.Select2 extends Lanes.Components.Base
2
-
3
- writeTemplate: ->
4
- multiple = if this.multiple then "multiple" else ""
5
- "<div><select class='form-control' #{multiple} name='#{this.field_name}' data-hook='choices-input'></select></div>"
6
-
7
- readTemplate: ->
8
- "<div class='ro-input' name='#{this.field_name}'></div>"
@@ -1,2 +0,0 @@
1
- //= require ./template
2
- //= require ./Select2
@@ -1,51 +0,0 @@
1
- ns2path = (ns)->
2
- ns.replace(".","/").toLowerCase()
3
-
4
- Lanes.Templates.find = (name, namespace) ->
5
- return Lanes.Templates[name] if Lanes.Templates[name]
6
- if namespace?
7
- Lanes.Templates[ ns2path(namespace) + "/" + name]
8
- else
9
- null
10
-
11
- Lanes.Templates.render = (view, name, data)->
12
- template_fn = Lanes.Templates.find(name, view.FILE.extensionName)
13
- if template_fn
14
- template_fn( data )
15
- else
16
- null
17
-
18
- # scribbed from eco's compiler.coffee
19
- # we include the functions here rather than on every single template
20
- Lanes.Templates.Wrapper = {
21
-
22
- sanitize: (value) ->
23
- if value and value.HTMLSafe
24
- value
25
- else if typeof value isnt "undefined" and value?
26
- Lanes.Templates.Wrapper.escape value
27
- else
28
- ""
29
-
30
- capture: (__out) ->
31
- (callback) ->
32
- out = __out
33
- result = undefined
34
- __out = []
35
- callback.call this
36
- result = __out.join("")
37
- __out = out
38
- __safe result
39
-
40
- escape: _.escape
41
-
42
- safe: (value) ->
43
- if value and value.HTMLSafe
44
- value
45
- else
46
- value = "" unless typeof value isnt "undefined" and value?
47
- result = new String(value)
48
- result.HTMLSafe = true
49
- result
50
-
51
- }
@@ -1,15 +0,0 @@
1
-
2
- Lanes.lib.debounce = {
3
- debounce: (fn, options={})->
4
- options.scope ||= this
5
- options.delay ||= 250
6
- _.debounce( ->
7
- fn.apply(options.scope, (options.arguments||[]).concat(arguments...))
8
- , options.delay )
9
-
10
- debounceMethod: (method,options)->
11
- original = this[method]
12
- this[method] = @debounce( ->
13
- original.apply(this, arguments)
14
- ,options)
15
- }
@@ -1,7 +0,0 @@
1
- Lanes.lib.defer = {
2
- defer: (fn, options={})->
3
- scope = options.scope || this
4
- _.delay( ->
5
- fn.apply(scope,options.arguments)
6
- ,options.delay||1)
7
- }
@@ -1,115 +0,0 @@
1
- /**
2
- * el.js v0.3 - A JavaScript Node Creation Tool
3
- *
4
- * https://github.com/markgandolfo/el.js
5
- *
6
- * Copyright 2013 Mark Gandolfo and other contributors
7
- * Released under the MIT license.
8
- * http://en.wikipedia.org/wiki/MIT_License
9
- */
10
- _.el = (function () {
11
- var el = function(tagName, attrs, child) {
12
- // Pattern to match id & class names
13
- var pattern = /([a-z]+|#[\w-\d]+|\.[\w\d-]+)/g;
14
-
15
- if(arguments.length === 2) {
16
- if(attrs instanceof Array || typeof attrs === 'function' || typeof attrs === 'string' || attrs.constructor !== Object) {
17
- child = attrs;
18
- attrs = undefined;
19
- }
20
- }
21
-
22
- // does the user pass attributes in, if not set an empty object up
23
- attrs = typeof attrs !== 'undefined' ? attrs : {};
24
- child = typeof child !== 'undefined' ? child : [];
25
- child = child instanceof Array ? child : [child];
26
-
27
- // run the pattern over the tagname in an attempt to pull out class & id attributes
28
- // shift the first record out as it's the element name
29
- matched = tagName.match(pattern);
30
- tagName = matched[0];
31
- matched.shift();
32
-
33
- // Iterate over the matches and concat the attrs to either class or id keys in attrs json object
34
- for (var m in matched) {
35
- if(matched[m][0] == '.') {
36
- if(attrs['class'] === undefined) {
37
- attrs['class'] = matched[m].substring(1, matched[m].length);
38
- } else {
39
- attrs['class'] = attrs['class'] + ' ' + matched[m].substring(1, matched[m].length);
40
- }
41
- } else if(matched[m][0] == '#') {
42
- if(attrs['id'] === undefined) {
43
- attrs['id'] = matched[m].substring(1, matched[m].length);
44
- } else {
45
- // Feels dirty having multiple id's, but it's allowed: http://www.w3.org/TR/selectors/#id-selectors
46
- attrs['id'] = attrs['id'] + ' ' + matched[m].substring(1, matched[m].length);
47
- }
48
- }
49
- }
50
-
51
- // create the element
52
- var el = document.createElement(tagName);
53
- for(var i = 0; i < child.length; i += 1) {
54
- (function(child){
55
- switch(typeof child) {
56
- case 'object':
57
- el.appendChild(child);
58
- break;
59
- case 'function':
60
- var discardDoneCallbackResult = false;
61
- var doneCallback = function doneCallback(content) {
62
- if (!discardDoneCallbackResult) {
63
- el.appendChild(content);
64
- }
65
- };
66
- var result = child.apply(null, [doneCallback]);
67
- if(typeof result != 'undefined') {
68
- discardDoneCallbackResult = true;
69
- el.appendChild(result);
70
- }
71
- break;
72
- case 'string':
73
- el.appendChild(document.createTextNode(child));
74
- break;
75
- default:
76
- //???
77
- }
78
- }(child[i]));
79
- }
80
-
81
- for (var key in attrs) {
82
- if (attrs.hasOwnProperty(key)) {
83
- el.setAttribute(key, attrs[key]);
84
- }
85
- }
86
-
87
- return el;
88
- };
89
-
90
- // alias
91
- el.create = el.c = el;
92
-
93
- // vanity methods
94
- el.img = function(attrs) {
95
- return this.create('img', attrs);
96
- };
97
-
98
- el.a = function(attrs, child) {
99
- return this.create('a', attrs, child);
100
- };
101
-
102
- el.div = function(attrs, child) {
103
- return this.create('div', attrs, child);
104
- };
105
-
106
- el.p = function(attrs, child) {
107
- return this.create('p', attrs, child);
108
- };
109
-
110
- el.input = function(attrs, child) {
111
- return this.create('input', attrs);
112
- };
113
-
114
- return el;
115
- }());
@@ -1,5 +0,0 @@
1
- //= require ./noConflict
2
- //= require ./namespace
3
- //= require ./utilFunctions
4
- //= require ./ModuleSupport
5
- //= require_tree .
@@ -1,41 +0,0 @@
1
-
2
- Lanes.$.fn.overlay = (options={})->
3
-
4
- return this.each ->
5
- $this = Lanes.$(this)
6
- data = $this.data();
7
-
8
- if 'showing' == options
9
- return !!data.spinner
10
-
11
- if false == options
12
- data.overlay.remove()
13
- delete data.overlay
14
- return
15
-
16
- options={ msg: options } if _.isString(options)
17
- root = $this.closest(".lanes.root")
18
- unless data.overlay
19
- el = Lanes.$("""
20
- <div class='overlay'>
21
- <div class='mask'></div>
22
- <div class='message'><i></i><p></p></div>
23
- </div>
24
- """)
25
- root.append(el)
26
- position = $this.offset()
27
- root_position = root.offset()
28
- position.left -= root_position.left
29
- position.top -= root_position.top
30
- data.overlay = el.css({
31
- height: $this.height(), width: $this.width(),
32
- left: position.left, top: position.top
33
- })
34
- message = data.overlay.find('.message')
35
- icon = message.find('i')
36
- icon.css('color', options.color) if options.color
37
- icon.attr('class', options.icon) if options.icon
38
- if options.msg
39
- message.find('p').text(options.msg)
40
- message.toggleClass('short', options.msg.length < 25 )
41
- $this
@@ -1,35 +0,0 @@
1
- #= require ./ChangeListener
2
-
3
- class ScreenBase
4
-
5
- abstractClass: true
6
-
7
- constructor: ->
8
- super
9
-
10
- mixins:[
11
- Lanes.Screens.ChangeListener
12
- ]
13
- formBindings: true
14
- reset: Lanes.emptyFn
15
-
16
- templateName: 'layout'
17
-
18
- render: ->
19
- previouslyRendered = this.rendered
20
- Lanes.Views.RenderContext.start(this)
21
- # Here we cheat and skip ViewBase so it doesn't push to context
22
- this.reset()
23
- this.renderContextFree()
24
- #Lanes.Views.Base.__super__.render.apply(this, arguments)
25
- this.renderAllSubviews() if previouslyRendered
26
- Lanes.Views.RenderContext.reset()
27
- this
28
-
29
- addButton: (config, align='left')->
30
- this.$(".toolbar ." + align).append( Lanes.Views.Helpers.button(config) )
31
-
32
-
33
- # By doing extending in this fashion, the class will appear as ScreenBase
34
- # during debugging, allowing it to be easily identified
35
- Lanes.Screens.Base = Lanes.Views.Base.extend( ScreenBase )
@@ -1,4 +0,0 @@
1
- class Router
2
- constructor: -> super
3
-
4
- Lanes.Screens.Router = Lanes.lib.MakeBaseClass( Lanes.Vendor.Ampersand.Router, Router )
@@ -1,38 +0,0 @@
1
- Lanes.Screens.Mixins.Editing = {
2
-
3
- included: (klass)->
4
- klass::domEvents ||= {}
5
- _.extend(klass::domEvents,{
6
- 'click .btn.save': 'saveRecord'
7
- 'click .btn.reset': 'resetRecord'
8
- 'display-record': 'onRecordTrigger'
9
- })
10
-
11
- klass::subviews ||= {}
12
- _.extend(klass::subviews,{
13
- finder: {
14
- component: 'RecordFinder'
15
- options: 'finderOptions'
16
- model: 'model'
17
- }
18
- })
19
-
20
- onRecordTrigger: (ev, model)->
21
- this.model = model
22
-
23
- resetRecord: ->
24
- options = _.result(this,'finderOptions')
25
- if options?.modelClass?
26
- this.model = new options.modelClass
27
-
28
- saveRecord: ->
29
- finder_options = _.result(this,'finderOptions')
30
- this.persistChanges?()
31
- options={}
32
- if finder_options?.withAssociations
33
- options.include = finder_options?.withAssociations
34
- Lanes.Views.SaveNotify(this,options)
35
-
36
- initialize: ->
37
- this.resetRecord()
38
- }
@@ -1,68 +0,0 @@
1
- //
2
- // Alerts
3
- // --------------------------------------------------
4
-
5
-
6
- // Base styles
7
- // -------------------------
8
-
9
- .alert {
10
- padding: $alert-padding;
11
- margin-bottom: $line-height-computed;
12
- border: 1px solid transparent;
13
- border-radius: $alert-border-radius;
14
-
15
- // Headings for larger alerts
16
- h4 {
17
- margin-top: 0;
18
- // Specified for the h4 to prevent conflicts of changing $headings-color
19
- color: inherit;
20
- }
21
- // Provide class for links that match alerts
22
- .alert-link {
23
- font-weight: $alert-link-font-weight;
24
- }
25
-
26
- // Improve alignment and spacing of inner content
27
- > p,
28
- > ul {
29
- margin-bottom: 0;
30
- }
31
- > p + p {
32
- margin-top: 5px;
33
- }
34
- }
35
-
36
- // Dismissible alerts
37
- //
38
- // Expand the right padding and account for the close button's positioning.
39
-
40
- .alert-dismissable, // The misspelled .alert-dismissable was deprecated in 3.2.0.
41
- .alert-dismissible {
42
- padding-right: ($alert-padding + 20);
43
-
44
- // Adjust close link position
45
- .close {
46
- position: relative;
47
- top: -2px;
48
- right: -21px;
49
- color: inherit;
50
- }
51
- }
52
-
53
- // Alternate styles
54
- //
55
- // Generate contextual modifier classes for colorizing the alert.
56
-
57
- .alert-success {
58
- @include alert-variant($alert-success-bg, $alert-success-border, $alert-success-text);
59
- }
60
- .alert-info {
61
- @include alert-variant($alert-info-bg, $alert-info-border, $alert-info-text);
62
- }
63
- .alert-warning {
64
- @include alert-variant($alert-warning-bg, $alert-warning-border, $alert-warning-text);
65
- }
66
- .alert-danger {
67
- @include alert-variant($alert-danger-bg, $alert-danger-border, $alert-danger-text);
68
- }