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 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