rails_admin_content 0.2.1 → 0.2.2

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: 5357b2927e1dad8c03c98c0f51e21ff0e337b7c7
4
- data.tar.gz: b68d48176b17cf56c1dbc610316188bbf31d2b23
3
+ metadata.gz: 7e1c68eeec42e8eece237bcb1de6a29c1ddd6596
4
+ data.tar.gz: a6ad4aa205dea3456d75f33670388c38fe4a0f9a
5
5
  SHA512:
6
- metadata.gz: 3eb506451fa2c7445678cceb81a839f412cb8bd800b451e0bf86f2639d77e2fd126bac1eb92551650a83371bf863ff30f2bc1eed71ff04474e46b81d47e773ae
7
- data.tar.gz: 7857810a4bcf3d9949043fe5c2ad238bd7c99faeeeffa4a15e528791d8afc9e559d6e3cc3c32bf6c52e4d9b0843cb1c7af5ec7fb8f43fb1e1cf3ea623dd82fe7
6
+ metadata.gz: 90a0bc1806ab164cb7bef7daf5ba24d38bd3d04f14bb46203c6c7bc1db26e269191ff204b271763fb88c202488dff78b29df4d7b7abf00e21642a50a533fd7e4
7
+ data.tar.gz: 554c571bbfb19d62ecc7fbd25614a6342c207294e72d6a003df3bcbece67915586b35cb0984daa9e4f36957c49c45af59c62080895d907fe1237a98933f49605
@@ -20,16 +20,21 @@ search_input_change = ->
20
20
  return $(li).show() if $.trim($('#seaerch-T').val()).length == 0
21
21
  if RegExp($('#seaerch-T').val().toLocaleLowerCase()).test($(li).attr('data-field')) then $(li).show() else $(li).hide()
22
22
 
23
+ initialize_textarea_sql = (id) ->
24
+ if var_id = document.getElementById(id)
25
+ editor = CodeMirror.fromTextArea var_id,
26
+ mode: "text/x-sql",
27
+ tabMode: "indent",
28
+ smartIndent: true,
29
+ lineNumbers: true,
30
+ matchBrackets: true,
31
+ indentUnit: 2
32
+
33
+
23
34
  $(document).ready ->
24
- if document.getElementById("search-textarea")
25
- editor = CodeMirror.fromTextArea(document.getElementById("search-textarea"), {
26
- mode: "text/x-sql",
27
- tabMode: "indent",
28
- smartIndent: true,
29
- lineNumbers: true,
30
- matchBrackets: true,
31
- indentUnit: 2
32
- });
35
+ initialize_textarea_sql 'search-textarea'
36
+ initialize_textarea_sql 'show-sql-textarea'
37
+
33
38
 
34
39
  $('span.edit_datepicker').on 'click', 'textarea', -> $(this).dynDateTime()
35
40
  $('.formitem .datetime').on 'click', -> $(this).dynDateTime()
@@ -1,3 +1,3 @@
1
1
  class RailsAdminContent::Develop::ApplicationController < ApplicationController
2
- layout 'rails_admin_content/admin'
2
+ layout 'rails_admin_content/admin'
3
3
  end
@@ -1,77 +1,82 @@
1
1
  class RailsAdminContent::Develop::ManagesController < RailsAdminContent::Develop::ApplicationController
2
2
 
3
- before_filter :find_params, except: %w(update create new)
4
-
5
- def index
6
- @version = RailsAdminContent::Client.conn.origin_query("SELECT VERSION() as version").each
7
- end
8
-
9
- def query
10
- @entries = RailsAdminContent::Client.query(RailsAdminContent::Client.query_str,@page, @per).each if RailsAdminContent::Client.query_str
11
- rescue Exception => e
12
- flash[:errors] = e.message
13
- end
14
-
15
- def filter
16
- RailsAdminContent::Client.query_str = params[:q]
17
- redirect_to action: :query
18
- end
19
-
20
- def show
21
- @query_str = "SELECT * FROM #{params[:id]} ORDER BY id DESC"
22
- @query_str = RailsAdminContent::Client.compose(params) if params[:field].present?
23
- @fields = RailsAdminContent::Client.desc_table params[:id]
24
- @entries = RailsAdminContent::Client.query(@query_str,@page, @per)
25
- rescue Exception => e
26
- flash[:errors] = e.message
27
- end
28
-
29
- def new;end
30
-
31
- def edit; end
32
-
33
- def edit_column
34
- @fields = RailsAdminContent::Client.desc_table params[:id]
35
- @sql = RailsAdminContent::Client.show_create_sql params[:id]
36
- end
37
-
38
- def details
39
- @details = RailsAdminContent::Client.conn.origin_query("SHOW TABLE STATUS LIKE '#{params[:id]}'").each
40
- end
41
-
42
- def create
43
- RailsAdminContent::Client.insert(params[:table_name], params[:field])
44
- flash[:success] = "成功添加#{params[:table_name]}一条数据。"
45
- rescue Exception => e
46
- flash[:errors] = e.message
47
- ensure
48
- redirect_to develop_manage_path(params[:table_name])
49
- end
50
-
51
- def update
52
- RailsAdminContent::Client.update(params[:table_name], params[:id], params[:field])
53
- flash[:success] = "更新#{params[:id]}内容成功。"
54
- rescue Exception => e
55
- flash[:errors] = e.message
56
- ensure
57
- redirect_to develop_manage_path(params[:table_name])
58
- end
59
-
60
-
61
- def update_field
62
- RailsAdminContent::Client.conn.origin_query("UPDATE #{params[:table]} SET #{params[:field]} = REPLACE(REPLACE(REPLACE('#{params[:value]}', '&','&amp;'), '>', '&gt;'), '<', '&lt;') WHERE id = #{params[:id]}")
63
- render text: 'success'
64
- end
65
-
66
- def destroy
67
- RailsAdminContent::Client.delete(params[:id], params[:edit_id]) if params[:edit_id].present?
68
- render json: params[:edit_id]
69
- end
70
-
71
- private
72
-
73
- def find_params
74
- @page, @per = (params[:page] || 1).to_i, (params[:per] || 100).to_i
75
- end
3
+ before_filter :find_params, except: %w(update create new)
4
+
5
+ def index
6
+ @version = RailsAdminContent::Client.conn.origin_query("SELECT VERSION() as version").each
7
+ end
8
+
9
+ def query
10
+ @entries = RailsAdminContent::Client.query(session[:query_str],@page, @per).each if session[:query_str]
11
+ rescue Exception => e
12
+ flash[:errors] = e.message
13
+ end
14
+
15
+ def filter
16
+ session[:query_str] = params[:q]
17
+ redirect_to action: :query
18
+ end
19
+
20
+ def show
21
+ @query_str = "SELECT * FROM #{params[:id]} ORDER BY id DESC"
22
+ @query_str = RailsAdminContent::Client.compose(params) if params[:field].present?
23
+ @fields = RailsAdminContent::Client.desc_table params[:id]
24
+ @entries = RailsAdminContent::Client.query(@query_str,@page, @per)
25
+ rescue Exception => e
26
+ flash[:errors] = e.message
27
+ end
28
+
29
+ def new;end
30
+
31
+ def edit; end
32
+
33
+ def edit_column
34
+ @fields = RailsAdminContent::Client.desc_table params[:id]
35
+ @sql = RailsAdminContent::Client.show_create_sql params[:id]
36
+ end
37
+
38
+ def details
39
+ @details = RailsAdminContent::Client.conn.origin_query("SHOW TABLE STATUS LIKE '#{params[:id]}'").each
40
+ end
41
+
42
+ def create
43
+ RailsAdminContent::Client.insert(params[:table_name], params[:field])
44
+ flash[:success] = "成功添加#{params[:table_name]}一条数据。"
45
+ rescue Exception => e
46
+ flash[:errors] = e.message
47
+ ensure
48
+ redirect_to develop_manage_path(params[:table_name])
49
+ end
50
+
51
+ def update
52
+ RailsAdminContent::Client.update(params[:table_name], params[:id], params[:field])
53
+ flash[:success] = "更新#{params[:id]}内容成功。"
54
+ rescue Exception => e
55
+ flash[:errors] = e.message
56
+ ensure
57
+ redirect_to develop_manage_path(params[:table_name])
58
+ end
59
+
60
+
61
+ def update_field
62
+ RailsAdminContent::Client.conn.origin_query("UPDATE #{params[:table]} SET #{params[:field]} = REPLACE(REPLACE(REPLACE('#{params[:value]}', '&','&amp;'), '>', '&gt;'), '<', '&lt;') WHERE id = #{params[:id]}")
63
+ render text: 'success'
64
+ end
65
+
66
+ def destroy
67
+ RailsAdminContent::Client.delete(params[:id], params[:edit_id]) if params[:edit_id].present?
68
+ render json: params[:edit_id]
69
+ end
70
+
71
+ def modify_default_value
72
+ RailsAdminContent::Client.modify_table_column_default_value(params[:table], params[:field], params[:value], params[:field_type])
73
+ render json: params[:edit_id]
74
+ end
75
+
76
+ private
77
+
78
+ def find_params
79
+ @page, @per = (params[:page] || 1).to_i, (params[:per] || 100).to_i
80
+ end
76
81
 
77
82
  end
@@ -1,5 +1,5 @@
1
1
  = form_tag filter_develop_manages_path, method: :post
2
2
  #search_area
3
- textarea rows="2" cols="140" id="search-textarea" style="height:100px" name="q" #{RailsAdminContent::Client.query_str||""}
3
+ textarea rows="2" cols="140" id="search-textarea" style="height:100px" name="q" #{session[:query_str]||""}
4
4
  .nav
5
5
  input type="submit" value="Run" calss="btn btn-primary"
@@ -25,6 +25,9 @@ hr
25
25
  td
26
26
  = field["key"]
27
27
  td
28
- = field["Default"]
28
+ span class="editable #{'edit_datepicker' if field["Type"] == 'datetime'}" data-field="#{field["Field"]}" data-table="#{params[:id]}" data-title="#{field["Default"]}" data-url="#{modify_default_value_develop_manages_path(field_type: field["Type"])}"
29
+ = field["Default"]
29
30
  td
30
- = field["extra"]
31
+ = field["extra"]
32
+
33
+ textarea rows="2" cols="140" id="show-sql-textarea" #{@sql[0]["Create Table"]||""}
@@ -1,2 +1,4 @@
1
- .span3
2
- = "Version: #{@version[0]['version']}"
1
+
2
+ h1
3
+ = "Version: #{@version[0]['version']}"
4
+ hr
data/config/routes.rb CHANGED
@@ -7,6 +7,7 @@ RailsAdminContent::Engine.routes.draw do
7
7
  put :update_field, on: :member
8
8
  get :edit_column, on: :member
9
9
  get :details, on: :member
10
+ put :modify_default_value, on: :collection
10
11
  end
11
12
  end
12
13
  end
@@ -551,6 +551,7 @@ fieldset
551
551
  .text,
552
552
  input[type=text],
553
553
  input[type=password],
554
+ input[type=number],
554
555
  textarea,
555
556
  select
556
557
  background-color: #FFF
@@ -1,97 +1,107 @@
1
1
  class RailsAdminContent::Client < Mysql2::Client
2
2
 
3
- Syntax = /limit\s+\d+,\d+|limit\s+\d+/
4
- Syntax_table = /from\s+(\w+)/
5
-
6
- cattr_accessor :query_str, :total_nums, :table_name
7
-
8
- def self.select_field(type)
9
- case type.gsub(/\(.*?\)/,'')
10
- when "tinyint" then [['等于', '='], ['不等于', '≠']]
11
- when "datetime" then [['等于', '='], ['不等于', '≠'], ['大于', '>'], ['小于','<']]
12
- when "int" then [['等于', '='], ['不等于', '≠'], ['大于', '>'], ['小于','<'], ['含有', 'IN']]
13
- else
14
- [['等于', '='], ['不等于', '≠'], ['包含', 'LIKE']]
15
- end
16
- end
17
-
18
- def self.conn
19
- @client ||= new ActiveRecord::Base.connection_config
20
- end
21
-
22
- alias :origin_query :query
23
-
24
- def self.query(query_sql, page=nil, stint=nil)
25
- self.table_name = query_sql.downcase.match(Syntax_table)[1] if query_sql.downcase.match(Syntax_table)
26
- self.total_nums = conn.origin_query(query_sql).size
27
- query_sql = limit(query_sql, page, stint) if stint && page
28
- query_sql = query_sql.gsub(/;/, '')
29
- conn.origin_query(query_sql)
30
- end
31
-
32
- def self.limit(query_sql, page=1, stint)
33
- page = page == 1 ? page = 0 : page.to_i*stint.to_i-stint.to_i
34
- query_sql.downcase.match(Syntax).present? ? query_sql.downcase.gsub(Syntax, "LIMIT #{page},#{stint}") : "#{query_sql} LIMIT #{page},#{stint}"
35
- end
36
-
37
- def self.get_tables
38
- @tables ? @tables : @tables = conn.origin_query('SHOW TABLES')
39
- end
40
-
41
- def self.compose(params)
42
- "SELECT * FROM #{params[:id]} WHERE #{params["field"].inject([]){|a, (key,value)| a << compose_key(params["calc"][key],key, value); a }.join('and')}"
43
- end
44
-
45
- def self.compose_key(calc,key,value)
46
- case calc
47
- when '=', '>', '<'
48
- " `#{key}` #{calc} '#{value}' "
49
- when 'IN'
50
- " `#{key}` IN (#{value}) "
51
- when '≠'
52
- " `#{key}` != '#{value}' "
53
- when 'LIKE'
54
- " `#{key}` LIKE '%#{value}%' "
55
- when '≥'
56
- " `#{key}` >= '#{value}' "
57
- when '≤'
58
- " `#{key}` <= '#{value}' "
59
- end
60
- end
61
-
62
-
63
- def self.delete(table_name, ids)
64
- conn.origin_query("DELETE FROM #{table_name} WHERE id IN (#{ids.join(',')})") if ids.is_a?(Array)
65
- end
66
-
67
- def self.insert(table_name, field)
68
- conn.origin_query("INSERT INTO #{table_name} (#{field.keys.join(',')}) VALUES ('#{field.values.join("','")}')")
69
- end
70
-
71
- def self.update(table_name, id, fields)
72
- update_str = "UPDATE #{table_name} SET #{compose_update_sql(table_name, fields.to_a)} WHERE id = #{id}"
73
- conn.origin_query update_str
74
- end
75
-
76
- def self.compose_update_sql(table_name,fields)
77
- columns = desc_table(table_name)
78
- fields.inject([]) do |array, field|
79
- columns.each do |column|
80
- if field[0] == column["Field"]
81
- array << (%w(int decimal tinyint).include?(column["Type"].gsub(/\(.*?\)/,'')) ? "#{field[0]} = #{field[1]}" : "#{field[0]} = REPLACE(REPLACE(REPLACE('#{field[1]}', '&','&amp;'), '>', '&gt;'), '<', '&lt;')")
82
- end
83
- end
84
- array
85
- end.join(',')
86
- end
87
-
88
- def self.desc_table(table_name)
89
- conn.origin_query("DESC #{table_name}").each
90
- end
91
-
92
- def self.show_create_sql(table_name)
93
- conn.origin_query("SHOW CREATE TABLE #{table_name}").each
94
- end
95
-
96
-
97
- end
3
+ Syntax = /limit\s+\d+,\d+|limit\s+\d+/
4
+ Syntax_table = /from\s+(\w+)/
5
+
6
+ cattr_accessor :query_str, :total_nums, :table_name
7
+
8
+ def self.select_field(type)
9
+ case type.gsub(/\(.*?\)/,'')
10
+ when "tinyint" then [['等于', '='], ['不等于', '≠']]
11
+ when "datetime" then [['等于', '='], ['不等于', '≠'], ['大于', '>'], ['小于','<']]
12
+ when "int" then [['等于', '='], ['不等于', '≠'], ['大于', '>'], ['小于','<'], ['含有', 'IN']]
13
+ else
14
+ [['等于', '='], ['不等于', '≠'], ['包含', 'LIKE']]
15
+ end
16
+ end
17
+
18
+ def self.conn
19
+ @client ||= new ActiveRecord::Base.connection_config
20
+ end
21
+
22
+ alias :origin_query :query
23
+
24
+ def self.query(query_sql, page=nil, stint=nil)
25
+ self.table_name = query_sql.downcase.match(Syntax_table)[1] if query_sql.downcase.match(Syntax_table)
26
+ self.total_nums = conn.origin_query(query_sql).size
27
+ query_sql = limit(query_sql, page, stint) if stint && page
28
+ query_sql = query_sql.gsub(/;/, '')
29
+ conn.origin_query(query_sql)
30
+ end
31
+
32
+ def self.limit(query_sql, page=1, stint)
33
+ page = page == 1 ? page = 0 : page.to_i*stint.to_i-stint.to_i
34
+ query_sql.downcase.match(Syntax).present? ? query_sql.downcase.gsub(Syntax, "LIMIT #{page},#{stint}") : "#{query_sql} LIMIT #{page},#{stint}"
35
+ end
36
+
37
+ def self.get_tables
38
+ @tables ? @tables : @tables = conn.origin_query('SHOW TABLES')
39
+ end
40
+
41
+ def self.compose(params)
42
+ "SELECT * FROM #{params[:id]} WHERE #{params["field"].inject([]){|a, (key,value)| a << compose_key(params["calc"][key],key, value); a }.join('and')}"
43
+ end
44
+
45
+ def self.compose_key(calc,key,value)
46
+ case calc
47
+ when '=', '>', '<'
48
+ " `#{key}` #{calc} '#{value}' "
49
+ when 'IN'
50
+ " `#{key}` IN (#{value}) "
51
+ when '≠'
52
+ " `#{key}` != '#{value}' "
53
+ when 'LIKE'
54
+ " `#{key}` LIKE '%#{value}%' "
55
+ when '≥'
56
+ " `#{key}` >= '#{value}' "
57
+ when '≤'
58
+ " `#{key}` <= '#{value}' "
59
+ end
60
+ end
61
+
62
+
63
+ def self.delete(table_name, ids)
64
+ conn.origin_query("DELETE FROM #{table_name} WHERE id IN (#{ids.join(',')})") if ids.is_a?(Array)
65
+ end
66
+
67
+ def self.insert(table_name, field)
68
+ conn.origin_query("INSERT INTO #{table_name} (#{field.keys.join(',')}) VALUES ('#{field.values.join("','")}')")
69
+ end
70
+
71
+ def self.update(table_name, id, fields)
72
+ update_str = "UPDATE #{table_name} SET #{compose_update_sql(table_name, fields.to_a)} WHERE id = #{id}"
73
+ conn.origin_query update_str
74
+ end
75
+
76
+ def self.compose_update_sql(table_name,fields)
77
+ columns = desc_table(table_name)
78
+ fields.inject([]) do |array, field|
79
+ columns.each do |column|
80
+ if field[0] == column["Field"]
81
+ array << (%w(int decimal tinyint).include?(column["Type"].gsub(/\(.*?\)/,'')) ? "#{field[0]} = #{field[1]}" : "#{field[0]} = REPLACE(REPLACE(REPLACE('#{field[1]}', '&','&amp;'), '>', '&gt;'), '<', '&lt;')")
82
+ end
83
+ end
84
+ array
85
+ end.join(',')
86
+ end
87
+
88
+ def self.desc_table(table_name)
89
+ conn.origin_query("DESC #{table_name}").each
90
+ end
91
+
92
+ def self.show_create_sql(table_name)
93
+ conn.origin_query("SHOW CREATE TABLE #{table_name}").each
94
+ end
95
+
96
+ def self.modify_table_column_default_value(table_name, column, value, field_type)
97
+ default_value = case field_type.gsub(/\(.*?\)/,'')
98
+ when "tinyint" then value.present?
99
+ when "datetime" then value.to_time.to_s(:db)
100
+ when "int" then value.to_i
101
+ else
102
+ value.to_s
103
+ end
104
+ conn.origin_query("ALTER TABLE #{table_name} ALTER COLUMN #{column} SET DEFAULT '#{default_value}'")
105
+ end
106
+
107
+ end
@@ -6,7 +6,7 @@ require 'rails_admin_content/client'
6
6
  require 'rails_admin_content/helper'
7
7
 
8
8
  module RailsAdminContent
9
- class Engine < ::Rails::Engine
10
- isolate_namespace RailsAdminContent
11
- end
9
+ class Engine < ::Rails::Engine
10
+ isolate_namespace RailsAdminContent
11
+ end
12
12
  end
@@ -1,65 +1,65 @@
1
1
  module ActionView
2
- module Helpers
3
- module DateHelper
4
- def custom_paginate(scope, options = {})
5
- paginate = RailsAdminContent::Paginate.new(scope, options.update(per_page: options[:stint]))
6
- paginate.to_s
7
- end
2
+ module Helpers
3
+ module DateHelper
4
+ def custom_paginate(scope, options = {})
5
+ paginate = RailsAdminContent::Paginate.new(scope, options.update(per_page: options[:stint]))
6
+ paginate.to_s
7
+ end
8
8
 
9
- def format(value, limit=10)
10
- value = value.is_a?(String) && value.size > limit ? value.truncate(limit) : value
11
- value = value.is_a?(Time) ? value.to_s(:db) : value
12
- value ||= "null"
13
- end
9
+ def format(value, limit=10)
10
+ value = value.is_a?(String) && value.size > limit ? value.truncate(limit) : value
11
+ value = value.is_a?(Time) ? value.to_s(:db) : value
12
+ value ||= "null"
13
+ end
14
14
 
15
- def menu_value(value, icon)
16
- raw <<-HTML
17
- <i class="#{icon}"></i><span class="hidden-tablet">#{value}</span>
18
- HTML
19
- end
15
+ def menu_value(value, icon)
16
+ raw <<-HTML
17
+ <i class="#{icon}"></i><span class="hidden-tablet">#{value}</span>
18
+ HTML
19
+ end
20
20
 
21
- def link_to_menu(*args, &block)
22
- name = menu_value(args[0], args[1])
23
- options = args[2] || {}
24
- html_options = args[3]
21
+ def link_to_menu(*args, &block)
22
+ name = menu_value(args[0], args[1])
23
+ options = args[2] || {}
24
+ html_options = args[3]
25
25
 
26
- html_options = convert_options_to_data_attributes(options, html_options)
27
- url = url_for(options)
26
+ html_options = convert_options_to_data_attributes(options, html_options)
27
+ url = url_for(options)
28
28
 
29
- href = html_options['href']
30
- tag_options = tag_options(html_options)
31
- href_attr = "href=\"#{ERB::Util.html_escape(url)}\"" unless href
32
- "<a #{href_attr}#{tag_options}>#{ERB::Util.html_escape(name || url)}</a>".html_safe
33
- end
29
+ href = html_options['href']
30
+ tag_options = tag_options(html_options)
31
+ href_attr = "href=\"#{ERB::Util.html_escape(url)}\"" unless href
32
+ "<a #{href_attr}#{tag_options}>#{ERB::Util.html_escape(name || url)}</a>".html_safe
33
+ end
34
34
 
35
- def edited(key, value, str='')
36
- str << 'editable' unless key == 'id'
37
- str << ' edit_datepicker' if value.is_a?(Time)
38
- str
39
- end
35
+ def edited(key, value, str='')
36
+ str << 'editable' unless key == 'id'
37
+ str << ' edit_datepicker' if value.is_a?(Time)
38
+ str
39
+ end
40
40
 
41
- def options_for_select_column_data(table, selected=nil)
42
- options_for_select RailsAdminContent::Client.desc_table(table).map{|a| [ a["Field"],a["Field"], column_type: a["Type"].gsub(/\(.*?\)/,'') ]}, selected
43
- end
41
+ def options_for_select_column_data(table, selected=nil)
42
+ options_for_select RailsAdminContent::Client.desc_table(table).map{|a| [ a["Field"],a["Field"], column_type: a["Type"].gsub(/\(.*?\)/,'') ]}, selected
43
+ end
44
44
 
45
- def content_field(column, value=nil)
46
- type = column["Type"].gsub(/\(.*?\)/,'')
47
- column["Default"] = value if value
48
- column["Field"] = "field[#{column["Field"]}]"
49
- case type
50
- when 'text'
51
- text_area_tag column["Field"], column["Default"], :size => "25x6", 'data-field' => column["Field"], class: "#{type} span10"
52
- when 'varchar'
53
- text_field_tag column["Field"], column["Default"], 'data-field' => column["Field"], class: "#{type} span10"
54
- when 'int'
55
- number_field_tag column["Field"], column["Default"], 'data-field' => column["Field"], class: "#{type} span10"
56
- when 'tinyint'
57
- select_tag column["Field"], options_for_select([['Yes',1],['No',0]], column["Default"]), 'data-field' => column["Field"], class: "#{type} span10"
58
- else
59
- text_field_tag column["Field"], column["Default"], 'data-field' => column["Field"], class: "#{type} span10"
60
- end
61
- end
45
+ def content_field(column, value=nil)
46
+ type = column["Type"].gsub(/\(.*?\)/,'')
47
+ column["Default"] = value if value
48
+ column["Field"] = "field[#{column["Field"]}]"
49
+ case type
50
+ when 'text'
51
+ text_area_tag column["Field"], column["Default"], :size => "25x6", 'data-field' => column["Field"], class: "#{type} span10"
52
+ when 'varchar'
53
+ text_field_tag column["Field"], column["Default"], 'data-field' => column["Field"], class: "#{type} span10"
54
+ when 'int'
55
+ number_field_tag column["Field"], column["Default"], 'data-field' => column["Field"], class: "#{type} span10"
56
+ when 'tinyint'
57
+ select_tag column["Field"], options_for_select([['Yes',1],['No',0]], column["Default"]), 'data-field' => column["Field"], class: "#{type} span10"
58
+ else
59
+ text_field_tag column["Field"], column["Default"], 'data-field' => column["Field"], class: "#{type} span10"
60
+ end
61
+ end
62
62
 
63
- end
64
- end
63
+ end
64
+ end
65
65
  end
@@ -1,16 +1,18 @@
1
1
  module RailsAdminContent
2
- module Mysql
3
- module Adapters
4
- class Client
5
- def initialize
6
- @client = client = Mysql2::Client.new ActiveRecord::Base.connection_config
7
- end
2
+ module Mysql
3
+ module Adapters
4
+ class Client
5
+ def initialize
6
+ @client ||= Mysql2::Client.new ActiveRecord::Base.connection_config
7
+ end
8
8
 
9
-
10
- def query(sql)
11
- @client.query(sql).each
12
- end
13
- end
14
- end
15
- end
16
- end
9
+ def query(sql)
10
+ @client.query(sql).each
11
+ rescue
12
+ []
13
+ end
14
+ end
15
+
16
+ end
17
+ end
18
+ end
@@ -1,53 +1,53 @@
1
1
  module RailsAdminContent
2
- class Paginate
2
+ class Paginate
3
3
 
4
- def initialize(scope, options = {})
5
- @scope, @options = scope, options
6
- end
4
+ def initialize(scope, options = {})
5
+ @scope, @options = scope, options
6
+ end
7
7
 
8
- def to_s
9
- return "" unless @scope
10
- current_page, total_pages = @options[:spage].to_i, RailsAdminContent::Client.total_nums / @options[:stint] + 1
11
- # return "共#{RailsAdminContent::Client.total_nums}条数据" if total_pages <= 1
12
- param_name = @options["param_name"] || "page"
13
- url = @options["url"] || ""
14
- helpers.content_tag :div, :class => "pagination" do
15
- helpers.content_tag :ul do
16
- result = ''
17
- result += helpers.content_tag(:li, class: 'previous'){helpers.link_to("‹ 上一页","#{url}?#{param_name}=#{current_page-1}")} if current_page.to_i > 1
18
- if total_pages > 8
19
- 1.upto(3) { |i| result << page_link(i, current_page) }
20
- if current_page > 1 and current_page < total_pages
21
- result << helpers.content_tag(:li, helpers.link_to("...",'#'), class: 'disabled') if current_page > 5
22
- min = current_page > 4 ? current_page-1 : 4
23
- max = current_page < total_pages-4 ? current_page+2 : total_pages-2
24
- (min..max-1).each { |i| result << page_link(i, current_page) } if max >= min+1
25
- result << helpers.content_tag(:li, helpers.link_to("...", "#"), class: 'disabled') if current_page < total_pages-4
26
- else
27
- result << helpers.content_tag(:li, helpers.link_to("...",'#'), class: 'disabled')
28
- end
29
- (total_pages-2..total_pages).each{ |i| result << page_link(i, current_page) }
30
- else
31
- (1..total_pages).each{ |i| result << page_link(i, current_page) }
32
- end
33
- result += helpers.content_tag(:li, class: "next"){helpers.link_to("下一页 ›", "#{url}?#{param_name}=#{current_page+1}")} if current_page < total_pages
34
- result += helpers.content_tag(:li, class: 'disabled total_pages'){helpers.link_to "共#{RailsAdminContent::Client.total_nums}条数据", "#"}
35
- result.html_safe
36
- end
37
- end
8
+ def to_s
9
+ return "" unless @scope
10
+ current_page, total_pages = @options[:spage].to_i, RailsAdminContent::Client.total_nums / @options[:stint] + 1
11
+ # return "共#{RailsAdminContent::Client.total_nums}条数据" if total_pages <= 1
12
+ param_name = @options["param_name"] || "page"
13
+ url = @options["url"] || ""
14
+ helpers.content_tag :div, :class => "pagination" do
15
+ helpers.content_tag :ul do
16
+ result = ''
17
+ result += helpers.content_tag(:li, class: 'previous'){helpers.link_to("‹ 上一页","#{url}?#{param_name}=#{current_page-1}")} if current_page.to_i > 1
18
+ if total_pages > 8
19
+ 1.upto(3) { |i| result << page_link(i, current_page) }
20
+ if current_page > 1 and current_page < total_pages
21
+ result << helpers.content_tag(:li, helpers.link_to("...",'#'), class: 'disabled') if current_page > 5
22
+ min = current_page > 4 ? current_page-1 : 4
23
+ max = current_page < total_pages-4 ? current_page+2 : total_pages-2
24
+ (min..max-1).each { |i| result << page_link(i, current_page) } if max >= min+1
25
+ result << helpers.content_tag(:li, helpers.link_to("...", "#"), class: 'disabled') if current_page < total_pages-4
26
+ else
27
+ result << helpers.content_tag(:li, helpers.link_to("...",'#'), class: 'disabled')
28
+ end
29
+ (total_pages-2..total_pages).each{ |i| result << page_link(i, current_page) }
30
+ else
31
+ (1..total_pages).each{ |i| result << page_link(i, current_page) }
32
+ end
33
+ result += helpers.content_tag(:li, class: "next"){helpers.link_to("下一页 ›", "#{url}?#{param_name}=#{current_page+1}")} if current_page < total_pages
34
+ result += helpers.content_tag(:li, class: 'disabled total_pages'){helpers.link_to "共#{RailsAdminContent::Client.total_nums}条数据", "#"}
35
+ result.html_safe
36
+ end
37
+ end
38
38
 
39
- end
39
+ end
40
40
 
41
- private
42
- def page_link(page, current_page)
43
- param_name = @options["param_name"] || "page"
44
- url = @options["url"] || ""
45
- current_page == page ? helpers.content_tag(:li, page, :class => "active"){helpers.link_to page, '#'} : helpers.content_tag(:li, helpers.link_to("#{page}", "#{url}?#{param_name}=#{page}"))
46
- end
41
+ private
42
+ def page_link(page, current_page)
43
+ param_name = @options["param_name"] || "page"
44
+ url = @options["url"] || ""
45
+ current_page == page ? helpers.content_tag(:li, page, :class => "active"){helpers.link_to page, '#'} : helpers.content_tag(:li, helpers.link_to("#{page}", "#{url}?#{param_name}=#{page}"))
46
+ end
47
47
 
48
- def helpers
49
- ActionController::Base.helpers
50
- end
48
+ def helpers
49
+ ActionController::Base.helpers
50
+ end
51
51
 
52
- end
52
+ end
53
53
  end
@@ -1,3 +1,3 @@
1
1
  module RailsAdminContent
2
- VERSION = "0.2.1"
2
+ VERSION = "0.2.2"
3
3
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: rails_admin_content
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.1
4
+ version: 0.2.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Terry
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2013-09-06 00:00:00.000000000 Z
11
+ date: 2013-09-09 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rails
@@ -70,16 +70,16 @@ dependencies:
70
70
  name: mysql2
71
71
  requirement: !ruby/object:Gem::Requirement
72
72
  requirements:
73
- - - '>='
73
+ - - ~>
74
74
  - !ruby/object:Gem::Version
75
- version: '0'
75
+ version: 0.3.13
76
76
  type: :runtime
77
77
  prerelease: false
78
78
  version_requirements: !ruby/object:Gem::Requirement
79
79
  requirements:
80
- - - '>='
80
+ - - ~>
81
81
  - !ruby/object:Gem::Version
82
- version: '0'
82
+ version: 0.3.13
83
83
  - !ruby/object:Gem::Dependency
84
84
  name: compass
85
85
  requirement: !ruby/object:Gem::Requirement