framework7rails 0.9.7 → 1.0.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (230) hide show
  1. checksums.yaml +4 -4
  2. data/.gitignore +17 -0
  3. data/Framework7-0.9.6/.gitignore +5 -0
  4. data/Framework7-0.9.6/.jshintrc +33 -0
  5. data/Framework7-0.9.6/.travis.yml +5 -0
  6. data/Framework7-0.9.6/CHANGELOG.md +342 -0
  7. data/Framework7-0.9.6/Gruntfile.js +560 -0
  8. data/Framework7-0.9.6/LICENSE +20 -0
  9. data/Framework7-0.9.6/README.md +113 -0
  10. data/Framework7-0.9.6/apps/todo7/css/todo7.css +208 -0
  11. data/Framework7-0.9.6/apps/todo7/img/Icon-152.png +0 -0
  12. data/Framework7-0.9.6/apps/todo7/img/bg.jpg +0 -0
  13. data/Framework7-0.9.6/apps/todo7/img/icon-114.png +0 -0
  14. data/Framework7-0.9.6/apps/todo7/img/icon-120.png +0 -0
  15. data/Framework7-0.9.6/apps/todo7/img/icon-144.png +0 -0
  16. data/Framework7-0.9.6/apps/todo7/img/icon-57.png +0 -0
  17. data/Framework7-0.9.6/apps/todo7/img/icon-72.png +0 -0
  18. data/Framework7-0.9.6/apps/todo7/img/icon-76.png +0 -0
  19. data/Framework7-0.9.6/apps/todo7/index.html +112 -0
  20. data/Framework7-0.9.6/apps/todo7/jade/index.jade +99 -0
  21. data/Framework7-0.9.6/apps/todo7/js/todo7.js +102 -0
  22. data/Framework7-0.9.6/apps/todo7/less/todo7.less +221 -0
  23. data/Framework7-0.9.6/apps/todo7/manifest.php +27 -0
  24. data/Framework7-0.9.6/apps/weather7/css/weather7.css +291 -0
  25. data/Framework7-0.9.6/apps/weather7/img/bg.jpg +0 -0
  26. data/Framework7-0.9.6/apps/weather7/img/icon-114.png +0 -0
  27. data/Framework7-0.9.6/apps/weather7/img/icon-120.png +0 -0
  28. data/Framework7-0.9.6/apps/weather7/img/icon-144.png +0 -0
  29. data/Framework7-0.9.6/apps/weather7/img/icon-152.png +0 -0
  30. data/Framework7-0.9.6/apps/weather7/img/icon-57.png +0 -0
  31. data/Framework7-0.9.6/apps/weather7/img/icon-72.png +0 -0
  32. data/Framework7-0.9.6/apps/weather7/img/icon-76.png +0 -0
  33. data/Framework7-0.9.6/apps/weather7/img/logo.png +0 -0
  34. data/Framework7-0.9.6/apps/weather7/img/yahoo-logo.png +0 -0
  35. data/Framework7-0.9.6/apps/weather7/index.html +127 -0
  36. data/Framework7-0.9.6/apps/weather7/jade/index.jade +113 -0
  37. data/Framework7-0.9.6/apps/weather7/js/weather7.js +213 -0
  38. data/Framework7-0.9.6/apps/weather7/less/weather7.less +294 -0
  39. data/Framework7-0.9.6/apps/weather7/manifest.php +29 -0
  40. data/Framework7-0.9.6/bower.json +30 -0
  41. data/Framework7-0.9.6/dist/about.html +28 -0
  42. data/Framework7-0.9.6/dist/css/framework7.css +4922 -0
  43. data/Framework7-0.9.6/dist/css/framework7.min.css +15 -0
  44. data/Framework7-0.9.6/dist/css/framework7.rtl.css +427 -0
  45. data/Framework7-0.9.6/dist/css/framework7.rtl.min.css +1 -0
  46. data/Framework7-0.9.6/dist/css/framework7.themes.css +279 -0
  47. data/Framework7-0.9.6/dist/css/framework7.themes.min.css +1 -0
  48. data/Framework7-0.9.6/dist/css/my-app.css +0 -0
  49. data/Framework7-0.9.6/dist/form.html +229 -0
  50. data/Framework7-0.9.6/dist/img/i-f7.png +0 -0
  51. data/Framework7-0.9.6/dist/img/i-form-calendar.png +0 -0
  52. data/Framework7-0.9.6/dist/img/i-form-comment.png +0 -0
  53. data/Framework7-0.9.6/dist/img/i-form-email.png +0 -0
  54. data/Framework7-0.9.6/dist/img/i-form-gender.png +0 -0
  55. data/Framework7-0.9.6/dist/img/i-form-name.png +0 -0
  56. data/Framework7-0.9.6/dist/img/i-form-password.png +0 -0
  57. data/Framework7-0.9.6/dist/img/i-form-settings.png +0 -0
  58. data/Framework7-0.9.6/dist/img/i-form-tel.png +0 -0
  59. data/Framework7-0.9.6/dist/img/i-form-toggle.png +0 -0
  60. data/Framework7-0.9.6/dist/img/i-form-url.png +0 -0
  61. data/Framework7-0.9.6/dist/index.html +102 -0
  62. data/Framework7-0.9.6/dist/js/framework7.js +7479 -0
  63. data/Framework7-0.9.6/dist/js/framework7.min.js +18 -0
  64. data/Framework7-0.9.6/dist/js/my-app.js +48 -0
  65. data/Framework7-0.9.6/dist/services.html +28 -0
  66. data/Framework7-0.9.6/examples/split-view/about.html +19 -0
  67. data/Framework7-0.9.6/examples/split-view/css/my-app.css +23 -0
  68. data/Framework7-0.9.6/examples/split-view/index.html +135 -0
  69. data/Framework7-0.9.6/examples/split-view/jade/about.jade +15 -0
  70. data/Framework7-0.9.6/examples/split-view/jade/index.jade +107 -0
  71. data/Framework7-0.9.6/examples/split-view/jade/left-page-1.jade +15 -0
  72. data/Framework7-0.9.6/examples/split-view/jade/left-page-2.jade +15 -0
  73. data/Framework7-0.9.6/examples/split-view/jade/services.jade +15 -0
  74. data/Framework7-0.9.6/examples/split-view/js/my-app.js +15 -0
  75. data/Framework7-0.9.6/examples/split-view/left-page-1.html +19 -0
  76. data/Framework7-0.9.6/examples/split-view/left-page-2.html +19 -0
  77. data/Framework7-0.9.6/examples/split-view/less/my-app.less +23 -0
  78. data/Framework7-0.9.6/examples/split-view/services.html +19 -0
  79. data/Framework7-0.9.6/examples/split-view-panel/about.html +20 -0
  80. data/Framework7-0.9.6/examples/split-view-panel/css/my-app.css +56 -0
  81. data/Framework7-0.9.6/examples/split-view-panel/index.html +135 -0
  82. data/Framework7-0.9.6/examples/split-view-panel/jade/about.jade +18 -0
  83. data/Framework7-0.9.6/examples/split-view-panel/jade/index.jade +107 -0
  84. data/Framework7-0.9.6/examples/split-view-panel/jade/left-page-1.jade +15 -0
  85. data/Framework7-0.9.6/examples/split-view-panel/jade/left-page-2.jade +15 -0
  86. data/Framework7-0.9.6/examples/split-view-panel/jade/services.jade +18 -0
  87. data/Framework7-0.9.6/examples/split-view-panel/js/my-app.js +15 -0
  88. data/Framework7-0.9.6/examples/split-view-panel/left-page-1.html +19 -0
  89. data/Framework7-0.9.6/examples/split-view-panel/left-page-2.html +19 -0
  90. data/Framework7-0.9.6/examples/split-view-panel/less/my-app.less +62 -0
  91. data/Framework7-0.9.6/examples/split-view-panel/services.html +20 -0
  92. data/Framework7-0.9.6/examples/tab-bar/about.html +19 -0
  93. data/Framework7-0.9.6/examples/tab-bar/css/my-app.css +34 -0
  94. data/Framework7-0.9.6/examples/tab-bar/index.html +238 -0
  95. data/Framework7-0.9.6/examples/tab-bar/jade/about.jade +15 -0
  96. data/Framework7-0.9.6/examples/tab-bar/jade/index.jade +189 -0
  97. data/Framework7-0.9.6/examples/tab-bar/jade/services.jade +15 -0
  98. data/Framework7-0.9.6/examples/tab-bar/js/my-app.js +15 -0
  99. data/Framework7-0.9.6/examples/tab-bar/less/my-app.less +35 -0
  100. data/Framework7-0.9.6/examples/tab-bar/services.html +19 -0
  101. data/Framework7-0.9.6/kitchen-sink/about.html +22 -0
  102. data/Framework7-0.9.6/kitchen-sink/accordion.html +171 -0
  103. data/Framework7-0.9.6/kitchen-sink/color-themes.html +42 -0
  104. data/Framework7-0.9.6/kitchen-sink/contacts.html +190 -0
  105. data/Framework7-0.9.6/kitchen-sink/core-features.html +70 -0
  106. data/Framework7-0.9.6/kitchen-sink/css/kitchen-sink.css +233 -0
  107. data/Framework7-0.9.6/kitchen-sink/deep-2.html +22 -0
  108. data/Framework7-0.9.6/kitchen-sink/deep-navbar-2.html +19 -0
  109. data/Framework7-0.9.6/kitchen-sink/deep-navbar-3.html +19 -0
  110. data/Framework7-0.9.6/kitchen-sink/deep-navbar.html +18 -0
  111. data/Framework7-0.9.6/kitchen-sink/forms-buttons.html +64 -0
  112. data/Framework7-0.9.6/kitchen-sink/forms-checkboxes.html +200 -0
  113. data/Framework7-0.9.6/kitchen-sink/forms-elements.html +359 -0
  114. data/Framework7-0.9.6/kitchen-sink/forms-selects.html +72 -0
  115. data/Framework7-0.9.6/kitchen-sink/forms-storage.html +181 -0
  116. data/Framework7-0.9.6/kitchen-sink/forms.html +56 -0
  117. data/Framework7-0.9.6/kitchen-sink/grid.html +140 -0
  118. data/Framework7-0.9.6/kitchen-sink/hide-navbar-toolbar.html +42 -0
  119. data/Framework7-0.9.6/kitchen-sink/img/beach.jpg +0 -0
  120. data/Framework7-0.9.6/kitchen-sink/img/lock.jpg +0 -0
  121. data/Framework7-0.9.6/kitchen-sink/img/monkey.jpg +0 -0
  122. data/Framework7-0.9.6/kitchen-sink/img/mountains.jpg +0 -0
  123. data/Framework7-0.9.6/kitchen-sink/index.html +466 -0
  124. data/Framework7-0.9.6/kitchen-sink/infinite-scroll-load.php +19 -0
  125. data/Framework7-0.9.6/kitchen-sink/infinite-scroll.html +119 -0
  126. data/Framework7-0.9.6/kitchen-sink/jade/about.jade +19 -0
  127. data/Framework7-0.9.6/kitchen-sink/jade/accordion.jade +133 -0
  128. data/Framework7-0.9.6/kitchen-sink/jade/color-themes.jade +37 -0
  129. data/Framework7-0.9.6/kitchen-sink/jade/contacts.jade +115 -0
  130. data/Framework7-0.9.6/kitchen-sink/jade/core-features.jade +74 -0
  131. data/Framework7-0.9.6/kitchen-sink/jade/deep-navbar-2.jade +15 -0
  132. data/Framework7-0.9.6/kitchen-sink/jade/deep-navbar-3.jade +15 -0
  133. data/Framework7-0.9.6/kitchen-sink/jade/deep-navbar.jade +15 -0
  134. data/Framework7-0.9.6/kitchen-sink/jade/forms-buttons.jade +71 -0
  135. data/Framework7-0.9.6/kitchen-sink/jade/forms-checkboxes.jade +152 -0
  136. data/Framework7-0.9.6/kitchen-sink/jade/forms-elements.jade +239 -0
  137. data/Framework7-0.9.6/kitchen-sink/jade/forms-selects.jade +60 -0
  138. data/Framework7-0.9.6/kitchen-sink/jade/forms-storage.jade +134 -0
  139. data/Framework7-0.9.6/kitchen-sink/jade/forms.jade +52 -0
  140. data/Framework7-0.9.6/kitchen-sink/jade/grid.jade +110 -0
  141. data/Framework7-0.9.6/kitchen-sink/jade/hide-navbar-toolbar.jade +38 -0
  142. data/Framework7-0.9.6/kitchen-sink/jade/index.jade +427 -0
  143. data/Framework7-0.9.6/kitchen-sink/jade/infinite-scroll.jade +20 -0
  144. data/Framework7-0.9.6/kitchen-sink/jade/list-view.jade +266 -0
  145. data/Framework7-0.9.6/kitchen-sink/jade/login-screen-embedded.jade +22 -0
  146. data/Framework7-0.9.6/kitchen-sink/jade/login-screen.jade +20 -0
  147. data/Framework7-0.9.6/kitchen-sink/jade/media-lists.jade +170 -0
  148. data/Framework7-0.9.6/kitchen-sink/jade/messages.jade +71 -0
  149. data/Framework7-0.9.6/kitchen-sink/jade/modals.jade +36 -0
  150. data/Framework7-0.9.6/kitchen-sink/jade/navbars-toolbars.jade +43 -0
  151. data/Framework7-0.9.6/kitchen-sink/jade/no-navbar-toolbar.jade +7 -0
  152. data/Framework7-0.9.6/kitchen-sink/jade/no-navbar.jade +7 -0
  153. data/Framework7-0.9.6/kitchen-sink/jade/no-toolbar.jade +17 -0
  154. data/Framework7-0.9.6/kitchen-sink/jade/notifications.jade +23 -0
  155. data/Framework7-0.9.6/kitchen-sink/jade/panels.jade +21 -0
  156. data/Framework7-0.9.6/kitchen-sink/jade/photo-browser.jade +36 -0
  157. data/Framework7-0.9.6/kitchen-sink/jade/popover.jade +21 -0
  158. data/Framework7-0.9.6/kitchen-sink/jade/preloader.jade +31 -0
  159. data/Framework7-0.9.6/kitchen-sink/jade/pull-to-refresh.jade +44 -0
  160. data/Framework7-0.9.6/kitchen-sink/jade/searchbar.jade +146 -0
  161. data/Framework7-0.9.6/kitchen-sink/jade/slider-custom.jade +23 -0
  162. data/Framework7-0.9.6/kitchen-sink/jade/slider-horizontal.jade +18 -0
  163. data/Framework7-0.9.6/kitchen-sink/jade/slider-multiple.jade +48 -0
  164. data/Framework7-0.9.6/kitchen-sink/jade/slider-nested.jade +26 -0
  165. data/Framework7-0.9.6/kitchen-sink/jade/slider-space-between.jade +18 -0
  166. data/Framework7-0.9.6/kitchen-sink/jade/slider-vertical.jade +18 -0
  167. data/Framework7-0.9.6/kitchen-sink/jade/slider.jade +57 -0
  168. data/Framework7-0.9.6/kitchen-sink/jade/sortable-list.jade +107 -0
  169. data/Framework7-0.9.6/kitchen-sink/jade/swipe-delete.jade +195 -0
  170. data/Framework7-0.9.6/kitchen-sink/jade/tabbar-labels.jade +54 -0
  171. data/Framework7-0.9.6/kitchen-sink/jade/tabbar.jade +50 -0
  172. data/Framework7-0.9.6/kitchen-sink/jade/tabs.jade +34 -0
  173. data/Framework7-0.9.6/kitchen-sink/jade/transitions.jade +27 -0
  174. data/Framework7-0.9.6/kitchen-sink/js/kitchen-sink.js +442 -0
  175. data/Framework7-0.9.6/kitchen-sink/less/kitchen-sink.less +245 -0
  176. data/Framework7-0.9.6/kitchen-sink/list-view.html +318 -0
  177. data/Framework7-0.9.6/kitchen-sink/login-screen-embedded.html +36 -0
  178. data/Framework7-0.9.6/kitchen-sink/login-screen.html +21 -0
  179. data/Framework7-0.9.6/kitchen-sink/media-lists.html +173 -0
  180. data/Framework7-0.9.6/kitchen-sink/messages.html +84 -0
  181. data/Framework7-0.9.6/kitchen-sink/modals.html +33 -0
  182. data/Framework7-0.9.6/kitchen-sink/navbars-toolbars.html +46 -0
  183. data/Framework7-0.9.6/kitchen-sink/no-navbar-toolbar.html +11 -0
  184. data/Framework7-0.9.6/kitchen-sink/no-navbar.html +11 -0
  185. data/Framework7-0.9.6/kitchen-sink/no-toolbar.html +18 -0
  186. data/Framework7-0.9.6/kitchen-sink/notifications.html +21 -0
  187. data/Framework7-0.9.6/kitchen-sink/panel-right2.html +16 -0
  188. data/Framework7-0.9.6/kitchen-sink/panel-right3.html +16 -0
  189. data/Framework7-0.9.6/kitchen-sink/panels.html +23 -0
  190. data/Framework7-0.9.6/kitchen-sink/photo-browser.html +36 -0
  191. data/Framework7-0.9.6/kitchen-sink/popover.html +21 -0
  192. data/Framework7-0.9.6/kitchen-sink/preloader.html +28 -0
  193. data/Framework7-0.9.6/kitchen-sink/pull-to-refresh.html +52 -0
  194. data/Framework7-0.9.6/kitchen-sink/searchbar.html +233 -0
  195. data/Framework7-0.9.6/kitchen-sink/slider-custom.html +28 -0
  196. data/Framework7-0.9.6/kitchen-sink/slider-horizontal.html +29 -0
  197. data/Framework7-0.9.6/kitchen-sink/slider-multiple.html +89 -0
  198. data/Framework7-0.9.6/kitchen-sink/slider-nested.html +32 -0
  199. data/Framework7-0.9.6/kitchen-sink/slider-space-between.html +29 -0
  200. data/Framework7-0.9.6/kitchen-sink/slider-vertical.html +29 -0
  201. data/Framework7-0.9.6/kitchen-sink/slider.html +54 -0
  202. data/Framework7-0.9.6/kitchen-sink/sortable-list.html +137 -0
  203. data/Framework7-0.9.6/kitchen-sink/swipe-delete.html +216 -0
  204. data/Framework7-0.9.6/kitchen-sink/tabbar-labels.html +51 -0
  205. data/Framework7-0.9.6/kitchen-sink/tabbar.html +0 -0
  206. data/Gemfile +4 -0
  207. data/LICENSE.txt +22 -0
  208. data/README.md +109 -0
  209. data/Rakefile +2 -0
  210. data/framework7rails.gemspec +23 -0
  211. data/install_local.sh +2 -0
  212. data/lib/framework7rails/version.rb +4 -0
  213. data/lib/framework7rails.rb +8 -0
  214. data/update_from_vendor.rb +40 -0
  215. data/vendor/assets/images/i-f7.png +0 -0
  216. data/vendor/assets/images/i-form-calendar.png +0 -0
  217. data/vendor/assets/images/i-form-comment.png +0 -0
  218. data/vendor/assets/images/i-form-email.png +0 -0
  219. data/vendor/assets/images/i-form-gender.png +0 -0
  220. data/vendor/assets/images/i-form-name.png +0 -0
  221. data/vendor/assets/images/i-form-password.png +0 -0
  222. data/vendor/assets/images/i-form-settings.png +0 -0
  223. data/vendor/assets/images/i-form-tel.png +0 -0
  224. data/vendor/assets/images/i-form-toggle.png +0 -0
  225. data/vendor/assets/images/i-form-url.png +0 -0
  226. data/vendor/assets/javascripts/framework7.js +8288 -0
  227. data/vendor/assets/javascripts/framework7.js.map +1 -0
  228. data/vendor/assets/stylesheets/framework7.css +5078 -0
  229. data/vendor/assets/stylesheets/framework7.themes.css +279 -0
  230. metadata +231 -3
@@ -0,0 +1,208 @@
1
+ body {
2
+ background: #000;
3
+ }
4
+ .view-main {
5
+ background: url(../img/bg.jpg) no-repeat center;
6
+ -webkit-background-size: cover;
7
+ background-size: cover;
8
+ -webkit-transform: translate3d(0, 0, 0) scale(1);
9
+ -moz-transform: translate3d(0, 0, 0) scale(1);
10
+ -ms-transform: translate3d(0, 0, 0) scale(1);
11
+ -o-transform: translate3d(0, 0, 0) scale(1);
12
+ transform: translate3d(0, 0, 0) scale(1);
13
+ -webkit-transition-duration: 400ms;
14
+ -moz-transition-duration: 400ms;
15
+ -ms-transition-duration: 400ms;
16
+ -o-transition-duration: 400ms;
17
+ transition-duration: 400ms;
18
+ }
19
+ .pages,
20
+ .page {
21
+ background: none;
22
+ }
23
+ html.ios .page {
24
+ overflow: auto;
25
+ -webkit-overflow-scrolling: touch;
26
+ }
27
+ html.ios .page-content {
28
+ margin-bottom: 1px;
29
+ }
30
+ .view-main .navbar {
31
+ border-bottom: none;
32
+ background: #cc0442;
33
+ color: #fff;
34
+ }
35
+ i.icon-plus {
36
+ color: #fff;
37
+ }
38
+ .todo-items-list {
39
+ margin: 0;
40
+ color: #fff;
41
+ font-weight: 300;
42
+ }
43
+ .todo-items-list ul {
44
+ background: none;
45
+ border: none;
46
+ }
47
+ .todo-items-list .item-title {
48
+ font-size: 18px;
49
+ }
50
+ .todo-items-list .swipeout-content {
51
+ background: none;
52
+ }
53
+ .todo-items-list .item-inner {
54
+ padding-top: 18px;
55
+ padding-bottom: 16px;
56
+ border-bottom-color: rgba(255, 255, 255, 0.2);
57
+ }
58
+ .todo-items-list .label-checkbox.active-state {
59
+ background: rgba(255, 255, 255, 0.2);
60
+ }
61
+ .todo-items-list .item-content {
62
+ border-left: 5px solid;
63
+ }
64
+ .todo-items-list li[data-color="orange"] .item-content {
65
+ border-left-color: #ff8400;
66
+ }
67
+ .todo-items-list li[data-color="blue"] .item-content {
68
+ border-left-color: #089efe;
69
+ }
70
+ .todo-items-list li[data-color="green"] .item-content {
71
+ border-left-color: #2df523;
72
+ }
73
+ .todo-items-list li[data-color="white"] .item-content {
74
+ border-left-color: #fff;
75
+ }
76
+ .todo-items-list li[data-color="yellow"] .item-content {
77
+ border-left-color: #eaff00;
78
+ }
79
+ .todo-items-list li[data-color="pink"] .item-content {
80
+ border-left-color: #cc0442;
81
+ }
82
+ .todo-items-list li[data-color="purple"] .item-content {
83
+ border-left-color: #ff00f0;
84
+ }
85
+ .todo-items-list li[data-color="cyan"] .item-content {
86
+ border-left-color: #00fff6;
87
+ }
88
+ .popup {
89
+ background: rgba(54, 1, 17, 0.7);
90
+ }
91
+ .popup .navbar {
92
+ color: #fff;
93
+ background: #680222;
94
+ border: none;
95
+ }
96
+ .popup a.link {
97
+ color: #fff;
98
+ }
99
+ .popup .list-block ul {
100
+ background: none;
101
+ border: none;
102
+ color: #fff;
103
+ }
104
+ .popup .list-block input {
105
+ color: #fff;
106
+ }
107
+ .popup .item-inner {
108
+ border-color: rgba(255, 255, 255, 0.2);
109
+ }
110
+ .popup .button {
111
+ border-color: #fff;
112
+ color: #fff;
113
+ }
114
+ .popup .button.active-state {
115
+ background: rgba(255, 255, 255, 0.1);
116
+ }
117
+ .popup span.color {
118
+ display: inline-block;
119
+ width: 20px;
120
+ height: 20px;
121
+ background: #000;
122
+ vertical-align: middle;
123
+ margin-right: 2px;
124
+ -webkit-box-sizing: border-box;
125
+ -moz-box-sizing: border-box;
126
+ box-sizing: border-box;
127
+ border-radius: 100%;
128
+ cursor: pointer;
129
+ position: relative;
130
+ -webkit-transition-duration: 200ms;
131
+ -moz-transition-duration: 200ms;
132
+ -ms-transition-duration: 200ms;
133
+ -o-transition-duration: 200ms;
134
+ transition-duration: 200ms;
135
+ }
136
+ .popup span.color:last-child {
137
+ margin-right: 0;
138
+ }
139
+ .popup span.color[data-color="orange"] {
140
+ background: #ff8400;
141
+ }
142
+ .popup span.color[data-color="pink"] {
143
+ background: #cc0442;
144
+ }
145
+ .popup span.color[data-color="blue"] {
146
+ background: #089efe;
147
+ }
148
+ .popup span.color[data-color="green"] {
149
+ background: #2df523;
150
+ }
151
+ .popup span.color[data-color="yellow"] {
152
+ background: #eaff00;
153
+ }
154
+ .popup span.color[data-color="white"] {
155
+ background: #fff;
156
+ }
157
+ .popup span.color[data-color="purple"] {
158
+ background: #ff00f0;
159
+ }
160
+ .popup span.color[data-color="cyan"] {
161
+ background: #00fff6;
162
+ }
163
+ .popup span.color.selected {
164
+ -webkit-transform: translate3d(0, 0, 0) scale(1.25);
165
+ -moz-transform: translate3d(0, 0, 0) scale(1.25);
166
+ -ms-transform: translate3d(0, 0, 0) scale(1.25);
167
+ -o-transform: translate3d(0, 0, 0) scale(1.25);
168
+ transform: translate3d(0, 0, 0) scale(1.25);
169
+ box-shadow: 0px 0px 2px rgba(0, 0, 0, 0.1);
170
+ z-index: 1;
171
+ }
172
+ @media all and (min-width: 568px) {
173
+ .popup span.color {
174
+ margin-right: 10px;
175
+ }
176
+ }
177
+ body.with-popup .view-main {
178
+ -webkit-transform: translate3d(0, 0px, 0) scale(0.85);
179
+ -moz-transform: translate3d(0, 0px, 0) scale(0.85);
180
+ -ms-transform: translate3d(0, 0px, 0) scale(0.85);
181
+ -o-transform: translate3d(0, 0px, 0) scale(0.85);
182
+ transform: translate3d(0, 0px, 0) scale(0.85);
183
+ -webkit-filter: blur(5px);
184
+ }
185
+ body.with-popup .statusbar-overlay {
186
+ background: #680222;
187
+ }
188
+ @media all and (max-width: 629px) and (max-height: 629px) {
189
+ body.with-popup .statusbar-overlay {
190
+ z-index: 11000;
191
+ }
192
+ }
193
+ .statusbar-overlay {
194
+ background: #cc0442;
195
+ }
196
+ .modal-inner {
197
+ background: #cc0442;
198
+ color: #fff;
199
+ border-bottom: 1px solid #9a0332;
200
+ }
201
+ .modal-button {
202
+ background: #cc0442;
203
+ border-right-color: #9a0332;
204
+ color: #fff;
205
+ }
206
+ .modal-button.active-state {
207
+ background: #9a0332;
208
+ }
@@ -0,0 +1,112 @@
1
+ <!DOCTYPE html>
2
+ <html manifest="manifest.php" class="with-statusbar-overlay">
3
+ <head>
4
+ <meta charset="utf-8">
5
+ <meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1, minimum-scale=1, user-scalable=no, minimal-ui">
6
+ <meta name="apple-mobile-web-app-capable" content="yes">
7
+ <meta name="apple-mobile-web-app-status-bar-style" content="black-translucent">
8
+ <title>ToDo7</title>
9
+ <link rel="stylesheet" href="../../dist/css/framework7.min.css">
10
+ <link rel="stylesheet" href="css/todo7.css">
11
+ <!-- Favicon-->
12
+ <link href="img/icon-57.png" rel="shortcut icon">
13
+ <!-- iOS 7 iPad (retina) -->
14
+ <link href="img/icon-152.png" sizes="152x152" rel="apple-touch-icon">
15
+ <!-- iOS 6 iPad (retina) -->
16
+ <link href="img/icon-144.png" sizes="144x144" rel="apple-touch-icon">
17
+ <!-- iOS 7 iPhone (retina) -->
18
+ <link href="img/icon-120.png" sizes="120x120" rel="apple-touch-icon">
19
+ <!-- iOS 6 iPhone (retina) -->
20
+ <link href="img/icon-114.png" sizes="114x114" rel="apple-touch-icon">
21
+ <!-- iOS 7 iPad -->
22
+ <link href="img/icon-76.png" sizes="76x76" rel="apple-touch-icon">
23
+ <!-- iOS 6 iPad -->
24
+ <link href="img/icon-72.png" sizes="72x72" rel="apple-touch-icon">
25
+ <!-- iOS 6 iPhone -->
26
+ <link href="img/icon-57.png" sizes="57x57" rel="apple-touch-icon">
27
+ </head>
28
+ <body>
29
+ <!-- Statusbar overlay-->
30
+ <div class="statusbar-overlay"></div>
31
+ <!-- Views-->
32
+ <div class="views">
33
+ <div class="view view-main navbar-fixed">
34
+ <div class="navbar">
35
+ <div class="navbar-inner">
36
+ <div class="left"></div>
37
+ <div class="center sliding">ToDo7</div>
38
+ <div class="right"><a href="#" class="link icon-only open-popup"><i class="icon icon-plus">+</i></a></div>
39
+ </div>
40
+ </div>
41
+ <div class="pages">
42
+ <div data-page="index" class="page">
43
+ <div class="page-content">
44
+ <div class="list-block todo-items-list theme-pink"></div>
45
+ </div>
46
+ </div>
47
+ </div>
48
+ </div>
49
+ </div>
50
+ <!-- Popup to add new task -->
51
+ <div class="popup">
52
+ <div class="view view-popup navbar-fixed">
53
+ <div class="navbar">
54
+ <div class="navbar-inner">
55
+ <div class="left"></div>
56
+ <div class="center sliding">New Task</div>
57
+ <div class="right"><a href="#" class="link close-popup">Cancel</a></div>
58
+ </div>
59
+ </div>
60
+ <div class="pages">
61
+ <div class="page">
62
+ <div class="page-content">
63
+ <div class="list-block">
64
+ <ul>
65
+ <li>
66
+ <div class="item-content">
67
+ <div class="item-inner">
68
+ <div class="item-title label">Task</div>
69
+ <div class="item-input">
70
+ <input type="text" name="title">
71
+ </div>
72
+ </div>
73
+ </div>
74
+ </li>
75
+ <li>
76
+ <div class="item-content">
77
+ <div class="item-inner">
78
+ <div class="item-title label">Color</div>
79
+ <div class="item-input"><span data-color="orange" class="color selected"></span><span data-color="green" class="color"></span><span data-color="blue" class="color"></span><span data-color="yellow" class="color"></span><span data-color="white" class="color"></span><span data-color="pink" class="color"></span><span data-color="purple" class="color"></span><span data-color="cyan" class="color"></span></div>
80
+ </div>
81
+ </div>
82
+ </li>
83
+ </ul>
84
+ </div>
85
+ <div class="content-block"><a class="button add-task">Add Task</a></div>
86
+ </div>
87
+ </div>
88
+ </div>
89
+ </div>
90
+ </div>
91
+ <!-- Template-->
92
+ <script id="todo-item-template" type="text/template">
93
+ <ul>{{#each this}}
94
+ <li data-color="{{color}}" data-id="{{id}}" class="swipeout">
95
+ <div class="swipeout-content">
96
+ <label class="label-checkbox item-content"><input type="checkbox" {{checked}}>
97
+ <div class="item-media"><i class="icon icon-form-checkbox"></i></div>
98
+ <div class="item-inner">
99
+ <div class="item-title">{{title}}</div>
100
+ </div>
101
+ </label>
102
+ </div>
103
+ <div class="swipeout-actions-right"><a href="#" class="swipeout-delete">Delete</a></div>
104
+ </li>{{/each}}
105
+ </ul>
106
+ </script>
107
+ <!-- Path to Framework7 Library JS-->
108
+ <script type="text/javascript" src="../../dist/js/framework7.min.js"></script>
109
+ <!-- Path to your app js-->
110
+ <script type="text/javascript" src="js/todo7.js"></script>
111
+ </body>
112
+ </html>
@@ -0,0 +1,99 @@
1
+ doctype
2
+ html.with-statusbar-overlay(manifest="manifest.php")
3
+ head
4
+ meta(charset="utf-8")
5
+ meta(name="viewport", content="width=device-width, initial-scale=1, maximum-scale=1, minimum-scale=1, user-scalable=no, minimal-ui")
6
+ meta(name='apple-mobile-web-app-capable', content='yes')
7
+ meta(name="apple-mobile-web-app-status-bar-style", content="black-translucent")
8
+ title ToDo7
9
+ link(rel="stylesheet", href="../../dist/css/framework7.min.css")
10
+ link(rel="stylesheet", href="css/todo7.css")
11
+ // Favicon
12
+ link(href="img/icon-57.png", rel="shortcut icon")
13
+ |
14
+ <!-- iOS 7 iPad (retina) -->
15
+ <link href="img/icon-152.png" sizes="152x152" rel="apple-touch-icon">
16
+ <!-- iOS 6 iPad (retina) -->
17
+ <link href="img/icon-144.png" sizes="144x144" rel="apple-touch-icon">
18
+ <!-- iOS 7 iPhone (retina) -->
19
+ <link href="img/icon-120.png" sizes="120x120" rel="apple-touch-icon">
20
+ <!-- iOS 6 iPhone (retina) -->
21
+ <link href="img/icon-114.png" sizes="114x114" rel="apple-touch-icon">
22
+ <!-- iOS 7 iPad -->
23
+ <link href="img/icon-76.png" sizes="76x76" rel="apple-touch-icon">
24
+ <!-- iOS 6 iPad -->
25
+ <link href="img/icon-72.png" sizes="72x72" rel="apple-touch-icon">
26
+ <!-- iOS 6 iPhone -->
27
+ <link href="img/icon-57.png" sizes="57x57" rel="apple-touch-icon">
28
+ body
29
+ // Statusbar overlay
30
+ .statusbar-overlay
31
+ // Views
32
+ .views
33
+ .view.view-main.navbar-fixed
34
+ .navbar
35
+ .navbar-inner
36
+ .left
37
+ .center.sliding ToDo7
38
+ .right
39
+ a(href="#").link.icon-only.open-popup
40
+ i.icon.icon-plus +
41
+ .pages
42
+ .page(data-page="index")
43
+ .page-content
44
+ .list-block.todo-items-list.theme-pink
45
+ // Popup to add new task
46
+ .popup
47
+ .view.view-popup.navbar-fixed
48
+ .navbar
49
+ .navbar-inner
50
+ .left
51
+ .center.sliding New Task
52
+ .right
53
+ a(href="#").link.close-popup Cancel
54
+ .pages
55
+ .page
56
+ .page-content
57
+ .list-block
58
+ ul
59
+ li
60
+ .item-content
61
+ .item-inner
62
+ .item-title.label Task
63
+ .item-input
64
+ input(type="text", name="title")
65
+ li
66
+ .item-content
67
+ .item-inner
68
+ .item-title.label Color
69
+ .item-input
70
+ span(data-color="orange").color.selected
71
+ span(data-color="green").color
72
+ span(data-color="blue").color
73
+ span(data-color="yellow").color
74
+ span(data-color="white").color
75
+ span(data-color="pink").color
76
+ span(data-color="purple").color
77
+ span(data-color="cyan").color
78
+ .content-block
79
+ a.button.add-task Add Task
80
+ // Template
81
+ script(id="todo-item-template", type="text/template")
82
+ ul
83
+ {{#each this}}
84
+ li.swipeout(data-color="{{color}}", data-id="{{id}}")
85
+ .swipeout-content
86
+ label.label-checkbox.item-content
87
+ | <input type="checkbox" {{checked}}>
88
+ .item-media
89
+ i.icon.icon-form-checkbox
90
+ .item-inner
91
+ .item-title {{title}}
92
+ .swipeout-actions-right
93
+ a(href="#").swipeout-delete Delete
94
+ {{/each}}
95
+
96
+ // Path to Framework7 Library JS
97
+ script(type="text/javascript", src="../../dist/js/framework7.min.js")
98
+ // Path to your app js
99
+ script(type="text/javascript", src="js/todo7.js")
@@ -0,0 +1,102 @@
1
+ // Initialize your app
2
+ var myApp = new Framework7({
3
+ modalTitle: 'ToDo7'
4
+ });
5
+
6
+ // Export selectors engine
7
+ var $$ = Dom7;
8
+
9
+ // Add views
10
+ var mainView = myApp.addView('.view-main', {
11
+ // Because we use fixed-through navbar we can enable dynamic navbar
12
+ dynamicNavbar: true
13
+ });
14
+
15
+ var todoData = localStorage.td7Data ? JSON.parse(localStorage.td7Data) : [];
16
+
17
+ $$('.popup').on('open', function () {
18
+ $$('body').addClass('with-popup');
19
+ });
20
+ $$('.popup').on('opened', function () {
21
+ $$(this).find('input[name="title"]').focus();
22
+ });
23
+ $$('.popup').on('close', function () {
24
+ $$('body').removeClass('with-popup');
25
+ $$(this).find('input[name="title"]').blur().val('');
26
+ });
27
+
28
+ // Popup colors
29
+ $$('.popup .color').on('click', function () {
30
+ $$('.popup .color.selected').removeClass('selected');
31
+ $$(this).addClass('selected');
32
+ });
33
+
34
+
35
+ // Add Task
36
+ $$('.popup .add-task').on('click', function () {
37
+ var title = $$('.popup input[name="title"]').val().trim();
38
+ if (title.length === 0) {
39
+ return;
40
+ }
41
+ var color = $$('.popup .color.selected').attr('data-color');
42
+ todoData.push({
43
+ title: title,
44
+ color: color,
45
+ checked: '',
46
+ id: (new Date()).getTime()
47
+ });
48
+ localStorage.td7Data = JSON.stringify(todoData);
49
+ buildTodoListHtml();
50
+ myApp.closeModal('.popup');
51
+ });
52
+
53
+ // Build Todo HTML using Template7 template engine
54
+ var todoItemTemplateSource = $$('#todo-item-template').html();
55
+ var todoItemTemplate = Template7.compile(todoItemTemplateSource);
56
+ function buildTodoListHtml() {
57
+ var renderedList = todoItemTemplate(todoData);
58
+ $$('.todo-items-list').html(renderedList);
59
+ }
60
+ // Build HTML on App load
61
+ buildTodoListHtml();
62
+
63
+ // Mark checked
64
+ $$('.todo-items-list').on('change', 'input', function () {
65
+ var input = $$(this);
66
+ var item = input.parents('li');
67
+ var checked = input[0].checked;
68
+ var id = item.attr('data-id') * 1;
69
+ for (var i = 0; i < todoData.length; i++) {
70
+ if (todoData[i].id === id) todoData[i].checked = checked ? 'checked' : '';
71
+ }
72
+ localStorage.td7Data = JSON.stringify(todoData);
73
+ });
74
+
75
+ // Delete item
76
+ $$('.todo-items-list').on('delete', '.swipeout', function () {
77
+ var id = $$(this).attr('data-id') * 1;
78
+ var index;
79
+ for (var i = 0; i < todoData.length; i++) {
80
+ if (todoData[i].id === id) index = i;
81
+ }
82
+ if (typeof(index) !== 'undefined') {
83
+ todoData.splice(index, 1);
84
+ localStorage.td7Data = JSON.stringify(todoData);
85
+ }
86
+ });
87
+
88
+ // Update app when manifest updated
89
+ // http://www.html5rocks.com/en/tutorials/appcache/beginner/
90
+ // Check if a new cache is available on page load.
91
+ window.addEventListener('load', function (e) {
92
+ window.applicationCache.addEventListener('updateready', function (e) {
93
+ if (window.applicationCache.status === window.applicationCache.UPDATEREADY) {
94
+ // Browser downloaded a new app cache.
95
+ myApp.confirm('A new version of ToDo7 is available. Do you want to load it right now?', function () {
96
+ window.location.reload();
97
+ });
98
+ } else {
99
+ // Manifest didn't changed. Nothing new to server.
100
+ }
101
+ }, false);
102
+ }, false);