framework7rails 3.0.0 → 4.0.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (212) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +1 -1
  3. data/lib/framework7rails/version.rb +2 -2
  4. data/update_from_vendor.rb +1 -1
  5. data/vendor/assets/javascripts/framework7.js +5806 -2303
  6. data/vendor/assets/javascripts/framework7.js.map +1 -1
  7. data/vendor/assets/stylesheets/framework7.css +2164 -464
  8. data/vendor/assets/stylesheets/framework7.themes.css +189 -25
  9. metadata +2 -205
  10. data/Framework7-0.9.6/.gitignore +0 -5
  11. data/Framework7-0.9.6/.jshintrc +0 -33
  12. data/Framework7-0.9.6/.travis.yml +0 -5
  13. data/Framework7-0.9.6/CHANGELOG.md +0 -342
  14. data/Framework7-0.9.6/Gruntfile.js +0 -560
  15. data/Framework7-0.9.6/LICENSE +0 -20
  16. data/Framework7-0.9.6/README.md +0 -113
  17. data/Framework7-0.9.6/apps/todo7/css/todo7.css +0 -208
  18. data/Framework7-0.9.6/apps/todo7/img/Icon-152.png +0 -0
  19. data/Framework7-0.9.6/apps/todo7/img/bg.jpg +0 -0
  20. data/Framework7-0.9.6/apps/todo7/img/icon-114.png +0 -0
  21. data/Framework7-0.9.6/apps/todo7/img/icon-120.png +0 -0
  22. data/Framework7-0.9.6/apps/todo7/img/icon-144.png +0 -0
  23. data/Framework7-0.9.6/apps/todo7/img/icon-57.png +0 -0
  24. data/Framework7-0.9.6/apps/todo7/img/icon-72.png +0 -0
  25. data/Framework7-0.9.6/apps/todo7/img/icon-76.png +0 -0
  26. data/Framework7-0.9.6/apps/todo7/index.html +0 -112
  27. data/Framework7-0.9.6/apps/todo7/jade/index.jade +0 -99
  28. data/Framework7-0.9.6/apps/todo7/js/todo7.js +0 -102
  29. data/Framework7-0.9.6/apps/todo7/less/todo7.less +0 -221
  30. data/Framework7-0.9.6/apps/todo7/manifest.php +0 -27
  31. data/Framework7-0.9.6/apps/weather7/css/weather7.css +0 -291
  32. data/Framework7-0.9.6/apps/weather7/img/bg.jpg +0 -0
  33. data/Framework7-0.9.6/apps/weather7/img/icon-114.png +0 -0
  34. data/Framework7-0.9.6/apps/weather7/img/icon-120.png +0 -0
  35. data/Framework7-0.9.6/apps/weather7/img/icon-144.png +0 -0
  36. data/Framework7-0.9.6/apps/weather7/img/icon-152.png +0 -0
  37. data/Framework7-0.9.6/apps/weather7/img/icon-57.png +0 -0
  38. data/Framework7-0.9.6/apps/weather7/img/icon-72.png +0 -0
  39. data/Framework7-0.9.6/apps/weather7/img/icon-76.png +0 -0
  40. data/Framework7-0.9.6/apps/weather7/img/logo.png +0 -0
  41. data/Framework7-0.9.6/apps/weather7/img/yahoo-logo.png +0 -0
  42. data/Framework7-0.9.6/apps/weather7/index.html +0 -127
  43. data/Framework7-0.9.6/apps/weather7/jade/index.jade +0 -113
  44. data/Framework7-0.9.6/apps/weather7/js/weather7.js +0 -213
  45. data/Framework7-0.9.6/apps/weather7/less/weather7.less +0 -294
  46. data/Framework7-0.9.6/apps/weather7/manifest.php +0 -29
  47. data/Framework7-0.9.6/bower.json +0 -30
  48. data/Framework7-0.9.6/dist/about.html +0 -28
  49. data/Framework7-0.9.6/dist/css/framework7.css +0 -4922
  50. data/Framework7-0.9.6/dist/css/framework7.min.css +0 -15
  51. data/Framework7-0.9.6/dist/css/framework7.rtl.css +0 -427
  52. data/Framework7-0.9.6/dist/css/framework7.rtl.min.css +0 -1
  53. data/Framework7-0.9.6/dist/css/framework7.themes.css +0 -279
  54. data/Framework7-0.9.6/dist/css/framework7.themes.min.css +0 -1
  55. data/Framework7-0.9.6/dist/css/my-app.css +0 -0
  56. data/Framework7-0.9.6/dist/form.html +0 -229
  57. data/Framework7-0.9.6/dist/img/i-f7.png +0 -0
  58. data/Framework7-0.9.6/dist/img/i-form-calendar.png +0 -0
  59. data/Framework7-0.9.6/dist/img/i-form-comment.png +0 -0
  60. data/Framework7-0.9.6/dist/img/i-form-email.png +0 -0
  61. data/Framework7-0.9.6/dist/img/i-form-gender.png +0 -0
  62. data/Framework7-0.9.6/dist/img/i-form-name.png +0 -0
  63. data/Framework7-0.9.6/dist/img/i-form-password.png +0 -0
  64. data/Framework7-0.9.6/dist/img/i-form-settings.png +0 -0
  65. data/Framework7-0.9.6/dist/img/i-form-tel.png +0 -0
  66. data/Framework7-0.9.6/dist/img/i-form-toggle.png +0 -0
  67. data/Framework7-0.9.6/dist/img/i-form-url.png +0 -0
  68. data/Framework7-0.9.6/dist/index.html +0 -102
  69. data/Framework7-0.9.6/dist/js/framework7.js +0 -7479
  70. data/Framework7-0.9.6/dist/js/framework7.min.js +0 -18
  71. data/Framework7-0.9.6/dist/js/my-app.js +0 -48
  72. data/Framework7-0.9.6/dist/services.html +0 -28
  73. data/Framework7-0.9.6/examples/split-view-panel/about.html +0 -20
  74. data/Framework7-0.9.6/examples/split-view-panel/css/my-app.css +0 -56
  75. data/Framework7-0.9.6/examples/split-view-panel/index.html +0 -135
  76. data/Framework7-0.9.6/examples/split-view-panel/jade/about.jade +0 -18
  77. data/Framework7-0.9.6/examples/split-view-panel/jade/index.jade +0 -107
  78. data/Framework7-0.9.6/examples/split-view-panel/jade/left-page-1.jade +0 -15
  79. data/Framework7-0.9.6/examples/split-view-panel/jade/left-page-2.jade +0 -15
  80. data/Framework7-0.9.6/examples/split-view-panel/jade/services.jade +0 -18
  81. data/Framework7-0.9.6/examples/split-view-panel/js/my-app.js +0 -15
  82. data/Framework7-0.9.6/examples/split-view-panel/left-page-1.html +0 -19
  83. data/Framework7-0.9.6/examples/split-view-panel/left-page-2.html +0 -19
  84. data/Framework7-0.9.6/examples/split-view-panel/less/my-app.less +0 -62
  85. data/Framework7-0.9.6/examples/split-view-panel/services.html +0 -20
  86. data/Framework7-0.9.6/examples/split-view/about.html +0 -19
  87. data/Framework7-0.9.6/examples/split-view/css/my-app.css +0 -23
  88. data/Framework7-0.9.6/examples/split-view/index.html +0 -135
  89. data/Framework7-0.9.6/examples/split-view/jade/about.jade +0 -15
  90. data/Framework7-0.9.6/examples/split-view/jade/index.jade +0 -107
  91. data/Framework7-0.9.6/examples/split-view/jade/left-page-1.jade +0 -15
  92. data/Framework7-0.9.6/examples/split-view/jade/left-page-2.jade +0 -15
  93. data/Framework7-0.9.6/examples/split-view/jade/services.jade +0 -15
  94. data/Framework7-0.9.6/examples/split-view/js/my-app.js +0 -15
  95. data/Framework7-0.9.6/examples/split-view/left-page-1.html +0 -19
  96. data/Framework7-0.9.6/examples/split-view/left-page-2.html +0 -19
  97. data/Framework7-0.9.6/examples/split-view/less/my-app.less +0 -23
  98. data/Framework7-0.9.6/examples/split-view/services.html +0 -19
  99. data/Framework7-0.9.6/examples/tab-bar/about.html +0 -19
  100. data/Framework7-0.9.6/examples/tab-bar/css/my-app.css +0 -34
  101. data/Framework7-0.9.6/examples/tab-bar/index.html +0 -238
  102. data/Framework7-0.9.6/examples/tab-bar/jade/about.jade +0 -15
  103. data/Framework7-0.9.6/examples/tab-bar/jade/index.jade +0 -189
  104. data/Framework7-0.9.6/examples/tab-bar/jade/services.jade +0 -15
  105. data/Framework7-0.9.6/examples/tab-bar/js/my-app.js +0 -15
  106. data/Framework7-0.9.6/examples/tab-bar/less/my-app.less +0 -35
  107. data/Framework7-0.9.6/examples/tab-bar/services.html +0 -19
  108. data/Framework7-0.9.6/kitchen-sink/about.html +0 -22
  109. data/Framework7-0.9.6/kitchen-sink/accordion.html +0 -171
  110. data/Framework7-0.9.6/kitchen-sink/color-themes.html +0 -42
  111. data/Framework7-0.9.6/kitchen-sink/contacts.html +0 -190
  112. data/Framework7-0.9.6/kitchen-sink/core-features.html +0 -70
  113. data/Framework7-0.9.6/kitchen-sink/css/kitchen-sink.css +0 -233
  114. data/Framework7-0.9.6/kitchen-sink/deep-2.html +0 -22
  115. data/Framework7-0.9.6/kitchen-sink/deep-navbar-2.html +0 -19
  116. data/Framework7-0.9.6/kitchen-sink/deep-navbar-3.html +0 -19
  117. data/Framework7-0.9.6/kitchen-sink/deep-navbar.html +0 -18
  118. data/Framework7-0.9.6/kitchen-sink/forms-buttons.html +0 -64
  119. data/Framework7-0.9.6/kitchen-sink/forms-checkboxes.html +0 -200
  120. data/Framework7-0.9.6/kitchen-sink/forms-elements.html +0 -359
  121. data/Framework7-0.9.6/kitchen-sink/forms-selects.html +0 -72
  122. data/Framework7-0.9.6/kitchen-sink/forms-storage.html +0 -181
  123. data/Framework7-0.9.6/kitchen-sink/forms.html +0 -56
  124. data/Framework7-0.9.6/kitchen-sink/grid.html +0 -140
  125. data/Framework7-0.9.6/kitchen-sink/hide-navbar-toolbar.html +0 -42
  126. data/Framework7-0.9.6/kitchen-sink/img/beach.jpg +0 -0
  127. data/Framework7-0.9.6/kitchen-sink/img/lock.jpg +0 -0
  128. data/Framework7-0.9.6/kitchen-sink/img/monkey.jpg +0 -0
  129. data/Framework7-0.9.6/kitchen-sink/img/mountains.jpg +0 -0
  130. data/Framework7-0.9.6/kitchen-sink/index.html +0 -466
  131. data/Framework7-0.9.6/kitchen-sink/infinite-scroll-load.php +0 -19
  132. data/Framework7-0.9.6/kitchen-sink/infinite-scroll.html +0 -119
  133. data/Framework7-0.9.6/kitchen-sink/jade/about.jade +0 -19
  134. data/Framework7-0.9.6/kitchen-sink/jade/accordion.jade +0 -133
  135. data/Framework7-0.9.6/kitchen-sink/jade/color-themes.jade +0 -37
  136. data/Framework7-0.9.6/kitchen-sink/jade/contacts.jade +0 -115
  137. data/Framework7-0.9.6/kitchen-sink/jade/core-features.jade +0 -74
  138. data/Framework7-0.9.6/kitchen-sink/jade/deep-navbar-2.jade +0 -15
  139. data/Framework7-0.9.6/kitchen-sink/jade/deep-navbar-3.jade +0 -15
  140. data/Framework7-0.9.6/kitchen-sink/jade/deep-navbar.jade +0 -15
  141. data/Framework7-0.9.6/kitchen-sink/jade/forms-buttons.jade +0 -71
  142. data/Framework7-0.9.6/kitchen-sink/jade/forms-checkboxes.jade +0 -152
  143. data/Framework7-0.9.6/kitchen-sink/jade/forms-elements.jade +0 -239
  144. data/Framework7-0.9.6/kitchen-sink/jade/forms-selects.jade +0 -60
  145. data/Framework7-0.9.6/kitchen-sink/jade/forms-storage.jade +0 -134
  146. data/Framework7-0.9.6/kitchen-sink/jade/forms.jade +0 -52
  147. data/Framework7-0.9.6/kitchen-sink/jade/grid.jade +0 -110
  148. data/Framework7-0.9.6/kitchen-sink/jade/hide-navbar-toolbar.jade +0 -38
  149. data/Framework7-0.9.6/kitchen-sink/jade/index.jade +0 -427
  150. data/Framework7-0.9.6/kitchen-sink/jade/infinite-scroll.jade +0 -20
  151. data/Framework7-0.9.6/kitchen-sink/jade/list-view.jade +0 -266
  152. data/Framework7-0.9.6/kitchen-sink/jade/login-screen-embedded.jade +0 -22
  153. data/Framework7-0.9.6/kitchen-sink/jade/login-screen.jade +0 -20
  154. data/Framework7-0.9.6/kitchen-sink/jade/media-lists.jade +0 -170
  155. data/Framework7-0.9.6/kitchen-sink/jade/messages.jade +0 -71
  156. data/Framework7-0.9.6/kitchen-sink/jade/modals.jade +0 -36
  157. data/Framework7-0.9.6/kitchen-sink/jade/navbars-toolbars.jade +0 -43
  158. data/Framework7-0.9.6/kitchen-sink/jade/no-navbar-toolbar.jade +0 -7
  159. data/Framework7-0.9.6/kitchen-sink/jade/no-navbar.jade +0 -7
  160. data/Framework7-0.9.6/kitchen-sink/jade/no-toolbar.jade +0 -17
  161. data/Framework7-0.9.6/kitchen-sink/jade/notifications.jade +0 -23
  162. data/Framework7-0.9.6/kitchen-sink/jade/panels.jade +0 -21
  163. data/Framework7-0.9.6/kitchen-sink/jade/photo-browser.jade +0 -36
  164. data/Framework7-0.9.6/kitchen-sink/jade/popover.jade +0 -21
  165. data/Framework7-0.9.6/kitchen-sink/jade/preloader.jade +0 -31
  166. data/Framework7-0.9.6/kitchen-sink/jade/pull-to-refresh.jade +0 -44
  167. data/Framework7-0.9.6/kitchen-sink/jade/searchbar.jade +0 -146
  168. data/Framework7-0.9.6/kitchen-sink/jade/slider-custom.jade +0 -23
  169. data/Framework7-0.9.6/kitchen-sink/jade/slider-horizontal.jade +0 -18
  170. data/Framework7-0.9.6/kitchen-sink/jade/slider-multiple.jade +0 -48
  171. data/Framework7-0.9.6/kitchen-sink/jade/slider-nested.jade +0 -26
  172. data/Framework7-0.9.6/kitchen-sink/jade/slider-space-between.jade +0 -18
  173. data/Framework7-0.9.6/kitchen-sink/jade/slider-vertical.jade +0 -18
  174. data/Framework7-0.9.6/kitchen-sink/jade/slider.jade +0 -57
  175. data/Framework7-0.9.6/kitchen-sink/jade/sortable-list.jade +0 -107
  176. data/Framework7-0.9.6/kitchen-sink/jade/swipe-delete.jade +0 -195
  177. data/Framework7-0.9.6/kitchen-sink/jade/tabbar-labels.jade +0 -54
  178. data/Framework7-0.9.6/kitchen-sink/jade/tabbar.jade +0 -50
  179. data/Framework7-0.9.6/kitchen-sink/jade/tabs.jade +0 -34
  180. data/Framework7-0.9.6/kitchen-sink/jade/transitions.jade +0 -27
  181. data/Framework7-0.9.6/kitchen-sink/js/kitchen-sink.js +0 -442
  182. data/Framework7-0.9.6/kitchen-sink/less/kitchen-sink.less +0 -245
  183. data/Framework7-0.9.6/kitchen-sink/list-view.html +0 -318
  184. data/Framework7-0.9.6/kitchen-sink/login-screen-embedded.html +0 -36
  185. data/Framework7-0.9.6/kitchen-sink/login-screen.html +0 -21
  186. data/Framework7-0.9.6/kitchen-sink/media-lists.html +0 -173
  187. data/Framework7-0.9.6/kitchen-sink/messages.html +0 -84
  188. data/Framework7-0.9.6/kitchen-sink/modals.html +0 -33
  189. data/Framework7-0.9.6/kitchen-sink/navbars-toolbars.html +0 -46
  190. data/Framework7-0.9.6/kitchen-sink/no-navbar-toolbar.html +0 -11
  191. data/Framework7-0.9.6/kitchen-sink/no-navbar.html +0 -11
  192. data/Framework7-0.9.6/kitchen-sink/no-toolbar.html +0 -18
  193. data/Framework7-0.9.6/kitchen-sink/notifications.html +0 -21
  194. data/Framework7-0.9.6/kitchen-sink/panel-right2.html +0 -16
  195. data/Framework7-0.9.6/kitchen-sink/panel-right3.html +0 -16
  196. data/Framework7-0.9.6/kitchen-sink/panels.html +0 -23
  197. data/Framework7-0.9.6/kitchen-sink/photo-browser.html +0 -36
  198. data/Framework7-0.9.6/kitchen-sink/popover.html +0 -21
  199. data/Framework7-0.9.6/kitchen-sink/preloader.html +0 -28
  200. data/Framework7-0.9.6/kitchen-sink/pull-to-refresh.html +0 -52
  201. data/Framework7-0.9.6/kitchen-sink/searchbar.html +0 -233
  202. data/Framework7-0.9.6/kitchen-sink/slider-custom.html +0 -28
  203. data/Framework7-0.9.6/kitchen-sink/slider-horizontal.html +0 -29
  204. data/Framework7-0.9.6/kitchen-sink/slider-multiple.html +0 -89
  205. data/Framework7-0.9.6/kitchen-sink/slider-nested.html +0 -32
  206. data/Framework7-0.9.6/kitchen-sink/slider-space-between.html +0 -29
  207. data/Framework7-0.9.6/kitchen-sink/slider-vertical.html +0 -29
  208. data/Framework7-0.9.6/kitchen-sink/slider.html +0 -54
  209. data/Framework7-0.9.6/kitchen-sink/sortable-list.html +0 -137
  210. data/Framework7-0.9.6/kitchen-sink/swipe-delete.html +0 -216
  211. data/Framework7-0.9.6/kitchen-sink/tabbar-labels.html +0 -51
  212. data/Framework7-0.9.6/kitchen-sink/tabbar.html +0 -0
@@ -1,5 +0,0 @@
1
- .DS_Store
2
- node_modules
3
- build
4
- custom
5
- npm-debug.log
@@ -1,33 +0,0 @@
1
- {
2
- "node" : true,
3
- "browser" : true,
4
- "esnext" : true,
5
- "bitwise" : false,
6
- "curly" : false,
7
- "eqeqeq" : true,
8
- "eqnull" : true,
9
- "immed" : true,
10
- "latedef" : true,
11
- "newcap" : true,
12
- "noarg" : true,
13
- "undef" : true,
14
- "strict" : true,
15
- "trailing" : true,
16
- "smarttabs" : true,
17
- "quotmark" : "single",
18
- "indent" : 4,
19
- "white" : true,
20
- "globals":{
21
- "document": true,
22
- "WebKitCSSMatrix": true,
23
- "Document": true,
24
- "window": true,
25
- "$":true,
26
- "t7": true,
27
- "Framework7":true,
28
- "Template7":true,
29
- "Event":true,
30
- "DocumentTouch":true,
31
- "app":true
32
- }
33
- }
@@ -1,5 +0,0 @@
1
- language: node_js
2
- node_js:
3
- - "0.10"
4
- before_script:
5
- - npm install -g grunt-cli
@@ -1,342 +0,0 @@
1
- # Change Log
2
-
3
- ## Framework7 v0.9.6 - Updated on September 12, 2014
4
- * Template7
5
- * Now Framework7 comes with its own template engine - Template7. Which has totally the same syntax as Handlebars, but a way faster in templates compilation and rendering, especially in mobile Safari (up to 4 times faster!)
6
- * It is now globally available in window as `Template7` function
7
- * Modals
8
- * App's `modalTemplate` and `modalActionsTemplate` now accept Template7 html template string
9
- * Swipeouts
10
- * Totally reworked swipeouts layout (not compatible with previous F7 versions) and behavior to make them like in iOS 8. Now they could be on both sides (on left or/and right) and support overswipe to immediately trigger action without click on action button
11
- * Status bar overlay now detected correctly on iPhone 6 and 6 plus
12
- * Slider
13
- * New .update() method to update slides, positions, sizes, pagination if you add slides dynamically
14
- * New onTransitionStart/End callbacks parameters
15
- * Totally prevent click events and custom handlers when `preventClicks` enabled
16
- * Accordion
17
- * Now triggers "open", "opened", "close", "closed" events
18
- * Action Sheet
19
- * Now could be automatically converted to Popover on iPad if you call it with new two-arguments syntax .actionSheet(target, buttons)
20
- * Pull To Refresh
21
- * Pull to refresh content receives additional "pull-down" class when pulled down
22
- * Fixed issues on iOS 8
23
- * Fast Clicks
24
- * New "Active state" feature to make :active state behavior like in apps not like in web. With two additional App parameters: `activeState` and `activeStateElements`. It is enabled by default
25
- * Now fast clicks could be disabled on some specific element with "no-fastclick" class
26
- * New `fastClicksDistanceThreshold` app parameter to set distance threshold to prevent short taps
27
- * Fixed issue with input:file
28
- * Dom7
29
- * Support to add event listeners with "capture", so the full syntax now is `.on(eventName, target, listener, capture)` or `.on(eventName, listener, capture)`
30
- * New `.once` method to add event listener that should be executed only once
31
- * JSONP requests now support "error" callback and script load timeout
32
- * Notifications
33
- * Prevent .onClick callback function when user clicks on "close" icon
34
- * Highly reworked App router:
35
- * New `uniqueHistory` App/View initialization parameter, that will remove duplicate pages from View history and from DOM
36
- * Now, there will be only one page in View's DOM if `swipeBackPage` and `preloadPreviousPage` App/View parameters are set to `false`
37
- * New View's `.loadPage(options)` method that accepts object with options: `animatePages`, `ignoreCache`, `url`, `content`, `forceUrl`, `reload`, `reloadPrevious`
38
- * New View's `.goBack(options)` method that accepts object with options: `animatePages`, `ignoreCache`, `url`, `content`, `forceUrl`, `reload`, `reloadPrevious`
39
- * Links now also support these options as data- attributes, like `<a href="#" data-animatePages="true" data-ignoreCache="true" ... >`
40
- * New View's .loadPage's shortcuts methods:
41
- * `.loadPage(url)` - load page by specified url
42
- * `.loadContent(content)` - load page with specified content
43
- * `.reloadPage(url)` - reload currenly active view's page from specified URL
44
- * `.reloadPreviousPage(url)` - the same but for previous (left) view's page
45
- * `.reloadContent(content)` - reload currenly active view's page with passed HTML content
46
- * `.reloadPreviousContent(content)` - the same but for previous (left) view's page
47
- * `.refreshPage()` - refresh currenly active view's page from specified URL
48
- * `.refreshPreviousPage()` - the same but for previous (left) view's page
49
- * Tab bar
50
- * New additional classes `tabbar-labels-fixed` and `tabbar-labels-through` (for Views, View, Pages and Page) for pages with tab bar to set required bottom padding on `page-content`
51
- * ToDo7 / Weather7 apps updated with support of new swipeouts and now they use Template7 for templating
52
-
53
- ## Framework7 v0.9.5 - Updated on August 15, 2014
54
- * Colors
55
- * Now Framework7 supports color themes: 10 default iOS colors (red, green, blue, lightblue, gray, white, black, orange, yellow, pink) that can be applied to any interactive elements (icons, links, buttons, form elements)
56
- * There are also introduced layout themes (with additional framework7.themes.css file) which contains 2 additional layout themes: dark and white. These themes change look of whole app.
57
- * Core
58
- * Links support additional "with-animation" class name to force animation if it is disabled in App/View parameters
59
- * Reworked `allowPageChange` flag. Now it is linked to View. This allows to load pages in multiple Views at the same time
60
- * View
61
- * New `onSwipeBackMove` callback function parameter that will be executed during swipe back
62
- * Also triggers `swipebackmove` event during swipe back
63
- * Dom7
64
- * Dom7 is totally restructured, now it is a global Window function and can be accessible from everywhere
65
- * New `.scrollLeft(left, duration)`, `.scrollTo(left, top, duration)` methods
66
- * Fixed issue with multiple JSONP requests at the same time
67
- * `.removeClass` now will remove "class" attribute if class name is not passed as argument
68
- * Custom build
69
- * Included missed Pull To Refresh' css styles
70
- * Styles
71
- * Half-pixel iOS 8 borders are available only for retina iOS screens
72
- * Fixed list view items borders on nested lists and accordions
73
- * Device API
74
- * `html` also has "retina" class on HiDPI screens
75
- * Panels
76
- * Resolved conflict with swipe panel and swipeouts
77
- * New `swipePanelCloseOpposite` app parameter that also allows to close opposite panel with swipe
78
- * Fixed multi touch issue
79
- * Content block
80
- * Now can be inset with additional `inset` and `tablet-inset` classes
81
- * Messages/Message Bar
82
- * Fixed crashes on iOS 8
83
- * Message Bar has additional `data-max-height` attribute to set its max grow height
84
- * Photo Browser
85
- * New `onOpen`, `onClose`, `onSwipeToClose` callback functions parameters
86
- * New `ofText` parameter allows customisation of "of" word in photos counter "3 of 5"
87
- * Fixed next/prev icons opacity when there is only one photo browser slide
88
- * Resolved z-indexes conflict with Popup
89
- * Fixed panning ability on Android
90
- * Smart Select
91
- * Smart select's `<option>` now support additional `data-option-icon` and `data-option-image` attributes to set appropriate media element on opened Smart select page
92
- * `data-backtext`, `data-pagetitle`, `data-backonselect` attributes are changed to `data-back-text`, `data-page-title`, `data-back-onselect`
93
- * Icons
94
- * Checkbox and radio icons images now moved to CSS with SVG
95
- * Fast Clicks
96
- * Automatically trigger blur on form inputs on Android when it is required
97
- * Pull To Refresh
98
- * New `app.pullToRefreshTrigger` method to trigger pull to refresh manually
99
- * Improved scrolling performance on long lists
100
- * Fixed issue with continuous browser repaint because of preloader animation
101
- * Fixed Android's "lost focus" bug
102
- * Grid
103
- * Now grid is responsive, and number of columns could be changed on Phone/Tablet with additional class like `.col-50.tablet-33`
104
- * Tabs
105
- * Tabs links now support more complex layout, now each tab's link could be placed in different Dom parts and on different level
106
- * Pages
107
- * `pageData` now has additional `swipeBack` property within pageBefore/AfterAnimation callback to detect that page was animated after swipe back
108
- * `pageData` now has additional `navbarInnerContainer` property with related Navbar inner (only for Dynamic Navbar)
109
- * Action Sheet
110
- * Action Sheet button doesn't support "red" property anymore. Now it supports "color" property where you may specify any of 10 default colors
111
- * Lot of minor fixes
112
-
113
- ### 0.9.5 Breaking changes!
114
- * Icons now haven't color name in class, there are no more "icon-back-blue", "icon-bars-blue", etc. Now they are just "icon-back", "icon-bars", etc. Their color could be changed with introduced color themes.
115
- * Badges don't support additional badge-red/green/etc. classes anymore. Their color could be changed with introduced color themes
116
- * There is no more `app.allowPageChange` flag. Now this flag is linked to each View
117
- * Because of Dom7 now globally available, the `Framework7.$` dom export is now deprecated and will be removed in next release
118
- * Smart select `data-backtext`, `data-pagetitle`, `data-backonselect` attributes are changed to `data-back-text`, `data-page-title`, `data-back-onselect`
119
-
120
-
121
- ## Framework7 v0.9.4 - Updated on July 26, 2014
122
-
123
- * New Framework7 grunt custom library builder where you can include only required components
124
- * Half-pixel (0.5px) borders in iOS 8 for list views, navbars, toolbars, modals, etc.
125
- * Core
126
- * New "statusbarOverlay" parameter to overwrite automatic statusbar overlay detection
127
- * Searchbar
128
- * Now it may consider and hide item-dividers and grouped list if nothing found there with two new App's options: searchbarHideDividers and searchbarHideGroups. By default, they are enabled (true)
129
- * Smart Select
130
- * Now it consider and doesn't output "disabled" options and will not be opened if it has "disabled" class or attribute
131
- * Dom7
132
- * New .removeAttr(attrName) method to remove attribute
133
- * Now it is possible to detach live event listeners with the same "live" syntax `$('something').off('click', '.target', listener)`
134
- * Icons
135
- * New "icon-camera" (in message bar) and "icon-plus" icons
136
- * Views
137
- * New "url" parameter to specify View's default (startup) URL
138
- * Tabs
139
- * Now it is possible to swith multiple tabs with single tab-link by using "data-tab" attribute instead of "#" href attribute
140
- * Modals
141
- * New "tablet-fullscreen" class on Popup to make fullscreen popup in iPad
142
-
143
- ## Framework7 v0.9.3 - Updated on July 20, 2014
144
-
145
- * New Accordion component
146
- * New Login Screen component
147
- * Messages
148
- * Avatars now hide/show with transition
149
- * Fixes white space wrap along long-words messages
150
- * Views
151
- * New "no-swipeback" class for .page to prevent Swipe Back on this page
152
- * Grid
153
- * Grid reworked to flex-box layout
154
- * Fast Clicks
155
- * Improved behavior on form fields
156
- * Slider
157
- * New "onOppositeTouchMove" callback
158
- * Photo Browser
159
- * New "swipeToClose" parameter that allows to close photo browser on swipe up/down
160
-
161
- ## Framework7 v0.9.2 - Updated on July 12, 2014
162
-
163
- * New Message Bar component to be used with messages
164
- * Totally reworked Messages, now they support avatar and user name
165
- * Core:
166
- * New "externalLinks" (array) parameter to set custom external links
167
- * New "cacheIgnoreGetParameters" parameter to ignore caching for same urls with different GET parameters
168
- * New "pushStateRoot" parameter that allow to use PushState with empty pushStateSeparator
169
- * Smart Select:
170
- * Support for "optgroup" tag which will be converted do list dividers on smart select page
171
- * Support for "multiple" attribute that will convert radios to checkboxes on smart select page
172
- * New "smartSelectBackOnSelect" option that will close Smart Select page when user choose item
173
- * Modals:
174
- * New Login Modal available by myApp.modalLogin() method
175
- * New Password Modal available by myApp.modalPassword() method
176
- * New "close-popover" class for links to close popover
177
- * New .onClick(modal, index) callback function for custom Modal that receives index number of clicked button
178
- * Searchbar:
179
- * New option to specify "found" and "not-found" containers using data-searchbar-found and data-searchbar-not-found attributes
180
- * Dom7:
181
- * .next() and .prev() methods now support matching selector as an argument
182
- * New .scrollTop(position, duration) method for animated scroll on element or to get element's scroll top position if no arguments passed
183
- * Page Callbacks API:
184
- * Support for "*" page name value to trigger callback for all pages
185
- * Photo Browser
186
- * Videos support with &lt;video&gt; or within embedded iframes
187
- * Captions
188
- * New syntax to define photos, not it could be array of objects with "url" and "caption" properties
189
- * New Photo Browser parameters: captionsTheme, expositionHideCaptions, captionsTemplate, captionTemplate, objectTemplate
190
- * View:
191
- * New .activePage property that contains pageData of currently active page
192
- * Styles:
193
- * New disabled styles for elements with "disabled" class or attribute
194
- * Fixes:
195
- * Fixed issues with caching of Dynamic content
196
- * Fixed swipeouts when they are in hidden tabs
197
- * Corrected z-index relations between modals, overlays and status bar overlay
198
-
199
- ## Framework7 v0.9.0 - Updated on June 28, 2014
200
-
201
- * Full RTL support for right to left languages (Arabic, Hebrew)!
202
- * New Page callbacks API
203
- * Smart Select: configurable page title and back link text via data-pagetitle and data-backtext attributes, new smartSelectBackText app parameter
204
- * Dom7: new .prop(prop, value) method to set/access HTMLElement properties (checked, disabled, etc.)
205
- * Search Bar: improved search for items that don't match to "search-in"; new "enableSearch", "disableSearch", "clearSearch" events
206
- * Slider: support for fractional slidesPerView value
207
- * Improved behavior of nested Views
208
- * New ".tablet-inset" class for List Views to make them inset only on tablets (iPad)
209
- * Navbar: fixed layout with only "right" element
210
- * Changed preloader's CSS animation name to prevent conflicts with Font Awesome
211
-
212
- ## Framework7 v0.8.8 - Updated on June 21, 2014
213
-
214
- * New App and View option to disable page animations - "animatePages:false"
215
- * Improved behavior of Notifications
216
- * Improved performance of Swipeouts
217
- * Fixed Ajax loading when using ajaxLinks parameter
218
- * Slider: prevent unnecessary clicks during touch move
219
- * Preprocess now has new parameter - next(content) callback function to continue page loading from asynchronous thread
220
- * Plugins API: new "swipePanelSetTransform" plugins hook; now it is possible to preprocess content by plugin
221
- * Push State: new "pushStateNoAnimation" and "pushStateSeparator" app parameters
222
- * Reset styles for "input[type=datetime-local]"
223
-
224
- ## Framework7 v0.8.7 - Updated on June 15, 2014
225
-
226
- * New Notifications component
227
- * New Search Bar component
228
- * Slider: autoplay feature; fixed styles for nested sliders
229
- * Dom7: fixed .off method to remove multiple events; new .nextAll and .prevAll methods
230
- * Device API: new "gt-" (greater than) iOS version classes on HTML element
231
- * Smart Select: now inherits no-navbar/toolbar props from page; now available with Search Bar
232
- * Pluigns API: new 'pageBeforeRemove' plugin hook
233
- * Separate overlays for Modals (modal, action sheet, popover) and Popups
234
- * Reset styles for "input[type=number]"
235
-
236
- ## Framework7 v0.8.6 - Updated on May 31, 2014
237
-
238
- * New Infinite Scroll component
239
- * New Plugins API
240
- * Slider: prevent links clicks during swipe
241
- * Swipeout: new "swipeout" callback which returns opened progress
242
- * Views: swipeBackPage App parameters could be overwrited for View
243
- * Views: totally reworked to Classes
244
- * Navbar: dynamic navbars now triggers 'navbarInit' event when added to DOM
245
- * Tabs: new method app.showTab(tab) to switch tabs programmatically
246
-
247
- ## Framework7 v0.8.5 - Updated on May 24, 2014
248
-
249
- * Many minor fixes
250
-
251
- ## Framework7 v0.8.4 - Updated on May 17, 2014
252
-
253
- * New Slider component
254
- * New Photo Browser component
255
- * New arguments for predefined Modals (Alert, Confirm, Prompt) - myApp.alert(text, title, callbackOk, callbackCancel)
256
- * "X-Requested-With: XMLHttpRequest" header for non crossdomain Ajax requests
257
- * "cacheIgnoreList" app parameter renamed to "cacheIgnore"
258
- * New transitional/animated Tabs
259
- * New "pageBeforeRemove" Page callback
260
- * Fixed swipe-panels when swiping during opened Modal/Overlay
261
- * Removed Rails distributive
262
- * New $.getTranslate(el, axis) DOM7 helper
263
- * Lot of minor fixes and improvements
264
-
265
- ## Framework7 v0.8.2 - Updated on May 8, 2014
266
-
267
- * Automatically submit forms using Ajax with additional "ajax-submit" and "ajax-submit-onchange" classes on form
268
- * New Ajax DOM lib methods $.ajax(), $.get(), $.post(), $.getJSON()
269
- * New DOM lib util $.serializeObject(obj)
270
- * Ability to use Messages with new messages on top
271
- * "cacheIgnoreList" app parameter to add array of URLs that should not be cached
272
- * New app.support object with features detection
273
- * Fix for submit button on iOS
274
-
275
- ## Framework7 v0.8.0 - Updated on May 2, 2014
276
-
277
- * Sortable lists
278
- * Disable caching for specific pages with "nocache" parameter in URL
279
- * New "swipePanelActiveArea" parameter to allow swipe panels on specific distance from side of screen
280
- * Totally reworked internal FastClicks library
281
- * "device" object moved to Framework7.prototype for easy access before app intialization
282
- * New DOM7 methods - .insertAfter()
283
- * Fixed/improved DOM7 methods - .data(), .html(), .css()
284
- * Better animation sync for dynamic navbar and pages
285
- * New "viewClass", "viewMainClass", "viewsClass" parameters allow to have custom classes on Views
286
-
287
- ## Framework7 v0.7.8 - Updated on April 27, 2014
288
-
289
- * pushState, FastClicks improvements
290
- * Allow modal without title
291
- * New .data() DOM7 method
292
- * Fix styles for popup with statusbar overlay
293
-
294
- ## Framework7 v0.7.7 - Updated on April 24, 2014
295
-
296
- * pushState navigation
297
- * line-height fix for textarea
298
-
299
- ## Framework7 v0.7.6 - Updated on April 19, 2014
300
-
301
- * Lot of new shortcut methods for DOM7 library: click(), blur(), focus(), focusin(), focusout(), keyup(), keydown(), keypress(), submit(), change(), mousedown(), mousemove(), mouseup(), mouseenter(), mouseleave(), mouseout(), mouseover(), touchstart(), touchend(), touchmove(), resize(), scroll()
302
- * New .eq() DOM7 method
303
- * fixed navbar/toolbar vertical alignment
304
-
305
- ## Framework7 v0.7.5 - Updated on April 18, 2014
306
-
307
- * Swipe panels
308
- * Forms Storage
309
- * Preprocess Ajax content with "preprocess" callback parameter
310
- * Cross-browser checkbox switch
311
- * Fixes for navbar resizing
312
-
313
- ## Framework7 v0.7.4 - Updated on April 12, 2014
314
-
315
- * Smart selects
316
- * Smarter Ajax parser to parse files with different few pages in different views
317
- * Removed deprecated onPageInit/onPageBeforeInit callbacks from app and view
318
- * Refactored pages.js structure to bring mutual methods
319
- * Animated navbar’s left back icon when ".left" is ".sliding"
320
- * Fixed and improvements
321
-
322
- ## Framework7 v0.7.2 - Updated on April 11, 2014
323
-
324
- * improved dist/ app
325
- * small improvements and fixes in form elements
326
-
327
- ## Framework7 v0.7.1 - Updated on April 10, 2014
328
-
329
- * "show" event on active tab
330
- * fix for status bar detection
331
- * check for proper params in addView
332
- * size navbar on tab "show"
333
-
334
- ## Framework7 v0.7.0 - Updated on April 9, 2014
335
-
336
- * new fast clicks library
337
- * .tap() method removed and deprecated!
338
- * domCache to keep prev pages in view
339
- * dynamically generated popup and popover
340
- * improved device object
341
- * selectors engine available via Framework7.$
342
-
@@ -1,560 +0,0 @@
1
- 'use strict';
2
- /*global require:true, module:false*/
3
- module.exports = function (grunt) {
4
- // show elapsed time at the end
5
- require('time-grunt')(grunt);
6
- // load all grunt tasks
7
- require('load-grunt-tasks')(grunt);
8
-
9
- var framework7 = {
10
- filename: 'framework7'
11
- };
12
-
13
-
14
- var customModules = grunt.file.readJSON('modules.json');
15
- var customBanner = '/*\n' +
16
- ' * <%= pkg.name %> <%= pkg.version %> - Custom Build\n' +
17
- ' *\n' +
18
- ' * Included modules: <%= modulesList %>\n' +
19
- ' *\n' +
20
- ' * Copyright <%= grunt.template.today("yyyy") %>, <%= pkg.author %>\n' +
21
- ' * The iDangero.us\n' +
22
- ' * http://www.idangero.us/\n' +
23
- ' *\n' +
24
- ' * Created on: <%= grunt.template.today("mmmm d, yyyy, HH:MM") %>\n' +
25
- '*/\n';
26
-
27
- // List of js files to concatenate
28
- var jsFilesList = [
29
- 'src/js/wrap-start.js',
30
- 'src/js/f7-intro.js',
31
- 'src/js/global-events.js',
32
- 'src/js/views.js',
33
- 'src/js/navbars.js',
34
- 'src/js/searchbar.js',
35
- 'src/js/messagebar.js',
36
- 'src/js/xhr.js',
37
- 'src/js/pages.js',
38
- 'src/js/modals.js',
39
- 'src/js/panels.js',
40
- 'src/js/messages.js',
41
- 'src/js/swipeout.js',
42
- 'src/js/sortable.js',
43
- 'src/js/smart-select.js',
44
- 'src/js/pull-to-refresh.js',
45
- 'src/js/infinite-scroll.js',
46
- 'src/js/tabs.js',
47
- 'src/js/accordion.js',
48
- 'src/js/fast-clicks.js',
49
- 'src/js/clicks.js',
50
- 'src/js/resize.js',
51
- 'src/js/forms-handler.js',
52
- 'src/js/push-state.js',
53
- 'src/js/slider.js',
54
- 'src/js/photo-browser.js',
55
- 'src/js/notifications.js',
56
- 'src/js/plugins.js',
57
- 'src/js/init.js',
58
- 'src/js/f7-outro.js',
59
- 'src/js/dom7-intro.js',
60
- 'src/js/dom7-methods.js',
61
- 'src/js/dom7-ajax.js',
62
- 'src/js/dom7-utils.js',
63
- 'src/js/dom7-outro.js',
64
- 'src/js/proto-support.js',
65
- 'src/js/proto-device.js',
66
- 'src/js/proto-plugins.js',
67
- 'src/js/wrap-end.js',
68
- 'src/js/template7.js'
69
- ];
70
-
71
- // Project configuration.
72
- grunt.initConfig({
73
- framework7: framework7,
74
- // Metadata.
75
- pkg: grunt.file.readJSON('bower.json'),
76
- banner: '/*\n' +
77
- ' * <%= pkg.name %> <%= pkg.version %>\n' +
78
- ' * <%= pkg.description %>\n' +
79
- ' *\n' +
80
- ' * <%= pkg.homepage %>\n' +
81
- ' *\n' +
82
- ' * Copyright <%= grunt.template.today("yyyy") %>, <%= pkg.author %>\n' +
83
- ' * The iDangero.us\n' +
84
- ' * http://www.idangero.us/\n' +
85
- ' *\n' +
86
- ' * Licensed under <%= pkg.license.join(" & ") %>\n' +
87
- ' *\n' +
88
- ' * Released on: <%= grunt.template.today("mmmm d, yyyy") %>\n' +
89
- '*/\n',
90
-
91
- // Task configuration.
92
- connect: {
93
- server: {
94
- options: {
95
- port: 3000,
96
- base: ''
97
- }
98
- }
99
- },
100
- open: {
101
- kitchen: {
102
- path: 'http://localhost:3000/kitchen-sink'
103
- }
104
- },
105
- less: {
106
- build: {
107
- options: {
108
- paths: ['less'],
109
- cleancss: false
110
- },
111
- files: {
112
- 'build/css/<%= framework7.filename %>.css' : ['src/less/<%= framework7.filename %>.less'],
113
- 'build/css/<%= framework7.filename %>.rtl.css' : ['src/less/<%= framework7.filename %>.rtl.less'],
114
- 'build/css/<%= framework7.filename %>.themes.css' : ['src/less/<%= framework7.filename %>.themes.less']
115
- }
116
- },
117
- dist: {
118
- options: {
119
- paths: ['less'],
120
- cleancss: true
121
- },
122
- files: {
123
- 'dist/css/<%= framework7.filename %>.min.css' : ['src/less/<%= framework7.filename %>.less'],
124
- 'dist/css/<%= framework7.filename %>.rtl.min.css' : ['src/less/<%= framework7.filename %>.rtl.less'],
125
- 'dist/css/<%= framework7.filename %>.themes.min.css' : ['src/less/<%= framework7.filename %>.themes.less']
126
- }
127
- },
128
- kitchen: {
129
- options: {
130
- paths: ['kitchen-sink/less/'],
131
- cleancss: false
132
- },
133
- files: {
134
- 'kitchen-sink/css/kitchen-sink.css' : 'kitchen-sink/less/kitchen-sink.less'
135
- }
136
- },
137
- examples: {
138
- options: {
139
- cleancss: false
140
- },
141
- files: [
142
- {
143
- expand: true,
144
- cwd: 'examples/tab-bar/less/',
145
- src: ['*.less'],
146
- dest: 'examples/tab-bar/css/',
147
- ext: '.css'
148
- },
149
- {
150
- expand: true,
151
- cwd: 'examples/split-view/less/',
152
- src: ['*.less'],
153
- dest: 'examples/split-view/css/',
154
- ext: '.css'
155
- },
156
- {
157
- expand: true,
158
- cwd: 'examples/split-view-panel/less/',
159
- src: ['*.less'],
160
- dest: 'examples/split-view-panel/css/',
161
- ext: '.css'
162
- }
163
- ]
164
- },
165
- apps: {
166
- options: {
167
- cleancss: false
168
- },
169
- files: [
170
- {
171
- expand: true,
172
- cwd: 'apps/weather7/less/',
173
- src: ['*.less'],
174
- dest: 'apps/weather7/css/',
175
- ext: '.css'
176
- },
177
- {
178
- expand: true,
179
- cwd: 'apps/todo7/less/',
180
- src: ['*.less'],
181
- dest: 'apps/todo7/css/',
182
- ext: '.css'
183
- },
184
- ]
185
- },
186
- custom: {
187
- options: {
188
- paths: ['less'],
189
- cleancss: false
190
- },
191
- files: {
192
- 'custom/css/<%= framework7.filename %>.custom.css' : ['custom/<%= framework7.filename %>.custom.less'],
193
- }
194
- },
195
- custom_min: {
196
- options: {
197
- paths: ['less'],
198
- cleancss: true
199
- },
200
- files: {
201
- 'custom/css/<%= framework7.filename %>.custom.min.css' : ['custom/<%= framework7.filename %>.custom.less'],
202
- }
203
- },
204
- },
205
- concat: {
206
- options: {
207
- banner: '<%= banner %>',
208
- stripBanners: false,
209
- process: function (src, filename) {
210
- if (filename.indexOf('.js') >= 0) {
211
- var addIndent = ' ';
212
- filename = filename.replace('src/js/', '');
213
- if (filename === 'wrap-start.js' || filename === 'wrap-end.js' || filename === 'template7.js') {
214
- addIndent = '';
215
- }
216
- var add4spaces = ('f7-intro.js f7-outro.js proto-device.js proto-plugins.js proto-support.js dom7-intro.js dom7-outro.js').split(' ');
217
- if (add4spaces.indexOf(filename) >= 0) {
218
- addIndent = ' ';
219
- }
220
- var add8spaces = ('dom7-methods.js dom7-ajax.js dom7-utils.js').split(' ');
221
- if (add8spaces.indexOf(filename) >= 0) {
222
- addIndent = ' ';
223
- }
224
- src = grunt.util.normalizelf(src);
225
- return src.split(grunt.util.linefeed).map(function (line) {
226
- return addIndent + line;
227
- }).join(grunt.util.linefeed);
228
- }
229
- else return src;
230
- }
231
- },
232
- js: {
233
- src: jsFilesList,
234
- dest: 'build/js/<%= framework7.filename %>.js'
235
- },
236
- css_build: {
237
- src: ['build/css/<%= framework7.filename %>.css'],
238
- dest: 'build/css/<%= framework7.filename %>.css'
239
- },
240
- css_dist: {
241
- src: ['dist/css/<%= framework7.filename %>.min.css'],
242
- dest: 'dist/css/<%= framework7.filename %>.min.css'
243
- },
244
- js_custom: {
245
- options: {
246
- banner: customBanner
247
- },
248
- src: '<%= modulesJsList %>',
249
- dest: 'custom/js/<%= framework7.filename %>.custom.js'
250
- },
251
- less_custom: {
252
- options: {
253
- banner: '',
254
- },
255
- src: '<%= modulesLessList %>',
256
- dest: 'custom/<%= framework7.filename %>.custom.less'
257
- },
258
- css_custom: {
259
- options: {
260
- banner: customBanner
261
- },
262
- files: {
263
- 'custom/css/<%= framework7.filename %>.custom.css' : ['custom/css/<%= framework7.filename %>.custom.css'],
264
- 'custom/css/<%= framework7.filename %>.custom.min.css' : ['custom/css/<%= framework7.filename %>.custom.min.css'],
265
- }
266
- }
267
- },
268
- uglify: {
269
- options: {
270
- banner: '<%= banner %>'
271
- },
272
- dist: {
273
- src: ['dist/js/<%= framework7.filename %>.js'],
274
- dest: 'dist/js/<%= framework7.filename %>.min.js',
275
- },
276
- custom: {
277
- options: {
278
- banner: customBanner
279
- },
280
- src: ['custom/js/<%= framework7.filename %>.custom.js'],
281
- dest: 'custom/js/<%= framework7.filename %>.custom.min.js',
282
- }
283
- },
284
- jshint: {
285
- options: {
286
- jshintrc: '.jshintrc',
287
- reporter: require('jshint-stylish')
288
- },
289
- build: {
290
- src: ['Gruntfile.js', 'build/js/framework7.js']
291
- },
292
- custom: {
293
- src: ['custom/js/<%= framework7.filename %>.custom.js']
294
- }
295
- },
296
-
297
- watch: {
298
- build: {
299
- files: ['src/**'],
300
- tasks: ['build'],
301
- options: {
302
- livereload: true
303
- }
304
- },
305
- kitchen: {
306
- files: ['kitchen-sink/jade/**', 'kitchen-sink/less/**'],
307
- tasks: ['jade:kitchen', 'less:kitchen'],
308
- options: {
309
- livereload: true
310
- }
311
- },
312
- examples: {
313
- files: [
314
- 'examples/tab-bar/jade/**', 'examples/tab-bar/less/**',
315
- 'examples/split-view/jade/**', 'examples/split-view/less/**',
316
- 'examples/split-view-panel/jade/**', 'examples/split-view-panel/less/**'
317
- ],
318
- tasks: ['jade:examples', 'less:examples'],
319
- options: {
320
- livereload: true
321
- }
322
- },
323
- apps: {
324
- files: [
325
- 'apps/weather7/jade/**', 'apps/weather7/less/**',
326
- 'apps/todo7/jade/**', 'apps/todo7/less/**',
327
- ],
328
- tasks: ['jade:apps', 'less:apps'],
329
- options: {
330
- livereload: true
331
- }
332
- }
333
- },
334
- jade: {
335
- build: {
336
- options: {
337
- pretty: true,
338
- },
339
- files: [{
340
- expand: true,
341
- cwd: 'src/templates/',
342
- src: ['*.jade'],
343
- dest: 'build/',
344
- ext: '.html'
345
- }]
346
- },
347
- kitchen: {
348
- options: {
349
- pretty: true
350
- },
351
- files: [{
352
- expand: true,
353
- cwd: 'kitchen-sink/jade/',
354
- src: ['*.jade'],
355
- dest: 'kitchen-sink/',
356
- ext: '.html'
357
- }]
358
- },
359
- examples: {
360
- options: {
361
- pretty: true
362
- },
363
- files: [
364
- {
365
- expand: true,
366
- cwd: 'examples/tab-bar/jade/',
367
- src: ['*.jade'],
368
- dest: 'examples/tab-bar/',
369
- ext: '.html'
370
- },
371
- {
372
- expand: true,
373
- cwd: 'examples/split-view/jade/',
374
- src: ['*.jade'],
375
- dest: 'examples/split-view/',
376
- ext: '.html'
377
- },
378
- {
379
- expand: true,
380
- cwd: 'examples/split-view-panel/jade/',
381
- src: ['*.jade'],
382
- dest: 'examples/split-view-panel/',
383
- ext: '.html'
384
- },
385
-
386
- ]
387
- },
388
- apps: {
389
- options: {
390
- pretty: true
391
- },
392
- files: [
393
- {
394
- expand: true,
395
- cwd: 'apps/weather7/jade/',
396
- src: ['*.jade'],
397
- dest: 'apps/weather7/',
398
- ext: '.html'
399
- },
400
- {
401
- expand: true,
402
- cwd: 'apps/todo7/jade/',
403
- src: ['*.jade'],
404
- dest: 'apps/todo7/',
405
- ext: '.html'
406
- },
407
- ]
408
- }
409
- },
410
- copy: {
411
- build: {
412
- files: [
413
- {
414
- expand: true,
415
- cwd: 'src/',
416
- src: ['img/**'],
417
- dest: 'build/'
418
- },
419
- {
420
- expand: true,
421
- cwd: 'src/my-app/',
422
- src: ['my-app.css'],
423
- dest: 'build/css/'
424
- },
425
- {
426
- expand: true,
427
- cwd: 'src/my-app/',
428
- src: ['my-app.js'],
429
- dest: 'build/js/'
430
- }
431
- ]
432
- },
433
- dist: {
434
- files: [
435
- {
436
- expand: true,
437
- cwd: 'build/',
438
- src: ['**'],
439
- dest: 'dist/'
440
- }
441
- ]
442
- },
443
- },
444
- });
445
-
446
- // Default task.
447
- this.registerTask('default', ['build']);
448
-
449
- // Build a new version of the library
450
- this.registerTask('test', 'Test of <%= pkg.name %>', [
451
- 'concat:js',
452
- 'less:build',
453
- 'concat:css_build',
454
- 'jshint:build',
455
- ]);
456
-
457
- // Build a new version of the library
458
- this.registerTask('build', 'Builds a development version of <%= pkg.name %>', [
459
- 'concat:js',
460
- 'less:build',
461
- 'concat:css_build',
462
- 'jshint:build',
463
- 'copy:build',
464
- 'jade:build',
465
- ]);
466
-
467
- // Release
468
- this.registerTask('dist', 'Builds a distributable version of <%= pkg.name %>', [
469
- 'concat:js',
470
- 'less:build',
471
- 'less:dist',
472
- 'concat:css_build',
473
- 'concat:css_dist',
474
- 'jshint:build',
475
- 'copy:build',
476
- 'jade:build',
477
- 'copy:dist',
478
- 'uglify:dist'
479
- ]);
480
-
481
-
482
- // Kitchen Sink
483
- this.registerTask('kitchen', 'Builds a kithcen sink', [
484
- 'build',
485
- 'jade:kitchen',
486
- 'less:kitchen'
487
- ]);
488
- this.registerTask('examples', 'Compile examples less and jade files', [
489
- 'jade:examples',
490
- 'less:examples'
491
- ]);
492
- this.registerTask('apps', 'Compile apps less and jade files', [
493
- 'jade:apps',
494
- 'less:apps'
495
- ]);
496
-
497
- // Server
498
- this.registerTask('server', 'Run server', [
499
- 'connect',
500
- 'open',
501
- 'watch'
502
- ]);
503
-
504
- // Custom Build
505
- this.registerTask('custom', 'Include modules in custom build', function (modules) {
506
- if (modules) modules = modules.split(',');
507
- modules = modules || [];
508
- var modulesJsList = [], modulesLessList = [];
509
- var i, module;
510
- modulesJsList.push.apply(modulesJsList, customModules.core_intro.js);
511
- modulesLessList.push.apply(modulesLessList, customModules.core_intro.less);
512
-
513
- for (i = 0; i < modules.length; i++) {
514
- module = customModules[modules[i]];
515
- if (module.dependencies.length > 0) {
516
- modules.push.apply(modules, module.dependencies);
517
- }
518
- }
519
- for (i = 0; i < modules.length; i++) {
520
- module = customModules[modules[i]];
521
- if (!(module)) continue;
522
-
523
- if (module.js.length > 0) {
524
- modulesJsList.push.apply(modulesJsList, module.js);
525
- }
526
- if (module.less.length > 0) {
527
- modulesLessList.push.apply(modulesLessList, module.less);
528
- }
529
- }
530
- modulesJsList.push.apply(modulesJsList, customModules.core_outro.js);
531
- modulesLessList.push.apply(modulesLessList, customModules.core_outro.less);
532
-
533
- // Unique
534
- var uniqueJsList = [];
535
- var uniqueLessList = [];
536
- for (i = 0; i < modulesJsList.length; i++) {
537
- if (uniqueJsList.indexOf(modulesJsList[i]) < 0) uniqueJsList.push(modulesJsList[i]);
538
- }
539
- for (i = 0; i < modulesLessList.length; i++) {
540
- if (uniqueLessList.indexOf(modulesLessList[i]) < 0) uniqueLessList.push(modulesLessList[i]);
541
- }
542
-
543
- // Tasks vars
544
- grunt.config.set('modulesJsList', uniqueJsList);
545
- grunt.config.set('modulesLessList', uniqueLessList);
546
- grunt.config.set('modulesList', modules.join(', '));
547
-
548
- // Run tasks
549
- grunt.task.run([
550
- 'concat:js_custom',
551
- 'jshint:custom',
552
- 'uglify:custom',
553
- 'concat:less_custom',
554
- 'less:custom',
555
- 'less:custom_min',
556
- 'concat:css_custom'
557
- ]);
558
- });
559
-
560
- };