fron-ui 1.0.0rc2

Sign up to get free protection for your applications and to get access to all the features.
Files changed (140) hide show
  1. checksums.yaml +7 -0
  2. data/.gitignore +3 -0
  3. data/.rubocop.yml +38 -0
  4. data/.ruby-gemset +1 -0
  5. data/.ruby-version +1 -0
  6. data/.travis.yml +7 -0
  7. data/.yardopts +8 -0
  8. data/Gemfile +8 -0
  9. data/Gemfile.lock +105 -0
  10. data/Rakefile +37 -0
  11. data/Readme.md +4 -0
  12. data/db.json +192 -0
  13. data/fron-ui.gemspec +21 -0
  14. data/lib/fron-ui.rb +1 -0
  15. data/lib/fron_ui.rb +5 -0
  16. data/lib/fron_ui/version.rb +7 -0
  17. data/opal/fron-ui/base.rb +49 -0
  18. data/opal/fron-ui/behaviors/action.rb +40 -0
  19. data/opal/fron-ui/behaviors/actions.rb +40 -0
  20. data/opal/fron-ui/behaviors/confirmation.rb +23 -0
  21. data/opal/fron-ui/behaviors/dropdown.rb +27 -0
  22. data/opal/fron-ui/behaviors/file.rb +48 -0
  23. data/opal/fron-ui/behaviors/intendable_children.rb +76 -0
  24. data/opal/fron-ui/behaviors/keydown.rb +31 -0
  25. data/opal/fron-ui/behaviors/loop.rb +41 -0
  26. data/opal/fron-ui/behaviors/render.rb +30 -0
  27. data/opal/fron-ui/behaviors/rest.rb +121 -0
  28. data/opal/fron-ui/behaviors/selectable_children.rb +67 -0
  29. data/opal/fron-ui/behaviors/serialize.rb +32 -0
  30. data/opal/fron-ui/behaviors/shortcuts.rb +35 -0
  31. data/opal/fron-ui/behaviors/state.rb +56 -0
  32. data/opal/fron-ui/behaviors/transition.rb +63 -0
  33. data/opal/fron-ui/components/action.rb +18 -0
  34. data/opal/fron-ui/components/box.rb +17 -0
  35. data/opal/fron-ui/components/button.rb +61 -0
  36. data/opal/fron-ui/components/calendar.rb +129 -0
  37. data/opal/fron-ui/components/checkbox.rb +57 -0
  38. data/opal/fron-ui/components/chooser.rb +246 -0
  39. data/opal/fron-ui/components/color_panel.rb +235 -0
  40. data/opal/fron-ui/components/color_picker.rb +111 -0
  41. data/opal/fron-ui/components/container.rb +61 -0
  42. data/opal/fron-ui/components/date_picker.rb +141 -0
  43. data/opal/fron-ui/components/drag.rb +76 -0
  44. data/opal/fron-ui/components/dropdown.rb +72 -0
  45. data/opal/fron-ui/components/icon.rb +29 -0
  46. data/opal/fron-ui/components/image.rb +77 -0
  47. data/opal/fron-ui/components/input.rb +30 -0
  48. data/opal/fron-ui/components/label.rb +9 -0
  49. data/opal/fron-ui/components/list.rb +34 -0
  50. data/opal/fron-ui/components/loader.rb +63 -0
  51. data/opal/fron-ui/components/modal.rb +0 -0
  52. data/opal/fron-ui/components/notifications.rb +73 -0
  53. data/opal/fron-ui/components/number.rb +202 -0
  54. data/opal/fron-ui/components/progress.rb +52 -0
  55. data/opal/fron-ui/components/slider.rb +47 -0
  56. data/opal/fron-ui/components/tabs.rb +149 -0
  57. data/opal/fron-ui/components/textarea.rb +13 -0
  58. data/opal/fron-ui/components/time.rb +65 -0
  59. data/opal/fron-ui/components/title.rb +34 -0
  60. data/opal/fron-ui/examples/blog/index.rb +289 -0
  61. data/opal/fron-ui/examples/comments/components/comment.rb +75 -0
  62. data/opal/fron-ui/examples/comments/components/comments.rb +93 -0
  63. data/opal/fron-ui/examples/comments/components/footer.rb +36 -0
  64. data/opal/fron-ui/examples/comments/components/header.rb +35 -0
  65. data/opal/fron-ui/examples/comments/components/list.rb +12 -0
  66. data/opal/fron-ui/examples/comments/index.rb +6 -0
  67. data/opal/fron-ui/examples/contacts/components/contacts.rb +100 -0
  68. data/opal/fron-ui/examples/contacts/components/details.rb +92 -0
  69. data/opal/fron-ui/examples/contacts/components/item.rb +46 -0
  70. data/opal/fron-ui/examples/contacts/components/list.rb +10 -0
  71. data/opal/fron-ui/examples/contacts/components/sidebar.rb +30 -0
  72. data/opal/fron-ui/examples/contacts/index.rb +6 -0
  73. data/opal/fron-ui/examples/editor/index.rb +164 -0
  74. data/opal/fron-ui/examples/kitchensink/index.rb +193 -0
  75. data/opal/fron-ui/examples/todos/components/item.rb +84 -0
  76. data/opal/fron-ui/examples/todos/components/options.rb +26 -0
  77. data/opal/fron-ui/examples/todos/components/todos.rb +145 -0
  78. data/opal/fron-ui/examples/todos/index.rb +6 -0
  79. data/opal/fron-ui/examples/webshop/index.rb +0 -0
  80. data/opal/fron-ui/fonts/ionicons.rb +2954 -0
  81. data/opal/fron-ui/fonts/open_sans.rb +19 -0
  82. data/opal/fron-ui/lib/collection.rb +138 -0
  83. data/opal/fron-ui/lib/date.rb +23 -0
  84. data/opal/fron-ui/lib/debounce.rb +14 -0
  85. data/opal/fron-ui/lib/image_loader.rb +13 -0
  86. data/opal/fron-ui/lib/lorem.rb +93 -0
  87. data/opal/fron-ui/lib/nil.rb +29 -0
  88. data/opal/fron-ui/lib/record.rb +23 -0
  89. data/opal/fron-ui/lib/state_serializer.rb +129 -0
  90. data/opal/fron-ui/lib/storage.rb +57 -0
  91. data/opal/fron-ui/spec/setup.rb +40 -0
  92. data/opal/fron-ui/ui.rb +40 -0
  93. data/opal/fron-ui/utils/theme_roller.rb +63 -0
  94. data/opal/fron-ui/vendor/autoprefixer.js +21114 -0
  95. data/opal/fron-ui/vendor/marked.js +1291 -0
  96. data/opal/fron-ui/vendor/md5.js +274 -0
  97. data/opal/fron-ui/vendor/moment.js +3083 -0
  98. data/opal/fron-ui/vendor/uuid.js +92 -0
  99. data/opal/fron_ui.rb +13 -0
  100. data/spec/behaviors/action_spec.rb +34 -0
  101. data/spec/behaviors/actions_spec.rb +38 -0
  102. data/spec/behaviors/confirmation_spec.rb +23 -0
  103. data/spec/behaviors/dropdown_spec.rb +32 -0
  104. data/spec/behaviors/render_spec.rb +20 -0
  105. data/spec/behaviors/rest_spec.rb +70 -0
  106. data/spec/behaviors/selectable_children_spec.rb +40 -0
  107. data/spec/behaviors/serialize_spec.rb +34 -0
  108. data/spec/components/action_spec.rb +7 -0
  109. data/spec/components/base_spec.rb +19 -0
  110. data/spec/components/box_spec.rb +7 -0
  111. data/spec/components/button_spec.rb +9 -0
  112. data/spec/components/calendar_spec.rb +58 -0
  113. data/spec/components/checkbox_spec.rb +20 -0
  114. data/spec/components/chooser_spec.rb +75 -0
  115. data/spec/components/color_panel_spec.rb +49 -0
  116. data/spec/components/color_picker_spec.rb +41 -0
  117. data/spec/components/container_spec.rb +23 -0
  118. data/spec/components/date_picker_spec.rb +71 -0
  119. data/spec/components/drag_spec.rb +20 -0
  120. data/spec/components/dropdown_spec.rb +33 -0
  121. data/spec/components/image_spec.rb +33 -0
  122. data/spec/components/input_spec.rb +8 -0
  123. data/spec/components/list_spec.rb +10 -0
  124. data/spec/components/loader_spec.rb +9 -0
  125. data/spec/components/notifications_spec.rb +17 -0
  126. data/spec/components/number_spec.rb +64 -0
  127. data/spec/components/progress_spec.rb +23 -0
  128. data/spec/components/slider_spec.rb +25 -0
  129. data/spec/components/tabs_spec.rb +50 -0
  130. data/spec/components/textarea_spec.rb +7 -0
  131. data/spec/components/time_spec.rb +37 -0
  132. data/spec/components/title_spec.rb +11 -0
  133. data/spec/examples/comments_spec.rb +72 -0
  134. data/spec/examples/todos_spec.rb +39 -0
  135. data/spec/lib/collection_spec.rb +38 -0
  136. data/spec/lib/lorem_spec.rb +55 -0
  137. data/spec/lib/state_serializer_spec.rb +58 -0
  138. data/spec/lib/storage_spec.rb +39 -0
  139. data/spec/spec_helper.rb +1 -0
  140. metadata +223 -0
@@ -0,0 +1,58 @@
1
+ require 'spec_helper'
2
+
3
+ describe StateSerializer do
4
+ subject { described_class.decode(described_class.encode(data)).should eq data }
5
+
6
+ context 'Recursive structures' do
7
+ it 'should decode' do
8
+ data = described_class.decode '{key1:value,key2:[value,value2,{key3:value2,key4:[value7]}]}'
9
+ data.should eq key1: 'value', key2: ['value', 'value2', { key3: 'value2', key4: ['value7'] }]
10
+ end
11
+ end
12
+
13
+ context 'Integer' do
14
+ let(:data) { 120 }
15
+ it 'should encode / decode' do
16
+ subject
17
+ end
18
+ end
19
+
20
+ context 'Float' do
21
+ let(:data) { 1.221523523 }
22
+ it 'should encode / decode' do
23
+ subject
24
+ end
25
+ end
26
+
27
+ context 'Illegal characters' do
28
+ let(:data) { '[[[[())),,,,::]]]]$' }
29
+ it 'should encode them' do
30
+ subject
31
+ end
32
+ end
33
+
34
+ context 'Unkown' do
35
+ it 'should throw error' do
36
+ expect {
37
+ described_class.encode(/asd/)
38
+ }.to raise_error('Cannot serialize Regexp, there is no implementation!')
39
+ end
40
+ end
41
+
42
+ context 'Full test' do
43
+ let(:data) {
44
+ {
45
+ key1: 'asd',
46
+ key2: 1,
47
+ key3: 1.2,
48
+ key10: '[[[[())),,,,::]]]]@*/+',
49
+ key4: { key5: ['array1', 0.5], key6: { key8: 'asd' } },
50
+ key7: ['asdasd', ['asd'], ['asdasd']]
51
+ }
52
+ }
53
+
54
+ it 'should encode & decode' do
55
+ subject
56
+ end
57
+ end
58
+ end
@@ -0,0 +1,39 @@
1
+ require 'spec_helper'
2
+
3
+ describe Storage do
4
+ subject { described_class.new :test }
5
+
6
+ describe '#set' do
7
+ it 'should set record' do
8
+ subject.set '0', test: 'data'
9
+ subject.storage.get('test:0').should eq test: 'data'
10
+ end
11
+ end
12
+
13
+ context 'With record' do
14
+ before do
15
+ subject.storage.set 'test:0', test: 'asd'
16
+ end
17
+
18
+ describe '#get' do
19
+ it 'should get record' do
20
+ subject.get('0').should eq test: 'asd'
21
+ end
22
+ end
23
+
24
+ describe '#remove' do
25
+ it 'should remove record' do
26
+ expect {
27
+ subject.remove '0'
28
+ }.to change { subject.storage.keys.count }.by(-1)
29
+ end
30
+ end
31
+
32
+ describe '#all' do
33
+ it 'should return all values' do
34
+ subject.all.count.should eq 1
35
+ subject.all[0].should eq(test: 'asd')
36
+ end
37
+ end
38
+ end
39
+ end
@@ -0,0 +1 @@
1
+ require 'fron-ui/spec/setup'
metadata ADDED
@@ -0,0 +1,223 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: fron-ui
3
+ version: !ruby/object:Gem::Version
4
+ version: 1.0.0rc2
5
+ platform: ruby
6
+ authors:
7
+ - Gusztav Szikszai
8
+ autorequire:
9
+ bindir: bin
10
+ cert_chain: []
11
+ date: 2016-06-12 00:00:00.000000000 Z
12
+ dependencies:
13
+ - !ruby/object:Gem::Dependency
14
+ name: fron
15
+ requirement: !ruby/object:Gem::Requirement
16
+ requirements:
17
+ - - '='
18
+ - !ruby/object:Gem::Version
19
+ version: 1.0.0rc1
20
+ type: :runtime
21
+ prerelease: false
22
+ version_requirements: !ruby/object:Gem::Requirement
23
+ requirements:
24
+ - - '='
25
+ - !ruby/object:Gem::Version
26
+ version: 1.0.0rc1
27
+ - !ruby/object:Gem::Dependency
28
+ name: color
29
+ requirement: !ruby/object:Gem::Requirement
30
+ requirements:
31
+ - - '='
32
+ - !ruby/object:Gem::Version
33
+ version: '1.8'
34
+ type: :runtime
35
+ prerelease: false
36
+ version_requirements: !ruby/object:Gem::Requirement
37
+ requirements:
38
+ - - '='
39
+ - !ruby/object:Gem::Version
40
+ version: '1.8'
41
+ - !ruby/object:Gem::Dependency
42
+ name: opal-rspec
43
+ requirement: !ruby/object:Gem::Requirement
44
+ requirements:
45
+ - - ~>
46
+ - !ruby/object:Gem::Version
47
+ version: 0.5.0
48
+ type: :development
49
+ prerelease: false
50
+ version_requirements: !ruby/object:Gem::Requirement
51
+ requirements:
52
+ - - ~>
53
+ - !ruby/object:Gem::Version
54
+ version: 0.5.0
55
+ description: UI Library using Fron
56
+ email: gusztav.szikszai@digitalnatives.hu
57
+ executables: []
58
+ extensions: []
59
+ extra_rdoc_files: []
60
+ files:
61
+ - .gitignore
62
+ - .rubocop.yml
63
+ - .ruby-gemset
64
+ - .ruby-version
65
+ - .travis.yml
66
+ - .yardopts
67
+ - Gemfile
68
+ - Gemfile.lock
69
+ - Rakefile
70
+ - Readme.md
71
+ - db.json
72
+ - fron-ui.gemspec
73
+ - lib/fron-ui.rb
74
+ - lib/fron_ui.rb
75
+ - lib/fron_ui/version.rb
76
+ - opal/fron-ui/base.rb
77
+ - opal/fron-ui/behaviors/action.rb
78
+ - opal/fron-ui/behaviors/actions.rb
79
+ - opal/fron-ui/behaviors/confirmation.rb
80
+ - opal/fron-ui/behaviors/dropdown.rb
81
+ - opal/fron-ui/behaviors/file.rb
82
+ - opal/fron-ui/behaviors/intendable_children.rb
83
+ - opal/fron-ui/behaviors/keydown.rb
84
+ - opal/fron-ui/behaviors/loop.rb
85
+ - opal/fron-ui/behaviors/render.rb
86
+ - opal/fron-ui/behaviors/rest.rb
87
+ - opal/fron-ui/behaviors/selectable_children.rb
88
+ - opal/fron-ui/behaviors/serialize.rb
89
+ - opal/fron-ui/behaviors/shortcuts.rb
90
+ - opal/fron-ui/behaviors/state.rb
91
+ - opal/fron-ui/behaviors/transition.rb
92
+ - opal/fron-ui/components/action.rb
93
+ - opal/fron-ui/components/box.rb
94
+ - opal/fron-ui/components/button.rb
95
+ - opal/fron-ui/components/calendar.rb
96
+ - opal/fron-ui/components/checkbox.rb
97
+ - opal/fron-ui/components/chooser.rb
98
+ - opal/fron-ui/components/color_panel.rb
99
+ - opal/fron-ui/components/color_picker.rb
100
+ - opal/fron-ui/components/container.rb
101
+ - opal/fron-ui/components/date_picker.rb
102
+ - opal/fron-ui/components/drag.rb
103
+ - opal/fron-ui/components/dropdown.rb
104
+ - opal/fron-ui/components/icon.rb
105
+ - opal/fron-ui/components/image.rb
106
+ - opal/fron-ui/components/input.rb
107
+ - opal/fron-ui/components/label.rb
108
+ - opal/fron-ui/components/list.rb
109
+ - opal/fron-ui/components/loader.rb
110
+ - opal/fron-ui/components/modal.rb
111
+ - opal/fron-ui/components/notifications.rb
112
+ - opal/fron-ui/components/number.rb
113
+ - opal/fron-ui/components/progress.rb
114
+ - opal/fron-ui/components/slider.rb
115
+ - opal/fron-ui/components/tabs.rb
116
+ - opal/fron-ui/components/textarea.rb
117
+ - opal/fron-ui/components/time.rb
118
+ - opal/fron-ui/components/title.rb
119
+ - opal/fron-ui/examples/blog/index.rb
120
+ - opal/fron-ui/examples/comments/components/comment.rb
121
+ - opal/fron-ui/examples/comments/components/comments.rb
122
+ - opal/fron-ui/examples/comments/components/footer.rb
123
+ - opal/fron-ui/examples/comments/components/header.rb
124
+ - opal/fron-ui/examples/comments/components/list.rb
125
+ - opal/fron-ui/examples/comments/index.rb
126
+ - opal/fron-ui/examples/contacts/components/contacts.rb
127
+ - opal/fron-ui/examples/contacts/components/details.rb
128
+ - opal/fron-ui/examples/contacts/components/item.rb
129
+ - opal/fron-ui/examples/contacts/components/list.rb
130
+ - opal/fron-ui/examples/contacts/components/sidebar.rb
131
+ - opal/fron-ui/examples/contacts/index.rb
132
+ - opal/fron-ui/examples/editor/index.rb
133
+ - opal/fron-ui/examples/kitchensink/index.rb
134
+ - opal/fron-ui/examples/todos/components/item.rb
135
+ - opal/fron-ui/examples/todos/components/options.rb
136
+ - opal/fron-ui/examples/todos/components/todos.rb
137
+ - opal/fron-ui/examples/todos/index.rb
138
+ - opal/fron-ui/examples/webshop/index.rb
139
+ - opal/fron-ui/fonts/ionicons.rb
140
+ - opal/fron-ui/fonts/open_sans.rb
141
+ - opal/fron-ui/lib/collection.rb
142
+ - opal/fron-ui/lib/date.rb
143
+ - opal/fron-ui/lib/debounce.rb
144
+ - opal/fron-ui/lib/image_loader.rb
145
+ - opal/fron-ui/lib/lorem.rb
146
+ - opal/fron-ui/lib/nil.rb
147
+ - opal/fron-ui/lib/record.rb
148
+ - opal/fron-ui/lib/state_serializer.rb
149
+ - opal/fron-ui/lib/storage.rb
150
+ - opal/fron-ui/spec/setup.rb
151
+ - opal/fron-ui/ui.rb
152
+ - opal/fron-ui/utils/theme_roller.rb
153
+ - opal/fron-ui/vendor/autoprefixer.js
154
+ - opal/fron-ui/vendor/marked.js
155
+ - opal/fron-ui/vendor/md5.js
156
+ - opal/fron-ui/vendor/moment.js
157
+ - opal/fron-ui/vendor/uuid.js
158
+ - opal/fron_ui.rb
159
+ - spec/behaviors/action_spec.rb
160
+ - spec/behaviors/actions_spec.rb
161
+ - spec/behaviors/confirmation_spec.rb
162
+ - spec/behaviors/dropdown_spec.rb
163
+ - spec/behaviors/render_spec.rb
164
+ - spec/behaviors/rest_spec.rb
165
+ - spec/behaviors/selectable_children_spec.rb
166
+ - spec/behaviors/serialize_spec.rb
167
+ - spec/components/action_spec.rb
168
+ - spec/components/base_spec.rb
169
+ - spec/components/box_spec.rb
170
+ - spec/components/button_spec.rb
171
+ - spec/components/calendar_spec.rb
172
+ - spec/components/checkbox_spec.rb
173
+ - spec/components/chooser_spec.rb
174
+ - spec/components/color_panel_spec.rb
175
+ - spec/components/color_picker_spec.rb
176
+ - spec/components/container_spec.rb
177
+ - spec/components/date_picker_spec.rb
178
+ - spec/components/drag_spec.rb
179
+ - spec/components/dropdown_spec.rb
180
+ - spec/components/image_spec.rb
181
+ - spec/components/input_spec.rb
182
+ - spec/components/list_spec.rb
183
+ - spec/components/loader_spec.rb
184
+ - spec/components/notifications_spec.rb
185
+ - spec/components/number_spec.rb
186
+ - spec/components/progress_spec.rb
187
+ - spec/components/slider_spec.rb
188
+ - spec/components/tabs_spec.rb
189
+ - spec/components/textarea_spec.rb
190
+ - spec/components/time_spec.rb
191
+ - spec/components/title_spec.rb
192
+ - spec/examples/comments_spec.rb
193
+ - spec/examples/todos_spec.rb
194
+ - spec/lib/collection_spec.rb
195
+ - spec/lib/lorem_spec.rb
196
+ - spec/lib/state_serializer_spec.rb
197
+ - spec/lib/storage_spec.rb
198
+ - spec/spec_helper.rb
199
+ homepage: https://github.com/gdotdesign/fron-ui
200
+ licenses: []
201
+ metadata: {}
202
+ post_install_message:
203
+ rdoc_options: []
204
+ require_paths:
205
+ - lib
206
+ required_ruby_version: !ruby/object:Gem::Requirement
207
+ requirements:
208
+ - - '>='
209
+ - !ruby/object:Gem::Version
210
+ version: '0'
211
+ required_rubygems_version: !ruby/object:Gem::Requirement
212
+ requirements:
213
+ - - '>'
214
+ - !ruby/object:Gem::Version
215
+ version: 1.3.1
216
+ requirements: []
217
+ rubyforge_project:
218
+ rubygems_version: 2.4.8
219
+ signing_key:
220
+ specification_version: 4
221
+ summary: UI Library using Fron
222
+ test_files: []
223
+ has_rdoc: