admin_it 1.2.1 → 1.2.2

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 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