RubyApp 0.5.16 → 0.5.17
Sign up to get free protection for your applications and to get access to all the features.
- data/Gemfile.lock +1 -1
- data/lib/ruby_app/element.rb +8 -0
- data/lib/ruby_app/elements/mobile/default/features/lists_page.rb +12 -4
- data/lib/ruby_app/elements/mobile/list.html.haml +4 -1
- data/lib/ruby_app/elements/mobile/list.js.haml +5 -1
- data/lib/ruby_app/elements/mobile/list.rb +32 -4
- data/lib/ruby_app/elements/mobile/lists/select.html.haml +4 -1
- data/lib/ruby_app/elements/mobile/lists/select.rb +1 -1
- data/lib/ruby_app/elements/mobile/pages/information/documents_page.rb +1 -1
- data/lib/ruby_app/elements/mobile/pages/information/pages_page.rb +1 -1
- data/lib/ruby_app/elements/mobile/pages/information/scripts_page.rb +1 -1
- data/lib/ruby_app/elements/mobile/pages/information/sessions_page.rb +1 -1
- data/lib/ruby_app/scripts/elements/lists.rb +26 -4
- data/lib/ruby_app/version.rb +1 -1
- metadata +4 -4
data/Gemfile.lock
CHANGED
data/lib/ruby_app/element.rb
CHANGED
@@ -122,6 +122,14 @@ module RubyApp
|
|
122
122
|
self.tap_selector("a:contains('#{text}')")
|
123
123
|
end
|
124
124
|
|
125
|
+
def tap_list_item(text)
|
126
|
+
self.tap_selector("a.item:contains('#{text}')")
|
127
|
+
end
|
128
|
+
|
129
|
+
def tap_list_link(text)
|
130
|
+
self.tap_selector("a.link[title*='#{text}']")
|
131
|
+
end
|
132
|
+
|
125
133
|
def tap_selector(selector)
|
126
134
|
_selector = ".ui-page-active #{selector}"
|
127
135
|
self.execute("RubyApp.tap(#{_selector.to_json});")
|
@@ -24,24 +24,32 @@ module RubyApp
|
|
24
24
|
|
25
25
|
@list = RubyApp::Elements::Mobile::List.new
|
26
26
|
@list.attributes.merge!('data-inset' => true)
|
27
|
+
@list.is_split = true
|
27
28
|
@list.items += [ 'Item 01',
|
28
29
|
'Item 02',
|
29
30
|
'Item 03',
|
30
31
|
'Item 04',
|
31
32
|
'Item 05' ]
|
32
|
-
@list.
|
33
|
-
RubyApp::Elements::Mobile::Dialog.show(event, RubyApp::Elements::Mobile::Dialogs::AcknowledgementDialog.new('List', "You clicked #{event.item}."), :transition => 'pop')
|
33
|
+
@list.item_clicked do |element, event|
|
34
|
+
RubyApp::Elements::Mobile::Dialog.show(event, RubyApp::Elements::Mobile::Dialogs::AcknowledgementDialog.new('List', "You clicked the item #{event.item}."), :transition => 'pop')
|
35
|
+
end
|
36
|
+
@list.link_clicked do |element, event|
|
37
|
+
RubyApp::Elements::Mobile::Dialog.show(event, RubyApp::Elements::Mobile::Dialogs::AcknowledgementDialog.new('List', "You clicked the link #{event.item}."), :transition => 'pop')
|
34
38
|
end
|
35
39
|
|
36
40
|
@select = RubyApp::Elements::Mobile::Lists::Select.new
|
37
41
|
@select.attributes.merge!('data-inset' => true)
|
42
|
+
@select.is_split = true
|
38
43
|
@select.items += [ 'Item 11',
|
39
44
|
'Item 12',
|
40
45
|
'Item 13',
|
41
46
|
'Item 14',
|
42
47
|
'Item 15' ]
|
43
|
-
@select.
|
44
|
-
RubyApp::Elements::Mobile::Dialog.show(event, RubyApp::Elements::Mobile::Dialogs::AcknowledgementDialog.new('List', "You clicked #{event.item}."), :transition => 'pop')
|
48
|
+
@select.item_clicked do |element, event|
|
49
|
+
RubyApp::Elements::Mobile::Dialog.show(event, RubyApp::Elements::Mobile::Dialogs::AcknowledgementDialog.new('List', "You clicked the item #{event.item}."), :transition => 'pop')
|
50
|
+
end
|
51
|
+
@select.link_clicked do |element, event|
|
52
|
+
RubyApp::Elements::Mobile::Dialog.show(event, RubyApp::Elements::Mobile::Dialogs::AcknowledgementDialog.new('List', "You clicked the link #{event.item}."), :transition => 'pop')
|
45
53
|
end
|
46
54
|
|
47
55
|
end
|
@@ -3,5 +3,8 @@
|
|
3
3
|
%ul.list{attributes}
|
4
4
|
- self.items.each_with_index do |item, index|
|
5
5
|
%li.item{'data-icon' => 'false'}
|
6
|
-
%a.item{:href => '#',
|
6
|
+
%a.item{:href => '#', 'data-index' => index}
|
7
7
|
= yield(:item, item, index) || item
|
8
|
+
- if self.split?
|
9
|
+
%a.link{:href => '#', 'data-index' => index}
|
10
|
+
= yield(:link, item, index) || item
|
@@ -3,7 +3,11 @@
|
|
3
3
|
$(document).ready( function() {
|
4
4
|
$(document).on('tap', 'ul.list > li.item a.item', function(event) {
|
5
5
|
event.preventDefault();
|
6
|
-
RubyApp.queueEvent({_class:'RubyApp::Elements::Mobile::List::
|
6
|
+
RubyApp.queueEvent({_class:'RubyApp::Elements::Mobile::List::ItemClickedEvent', source:$(this).parents('ul.list').attr('id'), index:$(this).attr('data-index')});
|
7
|
+
});
|
8
|
+
$(document).on('tap', 'ul.list > li.item a.link', function(event) {
|
9
|
+
event.preventDefault();
|
10
|
+
RubyApp.queueEvent({_class:'RubyApp::Elements::Mobile::List::LinkClickedEvent', source:$(this).parents('ul.list').attr('id'), index:$(this).attr('data-index')});
|
7
11
|
});
|
8
12
|
});
|
9
13
|
= yield
|
@@ -28,29 +28,57 @@ module RubyApp
|
|
28
28
|
|
29
29
|
end
|
30
30
|
|
31
|
+
class ItemClickedEvent < RubyApp::Elements::Mobile::List::ClickedEvent
|
32
|
+
|
33
|
+
def initialize(data)
|
34
|
+
super(data)
|
35
|
+
end
|
36
|
+
|
37
|
+
end
|
38
|
+
|
39
|
+
class LinkClickedEvent < RubyApp::Elements::Mobile::List::ClickedEvent
|
40
|
+
|
41
|
+
def initialize(data)
|
42
|
+
super(data)
|
43
|
+
end
|
44
|
+
|
45
|
+
end
|
46
|
+
|
31
47
|
template_path(:all, File.dirname(__FILE__))
|
32
48
|
|
33
49
|
attr_accessor :items
|
50
|
+
attr_accessor :is_split
|
34
51
|
|
35
|
-
event :
|
52
|
+
event :item_clicked
|
53
|
+
event :link_clicked
|
36
54
|
|
37
55
|
def initialize
|
38
56
|
super
|
39
57
|
self.attributes.merge!('data-role' => 'listview')
|
40
58
|
|
41
59
|
@items = []
|
60
|
+
@is_split = false
|
42
61
|
|
43
62
|
end
|
44
63
|
|
64
|
+
def split?
|
65
|
+
return self.is_split
|
66
|
+
end
|
67
|
+
|
45
68
|
protected
|
46
69
|
|
47
70
|
def on_event(event)
|
48
|
-
|
71
|
+
on_item_clicked(event) if event.is_a?(RubyApp::Elements::Mobile::List::ItemClickedEvent)
|
72
|
+
on_link_clicked(event) if event.is_a?(RubyApp::Elements::Mobile::List::LinkClickedEvent)
|
49
73
|
super(event)
|
50
74
|
end
|
51
75
|
|
52
|
-
def
|
53
|
-
|
76
|
+
def on_item_clicked(event)
|
77
|
+
item_clicked(event)
|
78
|
+
end
|
79
|
+
|
80
|
+
def on_link_clicked(event)
|
81
|
+
link_clicked(event)
|
54
82
|
end
|
55
83
|
|
56
84
|
end
|
@@ -3,5 +3,8 @@
|
|
3
3
|
%ul.list{attributes}
|
4
4
|
- self.items.each_with_index do |item, index|
|
5
5
|
%li.item{'data-icon' => 'false', 'data-theme' => self.selected_item == item ? self.attributes['data-selected-theme'] : nil}
|
6
|
-
%a.item{:href => '#',
|
6
|
+
%a.item{:href => '#', 'data-index' => index}
|
7
7
|
= yield(:item, item, index) || item
|
8
|
+
- if self.split?
|
9
|
+
%a.link{:href => '#', 'data-index' => index}
|
10
|
+
= yield(:link, item, index) || item
|
@@ -24,7 +24,7 @@ module RubyApp
|
|
24
24
|
@back_button = RubyApp::Elements::Mobile::Navigation::BackButton.new
|
25
25
|
|
26
26
|
@documents_list = RubyApp::Elements::Mobile::Pages::Information::DocumentsList.new(@session)
|
27
|
-
@documents_list.
|
27
|
+
@documents_list.item_clicked do |element, event|
|
28
28
|
RubyApp::Elements::Mobile::Pages::Information::DocumentPage.new(event.item).show(event, element.options)
|
29
29
|
end
|
30
30
|
|
@@ -24,7 +24,7 @@ module RubyApp
|
|
24
24
|
@back_button = RubyApp::Elements::Mobile::Navigation::BackButton.new
|
25
25
|
|
26
26
|
@pages_list = RubyApp::Elements::Mobile::Pages::Information::PagesList.new(@document)
|
27
|
-
@pages_list.
|
27
|
+
@pages_list.item_clicked do |element, event|
|
28
28
|
RubyApp::Elements::Mobile::Pages::Information::PagePage.new(event.item).show(event, element.options)
|
29
29
|
end
|
30
30
|
|
@@ -22,7 +22,7 @@ module RubyApp
|
|
22
22
|
@back_button = RubyApp::Elements::Mobile::Navigation::BackButton.new
|
23
23
|
|
24
24
|
@scripts_list = RubyApp::Elements::Mobile::Pages::Information::ScriptsList.new
|
25
|
-
@scripts_list.
|
25
|
+
@scripts_list.item_clicked do |element, event|
|
26
26
|
if RubyApp::Session.configuration.scripts.enabled
|
27
27
|
event.go(event.item.url)
|
28
28
|
else
|
@@ -22,7 +22,7 @@ module RubyApp
|
|
22
22
|
@back_button = RubyApp::Elements::Mobile::Navigation::BackButton.new
|
23
23
|
|
24
24
|
@sessions_list = RubyApp::Elements::Mobile::Pages::Information::SessionsList.new
|
25
|
-
@sessions_list.
|
25
|
+
@sessions_list.item_clicked do |element, event|
|
26
26
|
RubyApp::Elements::Mobile::Pages::Information::SessionPage.new(event.item).show(event, element.options)
|
27
27
|
end
|
28
28
|
|
@@ -7,22 +7,44 @@ end
|
|
7
7
|
|
8
8
|
add_step! RubyApp::Elements::Mobile::Page::ShownEvent do |event|
|
9
9
|
event.assert_exists_link('Item 01')
|
10
|
-
event.
|
10
|
+
event.tap_list_item('Item 01')
|
11
11
|
end
|
12
12
|
|
13
13
|
add_step! RubyApp::Elements::Mobile::Page::ShownEvent do |event|
|
14
|
-
event.assert_exists_text('You clicked Item 01.')
|
14
|
+
event.assert_exists_text('You clicked the item Item 01.')
|
15
|
+
event.assert_exists_link('OK')
|
16
|
+
event.tap_link('OK')
|
17
|
+
end
|
18
|
+
|
19
|
+
add_step! RubyApp::Elements::Mobile::Page::ShownEvent do |event|
|
20
|
+
event.assert_exists_link('Item 01')
|
21
|
+
event.tap_list_link('Item 01')
|
22
|
+
end
|
23
|
+
|
24
|
+
add_step! RubyApp::Elements::Mobile::Page::ShownEvent do |event|
|
25
|
+
event.assert_exists_text('You clicked the link Item 01.')
|
26
|
+
event.assert_exists_link('OK')
|
27
|
+
event.tap_link('OK')
|
28
|
+
end
|
29
|
+
|
30
|
+
add_step! RubyApp::Elements::Mobile::Page::ShownEvent do |event|
|
31
|
+
event.assert_exists_link('Item 11')
|
32
|
+
event.tap_list_item('Item 11')
|
33
|
+
end
|
34
|
+
|
35
|
+
add_step! RubyApp::Elements::Mobile::Page::ShownEvent do |event|
|
36
|
+
event.assert_exists_text('You clicked the item Item 11.')
|
15
37
|
event.assert_exists_link('OK')
|
16
38
|
event.tap_link('OK')
|
17
39
|
end
|
18
40
|
|
19
41
|
add_step! RubyApp::Elements::Mobile::Page::ShownEvent do |event|
|
20
42
|
event.assert_exists_link('Item 11')
|
21
|
-
event.
|
43
|
+
event.tap_list_link('Item 11')
|
22
44
|
end
|
23
45
|
|
24
46
|
add_step! RubyApp::Elements::Mobile::Page::ShownEvent do |event|
|
25
|
-
event.assert_exists_text('You clicked Item 11.')
|
47
|
+
event.assert_exists_text('You clicked the link Item 11.')
|
26
48
|
event.assert_exists_link('OK')
|
27
49
|
event.tap_link('OK')
|
28
50
|
end
|
data/lib/ruby_app/version.rb
CHANGED
metadata
CHANGED
@@ -1,13 +1,13 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: RubyApp
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
hash:
|
4
|
+
hash: 41
|
5
5
|
prerelease:
|
6
6
|
segments:
|
7
7
|
- 0
|
8
8
|
- 5
|
9
|
-
-
|
10
|
-
version: 0.5.
|
9
|
+
- 17
|
10
|
+
version: 0.5.17
|
11
11
|
platform: ruby
|
12
12
|
authors:
|
13
13
|
- Frank G. Ficnar
|
@@ -15,7 +15,7 @@ autorequire:
|
|
15
15
|
bindir: bin
|
16
16
|
cert_chain: []
|
17
17
|
|
18
|
-
date: 2012-04-
|
18
|
+
date: 2012-04-17 00:00:00 Z
|
19
19
|
dependencies:
|
20
20
|
- !ruby/object:Gem::Dependency
|
21
21
|
prerelease: false
|