RubyApp 0.5.16 → 0.5.17
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.
- 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
|