forked from sudosu/rails_admin_mongoid_localize_field
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathrails_admin_mongoid_localize_field.rb
89 lines (64 loc) · 2.17 KB
/
rails_admin_mongoid_localize_field.rb
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
require "rails_admin_mongoid_localize_field/engine"
require 'active_support/concern'
require 'rails_admin/config/fields'
require 'rails_admin/config/fields/base'
require 'rails_admin/config/fields/types/string'
require 'rails_admin/config/fields/types/text'
require 'rails_admin/config/fields/types/ck_editor'
require 'rails_admin/config/fields/types/code_mirror'
require 'rails_admin/config/fields/types/wysihtml5'
module RegisterInstances
extend ActiveSupport::Concern
included do
register_instance_option :translations_field do
(name.to_s + '_translations').to_sym
end
register_instance_option :localized? do
@abstract_model.model_name.constantize.public_instance_methods.include?(translations_field)
end
register_instance_option :tabbed do
true
end
register_instance_option :allowed_methods do
localized? ? [method_name, translations_field] : [method_name]
end
end
end
module RailsAdmin
module Config
module Fields
module Types
RailsAdmin::Config::Fields::Types::Text.class_eval do
include RegisterInstances
register_instance_option :partial do
localized? ? :form_textml : :form_text
end
end
RailsAdmin::Config::Fields::Types::CKEditor.class_eval do
include RegisterInstances
register_instance_option :partial do
localized? ? :form_ck_editorml : :form_ck_editor
end
end
RailsAdmin::Config::Fields::Types::CodeMirror.class_eval do
include RegisterInstances
register_instance_option :partial do
localized? ? :form_code_mirrorml : :form_code_mirror
end
end
RailsAdmin::Config::Fields::Types::Wysihtml5.class_eval do
include RegisterInstances
register_instance_option :partial do
localized? ? :form_wysihtml5ml : :form_wysihtml5
end
end
RailsAdmin::Config::Fields::Types::String.class_eval do
include RegisterInstances
register_instance_option :partial do
localized? ? :form_fieldml : :form_field
end
end
end
end
end
end