ProMotion 2.3.0 → 2.3.1
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/README.md +5 -1
- data/lib/ProMotion/screen/screen_module.rb +5 -1
- data/lib/ProMotion/table/table.rb +29 -5
- data/lib/ProMotion/version.rb +1 -1
- data/spec/unit/screen_spec.rb +18 -0
- data/spec/unit/tables/table_screen_spec.rb +22 -0
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 22dee782b5f904dab39ce97ce900fe1012daf866
|
4
|
+
data.tar.gz: 92a7e426f1d01a67fa8a8431d23f912109e14322
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: ad1fd5927fa02167ecb552141242827953fc22288e625ab342ec592ff2ef26da757f76c37f7d88657cb5df7968873ca97188fd99f3abd7d545f324d4328cdc0b
|
7
|
+
data.tar.gz: 773bb526a2679efdc727e460e59b087cdb8d599c3264c6838279605af19117ba0cbd2bf600c8849cffe2ee90a54732dc39608e67f616033d7edd8cffe6ea0b68
|
data/README.md
CHANGED
@@ -132,10 +132,14 @@ If you need help, feel free to open an issue on GitHub. If we don't respond with
|
|
132
132
|
|
133
133
|
See [CONTRIBUTING.md](https://github.com/clearsightstudio/ProMotion/blob/master/CONTRIBUTING.md).
|
134
134
|
|
135
|
-
##
|
135
|
+
## Core Team
|
136
136
|
|
137
137
|
* Jamon Holmgren: [@jamonholmgren](https://twitter.com/jamonholmgren)
|
138
138
|
* Silas Matson: [@silasjmatson](https://twitter.com/silasjmatson)
|
139
139
|
* Mark Rickert: [@markrickert](https://twitter.com/markrickert)
|
140
140
|
* Ryan Linton: [@ryanlntn](https://twitter.com/ryanlntn)
|
141
|
+
* David Larrabee: [@squidpunch](https://twitter.com/squidpunch)
|
142
|
+
|
143
|
+
## Other Contributors
|
144
|
+
|
141
145
|
* [Many others](https://github.com/clearsightstudio/ProMotion/graphs/contributors)
|
@@ -42,9 +42,13 @@ module ProMotion
|
|
42
42
|
when :light
|
43
43
|
status_bar_hidden false
|
44
44
|
status_bar_style UIStatusBarStyleLightContent
|
45
|
-
|
45
|
+
when :dark
|
46
46
|
status_bar_hidden false
|
47
47
|
status_bar_style UIStatusBarStyleDefault
|
48
|
+
else
|
49
|
+
status_bar_hidden false
|
50
|
+
global_style = NSBundle.mainBundle.objectForInfoDictionaryKey("UIStatusBarStyle")
|
51
|
+
status_bar_style global_style ? Object.const_get(global_style) : UIStatusBarStyleDefault
|
48
52
|
end
|
49
53
|
end
|
50
54
|
|
@@ -20,6 +20,7 @@ module ProMotion
|
|
20
20
|
set_up_refreshable
|
21
21
|
set_up_longpressable
|
22
22
|
set_up_row_height
|
23
|
+
set_up_accessibility
|
23
24
|
end
|
24
25
|
|
25
26
|
def check_table_data
|
@@ -89,6 +90,19 @@ module ProMotion
|
|
89
90
|
end
|
90
91
|
end
|
91
92
|
|
93
|
+
def editable?
|
94
|
+
self.promotion_table_data.sections.each do |section|
|
95
|
+
section[:cells].each do |cell|
|
96
|
+
return true if [:insert,:delete].include?(cell[:editing_style])
|
97
|
+
end
|
98
|
+
end
|
99
|
+
false
|
100
|
+
end
|
101
|
+
|
102
|
+
def set_up_accessibility
|
103
|
+
self.extend(Editable) if editable?
|
104
|
+
end
|
105
|
+
|
92
106
|
def searching?
|
93
107
|
self.promotion_table_data.filtered
|
94
108
|
end
|
@@ -155,14 +169,22 @@ module ProMotion
|
|
155
169
|
new_cell.extend(PM::TableViewCellModule) unless new_cell.is_a?(PM::TableViewCellModule)
|
156
170
|
new_cell.autoresizingMask = UIViewAutoresizingFlexibleWidth|UIViewAutoresizingFlexibleLeftMargin|UIViewAutoresizingFlexibleRightMargin
|
157
171
|
new_cell.clipsToBounds = true # fix for changed default in 7.1
|
158
|
-
new_cell
|
172
|
+
on_cell_created new_cell, data_cell
|
159
173
|
new_cell
|
160
174
|
end
|
161
175
|
table_cell.setup(data_cell, self) if table_cell.respond_to?(:setup)
|
162
|
-
table_cell
|
176
|
+
on_cell_reused(table_cell, data_cell) if !new_cell
|
163
177
|
table_cell
|
164
178
|
end
|
165
179
|
|
180
|
+
def on_cell_created(new_cell, data_cell)
|
181
|
+
new_cell.send(:on_load) if new_cell.respond_to?(:on_load)
|
182
|
+
end
|
183
|
+
|
184
|
+
def on_cell_reused(cell, data)
|
185
|
+
cell.send(:on_reuse) if cell.respond_to?(:on_reuse)
|
186
|
+
end
|
187
|
+
|
166
188
|
def update_table_data(args = {})
|
167
189
|
args = { index_paths: args } unless args.is_a?(Hash)
|
168
190
|
|
@@ -235,9 +257,11 @@ module ProMotion
|
|
235
257
|
map_cell_editing_style(data_cell[:editing_style])
|
236
258
|
end
|
237
259
|
|
238
|
-
|
239
|
-
|
240
|
-
|
260
|
+
module Editable
|
261
|
+
def tableView(_, commitEditingStyle: editing_style, forRowAtIndexPath: index_path)
|
262
|
+
if editing_style == UITableViewCellEditingStyleDelete
|
263
|
+
delete_row(index_path)
|
264
|
+
end
|
241
265
|
end
|
242
266
|
end
|
243
267
|
|
data/lib/ProMotion/version.rb
CHANGED
data/spec/unit/screen_spec.rb
CHANGED
@@ -43,6 +43,24 @@ describe "screen properties" do
|
|
43
43
|
UIApplication.sharedApplication.statusBarStyle.should == UIStatusBarStyleLightContent
|
44
44
|
end
|
45
45
|
|
46
|
+
it "should set the UIStatusBar style to :dark" do
|
47
|
+
UIApplication.sharedApplication.statusBarStyle = UIStatusBarStyleLightContent
|
48
|
+
@screen.class.status_bar :dark
|
49
|
+
@screen.view_will_appear(false)
|
50
|
+
UIApplication.sharedApplication.isStatusBarHidden.should == false
|
51
|
+
UIApplication.sharedApplication.statusBarStyle.should == UIStatusBarStyleDefault
|
52
|
+
end
|
53
|
+
|
54
|
+
it "should default to a global UIStatusBar style" do
|
55
|
+
NSBundle.mainBundle.mock!(:objectForInfoDictionaryKey) do |key|
|
56
|
+
"UIStatusBarStyleLightContent"
|
57
|
+
end
|
58
|
+
@screen.class.status_bar :default
|
59
|
+
@screen.view_will_appear(false)
|
60
|
+
UIApplication.sharedApplication.isStatusBarHidden.should == false
|
61
|
+
UIApplication.sharedApplication.statusBarStyle.should == UIStatusBarStyleLightContent
|
62
|
+
end
|
63
|
+
|
46
64
|
it "should set the tab bar item with a system item" do
|
47
65
|
@screen.set_tab_bar_item system_item: :contacts
|
48
66
|
comparison = UITabBarItem.alloc.initWithTabBarSystemItem(UITabBarSystemItemContacts, tag: 0)
|
@@ -63,6 +63,28 @@ describe "table screens" do
|
|
63
63
|
screen.view.estimatedRowHeight.should == 77
|
64
64
|
end
|
65
65
|
|
66
|
+
it "sets up proper accessibility methods" do
|
67
|
+
class NoneditableTableScreen < PM::TableScreen
|
68
|
+
def on_load
|
69
|
+
end
|
70
|
+
|
71
|
+
def table_data
|
72
|
+
[{
|
73
|
+
title: "test",
|
74
|
+
cells: [{ title: "Non-editable test" }]
|
75
|
+
}]
|
76
|
+
end
|
77
|
+
end
|
78
|
+
|
79
|
+
noneditable = NoneditableTableScreen.new
|
80
|
+
noneditable.on_load
|
81
|
+
noneditable.editable?.should==false
|
82
|
+
index_path = NSIndexPath.indexPathForRow(0, inSection: 0)
|
83
|
+
lambda { noneditable.tableView(noneditable, commitEditingStyle: UITableViewCellEditingStyleDelete, forRowAtIndexPath: index_path) }.should.raise NoMethodError
|
84
|
+
@screen.editable?.should == true
|
85
|
+
@screen.should.respond_to(:"tableView:commitEditingStyle:forRowAtIndexPath")
|
86
|
+
end
|
87
|
+
|
66
88
|
end
|
67
89
|
|
68
90
|
describe "search functionality" do
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: ProMotion
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 2.3.
|
4
|
+
version: 2.3.1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Jamon Holmgren
|
@@ -10,7 +10,7 @@ authors:
|
|
10
10
|
autorequire:
|
11
11
|
bindir: bin
|
12
12
|
cert_chain: []
|
13
|
-
date: 2015-
|
13
|
+
date: 2015-05-09 00:00:00.000000000 Z
|
14
14
|
dependencies:
|
15
15
|
- !ruby/object:Gem::Dependency
|
16
16
|
name: methadone
|