cha_work 0.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 +7 -0
- data/README.md +23 -0
- data/lib/cha_work.rb +13 -0
- data/lib/cha_work/ChaMenu/cha_menu.rb +93 -0
- data/lib/cha_work/basic.rb +556 -0
- data/lib/cha_work/chawork.rb +34 -0
- data/lib/cha_work/msg.rb +26 -0
- data/lib/cha_work/persistence.rb +58 -0
- data/lib/cha_work/sugar/fixnum.rb +30 -0
- data/lib/cha_work/sugar/notificationcenter.rb +22 -0
- data/lib/cha_work/sugar/nsdate.rb +261 -0
- data/lib/cha_work/sugar/nsstring.rb +73 -0
- data/lib/cha_work/sugar/symbol.rb +865 -0
- data/lib/cha_work/sugar/time.rb +81 -0
- data/lib/cha_work/sugar/uiactionsheet.rb +189 -0
- data/lib/cha_work/sugar/uibutton.rb +7 -0
- data/lib/cha_work/sugar/uicontrol.rb +99 -0
- data/lib/cha_work/sugar/uiimageview.rb +4 -0
- data/lib/cha_work/sugar/uilabel.rb +21 -0
- data/lib/cha_work/sugar/uitableview.rb +13 -0
- data/lib/cha_work/sugar/uiview.rb +306 -0
- data/lib/cha_work/sugar/uiviewcontroller.rb +18 -0
- data/lib/cha_work/table/table.rb +151 -0
- data/lib/cha_work/table/table_screen.rb +6 -0
- data/lib/cha_work/version.rb +3 -0
- metadata +81 -0
@@ -0,0 +1,18 @@
|
|
1
|
+
class UINavigationController
|
2
|
+
|
3
|
+
def push(view_controller)
|
4
|
+
self.pushViewController(view_controller, animated: true)
|
5
|
+
self
|
6
|
+
end
|
7
|
+
|
8
|
+
def pop(to_vc=nil)
|
9
|
+
if to_vc == :root
|
10
|
+
self.popToRootViewControllerAnimated(true)
|
11
|
+
elsif to_vc
|
12
|
+
self.popToViewController(to_vc, animated: true)
|
13
|
+
else
|
14
|
+
self.popViewControllerAnimated(true)
|
15
|
+
end
|
16
|
+
end
|
17
|
+
|
18
|
+
end
|
@@ -0,0 +1,151 @@
|
|
1
|
+
module ProMotion
|
2
|
+
module ChaTable
|
3
|
+
include ProMotion::Styling
|
4
|
+
include ProMotion::Table::Refreshable
|
5
|
+
|
6
|
+
attr_reader :promotion_table_data
|
7
|
+
|
8
|
+
def table_view
|
9
|
+
self.view
|
10
|
+
end
|
11
|
+
|
12
|
+
def table_data
|
13
|
+
PM.logger.warn "@data is require" unless @data
|
14
|
+
@data || []
|
15
|
+
end
|
16
|
+
|
17
|
+
def screen_setup
|
18
|
+
set_up_refreshable
|
19
|
+
end
|
20
|
+
|
21
|
+
def set_up_refreshable
|
22
|
+
if self.class.respond_to?(:get_refreshable) && self.class.get_refreshable
|
23
|
+
if defined?(UIRefreshControl)
|
24
|
+
self.make_refreshable(self.class.get_refreshable_params)
|
25
|
+
else
|
26
|
+
PM.logger.warn "To use the refresh control on < iOS 6, you need to include the CocoaPod 'CKRefreshControl'."
|
27
|
+
end
|
28
|
+
end
|
29
|
+
end
|
30
|
+
|
31
|
+
def trigger_action(action, arguments, index_path)
|
32
|
+
return PM.logger.info "Action not implemented: #{action.to_s}" unless self.respond_to?(action)
|
33
|
+
|
34
|
+
case self.method(action).arity
|
35
|
+
when 0 then self.send(action) # Just call the method
|
36
|
+
when 2 then self.send(action, arguments, index_path) # Send arguments and index path
|
37
|
+
else self.send(action, arguments) # Send arguments
|
38
|
+
end
|
39
|
+
end
|
40
|
+
|
41
|
+
def update_section(index, bool=false)
|
42
|
+
self.view.reloadSections(NSIndexSet.indexSetWithIndex(index), withRowAnimation:bool)
|
43
|
+
end
|
44
|
+
|
45
|
+
########## Cocoa touch methods #################
|
46
|
+
def numberOfSectionsInTableView(table_view)
|
47
|
+
if self.respond_to?(:section_count)
|
48
|
+
section_count
|
49
|
+
else
|
50
|
+
1
|
51
|
+
end
|
52
|
+
end
|
53
|
+
|
54
|
+
# Number of cells
|
55
|
+
def tableView(table_view, numberOfRowsInSection:section)
|
56
|
+
if self.respond_to?(:row_count)
|
57
|
+
row_count(section)
|
58
|
+
else
|
59
|
+
table_data.length
|
60
|
+
end
|
61
|
+
end
|
62
|
+
|
63
|
+
def tableView(table_view, cellForRowAtIndexPath:index_path)
|
64
|
+
table_view_cell(index_path)
|
65
|
+
end
|
66
|
+
|
67
|
+
def tableView(table_view, willDisplayCell: table_cell, forRowAtIndexPath: index_path)
|
68
|
+
# data_cell = self.promotion_table_data.cell(index_path: index_path)
|
69
|
+
# set_attributes table_cell, data_cell[:properties] if data_cell[:properties]
|
70
|
+
# table_cell.send(:will_display) if table_cell.respond_to?(:will_display)
|
71
|
+
# table_cell.send(:restyle!) if table_cell.respond_to?(:restyle!) # Teacup compatibility
|
72
|
+
end
|
73
|
+
|
74
|
+
def tableView(table_view, heightForRowAtIndexPath:index_path)
|
75
|
+
cell_height(index_path)
|
76
|
+
end
|
77
|
+
|
78
|
+
def tableView(table_view, didSelectRowAtIndexPath:index_path)
|
79
|
+
cell_action(index_path) if self.respond_to?(:cell_action)
|
80
|
+
end
|
81
|
+
|
82
|
+
# Section view methods
|
83
|
+
def tableView(table_view, viewForHeaderInSection: index)
|
84
|
+
header_view(index) if self.respond_to?(:header_view)
|
85
|
+
end
|
86
|
+
|
87
|
+
def tableView(table_view, heightForHeaderInSection: index)
|
88
|
+
if self.respond_to?(:header_height)
|
89
|
+
header_height(index)
|
90
|
+
else
|
91
|
+
0
|
92
|
+
end
|
93
|
+
end
|
94
|
+
|
95
|
+
def update_table_view
|
96
|
+
self.view.reloadData
|
97
|
+
end
|
98
|
+
|
99
|
+
protected
|
100
|
+
|
101
|
+
def map_cell_editing_style(symbol)
|
102
|
+
{
|
103
|
+
none: UITableViewCellEditingStyleNone,
|
104
|
+
delete: UITableViewCellEditingStyleDelete,
|
105
|
+
insert: UITableViewCellEditingStyleInsert
|
106
|
+
}[symbol] || symbol || UITableViewCellEditingStyleNone
|
107
|
+
end
|
108
|
+
|
109
|
+
def map_row_animation_symbol(symbol)
|
110
|
+
symbol ||= UITableViewRowAnimationAutomatic
|
111
|
+
{
|
112
|
+
fade: UITableViewRowAnimationFade,
|
113
|
+
right: UITableViewRowAnimationRight,
|
114
|
+
left: UITableViewRowAnimationLeft,
|
115
|
+
top: UITableViewRowAnimationTop,
|
116
|
+
bottom: UITableViewRowAnimationBottom,
|
117
|
+
none: UITableViewRowAnimationNone,
|
118
|
+
middle: UITableViewRowAnimationMiddle,
|
119
|
+
automatic: UITableViewRowAnimationAutomatic
|
120
|
+
}[symbol] || symbol || UITableViewRowAnimationAutomatic
|
121
|
+
end
|
122
|
+
|
123
|
+
module TableClassMethods
|
124
|
+
def table_style
|
125
|
+
UITableViewStylePlain
|
126
|
+
end
|
127
|
+
|
128
|
+
|
129
|
+
|
130
|
+
# Refreshable
|
131
|
+
def refreshable(params = {})
|
132
|
+
@refreshable_params = params
|
133
|
+
@refreshable = true
|
134
|
+
end
|
135
|
+
|
136
|
+
def get_refreshable
|
137
|
+
@refreshable ||= false
|
138
|
+
end
|
139
|
+
|
140
|
+
def get_refreshable_params
|
141
|
+
@refreshable_params ||= nil
|
142
|
+
end
|
143
|
+
|
144
|
+
end
|
145
|
+
|
146
|
+
def self.included(base)
|
147
|
+
base.extend(TableClassMethods)
|
148
|
+
end
|
149
|
+
|
150
|
+
end
|
151
|
+
end
|
metadata
ADDED
@@ -0,0 +1,81 @@
|
|
1
|
+
--- !ruby/object:Gem::Specification
|
2
|
+
name: cha_work
|
3
|
+
version: !ruby/object:Gem::Version
|
4
|
+
version: '0.1'
|
5
|
+
platform: ruby
|
6
|
+
authors:
|
7
|
+
- smartweb
|
8
|
+
autorequire:
|
9
|
+
bindir: bin
|
10
|
+
cert_chain: []
|
11
|
+
date: 2014-10-30 00:00:00.000000000 Z
|
12
|
+
dependencies:
|
13
|
+
- !ruby/object:Gem::Dependency
|
14
|
+
name: rake
|
15
|
+
requirement: !ruby/object:Gem::Requirement
|
16
|
+
requirements:
|
17
|
+
- - ~>
|
18
|
+
- !ruby/object:Gem::Version
|
19
|
+
version: '10.0'
|
20
|
+
type: :development
|
21
|
+
prerelease: false
|
22
|
+
version_requirements: !ruby/object:Gem::Requirement
|
23
|
+
requirements:
|
24
|
+
- - ~>
|
25
|
+
- !ruby/object:Gem::Version
|
26
|
+
version: '10.0'
|
27
|
+
description: Inspired by Sugarcube、BubbleWrap、ProMotion.
|
28
|
+
email: sam@chamobile.com
|
29
|
+
executables: []
|
30
|
+
extensions: []
|
31
|
+
extra_rdoc_files: []
|
32
|
+
files:
|
33
|
+
- lib/cha_work/basic.rb
|
34
|
+
- lib/cha_work/ChaMenu/cha_menu.rb
|
35
|
+
- lib/cha_work/chawork.rb
|
36
|
+
- lib/cha_work/msg.rb
|
37
|
+
- lib/cha_work/persistence.rb
|
38
|
+
- lib/cha_work/sugar/fixnum.rb
|
39
|
+
- lib/cha_work/sugar/notificationcenter.rb
|
40
|
+
- lib/cha_work/sugar/nsdate.rb
|
41
|
+
- lib/cha_work/sugar/nsstring.rb
|
42
|
+
- lib/cha_work/sugar/symbol.rb
|
43
|
+
- lib/cha_work/sugar/time.rb
|
44
|
+
- lib/cha_work/sugar/uiactionsheet.rb
|
45
|
+
- lib/cha_work/sugar/uibutton.rb
|
46
|
+
- lib/cha_work/sugar/uicontrol.rb
|
47
|
+
- lib/cha_work/sugar/uiimageview.rb
|
48
|
+
- lib/cha_work/sugar/uilabel.rb
|
49
|
+
- lib/cha_work/sugar/uitableview.rb
|
50
|
+
- lib/cha_work/sugar/uiview.rb
|
51
|
+
- lib/cha_work/sugar/uiviewcontroller.rb
|
52
|
+
- lib/cha_work/table/table.rb
|
53
|
+
- lib/cha_work/table/table_screen.rb
|
54
|
+
- lib/cha_work/version.rb
|
55
|
+
- lib/cha_work.rb
|
56
|
+
- README.md
|
57
|
+
homepage: http://github.com/smartweb/ChaWork
|
58
|
+
licenses:
|
59
|
+
- MIT
|
60
|
+
metadata: {}
|
61
|
+
post_install_message:
|
62
|
+
rdoc_options: []
|
63
|
+
require_paths:
|
64
|
+
- lib
|
65
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
66
|
+
requirements:
|
67
|
+
- - '>='
|
68
|
+
- !ruby/object:Gem::Version
|
69
|
+
version: '0'
|
70
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
71
|
+
requirements:
|
72
|
+
- - '>='
|
73
|
+
- !ruby/object:Gem::Version
|
74
|
+
version: '0'
|
75
|
+
requirements: []
|
76
|
+
rubyforge_project:
|
77
|
+
rubygems_version: 2.0.14
|
78
|
+
signing_key:
|
79
|
+
specification_version: 4
|
80
|
+
summary: Rubymotion Helper by ChaMobile
|
81
|
+
test_files: []
|