semantic-ui-rails 0.3.5 → 0.6.5
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/lib/semantic/ui/rails/version.rb +1 -1
- data/semantic.thor +1 -1
- data/vendor/assets/javascripts/semantic-ui/modules/accordion.js +2 -1
- data/vendor/assets/javascripts/semantic-ui/modules/dimmer.js +6 -1
- data/vendor/assets/javascripts/semantic-ui/modules/dropdown.js +174 -117
- data/vendor/assets/javascripts/semantic-ui/modules/modal.js +59 -31
- data/vendor/assets/javascripts/semantic-ui/modules/popup.js +5 -2
- data/vendor/assets/javascripts/semantic-ui/modules/rating.js +11 -4
- data/vendor/assets/javascripts/semantic-ui/modules/sidebar.js +1 -1
- data/vendor/assets/javascripts/semantic-ui/modules/tab.js +2 -1
- data/vendor/assets/javascripts/semantic-ui/modules/transition.js +1 -1
- data/vendor/assets/javascripts/semantic-ui/modules/video.js +8 -2
- data/vendor/assets/stylesheets/semantic-ui/collections/menu.less +77 -34
- data/vendor/assets/stylesheets/semantic-ui/elements/icon.less +18 -14
- data/vendor/assets/stylesheets/semantic-ui/elements/input.less +7 -1
- data/vendor/assets/stylesheets/semantic-ui/elements/label.less +33 -0
- data/vendor/assets/stylesheets/semantic-ui/elements/segment.less +7 -0
- data/vendor/assets/stylesheets/semantic-ui/modules/dropdown.less +16 -2
- data/vendor/assets/stylesheets/semantic-ui/modules/modal.less +68 -9
- data/vendor/assets/stylesheets/semantic-ui/views/item.less +0 -10
- metadata +17 -17
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 829003856f259a47a70f70ba678c900cedd8df0a
|
4
|
+
data.tar.gz: 1d50b333b7b19a045de0b058b8356dbbb1d55143
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: cee268bbfec8a3b86974de12dfeb9451eab21af358f6e841b761a0cd5e31a51c2ab9ed515d806092b83763969e78d8786462f93f7951e8b1e121153c95f7a892
|
7
|
+
data.tar.gz: bfda2eb9ff850b46203353ed8b076b33eee38e33831ef48ea5280c7ce2bea13424b9f75ec443d86b43003e533b53a52208145dba571d5db1c1801ad6a0c27153
|
data/semantic.thor
CHANGED
@@ -51,7 +51,7 @@ class Semantic < Thor
|
|
51
51
|
say_status "STEP", "PARSE VERSION"
|
52
52
|
Dir.chdir git_root
|
53
53
|
|
54
|
-
bower = JSON.parse( IO.read('
|
54
|
+
bower = JSON.parse( IO.read('package.json'), :quirks_mode => true)
|
55
55
|
version = bower["version"]
|
56
56
|
|
57
57
|
version_file = source_root + "lib/semantic/ui/rails/version.rb"
|
@@ -28,7 +28,7 @@ $.fn.accordion = function(parameters) {
|
|
28
28
|
var
|
29
29
|
settings = ( $.isPlainObject(parameters) )
|
30
30
|
? $.extend(true, {}, $.fn.accordion.settings, parameters)
|
31
|
-
: $.fn.accordion.settings,
|
31
|
+
: $.extend({}, $.fn.accordion.settings),
|
32
32
|
|
33
33
|
className = settings.className,
|
34
34
|
namespace = settings.namespace,
|
@@ -60,6 +60,7 @@ $.fn.accordion = function(parameters) {
|
|
60
60
|
},
|
61
61
|
|
62
62
|
instantiate: function() {
|
63
|
+
instance = module;
|
63
64
|
$module
|
64
65
|
.data(moduleNamespace, module)
|
65
66
|
;
|
@@ -30,7 +30,7 @@ $.fn.dimmer = function(parameters) {
|
|
30
30
|
var
|
31
31
|
settings = ( $.isPlainObject(parameters) )
|
32
32
|
? $.extend(true, {}, $.fn.dimmer.settings, parameters)
|
33
|
-
: $.fn.dimmer.settings,
|
33
|
+
: $.extend({}, $.fn.dimmer.settings),
|
34
34
|
|
35
35
|
selector = settings.selector,
|
36
36
|
namespace = settings.namespace,
|
@@ -54,6 +54,8 @@ $.fn.dimmer = function(parameters) {
|
|
54
54
|
module
|
55
55
|
;
|
56
56
|
|
57
|
+
console.log(element, parameters);
|
58
|
+
|
57
59
|
module = {
|
58
60
|
|
59
61
|
preinitialize: function() {
|
@@ -111,6 +113,9 @@ $.fn.dimmer = function(parameters) {
|
|
111
113
|
|
112
114
|
destroy: function() {
|
113
115
|
module.verbose('Destroying previous module', $dimmer);
|
116
|
+
$module
|
117
|
+
.removeData(moduleNamespace)
|
118
|
+
;
|
114
119
|
$dimmable
|
115
120
|
.off(eventNamespace)
|
116
121
|
;
|
@@ -11,18 +11,19 @@
|
|
11
11
|
;(function ( $, window, document, undefined ) {
|
12
12
|
|
13
13
|
$.fn.dropdown = function(parameters) {
|
14
|
-
|
15
|
-
$allModules
|
16
|
-
$document
|
14
|
+
var
|
15
|
+
$allModules = $(this),
|
16
|
+
$document = $(document),
|
17
17
|
|
18
|
-
moduleSelector
|
18
|
+
moduleSelector = $allModules.selector || '',
|
19
19
|
|
20
|
-
|
21
|
-
|
20
|
+
hasTouch = ('ontouchstart' in document.documentElement),
|
21
|
+
time = new Date().getTime(),
|
22
|
+
performance = [],
|
22
23
|
|
23
|
-
query
|
24
|
-
methodInvoked
|
25
|
-
queryArguments
|
24
|
+
query = arguments[0],
|
25
|
+
methodInvoked = (typeof query == 'string'),
|
26
|
+
queryArguments = [].slice.call(arguments, 1),
|
26
27
|
invokedResponse
|
27
28
|
;
|
28
29
|
|
@@ -31,28 +32,27 @@ $.fn.dropdown = function(parameters) {
|
|
31
32
|
var
|
32
33
|
settings = ( $.isPlainObject(parameters) )
|
33
34
|
? $.extend(true, {}, $.fn.dropdown.settings, parameters)
|
34
|
-
: $.fn.dropdown.settings,
|
35
|
+
: $.extend({}, $.fn.dropdown.settings),
|
35
36
|
|
36
|
-
className
|
37
|
-
metadata
|
38
|
-
namespace
|
39
|
-
selector
|
40
|
-
error
|
37
|
+
className = settings.className,
|
38
|
+
metadata = settings.metadata,
|
39
|
+
namespace = settings.namespace,
|
40
|
+
selector = settings.selector,
|
41
|
+
error = settings.error,
|
41
42
|
|
42
|
-
eventNamespace
|
43
|
-
|
44
|
-
isTouchDevice = ('ontouchstart' in document.documentElement),
|
43
|
+
eventNamespace = '.' + namespace,
|
44
|
+
moduleNamespace = 'module-' + namespace,
|
45
45
|
|
46
|
-
$module
|
47
|
-
$item
|
48
|
-
$text
|
49
|
-
$input
|
46
|
+
$module = $(this),
|
47
|
+
$item = $module.find(selector.item),
|
48
|
+
$text = $module.find(selector.text),
|
49
|
+
$input = $module.find(selector.input),
|
50
50
|
|
51
|
-
$menu
|
51
|
+
$menu = $module.children(selector.menu),
|
52
52
|
|
53
53
|
|
54
|
-
element
|
55
|
-
instance
|
54
|
+
element = this,
|
55
|
+
instance = $module.data(moduleNamespace),
|
56
56
|
module
|
57
57
|
;
|
58
58
|
|
@@ -60,42 +60,27 @@ $.fn.dropdown = function(parameters) {
|
|
60
60
|
|
61
61
|
initialize: function() {
|
62
62
|
module.debug('Initializing dropdown', settings);
|
63
|
-
|
64
|
-
|
65
|
-
|
66
|
-
|
67
|
-
|
68
|
-
|
69
|
-
$module
|
70
|
-
.on('click' + eventNamespace, module.event.test.toggle)
|
71
|
-
;
|
72
|
-
}
|
73
|
-
else if(settings.on == 'hover') {
|
74
|
-
$module
|
75
|
-
.on('mouseenter' + eventNamespace, module.delay.show)
|
76
|
-
.on('mouseleave' + eventNamespace, module.delay.hide)
|
77
|
-
;
|
78
|
-
}
|
79
|
-
else {
|
80
|
-
$module
|
81
|
-
.on(settings.on + eventNamespace, module.toggle)
|
82
|
-
;
|
83
|
-
}
|
84
|
-
if(settings.action == 'updateForm') {
|
85
|
-
module.set.selected();
|
63
|
+
|
64
|
+
module.set.selected();
|
65
|
+
|
66
|
+
// no use detecting mouse events because touch devices emulate them
|
67
|
+
if(hasTouch) {
|
68
|
+
module.bind.touchEvents();
|
86
69
|
}
|
87
|
-
|
88
|
-
|
89
|
-
|
90
|
-
.
|
70
|
+
module.bind.mouseEvents();
|
71
|
+
|
72
|
+
$document
|
73
|
+
.one('mousemove' + eventNamespace, module.set.hasMouse)
|
91
74
|
;
|
75
|
+
|
92
76
|
module.instantiate();
|
93
77
|
},
|
94
78
|
|
95
79
|
instantiate: function() {
|
96
80
|
module.verbose('Storing instance of dropdown', module);
|
81
|
+
instance = module;
|
97
82
|
$module
|
98
|
-
.data(
|
83
|
+
.data(moduleNamespace, module)
|
99
84
|
;
|
100
85
|
},
|
101
86
|
|
@@ -106,17 +91,91 @@ $.fn.dropdown = function(parameters) {
|
|
106
91
|
;
|
107
92
|
$module
|
108
93
|
.off(eventNamespace)
|
109
|
-
.removeData(
|
94
|
+
.removeData(moduleNamespace)
|
110
95
|
;
|
111
96
|
},
|
112
97
|
|
113
|
-
|
98
|
+
bind: {
|
99
|
+
touchEvents: function() {
|
100
|
+
module.debug('Touch device detected binding touch events');
|
101
|
+
$module
|
102
|
+
.on('touchstart' + eventNamespace, module.event.test.toggle)
|
103
|
+
;
|
104
|
+
$item
|
105
|
+
.on('touchstart' + eventNamespace, module.event.item.mouseenter)
|
106
|
+
.on('touchstart' + eventNamespace, module.event.item.click)
|
107
|
+
;
|
108
|
+
},
|
109
|
+
mouseEvents: function() {
|
110
|
+
module.verbose('Mouse detected binding mouse events');
|
111
|
+
if(settings.on == 'click') {
|
112
|
+
$module
|
113
|
+
.on('click' + eventNamespace, module.event.test.toggle)
|
114
|
+
;
|
115
|
+
}
|
116
|
+
else if(settings.on == 'hover') {
|
117
|
+
$module
|
118
|
+
.on('mouseenter' + eventNamespace, module.delay.show)
|
119
|
+
.on('mouseleave' + eventNamespace, module.delay.hide)
|
120
|
+
;
|
121
|
+
}
|
122
|
+
else {
|
123
|
+
$module
|
124
|
+
.on(settings.on + eventNamespace, module.toggle)
|
125
|
+
;
|
126
|
+
}
|
127
|
+
$item
|
128
|
+
.on('mouseenter' + eventNamespace, module.event.item.mouseenter)
|
129
|
+
.on('mouseleave' + eventNamespace, module.event.item.mouseleave)
|
130
|
+
.on('click' + eventNamespace, module.event.item.click)
|
131
|
+
;
|
132
|
+
},
|
133
|
+
intent: function() {
|
134
|
+
module.verbose('Binding hide intent event to document');
|
135
|
+
if(hasTouch) {
|
136
|
+
$document
|
137
|
+
.on('touchstart' + eventNamespace, module.event.test.touch)
|
138
|
+
.on('touchmove' + eventNamespace, module.event.test.touch)
|
139
|
+
;
|
140
|
+
}
|
141
|
+
$document
|
142
|
+
.on('click' + eventNamespace, module.event.test.hide)
|
143
|
+
;
|
144
|
+
}
|
145
|
+
},
|
146
|
+
|
147
|
+
unbind: {
|
148
|
+
intent: function() {
|
149
|
+
module.verbose('Removing hide intent event from document');
|
150
|
+
if(hasTouch) {
|
151
|
+
$document
|
152
|
+
.off('touchstart' + eventNamespace)
|
153
|
+
;
|
154
|
+
}
|
155
|
+
$document
|
156
|
+
.off('click' + eventNamespace)
|
157
|
+
;
|
158
|
+
}
|
159
|
+
},
|
114
160
|
|
161
|
+
event: {
|
115
162
|
test: {
|
116
163
|
toggle: function(event) {
|
117
164
|
module.determine.intent(event, module.toggle);
|
165
|
+
event.preventDefault();
|
118
166
|
event.stopImmediatePropagation();
|
119
167
|
},
|
168
|
+
touch: function(event) {
|
169
|
+
module.determine.intent(event, function() {
|
170
|
+
if(event.type == 'touchstart') {
|
171
|
+
module.timer = setTimeout(module.hide, 50);
|
172
|
+
}
|
173
|
+
else if(event.type == 'touchmove') {
|
174
|
+
clearTimeout(module.timer);
|
175
|
+
}
|
176
|
+
});
|
177
|
+
event.stopPropagation();
|
178
|
+
},
|
120
179
|
hide: function(event) {
|
121
180
|
module.determine.intent(event, module.hide);
|
122
181
|
event.stopPropagation();
|
@@ -137,6 +196,7 @@ $.fn.dropdown = function(parameters) {
|
|
137
196
|
module.verbose('Showing sub-menu', $currentMenu);
|
138
197
|
module.animate.show(false, $currentMenu);
|
139
198
|
}, settings.delay.show * 2);
|
199
|
+
event.preventDefault();
|
140
200
|
}
|
141
201
|
},
|
142
202
|
|
@@ -160,13 +220,6 @@ $.fn.dropdown = function(parameters) {
|
|
160
220
|
value = $choice.data(metadata.value) || text.toLowerCase()
|
161
221
|
;
|
162
222
|
if( $choice.find(selector.menu).size() === 0 ) {
|
163
|
-
module.verbose('Adding active state to selected item');
|
164
|
-
$item
|
165
|
-
.removeClass(className.active)
|
166
|
-
;
|
167
|
-
$choice
|
168
|
-
.addClass(className.active)
|
169
|
-
;
|
170
223
|
module.determine.selectAction(text, value);
|
171
224
|
$.proxy(settings.onChange, element)(value, text);
|
172
225
|
}
|
@@ -183,19 +236,9 @@ $.fn.dropdown = function(parameters) {
|
|
183
236
|
determine: {
|
184
237
|
selectAction: function(text, value) {
|
185
238
|
module.verbose('Determining action', settings.action);
|
186
|
-
if(settings.action
|
187
|
-
if(module.is.selection()) {
|
188
|
-
module.debug('Selection dropdown used updating form', text, value);
|
189
|
-
module.updateForm(text, value);
|
190
|
-
}
|
191
|
-
else {
|
192
|
-
module.debug('No action specified hiding dropdown', text, value);
|
193
|
-
module.hide();
|
194
|
-
}
|
195
|
-
}
|
196
|
-
else if( $.isFunction( module[settings.action] ) ) {
|
239
|
+
if( $.isFunction( module.action[settings.action] ) ) {
|
197
240
|
module.verbose('Triggering preset action', settings.action, text, value);
|
198
|
-
module[ settings.action ](text, value);
|
241
|
+
module.action[ settings.action ](text, value);
|
199
242
|
}
|
200
243
|
else if( $.isFunction(settings.action) ) {
|
201
244
|
module.verbose('Triggering user action', settings.action, text, value);
|
@@ -218,44 +261,47 @@ $.fn.dropdown = function(parameters) {
|
|
218
261
|
}
|
219
262
|
},
|
220
263
|
|
221
|
-
|
222
|
-
intent: function() {
|
223
|
-
module.verbose('Binding hide intent event to document');
|
224
|
-
$document
|
225
|
-
.on(module.get.selectEvent(), module.event.test.hide)
|
226
|
-
;
|
227
|
-
}
|
228
|
-
},
|
264
|
+
action: {
|
229
265
|
|
230
|
-
|
231
|
-
intent: function() {
|
232
|
-
module.verbose('Removing hide intent event from document');
|
233
|
-
$document
|
234
|
-
.off(module.get.selectEvent())
|
235
|
-
;
|
236
|
-
}
|
237
|
-
},
|
266
|
+
nothing: function() {},
|
238
267
|
|
239
|
-
|
268
|
+
hide: function() {
|
269
|
+
module.hide();
|
270
|
+
},
|
240
271
|
|
241
|
-
|
242
|
-
|
243
|
-
|
244
|
-
|
272
|
+
activate: function(text, value) {
|
273
|
+
value = value || text;
|
274
|
+
module.set.selected(value);
|
275
|
+
module.set.value(value);
|
276
|
+
module.hide();
|
277
|
+
},
|
278
|
+
|
279
|
+
/* Deprecated */
|
280
|
+
auto: function(text, value) {
|
281
|
+
value = value || text;
|
282
|
+
module.set.selected(value);
|
283
|
+
module.set.value(value);
|
284
|
+
module.hide();
|
285
|
+
},
|
286
|
+
|
287
|
+
/* Deprecated */
|
288
|
+
changeText: function(text, value) {
|
289
|
+
value = value || text;
|
290
|
+
module.set.selected(value);
|
291
|
+
module.hide();
|
292
|
+
},
|
293
|
+
|
294
|
+
/* Deprecated */
|
295
|
+
updateForm: function(text, value) {
|
296
|
+
value = value || text;
|
297
|
+
module.set.selected(value);
|
298
|
+
module.set.value(value);
|
299
|
+
module.hide();
|
300
|
+
}
|
245
301
|
|
246
|
-
updateForm: function(text, value) {
|
247
|
-
module.set.text(text);
|
248
|
-
module.set.value(value);
|
249
|
-
module.hide();
|
250
302
|
},
|
251
303
|
|
252
304
|
get: {
|
253
|
-
selectEvent: function() {
|
254
|
-
return (isTouchDevice)
|
255
|
-
? 'touchstart'
|
256
|
-
: 'click'
|
257
|
-
;
|
258
|
-
},
|
259
305
|
text: function() {
|
260
306
|
return $text.text();
|
261
307
|
},
|
@@ -266,14 +312,25 @@ $.fn.dropdown = function(parameters) {
|
|
266
312
|
var
|
267
313
|
$selectedItem
|
268
314
|
;
|
269
|
-
value = value ||
|
270
|
-
|
271
|
-
|
272
|
-
|
273
|
-
|
274
|
-
|
275
|
-
|
276
|
-
|
315
|
+
value = value || module.get.value() || module.get.text();
|
316
|
+
if(value) {
|
317
|
+
$item
|
318
|
+
.each(function() {
|
319
|
+
var
|
320
|
+
$choice = $(this),
|
321
|
+
optionText = $choice.data(metadata.text) || $choice.text(),
|
322
|
+
optionValue = $choice.data(metadata.value) || optionText.toLowerCase()
|
323
|
+
;
|
324
|
+
if( optionValue == value || optionText == value ) {
|
325
|
+
$selectedItem = $(this);
|
326
|
+
return false;
|
327
|
+
}
|
328
|
+
})
|
329
|
+
;
|
330
|
+
}
|
331
|
+
else {
|
332
|
+
value = module.get.text();
|
333
|
+
}
|
277
334
|
return $selectedItem || false;
|
278
335
|
}
|
279
336
|
},
|
@@ -342,7 +399,7 @@ $.fn.dropdown = function(parameters) {
|
|
342
399
|
|
343
400
|
can: {
|
344
401
|
click: function() {
|
345
|
-
return (
|
402
|
+
return (hasTouch || settings.on == 'click');
|
346
403
|
},
|
347
404
|
show: function() {
|
348
405
|
return !$module.hasClass(className.disabled);
|
@@ -700,7 +757,7 @@ $.fn.dropdown.settings = {
|
|
700
757
|
performance : true,
|
701
758
|
|
702
759
|
on : 'click',
|
703
|
-
action : '
|
760
|
+
action : 'activate',
|
704
761
|
|
705
762
|
delay: {
|
706
763
|
show: 200,
|
@@ -721,8 +778,8 @@ $.fn.dropdown.settings = {
|
|
721
778
|
},
|
722
779
|
|
723
780
|
metadata: {
|
724
|
-
text
|
725
|
-
value
|
781
|
+
text : 'text',
|
782
|
+
value : 'value'
|
726
783
|
},
|
727
784
|
|
728
785
|
selector : {
|