- if ['string', 'integer', 'phone', 'email', 'address', 'url', 'domain'].include?(@object.type) = form.text_field :raw, :value => field.value - if @object.type == 'boolean' = form.check_box :raw, {:value => field.value}, 'true', 'false' - if @object.type == 'color' = form.text_field :raw, :value => field.value, 'data-color' => true, style: "background-color: ##{field.value}" - elsif %w(text yaml phones).include?( @object.type ) = form.text_area :raw, :value => field.value, :rows => 10, :cols => 80 - elsif @object.type == 'code' :ruby #binding.pry js_data = { csspath: asset_path('codemirror.css'), jspath: asset_path('codemirror.js'), options: { mode: 'htmlmixed', theme: 'monokai', lineNumbers: true }, locations: { mode: asset_path('codemirror/modes/htmlmixed.js'), theme: asset_path('codemirror/themes/monokai.css') } } = form.text_area field.method_name, field.html_attributes.reverse_merge(data: { richtext: 'codemirror', options: js_data.to_json }).reverse_merge({ value: field.form_value }) - elsif @object.type == 'html' || @object.type == 'sanitized' - if form.respond_to?(:cktext_area) = javascript_include_tag "ckeditor/init" = form.cktext_area :raw, :value => field.value, :rows => 10, :cols => 80 - elsif Object.const_defined?('Rich') = form.text_area :raw, :value => field.value, :rows => 10, :cols => 80 = javascript_include_tag "rich/base.js" :javascript var instance = CKEDITOR.instances['#{form.dom_id(field)}']; if(instance) { CKEDITOR.remove(instance); } CKEDITOR.replace('#{form.dom_id(field)}', #{Rich.options().to_json.html_safe}); - else .alert.alert-error = t('admin.settings.no_ckeditor_detected') = form.text_area :raw, :value => field.value, :rows => 10, :cols => 80 - elsif @object.type == 'enum' -# temporary - unless @object.enum_multiple = form.select :raw, @object.enum_collection, { include_blank: true, selected: @object.raw }, { data: { enumeration: true }, placeholder: t('admin.misc.search') } - else :ruby js_data = { xhr: false, sortable: false, cacheAll: true, regional: { chooseAll: t("admin.misc.chose_all"), chosen: t("admin.misc.chosen", name: @object.enum_label), clearAll: t("admin.misc.clear_all"), search: t("admin.misc.search"), up: t("admin.misc.up"), down: t("admin.misc.down") } } = form.select :raw, @object.enum_collection, { selected: @object.raw, object: @object }, {data: { filteringmultiselect: true, options: js_data.to_json }, multiple: true} - elsif @object.type == 'js' :ruby #binding.pry js_data = { csspath: asset_path('codemirror.css'), jspath: asset_path('codemirror.js'), options: { mode: 'js', theme: 'night', lineNumbers: true }, locations: { mode: asset_path('codemirror/modes/jsx.js'), theme: asset_path('codemirror/themes/night.css') } } = form.text_area field.method_name, field.html_attributes.reverse_merge(data: { richtext: 'codemirror', options: js_data.to_json }).reverse_merge({ value: field.form_value }) - elsif @object.type == 'css' :ruby #binding.pry js_data = { csspath: asset_path('codemirror.css'), jspath: asset_path('codemirror.js'), options: { mode: 'css', theme: 'night', lineNumbers: true }, locations: { mode: asset_path('codemirror/modes/css.js'), theme: asset_path('codemirror/themes/night.css') } } = form.text_area field.method_name, field.html_attributes.reverse_merge(data: { richtext: 'codemirror', options: js_data.to_json }).reverse_merge({ value: field.form_value }) - elsif @object.type == 'array' = javascript_include_tag 'rails_admin_settings/array' = form.hidden_field field.method_name, value: "", multiple: true - (field.value || []).each do |val| = render partial: 'rails_admin/main/rails_admin_settings/array/element', locals: {form: form, field: field, val: val} - _template = capture do = render partial: 'rails_admin/main/rails_admin_settings/array/element', locals: {form: form, field: field, val: ""} %p = link_to "добавить", "#", class: "rails_admin_settings_array_element_add_link", data: {template: _template.html_safe} - elsif @object.type == 'hash' = javascript_include_tag 'rails_admin_settings/hash' = stylesheet_link_tag 'rails_admin_settings/hash' - (field.value || {}).each_pair do |name, val| = render partial: 'rails_admin/main/rails_admin_settings/hash/element', locals: {form: form, field: field, name: name, val: val} - _template = capture do - name, val = "new", "" = render partial: 'rails_admin/main/rails_admin_settings/hash/element', locals: {form: form, field: field, name: name, val: val} %p = link_to "добавить", "#", class: "rails_admin_settings_hash_element_add_link", data: {template: _template.html_safe} / = " | " / = link_to "показать дубликаты", "#", class: "rails_admin_settings_hash_element_duplicate_trigger", data: {text: "скрыть дубликаты"}