pax_global_header00006660000000000000000000000064130144077070014515gustar00rootroot0000000000000052 comment=016833853d8e72689338d361b1463b377e8ef691 BootSideMenu-1.0.0/000077500000000000000000000000001301440770700140505ustar00rootroot00000000000000BootSideMenu-1.0.0/.gitignore000066400000000000000000000000421301440770700160340ustar00rootroot00000000000000BootSideMenu.iml .idea/ .gitignoreBootSideMenu-1.0.0/README.md000066400000000000000000000032521301440770700153310ustar00rootroot00000000000000#BootSideMenu After a long time a new (hope better) version is here. ***BootSideMenu*** is a jQuery plugin to easily build a sliding menu in a Bootstrap based application. Online demo can be found [HERE](http://www.lombardoandrea.com/demo/BootSideMenu/index.html) ---------- ###**Options** | Option | Type | Value | Description|Default | :--------- | :--- | :---- | :--------- |:------: | **side**|String|left or right|Where menu will be placed|*left* | **duration**|Integer|milliseconds|Animation duration|*500* | **remember**|Boolean|true or false|Restore last menu status on page refresh|*true* |**autoClose**|Boolean|true or false|If true the initial status will be "closed"|false |**pushBody**|Boolean|true or false|If true the body of the page will be pushed left or right, according to the menu width and position|false |**closeOnClick**|Boolean|true or false|If true the menu will be closed when a link is clicked|true ###**Events** | Event | Description | Default | :---- | :---------- | :------ |**onTogglerClick**|A function to be executed when the toggler arrow is clicked| do nothing |**onBeforeOpen**|A function to be executed before the menu is opened| do nothing |**onOpen**|A function to be executed when the menu is opened| do nothing |**onBeforeClose**|A function to be executed before the menu is closed| do nothing |**onClose**|A function to be executed when the menu is closed| do nothing ##Examples Watch the examples folder to see it in actions ##Donations If you appreciate my work, and you are kind to offer a coffee, I will be very satisfied. :coffee: [PayPal Donations Here](https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick&hosted_button_id=DUNFGKA32BFGE) :coffee: BootSideMenu-1.0.0/css/000077500000000000000000000000001301440770700146405ustar00rootroot00000000000000BootSideMenu-1.0.0/css/BootSideMenu.css000066400000000000000000000066421301440770700177170ustar00rootroot00000000000000.sidebar { z-index: 999999; position: fixed; top: -1px; bottom: -1px; padding: 0; width: auto; background-color: #fff; -webkit-background-clip: padding-box; background-clip: padding-box; border: 1px solid rgba(0, 0, 0, .15); -webkit-box-shadow: 0 6px 12px rgba(0, 0, 0, .175); box-shadow: 0 6px 12px rgba(0, 0, 0, .175); } .sidebar > .row > .col-xs-12, .sidebar > .row > .col-sm-12, .sidebar > .row > .col-md-12, .sidebar > .row > .col-lg-12 { padding: 0; position: absolute; bottom: 0; top: 0; overflow: auto; } .sidebar > .row { margin: 0; } .sidebar { width: auto; } .sidebar.sidebar-left { left: 0; right: 20px; } .sidebar.sidebar-right { right: 0; left: 20px; } .toggler { -webkit-background-clip: padding-box; background-clip: padding-box; border: 1px solid rgba(0, 0, 0, .15); width: 20px; height: 48px; position: absolute; top: 47%; cursor: pointer; } .sidebar-left > .toggler { -webkit-border-top-right-radius: 4px; -webkit-border-bottom-right-radius: 4px; -moz-border-radius-topright: 4px; -moz-border-radius-bottomright: 4px; border-top-right-radius: 4px; border-bottom-right-radius: 4px; border-left: 1px solid #fff; -webkit-box-shadow: 1px 0px 8px rgba(0, 0, 0, .175); box-shadow: 1px 0px 8px rgba(0, 0, 0, .175); right: -20px; } .sidebar-left > .toggler > span { margin: 15px 2px; } .sidebar-right > .toggler { -webkit-border-top-left-radius: 4px; -webkit-border-bottom-left-radius: 4px; -moz-border-radius-topleft: 4px; -moz-border-radius-bottomleft: 4px; border-top-left-radius: 4px; border-bottom-left-radius: 4px; border-right: 1px solid #fff; -webkit-box-shadow: -1px 0px 8px rgba(0, 0, 0, .175); box-shadow: -1px 0px 8px rgba(0, 0, 0, .175); left: -20px; } .sidebar-right > .toggler > span { margin: 15px 2px; } /*Native BootStrap Hack*/ .sidebar .list-group-item:last-child, .sidebar .list-group-item:first-child { border-radius: 0; } .sidebar .list-group { margin-bottom: 0; } .sidebar .list-group-item { border: 1px solid #DDD; border-left: 0; border-right: 0; margin-bottom: 0; margin-top: -1px; } .list-group .collapse a { padding-left: 25px; } .list-group-item .glyphicon { margin-right: 5px; } @media (min-width: 400px) { .sidebar { width: 80%; } .sidebar.sidebar-left { left: 0; right: auto; } .sidebar.sidebar-right { right: 0; left: auto; } } @media (min-width: 528px) { .sidebar { width: 300px; } .sidebar.sidebar-left { left: 0; right: auto; } .sidebar.sidebar-right { right: 0; left: auto; } } @media (min-width: 768px) { .sidebar { width: 230px; } .sidebar.sidebar-left { left: 0; right: auto; } .sidebar.sidebar-right { right: 0; left: auto; } } @media (min-width: 992px) { .sidebar { width: 230px; } .sidebar.sidebar-left { left: 0; right: auto; } .sidebar.sidebar-right { right: 0; left: auto; } } @media (min-width: 1200px) { .sidebar { width: 230px; } .sidebar.sidebar-left { left: 0; right: auto; } .sidebar.sidebar-right { right: 0; left: auto; } }BootSideMenu-1.0.0/examples/000077500000000000000000000000001301440770700156665ustar00rootroot00000000000000BootSideMenu-1.0.0/examples/0-menu-template.html000066400000000000000000000212221301440770700214650ustar00rootroot00000000000000 Menu template

BootSideMenu

A jQuery plugin to easily create a sliding menu, working on a Bootstrap based application.

Thanks

How to

All examples uses this template for the HTML code:

<!--Test -->
<div id="test">
    <div class="user">
        <img src="../img/avatar.png" alt="Esempio" class="img-thumbnail"><br>
        <a href="http://www.lombardoandrea.com" target="_blank" class="navbar-link">Andrea Lombardo</a>
    </div>

    <div class="list-group">

        <a href="#item-1" class="list-group-item" data-toggle="collapse">Item 1</a>

        <div class="list-group collapse" id="item-1">
            <a href="#" class="list-group-item">Item 1 di 1</a>
            <a href="#" class="list-group-item">Item 2 di 1</a>
            <a href="#item-1-1" class="list-group-item" data-toggle="collapse">Item 3 di 1</a>

            <div class="list-group collapse" id="item-1-1">
                <a href="#" class="list-group-item">Item 1 di 1.3</a>
                <a href="#" class="list-group-item">Item 2 di 1.3</a>
                <a href="#" class="list-group-item">Item 3 di 1.3</a>
            </div>

        </div>

        <a href="#item-2" class="list-group-item" data-toggle="collapse">Item 2</a>

        <div class="list-group collapse" id="item-2">
            <a href="#" class="list-group-item">Item 1 di 2</a>
            <a href="#" class="list-group-item">Item 2 di 2</a>
            <a href="#" class="list-group-item">Item 3 di 2</a>
        </div>

        <a href="#item-3" class="list-group-item" data-toggle="collapse">Item 3</a>

        <div class="list-group collapse" id="item-3">
            <a href="#" class="list-group-item">Item 1 di 3</a>
            <a href="#" class="list-group-item">Item 2 di 3</a>
            <a href="#item-3-1" class="list-group-item" data-toggle="collapse">Item 3 di 3</a>

            <div class="list-group collapse" id="item-3-1">
                <a href="#" class="list-group-item">Item 1 di 3.3</a>
                <a href="#" class="list-group-item">Item 2 di 3.3</a>
                <a href="#" class="list-group-item">Item 3 di 3.3</a>
            </div>

        </div>

        <a href="#item-4" class="list-group-item" data-toggle="collapse">Item 4</a>

        <div class="list-group collapse" id="item-4">
            <a href="#" class="list-group-item">Item 1 di 4</a>
            <a href="#" class="list-group-item">Item 2 di 4</a>
            <a href="#" class="list-group-item">Item 3 di 4</a>
        </div>

    </div>

</div>
<!--/Test -->
                    

Watch the first example.

A courtesy coffee?

If you appreciate my work, and you are kind to offer a coffee, I will be very satisfied.

BootSideMenu-1.0.0/examples/1-simple-left.html000066400000000000000000000213251301440770700211360ustar00rootroot00000000000000 Simple menu left

BootSideMenu

A jQuery plugin to easily create a sliding menu, working on a Bootstrap based application.

Thanks

How to

The menu will appear on the left.

$(document).ready(function () {
    $('#test').BootSideMenu({
        side: "left"
    });
});

By default it remembers its last opened status and push the body while it slide. To disable these features use the options:

remember:false
pushBody:false

Watch this changes in the next example.

A courtesy coffee?

If you appreciate my work, and you are kind to offer a coffee, I will be very satisfied.

Esempio
Andrea Lombardo
Item 1 Item 2 Item 3 Item 4
BootSideMenu-1.0.0/examples/2-simple-right.html000066400000000000000000000214141301440770700213210ustar00rootroot00000000000000 Simple menu right

BootSideMenu

A jQuery plugin to easily create a sliding menu, working on a Bootstrap based application.

Thanks

How to

The menu will appear on the right.

$(document).ready(function () {
    $('#test').BootSideMenu({
        side: "right",
        pushBody: false,
        remember: false
    });
});

By default the duration time of the slide is 500 ms. To change this feature use the option:

duration:1000 //wathever mills you want

Watch this changes in the next example.

A courtesy coffee?

If you appreciate my work, and you are kind to offer a coffee, I will be very satisfied.

Esempio
Andrea Lombardo
Item 1 Item 2 Item 3 Item 4
BootSideMenu-1.0.0/examples/3-duration.html000066400000000000000000000214711301440770700205460ustar00rootroot00000000000000 Set duration

BootSideMenu

A jQuery plugin to easily create a sliding menu, working on a Bootstrap based application.

Thanks

How to

The menu will appear on the left.

$(document).ready(function () {
    $('#test').BootSideMenu({
        side: "left",
        pushBody: false,
        duration:1000
    });
});

By default the menu is large as the 15% of the page. To change this feature use the option:

width:'300px' //or '20%'
You can use percentage or measure unit.

Watch this changes in the next example.

A courtesy coffee?

If you appreciate my work, and you are kind to offer a coffee, I will be very satisfied.

Esempio
Andrea Lombardo
Item 1 Item 2 Item 3 Item 4
BootSideMenu-1.0.0/examples/4-width.html000066400000000000000000000213751301440770700200440ustar00rootroot00000000000000 Set width

BootSideMenu

A jQuery plugin to easily create a sliding menu, working on a Bootstrap based application.

Thanks

How to

The menu will appear on the left.

$(document).ready(function () {
    $('#test').BootSideMenu({
        side: "left",
        pushBody:false,
        width: '360px'
    });
});

By default when you click a menu's item it will close automatically. To change this feature use the option:

closeOnClick:false

Watch this changes in the next example.

A courtesy coffee?

If you appreciate my work, and you are kind to offer a coffee, I will be very satisfied.

Esempio
Andrea Lombardo
Item 1 Item 2 Item 3 Item 4
BootSideMenu-1.0.0/examples/5-close-on-click.html000066400000000000000000000221151301440770700215210ustar00rootroot00000000000000 Close on click

BootSideMenu

A jQuery plugin to easily create a sliding menu, working on a Bootstrap based application.

Thanks

How to

The menu will appear on the left.

$(document).ready(function () {
    $('#test').BootSideMenu({
        side: "left",
        closeOnClick: false
    });
});

There are some interesting events you can use with your menu

onTogglerClick: function () {
    //code to be executed when the toggler arrow was clicked
},
onBeforeOpen: function () {
    //code to be executed before menu open
},
onBeforeClose: function () {
    //code to be executed before menu close
},
onOpen: function () {
    //code to be executed after menu open
},
onClose: function () {
    //code to be executed after menu close
},
onStartup: function () {
    //code to be executed when the plugin is called
}

See these in action in the next example.

A courtesy coffee?

If you appreciate my work, and you are kind to offer a coffee, I will be very satisfied.

Esempio
Andrea Lombardo
Item 1 Item 2 Item 3 Item 4
BootSideMenu-1.0.0/examples/6-events.html000066400000000000000000000302461301440770700202300ustar00rootroot00000000000000 Events

BootSideMenu

A jQuery plugin to easily create a sliding menu, working on a Bootstrap based application.

Thanks

How to

There are two menu in the page. Left menu call its action when start to move, right menu will call function when movements end.

$(document).ready(function () {
    $('#test').BootSideMenu({
        side: "left",
        closeOnClick: false
    });
});

There are some interesting events you can use with your menu

$(document).ready(function () {

    //left menu
    $('#test-left').BootSideMenu({
        side: "left",
        onBeforeOpen: function () {
            alert('Menu will open soon');
        },
        onBeforeClose: function () {
            alert('Menu will close soon');
        }
    });

    //right menu
    $('#test-right').BootSideMenu({
        side: "right",
        pushBody: false,
        onOpen: function () {
            alert('Menu is opened');
        },
        onClose: function () {
            alert('Menu is closed');
        }
    });
});

There is another event. Watch it in the next example.

A courtesy coffee?

If you appreciate my work, and you are kind to offer a coffee, I will be very satisfied.

Esempio
Andrea Lombardo
Item 1 Item 2 Item 3 Item 4
Esempio
Andrea Lombardo
Item 1 Item 2 Item 3 Item 4
BootSideMenu-1.0.0/examples/7-on-toggler-click.html000066400000000000000000000212331301440770700220610ustar00rootroot00000000000000 On Toggler Click

BootSideMenu

A jQuery plugin to easily create a sliding menu, working on a Bootstrap based application.

Thanks

How to

The menu will appear on the left.

$(document).ready(function () {
    $('#test-left').BootSideMenu({
        side: "left",
        onTogglerClick: function () {
            alert("You clicked on the arrow!");
        }
    });
});

That's all. Go back!

A courtesy coffee?

If you appreciate my work, and you are kind to offer a coffee, I will be very satisfied.

Esempio
Andrea Lombardo
Item 1 Item 2 Item 3 Item 4
BootSideMenu-1.0.0/img/000077500000000000000000000000001301440770700146245ustar00rootroot00000000000000BootSideMenu-1.0.0/img/avatar.png000077500000000000000000000333251301440770700166210ustar00rootroot00000000000000PNG  IHDR4PLTEݡi999\Y|Ԗ]BBBtJӑ[m"""wNь̓YG6ψzR`vq:::ГYd<<<@@@z~WȫiUC2>>>ٜd͏V.)%VD2۞f$##***՘_ɨ222433m1\ܠh~D666_"֘`,,,ˬv'''LJMF9.000777u9&&%gךa`...q6}àe)xNⰁҔ[!!!Pj-M>0ɋRnҚe⺖z\?Ƥ)%"\7/(rƧ̍SyjØrαXK=0;2)WXE4z>MӔ\ch,ɊPHˉPA2۝dc&Vz;hQ<aDhHcL7hFE[ĄJlGyՂHĐ`qNʑ]2,'yRU\I64B+tP{@fB6*),&tZBw-[wDa@HICmg,w;`BϧmGSy:5ְ@X1qIU?J8rMj-ۭ[nTΤ~ٓ[o<⳪G݌\{{36+^W{vy*^\SA`uHe;(Fm%Z&,J^ASzL^]hg"⵵*bku|d2Dۆ?fMowU!fu⍔p+JѓM^Z qaءR/$ƌ3`}r\DݼDy}Yj lՅ06.8 G鹃tAA+%!KPJdE- BK.Gy\h4ʉh)+eZy| v3G%niI Bc_ծn|JV~;fZ˪$.Ϊ]86./(ҸW $LJb qof9R£8@VI^@H2-AvzqHHh9(yQEV @ޖ>eszdh}>Kf%Xm!/Q; M#-}$ñ|x50?ThXr8;-/ú'ު3K{vϿBNOaoHvQ:ɵsclF̱]w 9U x% Gir -6UE õ)|0 VZ˻|&u|VZPSjdc:{RDZݻ]wLZ gw;i'SBˬ7ZG.][-R'] \qZE)lA%jwoW%\ah2h\,{T)By?sVv~i aEEchR@ɱy`u`FGy}= ;g~W 鈃ϘAxv슭|-E-k4V]Ppo ۢyE򚀞HwADOQB)ljɔqN?u0`1ѾVTɰa⥟.j.g \IAO3ZX?HEAg=&̈́.NS~V[zgv+SU5ζu1VT91{I -tԽ^8h;HGJƱQe*=r1 מomjg.!Ƌu`^+ \ ꞽ]pja+q5)SI:xY:Ps>#IV:"C@Z -`}\Ɏ!^;^ƪe3Tz5nMZPP/ax:9tZy䰱hMs+bmuz6 sYX9crR-:|S=*l6~d+n5S^_F5΋20>߃dN%lmU xؿqT3FBK'mtAe{fKy=P\["W7 >٧L[S\[g%<>ҺPT VD;lQd gCȀ ޖ3&_]hBzi>KpV$  |J38L,tVÚF /3yA'gr"XȪ];~&OKyuyh5`AVyXQMcg B+@P>cr>n@[=ͰԴH2Z6cX~vzDbq4oD_D|D>imfDH1e|FPop ށt>f73Wsx-3rYkEL0Qm:sK+%a]cW7RX:-dЧp"a#=Grh3ļ<,FixJ-y%>"t@vAc2^RG伲Giԇp_<'̔%a !ʎQ(};Y2x 1H#/pq+,RG-aєI<RPa1y ݇o[RL5-r|^JXVzZG9J^!6 KB,0x!c"!x5t.x677M =ܼޡNA9Ha`!䏍: $;hiy`sOڅ6hG,Ky,^XJ*٧5V+>}Yh!6%{(񇜺!f%!hAxKG4+V Dێ^V'Au s3V?~|ǎm`ЦzPDe YϼI%+MΎ4WQ|d=(Xb9:p| \ucKf O]Iw(N4@А1p諔قu;-{Ũ尊XQg<'D6DSӶU?:gh<3 X*cb}xcxW \g;734qnQ$jժ Ȏ~ԩ%|dyQ?fjBMDx̔@ăxb?s=7߼hѱub|tlN̩t҉#W Vᥒ,,OOjyYnxnܨ#'Zuzp'NIȉw>ffkޥv\<՝'Nl)|@kc #&6H ԩ,'שMtcpժF;L7#cہ d Jz!)xdg@6TuIgXX=!/؇ F!Tfbxܴ80yHd"<ï2 Nf@Z&:~-*> > Bjĉ.x7o|Du)FDP"%N.䝯BV 8ٛ!DD^ `馛tHa믮~4+r({hh,x(/^dHǿ6Ku3ZW@^͔mF끖 &bw$22#ƌ| Y)`&LRLYI)P^ϩ(b x /rOUuM7}\L^Jm4ZK0sB؜99WkD}z" u^)m4."JX%qWVW߶h͙̬%bOqΌP+Dx@1Mn\6ZZ۴ I'; bƔ]ItKR:cG`^YTC nXEs=_5dȋFputTPӄ^Sux9^s:&SLx(!s~Z hU7xHSK ›ܴ X>bo~Rӽ~C{]o/^YZ"}։ |KQoCCZ-6+?Ս.>$AMFD#H|HmO6טgy]){Օ_p .%n??ٮ!(Bl7-&OuP(UiXY:%S+3yn2^*6N=SF#]Ͼ+[~|Шblr읊M3|z׾ ҦL.>C4@y13ȄA LnJM2^Ӷ=Gyeq^/\G[oNm{n:^OCo(3{#y -GgJsPS^)G51 "/4IB.o| t7Y/ ]zVʋ=9_6(n~hz5d@t 3^~S5f&o|(`Mr< {Jy}[5Xvkl g@O\IFk ) VQ^pʹ.ae q^G̜? Mj}G:,?(iyiwz/IUaEznq l?Y/>e-Џf, #3iߜz`}2P?j^ /2]>#|luT"jC,| D8yE 9,W4q~gҽ@9=y2Cxmcc{Q+ эY{M|s|e#QL6M$R~ vJ Y^6pyK`l+͵ a8UU@w X[Ӎ=U&:2x-9~PzXF5xDF-{s[V/M?IQ"R Yܟn؀=pDiԼNn^N Fx}քIT|Ӭ_~),LxEowhS? *#ϔʨ_]jcpC hD ѩ Ӿ$e{ğ$6wO-9b%@!#jniUO-xDd5O;ީ`yݰmK_Ӣ&3zS[[V`Hz`úŭǹ¢E=w'+I%bMeWĸ痴\p:"̕^=VsZP@m8yd\Zay(( +݋aXf;Sz YmԚE]OVxTrDs,,P4ß+PgUꉃρJ p!}e0qƲ$&ժʎ}}x`%R W+@؟x?_sv6SCD.jbn[0DUObjHxEٶnZ7lJoAEX!,!47yH/jܾ~/jSyXɪt$dtYt˴N%L_&ҟЂ:)_r*eE~˂T>_آCִM f̾AaJn r v`.k>4 E=&ʅp:_D (~k"Ò:Ӥ-tyPVVNQ44qZ&EGԹ<q@s"Z-Kb$C%u]M vɬu$pz|e..kw\ +`g9lY}Ȕ?!% xא"9ϕi۠@ЉuckRYk; É'Sa8g/ne+-Yb5_t#%@]JI'$aדn;f&gr^vXMٖA a݁HIbyUڎ>`CO"S`Н:ܗ +ӏ b°kbXsJ|EvJuS4ò,II+.68˵gKȔegY:6wb}L>Db/o%4Zl1/^ SNt,@8o֓8֖cmפL`{-[pnchDgY0Δ dXe$c<@~g u9zʕWKMsZ/I{Ȕ<1$ [@z>f@w烄b /^2bż:I^!{2],‚$ӥM\#(^R[].^V{#7k[OO^bZM3 MYDHrfC!/1jbwHq'6>W]@,޷4^MLͽ4ɰ(vqIEɢyM=MoK> *mkI]g,VT( t˓&2YTB=f AqN`pZՏ[h!D- Zہ׬S"$I\>'Ek< ʬ J: J^@lFCk\V:sdg6i=o@D^>*ЏGX3”d [ B pRsV6W>RH̗M-_bwU( ݼ,ݖgJm99x i)7͖bB%;O[ɑqb_LP^HEe+bդHerÀ8@{!Gǘ*{J6|rS"/ap@~65(@^mHkw[\=_:@&FB0G4B.xanShF *JX[#Wr+g+-<<ܗT_"7- D8= 5_vDܜ0Rԇ/<-!9R& -:fkfu\)I ®兊+ .d^6C%x _vquu,s:_:*ъqsuIע|MWJn${[ayXQ)`i?jj9ko nſԇ&'!WRDt%ǟ<ō IūmuP{1j}']DuH檙嗿@P(@X"ė#T[>}kk/y8vKl4 )6_AE~6mڷ:|}m(ʎpO^#kg]OOn[ɏ ˚/=u]ř7r?35[WD|q ]Pv$m sK͍3ybk;yJY`YN >Fk> y5nCI^K{6 qkuo"|s525D_C۝ş\ML.,7%5Xz%"X[f$ྲIDNԽ">h7x\I]IbwTCkJa7 ъU$,~'P@jc2\62$[VquZ]Z9F(C]Bw|EYĂa1l.b+56 FRkըwiIkf6^VBcG-@Q)CjZ^?R'ΨOX#BPO^Tb-@Ҡk1hJO\*/'aȩKr0[EZd˭"%(3>vG熪{NP% KKd־ێpOG#Bv~&@9HbϞztjAR$lc$d$Of[՚E{43cjU`b?|SbZ+ Һ ͊EBH&FC<]Ws圵)~H>DMbeY{zW.KxfsU鵶T7 K` Z IggVYG}H8 B-cNt{yOgִUu%D)6Gt`$&H ލ)Gi=N"@qfb7h C:,m0oTe$%rl3 LG̼._mQMKq%bjdrӻ^}kƋs|Q\0-W[v9&le aQX^)Rnk!|~Y>^(@j Rҁ H,h0;E.2q\Dchm(e>T"6>&:CBFGc (>/pشZ|IENDB`BootSideMenu-1.0.0/img/paypal_coffee.png000066400000000000000000000711641301440770700201400ustar00rootroot00000000000000PNG  IHDR\rfsBIT|d pHYs+ IDATxi%usoz` HB-2b aDPb003dI"WYH&0 `0KKesd{2{U]ݧ;+o%Β7JǏlڥ][e,[IuD"ufjwXɒ?+y,R+@V~sYI!L Fyema0IK<$= kZ^h?NyUg^yPI%%E]`~15ܷ]],E`Qw%ټȴe" 0 $3DID5Rt&Yٱœ: Sz8u}'@FFW $Ir*hZϳ YPFoV}k4DY,,z"A!%!1 I;@Y5aA$0 $8c93SؘID$p$#q. Az=q.D@#^ђ.JR*6>0V}IvEm !y;8IQFNG$. 48 S;Rc5a@IU)X`fĤ 'lN `E@~$A$p=8m ?+tq_?6q_!H_SG&uK[ٲB t=(a H'J\yMboa$^C⃍=IDW Tf: + "#ĉ8樗D~ĉ@عap΅D KbTW4XۜFjUG K`aG^~$aiG&$^$2I"ċ7gL0*`dD,H > ⒈s1Y/%8:O7$1 H-:u}luAj2V~1_fKTG^u5" q$דחdԓ0k%=!$aeU#f3M"RfN(p00#bD攌pR /57`˖:p@oOVfTuo#tjN~H5Ik؏,{0xw @d40 } IS*L12RX͠FPS3>qMF*X%w^(1zB)\}„2 UݮAhe;YljHWz57lw!/ G:4Lǽ0'aw0C@C<0 }Ѥoj>)R0 h 1Vg^qD& BډQ,K40_+~@;iv"{?v:IƑ&qlACMFCj_d"͒i蛄0oΠL 2F0@ bA $ pkX=9Ss0c30(;u'[ DPT5GTp2[eu$0!ϟ$xS- TG0[հ*h4$5A-R#32 51ؔ@oLdbހt01gbE]DQ$5K PǪ[$V7`e]&BXTEB`x0z@80II? ުѪ$5I5xU$^Q!Tf1Yj3v?Q:Ddl0lm 0FNAlqT%xl,&=Q52DY,I >Mr+X E t-VlӦ^K;"ux8B LxhJkUI = F "%@$\ X $LPԔ !5 `j A!p/$8/bGS8Ҁ`A"_UR VԤdQ+X}CnիmC1 Z""uIB qdPB"$ɪAVth}3%A fcvB 'ds D JD 532#L L;E q$Q={MYu"aYUR| p!f෹]^3Ω Ԙ>&ȹވ .]35@MS(0S21y@bSs9@+kWA;O~' nfiݶ:atrqu:U,Dfi}դo*4g}!{a%z1h\`|o(}#5L~@HE*DdFDB`)2ǎ@yR22G C?ݵ6"PB9huZush2CԘK7Sozf3tMXD0O`621{%O{`1qzr 4$!Ĥ`QH XGJyo ZmeЅҨETkmM2o_M@[:hۜ?]!`&rhd*D`ڃZfl: `V";?9]2`D܏r>0;Qr0Ki UBBfD$0#v=1(#G.'5~Y[wo %!SP#u`CC^SiuX uCW+ډA"y3G$ `^"yy 酴:˽l9TdmFE)j~s(a,\YϤ1t̸t~>o013^QF~FF9#كS4s(  156f"B`E Ɔ }l6iTH&24})tSMQפc,zuײ!Li SJ'DdDk\D8)@0t^vJ.-]80qV숳ǩ1,`9Af V@䌁?,m#.pl˽dw15mӖߦJ#QMh00 O  A @x) YcusJK?E:Ȭ) ~ZyFPtjݗ"#?l~'RW݀##orxrJu@u=t^  ؑ*O9%f;o"`6R6>ݦ 3iYY[wVMwzDl,i[A_u۝ ɽde pnmt 5xu(4-ʀ'fc pHzt+Ȍ,}{K '| b*+ٌA@\\HR]^G@pR/EC?P~K @`^S덯V˻Hbbf@sU`:s~,,<,8ĔM0RvH!0@Rf5Jדx@.S+*UnjӶE"#!*]4c^n]AVw]aQ 7D o\hO5VAaN2wB:-lfL:oN*"q 2-Vγ񜝛?- ,pOA}Ò6ŵUSG W u2:{09s+9D^A^9R:00LSoH?Ղ35.(l$M}yХKGRw6]6 UZ|h~Li]e&n̓쵋C.؛'pNB*B*@ buFĤ Tw^82q 'rj]c '܋OARRlЃPS$T_ ]GS/!6ócT|$HIi`1 fd`95EB^zHF"(CM`MD BkV^ qOW?wKWn menW뷑ȢE ftڮOˑ90@`tFc9yE!R,a`ة*lm]6Ro곶d|X폽0TM>[_oZ]qkZS@7vavEcK snL=XuQ ?p.@MdЅK~n([vݵT]-<0I/&ة^ YHX{Azfԫ#66S` So1?z`w+.]&un;r"$jTD:+ K7 kyGYw "̑L8 ̽ļ&7'tnz5陆$ y1M)8&u|r¸ M<(JMF}жnksӕ.w+HTLc!D#&K A(}HdCHQH8 DIPqE]LQwm@Sz~@%o}:L 7*wj~g@"֊Yk{iX] foff=r$ad#@QTT B,"1E~Iعg[}/.f"rl^ ցI=uPW\\ϼy(sɼZN_;cԂ3M`;^ͼA=x1$dPs $=b(4*,LNTcU]PC@z]󈰫0%.rl^' -yUjTɼlyYxpP& I`'f ?Ω3 V6"7ϊg\9`TL 8+Ѽ}77Xy9jYYՁQGղ4#pkc| A>w ĜX ~MśS6AD @aHzG|P5N(;׮A]e! :ӿh/B@Q,:(ٹl`d`MI#Qg ZBdԩJDD&Gs%sȾG`.PJڇ#E.ʂr/,~m3r)F/beuKj ppj`x ʤ@OB6ߜ8yX B Rg<@H{cG̬Y}H"1drFAuv`p'PozD@,f,yuԋjL$f YlLi&W88e0؃(Vȡ\C8k?_ &>EWn;#yr'N+)z,8v@of}=.ό% IDAT`lfL0B؃)CчÕ,d @ DP*Whp){bbD4D4"|b-9t<`>!Q[쓀W>QO/cU?qo?/"!̼'l8if'`҅Ss23+UKu=b@?_ bFaj/:Y.3쀳3l޶MDf 'M"p9.{/GQWeYL55=s{bx.`ww\OET"3?٣DtJ: &Γ6"Rw>2@ٯuvZ ` =Ԓ[Dt.s(c,z=rTMq*trW|H $Fqv4ffKS0svUmWȿe_g(ƫZEW݉jnK^*Q@{B "n8'UIU@-(G"A:ٮU4m]צWwi2L%0Ka`@ ={)p屃C)]̫3ùP%׹,B DsOO:u $PnK!r?zY$w&IA33,bB! II:_'DCfQ=f)$ 8FǓڵ 텀lqXLRxʙD+` ,-Ip\xR`y' :h'E-j>8EQiޗ22?O:u  `qYeYmmm}t4|qxx$I$L0 ]_]!mhoB,>TF0&4c`ĜF$Wbh %ě#y;;^neJuV;)P%"I X BDM`f^ ZIgDŽ*cMr֛%Ք V/wqDFuGP,13>!zeŋߗ,0.nmmc[y07_]3 btn`aoEKkvŲ^ Y3dl.fDyh@Ӄ 0kN K5}"PoQeB6Y>{GI 6B)O= Z8, ZD^p u `> ]_3J""nq 1_/aL D̴4!AX~Pԍ\W˚]r>=;^(zқT4`ny=N4:@e3@})LAYap)>>Q08ZDmVVV0gBe… C@ k6E[o7^weJZY7 ڻjO Ąҹ͒ZŚqAAg/Ae7\ 0u f]IlJuNrxGN>SxrCோ8q)hx~327oǟt>0m1`~S0!B41שGvn@%P$&+xO\EsGig} $(LfMDP|}L@_M5DIwax8WG֥ X]}*mf?裏A6R._߫/ٞq?¥:PbkҦl|RwBqmu ո"D s2(Un*OU-9T; = 5l/o89g~Myykz'pg?K`?(Tobeen_{LK}.ɍ70[FF[]{W~9[]_ȬhY ml2Ͷ`&)b5e@h[2-إ`hZ^V4ˁɟLK i++_ca5=^BmoݺNm&vڍGhT(JbG_~/x:8ZpҺ@ SӴ6m/:oB(O'*`W't)2K:UR0-_S齀S&ÌuPp*䐖aZ+o_W^w[xtrűW+W^]o<QX~=oTieekkk-_kh_^%YY19[MF+`5K +z6> MrID}JԽ~J4ܾx]8C1pr;[syZы/`4Sxȑ.\/ѿ?/\vO>Fʸiws|S;8'Jn t+oj5gS௝-w@ SrUJ@N5)&P%%Sp]rקDeDOKD;*=_$ك̙3Ww]w]#(hEGwK60>OL)=N:x3?KP̫œtO0{;, ̶iݷ,WB],':E͎|('e7^fig42X\ +oO,_OY9",1L)ו(+6X[[~&yfgΜ>$cӧO?GBy/?>^  Xo_­ןkpi(㛖}xlߘlLfJ91` :IvLH7Lȟ#`FeTȯU4 nA5~PgkP& {8uhUV<¿ęR7-"w>'snOʏIիo}[[DD=^{'\ G7?a<3~/o_ә\QYY4]7+0k_XOf6/0;ieOd"O'?N|Pa %&*@s$Ϻ.O3J3OoHI'(HŌP>hx487^3?:&D?=&GJu"Z+W_x_}Y3>3?A`m`2/~p?GO@u\?3pf`:gesgV[>~ڵ/:Mz:!xɔF 0e?bTUZ5PgEiL-u +P{`fxO2>,޹~kw'8}WTo?쳿;#$?w<Fxsu|)6zc9y#m_W?d֤PҞר / }DSR~<[Tҽ)L< PEAN4l-Z7J|?9ZgYtlJg'gi|`Nuҗ_7.+D5?Ï=pTO~/5&$P"^x+fj[7o/^d{Iɋ?G=Ts۸Wװ0|MV@  Z- @#ιo@`NmϋT|jk~??w O< ׿KOU߿BzkC?wyBا>e6nk?-" 5G> |cOܹ3xbG|'%+ݛ ޹29nn+`Ģ? :Wo)qwn zVayr>gIjQ4_GX9^}z ?MgW_+/ms]u贛}?(.^P;(ij>JG GIfwåKWo]$x!ΞK g7O?}8sIE@ab+U|ͷӹV@(y $ɾjS0CRBX(ނ!`%I^@]gl0g5g?cl<3ꙧz 7vep5\t[[o|yco^Ul׉ཏ2> <#8w\>[Ǯ͛7W{xOŷwpm|+o ޾n(9m: gzGލw<.\8sεO%h[0޾ewew@·xW.7}c57*OLw\mĴWMR;뭡rG_?.'/7<] ̭-_mk7q{Kqv3A'W̓ %˨'?yӏF^hkWVWWr*\?[x]|be8ygMA~Ͽw%3{)TE"f8pUDn;nțkgGI_җ~*Iϵk"j~Un߾+W՛KqF[[(LpamprF]  Avb59uDΧM[yQ+yAu`{{;t;;Q'yE^}ꭱmnvvL G6g6OkO,VWWpzTy1I2 7Տ)0I\hh?lϹ0k|_|FDTP ho˸~c |6ckp}Ӱ;6Vp#`u~pnm#'U+'WWVWWսQDD"fY+oemü(j ?h= ۻAڵ뻃#;hlƆj=UG+w_XO'OS&?:?޺Nְ^{W궓$[nIs={9|_]ܼT r"*ŲO":A8s6$\YWr _צn"۷o7_1n޸ׇ\ƥ;q;X1[#ɃJ^<aإ e/Y0#x&8=# v E" hVD i: `<Q I 0N8du@O k+~X:;=.8u'Nkw1}:m@UN:px`Bvҥn޼>OxNH_e{ 4m<3wΑ~]=Uvvv1C4֭subk7`{Ԃŀt-L9nԍZfgO p9~{`uu4DJAV*M('~ǟg}羱쾎 )W|h^U`/Frʜs8}4N>hAb{{;ۻj{ IDATA`dno5n~,H!d4P9NR8l 0DQo"`}B/28q}<1CAkkk8qL}s*DCH G}ɟ̳>eq ETuḥmuꬄ.FQ&YrN q 2E$D" 8I8K!Q(D " ާA>b"^EOS!>r;F`8v"~?vC>=kizEϳ 40ŋ$-CG1+u7.5h2/nf7$\euS5q:hKu]ږhYS6Y {']z׏}sG~}ѶGM@LWU,F"]7 \UW%ܺh4m#&¼xNݼ_un`0gϞ^xa5("_FEBut&j)TYaMԾ"߮e]MwiS;Wg8ۋ;*??6Byky pmiN]sBX(L~++뎻lYywtݰ`8h{lyZ"5m3'󎵈9vk#,c4GUH8˖w9lQ'w՟x/@.fc3iz>M6}A[GmWj۬eȻkhS'w,ȞPqX( "(27NcA ͫS"fz@qm@|ȺkPt!:܀b _cQXD8CJDzƣp9>+] NE3Lm-N4 Թu~d>7^y6ktuEUqCU_v?27/__U__/x≁}lmmjM2Ndt޷=Y;.ImNXE{w]sVQ/<_k*GVȏ[>ѥ]!of|4ufc ᅤU2;x'ggyq'8P8{dpz\.-.@@ *\ڀ֩2%=X2#Xˮ,/Jp8lkY7&,ͪP_K+2Ȳ̢S Fwo˺49V 9 ͎'ƾ-FCG{O`DZ}X2:\>@MF^4w@K!ڵkm͌06XcgB># ͛73rTV;(i'"Yiy`VEY `y!?bp􌌣gضc̞v^kR%PA#U5y8lOv=v !ekR 0=Q5 . d&qV08h$3xSg( p蔌'q|d5uVtZics!LryL+qQA kl'q 4rͧ=νC=-?~wo$IZ[FkE1I>yh7гb`LD˫hjj4$K*:N7a 8'֮}↥m^OtZ&3hbmvFmk׮X;W޽-Ŀx.=au6ٍ#(zm;qݗԘΓvOu~?]i.a)&Ձ\ߩCP-vשׁ+2vYvZYՏo%rOn!tvvl= z@bµ}߸U**N~r 5i?sD"n;}> 'Ax= RQ%)fMvurF'M<`3Nivaii7Ͻ ,&+ "Q%- ` ix}vCKwdi1IoNNC+WNڂOM&Y՟>^6s˾;m?:7eiEQ ׷ھ?Db " x<{Kg̟7ax\ Qn8`ߪ&M VBX>p#G``iJJp_3gisY鯢>TsG2 U~`!aWFΎEu ;^}@ M;P($?ٹ/P06ze1 8C.e%O=.ޜa0Qgt R_? bmAy'BH$UzN0k2OnvzK-ֈng]@ϬCߠ= bk,"RqF4*ETTTd?Ɓg^;n79[nk2ؼy󄆆n(բ@ G(BNN̓: Ρޅͦ%e/ ET555zq˴[pi9^VI ^ ;iUXCY'S0EQp-3ಋr hÌEQOl?Ln-ՙ_.zۯώ%*I p'ԡ` ?(E, _+.lp;Sw& :etv:1,c˗/qOMM@Kshh);i(xaO|jx ݃~{8A2Y5L&/m EL2z-P#Q1cOsD"G ҥK`VW;~\.N:?'5B'K_Ql|s;&Hb?&O?GJD"aħdݮЮw Ű}^xq g$7-kqk" C$k\AyESQ{sOOj0+ ˖- znED"5DH,r%vA$])5_S/ߵ$퀤GY\0)G 7NݴiӫͿtDp8 rw8(lAQ?\X8n#=_MT]r~> X>|u*06l=e 'sʬYxq?v]$ gN@`D"5 'kqVz_ {^fypLPk:BsӶIs0p-EQ7o^cioo \xDWon߾ߝ>J,Yю;p >^~כ%"u5.Go-">6V.b'.d8ワB O+ZQQw~;Սn1UtuuC=7` pE=8ӈ +b:0:FZ0Es5עu:;|v7:94 '!Ye˖g^***M:0002<<;YK $<ϯTkÍH$PYYi^]/x \1Ӄ;.Us/c"l8cQVcW7oMMMK՘" %jժr1E'˗/رxWiC ^W3} BPb```M[[2_vPt2(^i[{\W#கq+Ԙp].<OjX{nD1!^Q8Z&cV~` CGN൷$Ÿku_^l ʒ0FX߬E+H$~i*EQҽz V}p2ȕ+жrICfcZpg{)>Џ2xViw1eJKAUe]CCC^z~DQ yv$ﲦ'vr1.dfF곿32u,RH$`0}ԉcattxK&_ ҟp8 Bb?_f }8n/S1Ze.+ 9*yAAgW7:m\YL\d&###i GQ$I $IJAQdHR h/ *R 9ON$ mӱIBXpJh4~!ncE/ ,ޱc ǚ&fOd^x<'MLCWn&N;vCGg4=(Q $H)\FjpG5h?#bT$[<իwdY [F%(FchPE X>ps{JO}sj K0s [-,\,ˈFX,,ˏse˖uo{ri.IaZ|>[``g_Z[\X|$\=w&^0%]惴#RR)H$i$ID"?u]? %"L&v3DQSH&"~m^ۋox NHG8T .\u$\~I MUUUnm4Z3LEQ,wI,{ !Z*GW,[k׮]>kT* ̅, #Ĥ&kK~GNت ¨x܀5DT1kF#.^@M vm{<{߃,IROQT*(LR{=8dA)!{hZhr G4jGע΅B#u\"pE,ۂ-\.{T|z=,uB$sooӹX~QRpu ;8kEQ2>fI}>^q/1eF `0^Ekܺ46c}X !E`[Qc.`OB)xe?m8iwQ.5jvvu.,zu+oL̐KApe (AA!<珌XN# oͮuk M;svSV.$%DioAp .Y7-E6x' !###YaZ\t5hylEL41+B|@_XdJ S/gEvV*Q|fu\?t|"BI R!\GÚ3Si>y n"^iw; EOv;>ZSI+o?ctPdɒjnVWb>Q3&1g%lva<|vv.Z` e A! O>kDŎظq%l("(@B^P;?,? >Ek|}M+."*Y{{ԅE=.`FC,G樂g_R׮][ 30JPᡇ"7t=n{v06~l A5lW]{ 1opDNEL~y&58]"V YM7H ~ȝY  ]/>k׮AY"=AeYvCYov/5%|s/IK"]Xiؘ(\XBm IDATk3gSL4W1Bظq!|H*B$1$ 4Nuٍ.w.)=*!DvZ}sQJ5졇W!! 722BAH/8[%>y;x: 264zvZ>fϧP(?އ[рVr(0ׄ[n#}|9F$IY"\DN";x#V@ ma",,˯.\d~?T 9"D)D`رxo9=$I!HO;n`8 R( ǧ-]2V<&z?-<B*ݻwu~AׂV(v*?~,c8R)aTWWjEQ͇fa<gƇ3'%Q|^P5=:In705ުy 襻$ C~qlsmݺ5gϞWG%2pVg!@AƮyk?LwA\bjk B z-]w}"tX﫤P`YG{ѣG&HvJEQD3*ө0Li1u$8,91o58X+VX{"k#1BMm n_iV[ !3Y]$?}i+HF&8o$P/c$R_k>C 6q `Mxk. FxolgCRFsS#L=#a}*}ǾSO S6Ed C8MXȯkI=?'L0a>/=F*B<OW-V\˵]ey^_W1J$2ɟ(BbX :l^X,y뭷v]';sKm%I۝^Pm=pZέYjxճ鯥R{o>oE UL_5=D\oƻ7t%i7]+@mO&$ r+Fa<׭{cAZYinUlbҟӗŹ_||h޾wŊf?VG:(K)J\W85IFy䑟>SǐI| 4b_s6A~|x~olmv}~ Y3f#v;U;B`^|œc=,DY_k*_?p M%bXK~V^noV7!ddܹı>"~v܇E!dÆ mDB?0B_/GCWEZ+odN:ܱcG_*rMBpqW/L}=cm43_Kn}O?`oU-(I9mF&t`0H֯_5kV0Ʋ\i@nWN:5t}o^K|Yw,Si]Վ%"P@5M-˲u֡#G͛7 Oha*ȕ#P#*dY&/x@oooDד^Y(y_@ UK@ƠЅ c\6CzWZ[[}ӧO|8nݺ~ߏٳgW\.f߀s0k, H wJ ?o}PR(f 3 ~OF l@#^8iӦ]x:ArA|9+裏ioo1UbKcqbl%,Icf6K|ͨ䦚&ڠ!Jnذ!/}}w<Vɸsq4M?#GD`^Jz d֟-^?@IX, [c#KVkK# @_}Ho溯|+̙9 [^׃O/RǞA <ɮ{}M h`Y(a(VP^_׊F~/B̙S}w,^񈹬c'?uˣ)=\+ 7Y4e_(0 2  Z&O\qw^coK~LRd޽O?m۶ ¼O/6v0)@-QcVg806ihM2Z*n릛nj'.Xʓ~<9YL~fW>|8iӦ^{;{nJ{ ̌eW@Xd1hdYYUݱ@x @_;h@#׏, yY5@/j #M h&Qo%FU`is\kmf̘QxpW5#Bzzz‡ؿ[o{̙(`d hOoIi ((^PB`P?*69fKfUFdz /X+h袋jjj둟~TJ>}tСC}{ۺukooִגF~X a b@dF.uE{ U`ރP'f͚UZ3uꖖ'466VUJ9F}}}Hggg3>zhɓ#,[ !*`4HhDf̬+K7I.#j(h#zjkk=555@ பTUUn[IFT$IF"T8N$SȈdvN#D cDvi~f#?PDfnF|=YJ3(돭@Y~4&,&gF?b[=V10}2FɛoqFUft="^8W%4 bN; WB@ЪzP45} fDSϥOmX\ B*4PrbPЫ>7rT)$ c<7؈s+0숁v_RG1:0Ѝ'yJv8FD7,%ֈ=%S5`H $PXɌV%7O|^%?o@{#0Jx*ffSI0i{0XtwJ~ў-``Uu`=!=M~B Vk@f9)y\،xv'^QXI.y-^²Ʊ YVUi%c;ݸcw3zF) V![5(OڱY;yad k1>WQy@,_(.x0+1!Sқ<> E,DtJn%<{ ( ?~\ X8 ˄䊤@v0D.=(T\L2(2(2(2(2(2(2(2(MXp_eIENDB`BootSideMenu-1.0.0/index.html000066400000000000000000000156021301440770700160510ustar00rootroot00000000000000 Test

BootSideMenu

A jQuery plugin to easily create a sliding menu, working on a Bootstrap based application.

Thanks

Share your experience

Those who send me the link of the website in which you will use this plugin, will be mentioned in the future section "Used by"

Examples

All examples uses this template for the HTML code.

Watch some examples!

A courtesy coffee?

If you appreciate my work, and you are kind to offer a coffee, I will be very satisfied.

BootSideMenu-1.0.0/js/000077500000000000000000000000001301440770700144645ustar00rootroot00000000000000BootSideMenu-1.0.0/js/BootSideMenu.js000066400000000000000000000307331301440770700173650ustar00rootroot00000000000000/** * BootSideMenu v 1.0 * Author: Andrea Lombardo * http://www.lombardoandrea.com * https://github.com/AndreaLombardo/BootSideMenu * */ (function ($) { $.fn.BootSideMenu = function (userOptions) { var initialCode; var newCode; var menu; var prevStatus; var body = {}; var defaults = { side: "left", duration: 500, remember: true, autoClose: false, pushBody: true, closeOnClick: true, width: "15%", onTogglerClick: function () { //code to be executed when the toggler arrow was clicked }, onBeforeOpen: function () { //code to be executed before menu open }, onBeforeClose: function () { //code to be executed before menu close }, onOpen: function () { //code to be executed after menu open }, onClose: function () { //code to be executed after menu close }, onStartup: function () { //code to be executed when the plugin is called } }; var options = $.extend({}, defaults, userOptions); body.originalMarginLeft = $("body").css("margin-left"); body.originalMarginRight = $("body").css("margin-right"); body.width = $("body").width(); initialCode = this.html(); newCode = "
"; newCode += "
\n" + initialCode + "
"; newCode += "
"; newCode += "
"; newCode += "  "; newCode += "
"; this.empty(); this.append(newCode); menu = $(this); menu.addClass("container"); menu.addClass("sidebar"); menu.css("width", options.width); if (options.side == "left") { menu.addClass("sidebar-left"); } else if (options.side == "right") { menu.addClass("sidebar-right"); } menu.id = menu.attr("id"); menu.cookieName = "bsm2-" + menu.id; menu.toggler = $(menu.children()[1]); menu.originalWidth = menu.width(); menu.originalPushBody = options.pushBody; if (options.remember) { prevStatus = readCookie(menu.cookieName); } else { prevStatus = null; } forSmallBody(); switch (prevStatus) { case "opened": startOpened(); break; case "closed": startClosed(); break; default: startDefault(); break; } if (options.onStartup !== undefined) { options.onStartup(menu); } //aggiungi icone a tutti i collapse $("[data-toggle=\"collapse\"]", menu).each(function () { var icona = $(""); $(this).prepend(icona); }); menu.off("click", "[data-whois=toggler]"); menu.on("click", "[data-whois=toggler]", function () { toggle(); if (options.onTogglerClick !== undefined) { options.onTogglerClick(menu); } }); menu.off("click", ".list-group-item"); menu.on("click", ".list-group-item", function () { menu.find(".list-group-item").each(function () { $(this).removeClass("active"); }); $(this).addClass("active"); $(".glyphicon", this).toggleClass("glyphicon-chevron-right").toggleClass("glyphicon-chevron-down"); }); menu.off("click", "a.list-group-item"); menu.on("click", "a.list-group-item", function () { if (options.closeOnClick) { if ($(this).attr("data-toggle") != "collapse") { closeMenu(true); } } }); function toggle() { if (menu.status == "opened") { closeMenu(true); } else { openMenu(true); } } function switchArrow(side) { var span = menu.toggler.find("span.glyphicon"); if (side == "left") { span.removeClass("glyphicon-chevron-left").addClass("glyphicon-chevron-right"); } else if (side == "right") { span.removeClass("glyphicon-chevron-right").addClass("glyphicon-chevron-left"); } } function startDefault() { if (options.side == "left") { if (options.autoClose) { menu.status = "closed"; menu.hide().animate({ left: -(menu.width() + 2) }, 1, function () { menu.show(); switchArrow("left"); }); } else if (!options.autoClose) { switchArrow("right"); menu.status = "opened"; if (options.pushBody) { $("body").css("margin-left", menu.width() + 20); } } } else if (options.side == "right") { if (options.autoClose) { menu.status = "closed"; menu.hide().animate({ right: -(menu.width() + 2) }, 1, function () { menu.show(); switchArrow("right"); }); } else { switchArrow("left"); menu.status = "opened"; if (options.pushBody) { $("body").css("margin-right", menu.width() + 20); } } } } function startClosed() { if (options.side == "left") { menu.status = "closed"; menu.hide().animate({ left: -(menu.width() + 2) }, 1, function () { menu.show(); switchArrow("left"); }); } else if (options.side == "right") { menu.status = "closed"; menu.hide().animate({ right: -(menu.width() + 2) }, 1, function () { menu.show(); switchArrow("right"); }) } } function startOpened() { if (options.side == "left") { switchArrow("right"); menu.status = "opened"; if (options.pushBody) { $("body").css("margin-left", menu.width() + 20); } } else if (options.side == "right") { switchArrow("left"); menu.status = "opened"; if (options.pushBody) { $("body").css("margin-right", menu.width() + 20); } } } function closeMenu(execFunctions) { if (execFunctions) { if (options.onBeforeClose !== undefined) { options.onBeforeClose(menu); } } if (options.side == "left") { if (options.pushBody) { $("body").animate({marginLeft: body.originalMarginLeft}, {duration: options.duration}); } menu.animate({ left: -(menu.width() + 2) }, { duration: options.duration, done: function () { switchArrow("left"); menu.status = "closed"; if (execFunctions) { if (options.onClose !== undefined) { options.onClose(menu); } } } }); } else if (options.side == "right") { if (options.pushBody) { $("body").animate({marginRight: body.originalMarginRight}, {duration: options.duration}); } menu.animate({ right: -(menu.width() + 2) }, { duration: options.duration, done: function () { switchArrow("right"); menu.status = "closed"; if (execFunctions) { if (options.onClose !== undefined) { options.onClose(menu); } } } }); } if (options.remember) { storeCookie(menu.cookieName, "closed"); } } function openMenu(execFunctions) { if (execFunctions) { if (options.onBeforeOpen !== undefined) { options.onBeforeOpen(menu); } } if (options.side == "left") { if (options.pushBody) { $("body").animate({marginLeft: menu.width() + 20}, {duration: options.duration}); } menu.animate({ left: 0 }, { duration: options.duration, done: function () { switchArrow("right"); menu.status = "opened"; if (execFunctions) { if (options.onOpen !== undefined) { options.onOpen(menu); } } } }); } else if (options.side == "right") { if (options.pushBody) { $("body").animate({marginRight: menu.width() + 20}, {duration: options.duration}); } menu.animate({ right: 0 }, { duration: options.duration, done: function () { switchArrow("left"); menu.status = "opened"; if (execFunctions) { if (options.onOpen !== undefined) { options.onOpen(menu); } } } }); } if (options.remember) { storeCookie(menu.cookieName, "opened"); } } function forSmallBody() { var bodyWidth = $("body").width(); if (bodyWidth <= 480) { options.pushBody = false; options.closeOnClick = true; menu.css("width", "90%"); } } function storeCookie(nome, valore) { var d = new Date(); d.setTime(d.getTime() + (24 * 60 * 60 * 1000)); var expires = "expires=" + d.toUTCString(); document.cookie = nome + "=" + valore + "; " + expires + "; path=/"; } function readCookie(nome) { var name = nome + "="; var ca = document.cookie.split(";"); for (var i = 0; i < ca.length; i++) { var c = ca[i]; while (c.charAt(0) == " ") c = c.substring(1); if (c.indexOf(name) == 0) return c.substring(name.length, c.length); } return null; } function onResize() { menu.width(options.width); forSmallBody(); if (menu.status == "closed") { startClosed(); } if (menu.status == "opened") { startOpened(); } } var resizeStart; var resizeEnd; var wait = 250; window.addEventListener("resize", function () { resizeStart = new Date().getMilliseconds(); resizeEnd = resizeStart + wait; setTimeout(function () { var now = new Date().getMilliseconds(); if (now > resizeEnd) { onResize(); } }, wait); }, false); return this; } }(jQuery));BootSideMenu-1.0.0/package.json000066400000000000000000000013071301440770700163370ustar00rootroot00000000000000{ "name": "boot-side-menu", "version": "1.0.0", "description": "A jQuery plugin to easily create a sliding menu, working on a Bootstrap based application.", "main": "index.html", "repository": { "type": "git", "url": "git+https://github.com/AndreaLombardo/BootSideMenu.git" }, "keywords": [ "jquery", "bootstrap", "menu", "slide" ], "dependencies":{ "jquery":"<=3", "bootstrap":"<=3.3.7" }, "author":{ "name":"Andrea Lombardo", "url":"http://www.lombardoandrea.com" }, "license": "Apache-2.0", "bugs": { "url": "https://github.com/AndreaLombardo/BootSideMenu/issues" }, "homepage": "https://github.com/AndreaLombardo/BootSideMenu#readme" }