rails_admin_content 0.1.0

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.
Files changed (68) hide show
  1. checksums.yaml +7 -0
  2. data/README.md +38 -0
  3. data/Rakefile +7 -0
  4. data/app/assets/javascripts/develop/manages.js.coffee +96 -0
  5. data/app/assets/javascripts/rails_admin_content.js +22 -0
  6. data/app/assets/stylesheets/develop/manages.css.scss +38 -0
  7. data/app/assets/stylesheets/rails_admin_content.css +19 -0
  8. data/app/assets/stylesheets/site.css +479 -0
  9. data/app/controllers/application_controller.rb +3 -0
  10. data/app/controllers/rails_admin_content/develop/application_controller.rb +5 -0
  11. data/app/controllers/rails_admin_content/develop/manages_controller.rb +77 -0
  12. data/app/views/layouts/rails_admin_content/admin.html.slim +58 -0
  13. data/app/views/rails_admin_content/develop/manages/_content.html.slim +21 -0
  14. data/app/views/rails_admin_content/develop/manages/_filter.html.slim +25 -0
  15. data/app/views/rails_admin_content/develop/manages/_form.html.slim +5 -0
  16. data/app/views/rails_admin_content/develop/manages/_menv.html.slim +8 -0
  17. data/app/views/rails_admin_content/develop/manages/_navbar.html.slim +34 -0
  18. data/app/views/rails_admin_content/develop/manages/details.html.slim +18 -0
  19. data/app/views/rails_admin_content/develop/manages/edit.html.slim +16 -0
  20. data/app/views/rails_admin_content/develop/manages/edit_column.html.slim +30 -0
  21. data/app/views/rails_admin_content/develop/manages/index.html.slim +2 -0
  22. data/app/views/rails_admin_content/develop/manages/new.html.slim +10 -0
  23. data/app/views/rails_admin_content/develop/manages/query.html.slim +24 -0
  24. data/app/views/rails_admin_content/develop/manages/show.html.slim +27 -0
  25. data/config/routes.rb +12 -0
  26. data/lib/assets/codemirror/charisma-app.css +501 -0
  27. data/lib/assets/codemirror/codemirror.css +249 -0
  28. data/lib/assets/codemirror/codemirror.js +5637 -0
  29. data/lib/assets/codemirror/javascript.js +471 -0
  30. data/lib/assets/codemirror/matchbrackets.js +82 -0
  31. data/lib/assets/codemirror/midnight.css +52 -0
  32. data/lib/assets/codemirror/solarized.css +207 -0
  33. data/lib/assets/codemirror/sql.js +267 -0
  34. data/lib/assets/codemirror/twilight.css +26 -0
  35. data/lib/assets/images/add.png +0 -0
  36. data/lib/assets/images/column.png +0 -0
  37. data/lib/assets/images/content.png +0 -0
  38. data/lib/assets/images/details.png +0 -0
  39. data/lib/assets/images/file.png +0 -0
  40. data/lib/assets/images/home.png +0 -0
  41. data/lib/assets/images/search.png +0 -0
  42. data/lib/assets/images/setting.png +0 -0
  43. data/lib/assets/images/user.png +0 -0
  44. data/lib/assets/javascripts/bootstrap/bootstrap-alert.js +100 -0
  45. data/lib/assets/javascripts/jquery/dyndatetime/calendar_zh.js +128 -0
  46. data/lib/assets/javascripts/jquery/dyndatetime/dynDateTime.js +2011 -0
  47. data/lib/assets/javascripts/jquery/editable.js +31 -0
  48. data/lib/assets/javascripts/jquery/jquery.jeditable.js +543 -0
  49. data/lib/assets/stylesheets/bootstrap/bootstrap-app.css +5255 -0
  50. data/lib/assets/stylesheets/dyndatetime/calendar-system.css +251 -0
  51. data/lib/assets/stylesheets/dyndatetime/skins/aqua/active-bg.gif +0 -0
  52. data/lib/assets/stylesheets/dyndatetime/skins/aqua/dark-bg.gif +0 -0
  53. data/lib/assets/stylesheets/dyndatetime/skins/aqua/hover-bg.gif +0 -0
  54. data/lib/assets/stylesheets/dyndatetime/skins/aqua/menuarrow.gif +0 -0
  55. data/lib/assets/stylesheets/dyndatetime/skins/aqua/normal-bg.gif +0 -0
  56. data/lib/assets/stylesheets/dyndatetime/skins/aqua/rowhover-bg.gif +0 -0
  57. data/lib/assets/stylesheets/dyndatetime/skins/aqua/status-bg.gif +0 -0
  58. data/lib/assets/stylesheets/dyndatetime/skins/aqua/theme.css +236 -0
  59. data/lib/assets/stylesheets/dyndatetime/skins/aqua/title-bg.gif +0 -0
  60. data/lib/assets/stylesheets/dyndatetime/skins/aqua/today-bg.gif +0 -0
  61. data/lib/rails_admin_content/client.rb +93 -0
  62. data/lib/rails_admin_content/engine.rb +12 -0
  63. data/lib/rails_admin_content/helper.rb +65 -0
  64. data/lib/rails_admin_content/mysql/adapters/client.rb +18 -0
  65. data/lib/rails_admin_content/paginate.rb +53 -0
  66. data/lib/rails_admin_content/version.rb +3 -0
  67. data/lib/rails_admin_content.rb +5 -0
  68. metadata +180 -0
@@ -0,0 +1,3 @@
1
+ class ApplicationController < ActionController::Base
2
+ protect_from_forgery
3
+ end
@@ -0,0 +1,5 @@
1
+ class RailsAdminContent::Develop::ApplicationController < ApplicationController
2
+ layout 'rails_admin_content/admin'
3
+
4
+
5
+ end
@@ -0,0 +1,77 @@
1
+ class RailsAdminContent::Develop::ManagesController < RailsAdminContent::Develop::ApplicationController
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
+
10
+ def query
11
+ @entries = RailsAdminContent::Client.query(RailsAdminContent::Client.query_str,@page, @per).each if RailsAdminContent::Client.query_str
12
+ rescue Exception => e
13
+ flash[:errors] = e.message
14
+ end
15
+
16
+ def filter
17
+ RailsAdminContent::Client.query_str = params[:q]
18
+ redirect_to action: :query
19
+ end
20
+
21
+ def show
22
+ @query_str = "SELECT * FROM #{params[:id]}"
23
+ @query_str = RailsAdminContent::Client.compose(params) if params[:field].present?
24
+ @fields = RailsAdminContent::Client.desc_table params[:id]
25
+ @entries = RailsAdminContent::Client.query(@query_str,@page, @per)
26
+ rescue Exception => e
27
+ flash[:errors] = e.message
28
+ end
29
+
30
+ def new;end
31
+
32
+ def edit; end
33
+
34
+ def edit_column
35
+ @fields = RailsAdminContent::Client.desc_table 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
76
+
77
+ end
@@ -0,0 +1,58 @@
1
+ doctype html
2
+ html
3
+ head
4
+ title RailsAdminContent
5
+ meta name="key_words" content="template languagea"
6
+ = stylesheet_link_tag "rails_admin_content", media: "all"
7
+ = javascript_include_tag 'rails_admin_content'
8
+ = csrf_meta_tag
9
+ body
10
+ #wrapper
11
+ #wrapper2
12
+ #wrapper3
13
+ #header
14
+ h1
15
+ #main-menu
16
+ - if flash[:success]
17
+ .alert.alert-success
18
+ button data-dismiss="alert" class="close" type="button" x
19
+ strong
20
+ | 成功:
21
+ = flash[:success]
22
+
23
+ - if flash[:errors]
24
+ .alert.alert-error
25
+ button data-dismiss="alert" class="close" type="button" x
26
+ strong
27
+ | 错误:
28
+ = flash[:errors]
29
+
30
+ - if flash[:notice]
31
+ .alert.alert-info
32
+ button data-dismiss="alert" class="close" type="button" x
33
+ strong
34
+ | 成功:
35
+ = flash[:notice]
36
+ .container-fluid
37
+ .row-fluid
38
+ .span2
39
+ = render 'menv'
40
+ .content.span10
41
+ - if action_name =~ /query/
42
+ = render 'form'
43
+ - elsif action_name =~ /index/
44
+ - else
45
+ = render 'navbar'
46
+ - if action_name =~ /show/
47
+ = render 'filter'
48
+ .span11
49
+ = yield
50
+ - if @entries.present?
51
+ #edit_tools
52
+ span
53
+ label 当前选择<span id="select_num">0</span>条
54
+ span
55
+ = link_to 'ⓧ', "#", class: 'btn deselect', title: '取消选择'
56
+ = link_to '✘', "", class: 'btn', title: '删除', disabled: true, id: "btn_delete"
57
+ span
58
+ = @entries.present? ? custom_paginate(@entries, spage: @page, stint: @per) : '0条数据'
@@ -0,0 +1,21 @@
1
+ - if @entries.present? && @entries.first
2
+ .nav#nav
3
+ | #{@content}
4
+ .details#grid_search
5
+ table#edit_tables.table-bordered.table.table-hover
6
+ thead
7
+ tr#th-title
8
+ - @entries.first.keys.each do |entry|
9
+ th
10
+ = entry
11
+ - if @entries.present? && @entries.first
12
+ tbody
13
+ - @entries.each do |content|
14
+ tr class="tr_#{content.first[1]}"
15
+ td
16
+ label
17
+ input type="checkbox" class="edit_checkbox" value="#{content.first[1]}" name="edit_id[]"
18
+ - content.each do |key,value|
19
+ td
20
+ span class="#{edited(key,value)}" data-field="#{key}" data-table="#{RailsAdminContent::Client.table_name}" data-title="#{value}" data-url="#{develop_manage_path(content.values.first)}"
21
+ = format(value)
@@ -0,0 +1,25 @@
1
+ .span12
2
+ .search
3
+ .row
4
+ = hidden_field_tag 'current_condition', params[:calc].present? && params[:calc].keys.join(",")
5
+ = form_tag "", method: :post, class: 'form-search', method: :get
6
+
7
+ - RailsAdminContent::Client.desc_table(params[:id]).each do |column|
8
+ div class="span7 #{column["Field"]} check_edit" style="#{params[:calc].present? && params[:calc].has_key?(column["Field"]) ? '' : 'display:none;' }"
9
+ .span4
10
+ = label_tag do
11
+ = check_box_tag "check_box[#{column['Field']}]", '', true, class: 'check_box_edit', name: '', 'data-field' => column['Field']
12
+ |
13
+ = column["Field"]
14
+ .span3
15
+ = select_tag "calc[#{column['Field']}]", options_for_select(RailsAdminContent::Client.select_field(column["Type"]), params[:calc].present? ? params[:calc][column['Field']] : nil), 'data-field' => "calc[#{column['Field']}]", class: 'span6 calc'
16
+ .span3
17
+ - column["Type"] = 'varchar' if column["Type"] == 'text'
18
+ - column["Default"] = params[:field][column["Field"]] if params[:field].present?
19
+ = content_field(column)
20
+
21
+ .span8
22
+ = field_set_tag "选项" do
23
+ = select_tag 'select_field', options_for_select_column_data(params[:id]), class: 'span2', name: '', :prompt => "Select Filter"
24
+ = button_tag '应用', class: 'btn'
25
+ = link_to '清除', '#', class: 'btn clear'
@@ -0,0 +1,5 @@
1
+ = form_tag filter_develop_manages_path, method: :post
2
+ #search_area
3
+ textarea rows="2" cols="140" id="search-textarea" style="height:100px" name="q" #{RailsAdminContent::Client.query_str||""}
4
+ .nav
5
+ input type="submit" value="Run" calss="btn btn-primary"
@@ -0,0 +1,8 @@
1
+ .main-menu-span style="padding:8px;margin-left:0px"
2
+ .well.nav-collapse.sidebar-nav
3
+ ul.nav.nav-tabs.nav-stacked.main-menu
4
+ li.nav-header.hidden-tablet style="font-size:12px"
5
+ | Database #{RailsAdminContent::Client.conn.query_options[:database]}
6
+ - RailsAdminContent::Client.get_tables.each do |table|
7
+ li class="#{'active' if params[:id] == table.values.first}"
8
+ = link_to table.values.first, develop_manage_path(table.values.first), title: "[#{table.keys.first}] #{table.values.first}"
@@ -0,0 +1,34 @@
1
+ .span10
2
+ .navbar
3
+ ul
4
+ li
5
+ = link_to develop_manages_path, class: 'btn-icon', title: 'Home' do
6
+ dt = image_tag("home.png")
7
+ dd Home
8
+
9
+ li
10
+ = link_to new_develop_manage_path(id: RailsAdminContent::Client.table_name), class: 'btn-icon', title: 'add' do
11
+ dt = image_tag("add.png")
12
+ dd Add
13
+
14
+ li
15
+ = link_to develop_manage_path(RailsAdminContent::Client.table_name), class: 'btn-icon', title: 'Content' do
16
+ dt = image_tag("content.png")
17
+ dd Content
18
+
19
+ li
20
+ = link_to edit_column_develop_manage_path(RailsAdminContent::Client.table_name), class: 'btn-icon', title: 'Structure' do
21
+ dt = image_tag("setting.png")
22
+ dd Structure
23
+
24
+ li
25
+ = link_to details_develop_manage_path(RailsAdminContent::Client.table_name), class: 'btn-icon', title: 'Table info' do
26
+ dt = image_tag("details.png")
27
+ dd Table info
28
+
29
+ li
30
+ = link_to query_develop_manages_path, class: 'btn-icon', title: 'Query' do
31
+ dt = image_tag("search.png")
32
+ dd Query
33
+
34
+ div style="clear:both"
@@ -0,0 +1,18 @@
1
+
2
+ - if @details.present?
3
+ .span10
4
+ .details#grid_search
5
+ table#edit_tables.table-bordered.table.table-hover
6
+ thead
7
+ tr#th-title
8
+ th key
9
+ th value
10
+
11
+ tbody
12
+ - @details.first.each do |key, value|
13
+ tr
14
+ td width="200"
15
+ strong
16
+ = key
17
+ td
18
+ = value
@@ -0,0 +1,16 @@
1
+ .span8
2
+ = form_tag(develop_manage_path(params[:id]), method: :put)
3
+ = field_set_tag "Table[#{params[:table_name]}]" do
4
+ = hidden_field_tag 'table_name', params[:table_name]
5
+ - columns = RailsAdminContent::Client.conn.origin_query("DESC #{params[:table_name]}").each
6
+ - RailsAdminContent::Client.conn.origin_query("SELECT * FROM #{params[:table_name]} WHERE id = #{params[:id]}").each[0].map do |key,value|
7
+ - if key == "id"
8
+ = hidden_field_tag :id, value
9
+ - else
10
+ = label_tag "field[#{key}]", key
11
+ = content_field(columns.select{|c| c["Field"] == key }.first ,value)
12
+ .controllers
13
+ .span2
14
+ = submit_tag 'Save', class: 'btn btn-primary'
15
+ .span2
16
+ = link_to 'Back', :back, class: 'btn'
@@ -0,0 +1,30 @@
1
+
2
+ .span10
3
+ table#edit_tables.table-bordered.table.table-hover
4
+ thead
5
+ tr#th-title
6
+ th index
7
+ th Field
8
+ th Type
9
+ th Null
10
+ th Key
11
+ th Default
12
+ th Extra
13
+ - if @fields.present?
14
+ tbody
15
+ - @fields.each_with_index do |field,index|
16
+ tr
17
+ td
18
+ = index + 1
19
+ td
20
+ = field["Field"]
21
+ td
22
+ = field["Type"]
23
+ td
24
+ = field["Null"]
25
+ td
26
+ = field["key"]
27
+ td
28
+ = field["Default"]
29
+ td
30
+ = field["extra"]
@@ -0,0 +1,2 @@
1
+ .span3
2
+ = "Version: #{@version[0]['version']}"
@@ -0,0 +1,10 @@
1
+ .span8
2
+ = form_tag develop_manages_path
3
+ = field_set_tag "Table[#{params[:id]}]" do
4
+ = hidden_field_tag 'table_name', params[:id]
5
+ - RailsAdminContent::Client.conn.origin_query("DESC #{params[:id]}").each.map do |column|
6
+ - next if column["Field"] == "id"
7
+ = label_tag "field[#{column["Field"]}]", column["Field"]
8
+ = content_field column
9
+ .controllers
10
+ = submit_tag 'Save', class: 'btn btn-primary'
@@ -0,0 +1,24 @@
1
+ - if @entries.present? && @entries.first
2
+ .nav#nav
3
+ | #{@content}
4
+ .details#grid_search
5
+ form action="#{develop_manage_path(RailsAdminContent::Client.table_name)}" method="delete" id="details_form" remote="true"
6
+ input type="hidden" value="#{RailsAdminContent::Client.table_name}" name="table_name"
7
+ table#edit_tables.table-bordered.table.table-hover
8
+ thead
9
+ tr#th-title
10
+ th Index
11
+ - @entries.first.keys.each do |entry|
12
+ th
13
+ = entry
14
+ - if @entries.present? && @entries.first
15
+ tbody
16
+ - @entries.each do |content|
17
+ tr class="tr_#{content.first[1]}"
18
+ td
19
+ label
20
+ input type="checkbox" class="edit_checkbox" value="#{content.first[1]}" name="edit_id[]"
21
+ - content.each do |key,value|
22
+ td
23
+ span class="#{edited(key,value)}" data-field="#{key}" data-table="#{RailsAdminContent::Client.table_name}" data-title="#{value}" data-url="#{develop_manage_path(content.values.first)}"
24
+ = format(value)
@@ -0,0 +1,27 @@
1
+
2
+ .nav#nav
3
+ | #{@content}
4
+ .details#grid_search
5
+ form action="#{develop_manage_path(params[:id])}" method="delete" id="details_form" remote="true"
6
+ input type="hidden" value="#{RailsAdminContent::Client.table_name}" name="table_name"
7
+ table#edit_tables.table-bordered.table.table-hover
8
+ thead
9
+ tr#th-title
10
+ th Index
11
+ - @fields.map do |element|
12
+ th
13
+ = element["Field"]
14
+ - if @entries.present? && @entries.first
15
+ tbody
16
+ - @entries.each do |content|
17
+ tr class="tr_#{content.first[1]}"
18
+ td
19
+ label
20
+ input type="checkbox" class="edit_checkbox" value="#{content.first[1]}" name="edit_id[]"
21
+ - content.each do |key,value|
22
+ td
23
+ span class="#{edited(key,value)}" data-field="#{key}" data-table="#{RailsAdminContent::Client.table_name}" data-title="#{value}" data-url="#{update_field_develop_manage_path(content.values.first)}"
24
+ - if key == "id"
25
+ = link_to value, edit_develop_manage_path(value,table_name: RailsAdminContent::Client.table_name), title: 'edit'
26
+ - else
27
+ = format(value)
data/config/routes.rb ADDED
@@ -0,0 +1,12 @@
1
+ RailsAdminContent::Engine.routes.draw do
2
+ match '/', to: "develop/manages#index"
3
+ namespace :develop do
4
+ resources :manages do
5
+ post :filter, on: :collection
6
+ get :query, on: :collection
7
+ put :update_field, on: :member
8
+ get :edit_column, on: :member
9
+ get :details, on: :member
10
+ end
11
+ end
12
+ end
@@ -0,0 +1,501 @@
1
+ @import url(https://fonts.googleapis.com/css?family=Shojumaru);
2
+
3
+ select{
4
+ background-color:#fff;
5
+ }
6
+
7
+ .top-block{
8
+ font-size:14px;
9
+ text-align: center;
10
+ padding: 5px;
11
+ margin-bottom:10px;
12
+ font-weight:bold;
13
+ position: relative;
14
+ display: block;
15
+ line-height: 22px;
16
+ text-shadow: 0 0 1px #DDD;
17
+ text-decoration:none;
18
+ -webkit-box-shadow: inset 0 0 0 1px #FAFAFA;
19
+ -moz-box-shadow: inset 0 0 0 1px #FAFAFA;
20
+ box-shadow: inset 0 0 0 1px #FAFAFA;
21
+ background: -moz-linear-gradient(top, rgba(30,87,153,0.2) 0%, rgba(125,185,232,0) 100%);
22
+ background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,rgba(30,87,153,0.2)), color-stop(100%,rgba(125,185,232,0)));
23
+ background: -webkit-linear-gradient(top, rgba(30,87,153,0.2) 0%,rgba(125,185,232,0) 100%);
24
+ background: -o-linear-gradient(top, rgba(30,87,153,0.2) 0%,rgba(125,185,232,0) 100%);
25
+ background: -ms-linear-gradient(top, rgba(30,87,153,0.2) 0%,rgba(125,185,232,0) 100%);
26
+ background: linear-gradient(to bottom, rgba(30,87,153,0.2) 0%,rgba(125,185,232,0) 100%);
27
+ filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#331e5799', endColorstr='#007db9e8',GradientType=0 );
28
+ }
29
+
30
+ .top-block span{
31
+ clear:both;
32
+ }
33
+
34
+
35
+ .top-block:hover{
36
+ text-decoration:none;
37
+ }
38
+
39
+ .notification {
40
+ display: block;
41
+ position: absolute;
42
+ top: -10px;
43
+ right: -5px;
44
+ line-height: 16px;
45
+ height: 16px;
46
+ padding: 0 5px;
47
+ font-family: Arial, sans-serif;
48
+ color: white !important;
49
+ text-shadow: 0 1px
50
+ hsla(0, 0%, 0%, 0.25);
51
+ border-width: 1px;
52
+ border-style: solid;
53
+ border-radius: 10px;
54
+ -webkit-border-radius: 10px;
55
+ -moz-border-radius: 10px;
56
+ -webkit-box-shadow: 0 1px 1px
57
+ hsla(0, 0%, 0%, 0.08), inset 0 1px
58
+ hsla(0, 100%, 100%, 0.3);
59
+ -moz-box-shadow: 0 1px 1px rgba(0, 0, 0, 0.08), inset 0 1px rgba(255, 255, 255, 0.3);
60
+ box-shadow: 0 1px 1px
61
+ hsla(0, 0%, 0%, 0.08), inset 0 1px
62
+ hsla(0, 100%, 100%, 0.3);
63
+ }
64
+
65
+ .notification {
66
+ border-color: #2FABE9;
67
+ background-color: #67C2EF;
68
+ background-image: -webkit-gradient(linear, left top, left bottom, color-stop(0%, hsl(200, 80%, 82%)), color-stop(100%, hsl(200, 81%, 67%)));
69
+ background-image: -webkit-linear-gradient(top, hsl(200, 80%, 82%), hsl(200, 81%, 67%));
70
+ background-image: -moz-linear-gradient(top, hsl(200, 80%, 82%), hsl(200, 81%, 67%));
71
+ background-image: -ms-linear-gradient(top, hsl(200, 80%, 82%), hsl(200, 81%, 67%));
72
+ background-image: -o-linear-gradient(top, hsl(200, 80%, 82%), hsl(200, 81%, 67%));
73
+ background-image: linear-gradient(top, hsl(200, 80%, 82%), hsl(200, 81%, 67%));
74
+ }
75
+
76
+ .notification.green {
77
+ border-color: #5AAD34;
78
+ background-color: #78CD51;
79
+ background-image: -webkit-gradient(linear, left top, left bottom, color-stop(0%, hsl(101, 54%, 71%)), color-stop(100%, hsl(101, 55%, 56%)));
80
+ background-image: -webkit-linear-gradient(top, hsl(101, 54%, 71%), hsl(101, 55%, 56%));
81
+ background-image: -moz-linear-gradient(top, hsl(101, 54%, 71%), hsl(101, 55%, 56%));
82
+ background-image: -ms-linear-gradient(top, hsl(101, 54%, 71%), hsl(101, 55%, 56%));
83
+ background-image: -o-linear-gradient(top, hsl(101, 54%, 71%), hsl(101, 55%, 56%));
84
+ background-image: linear-gradient(top, hsl(101, 54%, 71%), hsl(101, 55%, 56%));
85
+ }
86
+
87
+ .notification.yellow {
88
+ border-color: #F4A506;
89
+ background-color: #FABB3D;
90
+ background-image: -webkit-gradient(linear, left top, left bottom, color-stop(0%, hsl(40, 95%, 76%)), color-stop(100%, hsl(40, 95%, 61%)));
91
+ background-image: -webkit-linear-gradient(top, hsl(40, 95%, 76%), hsl(40, 95%, 61%));
92
+ background-image: -moz-linear-gradient(top, hsl(40, 95%, 76%), hsl(40, 95%, 61%));
93
+ background-image: -ms-linear-gradient(top, hsl(40, 95%, 76%), hsl(40, 95%, 61%));
94
+ background-image: -o-linear-gradient(top, hsl(40, 95%, 76%), hsl(40, 95%, 61%));
95
+ background-image: linear-gradient(top, hsl(40, 95%, 76%), hsl(40, 95%, 61%));
96
+ }
97
+
98
+ .notification.red {
99
+ border-color: #FA5833;
100
+ background-color: #FA603D;
101
+ background-image: -webkit-gradient(linear, left top, left bottom, color-stop(0%, hsl(11, 95%, 76%)), color-stop(100%, hsl(11, 95%, 61%)));
102
+ background-image: -webkit-linear-gradient(top, hsl(11, 95%, 76%), hsl(11, 95%, 61%));
103
+ background-image: -moz-linear-gradient(top, hsl(11, 95%, 76%), hsl(11, 95%, 61%));
104
+ background-image: -ms-linear-gradient(top, hsl(11, 95%, 76%), hsl(11, 95%, 61%));
105
+ background-image: -o-linear-gradient(top, hsl(11, 95%, 76%), hsl(11, 95%, 61%));
106
+ background-image: linear-gradient(top, hsl(11, 95%, 76%), hsl(11, 95%, 61%));
107
+ }
108
+
109
+ #external-events {
110
+ float: left;
111
+ width: 15%;
112
+ padding: 10px;
113
+ text-align: left;
114
+ }
115
+ .external-event{
116
+ margin: 5px;
117
+ cursor:move;
118
+ }
119
+ #calendar {
120
+ float: right;
121
+ width: 80%;
122
+ }
123
+
124
+
125
+
126
+ .box{
127
+ border: 1px solid #DEDEDE;
128
+ border-radius:3px;
129
+ -webkit-border-radius:3px;
130
+ -moz-border-radius:3px;
131
+ margin-top: 10px;
132
+ margin-bottom: 10px ;
133
+ box-shadow: 0 0 10px rgba(189, 189, 189, 0.4);
134
+ -webkit-box-shadow: 0 0 10px rgba(189, 189, 189, 0.4);
135
+ -moz-box-shadow: 0 0 10px rgba(189, 189, 189, 0.4);
136
+ }
137
+
138
+ .box-header{
139
+ border:none;
140
+ padding-top:5px;
141
+ border-bottom: 1px solid #DEDEDE;
142
+ border-radius:3px 3px 0 0;
143
+ -webkit-border-radius:3px 3px 0 0;
144
+ -moz-border-radius:3px 3px 0 0;
145
+ height:12px;
146
+ min-height:12px;
147
+ margin-bottom: 0;
148
+ cursor:move;
149
+ font-weight:bold;
150
+ font-size:16px;
151
+ background: -moz-linear-gradient(top, rgba(255,255,255,0) 0%, rgba(0,0,0,0.1) 100%);
152
+ background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,rgba(255,255,255,0)), color-stop(100%,rgba(0,0,0,0.1)));
153
+ background: -webkit-linear-gradient(top, rgba(255,255,255,0) 0%,rgba(0,0,0,0.1) 100%);
154
+ background: -o-linear-gradient(top, rgba(255,255,255,0) 0%,rgba(0,0,0,0.1) 100%);
155
+ background: -ms-linear-gradient(top, rgba(255,255,255,0) 0%,rgba(0,0,0,0.1) 100%);
156
+ background: linear-gradient(to bottom, rgba(255,255,255,0) 0%,rgba(0,0,0,0.1) 100%);
157
+ filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#00ffffff', endColorstr='#1a000000',GradientType=0 );
158
+
159
+ }
160
+
161
+ .box-header h2{
162
+ font-size:15px;
163
+ width:auto;
164
+ clear:none;
165
+ float:left;
166
+ line-height:25px;
167
+ }
168
+ .box-header h3{
169
+ font-size:13px;
170
+ width:auto;
171
+ clear:none;
172
+ float:left;
173
+ line-height:25px;
174
+ }
175
+ .box-header h2 > i{
176
+ margin-top:1px;
177
+ }
178
+ .box-icon{
179
+ float:right;
180
+ }
181
+ .box-icon a{
182
+ clear:none;
183
+ float:left;
184
+ margin:0 2px;
185
+ height: 18px;
186
+ width:5px;
187
+ margin-top: -1px;
188
+ }
189
+ .box-icon a i{
190
+ margin-left:-4.5px;
191
+ }
192
+ .box-content{
193
+ padding:10px;
194
+ }
195
+
196
+
197
+ .btn-round{
198
+ border-radius: 40px;
199
+ -webkit-border-radius: 40px;
200
+ -moz-border-radius: 40px;
201
+ font-size:12px;
202
+ padding-top:4px;
203
+ }
204
+
205
+ ul.dashboard-list li{
206
+ padding: 7px 0;
207
+ list-style:none;
208
+ border-bottom: 1px solid #EBEBEB;
209
+ border-top: 1px solid white;
210
+ }
211
+
212
+ ul.dashboard-list a:hover{
213
+ text-decoration:none;
214
+ }
215
+
216
+ ul.dashboard-list{
217
+ margin:0;
218
+ }
219
+
220
+ ul.dashboard-list li a span {
221
+ display: inline-block;
222
+ font-size: 18px;
223
+ font-weight: bold;
224
+ margin-right: 10px;
225
+ text-align: right;
226
+ width: 70px;
227
+ zoom: 1;
228
+ }
229
+
230
+ .dashboard-avatar{
231
+ height: 50px;
232
+ width: 50px;
233
+ padding: 1px;
234
+ float: left;
235
+ margin-left: 15px;
236
+ margin-right: 15px;
237
+ border: 1px solid #EBEBEB;
238
+ }
239
+
240
+ #prependedInput,#appendedPrependedInput,#appendedInputButtons,#appendedInputButton{
241
+ width:200px;
242
+ }
243
+ #appendedInput{
244
+ width:75px;
245
+ }
246
+ .thumbnail{
247
+ background-color:white;
248
+ z-index:2;
249
+ position:relative;
250
+ margin-bottom:40px !important;
251
+ }
252
+ .thumbnails > li{
253
+ margin-left:15px;
254
+ }
255
+ .thumbnail img,.thumbnail > a{
256
+ z-index:2;
257
+ height:100px;
258
+ width:100px;
259
+ position:relative;
260
+ display: block;
261
+ }
262
+
263
+ img.grayscale{
264
+ -webkit-filter: grayscale(1);
265
+ -webkit-filter: grayscale(100%);
266
+ -moz-filter: grayscale(100%);
267
+ -ms-filter: grayscale(100%);
268
+ -o-filter: grayscale(100%);
269
+ /*filter: url(desaturate.svg#grayscale);
270
+ filter: gray;
271
+ filter: grayscale(100%); */
272
+ }
273
+
274
+ .thumbnail .gallery-controls{
275
+ position:absolute;
276
+ z-index:1;
277
+ margin-top:-30px;
278
+ height:22px;
279
+ min-height:22px;
280
+ width:80px;
281
+ padding:9px;
282
+ }
283
+ .thumbnail .gallery-controls p{
284
+ display:block;
285
+ margin:auto;
286
+ width:100%;
287
+ }
288
+ label div.checker,label div.radio{
289
+ margin-bottom:3px;
290
+ }
291
+ div.uploader{
292
+ border-radius:14px;
293
+ -webkit-border-radius:14px;
294
+ -moz-border-radius:14px;
295
+ }
296
+ footer{
297
+ clear:both;
298
+ }
299
+ footer .pull-right{
300
+ float:right;
301
+ margin-right:10px;
302
+ }
303
+ footer .pull-left{
304
+ float:left;
305
+ margin-left:10px;
306
+ }
307
+ .docs-input-sizes select, .docs-input-sizes input[type="text"] {
308
+ display: block;
309
+ margin-bottom: 9px;
310
+ }
311
+
312
+ div.center,p.center,img.center{
313
+ margin-left: auto !important;
314
+ margin-right: auto !important;
315
+ float:none !important;
316
+ display: block;
317
+ text-align:center;
318
+ }
319
+
320
+ .stackControls{
321
+ padding:5px;
322
+ }
323
+
324
+ .clear{
325
+ clear:both;
326
+ width:0px;
327
+ height:0px;
328
+ }
329
+
330
+ .sidebar-nav{
331
+ min-height:0;
332
+ box-shadow: 0 0 10px #BDBDBD;
333
+ -webkit-box-shadow: 0 0 10px #BDBDBD;
334
+ -moz-box-shadow: 0 0 10px #BDBDBD;
335
+ border-radius: 5px;
336
+ -webkit-border-radius: 5px;
337
+ -moz-border-radius: 5px;
338
+ margin-bottom: 0;
339
+ padding-bottom:0;
340
+ }
341
+ .sidebar-nav > ul > li:not(.nav-header){
342
+ margin-right:-2px;
343
+ margin-left:-2px;
344
+ }
345
+ .brand{
346
+ font-family: 'Shojumaru', cursive, Arial, serif;
347
+ letter-spacing:2px;
348
+ text-shadow:1px 1px 5px rgba(0, 0, 0, 0.5);
349
+ width:166px;
350
+ }
351
+ .brand img{
352
+ float:left;
353
+ height:20px;
354
+ width:20px;
355
+ margin-right:5px;
356
+ }
357
+ .brand span{
358
+ float:left;
359
+ }
360
+ @media (max-width: 979px){
361
+ .sidebar-nav{
362
+ padding:0;
363
+ margin-bottom:0;
364
+ }
365
+ .theme-text{
366
+ display:none;
367
+ }
368
+ }
369
+ @media (min-width: 768px) and (max-width: 979px) {
370
+ .box-icon{
371
+ display:none;
372
+ }
373
+ .box-header h2{
374
+ font-size:13px !important;
375
+ }
376
+ .box-header h3{
377
+ font-size:11px !important;
378
+ }
379
+ .main-menu-span{
380
+ width:6.2% !important;
381
+ margin-right:4%;
382
+ }
383
+ }
384
+
385
+ .navbar-search{
386
+ margin-left:10px;
387
+ }
388
+ .navbar-inner{
389
+ border-radius:0 0 10px 10px;
390
+ -webkit-border-radius:0 0 10px 10px;
391
+ -moz-border-radius:0 0 10px 10px;
392
+ padding-top:5px;
393
+ padding-bottom:5px;
394
+ }
395
+ div.dataTables_length select {
396
+ width: 50px;
397
+ }
398
+ .dataTables_filter input, .dataTables_length select {
399
+ display: inline-block;
400
+ margin-bottom: 0;
401
+ }
402
+ ul.ajax-loaders li{
403
+ display:inline-block;
404
+ list-style:none;
405
+ padding:10px;
406
+ }
407
+ ul.ajax-loaders{
408
+ min-height:80px;
409
+ }
410
+ .bs-icons li{
411
+ list-style:none;
412
+ }
413
+ #for-is-ajax{
414
+ padding-left: 12px;
415
+ cursor:pointer;
416
+ }
417
+ #loading{
418
+ margin-top: 20px;
419
+ width:128px;
420
+ font-weight: bold;
421
+ }
422
+ #loading div.center{
423
+ margin-top:10px;
424
+ height:15px;
425
+ width:128px;
426
+ background:url(../img/ajax-loaders/ajax-loader-6.gif);
427
+ }
428
+
429
+ .box-content .nav-tabs{
430
+ margin-right:-10px;
431
+ margin-left:-10px;
432
+ }
433
+ #inputIcon{
434
+ width:200px;
435
+ }
436
+ .show-grid [class*="span"] {
437
+ background-color: #EDEDED;
438
+ text-align: center;
439
+ -webkit-border-radius: 3px;
440
+ -moz-border-radius: 3px;
441
+ border-radius: 3px;
442
+ min-height: 30px;
443
+ line-height: 30px;
444
+ }
445
+ .show-grid {
446
+ margin-top: 10px;
447
+ margin-bottom: 20px;
448
+ color:black;
449
+ }
450
+ .show-grid:hover [class*="span"] {
451
+ background: #DEDEDE;
452
+ }
453
+ .login-header{
454
+ padding-top:30px;
455
+ height:120px;
456
+ }
457
+ .pull-left{
458
+ float:left !important;
459
+ }
460
+ .pull-right{
461
+ float:right !important;
462
+ }
463
+ .remember{
464
+ margin-top:3px;
465
+ }
466
+ .green {
467
+ color: #458746;
468
+ }
469
+ .red {
470
+ color: #B94846;
471
+ }
472
+ .blue {
473
+ color: #3986AC;
474
+ }
475
+ .yellow {
476
+ color: #F99406;
477
+ }
478
+ .login-box{
479
+
480
+ }
481
+ .login-box .input-prepend{
482
+ margin-bottom: 10px;
483
+ }
484
+ .login-box .btn{
485
+ margin-top:15px;
486
+ width:100%
487
+ }
488
+ .charisma_qr{
489
+ height:136px;
490
+ width:136px;
491
+ border:solid grey 1px;
492
+ border-radius:2px;
493
+ -webkit-border-radius:2px;
494
+ -moz-border-radius:2px;
495
+ box-shadow: 0 0 10px #BDBDBD;
496
+ -webkit-box-shadow: 0 0 10px #BDBDBD;
497
+ -moz-box-shadow: 0 0 10px #BDBDBD;
498
+ }
499
+ .box-content.buttons{
500
+ min-height:297px;
501
+ }