admin_it 1.0.7 → 1.0.8

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.
Files changed (43) hide show
  1. checksums.yaml +4 -4
  2. data/.ruby-version +1 -0
  3. data/README.md +6 -0
  4. data/lib/admin_it/context/collection_context.rb +5 -22
  5. data/lib/admin_it/context/context.rb +13 -34
  6. data/lib/admin_it/context/show_context.rb +8 -7
  7. data/lib/admin_it/context/single_context.rb +35 -33
  8. data/lib/admin_it/context/table_context.rb +18 -11
  9. data/lib/admin_it/context/tiles_context.rb +14 -14
  10. data/lib/admin_it/data/active_record.rb +0 -2
  11. data/lib/admin_it/field/field.rb +95 -23
  12. data/lib/admin_it/filters/field_filter.rb +4 -0
  13. data/lib/admin_it/filters/filter.rb +37 -14
  14. data/lib/admin_it/helpers/table.rb +13 -17
  15. data/lib/admin_it/resource.rb +58 -115
  16. data/lib/admin_it/shared.rb +64 -0
  17. data/lib/admin_it/version.rb +1 -1
  18. data/lib/admin_it.rb +7 -5
  19. data/lib/extend_it/array_of.rb +3 -3
  20. data/lib/extend_it/asserts.rb +5 -3
  21. data/lib/extend_it/{class.rb → base.rb} +29 -10
  22. data/lib/extend_it/callbacks.rb +7 -7
  23. data/lib/extend_it/config.rb +30 -0
  24. data/lib/extend_it/dsl.rb +223 -64
  25. data/lib/extend_it/ensures.rb +193 -0
  26. data/lib/extend_it.rb +1 -1
  27. data/spec/extend_it/config_spec.rb +52 -0
  28. data/spec/extend_it/dsl_spec.rb +149 -0
  29. data/spec/extend_it/ensures_spec.rb +39 -0
  30. data/spec/lib/context/collection_context_spec.rb +4 -2
  31. data/spec/lib/context/context_spec.rb +3 -1
  32. data/spec/lib/context/single_context_spec.rb +3 -2
  33. data/spec/lib/data/object_spec.rb +2 -2
  34. data/spec/lib/field_spec.rb +1 -56
  35. data/spec/lib/resource_spec.rb +1 -13
  36. data/spec/spec_helper.rb +7 -0
  37. data/spec/support/example_groups/context_example_group.rb +3 -3
  38. metadata +14 -11
  39. data/lib/admin_it/renderable.rb +0 -18
  40. data/lib/extend_it/refines.rb +0 -6
  41. data/lib/extend_it/symbolize.rb +0 -39
  42. data/spec/lib/definitions_spec.rb +0 -171
  43. data/spec/lib/utils_spec.rb +0 -39
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: c69b40dfe779b858729883eea07b1077f74216b4
4
- data.tar.gz: 7ba60b0a798165f512348b509411fffad8f1d17f
3
+ metadata.gz: f3c78b05180f3886708f8ebb99413ae49d655d1d
4
+ data.tar.gz: 777702fc5bc52596130f80447c686859460d442f
5
5
  SHA512:
6
- metadata.gz: 7a55e137e2e089570a4a00faeeee9eeb1cc38657b5055b3153d304e785a1b6109cf1a1281b9e525ab9185d4c04c3906105711678f573bee09d5fe43d2b1a7452
7
- data.tar.gz: 7bbfd6ff962a80ac79adeb880730693c072d5b003828f5d6c27d9b2dbd9da95e6154752d63689557de88f908760f2834032052c1a1e0cd587aa07d15597b33d6
6
+ metadata.gz: 8d1eca80d0a17486ef98a48c0d74bd5b146c37b04b4ffa98849231077bad3f73f0a2bc5368da5ff58b39427e82811ee8604a01494258084ac228938a37499c13
7
+ data.tar.gz: 3b51e836dc3cd9742b06e33a479f48e2f4d4a8af7e525eda044361ce838e797b86e82b37fd5982327e3d845efe96793e049d6fea792cd7156acb352720056122
data/.ruby-version ADDED
@@ -0,0 +1 @@
1
+ 2.1.1
data/README.md CHANGED
@@ -38,6 +38,12 @@ bundle install
38
38
 
39
39
  # Changes
40
40
 
41
+ `1.0.8`
42
+
43
+ * dsl code fully refactored
44
+ * test coverage enlarged
45
+ * added: select specific filters for context
46
+
41
47
  `1.0.7`
42
48
 
43
49
  * destoy entity fixed
@@ -1,19 +1,17 @@
1
1
  require 'json'
2
2
  require 'csv'
3
- require File.join %w(extend_it symbolize)
4
-
5
- using ExtendIt::Symbolize
6
3
 
7
4
  module AdminIt
8
5
  class CollectionContext < Context
9
6
  extend FiltersHolder
10
7
 
11
- @entities_getter = nil
12
-
13
8
  class << self
14
- dsl_block :entities
9
+ attr_reader :entities_getter, :default_sorting
10
+ end
11
+
12
+ dsl do
13
+ dsl_block :entities, variable: :entities_getter
15
14
  dsl_accessor :default_sorting
16
- dsl_use_hash :filters
17
15
  end
18
16
 
19
17
  def self.before_configure
@@ -27,21 +25,6 @@ module AdminIt
27
25
  ]
28
26
  end
29
27
 
30
- def self.filter(name, filter_class: nil, &block)
31
- assert_symbol(:name)
32
- if @filters.key?(name)
33
- filter = @filters[name] = Class.new(@filters[name]) if block_given?
34
- else
35
- filter_class = Filter if filter_class.nil? || !filter_class <= Filter
36
- filter = @filters[name] = filter_class.create(name, self)
37
- end
38
- filter.instance_eval(&block) if block_given?
39
- end
40
-
41
- def self.entities_getter
42
- @entities
43
- end
44
-
45
28
  def self.collection?
46
29
  true
47
30
  end
@@ -1,35 +1,32 @@
1
1
  require 'uri'
2
2
  require File.join %w(extend_it dsl)
3
- require File.join %w(extend_it array_of)
4
- require File.join %w(extend_it symbolize)
3
+ require File.join %w(extend_it base)
4
+ require File.join %w(extend_it callbacks)
5
5
 
6
- using ExtendIt::Symbolize
6
+ using ExtendIt::Ensures
7
7
 
8
8
  module AdminIt
9
9
  class Context
10
- extend ExtendIt::Class
10
+ extend ExtendIt::Base
11
11
  extend ExtendIt::Dsl
12
- include ExtendIt::Callbacks
13
- extend DataBehavior
12
+ extend Iconed
14
13
  extend FieldsHolder
14
+ extend DataBehavior
15
+ include ExtendIt::Callbacks
15
16
 
16
17
  class << self
17
- extend ExtendIt::Dsl
18
-
19
18
  attr_reader :context_name
20
19
  attr_accessor :controller_class
20
+ end
21
21
 
22
- dsl_accessor :icon do |value|
23
- value.nil? ? default_icon : value.to_s
24
- end
25
- dsl_use_hash :fields
22
+ dsl do
26
23
  dsl_boolean :confirm_destroy
27
24
  end
28
25
 
29
26
  inherited_class_reader :resource, :entity_class
30
27
  define_callbacks :initialize, :load, :save
31
28
 
32
- def self.create(context_name, _resource, &block)
29
+ def self.create(context_name, _resource)
33
30
  fail ArgumentError, 'Wrong resource' unless _resource.is_a?(Resource)
34
31
  base = self
35
32
  Class.new(base) do
@@ -45,21 +42,11 @@ module AdminIt
45
42
  ]
46
43
 
47
44
  before_configure if respond_to?(:before_configure)
48
- instance_eval(&block) if block_given?
49
- after_configure if respond_to?(:after_configure)
50
45
  end
51
46
  end
52
47
 
53
- def self.field(*names, field_class: nil, &block)
54
- names.ensure_symbols.each do |name|
55
- if @fields.key?(name)
56
- field = @fields[name] = Class.new(@fields[name]) if block_given?
57
- else
58
- field_class = Field if field_class.nil? || !field_class <= Field
59
- field = @fields[name] = field_class.create(name, entity_class)
60
- end
61
- field.instance_eval(&block) if block_given?
62
- end
48
+ def self.confirm_destroy?
49
+ @confirm_destroy.nil? ? true : @confirm_destroy == true
63
50
  end
64
51
 
65
52
  def self.collection?
@@ -84,15 +71,7 @@ module AdminIt
84
71
  url
85
72
  end
86
73
 
87
- class << self
88
- protected
89
-
90
- def default_icon
91
- ''
92
- end
93
- end
94
-
95
- class_attr_reader :collection?, :single?, :entity_class, :resource, :icon,
74
+ class_attr_reader :collection?, :single?, :entity_class, :resource,
96
75
  :entity_path?, :confirm_destroy?
97
76
  attr_reader :top_menu, :toolbar, :parent, :template, :controller
98
77
 
@@ -1,12 +1,11 @@
1
1
  module AdminIt
2
2
  class ShowContext < SingleContext
3
+ extend Renderable
3
4
  include Identifiable
4
5
 
5
6
  CONFIRMS = %i(destroy update)
6
7
 
7
8
  class << self
8
- include Renderable
9
-
10
9
  protected
11
10
 
12
11
  def default_icon
@@ -14,15 +13,17 @@ module AdminIt
14
13
  end
15
14
  end
16
15
 
16
+ dsl do
17
+ dsl_block :read
18
+ end
19
+
17
20
  def self.entity_path?
18
21
  true
19
22
  end
20
23
 
21
- def self.read(entity = nil, &block)
22
- if entity.nil?
23
- @reader = block if block_given?
24
- elsif !@reader.nil?
25
- @reader.call(entity)
24
+ def self.read(entity)
25
+ unless @read.nil?
26
+ @read.call(entity)
26
27
  end
27
28
  end
28
29
 
@@ -1,18 +1,29 @@
1
- require File.join %w(extend_it dsl)
2
- require File.join %w(extend_it symbolize)
3
-
4
- using ExtendIt::Symbolize
5
-
6
1
  module AdminIt
7
2
  class Section
8
- extend ExtendIt::Dsl
3
+ extend ExtendIt::Base
4
+ include ExtendIt::Dsl
9
5
  include Renderable
10
- dsl_accessor :name, :display_name
11
- dsl_boolean :visible
12
- # dsl_block :render_context
6
+
7
+ attr_reader :name, :display_name
8
+
9
+ dsl do
10
+ dsl_accessor :name, :display_name
11
+ dsl_boolean :visible
12
+ end
13
+
14
+ def visible?
15
+ @visible.nil? ? @visible = true : @visible == true
16
+ end
17
+
13
18
  def fields(*names)
14
19
  names.empty? ? @fields ||= [] : @fields = names
15
20
  end
21
+
22
+ def initialize(name, *fields, display_name: nil)
23
+ @name = name
24
+ @display_name = display_name || name
25
+ @fields = fields
26
+ end
16
27
  end
17
28
 
18
29
  module Identifiable
@@ -33,37 +44,28 @@ module AdminIt
33
44
  end
34
45
 
35
46
  class SingleContext < Context
36
- class << self
47
+ dsl do
37
48
  dsl_block :entity_getter, :entity_saver, :entity_destroyer
49
+
50
+ dsl_hash_of_objects :sections, single: :section do |name, **opts|
51
+ if @sections.empty?
52
+ # TODO: require this and other files after I18n config in engine.rb
53
+ #general.display_name(I18n.t('admin_it.collection.no_data'))
54
+ general = Section.new(
55
+ :general,
56
+ *fields.map(&:field_name),
57
+ display_name: 'Основные свойства'
58
+ )
59
+ @sections[:general] = general
60
+ end
61
+ Section.new(name)
62
+ end
38
63
  end
39
64
 
40
65
  def self.sections
41
66
  (@sections ||= {}).values
42
67
  end
43
68
 
44
- def self.section(*names, &block)
45
- @sections ||= {}
46
- names.ensure_symbols.each do |name|
47
- if @sections.key?(name)
48
- section = @sections[name]
49
- else
50
- if @sections.empty?
51
- general = Section.new
52
- general.name(:general)
53
- # TODO: require this and other files after I18n config in engine.rb
54
- #general.display_name(I18n.t('admin_it.collection.no_data'))
55
- general.display_name('Основные свойства')
56
- general.fields(*fields.map(&:field_name))
57
- @sections[:general] = general
58
- end
59
- section = Section.new
60
- section.name(name)
61
- @sections[name] = section
62
- end
63
- section.instance_eval(&block) if block_given?
64
- end
65
- end
66
-
67
69
  def self.single?
68
70
  true
69
71
  end
@@ -1,16 +1,12 @@
1
- require File.join %w(extend_it dsl)
2
-
3
1
  module AdminIt
4
2
  class TableContext < CollectionContext
5
- class << self
6
- dsl_accessor :page_size, default: 10 do |value|
7
- value.is_a?(Fixnum) && value > 0 ? value : 10
8
- end
9
-
3
+ dsl do
4
+ dsl_accessor :page_size, default: 10
10
5
  dsl_boolean :actions
11
-
12
6
  dsl_block :row
7
+ end
13
8
 
9
+ class << self
14
10
  protected
15
11
 
16
12
  def default_icon
@@ -18,12 +14,23 @@ module AdminIt
18
14
  end
19
15
  end
20
16
 
17
+ def self.actions?
18
+ @actions.nil? ? true : @actions == true
19
+ end
20
+
21
+ def self.page_size
22
+ @page_size ||= 10
23
+ end
24
+
25
+ def self.page_size=(value)
26
+ @page_size = value.is_a?(Fixnum) && value > 0 ? value : 10
27
+ end
28
+
21
29
  def self.path
22
- AdminIt::Engine.routes
23
- .url_helpers.send("table_#{resource.plural}_path")
30
+ AdminIt::Engine.routes.url_helpers.send("table_#{resource.plural}_path")
24
31
  end
25
32
 
26
- class_attr_reader :page_size, :actions?
33
+ class_attr_reader :page_size, :actions?, :row
27
34
 
28
35
  after_load do |store: {}, params: {}|
29
36
  self.page = params[:page] || store[:page]
@@ -1,24 +1,15 @@
1
- require File.join %w(extend_it dsl)
2
-
3
1
  module AdminIt
4
2
  class TilesContext < CollectionContext
5
- class << self
3
+ dsl do
6
4
  dsl_accessor :header do |value|
7
- if value.nil?
8
- fields.empty? ? nil : fields.first.name
9
- else
10
- field = fields.find { |f| f.field_name == value }
11
- field.nil? ? header(nil) : field.field_name
12
- end
5
+ field = fields.find { |f| f.field_name == value }
6
+ field.nil? ? header : field.field_name
13
7
  end
14
8
  end
15
9
 
16
- def self.path
17
- AdminIt::Engine.routes
18
- .url_helpers.send("tiles_#{resource.plural}_path")
19
- end
20
-
21
10
  class << self
11
+ attr_reader :header
12
+
22
13
  protected
23
14
 
24
15
  def default_icon
@@ -26,6 +17,15 @@ module AdminIt
26
17
  end
27
18
  end
28
19
 
20
+ def self.header
21
+ fields.empty? ? nil : fields.first.name
22
+ end
23
+
24
+ def self.path
25
+ AdminIt::Engine.routes
26
+ .url_helpers.send("tiles_#{resource.plural}_path")
27
+ end
28
+
29
29
  class_attr_reader :header
30
30
  end
31
31
  end
@@ -1,5 +1,3 @@
1
- require File.join %w(extend_it class)
2
-
3
1
  module AdminIt
4
2
  module ActiveRecordData
5
3
  module Resource
@@ -1,4 +1,4 @@
1
- require File.join %w(extend_it class)
1
+ require File.join %w(extend_it base)
2
2
  require File.join %w(extend_it dsl)
3
3
  require File.join %w(extend_it callbacks)
4
4
 
@@ -9,42 +9,60 @@ module AdminIt
9
9
  # @author [alexiss]
10
10
  #
11
11
  class Field
12
- extend ExtendIt::Class
12
+ extend ExtendIt::Base
13
13
  extend DataBehavior
14
+ extend ExtendIt::Dsl
15
+ extend DisplayableName
14
16
  include ExtendIt::Callbacks
15
17
 
16
18
  TYPES = %i(unknown integer float string date relation enum)
17
19
 
18
- define_callbacks :initialize#, :configure
20
+ define_callbacks :initialize
19
21
 
20
- class << self
21
- extend ExtendIt::Dsl
22
+ dsl do
23
+ dsl_accessor :type, default: TYPES[0]
22
24
 
23
- # attr_reader :field_name, :entity_class
25
+ dsl_accessor :placeholder
24
26
 
25
- dsl_accessor :display_name do |value = nil|
26
- value.nil? ? default_display_name : value.to_s
27
- end
27
+ dsl_boolean :readable, :writable, :visible, :sortable
28
28
 
29
- dsl_accessor :type, default: TYPES[0] do |value|
30
- TYPES.include?(value) ? value : TYPES[0]
31
- end
29
+ dsl_block :read, :write, :render, :display
32
30
 
33
- dsl_accessor :placeholder do |value = nil|
34
- value.nil? ? display_name : value
31
+ def hide
32
+ @visible = false
35
33
  end
36
34
 
37
- dsl_boolean :readable, :writable, :visible, :sortable
35
+ def show
36
+ @visible = true
37
+ end
38
+ end
38
39
 
39
- dsl_block :read, :write, :render, :display
40
+ class << self
41
+ attr_reader :type, :read, :write, :render, :display
40
42
 
41
43
  protected
42
44
 
43
45
  def default_display_name
44
- name.to_s
46
+ field_name
45
47
  end
46
48
  end
47
49
 
50
+ def self.readable?
51
+ @readable.nil? ? @readable = true : @readable == true
52
+ end
53
+
54
+ def self.writable?
55
+ @writable.nil? ? @writable = true : @writable == true
56
+ end
57
+
58
+ def self.visible?
59
+ @visible.nil? ? @visible = true : @visible == true
60
+ end
61
+
62
+ def self.sortable?
63
+ @sortable.nil? ? @sortable = true : @sortable == true
64
+ end
65
+
48
66
  inherited_class_reader :field_name, :entity_class
49
67
 
50
68
  def self.create(name, _entity_class,
@@ -56,18 +74,24 @@ module AdminIt
56
74
  )
57
75
  base = self
58
76
  Class.new(base) do
59
- #run_callbacks :configure do
60
77
  @field_name, @entity_class = name, _entity_class
61
78
  import_data_module(base)
62
- self.readable = readable
63
- self.writable = writable
64
- self.visible = visible
65
- self.sortable = sortable
79
+ @readable = readable == true
80
+ @writable = writable == true
81
+ @visible = visible == true
82
+ @sortable = sortable == true
66
83
  self.type = type
67
- #end
68
84
  end
69
85
  end
70
86
 
87
+ def self.type=(value)
88
+ TYPES.include?(value) ? value : TYPES[0]
89
+ end
90
+
91
+ def self.placeholder
92
+ @placeholder ||= display_name
93
+ end
94
+
71
95
  def self.hide
72
96
  @visible = false
73
97
  end
@@ -171,4 +195,52 @@ module AdminIt
171
195
  "Attempt to write to field #{name} with unimplemented writer"
172
196
  end
173
197
  end
198
+
199
+ module FieldsHolder
200
+ extend ExtendIt::DslModule
201
+
202
+ dsl do
203
+ dsl_hash_of_objects :fields, single: :field do |name, **opts|
204
+ field_class = opts[:class] || opts[:field_class] || Field
205
+ unless field_class.is_a?(Class) && field_class <= Field
206
+ fail(
207
+ ArgumentError,
208
+ 'field class should be AdminIt::Field descendant'
209
+ )
210
+ end
211
+ field_class.create(name, entity_class)
212
+ end
213
+
214
+ def hide_fields(*names)
215
+ hash = dsl_get(:fields, {})
216
+ names.ensure_symbols.each do |name|
217
+ hash[name].hide if hash.key?(name)
218
+ end
219
+ end
220
+
221
+ def show_fields(*names)
222
+ hash = dsl_get(:fields, {})
223
+ names.ensure_symbols.each do |name|
224
+ hash[name].show if hash.key?(name)
225
+ end
226
+ end
227
+ end
228
+
229
+ def fields(scope: :visible)
230
+ case scope
231
+ when nil, :all then @fields.values
232
+ when :visible then @fields.values.select { |f| f.visible? }
233
+ when :hidden then @fields.values.select { |f| !f.visible? }
234
+ when :readable then @fields.values.select { |f| f.readable? }
235
+ when :writable then @fields.values.select { |f| f.writable? }
236
+ when :sortable then @fields.values.select { |f| f.sortable? }
237
+ when Field::TYPES then @fields.values.select { |f| f.type == scope }
238
+ else @fields.values
239
+ end
240
+ end
241
+
242
+ def field(name)
243
+ @fields[name.ensure_symbol]
244
+ end
245
+ end
174
246
  end
@@ -1,5 +1,9 @@
1
1
  module AdminIt
2
2
  class FieldFilter < Filter
3
+ dsl do
4
+ dsl_accessor :field
5
+ end
6
+
3
7
  class << self
4
8
  attr_reader :field
5
9
 
@@ -1,19 +1,16 @@
1
1
  require 'date'
2
2
  require 'json'
3
- require File.join %w(extend_it class)
3
+ require File.join %w(extend_it base)
4
4
  require File.join %w(extend_it dsl)
5
5
  require File.join %w(extend_it callbacks)
6
- require File.join %w(extend_it asserts)
7
- require File.join %w(extend_it symbolize)
8
-
9
- using ExtendIt::Symbolize
10
6
 
11
7
  module AdminIt
12
8
  class Filter
13
- extend ExtendIt::Class
9
+ extend ExtendIt::Base
10
+ extend ExtendIt::Dsl
14
11
  extend DataBehavior
12
+ extend DisplayableName
15
13
  include ExtendIt::Callbacks
16
- extend ExtendIt::Asserts
17
14
 
18
15
  REGEXP = /
19
16
  (?<=\A|[,;|])\s*
@@ -41,18 +38,16 @@ module AdminIt
41
38
  define_callbacks :initialize, :save, :load
42
39
 
43
40
  class << self
44
- extend ExtendIt::Dsl
45
-
46
41
  attr_reader :filter_name, :resource
47
42
 
48
- dsl_accessor :display_name do |value = nil|
49
- value.nil? ? default_display_name : value.to_s
50
- end
51
-
52
43
  protected
53
44
 
54
45
  def create_class(name, _resource)
55
- assert_symbol(:name, binding: binding)
46
+ name = name.ensure_symbol || fail(
47
+ ArgumentError,
48
+ '`name` argument for `Filter::create_class` should be a Symbol' \
49
+ ' or a String'
50
+ )
56
51
  base = self
57
52
  Class.new(base) do
58
53
  @filter_name, @resource = name, _resource
@@ -211,4 +206,32 @@ module AdminIt
211
206
  end
212
207
  end
213
208
  end
209
+
210
+ module FiltersHolder
211
+ extend ExtendIt::DslModule
212
+
213
+ dsl do
214
+ dsl_hash_of_objects :filters, single: :filter do |name, **opts|
215
+ filter_class = opts[:class] || opts[:filter_class] || Filter
216
+ unless filter_class.is_a?(Class) && filter_class <= Filter
217
+ fail(
218
+ ArgumentError,
219
+ 'filter class should be AdminIt::Filter descendant'
220
+ )
221
+ end
222
+ filter_class.create(name, entity_class)
223
+ end
224
+ end
225
+
226
+ def filters(scope: :all)
227
+ case scope
228
+ when nil, :all then @filters.values
229
+ else @filters.values
230
+ end
231
+ end
232
+
233
+ def filter(name)
234
+ @filters[name.ensure_symbol]
235
+ end
236
+ end
214
237
  end
@@ -34,28 +34,24 @@ module AdminIt
34
34
  if context.confirm_destroy?
35
35
  confirm = single.find { |c| c.context_name == :confirm } ||
36
36
  single.first { |c| c <= ShowContext }
37
- buttons << if confirm.nil?
38
- @template.link_to(
37
+ unless confirm.nil?
38
+ buttons <<
39
+ '<a class="btn btn-xs btn-danger" ' +
40
+ %Q{data-toggle="modal" data-target="#confirm_modal" } +
41
+ %Q{href="#{confirm.path(entity)}} +
42
+ '?layout=dialog&confirm=destroy">' +
43
+ '<i class="fa fa-trash-o"></i></a>'
44
+ end
45
+ else
46
+ show = single.first { |c| c <= ShowContext }
47
+ unless show.nil?
48
+ buttons << @template.link_to(
39
49
  html_safe('<i class="fa fa-trash-o"></i>'),
40
50
  show.path(entity),
41
51
  method: :delete,
42
- confirm: I18n.t('admin_it.confirm.destroy.text'),
43
52
  class: 'btn btn-xs btn-danger'
44
53
  )
45
- else
46
- '<a class="btn btn-xs btn-danger" ' +
47
- %Q{data-toggle="modal" data-target="#confirm_modal" } +
48
- %Q{href="#{confirm.path(entity)}} +
49
- '?layout=dialog&confirm=destroy">' +
50
- '<i class="fa fa-trash-o"></i></a>'
51
54
  end
52
- else
53
- buttons << @template.link_to(
54
- html_safe('<i class="fa fa-trash-o"></i>'),
55
- show.path(entity),
56
- method: :delete,
57
- class: 'btn btn-xs btn-danger'
58
- )
59
55
  end
60
56
  end
61
57
 
@@ -77,7 +73,7 @@ module AdminIt
77
73
  child :actions, ActionsCell
78
74
 
79
75
  before_capture do
80
- block = parent.context.class.row
76
+ block = parent.context.row
81
77
  unless block.nil?
82
78
  instance_exec(parent.context.entity, &block)
83
79
  end