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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 23227402f984ba9bcd6dd0f25a801b7171acef22
4
- data.tar.gz: ad8ef38ebb8836aa18461a5c0c52396902135536
3
+ metadata.gz: e96e6d9fe0799703b334eb063cf44a1ee7498ae0
4
+ data.tar.gz: 2d67207520e2cf2cdad5409a96711587b63abdb6
5
5
  SHA512:
6
- metadata.gz: ef40e89deeb37e124babee26cf47415d466d9f0d48b5d747380c3c08315bff0c7e40a6ee27aceb67cac817c3ba7b6dc35d58009aefefd0255f68ae86920c4fe7
7
- data.tar.gz: eb042138351ebab7c1b9b12c3139c133b53438739a140dbbaf043ee9e55137516acc1343ed18e2ebfba4cbd012a362aa8d118b9ac6a4fcb248bf8ee9432fb14f
6
+ metadata.gz: ef9256ae9ff7ac5710c74fdbad74a401c72d1fa0c6b45942869cef6bf1e4fce353ca393ebe574d71cda077fa1525b75162869b57af8d5b8a37effb104aefa66b
7
+ data.tar.gz: 9638a3aef76d5b3f5a24d1463c08f60049dfc2e17b5a3402c37d4d531073e82cc893badb83a1ca1cf168bc11a30bc9760a0e115ec658f570373460d965b9571f
data/README.md CHANGED
@@ -36,6 +36,12 @@ bundle install
36
36
 
37
37
  # Changes
38
38
 
39
+ `1.2.2`
40
+ * added: select2 fields
41
+
42
+ `1.2.1`
43
+ * added: nested models support
44
+
39
45
  `1.2.0`
40
46
  * added: partials for fields
41
47
  * updated: FontAwesome to `4.1.0`
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{Admin interface}
13
- spec.summary = %q{Admin interface}
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(%r{^bin/}) { |f| File.basename(f) }
22
- spec.test_files = spec.files.grep(%r{^(test|spec|features)/})
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
  });
@@ -5,4 +5,5 @@
5
5
  //= require admin_it/jquery.fileupload
6
6
  //= require admin_it/jquery.fileupload-ui
7
7
  //= require admin_it/jquery.fileupload-process
8
+ //= require select2
8
9
  //= require admin_it/admin_it
@@ -3,5 +3,6 @@
3
3
  *= require admin_it/font-awesome.min
4
4
  *= require admin_it/jquery.fileupload
5
5
  *= require admin_it/jquery.fileupload-ui
6
+ *= require select2
6
7
  *= require admin_it/admin_it
7
8
  */
@@ -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? ? '' : context.read(value.first) + ' ...'
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.type == :relation &&
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.type == :relation &&
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
@@ -113,7 +113,10 @@ module AdminIt
113
113
  end
114
114
 
115
115
  def self.editor
116
- @editor ||= EDITORS[0]
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
- read_value(entity)
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)
@@ -1,5 +1,5 @@
1
1
  #
2
2
  module AdminIt
3
3
  # Current gem version
4
- VERSION = '1.2.1'
4
+ VERSION = '1.2.2'
5
5
  end
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.1
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