admin_it 1.2.1 → 1.2.2
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/README.md +6 -0
- data/admin_it.gemspec +6 -6
- data/app/assets/javascript/admin_it/admin_it.js +8 -0
- data/app/assets/javascript/admin_it/index.js +1 -0
- data/app/assets/stylesheets/admin_it/index.css +1 -0
- data/app/views/admin_it/editors/_combo.html.slim +11 -0
- data/lib/admin_it/data/active_record/field.rb +3 -1
- data/lib/admin_it/data/active_record/single_context.rb +4 -6
- data/lib/admin_it/field/field.rb +9 -2
- data/lib/admin_it/version.rb +1 -1
- metadata +16 -15
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: e96e6d9fe0799703b334eb063cf44a1ee7498ae0
|
4
|
+
data.tar.gz: 2d67207520e2cf2cdad5409a96711587b63abdb6
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: ef9256ae9ff7ac5710c74fdbad74a401c72d1fa0c6b45942869cef6bf1e4fce353ca393ebe574d71cda077fa1525b75162869b57af8d5b8a37effb104aefa66b
|
7
|
+
data.tar.gz: 9638a3aef76d5b3f5a24d1463c08f60049dfc2e17b5a3402c37d4d531073e82cc893badb83a1ca1cf168bc11a30bc9760a0e115ec658f570373460d965b9571f
|
data/README.md
CHANGED
data/admin_it.gemspec
CHANGED
@@ -9,25 +9,25 @@ Gem::Specification.new do |spec|
|
|
9
9
|
spec.version = AdminIt::VERSION
|
10
10
|
spec.authors = ['Alexey Ovchinnikov']
|
11
11
|
spec.email = ['alexiss@cybernetlab.ru']
|
12
|
-
spec.description = %q
|
13
|
-
spec.summary = %q
|
12
|
+
spec.description = %q(Admin interface)
|
13
|
+
spec.summary = %q(Admin interface)
|
14
14
|
spec.homepage = 'https://github.com/cybernetlab/admin_it'
|
15
15
|
spec.license = 'MIT'
|
16
16
|
spec.metadata = {
|
17
17
|
'issue_tracker' => 'https://github.com/cybernetlab/admin_it/issues'
|
18
18
|
}
|
19
19
|
|
20
|
-
spec.files = `git ls-files`.split(
|
21
|
-
spec.executables = spec.files.grep(
|
22
|
-
spec.test_files = spec.files.grep(
|
20
|
+
spec.files = `git ls-files`.split($INPUT_RECORD_SEPARATOR)
|
21
|
+
spec.executables = spec.files.grep(/^bin\//) { |f| File.basename(f) }
|
22
|
+
spec.test_files = spec.files.grep(/^(test|spec|features)\//)
|
23
23
|
spec.require_paths = ['lib']
|
24
24
|
|
25
|
-
spec.add_dependency 'sprockets'
|
26
25
|
spec.add_dependency 'rails', '~> 4.0'
|
27
26
|
spec.add_dependency 'devise'
|
28
27
|
spec.add_dependency 'wrap_it'
|
29
28
|
spec.add_dependency 'ensure_it'
|
30
29
|
spec.add_dependency 'aws-sdk'
|
30
|
+
spec.add_dependency 'select2-rails'
|
31
31
|
|
32
32
|
spec.add_development_dependency 'bundler', '~> 1.3'
|
33
33
|
spec.add_development_dependency 'sqlite3'
|
@@ -120,6 +120,12 @@ var initImageUploads = function() {
|
|
120
120
|
});
|
121
121
|
}
|
122
122
|
|
123
|
+
var initSelects = function() {
|
124
|
+
$('.select2:not(.select2-container)').select2({
|
125
|
+
minimumResultsForSearch: -1 // disable search
|
126
|
+
});
|
127
|
+
}
|
128
|
+
|
123
129
|
$(document).on('ready page:load', function() {
|
124
130
|
initPartials();
|
125
131
|
// initDialogs();
|
@@ -128,6 +134,7 @@ $(document).on('ready page:load', function() {
|
|
128
134
|
initPopups();
|
129
135
|
initLinks();
|
130
136
|
initImageUploads();
|
137
|
+
initSelects();
|
131
138
|
// allow dialog content reloading
|
132
139
|
$('.modal').on('hidden.bs.modal', function() { $(this).removeData(); })
|
133
140
|
.on('loaded.bs.modal', function() {
|
@@ -144,5 +151,6 @@ $(document).on('ready page:load', function() {
|
|
144
151
|
});
|
145
152
|
}
|
146
153
|
initImageUploads();
|
154
|
+
initSelects();
|
147
155
|
})
|
148
156
|
});
|
@@ -0,0 +1,11 @@
|
|
1
|
+
- for_context ||= context
|
2
|
+
- name ||= "#{for_context.resource.name}[#{field.name}]"
|
3
|
+
- id ||= "#{for_context.resource.name}_#{field.name}"
|
4
|
+
- value ||= field.read(for_context.entity)
|
5
|
+
- options = for_context.entity.class.enumerized_attributes[field.name].options
|
6
|
+
- opts = { name: name, id: id }
|
7
|
+
|
8
|
+
select.select2 *opts
|
9
|
+
- options.each do |option|
|
10
|
+
- selected = option[1] == value ? { selected: 'selected' } : {}
|
11
|
+
option value=option[1] *selected = option[0]
|
@@ -46,11 +46,13 @@ module AdminIt
|
|
46
46
|
I18n.t('admin_it.collection.no_data')
|
47
47
|
else
|
48
48
|
v = context.read(value.first)
|
49
|
-
v.nil? ? '' :
|
49
|
+
v.nil? ? '' : v + ' ...'
|
50
50
|
end
|
51
51
|
else
|
52
52
|
context.read(value)
|
53
53
|
end
|
54
|
+
elsif type == :enum
|
55
|
+
value.text
|
54
56
|
else
|
55
57
|
value
|
56
58
|
end
|
@@ -9,9 +9,8 @@ module AdminIt
|
|
9
9
|
entity = entity_class.find(identity)
|
10
10
|
controller.authorize(entity, "#{name}?") if AdminIt::Env.pundit?
|
11
11
|
if child?
|
12
|
-
fields
|
13
|
-
.select { |f| f.
|
14
|
-
f.assoc.klass == parent.entity_class }
|
12
|
+
fields(scope: :relation)
|
13
|
+
.select { |f| f.assoc.klass == parent.entity_class }
|
15
14
|
.each do |f|
|
16
15
|
if f.assoc.collection?
|
17
16
|
entity.send(f.name) << parent.entity
|
@@ -53,9 +52,8 @@ module AdminIt
|
|
53
52
|
def self.included(base)
|
54
53
|
base.after_initialize do
|
55
54
|
if child?
|
56
|
-
fields
|
57
|
-
.select { |f| f.
|
58
|
-
f.assoc.klass == parent.entity_class }
|
55
|
+
fields(scope: :relation)
|
56
|
+
.select { |f| f.assoc.klass == parent.entity_class }
|
59
57
|
.each do |f|
|
60
58
|
if f.assoc.collection?
|
61
59
|
entity.send(f.name) << parent.entity
|
data/lib/admin_it/field/field.rb
CHANGED
@@ -113,7 +113,10 @@ module AdminIt
|
|
113
113
|
end
|
114
114
|
|
115
115
|
def self.editor
|
116
|
-
@editor
|
116
|
+
return @editor unless @editor.nil?
|
117
|
+
return @editor = :image if type == :image
|
118
|
+
return @editor = :combo if type == :enum
|
119
|
+
@editor = EDITORS[0]
|
117
120
|
end
|
118
121
|
|
119
122
|
class_attr_reader :entity_class, :display_name, :type, :partial, :editor
|
@@ -212,7 +215,11 @@ module AdminIt
|
|
212
215
|
end
|
213
216
|
|
214
217
|
def show_value(entity)
|
215
|
-
|
218
|
+
if type == :enum
|
219
|
+
entity.send(name).text
|
220
|
+
else
|
221
|
+
read_value(entity)
|
222
|
+
end
|
216
223
|
end
|
217
224
|
|
218
225
|
def write_value(entity, value)
|
data/lib/admin_it/version.rb
CHANGED
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: admin_it
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.2.
|
4
|
+
version: 1.2.2
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Alexey Ovchinnikov
|
@@ -10,20 +10,6 @@ bindir: bin
|
|
10
10
|
cert_chain: []
|
11
11
|
date: 2014-06-09 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
|
-
- !ruby/object:Gem::Dependency
|
14
|
-
name: sprockets
|
15
|
-
requirement: !ruby/object:Gem::Requirement
|
16
|
-
requirements:
|
17
|
-
- - ">="
|
18
|
-
- !ruby/object:Gem::Version
|
19
|
-
version: '0'
|
20
|
-
type: :runtime
|
21
|
-
prerelease: false
|
22
|
-
version_requirements: !ruby/object:Gem::Requirement
|
23
|
-
requirements:
|
24
|
-
- - ">="
|
25
|
-
- !ruby/object:Gem::Version
|
26
|
-
version: '0'
|
27
13
|
- !ruby/object:Gem::Dependency
|
28
14
|
name: rails
|
29
15
|
requirement: !ruby/object:Gem::Requirement
|
@@ -94,6 +80,20 @@ dependencies:
|
|
94
80
|
- - ">="
|
95
81
|
- !ruby/object:Gem::Version
|
96
82
|
version: '0'
|
83
|
+
- !ruby/object:Gem::Dependency
|
84
|
+
name: select2-rails
|
85
|
+
requirement: !ruby/object:Gem::Requirement
|
86
|
+
requirements:
|
87
|
+
- - ">="
|
88
|
+
- !ruby/object:Gem::Version
|
89
|
+
version: '0'
|
90
|
+
type: :runtime
|
91
|
+
prerelease: false
|
92
|
+
version_requirements: !ruby/object:Gem::Requirement
|
93
|
+
requirements:
|
94
|
+
- - ">="
|
95
|
+
- !ruby/object:Gem::Version
|
96
|
+
version: '0'
|
97
97
|
- !ruby/object:Gem::Dependency
|
98
98
|
name: bundler
|
99
99
|
requirement: !ruby/object:Gem::Requirement
|
@@ -266,6 +266,7 @@ files:
|
|
266
266
|
- app/views/admin_it/context/_table.html.slim
|
267
267
|
- app/views/admin_it/context/_tiles.html.slim
|
268
268
|
- app/views/admin_it/edit.html.slim
|
269
|
+
- app/views/admin_it/editors/_combo.html.slim
|
269
270
|
- app/views/admin_it/editors/_hidden.html.slim
|
270
271
|
- app/views/admin_it/editors/_image.html.slim
|
271
272
|
- app/views/admin_it/editors/_text.html.slim
|