Les boîtes d'administration se sont effondrées par défaut

Admin est basé sur Bootstrap:https://github.com/almasaeed2010/AdminLTE

Aperçu En Direct:http://almsaeedstudio.com/preview/

mais je ne sais pas comment faire s'effondrer les boîtes pliables par défaut.

je suppose que puisqu'il est construit sur Bootstrap, cela devrait être assez simple. J'ai essayé d'autres implémentations comme configurer l'id pour "s'est effondré" et tenter de traiter le divs en accordéon, mais en vain.

On the Admin / app.js ~line 45 Il y a du code qui implémente des boîtes coulissantes vers le haut/coulissantes vers le bas. Idéalement, ce que nous voulons, c'est que les boîtes soient dans l'état "slide up" par défaut avec la classe "collapsed-box" de sorte que lorsque l'icône est cliquée, elle exécute "slide down".

/*     
 * Add collapse and remove events to boxes
 */
$("[data-widget='collapse']").click(function() {
    //Find the box parent        
    var box = $(this).parents(".box").first();
    //Find the body and the footer
    var bf = box.find(".box-body, .box-footer");
    if (!box.hasClass("collapsed-box")) {
        box.addClass("collapsed-box");
        bf.slideUp();
    } else {
        box.removeClass("collapsed-box");
        bf.slideDown();
    }
});

des suggestions?

Merci d'avance.

19
demandé sur gligoran 2014-07-20 18:48:16

12 réponses

lorsque la page se charge dans son état initial, pourquoi ne pas simplement ajouter le collapsed-box élément de classe à boîte?

Le ci-dessous s'affiche dans l'effondrement de l'état et de la fonction sans modifier AdminLTE:


    <!-- Default box -->
    <div class="box box-solid collapsed-box">
        <div class="box-header">
            <h3 class="box-title">Default Solid Box</h3>
            <div class="box-tools pull-right">
                <button class="btn btn-default btn-sm" data-widget="collapse"><i class="fa fa-plus"></i></button>
                <button class="btn btn-default btn-sm" data-widget="remove"><i class="fa fa-times"></i></button>
            </div>
        </div>
        <div style="display: none;" class="box-body">
            Box class: <code>.box.box-solid</code>
            <p>bla bla</p>
        </div><!-- /.box-body -->
    </div><!-- /.box -->                       
36
répondu user4036441 2015-04-21 10:05:33

$("[data-widget='collapse']").click() ajouter cela à un fichier JavaScript qui s'exécute en bas

8
répondu smistry 2014-07-20 15:17:08

Voici les étapes:

  1. changez l'icône moins en plus .
  2. ajouter le style explicite "display: none" à box-body
  3. ajouter la classe "collapsed-box" à la case
8
répondu user2649102 2015-01-25 11:31:01

pour ceux qui utilisent AdminLTE 2.1.1

il suffit simplement d'ajouter sidebar-collapse classe <BODY>



Avant:

 <body class="skin-blue sidebar-mini">



Après:

 <body class="skin-blue sidebar-mini sidebar-collapse">
7
répondu brianlasta 2015-07-14 01:11:18
$("[data-widget='collapse']").click(function() {
    //Find the box parent........
    var box = $(this).parents(".box").first();
    //Find the body and the footer
    var bf = box.find(".box-body, .box-footer");
    if (!$(this).children().hasClass("fa-plus")) {.
        $(this).children(".fa-minus").removeClass("fa-minus").addClass("fa-plus");
        bf.slideUp();
    } else {
        //Convert plus into minus
        $(this).children(".fa-plus").removeClass("fa-plus").addClass("fa-minus");
        bf.slideDown();
    }
});

et utilisation dans la section div

4
répondu jaqb 2014-09-08 12:00:42

Une boîte ouverte: <div class="box">

Un effondrement de la boîte: <div class="box collapsed-box">

et puis bien sûr changer l'icône sur le bouton

4
répondu Ola Ekelund 2016-01-28 07:33:01

il suffit d'ajouter "collapsed-box" à la boîte et de changer ceci:

<button class="btn btn-box-tool" data-widget="collapse"><i class="fa fa-minus"></i></button>

<button class="btn btn-box-tool" data-widget="collapse"><i class="fa fa-plus"></i></button>

Cela devrait fonctionner pour moi

1
répondu maartenvr98 2016-01-25 10:16:55

La bonne testé les Étapes de ce qui a fonctionné pour moi sont :

  1. ajouter le style explicite "display: none" à box-body
  2. c'est fait :)

            <div class="box ">
                        <div class="box-header with-border bg-yellow">
                          <h3 class="box-title">Box Title Here</h3>
                          <div class="box-tools pull-right">
                            <button class="btn btn-box-tool" data-widget="collapse"><i class="fa fa-minus"></i></button>
                            <button class="btn btn-box-tool" data-widget="remove"><i class="fa fa-times"></i></button>
                          </div>
                        </div><!-- /.box-header -->
                        <div class="box-body" style="display: none;">
                          <div class="table-responsive">
    
                                <!--Your content here -->
    
                          </div><!-- /.table-responsive -->
                        </div><!-- /.box-body -->
    
            </div>
    
0
répondu Robin Agrahari 2015-07-02 11:48:20

pour spécifier un div

$(function() { $('your-button-id').click(); })

pour tout

  $(function() { $("[data-widget='collapse']").click(); })
0
répondu jtraslavi 2015-12-02 16:53:59
<div class="box box-default collapsed-box">
  <div class="box-header with-border">
    <h3 class="box-title">Expandable</h3>
    <div class="box-tools pull-right">
      <button class="btn btn-box-tool" data-widget="collapse"><i class="fa fa-plus"></i></button>
    </div><!-- /.box-tools -->
  </div><!-- /.box-header -->
  <div class="box-body">
    The body of the box
  </div><!-- /.box-body -->
</div><!-- /.box -->
0
répondu Aamir Iqbal 2016-03-29 11:00:55

Cette solution a fonctionné pour moi:

j'ai ajouté la classe " collapse-left "pour le menu et ajouté la classe" strech " pour le contenu principal.

j'utilise la version 1 pour L'administrateur. Il est divisé en de côté class="gauche" pour le menu de gauche et en dehors class="droite" pour le contenu principal.

donc, c'est le code final:

<aside class="left-side collapse-left"> 
    <!-- put the left menu here --> 
</aside>
<aside class="right-side strech"> 
    <!-- put the main content here -->
</aside>
0
répondu Luciano Fernandes 2017-06-19 21:22:19

j'ai ajouté ceci à l'objet boxWidget:

setInitialCollapseStatus: function (container) {
        var _this = this;
        var collapsedBoxes = container.find('.box.collapsed-box .btn-box-tool > i');

        collapsedBoxes.each(function (index) {
            var box = $(this);
            //Convert minus into plus
            box
                .removeClass(_this.icons.collapse)
                .addClass(_this.icons.open);

        });

    }

et l'appela pendant l'initialisation:

activate: function (_box) {
        var _this = this;
        if (!_box) {
            _box = document; // activate all boxes per default
        }
        //Listen for collapse event triggers
        $(_box).on('click', _this.selectors.collapse, function (e) {
            e.preventDefault();
            _this.collapse($(this));
        });

        //Listen for remove event triggers
        $(_box).on('click', _this.selectors.remove, function (e) {
            e.preventDefault();
            _this.remove($(this));
        });

        // Set initial collapseStatus
        _this.setInitialCollapseStatus($(_box));
    },
0
répondu Niklas Wulff 2017-07-19 15:39:16