lanes 0.0.3 → 0.0.5

Sign up to get free protection for your applications and to get access to all the features.
Files changed (446) hide show
  1. checksums.yaml +4 -4
  2. data/.gitignore +1 -0
  3. data/Gemfile +1 -1
  4. data/Rakefile +0 -42
  5. data/client/{javascripts/component → lanes/components}/Base.coffee +10 -10
  6. data/client/{javascripts/component → lanes/components}/ChoicesInput.coffee +0 -0
  7. data/client/lanes/components/enabled.js.erb +3 -0
  8. data/client/{javascripts/lib/create-namespace.js → lanes/components/enabled.scss.erb} +0 -0
  9. data/client/{javascripts/component → lanes/components}/grid/Editor.coffee +10 -13
  10. data/client/{javascripts/component → lanes/components/grid}/Grid.coffee +6 -6
  11. data/client/{javascripts/component → lanes/components}/grid/PopOverEditor.coffee +3 -3
  12. data/client/{javascripts/component → lanes/components}/grid/RowEditor.coffee +2 -3
  13. data/client/lanes/components/grid/config.json +3 -0
  14. data/client/{stylesheets/compoonents/grid-editors.scss → lanes/components/grid/editors.scss} +0 -0
  15. data/client/{stylesheets/compoonents → lanes/components/grid}/grid.scss +8 -6
  16. data/client/lanes/components/grid/index.js +8 -0
  17. data/client/{javascripts/component → lanes/components}/grid/popover-editor.html +0 -0
  18. data/client/{javascripts/component → lanes/components}/grid/row-editor.html +0 -0
  19. data/client/{javascripts/component/grid.html → lanes/components/grid/template.html} +0 -0
  20. data/client/{javascripts/vendor/dataTables → lanes/components/grid/vendor}/dataTables.bootstrap.js +0 -0
  21. data/client/{javascripts/vendor/dataTables → lanes/components/grid/vendor}/dataTables.scroller.js +0 -0
  22. data/client/{javascripts/vendor/dataTables → lanes/components/grid/vendor}/datatables.responsive.js +0 -0
  23. data/client/{javascripts/vendor/dataTables → lanes/components/grid/vendor}/index.js +0 -0
  24. data/client/{javascripts/vendor/dataTables → lanes/components/grid/vendor}/jquery.dataTables.js +1 -0
  25. data/client/lanes/components/index.js +2 -0
  26. data/client/lanes/components/modal/ModalDialog.coffee +47 -0
  27. data/client/lanes/components/modal/index.js +2 -0
  28. data/client/lanes/components/modal/modal.scss +20 -0
  29. data/client/{javascripts/component/modal.html → lanes/components/modal/template.html} +5 -4
  30. data/client/{javascripts/component → lanes/components/popover}/PopOver.coffee +4 -4
  31. data/client/lanes/components/popover/index.js +2 -0
  32. data/client/lanes/components/popover/popover.scss +1 -0
  33. data/client/{javascripts/component/popover.html → lanes/components/popover/template.html} +0 -0
  34. data/client/{javascripts/component → lanes/components/radio_group}/RadioGroup.coffee +1 -1
  35. data/client/{javascripts/component → lanes/components/record_finder}/RecordFinder.coffee +4 -4
  36. data/client/{javascripts/component/record-finder → lanes/components/record_finder}/clause.skr +0 -0
  37. data/client/{javascripts/component/record-finder → lanes/components/record_finder}/dialog.skr +0 -0
  38. data/client/{javascripts/component/record-finder → lanes/components/record_finder}/field.skr +0 -0
  39. data/client/lanes/components/select_field/SelectField.coffee +87 -0
  40. data/client/{screens/user-management → lanes/components/select_field}/index.js +0 -1
  41. data/client/{javascripts/workspace/tab.html → lanes/components/select_field/select_field.scss} +0 -0
  42. data/client/{javascripts → lanes}/data/Bootstrap.coffee +0 -0
  43. data/client/{javascripts → lanes}/data/ChangeSet.coffee +0 -0
  44. data/client/{javascripts → lanes}/data/Collection.coffee +37 -6
  45. data/client/{javascripts → lanes}/data/Config.coffee +0 -0
  46. data/client/{javascripts → lanes}/data/Model.coffee +8 -9
  47. data/client/{javascripts → lanes}/data/PubSub.coffee +0 -0
  48. data/client/{javascripts → lanes}/data/Query.coffee +0 -0
  49. data/client/{javascripts → lanes}/data/Screens.coffee +48 -19
  50. data/client/{javascripts → lanes}/data/Sync.coffee +5 -5
  51. data/client/lanes/data/User.coffee +46 -0
  52. data/client/{javascripts → lanes}/data/index.js +1 -2
  53. data/client/{javascripts → lanes}/data/mixins/HasCodeField.coffee +1 -1
  54. data/client/{javascripts → lanes}/extension/Base.coffee +1 -1
  55. data/client/lanes/extension/EarlyExtensions.js.erb +3 -0
  56. data/client/{javascripts → lanes}/extension/Extensions.coffee +5 -0
  57. data/client/{javascripts → lanes}/extension/GlAccounts.coffee +0 -0
  58. data/client/lanes/extension/LateLoaded.js.erb +3 -0
  59. data/client/lanes/extension/index.js +5 -0
  60. data/client/lanes/extension/namespace-available.js.erb +3 -0
  61. data/client/lanes/index.js +11 -0
  62. data/client/{javascripts → lanes}/lib/MakeBaseClass.coffee +0 -0
  63. data/client/{javascripts → lanes}/lib/ModuleSupport.coffee +0 -0
  64. data/client/{javascripts → lanes}/lib/Templates.coffee +2 -5
  65. data/{spec/client/foo_spec.js → client/lanes/lib/create-namespace.js} +0 -0
  66. data/client/{javascripts → lanes}/lib/debounce.coffee +0 -0
  67. data/client/{javascripts → lanes}/lib/defer.coffee +0 -0
  68. data/client/{javascripts → lanes}/lib/el.js +0 -0
  69. data/client/{javascripts → lanes}/lib/index.js +0 -4
  70. data/client/{javascripts → lanes}/lib/loader.coffee +15 -10
  71. data/client/{javascripts → lanes}/lib/namespace.coffee +3 -0
  72. data/client/{javascripts → lanes}/lib/noConflict.coffee +1 -0
  73. data/client/{javascripts → lanes}/lib/promise_helpers.coffee +0 -0
  74. data/client/{javascripts → lanes}/lib/results.coffee +0 -0
  75. data/client/{javascripts → lanes}/lib/utilFunctions.coffee +11 -13
  76. data/client/{javascripts → lanes}/plugins/ResizeSensor.js +0 -0
  77. data/client/lanes/plugins/index.js +1 -0
  78. data/client/{javascripts → lanes}/plugins/overlay.coffee +0 -0
  79. data/client/{javascripts → lanes}/plugins/trigger.coffee +0 -0
  80. data/client/lanes/screens/Base.coffee +40 -0
  81. data/client/{javascripts/view/mixins/ScreenChangeListener.coffee → lanes/screens/ChangeListener.coffee} +2 -2
  82. data/client/lanes/screens/Router.coffee +6 -0
  83. data/client/lanes/screens/index.js +1 -0
  84. data/client/{javascripts/view → lanes/screens}/screen-definitions.js.erb +0 -0
  85. data/client/{javascripts → lanes}/vendor/bootstrap/affix.js +43 -23
  86. data/client/{javascripts → lanes}/vendor/bootstrap/alert.js +6 -4
  87. data/client/{javascripts → lanes}/vendor/bootstrap/button.js +16 -10
  88. data/client/{javascripts → lanes}/vendor/bootstrap/carousel.js +27 -10
  89. data/client/{javascripts → lanes}/vendor/bootstrap/collapse.js +69 -28
  90. data/client/{javascripts → lanes}/vendor/bootstrap/dropdown.js +20 -10
  91. data/client/{javascripts → lanes}/vendor/bootstrap/modal.js +67 -23
  92. data/client/{javascripts → lanes}/vendor/bootstrap/popover.js +13 -7
  93. data/client/{javascripts → lanes}/vendor/bootstrap/scrollspy.js +12 -7
  94. data/client/{javascripts → lanes}/vendor/bootstrap/tab.js +41 -16
  95. data/client/{javascripts → lanes}/vendor/bootstrap/tooltip.js +60 -39
  96. data/client/{javascripts → lanes}/vendor/bootstrap/transition.js +1 -1
  97. data/client/{javascripts → lanes}/vendor/jquery-2.js +0 -0
  98. data/client/{javascripts → lanes}/vendor/jquery.tap.js +0 -0
  99. data/client/{javascripts → lanes}/vendor/magicsuggest.js +0 -0
  100. data/client/{javascripts → lanes}/vendor/message-bus.js +0 -0
  101. data/client/lanes/vendor/modern-stack.js +27 -0
  102. data/client/lanes/vendor/packaged.js +13698 -0
  103. data/client/{javascripts/view → lanes/views}/Assets.coffee +1 -1
  104. data/client/lanes/views/Base.coffee +426 -0
  105. data/client/{javascripts/view → lanes/views}/FormBindings.coffee +1 -1
  106. data/client/{javascripts/view → lanes/views}/Functions.coffee +1 -1
  107. data/client/{javascripts/view → lanes/views}/Helpers.coffee +6 -6
  108. data/client/{javascripts/view → lanes/views}/Keys.coffee +3 -3
  109. data/client/{javascripts/view → lanes/views}/ModelObserver.coffee +1 -1
  110. data/client/{javascripts/view → lanes/views}/ModelUpdate.coffee +2 -2
  111. data/client/{javascripts/view → lanes/views}/PubSub.coffee +3 -3
  112. data/client/{javascripts/view → lanes/views}/RenderContext.coffee +1 -1
  113. data/client/{javascripts/view → lanes/views}/SaveNotify.coffee +2 -2
  114. data/client/{javascripts/view → lanes/views}/TimedHighlight.coffee +1 -1
  115. data/client/{javascripts/view → lanes/views}/TimedMask.coffee +1 -1
  116. data/client/{javascripts/view/InterfaceState.coffee → lanes/views/Viewport.coffee} +18 -18
  117. data/client/{javascripts/view → lanes/views}/_button.html +0 -0
  118. data/client/{javascripts/view → lanes/views}/_toolbar.html +0 -0
  119. data/client/lanes/views/index.js +2 -0
  120. data/client/{javascripts/view → lanes/views}/model-update.html +0 -0
  121. data/client/{javascripts → lanes}/workspace/ActiveScreensSwitcher.coffee +23 -27
  122. data/client/{javascripts → lanes}/workspace/Instance.es6 +25 -21
  123. data/client/{javascripts → lanes}/workspace/Layout.coffee +6 -5
  124. data/client/{javascripts → lanes}/workspace/Navbar.coffee +2 -2
  125. data/client/{javascripts → lanes}/workspace/Pages.coffee +9 -13
  126. data/client/{javascripts → lanes}/workspace/ScreensMenu.coffee +11 -11
  127. data/client/{javascripts → lanes}/workspace/index.js +7 -5
  128. data/client/{javascripts → lanes}/workspace/layout.html +0 -0
  129. data/client/{javascripts → lanes}/workspace/menu.html +0 -0
  130. data/client/{javascripts → lanes}/workspace/menu_toggle.html +0 -0
  131. data/client/{javascripts → lanes}/workspace/navbar.html +0 -0
  132. data/client/{javascripts → lanes}/workspace/pages.html +0 -0
  133. data/client/{javascripts → lanes}/workspace/screens-menu.html +0 -0
  134. data/client/{javascripts → lanes}/workspace/screens-switcher.html +0 -0
  135. data/client/lanes/workspace/tab.html +0 -0
  136. data/client/lanes/workspace.scss.erb +21 -0
  137. data/client/{javascripts/lanes-complete.js → lanes-complete.js} +0 -0
  138. data/client/lanes-workspace.scss.erb +21 -0
  139. data/client/{stylesheets/compoonents → styles/components}/all.scss +0 -0
  140. data/client/{stylesheets/compoonents → styles/components}/changes-notification.scss +0 -0
  141. data/client/{stylesheets/compoonents → styles/components}/record-finder.scss +0 -0
  142. data/client/{stylesheets/compoonents → styles/components}/suggest.scss +0 -0
  143. data/client/{stylesheets → styles}/fonts/icomoon.eot +0 -0
  144. data/client/{stylesheets → styles}/fonts/icomoon.svg +0 -0
  145. data/client/{stylesheets → styles}/fonts/icomoon.ttf +0 -0
  146. data/client/{stylesheets → styles}/fonts/icomoon.woff +0 -0
  147. data/client/{stylesheets → styles}/fonts/selection.json +0 -0
  148. data/client/{stylesheets/fonts/style.css → styles/fonts/style.scss} +0 -0
  149. data/client/{stylesheets → styles}/fonts.scss +6 -6
  150. data/client/{stylesheets → styles}/forms.scss +0 -0
  151. data/client/{stylesheets → styles}/index.css +0 -0
  152. data/client/{stylesheets → styles}/keybindings.scss +0 -0
  153. data/client/{stylesheets → styles}/layout.scss +1 -1
  154. data/client/{stylesheets → styles}/plugins/all.scss +0 -0
  155. data/client/{stylesheets → styles}/plugins/overlay.scss +1 -1
  156. data/client/{stylesheets → styles}/plugins/resize-sensor.scss +0 -0
  157. data/client/{stylesheets → styles}/screens.scss +0 -0
  158. data/client/{stylesheets → styles}/tabs.scss +0 -0
  159. data/client/{stylesheets → styles}/vendor/bootstrap/_alerts.scss +0 -0
  160. data/client/styles/vendor/bootstrap/_badges.scss +63 -0
  161. data/client/{stylesheets → styles}/vendor/bootstrap/_breadcrumbs.scss +0 -0
  162. data/client/styles/vendor/bootstrap/_button-groups.scss +243 -0
  163. data/client/styles/vendor/bootstrap/_buttons.scss +160 -0
  164. data/client/styles/vendor/bootstrap/_carousel.scss +267 -0
  165. data/client/{stylesheets → styles}/vendor/bootstrap/_close.scss +0 -0
  166. data/client/styles/vendor/bootstrap/_code.scss +69 -0
  167. data/client/styles/vendor/bootstrap/_component-animations.scss +38 -0
  168. data/client/styles/vendor/bootstrap/_dropdowns.scss +213 -0
  169. data/client/styles/vendor/bootstrap/_forms.scss +548 -0
  170. data/client/styles/vendor/bootstrap/_glyphicons.scss +234 -0
  171. data/client/styles/vendor/bootstrap/_grid.scss +84 -0
  172. data/client/{stylesheets → styles}/vendor/bootstrap/_input-groups.scss +0 -0
  173. data/client/styles/vendor/bootstrap/_jumbotron.scss +49 -0
  174. data/client/{stylesheets → styles}/vendor/bootstrap/_labels.scss +0 -0
  175. data/client/styles/vendor/bootstrap/_list-group.scss +124 -0
  176. data/client/styles/vendor/bootstrap/_media.scss +47 -0
  177. data/client/{stylesheets → styles}/vendor/bootstrap/_mixins.scss +0 -0
  178. data/client/styles/vendor/bootstrap/_modals.scss +148 -0
  179. data/client/styles/vendor/bootstrap/_navbar.scss +662 -0
  180. data/client/styles/vendor/bootstrap/_navs.scss +244 -0
  181. data/client/styles/vendor/bootstrap/_normalize.scss +427 -0
  182. data/client/styles/vendor/bootstrap/_pager.scss +54 -0
  183. data/client/styles/vendor/bootstrap/_pagination.scss +88 -0
  184. data/client/styles/vendor/bootstrap/_panels.scss +261 -0
  185. data/client/styles/vendor/bootstrap/_popovers.scss +135 -0
  186. data/client/styles/vendor/bootstrap/_print.scss +107 -0
  187. data/client/styles/vendor/bootstrap/_progress-bars.scss +87 -0
  188. data/client/styles/vendor/bootstrap/_responsive-embed.scss +35 -0
  189. data/client/{stylesheets → styles}/vendor/bootstrap/_responsive-utilities.scss +0 -0
  190. data/client/styles/vendor/bootstrap/_scaffolding.scss +150 -0
  191. data/client/styles/vendor/bootstrap/_tables.scss +234 -0
  192. data/client/styles/vendor/bootstrap/_theme.scss +272 -0
  193. data/client/styles/vendor/bootstrap/_thumbnails.scss +38 -0
  194. data/client/styles/vendor/bootstrap/_tooltip.scss +103 -0
  195. data/client/styles/vendor/bootstrap/_type.scss +298 -0
  196. data/client/styles/vendor/bootstrap/_utilities.scss +56 -0
  197. data/client/styles/vendor/bootstrap/_variables.scss +864 -0
  198. data/client/{stylesheets → styles}/vendor/bootstrap/_wells.scss +0 -0
  199. data/client/{stylesheets → styles}/vendor/bootstrap/mixins/_alerts.scss +0 -0
  200. data/client/{stylesheets → styles}/vendor/bootstrap/mixins/_background-variant.scss +0 -0
  201. data/client/{stylesheets → styles}/vendor/bootstrap/mixins/_border-radius.scss +0 -0
  202. data/client/styles/vendor/bootstrap/mixins/_buttons.scss +52 -0
  203. data/client/{stylesheets → styles}/vendor/bootstrap/mixins/_center-block.scss +0 -0
  204. data/client/{stylesheets → styles}/vendor/bootstrap/mixins/_clearfix.scss +0 -0
  205. data/client/styles/vendor/bootstrap/mixins/_forms.scss +88 -0
  206. data/client/{stylesheets → styles}/vendor/bootstrap/mixins/_gradients.scss +0 -0
  207. data/client/{stylesheets → styles}/vendor/bootstrap/mixins/_grid-framework.scss +0 -0
  208. data/client/styles/vendor/bootstrap/mixins/_grid.scss +122 -0
  209. data/client/styles/vendor/bootstrap/mixins/_hide-text.scss +21 -0
  210. data/client/styles/vendor/bootstrap/mixins/_image.scss +33 -0
  211. data/client/styles/vendor/bootstrap/mixins/_labels.scss +12 -0
  212. data/client/{stylesheets → styles}/vendor/bootstrap/mixins/_list-group.scss +0 -0
  213. data/client/{stylesheets → styles}/vendor/bootstrap/mixins/_nav-divider.scss +0 -0
  214. data/client/{stylesheets → styles}/vendor/bootstrap/mixins/_nav-vertical-align.scss +0 -0
  215. data/client/{stylesheets → styles}/vendor/bootstrap/mixins/_opacity.scss +0 -0
  216. data/client/{stylesheets → styles}/vendor/bootstrap/mixins/_pagination.scss +0 -0
  217. data/client/{stylesheets → styles}/vendor/bootstrap/mixins/_panels.scss +0 -0
  218. data/client/styles/vendor/bootstrap/mixins/_progress-bar.scss +10 -0
  219. data/client/{stylesheets → styles}/vendor/bootstrap/mixins/_reset-filter.scss +0 -0
  220. data/client/{stylesheets → styles}/vendor/bootstrap/mixins/_resize.scss +0 -0
  221. data/client/{stylesheets → styles}/vendor/bootstrap/mixins/_responsive-visibility.scss +0 -0
  222. data/client/{stylesheets → styles}/vendor/bootstrap/mixins/_size.scss +0 -0
  223. data/client/{stylesheets → styles}/vendor/bootstrap/mixins/_tab-focus.scss +0 -0
  224. data/client/{stylesheets → styles}/vendor/bootstrap/mixins/_table-row.scss +0 -0
  225. data/client/{stylesheets → styles}/vendor/bootstrap/mixins/_text-emphasis.scss +0 -0
  226. data/client/{stylesheets → styles}/vendor/bootstrap/mixins/_text-overflow.scss +0 -0
  227. data/client/styles/vendor/bootstrap/mixins/_vendor-prefixes.scss +222 -0
  228. data/client/styles/vendor/bootstrap/old/_alerts.scss +68 -0
  229. data/client/{stylesheets/vendor/bootstrap → styles/vendor/bootstrap/old}/_badges.scss +0 -0
  230. data/client/styles/vendor/bootstrap/old/_breadcrumbs.scss +26 -0
  231. data/client/{stylesheets/vendor/bootstrap → styles/vendor/bootstrap/old}/_button-groups.scss +0 -0
  232. data/client/{stylesheets/vendor/bootstrap → styles/vendor/bootstrap/old}/_buttons.scss +0 -0
  233. data/client/{stylesheets/vendor/bootstrap → styles/vendor/bootstrap/old}/_carousel.scss +0 -0
  234. data/client/styles/vendor/bootstrap/old/_close.scss +35 -0
  235. data/client/{stylesheets/vendor/bootstrap → styles/vendor/bootstrap/old}/_code.scss +0 -0
  236. data/client/{stylesheets/vendor/bootstrap → styles/vendor/bootstrap/old}/_component-animations.scss +0 -0
  237. data/client/{stylesheets/vendor/bootstrap → styles/vendor/bootstrap/old}/_dropdowns.scss +0 -0
  238. data/client/{stylesheets/vendor/bootstrap → styles/vendor/bootstrap/old}/_forms.scss +0 -0
  239. data/client/{stylesheets/vendor/bootstrap → styles/vendor/bootstrap/old}/_glyphicons.scss +0 -0
  240. data/client/{stylesheets/vendor/bootstrap → styles/vendor/bootstrap/old}/_grid.scss +0 -0
  241. data/client/styles/vendor/bootstrap/old/_input-groups.scss +166 -0
  242. data/client/{stylesheets/vendor/bootstrap → styles/vendor/bootstrap/old}/_jumbotron.scss +0 -0
  243. data/client/styles/vendor/bootstrap/old/_labels.scss +66 -0
  244. data/client/{stylesheets/vendor/bootstrap → styles/vendor/bootstrap/old}/_list-group.scss +0 -0
  245. data/client/{stylesheets/vendor/bootstrap → styles/vendor/bootstrap/old}/_media.scss +0 -0
  246. data/client/styles/vendor/bootstrap/old/_mixins.scss +39 -0
  247. data/client/{stylesheets/vendor/bootstrap → styles/vendor/bootstrap/old}/_modals.scss +0 -0
  248. data/client/{stylesheets/vendor/bootstrap → styles/vendor/bootstrap/old}/_navbar.scss +0 -0
  249. data/client/{stylesheets/vendor/bootstrap → styles/vendor/bootstrap/old}/_navs.scss +0 -0
  250. data/client/{stylesheets/vendor/bootstrap → styles/vendor/bootstrap/old}/_normalize.scss +0 -0
  251. data/client/{stylesheets/vendor/bootstrap → styles/vendor/bootstrap/old}/_pager.scss +0 -0
  252. data/client/{stylesheets/vendor/bootstrap → styles/vendor/bootstrap/old}/_pagination.scss +0 -0
  253. data/client/{stylesheets/vendor/bootstrap → styles/vendor/bootstrap/old}/_panels.scss +0 -0
  254. data/client/{stylesheets/vendor/bootstrap → styles/vendor/bootstrap/old}/_popovers.scss +0 -0
  255. data/client/{stylesheets/vendor/bootstrap → styles/vendor/bootstrap/old}/_print.scss +0 -0
  256. data/client/{stylesheets/vendor/bootstrap → styles/vendor/bootstrap/old}/_progress-bars.scss +0 -0
  257. data/client/{stylesheets/vendor/bootstrap → styles/vendor/bootstrap/old}/_responsive-embed.scss +0 -0
  258. data/client/styles/vendor/bootstrap/old/_responsive-utilities.scss +174 -0
  259. data/client/{stylesheets/vendor/bootstrap → styles/vendor/bootstrap/old}/_scaffolding.scss +0 -0
  260. data/client/{stylesheets/vendor/bootstrap → styles/vendor/bootstrap/old}/_tables.scss +0 -0
  261. data/client/{stylesheets/vendor/bootstrap → styles/vendor/bootstrap/old}/_theme.scss +0 -0
  262. data/client/{stylesheets/vendor/bootstrap → styles/vendor/bootstrap/old}/_thumbnails.scss +0 -0
  263. data/client/{stylesheets/vendor/bootstrap → styles/vendor/bootstrap/old}/_tooltip.scss +0 -0
  264. data/client/{stylesheets/vendor/bootstrap → styles/vendor/bootstrap/old}/_type.scss +0 -0
  265. data/client/{stylesheets/vendor/bootstrap → styles/vendor/bootstrap/old}/_utilities.scss +0 -0
  266. data/client/{stylesheets/vendor/bootstrap → styles/vendor/bootstrap/old}/_variables.scss +0 -0
  267. data/client/styles/vendor/bootstrap/old/_wells.scss +29 -0
  268. data/client/{stylesheets/vendor/bootstrap → styles/vendor/bootstrap/old}/bootstrap.scss +0 -0
  269. data/client/styles/vendor/bootstrap/old/mixins/_alerts.scss +14 -0
  270. data/client/styles/vendor/bootstrap/old/mixins/_background-variant.scss +11 -0
  271. data/client/styles/vendor/bootstrap/old/mixins/_border-radius.scss +18 -0
  272. data/client/{stylesheets/vendor/bootstrap → styles/vendor/bootstrap/old}/mixins/_buttons.scss +0 -0
  273. data/client/styles/vendor/bootstrap/old/mixins/_center-block.scss +7 -0
  274. data/client/styles/vendor/bootstrap/old/mixins/_clearfix.scss +22 -0
  275. data/client/{stylesheets/vendor/bootstrap → styles/vendor/bootstrap/old}/mixins/_forms.scss +0 -0
  276. data/client/styles/vendor/bootstrap/old/mixins/_gradients.scss +58 -0
  277. data/client/styles/vendor/bootstrap/old/mixins/_grid-framework.scss +81 -0
  278. data/client/{stylesheets/vendor/bootstrap → styles/vendor/bootstrap/old}/mixins/_grid.scss +0 -0
  279. data/client/{stylesheets/vendor/bootstrap → styles/vendor/bootstrap/old}/mixins/_hide-text.scss +0 -0
  280. data/client/{stylesheets/vendor/bootstrap → styles/vendor/bootstrap/old}/mixins/_image.scss +0 -0
  281. data/client/{stylesheets/vendor/bootstrap → styles/vendor/bootstrap/old}/mixins/_labels.scss +0 -0
  282. data/client/styles/vendor/bootstrap/old/mixins/_list-group.scss +31 -0
  283. data/client/styles/vendor/bootstrap/old/mixins/_nav-divider.scss +10 -0
  284. data/client/styles/vendor/bootstrap/old/mixins/_nav-vertical-align.scss +9 -0
  285. data/client/styles/vendor/bootstrap/old/mixins/_opacity.scss +8 -0
  286. data/client/styles/vendor/bootstrap/old/mixins/_pagination.scss +23 -0
  287. data/client/styles/vendor/bootstrap/old/mixins/_panels.scss +24 -0
  288. data/client/{stylesheets/vendor/bootstrap → styles/vendor/bootstrap/old}/mixins/_progress-bar.scss +0 -0
  289. data/client/styles/vendor/bootstrap/old/mixins/_reset-filter.scss +8 -0
  290. data/client/styles/vendor/bootstrap/old/mixins/_resize.scss +6 -0
  291. data/client/styles/vendor/bootstrap/old/mixins/_responsive-visibility.scss +21 -0
  292. data/client/styles/vendor/bootstrap/old/mixins/_size.scss +10 -0
  293. data/client/styles/vendor/bootstrap/old/mixins/_tab-focus.scss +9 -0
  294. data/client/styles/vendor/bootstrap/old/mixins/_table-row.scss +28 -0
  295. data/client/styles/vendor/bootstrap/old/mixins/_text-emphasis.scss +11 -0
  296. data/client/styles/vendor/bootstrap/old/mixins/_text-overflow.scss +8 -0
  297. data/client/{stylesheets/vendor/bootstrap → styles/vendor/bootstrap/old}/mixins/_vendor-prefixes.scss +0 -0
  298. data/client/{stylesheets → styles}/vendor/bootstrap-custom-grid.scss +0 -0
  299. data/client/{stylesheets → styles}/vendor/bootstrap-custom-modals.scss +0 -0
  300. data/client/{stylesheets → styles}/vendor/bootstrap.scss +14 -9
  301. data/client/{stylesheets → styles}/vendor/dataTables.scss +0 -0
  302. data/lanes.gemspec +5 -1
  303. data/lib/lanes/api/controller.rb +47 -6
  304. data/lib/lanes/api/helper_methods.rb +2 -10
  305. data/lib/lanes/api/javascript_processor.rb +17 -7
  306. data/lib/lanes/api/null_authentication_provider.rb +33 -0
  307. data/lib/lanes/api/request_wrapper.rb +49 -28
  308. data/lib/lanes/api/root.rb +12 -30
  309. data/lib/lanes/api/routing.rb +37 -0
  310. data/lib/lanes/api/sprockets_compressor.rb +35 -0
  311. data/lib/lanes/api/sprockets_extension.rb +69 -0
  312. data/lib/lanes/api/test_specs.rb +13 -9
  313. data/lib/lanes/api.rb +2 -18
  314. data/lib/lanes/cli.rb +22 -2
  315. data/lib/lanes/command/app.rb +49 -0
  316. data/lib/lanes/command/client_model_update.rb +65 -0
  317. data/lib/lanes/command/console.rb +20 -0
  318. data/lib/lanes/command/db.rb +33 -0
  319. data/lib/lanes/command/db.usage +1 -0
  320. data/lib/lanes/command/generate.rb +21 -0
  321. data/lib/lanes/command/generate_model.rb +105 -0
  322. data/lib/lanes/command/generate_model.usage +45 -0
  323. data/lib/lanes/command/generate_screen.rb +31 -0
  324. data/lib/lanes/command/generate_screen.usage +11 -0
  325. data/lib/lanes/command/generate_view.rb +22 -0
  326. data/lib/lanes/command/generate_view.usage +13 -0
  327. data/lib/lanes/command/model_attribute.rb +188 -0
  328. data/lib/lanes/command/named_command.rb +27 -0
  329. data/lib/lanes/command/server.rb +19 -0
  330. data/lib/lanes/command/server.usage +3 -0
  331. data/lib/lanes/command/templates/Gemfile +10 -0
  332. data/lib/lanes/{generators/app → command/templates}/Guardfile +0 -0
  333. data/lib/lanes/command/templates/Rakefile +2 -0
  334. data/lib/lanes/command/templates/client/Extension.coffee +5 -0
  335. data/lib/lanes/command/templates/client/components/.gitkeep +0 -0
  336. data/lib/lanes/command/templates/client/components/Component.coffee +1 -0
  337. data/lib/lanes/command/templates/client/data/Model.coffee +24 -0
  338. data/lib/lanes/command/templates/client/namespace-extension.js +17 -0
  339. data/lib/lanes/command/templates/client/screens/Screen.coffee +9 -0
  340. data/lib/lanes/command/templates/client/screens/index.js +5 -0
  341. data/lib/lanes/command/templates/client/screens/layout.html +3 -0
  342. data/lib/lanes/command/templates/client/screens/styles.scss +9 -0
  343. data/lib/lanes/command/templates/client/styles/styles.scss +1 -0
  344. data/lib/lanes/command/templates/client/views/.gitkeep +0 -0
  345. data/lib/lanes/command/templates/client/views/View.coffee +9 -0
  346. data/lib/lanes/command/templates/client/views/template.html +3 -0
  347. data/lib/lanes/{generators/app → command/templates}/config/database.yml +0 -0
  348. data/lib/lanes/command/templates/config/lanes.rb +7 -0
  349. data/lib/lanes/command/templates/config/routes.rb +2 -0
  350. data/lib/lanes/{generators/app → command/templates}/config.ru +1 -0
  351. data/lib/lanes/command/templates/db/create_table_migration.rb +19 -0
  352. data/lib/lanes/command/templates/gitignore +1 -0
  353. data/lib/lanes/command/templates/lib/namespace/extension.rb +13 -0
  354. data/lib/lanes/command/templates/lib/namespace/model.rb +7 -0
  355. data/lib/lanes/command/templates/lib/namespace/screen.rb +17 -0
  356. data/lib/lanes/command/templates/lib/namespace/version.rb +3 -0
  357. data/lib/lanes/command/templates/lib/namespace.rb +12 -0
  358. data/lib/lanes/command/templates/spec/client/data/ModelSpec.coffee +5 -0
  359. data/lib/lanes/command/templates/spec/client/views/ViewSpec.coffee +5 -0
  360. data/lib/lanes/command/templates/spec/fixtures/namespace/model.yml +16 -0
  361. data/lib/lanes/command/templates/spec/namespace/model_spec.rb +10 -0
  362. data/lib/lanes/command/templates/spec/spec_helper.rb +15 -0
  363. data/lib/lanes/command/update.rb +13 -0
  364. data/lib/lanes/command/update_model.rb +125 -0
  365. data/lib/lanes/command/update_model.usage +2 -0
  366. data/lib/lanes/command.rb +37 -0
  367. data/lib/lanes/components.rb +45 -0
  368. data/lib/lanes/concerns/set_attribute_data.rb +2 -2
  369. data/lib/lanes/configuration.rb +3 -3
  370. data/lib/lanes/db.rb +5 -39
  371. data/lib/lanes/extension.rb +64 -19
  372. data/lib/lanes/guard_tasks.rb +7 -5
  373. data/lib/lanes/rake_tasks.rb +47 -0
  374. data/lib/lanes/screens.rb +1 -48
  375. data/{spec → lib/lanes}/spec_helper.rb +0 -0
  376. data/lib/lanes/version.rb +1 -1
  377. data/lib/lanes.rb +1 -3
  378. data/npm-build/compile.coffee +1 -1
  379. data/npm-build/package.json +5 -5
  380. data/npm-build/template.js +13 -13
  381. data/spec/api/javascript_processor_spec.rb +1 -1
  382. data/spec/client/view/BaseSpec.coffee +166 -0
  383. data/spec/helpers/jasmine-jquery.js +813 -0
  384. data/spec/helpers/jasmine-matchers.js +1586 -0
  385. data/tasks/migrations.rake +1 -1
  386. data/views/index.erb +9 -13
  387. metadata +419 -268
  388. data/client/javascripts/component/ModalDialog.coffee +0 -44
  389. data/client/javascripts/component/SelectField.coffee +0 -43
  390. data/client/javascripts/component/TaggedField.coffee +0 -27
  391. data/client/javascripts/component/index.js +0 -5
  392. data/client/javascripts/data/Roles.coffee +0 -91
  393. data/client/javascripts/data/User.coffee +0 -70
  394. data/client/javascripts/extension/index.js +0 -6
  395. data/client/javascripts/extension/load.js.erb +0 -3
  396. data/client/javascripts/lanes-workspace.js +0 -1
  397. data/client/javascripts/lib/underscore.inflection.js +0 -210
  398. data/client/javascripts/plugins/index.js +0 -4
  399. data/client/javascripts/vendor/modern-stack.js +0 -14
  400. data/client/javascripts/vendor/packaged.js +0 -13769
  401. data/client/javascripts/view/Base.coffee +0 -231
  402. data/client/javascripts/view/Screen.coffee +0 -30
  403. data/client/javascripts/view/index.js +0 -10
  404. data/client/javascripts/workspace/LoginDialog.coffee +0 -33
  405. data/client/javascripts/workspace/login-dialog.html +0 -16
  406. data/client/screens/user-management/UserEditScreen.coffee +0 -21
  407. data/client/screens/user-management/UserManagement.coffee +0 -24
  408. data/client/screens/user-management/grid-popover-editor.html +0 -33
  409. data/client/screens/user-management/index.css +0 -4
  410. data/client/screens/user-management/user-management-styles.scss +0 -7
  411. data/client/screens/user-management/user-management.html +0 -8
  412. data/client/stylesheets/compoonents/modal-dialog.scss +0 -23
  413. data/client/stylesheets/lanes-workspace.scss +0 -17
  414. data/config/puma.rb +0 -7
  415. data/db/seed.rb +0 -37
  416. data/foo/Gemfile +0 -5
  417. data/foo/Guardfile +0 -13
  418. data/foo/foo/Gemfile +0 -5
  419. data/foo/foo/lib/foo.rb +0 -7
  420. data/foo/lib/foo/version.rb +0 -3
  421. data/foo/lib/foo.rb +0 -8
  422. data/lib/lanes/access/locked_fields.rb +0 -43
  423. data/lib/lanes/access/role.rb +0 -58
  424. data/lib/lanes/access/role_collection.rb +0 -75
  425. data/lib/lanes/access/roles/administrator.rb +0 -25
  426. data/lib/lanes/access/roles/support.rb +0 -13
  427. data/lib/lanes/access/user_maint_screen.rb +0 -32
  428. data/lib/lanes/access.rb +0 -50
  429. data/lib/lanes/api/asset_pipeline.rb +0 -59
  430. data/lib/lanes/api/authentication_helper.rb +0 -21
  431. data/lib/lanes/api/authentication_provider.rb +0 -45
  432. data/lib/lanes/api/default_routes.rb +0 -35
  433. data/lib/lanes/api/skr_templates.rb +0 -60
  434. data/lib/lanes/concerns/track_modifications.rb +0 -51
  435. data/lib/lanes/db/seed.rb +0 -27
  436. data/lib/lanes/generators/app/Gemfile +0 -5
  437. data/lib/lanes/generators/app/Rakefile +0 -9
  438. data/lib/lanes/generators/app/lib/main_class/version.rb +0 -3
  439. data/lib/lanes/generators/app/lib/main_class.rb +0 -8
  440. data/lib/lanes/generators/app.rb +0 -36
  441. data/lib/lanes/user.rb +0 -127
  442. data/spec/client/component/ChoicesInputSpec.coffee +0 -12
  443. data/spec/client/component/foo_spec.coffee +0 -4
  444. data/spec/client/support/jasmine.yml +0 -128
  445. data/spec/client/support/jasmine_helper.rb +0 -15
  446. data/spec/helpers/SpecHelper.js +0 -18
@@ -1,4 +1,4 @@
1
- class TabView extends Lanes.View.Base
1
+ class TabView extends Lanes.Views.Base
2
2
 
3
3
  template: "<li><a data-toggle='tab'></a><span class='close'>×</span></li>"
4
4
 
@@ -20,9 +20,9 @@ class TabView extends Lanes.View.Base
20
20
  TAB_PADDING = 0
21
21
 
22
22
 
23
- class Lanes.Workspace.ActiveScreenSwitcher extends Lanes.View.Base
23
+ class Lanes.Workspace.ActiveScreenSwitcher extends Lanes.Views.Base
24
24
 
25
- templateName: 'workspace/screens-switcher'
25
+ template: 'workspace/screens-switcher'
26
26
 
27
27
  key_scope: { name: 'nav', shortcut: '⌘+shift+t,ctrl+shift+t' }
28
28
  key_bindings:
@@ -35,6 +35,12 @@ class Lanes.Workspace.ActiveScreenSwitcher extends Lanes.View.Base
35
35
  collection: 'collection'
36
36
  view: TabView
37
37
 
38
+ ui:
39
+ lScroll: '.scroller-left'
40
+ rScroll: '.scroller-right'
41
+ wrapper: '.wrapper'
42
+ tabs: '.nav-tabs'
43
+
38
44
  events:
39
45
  'click .scroller-right': 'scrollRight'
40
46
  'click .scroller-left' : 'scrollLeft'
@@ -47,7 +53,7 @@ class Lanes.Workspace.ActiveScreenSwitcher extends Lanes.View.Base
47
53
  _.bindAll(this, 'resetShownControls')
48
54
  @collection = Lanes.Data.Screens.displaying
49
55
  this.listenTo( @collection, "change:active", this.onActiveChange )
50
- this.listenTo( this.ui, "change:viewport_width", this.resetShownControls )
56
+ this.listenTo( this.viewport, "change:width", this.resetShownControls )
51
57
  this.listenTo( Lanes.current_user, "change:isLoggedIn", this.closeScreens)
52
58
 
53
59
 
@@ -65,8 +71,8 @@ class Lanes.Workspace.ActiveScreenSwitcher extends Lanes.View.Base
65
71
  this.scrollToTab( view.el )
66
72
 
67
73
  tabDisplayRange: ->
68
- start = this.tabs.position().left
69
- width = this.wrapper.width()
74
+ start = this.ui.tabs.position().left
75
+ width = this.ui.wrapper.width()
70
76
  end = width + start
71
77
  { start: start, end: end, width: width, used: this.widthOfList() }
72
78
 
@@ -77,41 +83,31 @@ class Lanes.Workspace.ActiveScreenSwitcher extends Lanes.View.Base
77
83
  diff = ( offset + td.start + width ) - td.width
78
84
  if diff > 0
79
85
  needs = if li.parentNode.lastElementChild == li then diff else width
80
- @tabs.animate( left: "-=" + needs + "px", @resetShownControls)
86
+ this.ui.tabs.animate( left: "-=" + needs + "px", @resetShownControls)
81
87
  else if offset + td.start < 0
82
88
  needs = if li.parentNode.firstElementChild == li then Math.abs(td.start) else width
83
- @tabs.animate( left: "+=" + needs + "px", @resetShownControls)
89
+ this.ui.tabs.animate( left: "+=" + needs + "px", @resetShownControls)
84
90
 
85
91
  resetShownControls: ->
86
92
  td = this.tabDisplayRange()
87
93
  if td.used < td.width
88
- this.lScroll.removeClass('enabled') ; this.rScroll.removeClass('enabled')
94
+ this.ui.lScroll.removeClass('enabled') ; this.ui.rScroll.removeClass('enabled')
89
95
  else
90
- this.lScroll.toggleClass( 'enabled', td.start < 0)
91
- this.rScroll.toggleClass( 'enabled', !(td.used <= td.width-td.start) )
96
+ this.ui.lScroll.toggleClass( 'enabled', td.start < 0)
97
+ this.ui.rScroll.toggleClass( 'enabled', !(td.used <= td.width-td.start) )
92
98
 
93
99
  scrollLeft: ->
94
- @rScroll.addClass('enabled')
100
+ this.ui.rScroll.addClass('enabled')
95
101
  td = this.tabDisplayRange()
96
102
  scroll = _.min([Math.abs(td.start),td.width])
97
- @tabs.animate( left: "+=" + scroll + "px" )
103
+ this.ui.tabs.animate( left: "+=" + scroll + "px" )
98
104
  if td.start + scroll >= 0
99
- @lScroll.removeClass('enabled')
105
+ this.ui.lScroll.removeClass('enabled')
100
106
 
101
107
  scrollRight: ->
102
- @lScroll.addClass('enabled')
108
+ this.ui.lScroll.addClass('enabled')
103
109
  td = this.tabDisplayRange()
104
110
  scroll = _.min([td.used - (td.width-td.start), td.width])
105
- @tabs.animate( left: "-=" + scroll + "px" )
111
+ this.ui.tabs.animate( left: "-=" + scroll + "px" )
106
112
  if Math.abs(td.start-scroll-td.width) >= td.used
107
- @rScroll.removeClass('enabled')
108
-
109
- render: ->
110
- super
111
- this.cacheJqElements({
112
- lScroll: '.scroller-left'
113
- rScroll: '.scroller-right'
114
- wrapper: '.wrapper'
115
- tabs: '.nav-tabs'
116
- })
117
- this
113
+ this.ui.rScroll.removeClass('enabled')
@@ -7,29 +7,24 @@ Lanes.Workspace.Instance = class Instance {
7
7
  constructor(selector, options, extension_data){
8
8
  _.extend(this,options);
9
9
 
10
- this.ui = new Lanes.View.InterfaceState({ selector: selector, instance: this });
10
+ this.viewport = new Lanes.Views.Viewport({ selector: selector, instance: this });
11
11
  Lanes.Data.Bootstrap.initialize({
12
12
  csrf: options.csrf_token,
13
13
  root: options.root_path,
14
14
  data: extension_data
15
15
  });
16
- options.user_data = ( options.user_data || {} );
17
- Lanes.current_user.setLoginData( options.user_data.user, options.user_data.access );
18
-
19
16
  Lanes.$(document).ready( ()=> {
20
17
  this.boot();
21
18
  });
22
19
  }
23
20
 
24
-
25
-
26
21
  boot(){
27
- this.root = Lanes.$( this.ui.selector );
22
+ this.root = Lanes.$( this.viewport.selector );
28
23
  this.root.data().workspace = this;
29
- this.ui.root = this.root;
24
+ this.viewport.root = this.root;
30
25
 
31
- Lanes.lib.ResizeSensor(this.root[0], _.bind( _.debounce( function(a,b,c){
32
- this.ui.set({ viewport_width: this.root.width(), viewport_height: this.root.height() });
26
+ Lanes.lib.ResizeSensor(this.root[0], _.bind( _.debounce( function(){
27
+ this.viewport.set({ width: this.root.width(), height: this.root.height() });
33
28
  }, 250 ), this) );
34
29
 
35
30
  this.root.addClass('lanes root');
@@ -38,23 +33,32 @@ Lanes.Workspace.Instance = class Instance {
38
33
  selector: '[data-tooltip-message]',
39
34
  title: function(){ return this.getAttribute('data-tooltip-message'); }
40
35
  });
41
-
42
36
  var view = Lanes.getPath(this.view);
43
- if (!view){
44
- Lanes.fatal(this.view + " doesn't exist!");
37
+ if (view){
38
+ this.displayInitialView(view);
39
+ } else {
40
+ var definition=Lanes.Data.Screens.all.findWhere({view: this.view});
41
+ if (definition){
42
+ definition.getScreen().then( (screen)=>{
43
+ // break out of the promise so an errors during render get thrown properly
44
+ _.defer( ()=>{ this.displayInitialView(screen); } );
45
+ }, (msg)=>{
46
+ Lanes.fatal("Unable to load initial screen ${this.view}", msg);
47
+ });
48
+ } else {
49
+ Lanes.fatal(this.view + " doesn't exist!");
50
+ }
45
51
  }
46
- this.view = new view({parent: this, model: this.ui}).render();
47
- this.ui.viewport = this.view.$el;
52
+ }
53
+
54
+ displayInitialView(view){
55
+ this.view = new view({parent: this, model: this.viewport}).render();
56
+ this.viewport.el = this.view.$el;
48
57
 
49
58
  this.root.append( this.view.el );
50
59
 
51
- Lanes.View.Keys.initialize();
60
+ Lanes.Views.Keys.initialize();
52
61
  Lanes.Data.PubSub.initialize();
53
62
  Lanes.Extensions.fireOnAvailable(this);
54
-
55
- this.login_dialog = new Lanes.View.LoginDialog({ parent: this });
56
-
57
- // var screen = Lanes.Data.Screens.all.findWhere({ id: 'user-maintenance' });
58
- // screen.display();
59
63
  }
60
64
  };
@@ -1,18 +1,19 @@
1
1
 
2
- class Lanes.Workspace.Layout extends Lanes.View.Base
2
+ class Lanes.Workspace.Layout extends Lanes.Views.Base
3
3
 
4
- templateName: 'workspace/layout'
4
+ template: 'workspace/layout'
5
5
 
6
6
  subviews:
7
7
  navbar:
8
8
  hook: 'navbar-container'
9
9
  view: 'Lanes.Workspace.Navbar'
10
- model: 'model'
10
+
11
11
  pages:
12
12
  hook: 'page-container'
13
13
  view: 'Lanes.Workspace.Pages'
14
- model: 'model'
14
+
15
+ subviewOptions: -> { model: this.model }
15
16
 
16
17
  onRender: ->
17
18
  @screens = new Lanes.Workspace.ScreensMenu({ parent: this, model: @model })
18
- this.ui.menu_view = @screens.render()
19
+ this.viewport.menu_view = @screens.render()
@@ -1,6 +1,6 @@
1
- class Lanes.Workspace.Navbar extends Lanes.View.Base
1
+ class Lanes.Workspace.Navbar extends Lanes.Views.Base
2
2
 
3
- templateName: 'workspace/navbar'
3
+ template: 'workspace/navbar'
4
4
 
5
5
  events:
6
6
  'click .screens-menu-toggle': 'switchMenu'
@@ -1,6 +1,6 @@
1
- class Lanes.Workspace.Pages extends Lanes.View.Base
1
+ class Lanes.Workspace.Pages extends Lanes.Views.Base
2
2
 
3
- templateName: 'workspace/pages'
3
+ template: 'workspace/pages'
4
4
 
5
5
  bindings:
6
6
  'model.screen_menu_size': { type: 'class' }
@@ -12,6 +12,9 @@ class Lanes.Workspace.Pages extends Lanes.View.Base
12
12
  deps: ['model.screen_menu_position']
13
13
  fn: -> if @model.screen_menu_position == 'side' then 'with-screen-menu' else 'no-screen-menu'
14
14
 
15
+ ui:
16
+ screen: '.screen'
17
+ screens_menu_container: '.screens-menu-container'
15
18
 
16
19
  initialize: (options)->
17
20
  this.listenTo( Lanes.Data.Screens.displaying, "change:active", this.onActiveChange )
@@ -19,17 +22,10 @@ class Lanes.Workspace.Pages extends Lanes.View.Base
19
22
  this.listenTo( @model,'change:screen_menu_position', this.moveScreensMenu )
20
23
  super
21
24
 
22
- render: ->
23
- super
24
- this.cacheElements({
25
- screen: '.screen'
26
- screens_menu_container: '.screens-menu-container'
27
- })
28
- this
29
25
 
30
26
  moveScreensMenu: ->
31
- return unless 'side' == @ui.screen_menu_position
32
- this.screens_menu_container.appendChild( @ui.menu_view.el )
27
+ return unless 'side' == this.viewport.screen_menu_position
28
+ this.ui.screens_menu_container.append( this.viewport.menu_view.el )
33
29
 
34
30
  onRemove: (sv)->
35
31
  sv.view.remove()
@@ -41,6 +37,6 @@ class Lanes.Workspace.Pages extends Lanes.View.Base
41
37
  view.render()
42
38
 
43
39
  if active
44
- @screen.appendChild( view.el )
40
+ this.ui.screen.append( view.el )
45
41
  else
46
- @screen.removeChild( view.el )
42
+ view.$el.detach()
@@ -1,4 +1,4 @@
1
- class ScreenList extends Lanes.View.Base
1
+ class ScreenList extends Lanes.Views.Base
2
2
 
3
3
  template: "<li><a href='#'><span></span><i></i></a></li>"
4
4
 
@@ -6,14 +6,14 @@ class ScreenList extends Lanes.View.Base
6
6
  click: 'displayScreen'
7
7
 
8
8
  displayScreen: ->
9
- this.model.display(this.ui)
9
+ this.model.display(this.viewport)
10
10
 
11
11
  bindings:
12
12
  'model.title':{ selector: 'span', type: 'text' }
13
13
  'model.icon': { selector: 'i', type: 'class' }
14
14
 
15
15
 
16
- class ScreenGroup extends Lanes.View.Base
16
+ class ScreenGroup extends Lanes.Views.Base
17
17
 
18
18
  template: -> '<li class="group"><a href="#"><span></span><i></i></a><ul></ul></li>'
19
19
  events:
@@ -40,10 +40,10 @@ class ScreenGroup extends Lanes.View.Base
40
40
 
41
41
 
42
42
 
43
- class Lanes.Workspace.ScreensMenu extends Lanes.View.Base
43
+ class Lanes.Workspace.ScreensMenu extends Lanes.Views.Base
44
44
 
45
45
  constructor: -> super
46
- templateName: 'workspace/screens-menu'
46
+ template: 'workspace/screens-menu'
47
47
 
48
48
  subviews:
49
49
  navigation:
@@ -87,7 +87,7 @@ class Lanes.Workspace.ScreensMenu extends Lanes.View.Base
87
87
  focus = this.getKeyboardFocus()
88
88
  focus.trigger('click')
89
89
  if focus.hasClass("group")
90
- Lanes.View.TimedHighlight.move( focus.find('ul li').first() )
90
+ Lanes.Views.TimedHighlight.move( focus.find('ul li').first() )
91
91
 
92
92
  onHighlightHide: (ev)->
93
93
  Lanes.$(ev.target).closest('.navigation .expand').removeClass("expand")
@@ -96,31 +96,31 @@ class Lanes.Workspace.ScreensMenu extends Lanes.View.Base
96
96
  current = this.getKeyboardFocus()
97
97
  focus = current.closest('.navigation .expand').removeClass("expand")
98
98
  return unless focus.length
99
- Lanes.View.TimedHighlight.move( focus.first() )
99
+ Lanes.Views.TimedHighlight.move( focus.first() )
100
100
 
101
101
  expandMenu: ->
102
102
  focus = this.getKeyboardFocus()
103
103
  return unless focus.find('ul li').length
104
104
  focus.addClass('expand')
105
- Lanes.View.TimedHighlight.move( focus.find('ul li').first() )
105
+ Lanes.Views.TimedHighlight.move( focus.find('ul li').first() )
106
106
 
107
107
  nextMenu: ->
108
108
  current = this.getKeyboardFocus()
109
109
  focus = current.next('li')
110
110
  focus = current.siblings('li:first') unless focus.length
111
111
  return unless focus.length
112
- Lanes.View.TimedHighlight.move( focus.first() )
112
+ Lanes.Views.TimedHighlight.move( focus.first() )
113
113
 
114
114
  prevMenu: ->
115
115
  current = this.getKeyboardFocus()
116
116
  focus = current.prev('li')
117
117
  focus = current.siblings('li:last') unless focus.length
118
118
  return unless focus.length
119
- Lanes.View.TimedHighlight.move( focus.first() )
119
+ Lanes.Views.TimedHighlight.move( focus.first() )
120
120
 
121
121
  getKeyboardFocus: ->
122
122
  focus = this.$('.highlighted')
123
123
  unless focus.length
124
124
  focus = this.$('.navigation li:first')
125
- Lanes.View.TimedHighlight.move(focus)
125
+ Lanes.Views.TimedHighlight.move(focus)
126
126
  focus
@@ -1,12 +1,14 @@
1
1
  //= require ../lib/noConflict
2
2
  //= require ../vendor/modern-stack
3
3
  //= require ../lib
4
- //= require_self
5
4
  //= require ../extension
6
5
  //= require ../data
7
6
  //= require ../plugins
8
- //= require ../view
9
- //= require ../component
7
+ //= require ../views
8
+ //= require ../screens
9
+ //= require ../components/Base
10
+ //= require ../components/enabled
11
+ //= require ../extension/LateLoaded
12
+ //= require_self
10
13
  //= require_tree .
11
-
12
- Lanes.namespace( 'Workspace' );
14
+ Lanes.ns( 'Workspace' );
File without changes
File without changes
File without changes
File without changes
File without changes
@@ -0,0 +1,21 @@
1
+ @import "styles/fonts";
2
+ @import "styles/vendor/bootstrap";
3
+
4
+ .lanes {
5
+ padding: 0px;
6
+ margin: 0px;
7
+ background-color: $body-bg;
8
+ position: relative;
9
+ min-height: 10px; // needs height for resizing sensor to function
10
+ <% Lanes::Components.enabled_with_dependencies(self) do | component | %>
11
+ @import "components/<%= component %>/<%= component %>";
12
+ <% end %>
13
+ @import "styles/plugins/all";
14
+ @import "styles/layout";
15
+ @import "styles/tabs";
16
+ @import "styles/screens";
17
+ @import "styles/forms";
18
+ @import "styles/forms";
19
+ @import "styles/forms";
20
+ @import "styles/keybindings";
21
+ }
@@ -0,0 +1,21 @@
1
+ @import "styles/fonts";
2
+ @import "styles/vendor/bootstrap";
3
+
4
+ .lanes {
5
+ padding: 0px;
6
+ margin: 0px;
7
+ background-color: $body-bg;
8
+ position: relative;
9
+ min-height: 10px; // needs height for resizing sensor to function
10
+ <% Lanes::Components.enabled_with_dependencies(self) do | component | %>
11
+ @import "components/<%= component %>/<%= component %>";
12
+ <% end %>
13
+ @import "styles/plugins/all";
14
+ @import "styles/layout";
15
+ @import "styles/tabs";
16
+ @import "styles/screens";
17
+ @import "styles/forms";
18
+ @import "styles/forms";
19
+ @import "styles/forms";
20
+ @import "styles/keybindings";
21
+ }
File without changes
File without changes
File without changes
File without changes
File without changes
@@ -1,10 +1,10 @@
1
1
  @font-face {
2
2
  font-family: 'skr-icon';
3
- src:url(font-path('fonts/icomoon.eot') + '?-7u8s0f');
4
- src:url(font-path('fonts/icomoon.eot') + '?#iefix-7u8s0f') format('embedded-opentype'),
5
- url(font-path('fonts/icomoon.woff') + '?-7u8s0f') format('woff'),
6
- url(font-path('fonts/icomoon.ttf') + '?-7u8s0f') format('truetype'),
7
- url(font-path('fonts/icomoon.svg') + '?-7u8s0f#icomoon') format('svg');
3
+ src:url(font-path('styles/fonts/icomoon.eot') + '?-7u8s0f');
4
+ src:url(font-path('styles/fonts/icomoon.eot') + '?#iefix-7u8s0f') format('embedded-opentype'),
5
+ url(font-path('styles/fonts/icomoon.woff') + '?-7u8s0f') format('woff'),
6
+ url(font-path('styles/fonts/icomoon.ttf') + '?-7u8s0f') format('truetype'),
7
+ url(font-path('styles/fonts/icomoon.svg') + '?-7u8s0f#icomoon') format('svg');
8
8
  font-weight: normal;
9
9
  font-style: normal;
10
10
  }
@@ -30,7 +30,7 @@
30
30
  @extend .font-icon-display;
31
31
  }
32
32
 
33
- @import "CSS:fonts/style";
33
+ @import "fonts/style";
34
34
 
35
35
  .icon-reset:before {
36
36
  @extend .icon-refresh:before;
File without changes
File without changes
File without changes
@@ -25,7 +25,7 @@
25
25
  height: 48px;
26
26
  width: 150px;
27
27
  margin: 2px;
28
- background: url(asset_path('logo-sm.png')) no-repeat;
28
+ background: url(asset_path('images/logo-sm.png')) no-repeat;
29
29
  }
30
30
 
31
31
  .navbar-toggle, .screens-menu-toggle {
File without changes
@@ -29,7 +29,7 @@
29
29
  font-size: 3.2rem;
30
30
  float: left;
31
31
  &.loading-spinner {
32
- background:url(asset_path('ajax-loader.gif')) no-repeat;
32
+ background:url(image-path('images/ajax-loader.gif')) no-repeat;
33
33
  height: 32px;
34
34
  margin-top: 10px;
35
35
  width: 32px;
File without changes
File without changes
@@ -0,0 +1,63 @@
1
+ //
2
+ // Badges
3
+ // --------------------------------------------------
4
+
5
+
6
+ // Base class
7
+ .badge {
8
+ display: inline-block;
9
+ min-width: 10px;
10
+ padding: 3px 7px;
11
+ font-size: $font-size-small;
12
+ font-weight: $badge-font-weight;
13
+ color: $badge-color;
14
+ line-height: $badge-line-height;
15
+ vertical-align: baseline;
16
+ white-space: nowrap;
17
+ text-align: center;
18
+ background-color: $badge-bg;
19
+ border-radius: $badge-border-radius;
20
+
21
+ // Empty badges collapse automatically (not available in IE8)
22
+ &:empty {
23
+ display: none;
24
+ }
25
+
26
+ // Quick fix for badges in buttons
27
+ .btn & {
28
+ position: relative;
29
+ top: -1px;
30
+ }
31
+ .btn-xs & {
32
+ top: 0;
33
+ padding: 1px 5px;
34
+ }
35
+
36
+ // [converter] extracted a& to a.badge
37
+
38
+ // Account for badges in navs
39
+ .list-group-item.active > &,
40
+ .nav-pills > .active > a > & {
41
+ color: $badge-active-color;
42
+ background-color: $badge-active-bg;
43
+ }
44
+ .list-group-item > & {
45
+ float: right;
46
+ }
47
+ .list-group-item > & + & {
48
+ margin-right: 5px;
49
+ }
50
+ .nav-pills > li > a > & {
51
+ margin-left: 3px;
52
+ }
53
+ }
54
+
55
+ // Hover state, but only for links
56
+ a.badge {
57
+ &:hover,
58
+ &:focus {
59
+ color: $badge-link-hover-color;
60
+ text-decoration: none;
61
+ cursor: pointer;
62
+ }
63
+ }