kadmin 0.6.21 → 0.7.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.
- checksums.yaml +4 -4
- data/app/assets/javascripts/kadmin/select2.js +3 -3
- data/app/controllers/kadmin/application_controller.rb +3 -1
- data/app/controllers/kadmin/concerns/resources.rb +32 -0
- data/app/views/kadmin/components/_finder.html.erb +1 -2
- data/app/views/kadmin/components/_finder.js.erb +9 -0
- data/app/views/kadmin/components/finder/_form.html.erb +1 -1
- data/app/views/kadmin/components/finder/_header.html.erb +1 -1
- data/app/views/kadmin/error.js.erb +5 -0
- data/lib/kadmin/version.rb +1 -1
- metadata +5 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 7efabe35025636546f2808580039dda4b4644cc6
|
4
|
+
data.tar.gz: a17851a34c29e7b9fcf54032837636870b10ce11
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 9e3dfa3064c02e13c4c8f90de06863c4ecffaaaf9b3770a2187e43fde85d5411330e5bffbc15418fb29d9b895c9e3f7ec13a15c39885ddb8e3fdf710fe75e223
|
7
|
+
data.tar.gz: 9b772293e19afd36b3d2d3042b6d6135f1953ec7771d56b273ce1c5732dad371edc6b2a3a1459c2caebe42fa0782000fd77d3aafecd3c9b9e410f8b2c69bc457
|
@@ -28,6 +28,8 @@ jQuery(document).ready(function() {
|
|
28
28
|
}
|
29
29
|
|
30
30
|
function transformResponse(data, params) {
|
31
|
+
data = transform(data, this.$element.data("kadmin--transform-response"));
|
32
|
+
|
31
33
|
var items = data.data || data.items;
|
32
34
|
var options = this.options.options.kadmin || {}; // weird but it is what it is
|
33
35
|
var displayProperty = options.displayProperty || "text";
|
@@ -39,12 +41,10 @@ jQuery(document).ready(function() {
|
|
39
41
|
results.push({ text: item[displayProperty], id: item[valueProperty] });
|
40
42
|
});
|
41
43
|
|
42
|
-
|
44
|
+
return {
|
43
45
|
results: results,
|
44
46
|
pagination: { more: data.more }
|
45
47
|
};
|
46
|
-
|
47
|
-
return transform(response, this.$element.data("kadmin--transform-response"));
|
48
48
|
}
|
49
49
|
|
50
50
|
function optionsForSelect2(element) {
|
@@ -46,6 +46,7 @@ module Kadmin
|
|
46
46
|
status: :internal_server_error,
|
47
47
|
error: error
|
48
48
|
}.merge(options)
|
49
|
+
binding.pry
|
49
50
|
render 'kadmin/error', status: options[:status], locals: options
|
50
51
|
end
|
51
52
|
|
@@ -53,10 +54,11 @@ module Kadmin
|
|
53
54
|
|
54
55
|
# @!group Helpers
|
55
56
|
|
57
|
+
protected
|
58
|
+
|
56
59
|
def set_default_format
|
57
60
|
params[:format] = 'html' if params[:format].blank?
|
58
61
|
end
|
59
|
-
protected :set_default_format
|
60
62
|
|
61
63
|
# @!endgroup
|
62
64
|
end
|
@@ -0,0 +1,32 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
module Kadmin
|
4
|
+
module Concerns
|
5
|
+
module Resources
|
6
|
+
extend ActiveSupport::Concern
|
7
|
+
|
8
|
+
# Default finder page size
|
9
|
+
DEFAULT_FINDER_PAGE_SIZE = 100
|
10
|
+
|
11
|
+
# Does not return anything, but will modify your finder instance.
|
12
|
+
# @param [Kadmin::Finder] finder the finder to respond with
|
13
|
+
# @param [Array<String>] filters an array of filters, of format: { name:, column:, param: }
|
14
|
+
def resources_finder(scope, filters = [])
|
15
|
+
filters = Array.wrap(filters)
|
16
|
+
filter_params = filters.map { |hash| hash[:param] }
|
17
|
+
permitted = params.permit(:page_size, :page_offset, :format, *filter_params)
|
18
|
+
|
19
|
+
page_size = permitted.fetch(:page_size, DEFAULT_FINDER_PAGE_SIZE).to_i
|
20
|
+
page_offset = permitted.fetch(:page_offset, 0).to_i
|
21
|
+
|
22
|
+
finder = Kadmin::Finder.new(scope)
|
23
|
+
finder.paginate(size: page_size, offset: page_offset)
|
24
|
+
filters.each do |filter|
|
25
|
+
finder.filter(name: filter[:name], column: filter[:column], value: permitted[filter[:param]])
|
26
|
+
end
|
27
|
+
|
28
|
+
return finder.present
|
29
|
+
end
|
30
|
+
end
|
31
|
+
end
|
32
|
+
end
|
@@ -1,7 +1,6 @@
|
|
1
|
-
<% hide_create_button = false if local_assigns[:hide_create_button].nil? %>
|
2
1
|
<div class='card finder'>
|
3
2
|
<div class='card-block'>
|
4
|
-
<%= render partial: 'kadmin/components/finder/header', locals:
|
3
|
+
<%= render partial: 'kadmin/components/finder/header', locals: local_assigns %>
|
5
4
|
<div class='container-fluid'>
|
6
5
|
<div class='row' style='padding-top: 15px'>
|
7
6
|
<%= yield(finder.results) %>
|
@@ -1,6 +1,6 @@
|
|
1
1
|
<%= form_tag(request.fullpath, method: 'get', class: 'form-inline pull-right') do %>
|
2
2
|
<div class='form-group'>
|
3
|
-
<% unless hide_create_button %>
|
3
|
+
<% unless local_assigns.fetch(:hide_create_button, false) %>
|
4
4
|
<%= link_to(t('kadmin.components.finder.create'), url_for(action: :new), class: 'btn btn-primary', style: 'margin-right: 20px') %>
|
5
5
|
<% end %>
|
6
6
|
<% finder.filters.each do |name, filter| %>
|
@@ -8,7 +8,7 @@
|
|
8
8
|
)
|
9
9
|
<% end %>
|
10
10
|
<% if finder.filters.present? %>
|
11
|
-
<%= render partial: 'kadmin/components/finder/form', locals:
|
11
|
+
<%= render partial: 'kadmin/components/finder/form', locals: local_assigns %>
|
12
12
|
<% end %>
|
13
13
|
</h3>
|
14
14
|
</div>
|
data/lib/kadmin/version.rb
CHANGED
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: kadmin
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.7.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Nicolas Pepin-Perreault
|
@@ -10,7 +10,7 @@ authors:
|
|
10
10
|
autorequire:
|
11
11
|
bindir: bin
|
12
12
|
cert_chain: []
|
13
|
-
date: 2017-08-
|
13
|
+
date: 2017-08-28 00:00:00.000000000 Z
|
14
14
|
dependencies:
|
15
15
|
- !ruby/object:Gem::Dependency
|
16
16
|
name: rails
|
@@ -119,16 +119,19 @@ files:
|
|
119
119
|
- app/controllers/kadmin/application_controller.rb
|
120
120
|
- app/controllers/kadmin/auth_controller.rb
|
121
121
|
- app/controllers/kadmin/concerns/authorized_user.rb
|
122
|
+
- app/controllers/kadmin/concerns/resources.rb
|
122
123
|
- app/controllers/kadmin/dash_controller.rb
|
123
124
|
- app/helpers/kadmin/alert_helper.rb
|
124
125
|
- app/helpers/kadmin/application_helper.rb
|
125
126
|
- app/helpers/kadmin/bootstrap_helper.rb
|
126
127
|
- app/views/kadmin/auth/login.html.erb
|
127
128
|
- app/views/kadmin/components/_finder.html.erb
|
129
|
+
- app/views/kadmin/components/_finder.js.erb
|
128
130
|
- app/views/kadmin/components/finder/_form.html.erb
|
129
131
|
- app/views/kadmin/components/finder/_header.html.erb
|
130
132
|
- app/views/kadmin/dash/index.html.erb
|
131
133
|
- app/views/kadmin/error.html.erb
|
134
|
+
- app/views/kadmin/error.js.erb
|
132
135
|
- app/views/kadmin/helpers/_alerts.html.erb
|
133
136
|
- app/views/kadmin/helpers/_form_errors.html.erb
|
134
137
|
- app/views/layouts/kadmin/application.html.erb
|