repres-bootstrap 1.10.2 → 1.11
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/README.md +3 -3
- data/lib/generators/repres/bootstrap/platform/platform_generator.rb +7 -2
- data/lib/generators/repres/bootstrap/platform/templates/app/views/layouts/platform.html.erb.erb +20 -1
- data/lib/generators/repres/bootstrap/platform/templates/app/views/shared/_alert.html.erb +17 -0
- data/lib/generators/repres/bootstrap/platform/templates/app/views/shared/_footer.html.erb +62 -0
- data/lib/generators/repres/bootstrap/platform/templates/app/views/shared/_header.html.erb +8 -0
- data/lib/generators/repres/bootstrap/platform/templates/app/views/shared/_navigation_bar.html.erb +32 -0
- data/lib/generators/repres/bootstrap/platform/templates/app/views/shared/_side_menu.html.erb +6 -0
- data/lib/generators/repres/bootstrap/scaffold/USAGE +17 -0
- data/lib/generators/repres/bootstrap/scaffold/scaffold_generator.rb +61 -0
- data/lib/generators/repres/bootstrap/scaffold/templates/_form.html.erb +19 -0
- data/lib/generators/repres/bootstrap/scaffold/templates/controller.rb +70 -0
- data/lib/generators/repres/bootstrap/scaffold/templates/edit.html.erb +23 -0
- data/lib/generators/repres/bootstrap/scaffold/templates/index.html.erb +50 -0
- data/lib/generators/repres/bootstrap/scaffold/templates/new.html.erb +22 -0
- data/lib/generators/repres/bootstrap/scaffold/templates/show.html.erb +28 -0
- data/lib/repres/bootstrap/template.rb +11 -0
- data/lib/repres/bootstrap/version.rb +1 -1
- metadata +16 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 6aaa323c4d9b761a61804667839853879eadc1fe
|
4
|
+
data.tar.gz: 609548a41a1126ae0186a3d71ed9f7058f0243ae
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 042cc7aa8cda4a6688eb0924e6f6da6679784d44335a356975258e53935655d8ba4bc20e7fb4c9ecb92163b4f950084df0321a095af2783a43b8e374cfa1c5d6
|
7
|
+
data.tar.gz: 4e9a10cdcdaa87644d2d36ca8f49dc63be33d05daaec9767e4ea6fc58c761d71d9af02a197781404683c2839d02ddcca6314000a2a8bfeefd8165eae87fa9c45
|
data/README.md
CHANGED
@@ -29,8 +29,8 @@ gem 'repres-bootstrap'
|
|
29
29
|
## Include the Helper in your Application Controller before Render the Style or Script with the helper methods
|
30
30
|
|
31
31
|
```ruby
|
32
|
-
|
33
|
-
|
32
|
+
helper Repres::Bootstrap::ApplicationHelper
|
33
|
+
helper Repres::Bootstrap::FormHelper
|
34
34
|
```
|
35
35
|
|
36
36
|
|
@@ -274,7 +274,7 @@ rails generate repres:bootstrap:platform administration --version 4
|
|
274
274
|
This will insert the following routings into the config/routes.rb file:
|
275
275
|
```ruby
|
276
276
|
namespace :administration do
|
277
|
-
namespace :
|
277
|
+
namespace :v4 do
|
278
278
|
resources :dashboards, only: :show
|
279
279
|
end
|
280
280
|
end
|
@@ -122,8 +122,13 @@ class Repres::Bootstrap::PlatformGenerator < Rails::Generators::NamedBase
|
|
122
122
|
empty_directory 'app/views/shared'
|
123
123
|
empty_directory "app/views/#{@platform_name}/#{@version_name}"
|
124
124
|
empty_directory "app/views/#{@platform_name}/#{@version_name}/shared"
|
125
|
-
template 'app/views/shared/_script.html.erb',
|
126
|
-
template 'app/views/shared/_style.html.erb',
|
125
|
+
template 'app/views/shared/_script.html.erb', "app/views/#{@platform_name}/#{@version_name}/shared/_script.html.erb"
|
126
|
+
template 'app/views/shared/_style.html.erb', "app/views/#{@platform_name}/#{@version_name}/shared/_style.html.erb"
|
127
|
+
template 'app/views/shared/_alert.html.erb', "app/views/#{@platform_name}/#{@version_name}/shared/_alert.html.erb"
|
128
|
+
template 'app/views/shared/_header.html.erb', "app/views/#{@platform_name}/#{@version_name}/shared/_header.html.erb"
|
129
|
+
template 'app/views/shared/_footer.html.erb', "app/views/#{@platform_name}/#{@version_name}/shared/_footer.html.erb"
|
130
|
+
template 'app/views/shared/_navigation_bar.html.erb', "app/views/#{@platform_name}/#{@version_name}/shared/_navigation_bar.html.erb"
|
131
|
+
template 'app/views/shared/_side_menu.html.erb', "app/views/#{@platform_name}/#{@version_name}/shared/_side_menu.html.erb"
|
127
132
|
end
|
128
133
|
|
129
134
|
# view_layout
|
data/lib/generators/repres/bootstrap/platform/templates/app/views/layouts/platform.html.erb.erb
CHANGED
@@ -17,9 +17,28 @@
|
|
17
17
|
<%%= csrf_meta_tags %>
|
18
18
|
|
19
19
|
</head>
|
20
|
+
|
20
21
|
<body>
|
21
22
|
|
22
|
-
|
23
|
+
<div class="jumbotron"><div class="container"><%%= render partial: 'shared/header' %></div></div>
|
24
|
+
<div class="container"><%%= render partial: 'shared/navigation_bar' %></div>
|
25
|
+
|
26
|
+
<div class="container">
|
27
|
+
|
28
|
+
<aside class="col-xs-12 col-lg-3"><%%= render partial: 'shared/side_menu' %></aside>
|
29
|
+
|
30
|
+
<main class="col-xs-12 col-lg-9">
|
31
|
+
|
32
|
+
<div><%%= render partial: 'shared/alert' %></div>
|
33
|
+
<div class="page-header"><h1 class="page-header"><%%= params[:controller].classify.constantize.model_name.human %><%%= t "scaffold.action.#{params[:action]}" %></h1></div>
|
34
|
+
|
35
|
+
<%%= yield %>
|
36
|
+
|
37
|
+
</main>
|
38
|
+
|
39
|
+
</div>
|
40
|
+
|
41
|
+
<div class="jumbotron"><div class="container"><%%= render partial: 'shared/footer' %></div></div>
|
23
42
|
|
24
43
|
<%%= hyper_text_script jquery: true, modernizr: true %>
|
25
44
|
<%%= bootstrap_script :bootstrap => true, :'bootstrap-datepicker' => true, :'bootstrap-fileinput' => true, :'bootstrap-table' => true, :buttons => true %>
|
@@ -0,0 +1,17 @@
|
|
1
|
+
<%% if alert.present? %>
|
2
|
+
<div class="alert alert-danger alert-dismissible" role="alert">
|
3
|
+
<button type="button" class="close" data-dismiss="alert" aria-label="关闭">
|
4
|
+
<i class="fa fa-close"></i>
|
5
|
+
</button>
|
6
|
+
<strong>注意:</strong> <%%= alert %>
|
7
|
+
</div>
|
8
|
+
<%% end %>
|
9
|
+
|
10
|
+
<%% if notice.present? %>
|
11
|
+
<div class="alert alert-success alert-dismissible" role="alert">
|
12
|
+
<button type="button" class="close" data-dismiss="alert" aria-label="关闭">
|
13
|
+
<i class="fa fa-close"></i>
|
14
|
+
</button>
|
15
|
+
<strong>成功:</strong> <%%= notice %>
|
16
|
+
</div>
|
17
|
+
<%% end %>
|
@@ -0,0 +1,62 @@
|
|
1
|
+
<footer class="row">
|
2
|
+
<ul class="us">
|
3
|
+
<li class="col-xs-3">
|
4
|
+
<h3>单位</h3>
|
5
|
+
<ul class="list">
|
6
|
+
<li><a href="/about_us" target="_blank">关于我们</a></li>
|
7
|
+
<li><a href="/org" target="_blank">组织结构</a></li>
|
8
|
+
</ul>
|
9
|
+
</li>
|
10
|
+
<li class="col-xs-3">
|
11
|
+
<h3>支持</h3>
|
12
|
+
<ul class="list">
|
13
|
+
<li><a href="/help" target="_blank">帮助中心</a></li>
|
14
|
+
<li><a href="/feedback" target="_blank">在线反馈</a></li>
|
15
|
+
</ul>
|
16
|
+
</li>
|
17
|
+
<li class="col-xs-3">
|
18
|
+
<h3>联系我们</h3>
|
19
|
+
<ul class="list">
|
20
|
+
<li><a href="tel:4006666666">400-666-6666</a></li>
|
21
|
+
<li><a href="mailto:support@6666.com">support@6666.com</a></li>
|
22
|
+
<li><address>四川省 成都市 高新区</address></li>
|
23
|
+
<li>成都 | 北京 | 上海 | 广州 | 深圳 | 重庆 | 大连 | 西安 | 武汉 </li>
|
24
|
+
<!--
|
25
|
+
<li>
|
26
|
+
<div class="share" style="padding-top: 15px;">
|
27
|
+
<div class="wechat">
|
28
|
+
<img class="share-img" id="wechat" src="https://dn-coding-net-production-static.qbox.me/static/66e6c7fa419f064ad521e645f1d9e399.png">
|
29
|
+
<div class="dropdown up">
|
30
|
+
<img src="https://dn-coding-net-production-static.qbox.me/static/fcdf6ecd90f6022d143a5e06fbe391b8.jpg" alt="Coding 微信公众号二维码">
|
31
|
+
</div>
|
32
|
+
</div>
|
33
|
+
<a href="http://weibo.com/n/coding" target="_blank" style="padding-left: 20px;">
|
34
|
+
<img class="share-img" src="https://dn-coding-net-production-static.qbox.me/static/1ce58933cb197c1f0d08eaa090469895.png">
|
35
|
+
</a>
|
36
|
+
</div>
|
37
|
+
</li>
|
38
|
+
-->
|
39
|
+
</ul>
|
40
|
+
</li>
|
41
|
+
</ul>
|
42
|
+
|
43
|
+
<div class="record col-xs-3">
|
44
|
+
<div class="record_img_info">
|
45
|
+
<!--
|
46
|
+
<a href="/index"><img src="https://dn-coding-net-production-static.qbox.me/static/47572b5d56a0c76fa79c25c0a08776e2.png" style="position: absolute;" width="353" height="36"></a>
|
47
|
+
-->
|
48
|
+
<div class="record_info">
|
49
|
+
<p>
|
50
|
+
<a href="/privacy" target="_blank">隐私策略</a> |
|
51
|
+
<a href="/terms" target="_blank">服务条款</a> |
|
52
|
+
<a href="/security" target="_blank">安全策略</a>
|
53
|
+
</p>
|
54
|
+
<p>
|
55
|
+
<a href="/">© 2017 </a> |
|
56
|
+
<a href="http://www.miitbeian.gov.cn/" target="_blank">蜀ICP备16666666号-1</a>
|
57
|
+
</p>
|
58
|
+
</div>
|
59
|
+
</div>
|
60
|
+
</div>
|
61
|
+
|
62
|
+
</footer>
|
data/lib/generators/repres/bootstrap/platform/templates/app/views/shared/_navigation_bar.html.erb
ADDED
@@ -0,0 +1,32 @@
|
|
1
|
+
<nav class="navbar navbar-default">
|
2
|
+
<div class="container-fluid">
|
3
|
+
|
4
|
+
<div class="navbar-header">
|
5
|
+
<button type="button" class="navbar-toggle collapsed" data-toggle="collapse" data-target="#navbar-collapse-desktop" aria-expanded="false">
|
6
|
+
<span class="sr-only">切换导航条</span>
|
7
|
+
<i class="fa fa-bars"></i>
|
8
|
+
</button>
|
9
|
+
<a class="navbar-brand" href="/">主页</a>
|
10
|
+
</div>
|
11
|
+
|
12
|
+
<div class="collapse navbar-collapse" id="navbar-collapse-desktop">
|
13
|
+
<ul class="nav navbar-nav">
|
14
|
+
<li role="presentation" class="active"><a href="#">Menu #1<span class="sr-only">当前</span></a></li>
|
15
|
+
<li role="presentation"><a href="#">Menu #2</a></li>
|
16
|
+
<li class="dropdown">
|
17
|
+
<a href="#" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-haspopup="true" aria-expanded="false">Dropdown <i class="fa fa-caret-down"></i></a>
|
18
|
+
<ul class="dropdown-menu">
|
19
|
+
<li><a href="#">Action</a></li>
|
20
|
+
<li><a href="#">Another action</a></li>
|
21
|
+
<li><a href="#">Something else here</a></li>
|
22
|
+
<li role="separator" class="divider"></li>
|
23
|
+
<li><a href="#">Separated link</a></li>
|
24
|
+
<li role="separator" class="divider"></li>
|
25
|
+
<li><a href="#">One more separated link</a></li>
|
26
|
+
</ul>
|
27
|
+
</li>
|
28
|
+
</ul>
|
29
|
+
</div>
|
30
|
+
|
31
|
+
</div>
|
32
|
+
</nav>
|
@@ -0,0 +1,17 @@
|
|
1
|
+
Description:
|
2
|
+
|
3
|
+
Generate the UI resource scaffold for the Bootstrap framework.
|
4
|
+
|
5
|
+
Example:
|
6
|
+
|
7
|
+
rails generate repres:bootstrap:scaffold role --platform administration --version 3 --model Unidom::Party::Person
|
8
|
+
|
9
|
+
This will create:
|
10
|
+
controller, view inside the namespace
|
11
|
+
The model and the migration won't be created, the Unidom models and migrations will be re-used
|
12
|
+
|
13
|
+
rails generate repres:bootstrap:scaffold role --platform administration --version 3 name:string description:text
|
14
|
+
|
15
|
+
This will create:
|
16
|
+
controller, view inside the namespace
|
17
|
+
model, migration outside the namespace
|
@@ -0,0 +1,61 @@
|
|
1
|
+
require "rails/generators/erb"
|
2
|
+
require "rails/generators/resource_helpers"
|
3
|
+
|
4
|
+
# TODO
|
5
|
+
# 1. Header
|
6
|
+
# 2. Footer
|
7
|
+
# 3. Side Menu
|
8
|
+
class Repres::Bootstrap::ScaffoldGenerator < Rails::Generators::NamedBase
|
9
|
+
|
10
|
+
include Rails::Generators::ResourceHelpers
|
11
|
+
|
12
|
+
source_root File.expand_path('../templates', __FILE__)
|
13
|
+
argument :attributes, type: :array, default: [], banner: "field:type field:type"
|
14
|
+
|
15
|
+
# controllers start
|
16
|
+
|
17
|
+
check_class_collision suffix: "Controller"
|
18
|
+
|
19
|
+
class_option :helper, type: :boolean
|
20
|
+
class_option :orm, banner: "NAME", type: :string, required: true,
|
21
|
+
desc: "ORM to generate the controller for"
|
22
|
+
|
23
|
+
# controllers end
|
24
|
+
|
25
|
+
# views start
|
26
|
+
|
27
|
+
def create_root_folder
|
28
|
+
empty_directory File.join("app/views", controller_file_path)
|
29
|
+
end
|
30
|
+
|
31
|
+
def copy_view_files
|
32
|
+
available_views.each do |view|
|
33
|
+
[ :html ].each do |format|
|
34
|
+
filename = "#{view}.#{format}.erb" #filename_with_extensions(view, format)
|
35
|
+
template filename, File.join("app/views", controller_file_path, filename)
|
36
|
+
end
|
37
|
+
end
|
38
|
+
end
|
39
|
+
|
40
|
+
# views end
|
41
|
+
|
42
|
+
# controllers start
|
43
|
+
|
44
|
+
def create_controller_files
|
45
|
+
template_file = "controller.rb"
|
46
|
+
template template_file, File.join("app/controllers", controller_class_path, "#{controller_file_name}_controller.rb")
|
47
|
+
end
|
48
|
+
|
49
|
+
# controllers end
|
50
|
+
|
51
|
+
# views start
|
52
|
+
|
53
|
+
def available_views
|
54
|
+
%w(index edit show new _form)
|
55
|
+
end
|
56
|
+
|
57
|
+
# views end
|
58
|
+
|
59
|
+
protected :available_views
|
60
|
+
|
61
|
+
end
|
@@ -0,0 +1,19 @@
|
|
1
|
+
<%%= form_for(<%= singular_table_name %>) do |f| %>
|
2
|
+
|
3
|
+
<% attributes.each do |attribute| -%>
|
4
|
+
<%
|
5
|
+
field_type = case attribute.type
|
6
|
+
when :string then :text_field
|
7
|
+
when :text then :text_area
|
8
|
+
when :date then :date_picker
|
9
|
+
else :text_field
|
10
|
+
end
|
11
|
+
%>
|
12
|
+
<%%= bootstrap_form_field model: <%= singular_table_name %>, form: f, name: :<%= attribute.name %>, type: :<%= field_type %> %>
|
13
|
+
<% end -%>
|
14
|
+
|
15
|
+
<div class="actions">
|
16
|
+
<%%= f.button type: :submit, class: 'btn btn-primary' do %><i class="fa fa-floppy-o fa-lg"></i> <%%= t 'scaffold.action.save' %><%% end %>
|
17
|
+
</div>
|
18
|
+
|
19
|
+
<%% end %>
|
@@ -0,0 +1,70 @@
|
|
1
|
+
<% if namespaced? -%>
|
2
|
+
require_dependency "<%= namespaced_path %>/application_controller"
|
3
|
+
<% end -%>
|
4
|
+
<% module_namespacing do -%>
|
5
|
+
class <%= controller_class_name %>Controller < ApplicationController
|
6
|
+
|
7
|
+
before_action :set_<%= singular_table_name %>, only: [:show, :edit, :update, :destroy]
|
8
|
+
|
9
|
+
# GET <%= route_url %>
|
10
|
+
def index
|
11
|
+
@<%= plural_table_name %> = <%= orm_class.all(class_name) %>.paginate page: params[:page], per_page: Rails.configuration.try(:pagination).try(:[], :<%= singular_table_name %>_per_page)||2
|
12
|
+
end
|
13
|
+
|
14
|
+
# GET <%= route_url %>/1
|
15
|
+
def show
|
16
|
+
end
|
17
|
+
|
18
|
+
# GET <%= route_url %>/new
|
19
|
+
def new
|
20
|
+
@<%= singular_table_name %> = <%= orm_class.build(class_name) %>
|
21
|
+
end
|
22
|
+
|
23
|
+
# GET <%= route_url %>/1/edit
|
24
|
+
def edit
|
25
|
+
end
|
26
|
+
|
27
|
+
# POST <%= route_url %>
|
28
|
+
def create
|
29
|
+
@<%= singular_table_name %> = <%= orm_class.build(class_name, "#{singular_table_name}_params") %>
|
30
|
+
|
31
|
+
if @<%= orm_instance.save %>
|
32
|
+
redirect_to <%= show_helper %>, notice: "#{<%= class_name %>.model_name.human}#{I18n.t 'scaffold.notice.create_success'}"
|
33
|
+
else
|
34
|
+
render :new
|
35
|
+
end
|
36
|
+
end
|
37
|
+
|
38
|
+
# PATCH/PUT <%= route_url %>/1
|
39
|
+
def update
|
40
|
+
if @<%= orm_instance.update("#{singular_table_name}_params") %>
|
41
|
+
redirect_to <%= show_helper %>, notice: "#{<%= class_name %>.model_name.human}#{I18n.t 'scaffold.notice.update_success'}"
|
42
|
+
else
|
43
|
+
render :edit
|
44
|
+
end
|
45
|
+
end
|
46
|
+
|
47
|
+
# DELETE <%= route_url %>/1
|
48
|
+
def destroy
|
49
|
+
@<%= orm_instance.destroy %>
|
50
|
+
redirect_to <%= index_helper %>_url, notice: "#{<%= class_name %>.model_name.human}#{I18n.t 'scaffold.notice.destroy_success'}"
|
51
|
+
end
|
52
|
+
|
53
|
+
# Use callbacks to share common setup or constraints between actions.
|
54
|
+
def set_<%= singular_table_name %>
|
55
|
+
@<%= singular_table_name %> = <%= orm_class.find(class_name, "params[:id]") %>
|
56
|
+
end
|
57
|
+
|
58
|
+
# Only allow a trusted parameter "white list" through.
|
59
|
+
def <%= "#{singular_table_name}_params" %>
|
60
|
+
<%- if attributes_names.empty? -%>
|
61
|
+
params.fetch(:<%= singular_table_name %>, {})
|
62
|
+
<%- else -%>
|
63
|
+
params.require(:<%= singular_table_name %>).permit(<%= attributes_names.map { |name| ":#{name}" }.join(', ') %>)
|
64
|
+
<%- end -%>
|
65
|
+
end
|
66
|
+
|
67
|
+
private :set_<%= singular_table_name %>, :<%= "#{singular_table_name}_params" %>
|
68
|
+
|
69
|
+
end
|
70
|
+
<% end -%>
|
@@ -0,0 +1,23 @@
|
|
1
|
+
<%%= render 'form', <%= singular_table_name %>: @<%= singular_table_name %> %>
|
2
|
+
|
3
|
+
<%%= link_to <%= singular_table_name %>_path(@<%= singular_table_name %>), class: 'btn btn-link' do %><i class='fa fa-file fa-lg'></i> <%%= t 'scaffold.action.show' %><%% end %> |
|
4
|
+
<%%= link_to <%= index_helper %>_path, class: 'btn btn-link' do %><i class='fa fa-list fa-lg'></i> <%%= t 'scaffold.action.back' %><%% end %>
|
5
|
+
|
6
|
+
<%% content_for :title do %>
|
7
|
+
<%%= t 'scaffold.action.edit' %><%%= <%= class_name %>.model_name.human %>_<%%= t 'scaffold.app.title' %>
|
8
|
+
<%% end %>
|
9
|
+
|
10
|
+
<%% content_for :meta do %>
|
11
|
+
<%% end %>
|
12
|
+
|
13
|
+
<%% content_for :style do %>
|
14
|
+
<%%= stylesheet_link_tag '<%= plural_table_name %>/edit' %>
|
15
|
+
<style type="text/css">
|
16
|
+
</style>
|
17
|
+
<%% end %>
|
18
|
+
|
19
|
+
<%% content_for :script do %>
|
20
|
+
<%%= javascript_include_tag '<%= plural_table_name %>/edit' %>
|
21
|
+
<script type="text/javascript">
|
22
|
+
</script>
|
23
|
+
<%% end %>
|
@@ -0,0 +1,50 @@
|
|
1
|
+
<table class="table table-striped table-hover">
|
2
|
+
<thead>
|
3
|
+
<tr>
|
4
|
+
<% attributes.reject(&:password_digest?).each do |attribute| -%>
|
5
|
+
<th><%%= <%= class_name %>.human_attribute_name :<%= attribute.name %> %></th>
|
6
|
+
<% end -%>
|
7
|
+
<th colspan="3"></th>
|
8
|
+
</tr>
|
9
|
+
</thead>
|
10
|
+
|
11
|
+
<tbody>
|
12
|
+
<%% @<%= plural_table_name %>.each do |<%= singular_table_name %>| %>
|
13
|
+
<tr>
|
14
|
+
<% attributes.reject(&:password_digest?).each do |attribute| -%>
|
15
|
+
<td><%%= <%= singular_table_name %>.<%= attribute.name %> %></td>
|
16
|
+
<% end -%>
|
17
|
+
<td><%%= link_to <%= singular_table_name %>_path(<%= singular_table_name %>), class: 'btn btn-link' do %><i class='fa fa-file fa-lg'></i> <%%= t 'scaffold.action.show' %><%% end %></td>
|
18
|
+
<td><%%= link_to edit_<%= singular_table_name %>_path(<%= singular_table_name %>), class: 'btn btn-link' do %><i class="fa fa-edit fa-lg"></i> <%%= t 'scaffold.action.edit' %><%% end %></td>
|
19
|
+
<td><%%= link_to <%= singular_table_name %>_path(<%= singular_table_name %>), class: 'btn btn-danger', method: :delete, data: { confirm: "#{t 'scaffold.confirm.destroy'}" } do %><i class="fa fa-trash-o fa-lg"></i> <%%= t 'scaffold.action.destroy' %><%% end %></td>
|
20
|
+
</tr>
|
21
|
+
<%% end %>
|
22
|
+
</tbody>
|
23
|
+
</table>
|
24
|
+
|
25
|
+
<%%= will_paginate @<%= plural_table_name %>, renderer: BootstrapPagination::Rails %>
|
26
|
+
<div class='clearfix'></div>
|
27
|
+
<%%= page_entries_info @<%= plural_table_name %>, model: <%= class_name %>, html: true %>
|
28
|
+
|
29
|
+
<br>
|
30
|
+
|
31
|
+
<%%= link_to new_<%= singular_table_name %>_path, class: 'btn btn-primary' do %><i class="fa fa-clone fa-lg"></i> <%%= t 'scaffold.action.new' %><%%= <%= class_name %>.model_name.human %><%% end %>
|
32
|
+
|
33
|
+
<%% content_for :title do %>
|
34
|
+
<%%= <%= class_name %>.model_name.human %><%%= t 'scaffold.action.index' %>_<%%= t 'scaffold.app.title' %>
|
35
|
+
<%% end %>
|
36
|
+
|
37
|
+
<%% content_for :meta do %>
|
38
|
+
<%% end %>
|
39
|
+
|
40
|
+
<%% content_for :style do %>
|
41
|
+
<%%= stylesheet_link_tag '<%= plural_table_name %>/index' %>
|
42
|
+
<style type="text/css">
|
43
|
+
</style>
|
44
|
+
<%% end %>
|
45
|
+
|
46
|
+
<%% content_for :script do %>
|
47
|
+
<%%= javascript_include_tag '<%= plural_table_name %>/index' %>
|
48
|
+
<script type="text/javascript">
|
49
|
+
</script>
|
50
|
+
<%% end %>
|
@@ -0,0 +1,22 @@
|
|
1
|
+
<%%= render 'form', <%= singular_table_name %>: @<%= singular_table_name %> %>
|
2
|
+
|
3
|
+
<%%= link_to <%= index_helper %>_path, class: 'btn btn-link' do %><i class='fa fa-list fa-lg'></i> <%%= t 'scaffold.action.back' %><%% end %>
|
4
|
+
|
5
|
+
<%% content_for :title do %>
|
6
|
+
<%%= t 'scaffold.action.new' %><%%= <%= class_name %>.model_name.human %>_<%%= t 'scaffold.app.title' %>
|
7
|
+
<%% end %>
|
8
|
+
|
9
|
+
<%% content_for :meta do %>
|
10
|
+
<%% end %>
|
11
|
+
|
12
|
+
<%% content_for :style do %>
|
13
|
+
<%%= stylesheet_link_tag '<%= plural_table_name %>/new' %>
|
14
|
+
<style type="text/css">
|
15
|
+
</style>
|
16
|
+
<%% end %>
|
17
|
+
|
18
|
+
<%% content_for :script do %>
|
19
|
+
<%%= javascript_include_tag '<%= plural_table_name %>/new' %>
|
20
|
+
<script type="text/javascript">
|
21
|
+
</script>
|
22
|
+
<%% end %>
|
@@ -0,0 +1,28 @@
|
|
1
|
+
<% attributes.reject(&:password_digest?).each do |attribute| -%>
|
2
|
+
<dl>
|
3
|
+
<dt><%%= <%= class_name %>.human_attribute_name :<%= attribute.name %> %>:</dt>
|
4
|
+
<dd><%%= @<%= singular_table_name %>.<%= attribute.name %> %></dd>
|
5
|
+
</dl>
|
6
|
+
<% end -%>
|
7
|
+
|
8
|
+
<%%= link_to edit_<%= singular_table_name %>_path(@<%= singular_table_name %>), class: 'btn btn-link' do %><i class='fa fa-edit fa-lg'></i> <%%= t 'scaffold.action.edit' %><%% end %> |
|
9
|
+
<%%= link_to <%= index_helper %>_path, class: 'btn btn-link' do %><i class='fa fa-list fa-lg'></i> <%%= t 'scaffold.action.back' %><%% end %>
|
10
|
+
|
11
|
+
<%% content_for :title do %>
|
12
|
+
<%%= t 'scaffold.action.show' %><%%= <%= class_name %>.model_name.human %>_<%%= t 'scaffold.app.title' %>
|
13
|
+
<%% end %>
|
14
|
+
|
15
|
+
<%% content_for :meta do %>
|
16
|
+
<%% end %>
|
17
|
+
|
18
|
+
<%% content_for :style do %>
|
19
|
+
<%%= stylesheet_link_tag '<%= plural_table_name %>/show' %>
|
20
|
+
<style type="text/css">
|
21
|
+
</style>
|
22
|
+
<%% end %>
|
23
|
+
|
24
|
+
<%% content_for :script do %>
|
25
|
+
<%%= javascript_include_tag '<%= plural_table_name %>/show' %>
|
26
|
+
<script type="text/javascript">
|
27
|
+
</script>
|
28
|
+
<%% end %>
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: repres-bootstrap
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.
|
4
|
+
version: '1.11'
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Topbit Du
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2017-
|
11
|
+
date: 2017-05-09 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: repres-hyper_text
|
@@ -60,12 +60,26 @@ files:
|
|
60
60
|
- lib/generators/repres/bootstrap/platform/templates/app/controllers/privileged_controller.rb.erb
|
61
61
|
- lib/generators/repres/bootstrap/platform/templates/app/helpers/platform_helper.rb.erb
|
62
62
|
- lib/generators/repres/bootstrap/platform/templates/app/views/layouts/platform.html.erb.erb
|
63
|
+
- lib/generators/repres/bootstrap/platform/templates/app/views/shared/_alert.html.erb
|
64
|
+
- lib/generators/repres/bootstrap/platform/templates/app/views/shared/_footer.html.erb
|
65
|
+
- lib/generators/repres/bootstrap/platform/templates/app/views/shared/_header.html.erb
|
66
|
+
- lib/generators/repres/bootstrap/platform/templates/app/views/shared/_navigation_bar.html.erb
|
63
67
|
- lib/generators/repres/bootstrap/platform/templates/app/views/shared/_script.html.erb
|
68
|
+
- lib/generators/repres/bootstrap/platform/templates/app/views/shared/_side_menu.html.erb
|
64
69
|
- lib/generators/repres/bootstrap/platform/templates/app/views/shared/_style.html.erb
|
65
70
|
- lib/generators/repres/bootstrap/platform/templates/config/routes.rb.erb
|
71
|
+
- lib/generators/repres/bootstrap/scaffold/USAGE
|
72
|
+
- lib/generators/repres/bootstrap/scaffold/scaffold_generator.rb
|
73
|
+
- lib/generators/repres/bootstrap/scaffold/templates/_form.html.erb
|
74
|
+
- lib/generators/repres/bootstrap/scaffold/templates/controller.rb
|
75
|
+
- lib/generators/repres/bootstrap/scaffold/templates/edit.html.erb
|
76
|
+
- lib/generators/repres/bootstrap/scaffold/templates/index.html.erb
|
77
|
+
- lib/generators/repres/bootstrap/scaffold/templates/new.html.erb
|
78
|
+
- lib/generators/repres/bootstrap/scaffold/templates/show.html.erb
|
66
79
|
- lib/repres/bootstrap.rb
|
67
80
|
- lib/repres/bootstrap/engine.rb
|
68
81
|
- lib/repres/bootstrap/models_rspec.rb
|
82
|
+
- lib/repres/bootstrap/template.rb
|
69
83
|
- lib/repres/bootstrap/types_rspec.rb
|
70
84
|
- lib/repres/bootstrap/validators_rspec.rb
|
71
85
|
- lib/repres/bootstrap/version.rb
|