diff --git a/Bowerfile b/Bowerfile index 54a754dd..19bf4d4b 100644 --- a/Bowerfile +++ b/Bowerfile @@ -11,7 +11,7 @@ asset 'leaflet' asset 'data-tables', :github => 'DataTables/DataTables' asset 'flot', :github => 'flot/flot' asset 'knob', :github => 'aterrien/jQuery-Knob' -asset 'uniform', :github => 'AudithSoftworks/Uniform', :ref => 'v2.2.0' +asset 'uniform', :github => 'AudithSoftworks/Uniform' asset 'jquery-ui', :github => 'jquery/jquery-ui#1.11.4' asset 'jquery-filthypillow', :github => 'Rademade/jquery.filthypillow#master' asset 'magnific-popup', :github => 'dimsemenov/Magnific-Popup' @@ -31,3 +31,6 @@ asset 'jquery-form', :github => 'malsup/form' asset 'jquery-serialize', :github => 'macek/jquery-serialize-object' asset 'jquery-formrestrict', :github => 'treyhunner/jquery-formrestrict' asset 'jquery-validation', :github => 'jzaefferer/jquery-validation#v1.13.1' + +#Thead +asset 'floatThead', :github => 'mkoryak/floatThead' diff --git a/README.md b/README.md index 651f3ac9..0421e66e 100644 --- a/README.md +++ b/README.md @@ -16,82 +16,15 @@ rademade_admin **Best rails admin panel!** - -How to use it +Live demo -------------- +1. [http://admin.rademade.com/login](http://admin.rademade.com/login) +2. Login: mrtom@rademade.com +3. Password: 123456 -1) Add `gem 'rademade_admin'` to Gemfile - -2) Update `config/initializers/assets.rb` with line: -```ruby -config.assets.precompile += %w(rademade_admin.css rademade_admin.js) -``` - -3) Mount rails engine at routing.rb `mount RademadeAdmin::Engine => '/admin'` - -4) Create `User` model and other needed models -```ruby -class User < ActiveRecord::Base - include RademadeAdmin::UserModule - - has_secure_password - - validates :password, length: { minimum: 8 }, allow_nil: true - - def self.get_by_email(email) - where(email: email).first - end - - alias valid_password? authenticate - - def to_s - email - end - -end -``` - - -5) Add rademade_admin initializer `initializers/rademade_admin.rb` -```ruby -RademadeAdmin.configure do |config| - config.admin_class = User -end - -``` - -6) Create admin controller. Example `app/controllers/rademade_admin/users_controller.rb` -```ruby -class RademadeAdmin::UsersController < RademadeAdmin::ModelController - - # You can leave controller absolutely empty! - - options do - list do - email - end - form do - first_name - email - password :hint => 'Or leave it empty' - end - end - -end -``` - -7) Add `admin_resources` to `routers.rb` -```ruby -namespace :rademade_admin, :path => 'admin' do - admin_resources :users -end -``` - -8) Install assets with bower `rake rademade_admin:bower:install` - -9) Start rails `rails s` - -**Good luck :)** +How to install +-------------- +[https://github.com/Rademade/rademade_admin/wiki/install](https://github.com/Rademade/rademade_admin/wiki/install) Supported options @@ -99,6 +32,9 @@ Supported options ```ruby options do model 'ModelName' + + # Fixed table head if need + fixed_thead true # Navigation menu settings parent_menu 'ModelName' diff --git a/app/assets/javascripts/app/common/uploader.coffee b/app/assets/javascripts/app/common/uploader.coffee index 69e5cded..198cbc85 100644 --- a/app/assets/javascripts/app/common/uploader.coffee +++ b/app/assets/javascripts/app/common/uploader.coffee @@ -23,7 +23,7 @@ class @Uploader extends Backbone.View updateUploader : (result) => @$el.find('[data-preview-item]').replaceWith(result.html) @$el.find('.upload-holder.hide').removeClass('hide') - @$hidden.val(result.file[@$uploader.data('column')].url) + @$hidden.val(result.file.url) ImagePreview.initPlugin() showLoader : () -> diff --git a/app/assets/javascripts/app/select2/related/collection-view.coffee b/app/assets/javascripts/app/select2/related/collection-view.coffee index 4876480c..c7181e3e 100644 --- a/app/assets/javascripts/app/select2/related/collection-view.coffee +++ b/app/assets/javascripts/app/select2/related/collection-view.coffee @@ -24,6 +24,8 @@ class @Select2Input.RelatedCollectionView extends Backbone.View views = [] collection = new Select2Input.RelatedCollection collection.setSortable $list.data('sortable') + collection.setDeletable $list.data('deletable') + $list.find('li').each () -> relatedView = Select2Input.RelatedView.init $(this) views.push relatedView diff --git a/app/assets/javascripts/app/select2/related/collection.coffee b/app/assets/javascripts/app/select2/related/collection.coffee index ad04582c..b55ab798 100644 --- a/app/assets/javascripts/app/select2/related/collection.coffee +++ b/app/assets/javascripts/app/select2/related/collection.coffee @@ -16,9 +16,15 @@ class @Select2Input.RelatedCollection extends Backbone.Collection setSortable : (sortable) -> @sortable = sortable + setDeletable : (deletable) -> + @deletable = deletable + isSortable : () -> @sortable + isDeletable : () -> + @deletable + resort : () -> @sort() @_triggerChange() diff --git a/app/assets/javascripts/app/select2/related/view.coffee b/app/assets/javascripts/app/select2/related/view.coffee index 0b9e6f7b..e5bf434f 100644 --- a/app/assets/javascripts/app/select2/related/view.coffee +++ b/app/assets/javascripts/app/select2/related/view.coffee @@ -32,9 +32,16 @@ class @Select2Input.RelatedView extends Backbone.View else false + isDeletable: () -> + if @model.collection + @model.collection.isDeletable() + else + false + _getHtml : (data) -> JST['app/templates/related-item'] _.extend isSortable : @isSortable() + isDeletable : @isDeletable() , data @init : ($el) -> diff --git a/app/assets/javascripts/app/templates/related-item.jst.ejs b/app/assets/javascripts/app/templates/related-item.jst.ejs index ef3d0d5c..12226c65 100644 --- a/app/assets/javascripts/app/templates/related-item.jst.ejs +++ b/app/assets/javascripts/app/templates/related-item.jst.ejs @@ -3,4 +3,8 @@ if (isSortable) { %><% } %> - \ No newline at end of file +<% +if (isDeletable) { + %><% +} +%> \ No newline at end of file diff --git a/app/assets/javascripts/rademade_admin.coffee b/app/assets/javascripts/rademade_admin.coffee index 7aa1e4d7..8042da40 100644 --- a/app/assets/javascripts/rademade_admin.coffee +++ b/app/assets/javascripts/rademade_admin.coffee @@ -4,13 +4,6 @@ #= require jquery-ujs #= require jquery-ui/ui/core #= require jquery-ui/ui/widget -#= require jquery-ui/ui/mouse -#= require jquery-ui/ui/draggable -#= require jquery-ui/ui/resizable -#= require jquery-ui/ui/sortable -#= require jquery-ui/ui/slider -#= require jquery-ui/ui/tabs -#= require jquery-ui/ui/datepicker #= require touch-punch/jquery.ui.touch-punch #= require jcrop/js/jquery.Jcrop #= require jquery-filthypillow/jquery.filthypillow @@ -32,12 +25,14 @@ #= require flot/jquery.flot.resize #= require flot/jquery.flot.stack #= require knob/js/jquery.knob -#= require uniform/dist/jquery.uniform.min +#= require uniform/src/js/jquery.uniform #= require data-tables/media/js/jquery.dataTables +#= require floatThead/dist/jquery.floatThead #= require wysihtml5/dist/wysihtml5-0.3.0 #= require underscore/underscore #= require backbone/backbone #= require backbone-notifier/js/backbone.notifier +#= require jquery-ujs #= require_tree ./ckeditor #= require_tree ./settings #= require_tree ./form diff --git a/app/assets/javascripts/settings/ajax-csrf.coffee b/app/assets/javascripts/settings/ajax-csrf.coffee index 5d1be7f0..145820ad 100644 --- a/app/assets/javascripts/settings/ajax-csrf.coffee +++ b/app/assets/javascripts/settings/ajax-csrf.coffee @@ -1,4 +1,8 @@ $ -> $.ajaxSetup(headers : { 'X-CSRF-Token' : $('meta[name="csrf-token"]').attr('content') - }) \ No newline at end of file + }) + + $(document).on 'page:load ready init-plugins', () -> + $('table.fixed-thead').floatThead + position: 'fixed' diff --git a/app/assets/stylesheets/rademade_admin.sass b/app/assets/stylesheets/rademade_admin.sass index df508851..4000d365 100644 --- a/app/assets/stylesheets/rademade_admin.sass +++ b/app/assets/stylesheets/rademade_admin.sass @@ -4,7 +4,7 @@ *= require jquery-ui/themes/base/core *= require jquery-ui/themes/base/slider *= require jquery-ui/themes/base/datepicker - *= require uniform/themes/default/css/uniform.default + *= require uniform/dist/css/default.css *= require jcrop/css/jquery.Jcrop *= require leaflet/dist/leaflet *= require backbone-notifier/css/notifier-base diff --git a/app/controllers/rademade_admin/file_controller.rb b/app/controllers/rademade_admin/file_controller.rb index abe5cb9f..08f5339a 100644 --- a/app/controllers/rademade_admin/file_controller.rb +++ b/app/controllers/rademade_admin/file_controller.rb @@ -6,7 +6,7 @@ def upload uploader.store!(params[param_key]) render :json => { :html => RademadeAdmin::Upload::Preview::File.new(uploader).preview_html, - :file => uploader + :file => JSON.parse(uploader.to_json).merge(url: uploader.url) } rescue CarrierWave::UploadError => e show_error(e) diff --git a/app/services/model_controller/model_options.rb b/app/services/model_controller/model_options.rb index 7fdc6b01..485dad22 100644 --- a/app/services/model_controller/model_options.rb +++ b/app/services/model_controller/model_options.rb @@ -7,6 +7,7 @@ module ModelOptions # - model # - name # - parent_menu (todo extract to menu method) + # - fixed_thead # - menu_count # - list # - form @@ -28,6 +29,10 @@ def parent_menu_item configuration.parent_menu_item end + def fixed_thead_value + configuration.fixed_thead_value + end + def model_class configuration.model_class end diff --git a/app/views/rademade_admin/_blocks/_list.html.erb b/app/views/rademade_admin/_blocks/_list.html.erb index 9003a6fb..f897f715 100644 --- a/app/views/rademade_admin/_blocks/_list.html.erb +++ b/app/views/rademade_admin/_blocks/_list.html.erb @@ -17,7 +17,7 @@ end %> concat render @template_service.search_block %>
- <% +
<% concat render @template_service.table_head_block concat render @template_service.table_head_list %>
diff --git a/app/views/rademade_admin/_blocks/_navigation.html.erb b/app/views/rademade_admin/_blocks/_navigation.html.erb index 0c598fe8..8bc5295c 100644 --- a/app/views/rademade_admin/_blocks/_navigation.html.erb +++ b/app/views/rademade_admin/_blocks/_navigation.html.erb @@ -10,7 +10,6 @@ <%= @current_user %><% concat link_to '', rademade_admin_route(:logout_sessions_url), { - :method => :delete, :class => 'user-settings' } %>
@@ -19,4 +18,4 @@ Rademade Admin - \ No newline at end of file + diff --git a/app/views/rademade_admin/_blocks/button/_destroy.html.erb b/app/views/rademade_admin/_blocks/button/_destroy.html.erb index 4c71934b..c034de43 100644 --- a/app/views/rademade_admin/_blocks/button/_destroy.html.erb +++ b/app/views/rademade_admin/_blocks/button/_destroy.html.erb @@ -1,5 +1,5 @@ <% -if can? :destroy, @model +if can? :destroy, item delete_uri = admin_delete_uri(item) unless delete_uri.nil? %><%= form_tag(delete_uri, :method => :delete, :class => 'inline-el', :data => { :'delete-item-form' => '' }) do @@ -10,4 +10,4 @@ if can? :destroy, @model <% end end -end %> \ No newline at end of file +end %> diff --git a/config/initializers/bower_rails.rb b/config/initializers/bower_rails.rb deleted file mode 100644 index 32389809..00000000 --- a/config/initializers/bower_rails.rb +++ /dev/null @@ -1,6 +0,0 @@ -# -*- encoding : utf-8 -*- -BowerRails.configure do |bower_rails| - bower_rails.install_before_precompile = true - bower_rails.resolve_before_precompile = true - bower_rails.clean_before_precompile = true -end diff --git a/lib/rademade_admin/engine.rb b/lib/rademade_admin/engine.rb index 83bf6a0d..1f9a5222 100644 --- a/lib/rademade_admin/engine.rb +++ b/lib/rademade_admin/engine.rb @@ -12,7 +12,22 @@ class Engine < ::Rails::Engine config.assets.paths << "#{config.root}/vendor/assets/javascript/bower_components" initializer 'ckeditor.assets_precompile', :group => :all do |app| - app.config.assets.precompile += %w(rademade_admin.css rademade_admin.js ckeditor/* rademade_admin/fav1.ico) + filter_ckeditor_assets = Proc.new do |logical_path| + File.fnmatch('ckeditor/*', logical_path) \ + && ! [ + 'ckeditor/CHANGES', + 'ckeditor/LICENSE', + 'ckeditor/README', + 'ckeditor/plugins/scayt/CHANGELOG', + 'ckeditor/plugins/scayt/LICENSE', + 'ckeditor/plugins/scayt/README', + 'ckeditor/plugins/wsc/LICENSE', + 'ckeditor/plugins/wsc/README', + 'ckeditor/skins/moono/readme', + ].include?(logical_path) + end + app.config.assets.precompile << filter_ckeditor_assets + app.config.assets.precompile += %w(rademade_admin.css rademade_admin.js rademade_admin/fav1.ico) end $LOAD_PATH << "#{config.root}/app/services/" @@ -29,4 +44,4 @@ class Engine < ::Rails::Engine end end -end \ No newline at end of file +end diff --git a/lib/rademade_admin/input/related_select_input/related_list.rb b/lib/rademade_admin/input/related_select_input/related_list.rb index 8a43934b..86b2cebc 100644 --- a/lib/rademade_admin/input/related_select_input/related_list.rb +++ b/lib/rademade_admin/input/related_select_input/related_list.rb @@ -10,7 +10,8 @@ def related_list_html template.content_tag(:ul, related_list_items_html, { :class => 'select2-items-list', :data => { - :sortable => sortable_relation? + :sortable => sortable_relation?, + :deletable => destroyable_relation? } }) end @@ -51,7 +52,7 @@ def related_list_item_remove_html template.content_tag(:button, I18n.t('rademade_admin.relation.destroy'), { :'data-remove' => '', :class => 'select2-item-remove' - }) + }) if destroyable_relation? end def related_item_class @@ -64,6 +65,10 @@ def sortable_relation? related_data_item.relation.sortable? end + def destroyable_relation? + related_data_item.relation.destroyable? + end + end end end diff --git a/lib/rademade_admin/model/adapter/data/active_record.rb b/lib/rademade_admin/model/adapter/data/active_record.rb index b7bf0ef1..0be0749e 100644 --- a/lib/rademade_admin/model/adapter/data/active_record.rb +++ b/lib/rademade_admin/model/adapter/data/active_record.rb @@ -33,6 +33,7 @@ def _map_relations :name => name, :from => @model, :to => to_class, + :destroyable => _relation_destroyable?(relation_info), :getter => name, :setter => :"#{name}=", :type => type, @@ -47,6 +48,30 @@ def _map_relations relations end + def _relation_destroyable?(relation_info) + !_validates_association?(relation_info) && + !_validates_presence?(relation_info) + end + + def _validates_association?(relation_info) + _model_validates?(@model, + relation_info.name, + ::ActiveRecord::Validations::AssociatedValidator) + end + + def _validates_presence?(relation_info) + _model_validates?(relation_info.klass, + relation_info.foreign_key, + ::ActiveRecord::Validations::PresenceValidator) + end + + def _model_validates?(model, name, validator_class) + model.validators.select do |validator| + validator.class == validator_class && + validator.attributes.include?(name) + end.any? + end + def _add_non_localizable_fields(fields) @model.attribute_types.each do |field_name, field_data| name = field_name.to_sym diff --git a/lib/rademade_admin/model/adapter/data/mongoid.rb b/lib/rademade_admin/model/adapter/data/mongoid.rb index 723f89c1..de36c6e6 100644 --- a/lib/rademade_admin/model/adapter/data/mongoid.rb +++ b/lib/rademade_admin/model/adapter/data/mongoid.rb @@ -49,6 +49,7 @@ def _map_relations :type => type, :many => type == :has_many, :has_many => has_many_relations.include?(type), + :destroyable => _relation_destroyable?, :sortable => is_sortable, :sortable_field => is_sortable ? relation_info.sortable_field : nil, :foreign_key => relation_info.foreign_key ? relation_info.foreign_key.to_sym : nil @@ -57,6 +58,10 @@ def _map_relations relations end + def _relation_destroyable? + true + end + def _model_fields @model.fields.keys.map(&:to_sym) end diff --git a/lib/rademade_admin/model/adapter/data/sequel.rb b/lib/rademade_admin/model/adapter/data/sequel.rb index 4730ca7a..657ab74f 100644 --- a/lib/rademade_admin/model/adapter/data/sequel.rb +++ b/lib/rademade_admin/model/adapter/data/sequel.rb @@ -47,6 +47,7 @@ def _map_relations :type => relation_info[:type], :many => relation_info[:type] == :one_to_many, :has_many => has_many, + :destroyable => _relation_destroyable?, :sortable => false, :foreign_key => relation_info[:key] }) @@ -54,6 +55,10 @@ def _map_relations relations end + def _relation_destroyable? + true + end + def _to_many_setter(relation_info, getter) Proc.new do |new_items| old_items = self.send(getter) diff --git a/lib/rademade_admin/model/adapter/query/postgresql.rb b/lib/rademade_admin/model/adapter/query/postgresql.rb index b12c7d37..dfc7fe79 100644 --- a/lib/rademade_admin/model/adapter/query/postgresql.rb +++ b/lib/rademade_admin/model/adapter/query/postgresql.rb @@ -10,8 +10,10 @@ class Postgresql < RademadeAdmin::Model::Adapter::Query::ActiveRecord protected def build_where_condition(field: nil, value: nil) + field = table_field(field) + if value.is_a? Regexp - ["LOWER(#{field}) ~ ?", [value.source]] + ["LOWER(#{field}) ~* ?", [value.source]] elsif value.is_a? Array ["#{field} IN (?)", [value]] else @@ -22,4 +24,4 @@ def build_where_condition(field: nil, value: nil) end end end -end \ No newline at end of file +end diff --git a/lib/rademade_admin/model/adapter/query/sql.rb b/lib/rademade_admin/model/adapter/query/sql.rb index 861a13d4..f76e9319 100644 --- a/lib/rademade_admin/model/adapter/query/sql.rb +++ b/lib/rademade_admin/model/adapter/query/sql.rb @@ -30,15 +30,19 @@ def collect_where_conditions(where_conditions) end def build_where_condition(field: nil, value: nil) - field = "`#{field}`" + field = table_field(field) if value.is_a? Regexp - ["LOWER(#{field}) REGEXP ?", [value.source]] + ["LOWER(#{field}) REGEXP LOWER(?)", [value.source]] elsif value.is_a? Array ["#{field} IN (?)", [value]] else ["#{field} = ?", [value]] end end + + def table_field(field) + "#{@model.table_name}.#{field}" + end end end end diff --git a/lib/rademade_admin/model/configuration.rb b/lib/rademade_admin/model/configuration.rb index 4913d7e4..5b46cac6 100644 --- a/lib/rademade_admin/model/configuration.rb +++ b/lib/rademade_admin/model/configuration.rb @@ -3,7 +3,7 @@ module RademadeAdmin module Model class Configuration - attr_reader :controller, :parent_menu_item, :model_name, :menu_count_block, :preview_url_block + attr_reader :controller, :parent_menu_item, :fixed_thead_value, :model_name, :menu_count_block, :preview_url_block def initialize(controller) @controller = controller @@ -83,6 +83,10 @@ def parent_menu(parent_menu_item) @parent_menu_item = parent_menu_item end + def fixed_thead(value) + @fixed_thead_value = value ? true : false + end + def labels(*field_options, &block) field_labels.configure(*field_options, &block) end diff --git a/lib/rademade_admin/model/info.rb b/lib/rademade_admin/model/info.rb index 4dfe8164..b3054b7d 100644 --- a/lib/rademade_admin/model/info.rb +++ b/lib/rademade_admin/model/info.rb @@ -48,6 +48,10 @@ def parent_menu @model_configuration.parent_menu_item end + def fixed_thead + @model_configuration.fixed_thead_value + end + def menu_count @model_configuration.menu_count_block.try(:call) end diff --git a/lib/rademade_admin/model/info/relation.rb b/lib/rademade_admin/model/info/relation.rb index 4ffbd5a3..878e62ee 100644 --- a/lib/rademade_admin/model/info/relation.rb +++ b/lib/rademade_admin/model/info/relation.rb @@ -18,6 +18,10 @@ def sortable? @sortable end + def destroyable? + @destroyable + end + def gallery? @is_gallery end @@ -46,6 +50,7 @@ def initialize(opt = {}) @foreign_key = opt[:foreign_key] @sortable = opt[:sortable] @sortable_field = opt[:sortable_field] + @destroyable = opt[:destroyable] @is_gallery = opt[:is_gallery] end diff --git a/lib/tasks/rademade_bower_install.rake b/lib/tasks/rademade_bower_install.rake index 2e95bcb8..ffe72215 100644 --- a/lib/tasks/rademade_bower_install.rake +++ b/lib/tasks/rademade_bower_install.rake @@ -1,7 +1,7 @@ require 'rademade_admin/bower/performer' desc 'Install bower vendor assets' -task 'rademade_admin:bower:install' => :environment do |_, args| +task 'rademade_admin:bower:install', [:options] => :environment do |_, args| args.with_defaults(:options => '') RademadeAdmin::Bower::Performer.perform do |bower| sh "#{bower} install #{args[:options]}" @@ -9,7 +9,7 @@ task 'rademade_admin:bower:install' => :environment do |_, args| end desc 'Update bower vendor assets' -task 'rademade_admin:bower:update' => :environment do |_, args| +task 'rademade_admin:bower:update', [:options] => :environment do |_, args| args.with_defaults(:options => '') RademadeAdmin::Bower::Performer.perform do |bower| sh "#{bower} update #{args[:options]}" diff --git a/rademade_admin.gemspec b/rademade_admin.gemspec index 79015ac3..c7692e74 100644 --- a/rademade_admin.gemspec +++ b/rademade_admin.gemspec @@ -1,47 +1,82 @@ -#encoding: utf-8 -$:.push File.expand_path('../lib', __FILE__) - -require 'rademade_admin/version' +# -*- encoding: utf-8 -*- +# stub: rademade_admin 0.3.0 ruby lib Gem::Specification.new do |s| - s.name = 'rademade_admin' - s.version = RademadeAdmin::VERSION - s.authors = ['Vladislav Melanitskiy', 'Denis Sergienko', 'Sergey Kuzhavskiy'] - s.email = %w(co@rademade.com olol.toor@gmail.com kuzh@rademade.com) - s.homepage = 'https://github.com/Rademade/rademade_admin' - s.summary = 'Rails admin panel engine' - s.description = 'Best rails admin panel. Great mechanism for customization and rapid development' - s.licenses = ['MIT'] - - s.files = Dir['{app,config,db,lib}/**/*', 'MIT-LICENSE', 'Rakefile', 'Bowerfile', 'README.rdoc'] - s.test_files = Dir['test/**/*'] - - # Core dependencies - s.add_dependency 'rails', '~> 5' - s.add_dependency 'kaminari' - - # Images - s.add_dependency 'carrierwave' - s.add_dependency 'light_resizer' - - # Assets - s.add_dependency 'bower-rails', '>= 0.8.2' - s.add_dependency 'sass-rails' - s.add_dependency 'coffee-rails' - s.add_dependency 'autoprefixer-rails' + s.name = "rademade_admin".freeze + s.version = "0.3.0" - s.add_dependency 'i18n-js' - s.add_dependency 'ejs' + s.required_rubygems_version = Gem::Requirement.new(">= 0".freeze) if s.respond_to? :required_rubygems_version= + s.require_paths = ["lib".freeze] + s.authors = ["Vladislav Melanitskiy".freeze, "Denis Sergienko".freeze, "Sergey Kuzhavskiy".freeze] + s.date = "2017-05-17" + s.description = "Best rails admin panel. Great mechanism for customization and rapid development".freeze + s.email = ["co@rademade.com".freeze, "olol.toor@gmail.com".freeze, "kuzh@rademade.com".freeze] + s.files = ["Bowerfile".freeze, "Rakefile".freeze, "app/assets".freeze, "app/assets/fonts".freeze, "app/assets/fonts/HelveticaNeueCyr-Black.eot".freeze, "app/assets/fonts/HelveticaNeueCyr-Black.otf".freeze, "app/assets/fonts/HelveticaNeueCyr-Black.svg".freeze, "app/assets/fonts/HelveticaNeueCyr-Black.ttf".freeze, "app/assets/fonts/HelveticaNeueCyr-Black.woff".freeze, "app/assets/fonts/HelveticaNeueCyr-Bold.eot".freeze, "app/assets/fonts/HelveticaNeueCyr-Bold.otf".freeze, "app/assets/fonts/HelveticaNeueCyr-Bold.svg".freeze, "app/assets/fonts/HelveticaNeueCyr-Bold.ttf".freeze, "app/assets/fonts/HelveticaNeueCyr-Bold.woff".freeze, "app/assets/fonts/HelveticaNeueCyr-Light.eot".freeze, "app/assets/fonts/HelveticaNeueCyr-Light.otf".freeze, "app/assets/fonts/HelveticaNeueCyr-Light.svg".freeze, "app/assets/fonts/HelveticaNeueCyr-Light.ttf".freeze, "app/assets/fonts/HelveticaNeueCyr-Light.woff".freeze, "app/assets/fonts/HelveticaNeueCyr-Medium.eot".freeze, "app/assets/fonts/HelveticaNeueCyr-Medium.otf".freeze, "app/assets/fonts/HelveticaNeueCyr-Medium.svg".freeze, "app/assets/fonts/HelveticaNeueCyr-Medium.ttf".freeze, "app/assets/fonts/HelveticaNeueCyr-Medium.woff".freeze, "app/assets/fonts/HelveticaNeueCyr-Roman.eot".freeze, "app/assets/fonts/HelveticaNeueCyr-Roman.otf".freeze, "app/assets/fonts/HelveticaNeueCyr-Roman.svg".freeze, "app/assets/fonts/HelveticaNeueCyr-Roman.ttf".freeze, "app/assets/fonts/HelveticaNeueCyr-Roman.woff".freeze, "app/assets/images".freeze, "app/assets/images/rademade_admin".freeze, "app/assets/images/rademade_admin/fav1.ico".freeze, "app/assets/images/rademade_admin/fav2.ico".freeze, "app/assets/images/rademade_admin/ico".freeze, "app/assets/images/rademade_admin/ico/add.svg".freeze, "app/assets/images/rademade_admin/ico/button_add.svg".freeze, "app/assets/images/rademade_admin/ico/button_add_blue.svg".freeze, "app/assets/images/rademade_admin/ico/calendar-next.svg".freeze, "app/assets/images/rademade_admin/ico/calendar-prev.svg".freeze, "app/assets/images/rademade_admin/ico/checkbox_active.svg".freeze, "app/assets/images/rademade_admin/ico/checkbox_empty.svg".freeze, "app/assets/images/rademade_admin/ico/checked.svg".freeze, "app/assets/images/rademade_admin/ico/close_gray.svg".freeze, "app/assets/images/rademade_admin/ico/close_white.svg".freeze, "app/assets/images/rademade_admin/ico/datetimepicker-next.svg".freeze, "app/assets/images/rademade_admin/ico/datetimepicker-prev.svg".freeze, "app/assets/images/rademade_admin/ico/dd-tile.svg".freeze, "app/assets/images/rademade_admin/ico/delete-small.svg".freeze, "app/assets/images/rademade_admin/ico/discard_red.svg".freeze, "app/assets/images/rademade_admin/ico/dragndrop.svg".freeze, "app/assets/images/rademade_admin/ico/eye.svg".freeze, "app/assets/images/rademade_admin/ico/file.svg".freeze, "app/assets/images/rademade_admin/ico/file_blue.svg".freeze, "app/assets/images/rademade_admin/ico/image.svg".freeze, "app/assets/images/rademade_admin/ico/info.svg".freeze, "app/assets/images/rademade_admin/ico/invisible.svg".freeze, "app/assets/images/rademade_admin/ico/jcrop.svg".freeze, "app/assets/images/rademade_admin/ico/left-arrow.svg".freeze, "app/assets/images/rademade_admin/ico/left-arrow_blue.svg".freeze, "app/assets/images/rademade_admin/ico/link.svg".freeze, "app/assets/images/rademade_admin/ico/logout.svg".freeze, "app/assets/images/rademade_admin/ico/next.svg".freeze, "app/assets/images/rademade_admin/ico/password.svg".freeze, "app/assets/images/rademade_admin/ico/password_red.svg".freeze, "app/assets/images/rademade_admin/ico/pen.svg".freeze, "app/assets/images/rademade_admin/ico/photo.svg".freeze, "app/assets/images/rademade_admin/ico/prev.svg".freeze, "app/assets/images/rademade_admin/ico/rejected.svg".freeze, "app/assets/images/rademade_admin/ico/resize.svg".freeze, "app/assets/images/rademade_admin/ico/right-arrow.svg".freeze, "app/assets/images/rademade_admin/ico/right-arrow_blue.svg".freeze, "app/assets/images/rademade_admin/ico/search.svg".freeze, "app/assets/images/rademade_admin/ico/search_blue.svg".freeze, "app/assets/images/rademade_admin/ico/select-close.svg".freeze, "app/assets/images/rademade_admin/ico/select-edit.svg".freeze, "app/assets/images/rademade_admin/ico/select2-add.svg".freeze, "app/assets/images/rademade_admin/ico/select2.svg".freeze, "app/assets/images/rademade_admin/ico/settings.svg".freeze, "app/assets/images/rademade_admin/ico/sortable-down.svg".freeze, "app/assets/images/rademade_admin/ico/sortable-down_active.svg".freeze, "app/assets/images/rademade_admin/ico/sortable-up.svg".freeze, "app/assets/images/rademade_admin/ico/sortable-up_active.svg".freeze, "app/assets/images/rademade_admin/ico/trash.svg".freeze, "app/assets/images/rademade_admin/ico/trash_r.svg".freeze, "app/assets/images/rademade_admin/ico/trash_white.svg".freeze, "app/assets/images/rademade_admin/ico/user-photo.svg".freeze, "app/assets/images/rademade_admin/ico/user.svg".freeze, "app/assets/images/rademade_admin/ico/user_red.svg".freeze, "app/assets/images/rademade_admin/leaflet".freeze, "app/assets/images/rademade_admin/leaflet/layers-2x.png".freeze, "app/assets/images/rademade_admin/leaflet/layers.png".freeze, "app/assets/images/rademade_admin/leaflet/marker-icon-2x.png".freeze, "app/assets/images/rademade_admin/leaflet/marker-icon.png".freeze, "app/assets/images/rademade_admin/leaflet/marker-shadow.png".freeze, "app/assets/images/rademade_admin/loader.GIF".freeze, "app/assets/images/rademade_admin/notifier-loader-clean.gif".freeze, "app/assets/images/rademade_admin/notifier-loader-plastic.gif".freeze, "app/assets/images/rademade_admin/sprite.svg".freeze, "app/assets/javascripts".freeze, "app/assets/javascripts/app".freeze, "app/assets/javascripts/app/app.coffee".freeze, "app/assets/javascripts/app/common".freeze, "app/assets/javascripts/app/common/cropper.coffee".freeze, "app/assets/javascripts/app/common/datetime-picker.coffee".freeze, "app/assets/javascripts/app/common/dnd-sort.coffee".freeze, "app/assets/javascripts/app/common/image-preview.coffee".freeze, "app/assets/javascripts/app/common/lang-panel.coffee".freeze, "app/assets/javascripts/app/common/location.coffee.erb".freeze, "app/assets/javascripts/app/common/menu.coffee".freeze, "app/assets/javascripts/app/common/status-toggler.coffee".freeze, "app/assets/javascripts/app/common/turboform.coffee".freeze, "app/assets/javascripts/app/common/uploader.coffee".freeze, "app/assets/javascripts/app/common/url-visitor.coffee".freeze, "app/assets/javascripts/app/compatibility".freeze, "app/assets/javascripts/app/compatibility/turbolinks.coffee".freeze, "app/assets/javascripts/app/content".freeze, "app/assets/javascripts/app/content/view.coffee".freeze, "app/assets/javascripts/app/forms".freeze, "app/assets/javascripts/app/forms/insert.coffee".freeze, "app/assets/javascripts/app/forms/login.coffee".freeze, "app/assets/javascripts/app/forms/remove.coffee".freeze, "app/assets/javascripts/app/gallery".freeze, "app/assets/javascripts/app/gallery/image".freeze, "app/assets/javascripts/app/gallery/image/collection-view.coffee".freeze, "app/assets/javascripts/app/gallery/image/collection.coffee".freeze, "app/assets/javascripts/app/gallery/image/model.coffee".freeze, "app/assets/javascripts/app/gallery/image/view.coffee".freeze, "app/assets/javascripts/app/gallery/popup.coffee".freeze, "app/assets/javascripts/app/gallery/view.coffee".freeze, "app/assets/javascripts/app/image".freeze, "app/assets/javascripts/app/image/model.coffee".freeze, "app/assets/javascripts/app/image/preview.coffee".freeze, "app/assets/javascripts/app/notifier".freeze, "app/assets/javascripts/app/notifier/initialize.js".freeze, "app/assets/javascripts/app/select2".freeze, "app/assets/javascripts/app/select2/model.coffee".freeze, "app/assets/javascripts/app/select2/related".freeze, "app/assets/javascripts/app/select2/related/collection-view.coffee".freeze, "app/assets/javascripts/app/select2/related/collection.coffee".freeze, "app/assets/javascripts/app/select2/related/model.coffee".freeze, "app/assets/javascripts/app/select2/related/view.coffee".freeze, "app/assets/javascripts/app/select2/view.coffee".freeze, "app/assets/javascripts/app/templates".freeze, "app/assets/javascripts/app/templates/crop".freeze, "app/assets/javascripts/app/templates/crop/attributes.jst.ejs".freeze, "app/assets/javascripts/app/templates/crop/size.jst.ejs".freeze, "app/assets/javascripts/app/templates/gallery-popup.jst.ejs".freeze, "app/assets/javascripts/app/templates/related-item.jst.ejs".freeze, "app/assets/javascripts/app/templates/select2".freeze, "app/assets/javascripts/app/templates/select2/add.jst.ejs".freeze, "app/assets/javascripts/app/templates/select2/edit.jst.ejs".freeze, "app/assets/javascripts/ckeditor".freeze, "app/assets/javascripts/ckeditor/config.js".freeze, "app/assets/javascripts/form".freeze, "app/assets/javascripts/form/form-ajax.coffee".freeze, "app/assets/javascripts/form/form-initializer.coffee".freeze, "app/assets/javascripts/form/form-validation.coffee".freeze, "app/assets/javascripts/form/form.coffee".freeze, "app/assets/javascripts/rademade_admin.coffee".freeze, "app/assets/javascripts/settings".freeze, "app/assets/javascripts/settings/ajax-csrf.coffee".freeze, "app/assets/stylesheets".freeze, "app/assets/stylesheets/base".freeze, "app/assets/stylesheets/base/_fix.sass".freeze, "app/assets/stylesheets/base/_floats.sass".freeze, "app/assets/stylesheets/base/_import.sass".freeze, "app/assets/stylesheets/base/_main.sass".freeze, "app/assets/stylesheets/base/_reset.sass".freeze, "app/assets/stylesheets/base/_text.sass".freeze, "app/assets/stylesheets/base/_wrapper.sass".freeze, "app/assets/stylesheets/blocks".freeze, "app/assets/stylesheets/blocks/_import.sass".freeze, "app/assets/stylesheets/blocks/button".freeze, "app/assets/stylesheets/blocks/button/_box.sass".freeze, "app/assets/stylesheets/blocks/button/_import.sass".freeze, "app/assets/stylesheets/blocks/button/link".freeze, "app/assets/stylesheets/blocks/button/link/_main.sass".freeze, "app/assets/stylesheets/blocks/button/main".freeze, "app/assets/stylesheets/blocks/button/main/_main.sass".freeze, "app/assets/stylesheets/blocks/button/main/colors".freeze, "app/assets/stylesheets/blocks/button/main/colors/_main.sass".freeze, "app/assets/stylesheets/blocks/button/main/colors/_other.sass".freeze, "app/assets/stylesheets/blocks/button/switch".freeze, "app/assets/stylesheets/blocks/button/switch/_main.sass".freeze, "app/assets/stylesheets/blocks/button/switch/colors".freeze, "app/assets/stylesheets/blocks/button/switch/colors/_blue.sass".freeze, "app/assets/stylesheets/blocks/content".freeze, "app/assets/stylesheets/blocks/content/_actions.sass".freeze, "app/assets/stylesheets/blocks/content/_draggable.sass".freeze, "app/assets/stylesheets/blocks/content/_header.sass".freeze, "app/assets/stylesheets/blocks/content/_import.sass".freeze, "app/assets/stylesheets/blocks/content/_item.sass".freeze, "app/assets/stylesheets/blocks/content/_main.sass".freeze, "app/assets/stylesheets/blocks/content/_search.sass".freeze, "app/assets/stylesheets/blocks/content/_status.sass".freeze, "app/assets/stylesheets/blocks/content/_table.sass".freeze, "app/assets/stylesheets/blocks/content/_tooltip.sass".freeze, "app/assets/stylesheets/blocks/form".freeze, "app/assets/stylesheets/blocks/form/_checkbox.sass".freeze, "app/assets/stylesheets/blocks/form/_description.sass".freeze, "app/assets/stylesheets/blocks/form/_erorr.sass".freeze, "app/assets/stylesheets/blocks/form/_import.sass".freeze, "app/assets/stylesheets/blocks/form/_input.sass".freeze, "app/assets/stylesheets/blocks/form/_label.sass".freeze, "app/assets/stylesheets/blocks/form/_lang.sass".freeze, "app/assets/stylesheets/blocks/form/_main.sass".freeze, "app/assets/stylesheets/blocks/form/_select.sass".freeze, "app/assets/stylesheets/blocks/form/_textarea.sass".freeze, "app/assets/stylesheets/blocks/form/datetimepicker".freeze, "app/assets/stylesheets/blocks/form/datetimepicker/_main.sass".freeze, "app/assets/stylesheets/blocks/form/file".freeze, "app/assets/stylesheets/blocks/form/file/_item.sass".freeze, "app/assets/stylesheets/blocks/form/file/_main.sass".freeze, "app/assets/stylesheets/blocks/form/select2".freeze, "app/assets/stylesheets/blocks/form/select2/_arrow.sass".freeze, "app/assets/stylesheets/blocks/form/select2/_btn.sass".freeze, "app/assets/stylesheets/blocks/form/select2/_choise.sass".freeze, "app/assets/stylesheets/blocks/form/select2/_drop.sass".freeze, "app/assets/stylesheets/blocks/form/select2/_list.sass".freeze, "app/assets/stylesheets/blocks/form/select2/_main.sass".freeze, "app/assets/stylesheets/blocks/form/select2/_result.sass".freeze, "app/assets/stylesheets/blocks/login".freeze, "app/assets/stylesheets/blocks/login/_import.sass".freeze, "app/assets/stylesheets/blocks/login/_main.sass".freeze, "app/assets/stylesheets/blocks/login/_project.sass".freeze, "app/assets/stylesheets/blocks/login/_title.sass".freeze, "app/assets/stylesheets/blocks/login/form".freeze, "app/assets/stylesheets/blocks/login/form/_error.sass".freeze, "app/assets/stylesheets/blocks/login/form/_input.sass".freeze, "app/assets/stylesheets/blocks/login/form/_label.sass".freeze, "app/assets/stylesheets/blocks/login/form/_main.sass".freeze, "app/assets/stylesheets/blocks/nav".freeze, "app/assets/stylesheets/blocks/nav/_btn.sass".freeze, "app/assets/stylesheets/blocks/nav/_copyright.sass".freeze, "app/assets/stylesheets/blocks/nav/_counter.sass".freeze, "app/assets/stylesheets/blocks/nav/_dd.sass".freeze, "app/assets/stylesheets/blocks/nav/_import.sass".freeze, "app/assets/stylesheets/blocks/nav/_item.sass".freeze, "app/assets/stylesheets/blocks/nav/_link.sass".freeze, "app/assets/stylesheets/blocks/nav/_logo.sass".freeze, "app/assets/stylesheets/blocks/nav/_main.sass".freeze, "app/assets/stylesheets/blocks/nav/_user.sass".freeze, "app/assets/stylesheets/blocks/pagination".freeze, "app/assets/stylesheets/blocks/pagination/_import.sass".freeze, "app/assets/stylesheets/blocks/pagination/_link-states.sass".freeze, "app/assets/stylesheets/blocks/pagination/_link.sass".freeze, "app/assets/stylesheets/blocks/pagination/_main.sass".freeze, "app/assets/stylesheets/blocks/pagination/_sep.sass".freeze, "app/assets/stylesheets/blocks/popup".freeze, "app/assets/stylesheets/blocks/popup/_action.sass".freeze, "app/assets/stylesheets/blocks/popup/_gallery.sass".freeze, "app/assets/stylesheets/blocks/popup/_import.sass".freeze, "app/assets/stylesheets/blocks/popup/_main.sass".freeze, "app/assets/stylesheets/blocks/popup/_title.sass".freeze, "app/assets/stylesheets/lib".freeze, "app/assets/stylesheets/lib/_import.sass".freeze, "app/assets/stylesheets/lib/_jcrop.sass".freeze, "app/assets/stylesheets/lib/_leaflet.sass".freeze, "app/assets/stylesheets/lib/calendar".freeze, "app/assets/stylesheets/lib/calendar/_import.sass".freeze, "app/assets/stylesheets/lib/calendar/_main.sass".freeze, "app/assets/stylesheets/lib/calendar/date".freeze, "app/assets/stylesheets/lib/calendar/date/_day.sass".freeze, "app/assets/stylesheets/lib/calendar/date/_import.sass".freeze, "app/assets/stylesheets/lib/calendar/date/_main.sass".freeze, "app/assets/stylesheets/lib/calendar/date/_month.sass".freeze, "app/assets/stylesheets/lib/calendar/date/_week.sass".freeze, "app/assets/stylesheets/lib/calendar/time".freeze, "app/assets/stylesheets/lib/calendar/time/_btn.sass".freeze, "app/assets/stylesheets/lib/calendar/time/_import.sass".freeze, "app/assets/stylesheets/lib/calendar/time/_input.sass".freeze, "app/assets/stylesheets/lib/calendar/time/_label.sass".freeze, "app/assets/stylesheets/lib/calendar/time/_main.sass".freeze, "app/assets/stylesheets/mixins".freeze, "app/assets/stylesheets/mixins/_background.sass".freeze, "app/assets/stylesheets/mixins/_clear.sass".freeze, "app/assets/stylesheets/mixins/_column.sass".freeze, "app/assets/stylesheets/mixins/_fonts-mixin.sass".freeze, "app/assets/stylesheets/mixins/_fonts.scss".freeze, "app/assets/stylesheets/mixins/_import.sass".freeze, "app/assets/stylesheets/mixins/_media.sass".freeze, "app/assets/stylesheets/mixins/_placeholder.sass".freeze, "app/assets/stylesheets/mixins/_sprite-m.sass".freeze, "app/assets/stylesheets/mixins/_sprites.scss".freeze, "app/assets/stylesheets/mixins/_text-indent.sass".freeze, "app/assets/stylesheets/mixins/_text-overflow.sass".freeze, "app/assets/stylesheets/mixins/_user-select.sass".freeze, "app/assets/stylesheets/rademade_admin.sass".freeze, "app/assets/stylesheets/var".freeze, "app/assets/stylesheets/var/_color.sass".freeze, "app/assets/stylesheets/var/_import.sass".freeze, "app/assets/stylesheets/var/_media.sass".freeze, "app/assets/stylesheets/var/_path.sass".freeze, "app/controllers".freeze, "app/controllers/rademade_admin".freeze, "app/controllers/rademade_admin/abstract_controller.rb".freeze, "app/controllers/rademade_admin/application_controller.rb".freeze, "app/controllers/rademade_admin/dashboard_controller.rb".freeze, "app/controllers/rademade_admin/file_controller.rb".freeze, "app/controllers/rademade_admin/gallery_controller.rb".freeze, "app/controllers/rademade_admin/model_controller.rb".freeze, "app/controllers/rademade_admin/sessions_controller.rb".freeze, "app/controllers/rademade_admin/status_controller.rb".freeze, "app/helpers".freeze, "app/helpers/rademade_admin".freeze, "app/helpers/rademade_admin/field_helper.rb".freeze, "app/helpers/rademade_admin/field_type_helper.rb".freeze, "app/helpers/rademade_admin/form_helper.rb".freeze, "app/helpers/rademade_admin/menu_helper.rb".freeze, "app/helpers/rademade_admin/pagination_helper.rb".freeze, "app/helpers/rademade_admin/uri_helper.rb".freeze, "app/inputs".freeze, "app/inputs/rademade_admin".freeze, "app/inputs/rademade_admin/boolean_input.rb".freeze, "app/inputs/rademade_admin/date_input.rb".freeze, "app/inputs/rademade_admin/date_time_input.rb".freeze, "app/inputs/rademade_admin/file_input.rb".freeze, "app/inputs/rademade_admin/gallery_input.rb".freeze, "app/inputs/rademade_admin/location_input.rb".freeze, "app/inputs/rademade_admin/related_select_input.rb".freeze, "app/models".freeze, "app/models/rademade_admin".freeze, "app/models/rademade_admin/ability.rb".freeze, "app/serializers".freeze, "app/serializers/autocomplete".freeze, "app/serializers/autocomplete/base_serializer.rb".freeze, "app/services".freeze, "app/services/csv_service.rb".freeze, "app/services/error_service.rb".freeze, "app/services/gallery".freeze, "app/services/gallery/manager.rb".freeze, "app/services/loader_service.rb".freeze, "app/services/login".freeze, "app/services/login.rb".freeze, "app/services/login/error.rb".freeze, "app/services/model_controller".freeze, "app/services/model_controller/instance_options.rb".freeze, "app/services/model_controller/model_options.rb".freeze, "app/services/model_controller/notifier.rb".freeze, "app/services/model_controller/templates.rb".freeze, "app/services/saver.rb".freeze, "app/services/search".freeze, "app/services/search/conditions".freeze, "app/services/search/conditions/abstract.rb".freeze, "app/services/search/conditions/autocomplete.rb".freeze, "app/services/search/conditions/list.rb".freeze, "app/services/search/part".freeze, "app/services/search/part/abstract.rb".freeze, "app/services/search/part/order.rb".freeze, "app/services/search/part/where.rb".freeze, "app/services/search/where.rb".freeze, "app/services/sortable_service.rb".freeze, "app/services/status".freeze, "app/services/status/toggler.rb".freeze, "app/services/template_service.rb".freeze, "app/services/upload".freeze, "app/services/upload/image_presenter.rb".freeze, "app/services/upload/preview".freeze, "app/services/upload/preview.rb".freeze, "app/services/upload/preview/file.rb".freeze, "app/services/upload/preview/gallery.rb".freeze, "app/services/video_service.rb".freeze, "app/views".freeze, "app/views/kaminari".freeze, "app/views/kaminari/rademade".freeze, "app/views/kaminari/rademade/_first_page.html.erb".freeze, "app/views/kaminari/rademade/_gap.html.erb".freeze, "app/views/kaminari/rademade/_last_page.html.erb".freeze, "app/views/kaminari/rademade/_next_page.html.erb".freeze, "app/views/kaminari/rademade/_page.html.erb".freeze, "app/views/kaminari/rademade/_paginator.html.erb".freeze, "app/views/kaminari/rademade/_prev_page.html.erb".freeze, "app/views/layouts".freeze, "app/views/layouts/login.html.erb".freeze, "app/views/layouts/rademade_admin.html.erb".freeze, "app/views/rademade_admin".freeze, "app/views/rademade_admin/_blocks".freeze, "app/views/rademade_admin/_blocks/_form.html.erb".freeze, "app/views/rademade_admin/_blocks/_list.html.erb".freeze, "app/views/rademade_admin/_blocks/_navigation.html.erb".freeze, "app/views/rademade_admin/_blocks/_on_page_switcher.html.erb".freeze, "app/views/rademade_admin/_blocks/_pagination.html.erb".freeze, "app/views/rademade_admin/_blocks/_search.html.erb".freeze, "app/views/rademade_admin/_blocks/button".freeze, "app/views/rademade_admin/_blocks/button/_cancel.html.erb".freeze, "app/views/rademade_admin/_blocks/button/_destroy.html.erb".freeze, "app/views/rademade_admin/_blocks/button/_edit.html.erb".freeze, "app/views/rademade_admin/_blocks/button/_gallery.html.erb".freeze, "app/views/rademade_admin/_blocks/button/_hide.html.erb".freeze, "app/views/rademade_admin/_blocks/button/_preview.html.erb".freeze, "app/views/rademade_admin/_blocks/button/_save.html.erb".freeze, "app/views/rademade_admin/_blocks/button/_save_and_return.html.erb".freeze, "app/views/rademade_admin/_blocks/form".freeze, "app/views/rademade_admin/_blocks/form/_control.html.erb".freeze, "app/views/rademade_admin/_blocks/form/_lang_panel.html.erb".freeze, "app/views/rademade_admin/_blocks/navigation".freeze, "app/views/rademade_admin/_blocks/navigation/_menu.html.erb".freeze, "app/views/rademade_admin/_blocks/navigation/menu".freeze, "app/views/rademade_admin/_blocks/navigation/menu/_item.html.erb".freeze, "app/views/rademade_admin/_blocks/table".freeze, "app/views/rademade_admin/_blocks/table/_head.html.erb".freeze, "app/views/rademade_admin/_blocks/table/_list.html.erb".freeze, "app/views/rademade_admin/_layouts".freeze, "app/views/rademade_admin/_layouts/content_item.html.erb".freeze, "app/views/rademade_admin/_layouts/login.html.erb".freeze, "app/views/rademade_admin/_layouts/main.html.erb".freeze, "app/views/rademade_admin/_layouts/parts".freeze, "app/views/rademade_admin/_layouts/parts/_head.html.erb".freeze, "app/views/rademade_admin/abstract".freeze, "app/views/rademade_admin/abstract/_form.html.erb".freeze, "app/views/rademade_admin/abstract/edit.html.erb".freeze, "app/views/rademade_admin/abstract/form.html.erb".freeze, "app/views/rademade_admin/abstract/index.html.erb".freeze, "app/views/rademade_admin/abstract/new.html.erb".freeze, "app/views/rademade_admin/dashboard".freeze, "app/views/rademade_admin/dashboard/index.html.erb".freeze, "app/views/rademade_admin/dashboard/login.html.erb".freeze, "config/initializers".freeze, "config/initializers/bower_rails.rb".freeze, "config/initializers/carrier_wave".freeze, "config/initializers/carrier_wave/mongoid.rb".freeze, "config/initializers/ckeditor.rb".freeze, "config/initializers/kaminari_route_proxy.rb".freeze, "config/initializers/routes.rb".freeze, "config/initializers/simple_form".freeze, "config/initializers/simple_form.rb".freeze, "config/initializers/simple_form/errors.rb".freeze, "config/initializers/simple_form/rademade_component.rb".freeze, "config/initializers/simple_form/wrappers.rb".freeze, "config/locales".freeze, "config/locales/rademade_admin.en.yml".freeze, "config/locales/rademade_admin.ru.yml".freeze, "config/locales/rademade_kaminari.en.yml".freeze, "config/locales/rademade_kaminari.ru.yml".freeze, "config/locales/select2.en.yml".freeze, "config/locales/select2.ru.yml".freeze, "config/locales/simple_form.en.yml".freeze, "config/locales/simple_form.ru.yml".freeze, "config/routes.rb".freeze, "lib/rademade_admin".freeze, "lib/rademade_admin.rb".freeze, "lib/rademade_admin/bower".freeze, "lib/rademade_admin/bower/performer.rb".freeze, "lib/rademade_admin/ckeditor_utils.rb".freeze, "lib/rademade_admin/engine.rb".freeze, "lib/rademade_admin/gallery.rb".freeze, "lib/rademade_admin/hideable.rb".freeze, "lib/rademade_admin/html_buffer.rb".freeze, "lib/rademade_admin/input".freeze, "lib/rademade_admin/input/related_select_input".freeze, "lib/rademade_admin/input/related_select_input/model_data.rb".freeze, "lib/rademade_admin/input/related_select_input/related_list.rb".freeze, "lib/rademade_admin/model".freeze, "lib/rademade_admin/model/adapter".freeze, "lib/rademade_admin/model/adapter/data".freeze, "lib/rademade_admin/model/adapter/data.rb".freeze, "lib/rademade_admin/model/adapter/data/active_record.rb".freeze, "lib/rademade_admin/model/adapter/data/mongoid.rb".freeze, "lib/rademade_admin/model/adapter/data/sequel.rb".freeze, "lib/rademade_admin/model/adapter/persistence".freeze, "lib/rademade_admin/model/adapter/persistence.rb".freeze, "lib/rademade_admin/model/adapter/persistence/active_record.rb".freeze, "lib/rademade_admin/model/adapter/persistence/mongoid.rb".freeze, "lib/rademade_admin/model/adapter/persistence/sequel.rb".freeze, "lib/rademade_admin/model/adapter/query".freeze, "lib/rademade_admin/model/adapter/query.rb".freeze, "lib/rademade_admin/model/adapter/query/active_record.rb".freeze, "lib/rademade_admin/model/adapter/query/mongoid.rb".freeze, "lib/rademade_admin/model/adapter/query/mysql.rb".freeze, "lib/rademade_admin/model/adapter/query/postgresql.rb".freeze, "lib/rademade_admin/model/adapter/query/sequel.rb".freeze, "lib/rademade_admin/model/adapter/query/sql.rb".freeze, "lib/rademade_admin/model/configuration".freeze, "lib/rademade_admin/model/configuration.rb".freeze, "lib/rademade_admin/model/configuration/csv_fields.rb".freeze, "lib/rademade_admin/model/configuration/field_label.rb".freeze, "lib/rademade_admin/model/configuration/fields.rb".freeze, "lib/rademade_admin/model/configuration/fields_labels.rb".freeze, "lib/rademade_admin/model/configuration/form_field.rb".freeze, "lib/rademade_admin/model/configuration/form_fields.rb".freeze, "lib/rademade_admin/model/configuration/list_field.rb".freeze, "lib/rademade_admin/model/configuration/list_fields.rb".freeze, "lib/rademade_admin/model/graph.rb".freeze, "lib/rademade_admin/model/info".freeze, "lib/rademade_admin/model/info.rb".freeze, "lib/rademade_admin/model/info/data_item".freeze, "lib/rademade_admin/model/info/data_item.rb".freeze, "lib/rademade_admin/model/info/data_item/initializer.rb".freeze, "lib/rademade_admin/model/info/data_items.rb".freeze, "lib/rademade_admin/model/info/field".freeze, "lib/rademade_admin/model/info/field.rb".freeze, "lib/rademade_admin/model/info/field/type.rb".freeze, "lib/rademade_admin/model/info/fields.rb".freeze, "lib/rademade_admin/model/info/relation".freeze, "lib/rademade_admin/model/info/relation.rb".freeze, "lib/rademade_admin/model/info/relation/gallery.rb".freeze, "lib/rademade_admin/model/info/relations.rb".freeze, "lib/rademade_admin/model/info/uploader.rb".freeze, "lib/rademade_admin/model/info/uploaders.rb".freeze, "lib/rademade_admin/model/reflection.rb".freeze, "lib/rademade_admin/routing".freeze, "lib/rademade_admin/routing.rb".freeze, "lib/rademade_admin/routing/mapper.rb".freeze, "lib/rademade_admin/routing/resource.rb".freeze, "lib/rademade_admin/search".freeze, "lib/rademade_admin/search/searcher.rb".freeze, "lib/rademade_admin/sortable.rb".freeze, "lib/rademade_admin/uploader".freeze, "lib/rademade_admin/uploader/carrier_wave.rb".freeze, "lib/rademade_admin/uploader/crop_photo.rb".freeze, "lib/rademade_admin/uploader/photo.rb".freeze, "lib/rademade_admin/uploader/video.rb".freeze, "lib/rademade_admin/user.rb".freeze, "lib/rademade_admin/version.rb".freeze, "lib/tasks".freeze, "lib/tasks/rademade_admin_tasks.rake".freeze, "lib/tasks/rademade_bower_install.rake".freeze, "lib/templates".freeze, "lib/templates/erb".freeze, "lib/templates/erb/scaffold".freeze, "lib/templates/erb/scaffold/_form.html.erb".freeze] + s.homepage = "https://github.com/Rademade/rademade_admin".freeze + s.licenses = ["MIT".freeze] + s.rubygems_version = "2.6.10".freeze + s.summary = "Rails admin panel engine".freeze - # Public JS assets - s.add_dependency 'turbolinks' - s.add_dependency 'jquery-rails' - s.add_dependency 'select2-rails', '~> 3.5' + if s.respond_to? :specification_version then + s.specification_version = 4 - # Admin - s.add_dependency 'mini_magick' # TODO remove. Need for ckeditor or light_resizer. - s.add_dependency 'simple_form' - s.add_dependency 'ckeditor' - s.add_dependency 'cancan' - s.add_dependency 'configurations' + if Gem::Version.new(Gem::VERSION) >= Gem::Version.new('1.2.0') then + s.add_runtime_dependency(%q.freeze, ["~> 5"]) + s.add_runtime_dependency(%q.freeze, [">= 0"]) + s.add_runtime_dependency(%q.freeze, [">= 0"]) + s.add_runtime_dependency(%q.freeze, [">= 0"]) + s.add_runtime_dependency(%q.freeze, [">= 0.8.2"]) + s.add_runtime_dependency(%q.freeze, [">= 0"]) + s.add_runtime_dependency(%q.freeze, [">= 0"]) + s.add_runtime_dependency(%q.freeze, [">= 0"]) + s.add_runtime_dependency(%q.freeze, [">= 0"]) + s.add_runtime_dependency(%q.freeze, [">= 0"]) + s.add_runtime_dependency(%q.freeze, [">= 0"]) + s.add_runtime_dependency(%q.freeze, [">= 0"]) + s.add_runtime_dependency(%q.freeze, ["~> 3.5"]) + s.add_runtime_dependency(%q.freeze, [">= 0"]) + s.add_runtime_dependency(%q.freeze, [">= 0"]) + s.add_runtime_dependency(%q.freeze, [">= 0"]) + s.add_runtime_dependency(%q.freeze, [">= 0"]) + s.add_runtime_dependency(%q.freeze, [">= 0"]) + else + s.add_dependency(%q.freeze, ["~> 5"]) + s.add_dependency(%q.freeze, [">= 0"]) + s.add_dependency(%q.freeze, [">= 0"]) + s.add_dependency(%q.freeze, [">= 0"]) + s.add_dependency(%q.freeze, [">= 0.8.2"]) + s.add_dependency(%q.freeze, [">= 0"]) + s.add_dependency(%q.freeze, [">= 0"]) + s.add_dependency(%q.freeze, [">= 0"]) + s.add_dependency(%q.freeze, [">= 0"]) + s.add_dependency(%q.freeze, [">= 0"]) + s.add_dependency(%q.freeze, [">= 0"]) + s.add_dependency(%q.freeze, [">= 0"]) + s.add_dependency(%q.freeze, ["~> 3.5"]) + s.add_dependency(%q.freeze, [">= 0"]) + s.add_dependency(%q.freeze, [">= 0"]) + s.add_dependency(%q.freeze, [">= 0"]) + s.add_dependency(%q.freeze, [">= 0"]) + s.add_dependency(%q.freeze, [">= 0"]) + end + else + s.add_dependency(%q.freeze, ["~> 5"]) + s.add_dependency(%q.freeze, [">= 0"]) + s.add_dependency(%q.freeze, [">= 0"]) + s.add_dependency(%q.freeze, [">= 0"]) + s.add_dependency(%q.freeze, [">= 0.8.2"]) + s.add_dependency(%q.freeze, [">= 0"]) + s.add_dependency(%q.freeze, [">= 0"]) + s.add_dependency(%q.freeze, [">= 0"]) + s.add_dependency(%q.freeze, [">= 0"]) + s.add_dependency(%q.freeze, [">= 0"]) + s.add_dependency(%q.freeze, [">= 0"]) + s.add_dependency(%q.freeze, [">= 0"]) + s.add_dependency(%q.freeze, ["~> 3.5"]) + s.add_dependency(%q.freeze, [">= 0"]) + s.add_dependency(%q.freeze, [">= 0"]) + s.add_dependency(%q.freeze, [">= 0"]) + s.add_dependency(%q.freeze, [">= 0"]) + s.add_dependency(%q.freeze, [">= 0"]) + end end