qwer 0.1.5 → 0.1.7
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 +9 -1
- data/lib/qwer.rb +21 -6
- data/lib/qwer/layout_helper.rb +20 -10
- data/lib/qwer/translater.rb +5 -5
- data/lib/qwer/version.rb +1 -1
- data/lib/temp/test.png +0 -0
- metadata +3 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: baa4e80611cb9340919386fa04b36c4c66a7476d
|
4
|
+
data.tar.gz: 87325871d0368346805a829be25a8d82cc0c13af
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 083522e497627eac3b7ebcf7180422428fcac98f0b050c4335d5aaba7407624ac7447f82d354e4a9b3461c25aa6e43294497e29ca056eb4a74a5bb63dff96c18
|
7
|
+
data.tar.gz: b3627402eea76db7e0801f23dee44c7e10bf19662206d741b1fe7a8af399ac60a5858c467aefb75942eb5e7fe0b8e51065cf6aff97b72e7b8c937b149ad571ae
|
data/README.md
CHANGED
@@ -33,7 +33,7 @@ Or install it yourself as:
|
|
33
33
|
|
34
34
|
- 调用方法table_seach,创建查询项
|
35
35
|
```
|
36
|
-
model.table_seach({
|
36
|
+
model.table_seach({ col_num: 3, ## 查讯项的列数
|
37
37
|
action: '/users', ## 提交地址(默认为当前业务)
|
38
38
|
method: 'get', ## 请求方式(默认为get)
|
39
39
|
form_class: 'form-inline text-right', ## 表单样式: 默认(pjax-form)
|
@@ -41,6 +41,14 @@ Or install it yourself as:
|
|
41
41
|
new: '/companies/new' ## 新建按钮指向地址(可选,不传则没有新建按钮)
|
42
42
|
}, {
|
43
43
|
'q[name_cont]': '名称', ## 查询项name及其显示名称
|
44
|
+
'q[status_eq]': { name: '状态', type: 'select', data: [ "all", { k: '1', v: '正常' }, { k: 0, v: '删除' } ] }
|
45
|
+
# 如果key为一个Hash,则name为必选,
|
46
|
+
# type:
|
47
|
+
# 不填写: 默认为input
|
48
|
+
# select : 下拉框
|
49
|
+
# css: 标明css样式
|
50
|
+
# data: 下拉option数据内容
|
51
|
+
# 数据类型为数组,单个数据为一个Hash, 以k,和v 表示 , all表示添加一个全部的option
|
44
52
|
})
|
45
53
|
```
|
46
54
|
|
data/lib/qwer.rb
CHANGED
@@ -1,5 +1,8 @@
|
|
1
1
|
require "qwer/version"
|
2
2
|
require 'qwer/translater'
|
3
|
+
require 'kaminari/helpers/helper_methods'
|
4
|
+
require 'kaminari/helpers/tags'
|
5
|
+
require 'kaminari/helpers/paginator'
|
3
6
|
|
4
7
|
module Qwer
|
5
8
|
class Tmodel
|
@@ -8,8 +11,9 @@ module Qwer
|
|
8
11
|
# page_size: 单页记录数
|
9
12
|
# page: 当前页数
|
10
13
|
# model: 当前业务model
|
11
|
-
def initialize(model, page_size, page)
|
14
|
+
def initialize(model, query, page_size, page)
|
12
15
|
@model = model
|
16
|
+
@query = query
|
13
17
|
@page_size = page_size
|
14
18
|
@page = page
|
15
19
|
end
|
@@ -23,7 +27,7 @@ module Qwer
|
|
23
27
|
# data: 要查询的内容
|
24
28
|
# args : 其他参数
|
25
29
|
def table_seach(params, data,*args)
|
26
|
-
html_str = Translater.new.table_search(params, data, @model)
|
30
|
+
html_str = Translater.new.table_search(params, @query, data, @model)
|
27
31
|
html_str.html_safe
|
28
32
|
end
|
29
33
|
|
@@ -40,9 +44,20 @@ module Qwer
|
|
40
44
|
# 分页
|
41
45
|
# 使用kaminary分页
|
42
46
|
# datas 查询的数据
|
43
|
-
def pager
|
44
|
-
|
45
|
-
|
46
|
-
|
47
|
+
# def pager datas, **options
|
48
|
+
# paginate_class = Kaminari::Helpers::Paginator
|
49
|
+
#
|
50
|
+
# options[:total_pages] = datas.total_pages
|
51
|
+
# options.reverse_merge! current_page: datas.current_page, per_page: datas.limit_value, remote: false
|
52
|
+
#
|
53
|
+
#
|
54
|
+
# paginator = paginate_class.new self, options
|
55
|
+
# p "=========================1=="
|
56
|
+
# p paginator.to_s
|
57
|
+
# p "=========================2=="
|
58
|
+
# html_str = "共#{datas.total_count}条 #{datas.total_pages}页#{paginate datas}"
|
59
|
+
# html_str = Translater.new.pager(datas)
|
60
|
+
# html_str.html_safe
|
61
|
+
# end
|
47
62
|
end
|
48
63
|
end
|
data/lib/qwer/layout_helper.rb
CHANGED
@@ -11,9 +11,11 @@ module Qwer
|
|
11
11
|
# 查询项布局初始化
|
12
12
|
# col_num : table的列数
|
13
13
|
# data_size : 查询项数量
|
14
|
-
def initialize(col_num, data_size)
|
14
|
+
def initialize(col_num, query, data_size, model)
|
15
15
|
@col_num = col_num
|
16
|
+
@query = query
|
16
17
|
@data_size = data_size
|
18
|
+
@model = model
|
17
19
|
end
|
18
20
|
|
19
21
|
def form_render data_params, form_params
|
@@ -22,16 +24,15 @@ module Qwer
|
|
22
24
|
if data_params.size > DEFAULT_COL_NUM
|
23
25
|
html_str << form_table_render(form_params, data_params)
|
24
26
|
else
|
25
|
-
|
26
27
|
data_params.reject { |key, value|
|
27
28
|
if value.class.to_s.eql?('String')
|
28
|
-
html_str << "<
|
29
|
+
html_str << "<label class='control-label'>#{value}:</label><input class='form-control' type='search' name='#{key}' id='q_#{key}' value='#{@query.send(get_send_key key)}'>"
|
29
30
|
else
|
30
31
|
html_str << "<div><label class='control-label'>#{value[:name]}:</label>"
|
31
32
|
if select? value
|
32
33
|
html_str << add_selector(key, value)
|
33
34
|
else
|
34
|
-
html_str << "<input class='#{value[:css]
|
35
|
+
html_str << "<input class='#{value[:css]} form-control' type='search' name='#{key}' id='q_#{key}' value='#{@query.send(get_send_key key)}'>"
|
35
36
|
end
|
36
37
|
html_str << "</div>"
|
37
38
|
end
|
@@ -49,7 +50,11 @@ module Qwer
|
|
49
50
|
if value[:data].present?
|
50
51
|
html_str << "<option value=''>全部</option>" if value[:data].include? 'all'
|
51
52
|
value[:data].each do |item|
|
52
|
-
|
53
|
+
if @query.send(get_send_key key).present? && item.class.to_s.eql?('Hash') && (item[:k].to_s == @query.send(get_send_key key).to_s)
|
54
|
+
html_str << "<option value='#{item[:k]}' selected>#{item[:v]}</option>"
|
55
|
+
else
|
56
|
+
html_str << "<option value='#{item[:k]}'>#{item[:v]}</option>" if item.class.to_s.eql? 'Hash'
|
57
|
+
end
|
53
58
|
end
|
54
59
|
end
|
55
60
|
html_str << "</select>"
|
@@ -65,19 +70,19 @@ module Qwer
|
|
65
70
|
html_str << "<td style='border: none'>"
|
66
71
|
html_str << "<div class='form-group'>"
|
67
72
|
if value.class.to_s.eql? 'String'
|
68
|
-
html_str << "<label class='control-label'>#{value}:</label><input class='
|
73
|
+
html_str << "<label class='control-label'>#{value}:</label><input class='form-control' type='search' name='#{key}' id='#{get_input_id key}' value='#{@query.send(get_send_key key)}'></div>"
|
69
74
|
else
|
70
75
|
html_str << "<label class='control-label'>#{value[:name]}:</label>"
|
71
76
|
if select? value
|
72
77
|
html_str << add_selector(key, value)
|
73
78
|
else
|
74
|
-
|
79
|
+
input_value = @query.send(get_send_key key)
|
80
|
+
input_value = input_value.nil? ? "" : DateTime.parse(input_value.to_s).strftime('%Y-%m-%d').to_s
|
81
|
+
html_str << "<input class='#{value[:css]} form-control' type='search' name='#{key}' id='#{get_input_id key}' value='#{input_value}'>"
|
75
82
|
end
|
76
83
|
end
|
77
84
|
html_str << "</div>"
|
78
|
-
|
79
85
|
html_str << "</td>"
|
80
|
-
|
81
86
|
if !tr_end? conter
|
82
87
|
# 一行tr 还没有结束 需要填补td
|
83
88
|
html_str << add_td_or_blank_td(form_param, conter, total)
|
@@ -108,7 +113,8 @@ module Qwer
|
|
108
113
|
end
|
109
114
|
|
110
115
|
def button_render form_params
|
111
|
-
|
116
|
+
new_url = "/#{@model}/new"
|
117
|
+
html_str = "<a class='btn btn-success green' href='#{form_params[:new] ||= new_url }'>新增</a>" if !(form_params[:new] == false)
|
112
118
|
html_str << "<button type='submit' class='btn btn-info' data-toggle='modal' data-target='#search_model'>查询</button>"
|
113
119
|
end
|
114
120
|
|
@@ -165,6 +171,10 @@ module Qwer
|
|
165
171
|
html_str
|
166
172
|
end
|
167
173
|
|
174
|
+
def get_send_key key
|
175
|
+
result = key.to_s.split('[').last
|
176
|
+
result = result.split(']').first
|
177
|
+
end
|
168
178
|
end
|
169
179
|
end
|
170
180
|
end
|
data/lib/qwer/translater.rb
CHANGED
@@ -2,15 +2,15 @@ require 'qwer/layout_helper'
|
|
2
2
|
|
3
3
|
module Qwer
|
4
4
|
class Translater
|
5
|
-
DEFAULT_COL_NUM = 3
|
6
|
-
INIT_CONTER = 1
|
5
|
+
DEFAULT_COL_NUM = 3 # 查询 table 默认列数
|
6
|
+
INIT_CONTER = 1 # 计数器从1开始
|
7
7
|
|
8
|
-
def table_search(form_params, data_params, model)
|
8
|
+
def table_search(form_params, query, data_params, model)
|
9
9
|
col_num = form_params[:col_num] ||= DEFAULT_COL_NUM
|
10
10
|
conter ||= INIT_CONTER
|
11
|
-
html_str = "<form class='#{form_params[:form_class] ||= 'pjax-form'}' id='' action='#{form_params[:action] ||= model}' accept-charset='#{form_params[:charset] ||= 'UTF-8' }' method='#{form_params[:method] ||= 'get'}'>"
|
11
|
+
html_str = "<form class='#{form_params[:form_class] ||= 'pjax-form'}' id='company_search' action='#{form_params[:action] ||= model}' accept-charset='#{form_params[:charset] ||= 'UTF-8' }' method='#{form_params[:method] ||= 'get'}'>"
|
12
12
|
html_str << "<input name='utf8' type='hidden' value='✓'>"
|
13
|
-
html_str << Qwer::Helper::HelperMethod.new(col_num, data_params.size).form_render(data_params, form_params).to_s
|
13
|
+
html_str << Qwer::Helper::HelperMethod.new(col_num, query, data_params.size, model).form_render(data_params, form_params).to_s
|
14
14
|
html_str << "</form>"
|
15
15
|
end
|
16
16
|
|
data/lib/qwer/version.rb
CHANGED
data/lib/temp/test.png
ADDED
File without changes
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: qwer
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.1.
|
4
|
+
version: 0.1.7
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- lidejian@skio.cn
|
8
8
|
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date: 2017-02-
|
11
|
+
date: 2017-02-22 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: bundler
|
@@ -105,6 +105,7 @@ files:
|
|
105
105
|
- lib/qwer/layout_helper.rb
|
106
106
|
- lib/qwer/translater.rb
|
107
107
|
- lib/qwer/version.rb
|
108
|
+
- lib/temp/test.png
|
108
109
|
- qwer-0.1.1.gem
|
109
110
|
- qwer.gemspec
|
110
111
|
homepage: https://www.baidu.com
|