qwer 0.1.5 → 0.1.7

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 21f2eacd42e7dcaa4021a2b55f282743600b9bad
4
- data.tar.gz: fe6c3eb79af6eee3263fbe01cd6db70cbf8c4a97
3
+ metadata.gz: baa4e80611cb9340919386fa04b36c4c66a7476d
4
+ data.tar.gz: 87325871d0368346805a829be25a8d82cc0c13af
5
5
  SHA512:
6
- metadata.gz: be881f80e2e17ae3dcc89c4996be8e52bada80bc3e58810adbbc63429cd2f835a2fdc34d7ce9d1dc8dc2c567fcd24ecd544a37ed2958877e114bb353a4e969e8
7
- data.tar.gz: e7c5a955a88fa1edadc12cd22aa26fcce930f3735c74a09500967aba0d9c03746d07acde924453d9fa9b36d2d63c5f013fd7e1ec4f6d93e06dc92bad147fc52b
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
 
@@ -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(datas)
44
- html_str = "共#{datas.total_count}条 #{datas.total_pages}页#{paginate @companies}"
45
- html_str.html_safe
46
- end
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
@@ -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 << "<div><label class='control-label'>#{value}:</label><input class='form-control' type='search' name='#{key}' id='q_#{key}'></div>"
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] ||= 'form-control'}' type='search' name='#{key}' id='q_#{key}'>"
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
- html_str << "<option value='#{item[:k]}'>#{item[:v]}</option>" if item.class.to_s.eql? 'Hash'
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='#{'form-control'}' type='search' name='#{key}' id='#{get_input_id key}'></div>"
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
- html_str << "<input class='#{value[:css] ||= 'form-control'}' type='search' name='#{key}' id='#{get_input_id key}'>"
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
- html_str = "<a class='btn btn-success green' href='#{form_params[:new]}'>新增</a>" if form_params[:new]
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
@@ -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
 
@@ -1,3 +1,3 @@
1
1
  module Qwer
2
- VERSION = "0.1.5"
2
+ VERSION = "0.1.7"
3
3
  end
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.5
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-21 00:00:00.000000000 Z
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