Bläddra i källkod

removed iCheck dependency on select2

Toni Rudolf 11 år sedan
förälder
incheckning
73612aead9

+ 1 - 0
DependencyInjection/Configuration.php

@@ -77,6 +77,7 @@ class Configuration implements ConfigurationInterface
                         ->booleanNode('html5_validate')->defaultValue(true)->end()
                         ->booleanNode('confirm_exit')->defaultValue(true)->end()
                         ->booleanNode('use_select2')->defaultValue(true)->end()
+                        ->booleanNode('use_icheck')->defaultValue(true)->end()
                         ->integerNode('pager_links')->defaultValue(null)->end()
                         ->scalarNode('form_type')->defaultValue('standard')->end()
                         ->integerNode('dropdown_number_groups_per_colums')->defaultValue(2)->end()

+ 1 - 0
Resources/doc/reference/configuration.rst

@@ -59,6 +59,7 @@ Full Configuration Options
                 html5_validate:                         true      # use html5 validation
                 confirm_exit:                           true      # enabled confirmation when quitting with unsaved changes
                 use_select2:                            true      # enable select2
+                use_icheck:                             true      # enable iCheck
                 pager_links:                            ~         # pager max links to display
                 dropdown_number_groups_per_colums:      2         # max items per column in dropdown menu (add button in top nav)
                 title_mode:           'both'                      # 'both', 'single_text' or 'single_image'

+ 10 - 6
Resources/public/Admin.js

@@ -22,6 +22,7 @@ jQuery(document).ready(function() {
 
 jQuery(document).on('sonata-admin-append-form-element', function(e) {
     Admin.setup_select2(e.target);
+    Admin.setup_icheck(e.target);
 });
 
 var Admin = {
@@ -37,6 +38,7 @@ var Admin = {
         Admin.setup_collection_buttons(subject);
         Admin.set_object_field_value(subject);
         Admin.setup_select2(subject);
+        Admin.setup_icheck(subject);
         Admin.add_filters(subject);
         Admin.setup_xeditable(subject);
         Admin.add_pretty_errors(subject);
@@ -67,12 +69,6 @@ var Admin = {
     setup_select2: function(subject) {
         if (window.SONATA_CONFIG && window.SONATA_CONFIG.USE_SELECT2 && window.Select2) {
 
-
-            jQuery("input[type='checkbox'], input[type='radio']", subject).iCheck({
-                checkboxClass: 'icheckbox_minimal',
-                radioClass: 'iradio_minimal'
-            });
-
             jQuery('select:not([data-sonata-select2="false"])', subject).each(function() {
                 var select = $(this);
 
@@ -105,6 +101,14 @@ var Admin = {
             });
         }
     },
+    setup_icheck: function(subject) {
+        if (window.SONATA_CONFIG && window.SONATA_CONFIG.USE_ICHECK) {
+            jQuery("input[type='checkbox'], input[type='radio']", subject).iCheck({
+                checkboxClass: 'icheckbox_minimal',
+                radioClass: 'iradio_minimal'
+            });
+        }
+    },
 
     setup_xeditable: function(subject) {
         jQuery('.x-editable', subject).editable({

+ 2 - 1
Resources/views/standard_layout.html.twig

@@ -39,7 +39,8 @@ file that was distributed with this source code.
             <script>
                 window.SONATA_CONFIG = {
                     CONFIRM_EXIT: {% if admin_pool is defined and admin_pool.getOption('confirm_exit') %}true{% else %}false{% endif %},
-                    USE_SELECT2: {% if admin_pool is defined and admin_pool.getOption('use_select2') %}true{% else %}false{% endif %}
+                    USE_SELECT2: {% if admin_pool is defined and admin_pool.getOption('use_select2') %}true{% else %}false{% endif %},
+                    USE_ICHECK: {% if admin_pool is defined and admin_pool.getOption('use_icheck') %}true{% else %}false{% endif %}
                 };
                 window.SONATA_TRANSLATIONS = {
                     CONFIRM_EXIT:  '{{ 'confirm_exit'|trans({}, 'SonataAdminBundle')|escape('js') }}'

+ 1 - 0
Tests/DependencyInjection/ConfigurationTest.php

@@ -25,6 +25,7 @@ class ConfigurationTest extends \PHPUnit_Framework_TestCase
         $this->assertTrue($config['options']['html5_validate']);
         $this->assertNull($config['options']['pager_links']);
         $this->assertTrue($config['options']['confirm_exit']);
+        $this->assertTrue($config['options']['use_icheck']);
     }
 
     public function testOptionsWithInvalidFormat()