ProMotion-form 0.3.0 → 0.3.1
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/README.md +18 -5
- data/lib/ProMotion/form/form.rb +11 -0
- metadata +3 -3
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 8a5e782943d995a200866bab9067db1a937cbb69
|
4
|
+
data.tar.gz: b9a0527f77ced2d3eb4a0072e27b5d83016c23fc
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 9bf7baa4f40e171f977a97e7d65db23599ae94178ec8dfe939679d48f888de578d325200fefee00d46804ad66d56ccc8f8263582aacce1178b3db37b24a6d034
|
7
|
+
data.tar.gz: 07ceb43547db03ba16c15231c404546de764458d7f687ee8fd5fa47145bd215ac9a9743a842917e48b322e71558d23a6b943f0290ddebbfd6d80512a13d46d2a
|
data/README.md
CHANGED
@@ -39,11 +39,13 @@ class MyFormScreen < PM::FormScreen
|
|
39
39
|
title: "ID",
|
40
40
|
type: :email,
|
41
41
|
value: current_user.email,
|
42
|
+
image: UIImage.imageNamed('email_icon')
|
42
43
|
}, {
|
43
44
|
name: "password",
|
44
45
|
title: "New Password",
|
45
46
|
type: :password,
|
46
|
-
value: ""
|
47
|
+
value: "",
|
48
|
+
image: UIImage.imageNamed('key_icon')
|
47
49
|
}]
|
48
50
|
}]
|
49
51
|
end
|
@@ -80,6 +82,16 @@ class MyFormScreen < PM::FormScreen
|
|
80
82
|
end
|
81
83
|
```
|
82
84
|
|
85
|
+
#### Parity with ProMotion::TableScreen
|
86
|
+
|
87
|
+
Ongoing work is being done to bring ProMotion-form cell hashes in-line with what you can do with [PM::TableScreen](https://github.com/clearsightstudio/ProMotion/wiki/Reference%3A-All-available-table_data-options).
|
88
|
+
|
89
|
+
Currently you can set:
|
90
|
+
|
91
|
+
```ruby
|
92
|
+
image: '' # An instance of UIImage or a string of the name of the image in your /resources folder
|
93
|
+
```
|
94
|
+
|
83
95
|
### What about Formotion?
|
84
96
|
|
85
97
|
We have used and like Formotion for some form-heavy apps, but it's a rather bulky gem. ProMotion-form works better with ProMotion and is a lot smaller.
|
@@ -132,8 +144,6 @@ Additional "helper" field properties have been started, and are listed below:
|
|
132
144
|
* `name` - a convenience alias to FXForms `key`. If no name is provided, title is converted to a symbol and used as the key.
|
133
145
|
* `title` - when no title is provided, label and then name are used respectively.
|
134
146
|
* `cell_class` - a convenience alias to FXForms `cell`, but with the ProMotion naming scheme.
|
135
|
-
}
|
136
|
-
```
|
137
147
|
|
138
148
|
Here are sample form fields with some explanation
|
139
149
|
|
@@ -141,12 +151,15 @@ Here are sample form fields with some explanation
|
|
141
151
|
{
|
142
152
|
label: "Name", # or title
|
143
153
|
name: :name, # defaults to symbol of snake_cased label/title
|
144
|
-
type: :
|
154
|
+
type: :text, # :default is default...like a button
|
145
155
|
options: [ "Water", "Fire", "Wind" ], # for a subform select (`type` can be anything)
|
146
156
|
placeholder: "Your name",
|
147
157
|
default: "Jamon", # Coming soon
|
148
158
|
value: "Jamon Holmgren",
|
149
|
-
action: :"my_action:" # use symbol literal with trailing colon due to Obj-C semantics
|
159
|
+
action: :"my_action:", # use symbol literal with trailing colon due to Obj-C semantics,
|
160
|
+
class: NSArray, # explicitly set the class of the field value
|
161
|
+
template: { type: :image }, # set the field types of a collection (`class` must be NSArray or NSOrderedSet)
|
162
|
+
sortable: true, # make the field sortable (`class` must be NSArray or NSOrderedSet)
|
150
163
|
}
|
151
164
|
```
|
152
165
|
|
data/lib/ProMotion/form/form.rb
CHANGED
@@ -48,6 +48,16 @@ module ProMotion
|
|
48
48
|
def input_data(input)
|
49
49
|
data = {}
|
50
50
|
|
51
|
+
# check for ProMotion helpers
|
52
|
+
if input[:image]
|
53
|
+
input[:properties] ||= {}
|
54
|
+
cell_image = input.delete(:image)
|
55
|
+
cell_image = UIImage.imageNamed(cell_image) if cell_image.is_a?(String)
|
56
|
+
|
57
|
+
input[:properties]['imageView.image'] = cell_image
|
58
|
+
input[:properties]['imageView.layer.masksToBounds'] = true
|
59
|
+
end
|
60
|
+
|
51
61
|
# process "before" helper keys
|
52
62
|
data.update(FormStyle.to_style(input[:properties])) if input[:properties]
|
53
63
|
data.update(FormStyle.to_style(input[:style ])) if input[:style ]
|
@@ -69,6 +79,7 @@ module ProMotion
|
|
69
79
|
case f[:type]
|
70
80
|
when :date then NSDate.date
|
71
81
|
when :time then NSDate.date
|
82
|
+
when :datetime then NSDate.date
|
72
83
|
else ""
|
73
84
|
end
|
74
85
|
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: ProMotion-form
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.3.
|
4
|
+
version: 0.3.1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Jamon Holmgren
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2015-05-02 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: ProMotion
|
@@ -114,7 +114,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
114
114
|
version: '0'
|
115
115
|
requirements: []
|
116
116
|
rubyforge_project:
|
117
|
-
rubygems_version: 2.
|
117
|
+
rubygems_version: 2.4.6
|
118
118
|
signing_key:
|
119
119
|
specification_version: 4
|
120
120
|
summary: Adds PM::FormScreen support to ProMotion, similar to Formotion but lighter.
|