simple_form_custom_inputs 0.0.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +7 -0
- data/.gitignore +9 -0
- data/.rspec +2 -0
- data/.travis.yml +3 -0
- data/Gemfile +3 -0
- data/README.md +78 -0
- data/Rakefile +2 -0
- data/example/.gitignore +21 -0
- data/example/Gemfile +61 -0
- data/example/Gemfile.lock +206 -0
- data/example/README.md +24 -0
- data/example/Rakefile +6 -0
- data/example/app/assets/config/manifest.js +3 -0
- data/example/app/assets/images/.keep +0 -0
- data/example/app/assets/javascripts/application.js +19 -0
- data/example/app/assets/javascripts/cable.js +13 -0
- data/example/app/assets/javascripts/channels/.keep +0 -0
- data/example/app/assets/javascripts/posts.coffee +3 -0
- data/example/app/assets/stylesheets/application.scss +7 -0
- data/example/app/assets/stylesheets/posts.scss +3 -0
- data/example/app/assets/stylesheets/scaffolds.scss +89 -0
- data/example/app/channels/application_cable/channel.rb +4 -0
- data/example/app/channels/application_cable/connection.rb +4 -0
- data/example/app/controllers/application_controller.rb +3 -0
- data/example/app/controllers/concerns/.keep +0 -0
- data/example/app/controllers/posts_controller.rb +74 -0
- data/example/app/helpers/application_helper.rb +2 -0
- data/example/app/helpers/posts_helper.rb +2 -0
- data/example/app/jobs/application_job.rb +2 -0
- data/example/app/mailers/application_mailer.rb +4 -0
- data/example/app/models/application_record.rb +3 -0
- data/example/app/models/concerns/.keep +0 -0
- data/example/app/models/post.rb +2 -0
- data/example/app/views/layouts/application.html.erb +14 -0
- data/example/app/views/layouts/mailer.html.erb +13 -0
- data/example/app/views/layouts/mailer.text.erb +1 -0
- data/example/app/views/posts/_form.html.erb +13 -0
- data/example/app/views/posts/_post.json.jbuilder +2 -0
- data/example/app/views/posts/edit.html.erb +6 -0
- data/example/app/views/posts/index.html.erb +31 -0
- data/example/app/views/posts/index.json.jbuilder +1 -0
- data/example/app/views/posts/new.html.erb +5 -0
- data/example/app/views/posts/show.html.erb +19 -0
- data/example/app/views/posts/show.json.jbuilder +1 -0
- data/example/bin/bundle +3 -0
- data/example/bin/rails +9 -0
- data/example/bin/rake +9 -0
- data/example/bin/setup +34 -0
- data/example/bin/spring +17 -0
- data/example/bin/update +29 -0
- data/example/config.ru +5 -0
- data/example/config/application.rb +15 -0
- data/example/config/boot.rb +3 -0
- data/example/config/cable.yml +9 -0
- data/example/config/database.yml +25 -0
- data/example/config/environment.rb +5 -0
- data/example/config/environments/development.rb +54 -0
- data/example/config/environments/production.rb +86 -0
- data/example/config/environments/test.rb +42 -0
- data/example/config/initializers/application_controller_renderer.rb +6 -0
- data/example/config/initializers/assets.rb +11 -0
- data/example/config/initializers/backtrace_silencers.rb +7 -0
- data/example/config/initializers/cookies_serializer.rb +5 -0
- data/example/config/initializers/filter_parameter_logging.rb +4 -0
- data/example/config/initializers/inflections.rb +16 -0
- data/example/config/initializers/mime_types.rb +4 -0
- data/example/config/initializers/new_framework_defaults.rb +24 -0
- data/example/config/initializers/session_store.rb +3 -0
- data/example/config/initializers/simple_form.rb +169 -0
- data/example/config/initializers/simple_form_bootstrap.rb +154 -0
- data/example/config/initializers/wrap_parameters.rb +14 -0
- data/example/config/locales/en.yml +23 -0
- data/example/config/locales/simple_form.en.yml +31 -0
- data/example/config/puma.rb +47 -0
- data/example/config/routes.rb +4 -0
- data/example/config/secrets.yml +22 -0
- data/example/config/spring.rb +6 -0
- data/example/db/migrate/20170427011041_create_posts.rb +11 -0
- data/example/db/schema.rb +23 -0
- data/example/db/seeds.rb +7 -0
- data/example/lib/assets/.keep +0 -0
- data/example/lib/tasks/.keep +0 -0
- data/example/lib/templates/erb/scaffold/_form.html.erb +13 -0
- data/example/log/.keep +0 -0
- data/example/public/404.html +67 -0
- data/example/public/422.html +67 -0
- data/example/public/500.html +66 -0
- data/example/public/apple-touch-icon-precomposed.png +0 -0
- data/example/public/apple-touch-icon.png +0 -0
- data/example/public/favicon.ico +0 -0
- data/example/public/robots.txt +5 -0
- data/example/test/controllers/.keep +0 -0
- data/example/test/controllers/posts_controller_test.rb +48 -0
- data/example/test/fixtures/.keep +0 -0
- data/example/test/fixtures/files/.keep +0 -0
- data/example/test/fixtures/posts.yml +11 -0
- data/example/test/helpers/.keep +0 -0
- data/example/test/integration/.keep +0 -0
- data/example/test/mailers/.keep +0 -0
- data/example/test/models/.keep +0 -0
- data/example/test/models/post_test.rb +7 -0
- data/example/test/test_helper.rb +10 -0
- data/example/tmp/.keep +0 -0
- data/example/vendor/assets/javascripts/.keep +0 -0
- data/example/vendor/assets/stylesheets/.keep +0 -0
- data/lib/simple_form_custom_inputs.rb +7 -0
- data/lib/simple_form_custom_inputs/simple_form/switch_input.rb +11 -0
- data/lib/simple_form_custom_inputs/version.rb +3 -0
- data/screenshot.png +0 -0
- data/simple_form_custom_inputs.gemspec +23 -0
- data/vendor/assets/javascripts/.keep +0 -0
- data/vendor/assets/javascripts/simple_form_custom_inputs.js +22 -0
- metadata +182 -0
|
File without changes
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
// This is a manifest file that'll be compiled into application.js, which will include all the files
|
|
2
|
+
// listed below.
|
|
3
|
+
//
|
|
4
|
+
// Any JavaScript/Coffee file within this directory, lib/assets/javascripts, vendor/assets/javascripts,
|
|
5
|
+
// or any plugin's vendor/assets/javascripts directory can be referenced here using a relative path.
|
|
6
|
+
//
|
|
7
|
+
// It's not advisable to add code directly here, but if you do, it'll appear at the bottom of the
|
|
8
|
+
// compiled file. JavaScript code in this file should be added after the last require_* statement.
|
|
9
|
+
//
|
|
10
|
+
// Read Sprockets README (https://github.com/rails/sprockets#sprockets-directives) for details
|
|
11
|
+
// about supported directives.
|
|
12
|
+
//
|
|
13
|
+
//= require jquery
|
|
14
|
+
//= require jquery_ujs
|
|
15
|
+
//= require bootstrap-sprockets
|
|
16
|
+
//= require turbolinks
|
|
17
|
+
//= require switchery
|
|
18
|
+
//= require simple_form_custom_inputs
|
|
19
|
+
//= require_tree .
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
// Action Cable provides the framework to deal with WebSockets in Rails.
|
|
2
|
+
// You can generate new channels where WebSocket features live using the rails generate channel command.
|
|
3
|
+
//
|
|
4
|
+
//= require action_cable
|
|
5
|
+
//= require_self
|
|
6
|
+
//= require_tree ./channels
|
|
7
|
+
|
|
8
|
+
(function() {
|
|
9
|
+
this.App || (this.App = {});
|
|
10
|
+
|
|
11
|
+
App.cable = ActionCable.createConsumer();
|
|
12
|
+
|
|
13
|
+
}).call(this);
|
|
File without changes
|
|
@@ -0,0 +1,89 @@
|
|
|
1
|
+
body {
|
|
2
|
+
background-color: #fff;
|
|
3
|
+
color: #333;
|
|
4
|
+
font-family: verdana, arial, helvetica, sans-serif;
|
|
5
|
+
font-size: 13px;
|
|
6
|
+
line-height: 18px;
|
|
7
|
+
margin: 33px;
|
|
8
|
+
}
|
|
9
|
+
|
|
10
|
+
p, ol, ul, td {
|
|
11
|
+
font-family: verdana, arial, helvetica, sans-serif;
|
|
12
|
+
font-size: 13px;
|
|
13
|
+
line-height: 18px;
|
|
14
|
+
margin: 33px;
|
|
15
|
+
}
|
|
16
|
+
|
|
17
|
+
pre {
|
|
18
|
+
background-color: #eee;
|
|
19
|
+
padding: 10px;
|
|
20
|
+
font-size: 11px;
|
|
21
|
+
}
|
|
22
|
+
|
|
23
|
+
a {
|
|
24
|
+
color: #000;
|
|
25
|
+
|
|
26
|
+
&:visited {
|
|
27
|
+
color: #666;
|
|
28
|
+
}
|
|
29
|
+
|
|
30
|
+
&:hover {
|
|
31
|
+
color: #fff;
|
|
32
|
+
background-color: #000;
|
|
33
|
+
}
|
|
34
|
+
}
|
|
35
|
+
|
|
36
|
+
th {
|
|
37
|
+
padding-bottom: 5px;
|
|
38
|
+
}
|
|
39
|
+
|
|
40
|
+
td {
|
|
41
|
+
padding-bottom: 7px;
|
|
42
|
+
padding-left: 5px;
|
|
43
|
+
padding-right: 5px;
|
|
44
|
+
}
|
|
45
|
+
|
|
46
|
+
div {
|
|
47
|
+
&.field, &.actions {
|
|
48
|
+
margin-bottom: 10px;
|
|
49
|
+
}
|
|
50
|
+
}
|
|
51
|
+
|
|
52
|
+
#notice {
|
|
53
|
+
color: green;
|
|
54
|
+
}
|
|
55
|
+
|
|
56
|
+
.field_with_errors {
|
|
57
|
+
padding: 2px;
|
|
58
|
+
background-color: red;
|
|
59
|
+
display: table;
|
|
60
|
+
}
|
|
61
|
+
|
|
62
|
+
#error_explanation {
|
|
63
|
+
width: 450px;
|
|
64
|
+
border: 2px solid red;
|
|
65
|
+
padding: 7px;
|
|
66
|
+
padding-bottom: 0;
|
|
67
|
+
margin-bottom: 20px;
|
|
68
|
+
background-color: #f0f0f0;
|
|
69
|
+
|
|
70
|
+
h2 {
|
|
71
|
+
text-align: left;
|
|
72
|
+
font-weight: bold;
|
|
73
|
+
padding: 5px 5px 5px 15px;
|
|
74
|
+
font-size: 12px;
|
|
75
|
+
margin: -7px;
|
|
76
|
+
margin-bottom: 0;
|
|
77
|
+
background-color: #c00;
|
|
78
|
+
color: #fff;
|
|
79
|
+
}
|
|
80
|
+
|
|
81
|
+
ul li {
|
|
82
|
+
font-size: 12px;
|
|
83
|
+
list-style: square;
|
|
84
|
+
}
|
|
85
|
+
}
|
|
86
|
+
|
|
87
|
+
label {
|
|
88
|
+
display: block;
|
|
89
|
+
}
|
|
File without changes
|
|
@@ -0,0 +1,74 @@
|
|
|
1
|
+
class PostsController < ApplicationController
|
|
2
|
+
before_action :set_post, only: [:show, :edit, :update, :destroy]
|
|
3
|
+
|
|
4
|
+
# GET /posts
|
|
5
|
+
# GET /posts.json
|
|
6
|
+
def index
|
|
7
|
+
@posts = Post.all
|
|
8
|
+
end
|
|
9
|
+
|
|
10
|
+
# GET /posts/1
|
|
11
|
+
# GET /posts/1.json
|
|
12
|
+
def show
|
|
13
|
+
end
|
|
14
|
+
|
|
15
|
+
# GET /posts/new
|
|
16
|
+
def new
|
|
17
|
+
@post = Post.new
|
|
18
|
+
end
|
|
19
|
+
|
|
20
|
+
# GET /posts/1/edit
|
|
21
|
+
def edit
|
|
22
|
+
end
|
|
23
|
+
|
|
24
|
+
# POST /posts
|
|
25
|
+
# POST /posts.json
|
|
26
|
+
def create
|
|
27
|
+
@post = Post.new(post_params)
|
|
28
|
+
|
|
29
|
+
respond_to do |format|
|
|
30
|
+
if @post.save
|
|
31
|
+
format.html { redirect_to @post, notice: 'Post was successfully created.' }
|
|
32
|
+
format.json { render :show, status: :created, location: @post }
|
|
33
|
+
else
|
|
34
|
+
format.html { render :new }
|
|
35
|
+
format.json { render json: @post.errors, status: :unprocessable_entity }
|
|
36
|
+
end
|
|
37
|
+
end
|
|
38
|
+
end
|
|
39
|
+
|
|
40
|
+
# PATCH/PUT /posts/1
|
|
41
|
+
# PATCH/PUT /posts/1.json
|
|
42
|
+
def update
|
|
43
|
+
respond_to do |format|
|
|
44
|
+
if @post.update(post_params)
|
|
45
|
+
format.html { redirect_to @post, notice: 'Post was successfully updated.' }
|
|
46
|
+
format.json { render :show, status: :ok, location: @post }
|
|
47
|
+
else
|
|
48
|
+
format.html { render :edit }
|
|
49
|
+
format.json { render json: @post.errors, status: :unprocessable_entity }
|
|
50
|
+
end
|
|
51
|
+
end
|
|
52
|
+
end
|
|
53
|
+
|
|
54
|
+
# DELETE /posts/1
|
|
55
|
+
# DELETE /posts/1.json
|
|
56
|
+
def destroy
|
|
57
|
+
@post.destroy
|
|
58
|
+
respond_to do |format|
|
|
59
|
+
format.html { redirect_to posts_url, notice: 'Post was successfully destroyed.' }
|
|
60
|
+
format.json { head :no_content }
|
|
61
|
+
end
|
|
62
|
+
end
|
|
63
|
+
|
|
64
|
+
private
|
|
65
|
+
# Use callbacks to share common setup or constraints between actions.
|
|
66
|
+
def set_post
|
|
67
|
+
@post = Post.find(params[:id])
|
|
68
|
+
end
|
|
69
|
+
|
|
70
|
+
# Never trust parameters from the scary internet, only allow the white list through.
|
|
71
|
+
def post_params
|
|
72
|
+
params.require(:post).permit(:title, :content, :active)
|
|
73
|
+
end
|
|
74
|
+
end
|
|
File without changes
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
<!DOCTYPE html>
|
|
2
|
+
<html>
|
|
3
|
+
<head>
|
|
4
|
+
<title>Example</title>
|
|
5
|
+
<%= csrf_meta_tags %>
|
|
6
|
+
|
|
7
|
+
<%= stylesheet_link_tag 'application', media: 'all', 'data-turbolinks-track': 'reload' %>
|
|
8
|
+
<%= javascript_include_tag 'application', 'data-turbolinks-track': 'reload' %>
|
|
9
|
+
</head>
|
|
10
|
+
|
|
11
|
+
<body>
|
|
12
|
+
<%= yield %>
|
|
13
|
+
</body>
|
|
14
|
+
</html>
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
<%= yield %>
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
<%= simple_form_for(@post) do |f| %>
|
|
2
|
+
<%= f.error_notification %>
|
|
3
|
+
|
|
4
|
+
<div class="form-inputs">
|
|
5
|
+
<%= f.input :title %>
|
|
6
|
+
<%= f.input :content %>
|
|
7
|
+
<%= f.input :active, as: :switch, label: false, inline_label: 'Active' %>
|
|
8
|
+
</div>
|
|
9
|
+
|
|
10
|
+
<div class="form-actions">
|
|
11
|
+
<%= f.button :submit %>
|
|
12
|
+
</div>
|
|
13
|
+
<% end %>
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
<p id="notice"><%= notice %></p>
|
|
2
|
+
|
|
3
|
+
<h1>Posts</h1>
|
|
4
|
+
|
|
5
|
+
<table>
|
|
6
|
+
<thead>
|
|
7
|
+
<tr>
|
|
8
|
+
<th>Title</th>
|
|
9
|
+
<th>Content</th>
|
|
10
|
+
<th>Active</th>
|
|
11
|
+
<th colspan="3"></th>
|
|
12
|
+
</tr>
|
|
13
|
+
</thead>
|
|
14
|
+
|
|
15
|
+
<tbody>
|
|
16
|
+
<% @posts.each do |post| %>
|
|
17
|
+
<tr>
|
|
18
|
+
<td><%= post.title %></td>
|
|
19
|
+
<td><%= post.content %></td>
|
|
20
|
+
<td><%= post.active %></td>
|
|
21
|
+
<td><%= link_to 'Show', post %></td>
|
|
22
|
+
<td><%= link_to 'Edit', edit_post_path(post) %></td>
|
|
23
|
+
<td><%= link_to 'Destroy', post, method: :delete, data: { confirm: 'Are you sure?' } %></td>
|
|
24
|
+
</tr>
|
|
25
|
+
<% end %>
|
|
26
|
+
</tbody>
|
|
27
|
+
</table>
|
|
28
|
+
|
|
29
|
+
<br>
|
|
30
|
+
|
|
31
|
+
<%= link_to 'New Post', new_post_path %>
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
json.array! @posts, partial: 'posts/post', as: :post
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
<p id="notice"><%= notice %></p>
|
|
2
|
+
|
|
3
|
+
<p>
|
|
4
|
+
<strong>Title:</strong>
|
|
5
|
+
<%= @post.title %>
|
|
6
|
+
</p>
|
|
7
|
+
|
|
8
|
+
<p>
|
|
9
|
+
<strong>Content:</strong>
|
|
10
|
+
<%= @post.content %>
|
|
11
|
+
</p>
|
|
12
|
+
|
|
13
|
+
<p>
|
|
14
|
+
<strong>Active:</strong>
|
|
15
|
+
<%= @post.active %>
|
|
16
|
+
</p>
|
|
17
|
+
|
|
18
|
+
<%= link_to 'Edit', edit_post_path(@post) %> |
|
|
19
|
+
<%= link_to 'Back', posts_path %>
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
json.partial! "posts/post", post: @post
|
data/example/bin/bundle
ADDED
data/example/bin/rails
ADDED
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
#!/usr/bin/env ruby
|
|
2
|
+
begin
|
|
3
|
+
load File.expand_path('../spring', __FILE__)
|
|
4
|
+
rescue LoadError => e
|
|
5
|
+
raise unless e.message.include?('spring')
|
|
6
|
+
end
|
|
7
|
+
APP_PATH = File.expand_path('../config/application', __dir__)
|
|
8
|
+
require_relative '../config/boot'
|
|
9
|
+
require 'rails/commands'
|
data/example/bin/rake
ADDED
data/example/bin/setup
ADDED
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
#!/usr/bin/env ruby
|
|
2
|
+
require 'pathname'
|
|
3
|
+
require 'fileutils'
|
|
4
|
+
include FileUtils
|
|
5
|
+
|
|
6
|
+
# path to your application root.
|
|
7
|
+
APP_ROOT = Pathname.new File.expand_path('../../', __FILE__)
|
|
8
|
+
|
|
9
|
+
def system!(*args)
|
|
10
|
+
system(*args) || abort("\n== Command #{args} failed ==")
|
|
11
|
+
end
|
|
12
|
+
|
|
13
|
+
chdir APP_ROOT do
|
|
14
|
+
# This script is a starting point to setup your application.
|
|
15
|
+
# Add necessary setup steps to this file.
|
|
16
|
+
|
|
17
|
+
puts '== Installing dependencies =='
|
|
18
|
+
system! 'gem install bundler --conservative'
|
|
19
|
+
system('bundle check') || system!('bundle install')
|
|
20
|
+
|
|
21
|
+
# puts "\n== Copying sample files =="
|
|
22
|
+
# unless File.exist?('config/database.yml')
|
|
23
|
+
# cp 'config/database.yml.sample', 'config/database.yml'
|
|
24
|
+
# end
|
|
25
|
+
|
|
26
|
+
puts "\n== Preparing database =="
|
|
27
|
+
system! 'bin/rails db:setup'
|
|
28
|
+
|
|
29
|
+
puts "\n== Removing old logs and tempfiles =="
|
|
30
|
+
system! 'bin/rails log:clear tmp:clear'
|
|
31
|
+
|
|
32
|
+
puts "\n== Restarting application server =="
|
|
33
|
+
system! 'bin/rails restart'
|
|
34
|
+
end
|