beautiful_scaffold 0.3.6 → 2.0.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +7 -0
- data/.gitattributes +2 -0
- data/.gitignore +2 -0
- data/CHANGELOG +68 -1
- data/Gemfile +24 -17
- data/README.rdoc +56 -44
- data/Rakefile +29 -0
- data/beautiful_scaffold.gemspec +8 -7
- data/lib/beautiful_scaffold/version.rb +3 -0
- data/lib/generators/beautiful_devisecancan_generator.rb +1 -1
- data/lib/generators/beautiful_jointable_generator.rb +40 -7
- data/lib/generators/beautiful_locale_generator.rb +102 -80
- data/lib/generators/beautiful_migration_generator.rb +14 -20
- data/lib/generators/beautiful_scaffold_common_methods.rb +88 -29
- data/lib/generators/beautiful_scaffold_generator.rb +166 -111
- data/lib/generators/templates/app/assets/javascripts/application-bs.js +11 -19
- data/lib/generators/templates/app/assets/javascripts/beautiful_scaffold.js +68 -78
- data/lib/generators/templates/app/assets/javascripts/bootstrap-datetimepicker-for-beautiful-scaffold.js +23 -42
- data/lib/generators/templates/app/assets/javascripts/fixed_menu.js +3 -1
- data/lib/generators/templates/app/assets/javascripts/jstree.min.js +6 -0
- data/lib/generators/templates/app/assets/stylesheets/application-bs.css +14 -12
- data/lib/generators/templates/app/assets/stylesheets/beautiful-scaffold.css.scss +38 -3
- data/lib/generators/templates/app/assets/stylesheets/themes/default-dark/32px.png +0 -0
- data/lib/generators/templates/app/assets/stylesheets/themes/default-dark/40px.png +0 -0
- data/lib/generators/templates/app/assets/stylesheets/themes/default-dark/style.scss +1146 -0
- data/lib/generators/templates/app/assets/stylesheets/themes/default-dark/throbber.gif +0 -0
- data/lib/generators/templates/app/assets/stylesheets/themes/default/32px.png +0 -0
- data/lib/generators/templates/app/assets/stylesheets/themes/default/40px.png +0 -0
- data/lib/generators/templates/app/assets/stylesheets/themes/default/style.scss +1102 -0
- data/lib/generators/templates/app/assets/stylesheets/themes/default/throbber.gif +0 -0
- data/lib/generators/templates/app/controllers/base.rb +31 -14
- data/lib/generators/templates/app/controllers/master_base.rb +55 -47
- data/lib/generators/templates/app/helpers/beautiful_helper.rb +123 -72
- data/lib/generators/templates/app/helpers/model_helper.rb +14 -3
- data/lib/generators/templates/app/initializers/link_renderer.rb +24 -17
- data/lib/generators/templates/app/initializers/ransack.rb +16 -0
- data/lib/generators/templates/app/locales/beautiful_scaffold.ja.yml +50 -0
- data/lib/generators/templates/app/models/concerns/fulltext_concern.rb +10 -10
- data/lib/generators/templates/app/views/_form.html.erb +4 -1
- data/lib/generators/templates/app/views/_form_habtm_tag.html.erb +6 -2
- data/lib/generators/templates/app/views/_mass_inserting.html.erb +40 -31
- data/lib/generators/templates/app/views/_modal_columns.html.erb +4 -4
- data/lib/generators/templates/app/views/edit.html.erb +1 -3
- data/lib/generators/templates/app/views/index.html.erb +84 -58
- data/lib/generators/templates/app/views/layout.html.erb +29 -47
- data/lib/generators/templates/app/views/new.html.erb +0 -2
- data/lib/generators/templates/app/views/partials/_forget_password.html.erb +2 -2
- data/lib/generators/templates/app/views/partials/_form_field.html.erb +7 -33
- data/lib/generators/templates/app/views/partials/_index_batch.html.erb +1 -1
- data/lib/generators/templates/app/views/partials/_index_column.html.erb +4 -6
- data/lib/generators/templates/app/views/partials/_index_header.html.erb +1 -1
- data/lib/generators/templates/app/views/partials/_index_search.html.erb +2 -4
- data/lib/generators/templates/app/views/partials/_index_search_default_fields.html.erb +1 -1
- data/lib/generators/templates/app/views/partials/_register_form.html.erb +2 -2
- data/lib/generators/templates/app/views/partials/_show_field.html.erb +3 -3
- data/lib/generators/templates/app/views/partials/_sign_in_form.html.erb +1 -1
- data/lib/generators/templates/app/views/partials/_sign_in_sign_out.html.erb +2 -2
- data/lib/generators/templates/app/views/show.html.erb +2 -2
- data/lib/generators/templates/app/views/treeview.html.erb +8 -5
- metadata +41 -187
- data/lib/generators/templates/app/assets/javascripts/bootstrap-datepicker.js +0 -834
- data/lib/generators/templates/app/assets/javascripts/bootstrap-timepicker.js +0 -797
- data/lib/generators/templates/app/assets/javascripts/jquery.jstree.js +0 -4551
- data/lib/generators/templates/app/assets/javascripts/jquery.livequery.js +0 -226
- data/lib/generators/templates/app/assets/stylesheets/bootstrap_and_overrides.css.less +0 -40
- data/lib/generators/templates/app/assets/stylesheets/datepicker.css +0 -224
- data/lib/generators/templates/app/assets/stylesheets/reset.css +0 -48
- data/lib/generators/templates/app/assets/stylesheets/themes/default/d.gif +0 -0
- data/lib/generators/templates/app/assets/stylesheets/themes/default/d.png +0 -0
- data/lib/generators/templates/app/assets/stylesheets/themes/default/style.css +0 -74
- data/lib/generators/templates/app/assets/stylesheets/timepicker.css +0 -89
- data/lib/generators/templates/markitup/jquery.markitup.js +0 -593
- data/lib/generators/templates/markitup/sets/bbcode/images/bold.png +0 -0
- data/lib/generators/templates/markitup/sets/bbcode/images/clean.png +0 -0
- data/lib/generators/templates/markitup/sets/bbcode/images/code.png +0 -0
- data/lib/generators/templates/markitup/sets/bbcode/images/fonts.png +0 -0
- data/lib/generators/templates/markitup/sets/bbcode/images/italic.png +0 -0
- data/lib/generators/templates/markitup/sets/bbcode/images/link.png +0 -0
- data/lib/generators/templates/markitup/sets/bbcode/images/list-bullet.png +0 -0
- data/lib/generators/templates/markitup/sets/bbcode/images/list-item.png +0 -0
- data/lib/generators/templates/markitup/sets/bbcode/images/list-numeric.png +0 -0
- data/lib/generators/templates/markitup/sets/bbcode/images/picture.png +0 -0
- data/lib/generators/templates/markitup/sets/bbcode/images/preview.png +0 -0
- data/lib/generators/templates/markitup/sets/bbcode/images/quotes.png +0 -0
- data/lib/generators/templates/markitup/sets/bbcode/images/stroke.png +0 -0
- data/lib/generators/templates/markitup/sets/bbcode/images/underline.png +0 -0
- data/lib/generators/templates/markitup/sets/bbcode/readme.txt +0 -11
- data/lib/generators/templates/markitup/sets/bbcode/set.js +0 -39
- data/lib/generators/templates/markitup/sets/bbcode/style.css +0 -47
- data/lib/generators/templates/markitup/sets/default/images/bold.png +0 -0
- data/lib/generators/templates/markitup/sets/default/images/clean.png +0 -0
- data/lib/generators/templates/markitup/sets/default/images/image.png +0 -0
- data/lib/generators/templates/markitup/sets/default/images/italic.png +0 -0
- data/lib/generators/templates/markitup/sets/default/images/link.png +0 -0
- data/lib/generators/templates/markitup/sets/default/images/list-bullet.png +0 -0
- data/lib/generators/templates/markitup/sets/default/images/list-numeric.png +0 -0
- data/lib/generators/templates/markitup/sets/default/images/picture.png +0 -0
- data/lib/generators/templates/markitup/sets/default/images/preview.png +0 -0
- data/lib/generators/templates/markitup/sets/default/images/stroke.png +0 -0
- data/lib/generators/templates/markitup/sets/default/set.js +0 -30
- data/lib/generators/templates/markitup/sets/default/style.css +0 -34
- data/lib/generators/templates/markitup/sets/html/images/bold.png +0 -0
- data/lib/generators/templates/markitup/sets/html/images/clean.png +0 -0
- data/lib/generators/templates/markitup/sets/html/images/h1.png +0 -0
- data/lib/generators/templates/markitup/sets/html/images/h2.png +0 -0
- data/lib/generators/templates/markitup/sets/html/images/h3.png +0 -0
- data/lib/generators/templates/markitup/sets/html/images/h4.png +0 -0
- data/lib/generators/templates/markitup/sets/html/images/h5.png +0 -0
- data/lib/generators/templates/markitup/sets/html/images/h6.png +0 -0
- data/lib/generators/templates/markitup/sets/html/images/image.png +0 -0
- data/lib/generators/templates/markitup/sets/html/images/italic.png +0 -0
- data/lib/generators/templates/markitup/sets/html/images/link.png +0 -0
- data/lib/generators/templates/markitup/sets/html/images/list-bullet.png +0 -0
- data/lib/generators/templates/markitup/sets/html/images/list-item.png +0 -0
- data/lib/generators/templates/markitup/sets/html/images/list-numeric.png +0 -0
- data/lib/generators/templates/markitup/sets/html/images/paragraph.png +0 -0
- data/lib/generators/templates/markitup/sets/html/images/picture.png +0 -0
- data/lib/generators/templates/markitup/sets/html/images/preview.png +0 -0
- data/lib/generators/templates/markitup/sets/html/images/stroke.png +0 -0
- data/lib/generators/templates/markitup/sets/html/readme.txt +0 -11
- data/lib/generators/templates/markitup/sets/html/set.js +0 -39
- data/lib/generators/templates/markitup/sets/html/style.css +0 -59
- data/lib/generators/templates/markitup/sets/markdown/images/bold.png +0 -0
- data/lib/generators/templates/markitup/sets/markdown/images/code.png +0 -0
- data/lib/generators/templates/markitup/sets/markdown/images/h1.png +0 -0
- data/lib/generators/templates/markitup/sets/markdown/images/h2.png +0 -0
- data/lib/generators/templates/markitup/sets/markdown/images/h3.png +0 -0
- data/lib/generators/templates/markitup/sets/markdown/images/h4.png +0 -0
- data/lib/generators/templates/markitup/sets/markdown/images/h5.png +0 -0
- data/lib/generators/templates/markitup/sets/markdown/images/h6.png +0 -0
- data/lib/generators/templates/markitup/sets/markdown/images/italic.png +0 -0
- data/lib/generators/templates/markitup/sets/markdown/images/link.png +0 -0
- data/lib/generators/templates/markitup/sets/markdown/images/list-bullet.png +0 -0
- data/lib/generators/templates/markitup/sets/markdown/images/list-numeric.png +0 -0
- data/lib/generators/templates/markitup/sets/markdown/images/picture.png +0 -0
- data/lib/generators/templates/markitup/sets/markdown/images/preview.png +0 -0
- data/lib/generators/templates/markitup/sets/markdown/images/quotes.png +0 -0
- data/lib/generators/templates/markitup/sets/markdown/readme.txt +0 -11
- data/lib/generators/templates/markitup/sets/markdown/set.js +0 -52
- data/lib/generators/templates/markitup/sets/markdown/style.css +0 -54
- data/lib/generators/templates/markitup/sets/textile/images/bold.png +0 -0
- data/lib/generators/templates/markitup/sets/textile/images/code.png +0 -0
- data/lib/generators/templates/markitup/sets/textile/images/h1.png +0 -0
- data/lib/generators/templates/markitup/sets/textile/images/h2.png +0 -0
- data/lib/generators/templates/markitup/sets/textile/images/h3.png +0 -0
- data/lib/generators/templates/markitup/sets/textile/images/h4.png +0 -0
- data/lib/generators/templates/markitup/sets/textile/images/h5.png +0 -0
- data/lib/generators/templates/markitup/sets/textile/images/h6.png +0 -0
- data/lib/generators/templates/markitup/sets/textile/images/italic.png +0 -0
- data/lib/generators/templates/markitup/sets/textile/images/link.png +0 -0
- data/lib/generators/templates/markitup/sets/textile/images/list-bullet.png +0 -0
- data/lib/generators/templates/markitup/sets/textile/images/list-numeric.png +0 -0
- data/lib/generators/templates/markitup/sets/textile/images/paragraph.png +0 -0
- data/lib/generators/templates/markitup/sets/textile/images/picture.png +0 -0
- data/lib/generators/templates/markitup/sets/textile/images/preview.png +0 -0
- data/lib/generators/templates/markitup/sets/textile/images/quotes.png +0 -0
- data/lib/generators/templates/markitup/sets/textile/images/stroke.png +0 -0
- data/lib/generators/templates/markitup/sets/textile/readme.txt +0 -11
- data/lib/generators/templates/markitup/sets/textile/set.js +0 -40
- data/lib/generators/templates/markitup/sets/textile/style.css +0 -60
- data/lib/generators/templates/markitup/sets/wiki/images/bold.png +0 -0
- data/lib/generators/templates/markitup/sets/wiki/images/code.png +0 -0
- data/lib/generators/templates/markitup/sets/wiki/images/h1.png +0 -0
- data/lib/generators/templates/markitup/sets/wiki/images/h2.png +0 -0
- data/lib/generators/templates/markitup/sets/wiki/images/h3.png +0 -0
- data/lib/generators/templates/markitup/sets/wiki/images/h4.png +0 -0
- data/lib/generators/templates/markitup/sets/wiki/images/h5.png +0 -0
- data/lib/generators/templates/markitup/sets/wiki/images/h6.png +0 -0
- data/lib/generators/templates/markitup/sets/wiki/images/italic.png +0 -0
- data/lib/generators/templates/markitup/sets/wiki/images/link.png +0 -0
- data/lib/generators/templates/markitup/sets/wiki/images/list-bullet.png +0 -0
- data/lib/generators/templates/markitup/sets/wiki/images/list-numeric.png +0 -0
- data/lib/generators/templates/markitup/sets/wiki/images/picture.png +0 -0
- data/lib/generators/templates/markitup/sets/wiki/images/preview.png +0 -0
- data/lib/generators/templates/markitup/sets/wiki/images/quotes.png +0 -0
- data/lib/generators/templates/markitup/sets/wiki/images/stroke.png +0 -0
- data/lib/generators/templates/markitup/sets/wiki/images/url.png +0 -0
- data/lib/generators/templates/markitup/sets/wiki/readme.txt +0 -11
- data/lib/generators/templates/markitup/sets/wiki/set.js +0 -37
- data/lib/generators/templates/markitup/sets/wiki/style.css +0 -57
- data/lib/generators/templates/markitup/skins/markitup/images/bg-container.png +0 -0
- data/lib/generators/templates/markitup/skins/markitup/images/bg-editor-bbcode.png +0 -0
- data/lib/generators/templates/markitup/skins/markitup/images/bg-editor-dotclear.png +0 -0
- data/lib/generators/templates/markitup/skins/markitup/images/bg-editor-html.png +0 -0
- data/lib/generators/templates/markitup/skins/markitup/images/bg-editor-json.png +0 -0
- data/lib/generators/templates/markitup/skins/markitup/images/bg-editor-markdown.png +0 -0
- data/lib/generators/templates/markitup/skins/markitup/images/bg-editor-textile.png +0 -0
- data/lib/generators/templates/markitup/skins/markitup/images/bg-editor-wiki.png +0 -0
- data/lib/generators/templates/markitup/skins/markitup/images/bg-editor-xml.png +0 -0
- data/lib/generators/templates/markitup/skins/markitup/images/bg-editor.png +0 -0
- data/lib/generators/templates/markitup/skins/markitup/images/handle.png +0 -0
- data/lib/generators/templates/markitup/skins/markitup/images/menu.png +0 -0
- data/lib/generators/templates/markitup/skins/markitup/images/submenu.png +0 -0
- data/lib/generators/templates/markitup/skins/markitup/style.css +0 -147
- data/lib/generators/templates/markitup/skins/simple/images/handle.png +0 -0
- data/lib/generators/templates/markitup/skins/simple/images/menu.png +0 -0
- data/lib/generators/templates/markitup/skins/simple/images/submenu.png +0 -0
- data/lib/generators/templates/markitup/skins/simple/style.css +0 -118
- data/lib/generators/templates/markitup/templates/preview.css +0 -5
- data/lib/generators/templates/markitup/templates/preview.html +0 -11
@@ -1,4 +1,15 @@
|
|
1
1
|
# encoding : utf-8
|
2
|
-
require "beautiful_helper"
|
3
|
-
|
4
|
-
|
2
|
+
require "<%= engine_name %>beautiful_helper"
|
3
|
+
<%
|
4
|
+
if engine_name.blank?
|
5
|
+
b_module = e_module = space_indent = ""
|
6
|
+
else
|
7
|
+
b_module = "module #{engine_camel}"
|
8
|
+
e_module = "end"
|
9
|
+
space_indent = " "
|
10
|
+
end
|
11
|
+
%>
|
12
|
+
<%= b_module %>
|
13
|
+
<%= space_indent %>module <%= namespace_for_class %><%= model_pluralize.camelize %>Helper
|
14
|
+
<%= space_indent %>end
|
15
|
+
<%= e_module %>
|
@@ -1,37 +1,44 @@
|
|
1
|
+
require 'will_paginate/view_helpers/action_view'
|
2
|
+
|
1
3
|
module WillPaginate
|
2
|
-
module
|
3
|
-
|
4
|
-
|
5
|
-
|
4
|
+
module ActionView
|
5
|
+
class BootstrapLinkRenderer < LinkRenderer
|
6
|
+
|
7
|
+
protected
|
6
8
|
|
7
|
-
protected
|
8
|
-
|
9
9
|
def page_number(page)
|
10
|
-
|
11
|
-
|
10
|
+
is_current_page = (page == current_page)
|
11
|
+
temphtml = '<li class="page-item ' + (is_current_page ? 'active' : '') + '">'
|
12
|
+
unless is_current_page
|
13
|
+
temphtml += link(page, page, :rel => rel_value(page), :class => 'page-link')
|
12
14
|
else
|
13
|
-
tag(:a, page, :class => 'current active
|
15
|
+
temphtml += tag(:a, page, :class => 'current active page-link')
|
14
16
|
end
|
17
|
+
temphtml += '</li>'
|
18
|
+
temphtml
|
15
19
|
end
|
16
|
-
|
20
|
+
|
17
21
|
def gap
|
18
22
|
text = @template.will_paginate_translate(:page_gap) { '…' }
|
19
23
|
%(<a class="gap btn btn-default disabled">#{text}</a>)
|
20
24
|
end
|
21
|
-
|
25
|
+
|
22
26
|
def previous_or_next_page(page, text, classname)
|
27
|
+
temphtml = '<li class="page-item">'
|
23
28
|
if page
|
24
|
-
link(text, page, :class => classname + '
|
29
|
+
temphtml += link(text, page, :class => classname + ' page-link')
|
25
30
|
else
|
26
|
-
tag(:a, text, :class => classname + '
|
31
|
+
temphtml += tag(:a, text, :class => classname + ' page-link')
|
27
32
|
end
|
33
|
+
temphtml += '</li>'
|
34
|
+
temphtml
|
28
35
|
end
|
29
|
-
|
36
|
+
|
30
37
|
def html_container(html)
|
31
|
-
html
|
38
|
+
'<ul class="pagination pagination-sm justify-content-end mb-0">' + html + '</ul>'
|
32
39
|
end
|
33
|
-
|
34
|
-
|
40
|
+
|
41
|
+
private
|
35
42
|
|
36
43
|
def param_name
|
37
44
|
@options[:param_name].to_s
|
@@ -0,0 +1,16 @@
|
|
1
|
+
Ransack.configure do |config|
|
2
|
+
|
3
|
+
# Change default search parameter key name.
|
4
|
+
# Default key name is :q
|
5
|
+
config.search_key = :q
|
6
|
+
|
7
|
+
# Raise errors if a query contains an unknown predicate or attribute.
|
8
|
+
# Default is true (do not raise error on unknown conditions).
|
9
|
+
config.ignore_unknown_conditions = false
|
10
|
+
|
11
|
+
# Globally display sort links without the order indicator arrow.
|
12
|
+
# Default is false (sort order indicators are displayed).
|
13
|
+
# This can also be configured individually in each sort link (see the README).
|
14
|
+
config.hide_sort_order_indicators = true
|
15
|
+
|
16
|
+
end
|
@@ -0,0 +1,50 @@
|
|
1
|
+
# encoding : utf-8
|
2
|
+
ja:
|
3
|
+
edit: "更新"
|
4
|
+
editing: "更新:"
|
5
|
+
update: "更新"
|
6
|
+
show: "表示"
|
7
|
+
showing: "表示:"
|
8
|
+
delete: "削除"
|
9
|
+
destroy: "削除"
|
10
|
+
are_you_sure: "続行していいですか?"
|
11
|
+
new: "新規作成"
|
12
|
+
create: "新規作成"
|
13
|
+
listing: "一覧:"
|
14
|
+
filter: "検索"
|
15
|
+
cancel: "キャンセル"
|
16
|
+
export: "エクスポート"
|
17
|
+
search: "検索"
|
18
|
+
sort: "Sort"
|
19
|
+
download: "ダウンロード"
|
20
|
+
"yes": "はい"
|
21
|
+
"no": "いいえ"
|
22
|
+
all: "すべて"
|
23
|
+
back: "戻る"
|
24
|
+
manage: "管理"
|
25
|
+
settrueforattr: "%{attr} を「はい」にする"
|
26
|
+
setfalseforattr: "%{attr} を「いいえ」にする"
|
27
|
+
processing: "実行中"
|
28
|
+
process: "実行"
|
29
|
+
batch: "一括処理"
|
30
|
+
create_success: "%{model} を作成しました。"
|
31
|
+
update_success: "%{model} を更新しました。"
|
32
|
+
greater_than: "以上"
|
33
|
+
smaller_than: "以下"
|
34
|
+
select_columns: "項目選択"
|
35
|
+
treeview: "ツリー表示"
|
36
|
+
profile: "プロファイル"
|
37
|
+
sign_out: "サイン・アウト"
|
38
|
+
sign_in: "サインイン"
|
39
|
+
sign_up: "サイン・アップ"
|
40
|
+
login: "ログイン"
|
41
|
+
remember_me: "ログインを維持する"
|
42
|
+
email: "メールアドレス"
|
43
|
+
password: "パスワード"
|
44
|
+
password_confirmation: "パスワード (確認)"
|
45
|
+
forgot_your_password: "パスワードを忘れましたか?"
|
46
|
+
send_me_reset_password_instructions: "パスワードのリセット方法を送る"
|
47
|
+
register: "登録"
|
48
|
+
search_and_filter: "検索条件"
|
49
|
+
more_options: "追加オプション..."
|
50
|
+
|
@@ -30,18 +30,18 @@ module FulltextConcern
|
|
30
30
|
|
31
31
|
def htmlize(text, type)
|
32
32
|
case type
|
33
|
-
when 'bbcode' then
|
34
|
-
|
35
|
-
|
33
|
+
#when 'bbcode' then
|
34
|
+
# require 'bb-ruby'
|
35
|
+
# html = text.bbcode_to_html
|
36
36
|
when 'html' then
|
37
37
|
html = text
|
38
|
-
when 'textile' then
|
39
|
-
|
40
|
-
when 'markdown' then
|
41
|
-
|
42
|
-
|
43
|
-
when 'wiki' then
|
44
|
-
|
38
|
+
#when 'textile' then
|
39
|
+
# html = RedCloth.new(text).to_html
|
40
|
+
#when 'markdown' then
|
41
|
+
# require 'rdiscount'
|
42
|
+
# html = RDiscount.new(text).to_html
|
43
|
+
#when 'wiki' then
|
44
|
+
# html = WikiCloth::Parser.new({:data => text}).to_html
|
45
45
|
else
|
46
46
|
html
|
47
47
|
end
|
@@ -1,6 +1,6 @@
|
|
1
1
|
<%-
|
2
2
|
strformfor = "@#{singular_table_name}"
|
3
|
-
if
|
3
|
+
if !namespace_alone.blank?
|
4
4
|
strformfor = "[:#{namespace_alone}, @#{singular_table_name} ]"
|
5
5
|
end
|
6
6
|
-%>
|
@@ -17,6 +17,9 @@ end
|
|
17
17
|
<%% end %>
|
18
18
|
<%= render_partial 'app/views/partials/_form_field.html.erb' %><!-- Beautiful_scaffold - AddField - Do not remove -->
|
19
19
|
<div>
|
20
|
+
<%%= link_to <%= namespace_for_route %><%= plural_table_name %>_path, :class => "btn btn-light" do %>
|
21
|
+
<i class="fa fa-chevron-left"></i> <%%= t(:back, :default => "Back") %>
|
22
|
+
<%% end %>
|
20
23
|
<%%= f.submit :class => "btn btn-primary", :data => { :disable_with => t(:saving, :default => "Saving...") } %>
|
21
24
|
</div>
|
22
25
|
<%% end %>
|
@@ -6,17 +6,21 @@
|
|
6
6
|
:linked_model_name => "tag",
|
7
7
|
:plural_linked_model_name => "tags",
|
8
8
|
:namespace_bs => "admin",
|
9
|
+
:engine_bs => "YOUR_ENGINE_OR_EMPTY_STRING",
|
9
10
|
:field_to_search_for_linked_model => "name",
|
11
|
+
:attr_to_show => "caption",
|
10
12
|
:f => f
|
11
13
|
}
|
12
14
|
# Example to put in a _form.html.erb
|
13
15
|
%>
|
14
|
-
<% path_namespace =
|
16
|
+
<% path_namespace = "/" %>
|
17
|
+
<% path_namespace += "#{engine_bs}/" if engine_bs.present? %>
|
18
|
+
<% path_namespace += "/#{namespace_bs}/" if namespace_bs.present? %>
|
15
19
|
|
16
20
|
<div class="form-group">
|
17
21
|
<%= f.label plural_linked_model_name.to_sym, t(plural_linked_model_name.to_sym, :default => plural_linked_model_name.capitalize), :class => "control-label" %>
|
18
22
|
<div>
|
19
|
-
<ul class="bs-tagit" id="<%= model_name %>_<%= linked_model_name %>_ids" name="<%= model_name %>[<%= linked_model_name %>_ids][]" data-url="<%= path_namespace
|
23
|
+
<ul class="bs-tagit" id="<%= model_name %>_<%= linked_model_name %>_ids" name="<%= model_name %>[<%= linked_model_name %>_ids][]" data-url="<%= path_namespace %><%= plural_linked_model_name %>/search_and_filter.json" data-param="q[<%= field_to_search_for_linked_model %>_cont]" data-result="<%= attr_to_show %>">
|
20
24
|
<% begin %>
|
21
25
|
<% for elt in model_class.send(plural_linked_model_name) %>
|
22
26
|
<li data-value="<%= elt.id %>"><%= elt.caption %></li>
|
@@ -1,36 +1,45 @@
|
|
1
|
+
<% model = ("#{(engine.blank? ? '' : "#{engine.camelize}::")}#{model_name.camelize}").constantize %>
|
1
2
|
<% formparams = [] %>
|
2
|
-
<% if
|
3
|
+
<% if !namespace.blank? %>
|
3
4
|
<% formparams << namespace %>
|
4
5
|
<% end %>
|
5
|
-
<% formparams <<
|
6
|
-
|
7
|
-
|
8
|
-
|
9
|
-
|
10
|
-
|
11
|
-
|
12
|
-
|
13
|
-
|
14
|
-
|
15
|
-
|
16
|
-
|
17
|
-
|
18
|
-
|
19
|
-
|
20
|
-
|
21
|
-
|
22
|
-
|
23
|
-
|
24
|
-
|
25
|
-
|
26
|
-
|
27
|
-
|
28
|
-
|
29
|
-
|
30
|
-
|
6
|
+
<% formparams << model.new %>
|
7
|
+
<div class="container-fluid mb-3">
|
8
|
+
<div class="row">
|
9
|
+
<div class="col-md">
|
10
|
+
<div class="card card-body bg-light">
|
11
|
+
<%= form_for formparams, :method => :post, :html => { :class => "form-inline mass-inserting #{(params[:mass_inserting] ? 'setfocus' : '')}" } do |f| %>
|
12
|
+
<%= hidden_field_tag :mass_inserting, true %>
|
13
|
+
<% for col in model_columns %>
|
14
|
+
<div <%= visible_column(model_name, col, 'inline') %> class="form-group mr-sm-2 col-<%= col %>">
|
15
|
+
<%=
|
16
|
+
ar = model.columns_hash[col]
|
17
|
+
if !ar.nil?
|
18
|
+
case ar.type
|
19
|
+
when :integer then
|
20
|
+
if col =~ /.*_id/
|
21
|
+
f.collection_select((col).to_sym, col.camelize.constantize.all, :id, :caption, { :include_blank => true, :selected => (begin params[:q]["#{col}_eq"].to_i rescue '' end) }, {:class => "form-control"})
|
22
|
+
else
|
23
|
+
f.text_field(col.to_sym, :placeholder => t(i18n_translate_path(model_name, col), default: "#{model_name}.#{col}").capitalize, :class => "form-control")
|
24
|
+
end
|
25
|
+
when :boolean then
|
26
|
+
(
|
27
|
+
"<label class='bs-label-ib'>#{f.check_box(col.to_sym, {}, true, false)}#{t(i18n_translate_path(model_name, col), default: "#{model_name}.#{col}").capitalize}</label>".html_safe
|
28
|
+
)
|
29
|
+
else
|
30
|
+
f.text_field(col.to_sym, :placeholder => t(i18n_translate_path(model_name, col), default: "#{model_name}.#{col}").capitalize, :class => "form-control")
|
31
|
+
end
|
32
|
+
else
|
33
|
+
f.collection_select(("#{false ? "#{engine}_" : ''}#{col}_id").to_sym, ("#{(engine.blank? ? '' : "#{engine.camelize}::")}#{col.camelize}").constantize.all, :id, :caption, { :include_blank => true, :selected => (begin params[:q]["#{col}_id_eq"].to_i rescue '' end) }, {:class => "form-control"})
|
34
|
+
end
|
35
|
+
%>
|
36
|
+
</div>
|
37
|
+
<% end %>
|
38
|
+
<div class="form-group">
|
39
|
+
<%= f.submit t(:create, :default => "Create"), :class => "btn btn-outline-secondary", :data => { :disable_with => t(:saving, :default => "Saving...") } %>
|
40
|
+
</div>
|
41
|
+
<% end %>
|
42
|
+
</div>
|
31
43
|
</div>
|
32
|
-
<% end %>
|
33
|
-
<div style="display:inline;">
|
34
|
-
<%= f.submit t(:create, :default => "Create"), :class => "btn btn-default", :data => { :disable_with => t(:saving, :default => "Saving...") } %>
|
35
44
|
</div>
|
36
|
-
|
45
|
+
</div>
|
@@ -2,19 +2,19 @@
|
|
2
2
|
<div class="modal-dialog">
|
3
3
|
<div class="modal-content">
|
4
4
|
<div class="modal-header">
|
5
|
+
<h5 class="modal-title"><%= t(:select_columns, :default => "Select Columns") %></h5>
|
5
6
|
<button type="button" class="close" data-dismiss="modal">×</button>
|
6
|
-
<h3><%= t(:select_columns, :default => "Select Columns") %></h3>
|
7
7
|
</div>
|
8
8
|
<div class="modal-body">
|
9
9
|
<% for field in model_columns %>
|
10
10
|
<label class="checkbox">
|
11
|
-
<input type="checkbox" name="field[]" value="<%= field %>" <%= "checked" if session[
|
11
|
+
<input type="checkbox" name="field[]" value="<%= field %>" <%= "checked" if session['fields'][model_name.to_s].include?(field) %>> <%= t("app.models.#{model_name}.bs_attributes.#{field}", :default => field.capitalize) %>
|
12
12
|
</label><br />
|
13
13
|
<% end %>
|
14
14
|
</div>
|
15
15
|
<div class="modal-footer">
|
16
|
-
<button type="button" class="btn btn-primary" id="filter-columns" data-url="
|
17
|
-
<button type="button" class="btn btn-
|
16
|
+
<button type="button" class="btn btn-primary" id="filter-columns" data-url="<%= select_fields_url(model_name) %>">Ok</button>
|
17
|
+
<button type="button" class="btn btn-light" id="cancel-filter-columns"><%= t(:cancel, :default => "Cancel") %></button>
|
18
18
|
</div>
|
19
19
|
</div>
|
20
20
|
</div>
|
@@ -1,5 +1,3 @@
|
|
1
1
|
<h2><%%= t(:editing, :default => 'Editing') %> <%%= <%= i18n_t_m(singular_table_name) %> %></h2>
|
2
2
|
|
3
|
-
<%%= render 'form' %>
|
4
|
-
|
5
|
-
<%%= link_to t(:back, :default => "Back"), <%= namespace_for_route %><%= plural_table_name %>_path, :class => "btn btn-default" %>
|
3
|
+
<%%= render 'form' %>
|
@@ -1,50 +1,75 @@
|
|
1
|
-
<
|
2
|
-
|
3
|
-
<
|
4
|
-
|
5
|
-
|
6
|
-
|
7
|
-
|
8
|
-
|
1
|
+
<div class="container-fluid">
|
2
|
+
<div class="row">
|
3
|
+
<div class="col-md">
|
4
|
+
<h2 class="title-index"><%%= t(:listing, :default => "Listing") %> <%%= <%= i18n_t_m_p(singular_table_name) %> %></h2>
|
5
|
+
<p>
|
6
|
+
<%%= link_to '<i class="fa fa-plus"></i> '.html_safe + t(:new, :default => "New") + ' ' + <%= i18n_t_m(model) %>, new_<%= namespace_for_route %><%= singular_table_name %>_path, :class => "btn btn-outline-secondary" %>
|
7
|
+
<%% if <%= model_with_engine_camelize %>.columns.map(&:name).include?("<%= model %>_id") %>
|
8
|
+
<%%= link_to '<i class="fa fa-folder-close"></i> '.html_safe + t(:treeview, :default => "Treeview") + ' ' + <%= i18n_t_m(model) %>, treeview_<%= namespace_for_route %><%= model_pluralize %>_path, :class => "btn btn-outline-secondary" %>
|
9
|
+
<%% end %>
|
10
|
+
</p>
|
11
|
+
</div>
|
12
|
+
</div>
|
13
|
+
</div>
|
9
14
|
|
10
|
-
<%%= render :partial => "layouts/mass_inserting", :locals => { :namespace => '<%= namespace_alone %>', :model_name => '<%= model %>', :model_columns => [<%= attributes.map{ |e| "'#{e.name}'" }.join(',') %>] } %>
|
15
|
+
<%%= render :partial => "layouts/mass_inserting", :locals => { :engine => '<%= engine_opt %>', :namespace => '<%= namespace_alone %>', :model_name => '<%= model %>', :model_columns => [<%= attributes.map{ |e| "'#{e.name}'" }.join(',') %>] } %>
|
11
16
|
|
12
17
|
<%%# Set your scopes below (string in array) %>
|
13
18
|
<%% scopes = [] %>
|
14
|
-
<%% if
|
15
|
-
<div class="
|
16
|
-
<div class="
|
17
|
-
|
18
|
-
|
19
|
-
|
20
|
-
|
19
|
+
<%% if !scopes.blank? %>
|
20
|
+
<div class="container-fluid mb-3" id="scopes-div" data-present-title="<%%= t(:help_scope, :default => "Filter by scope") %>" data-present-description="<%%= t(:help_scope_description, :default => "Filter by scope") %>" data-present-order="1">
|
21
|
+
<div class="row">
|
22
|
+
<div class="col-md btn-toolbar">
|
23
|
+
<div class="btn-group">
|
24
|
+
<%%= link_to "All (#{@<%= model %>_scope_for_scope.count})", <%= namespace_for_route %><%= plural_table_name %>_path(:scope => ""), :class => "btn btn-outline-secondary #{((session[:scope][:<%= model %>].to_s == '') ? 'active' : '')}" %>
|
25
|
+
<%% for scope in scopes %>
|
26
|
+
<%%= link_to "#{scope} (#{@<%= model %>_scope_for_scope.send(scope).count})", <%= namespace_for_route %><%= plural_table_name %>_path(:scope => scope), :class => "btn btn-outline-secondary #{((session[:scope][:<%= model %>].to_s == scope) ? 'active' : '')}" %>
|
27
|
+
<%% end %>
|
28
|
+
</div>
|
29
|
+
</div>
|
21
30
|
</div>
|
22
31
|
</div>
|
23
32
|
<%% end %>
|
24
33
|
|
34
|
+
<div class="container-fluid">
|
25
35
|
<div class="row">
|
26
36
|
<div class="col-md-9">
|
27
|
-
<%%= form_tag batch_<%= namespace_for_route %><%= plural_table_name %>_path
|
28
|
-
<div class="
|
29
|
-
<
|
37
|
+
<%%= form_tag batch_<%= namespace_for_route %><%= plural_table_name %>_path do %>
|
38
|
+
<div class="card card-body bg-light mb-3">
|
39
|
+
<div class="row">
|
40
|
+
<div class="form-inline col-md" id="batch-div" data-present-title="<%%= t(:help_batch, :default => "Batch processing") %>" data-present-description="<%%= t(:help_batch_description, :default => "Batch processing description") %>" data-present-order="2">
|
41
|
+
<label class="control-label mb-2 mr-sm-2" for="select01"><%%= t(:batch, :default => "Batch") %></label>
|
30
42
|
|
31
|
-
|
32
|
-
|
33
|
-
|
34
|
-
|
35
|
-
|
36
|
-
|
43
|
+
<select id="select01" name="actionprocess" class="custom-select mb-2 mr-sm-2">
|
44
|
+
<option value="destroy"><%%= t(:destroy, :default => "Destroy") %></option>
|
45
|
+
<option value="touch"><%%= t(:touch, :default => "Touch") %></option>
|
46
|
+
<%= render_partial 'app/views/partials/_index_batch.html.erb' %>
|
47
|
+
<!-- Beautiful_scaffold - AddField - Batch - Do not remove -->
|
48
|
+
</select>
|
49
|
+
<button class="btn btn-outline-secondary mb-2 mr-sm-2" type="submit"><i class="fa fa-ok"></i> <%%= t(:process, :default => "Process") %></button>
|
50
|
+
</div>
|
51
|
+
<div class="col-md">
|
52
|
+
<a class="btn btn-xs btn-light float-right" id="hide-search-btn">
|
53
|
+
<i class="fa fa-caret-right"></i>
|
54
|
+
<i class="fa fa-caret-right"></i>
|
55
|
+
</a>
|
56
|
+
<a class="btn btn-xs btn-light float-right" id="show-search-btn">
|
57
|
+
<i class="fa fa-caret-left"></i>
|
58
|
+
<i class="fa fa-caret-left"></i>
|
59
|
+
</a>
|
60
|
+
</div>
|
61
|
+
</div>
|
37
62
|
</div>
|
38
63
|
|
39
|
-
<%%= render :partial => "layouts/modal_columns", :locals => { :model_name => "<%= singular_table_name %>", :model_columns => [<%= (attributes.map{ |e| "'#{e.name}'" }.to_a + ["'created_at'", "'updated_at'"]).join(',') %>] } %>
|
64
|
+
<%%= render :partial => "layouts/modal_columns", :locals => { :engine_name => '<%= engine_opt %>', :model_name => "<%= singular_table_name %>", :model_columns => [<%= (attributes.map{ |e| "'#{e.name}'" }.to_a + ["'created_at'", "'updated_at'"]).join(',') %>] } %>
|
40
65
|
|
41
|
-
<table class="table table-striped table-bordered table-
|
66
|
+
<table class="table table-striped table-bordered table-sm">
|
42
67
|
<thead>
|
43
68
|
<tr>
|
44
69
|
<th class="ac">
|
45
70
|
<a class="" data-toggle="modal" href="#modal-columns" title="<%%= t(:select_columns, :default => "Select Columns") %>" ><i class="fa fa-th-list"></i></a>
|
46
71
|
</th>
|
47
|
-
<th>
|
72
|
+
<th id="checkall-div" data-present-title="<%%= t(:help_checkall, :default => "Check all elements") %>" data-present-description="<%%= t(:help_checkall_description, :default => "Check all elements visible on the page") %>" data-present-order="3">
|
48
73
|
<%%= check_box_tag :checkall, '' %>
|
49
74
|
</th>
|
50
75
|
<%= render_partial 'app/views/partials/_index_header.html.erb' %>
|
@@ -56,7 +81,7 @@
|
|
56
81
|
<%%= sorting_header("<%= singular_table_name %>", "updated_at", "<%= namespace_alone %>") %>
|
57
82
|
</th>
|
58
83
|
<th colspan="3">
|
59
|
-
<label class="checkbox">
|
84
|
+
<label class="checkbox mb-0" id="checkallall-div" data-present-title="<%%= t(:help_checkallall, :default => "Check all elements") %>" data-present-description="<%%= t(:help_checkallall_description, :default => "Check all elements, that match current filter even if they are not visible on the page") %>" data-present-order="4">
|
60
85
|
<%%= check_box_tag :checkallelt, 'all' %>
|
61
86
|
<%%= pluralize(@<%= singular_table_name %>_scope.count, <%= i18n_t_m(singular_table_name) %>, <%= i18n_t_m_p(singular_table_name) %>) %>
|
62
87
|
</label>
|
@@ -76,7 +101,7 @@
|
|
76
101
|
<%%= l(<%= singular_table_name %>.updated_at, :format => :long) %>
|
77
102
|
</td>
|
78
103
|
<td class="ac am"><%%= link_to '<i class="fa fa-search"></i>'.html_safe, <%= namespace_for_route %><%= singular_table_name %>_path(<%= singular_table_name %>), :title => t(:show, :default => "Show") %></td>
|
79
|
-
<td class="ac am"><%%= link_to '<i class="fa fa-
|
104
|
+
<td class="ac am"><%%= link_to '<i class="fa fa-edit"></i>'.html_safe, edit_<%= namespace_for_route %><%= singular_table_name %>_path(<%= singular_table_name %>), :title => t(:edit, :default => "Edit") %></td>
|
80
105
|
<td class="ac am"><%%= link_to '<i class="fa fa-times"></i>'.html_safe, <%= namespace_for_route %><%= singular_table_name %>_path(<%= singular_table_name %>), :data => { :confirm => t(:are_you_sure, :default => "Are you sure?") }, :method => :delete, :title => t(:destroy, :default => "Destroy") %></td>
|
81
106
|
</tr>
|
82
107
|
<%% end %>
|
@@ -90,45 +115,46 @@
|
|
90
115
|
:inner_window => 0,
|
91
116
|
:outer_window => 0,
|
92
117
|
:previous_label => t(:prev, :default => "Previous"),
|
93
|
-
:next_label => t(:next, :default => "Next")
|
118
|
+
:next_label => t(:next, :default => "Next"),
|
119
|
+
:renderer => WillPaginate::ActionView::BootstrapLinkRenderer
|
120
|
+
%>
|
94
121
|
|
95
122
|
</div>
|
96
|
-
<div class="btn-group
|
97
|
-
<%%= link_to '<i class="fa fa-download"></i> CSV'.html_safe, <%= namespace_for_route %><%= plural_table_name %>_path(:format => :csv), :class => "btn btn-
|
98
|
-
<%%= link_to '<i class="fa fa-download"></i> XML'.html_safe, <%= namespace_for_route %><%= plural_table_name %>_path(:format => :xml), :class => "btn btn-
|
99
|
-
<%%= link_to '<i class="fa fa-download"></i> JSON'.html_safe, <%= namespace_for_route %><%= plural_table_name %>_path(:format => :json), :class => "btn btn-
|
100
|
-
<%%= link_to '<i class="fa fa-download"></i> PDF'.html_safe, <%= namespace_for_route %><%= plural_table_name %>_path(:format => :pdf), :class => "btn btn-
|
123
|
+
<div class="btn-group btn-group-sm float-right">
|
124
|
+
<%%= link_to '<i class="fa fa-download"></i> CSV'.html_safe, <%= namespace_for_route %><%= plural_table_name %>_path(:format => :csv), :class => "btn btn-outline-secondary" %>
|
125
|
+
<%%= link_to '<i class="fa fa-download"></i> XML'.html_safe, <%= namespace_for_route %><%= plural_table_name %>_path(:format => :xml), :class => "btn btn-outline-secondary" %>
|
126
|
+
<%%= link_to '<i class="fa fa-download"></i> JSON'.html_safe, <%= namespace_for_route %><%= plural_table_name %>_path(:format => :json), :class => "btn btn-outline-secondary" %>
|
127
|
+
<%%= link_to '<i class="fa fa-download"></i> PDF'.html_safe, <%= namespace_for_route %><%= plural_table_name %>_path(:format => :pdf), :class => "btn btn-outline-secondary" %>
|
101
128
|
</div>
|
102
129
|
</div>
|
103
130
|
<%% end %>
|
104
131
|
</div>
|
105
132
|
<div class="col-md-3">
|
106
|
-
<%%= search_form_for @q, :url => <%= namespace_for_route + 'search_' + model_pluralize + '_path' %>, :html => { :class => "
|
107
|
-
|
108
|
-
<
|
109
|
-
|
110
|
-
<%= render_partial 'app/views/partials/_index_search.html.erb' %>
|
111
|
-
|
112
|
-
|
113
|
-
|
114
|
-
|
115
|
-
|
116
|
-
|
117
|
-
|
118
|
-
|
119
|
-
|
120
|
-
|
121
|
-
|
122
|
-
|
123
|
-
|
133
|
+
<%%= search_form_for @q, :url => <%= namespace_for_route + 'search_' + model_pluralize + '_path' %>, :html => { :class => "card bg-light mb-3 search-and-filter" }, :method => :post do |f| %>
|
134
|
+
<div class="card-header"><%%= t("search_and_filter", :default => "Search & filter") %></div>
|
135
|
+
<div class="card-body">
|
136
|
+
<div class="card-text">
|
137
|
+
<%= render_partial 'app/views/partials/_index_search.html.erb' %>
|
138
|
+
<!-- Beautiful_scaffold - AddField - Search - Do not remove -->
|
139
|
+
<div class="panel-group">
|
140
|
+
<div class="panel panel-default">
|
141
|
+
<div class="panel-heading">
|
142
|
+
<a class="badge badge-light accordion-toggle" data-toggle="collapse-next">
|
143
|
+
<%%= t(:more_options, :default => "More options...") %>
|
144
|
+
</a>
|
145
|
+
</div>
|
146
|
+
<div class="panel-collapse collapse">
|
147
|
+
<div class="panel-body">
|
148
|
+
<%= render_partial 'app/views/partials/_index_search_default_fields.html.erb' %>
|
149
|
+
</div>
|
150
|
+
</div>
|
124
151
|
</div>
|
125
152
|
</div>
|
153
|
+
<%%= f.submit t(:filter, :default => "Filter"), :class => "btn btn-primary btn-sm btn-block" %>
|
154
|
+
<%%= link_to t(:cancel, :default => "Cancel"), <%= namespace_for_route %><%= model_pluralize %>_path(:nosearch => "ok"), :class => "btn btn-light btn-sm btn-block" %>
|
126
155
|
</div>
|
127
156
|
</div>
|
128
|
-
|
129
|
-
|
130
|
-
<%%= f.submit t(:filter, :default => "Filter"), :class => "btn btn-primary" %>
|
131
|
-
<%%= link_to t(:cancel, :default => "Cancel"), <%= namespace_for_route %><%= model_pluralize %>_path(:nosearch => "ok"), :class => "btn btn-default" %>
|
132
157
|
<%% end %>
|
133
158
|
</div>
|
134
159
|
</div>
|
160
|
+
</div>
|