Gridstack.js: рдХрд╕реНрдЯрдо рдбреНрд░реИрдЧ рд╣реИрдВрдбрд▓

рдХреЛ рдирд┐рд░реНрдорд┐рдд 24 рдорд╛рд░реНрдЪ 2015  ┬╖  3рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ  ┬╖  рд╕реНрд░реЛрдд: gridstack/gridstack.js

рдХреНрдпрд╛ рдХрд╕реНрдЯрдо рдбреНрд░реИрдЧ рд╣реИрдВрдбрд▓ рдЙрдкрдпреЛрдЧ рдХреЗ рд▓рд┐рдП рдХреЛрдИ рдЙрджрд╛рд╣рд░рдг рд╣реИ?
рдореИрдВ рдХреЗрд╡рд▓ рдкреИрдирд▓ рд╣реЗрдбрд░ (рдФрд░ рдкреВрд░реЗ рд╢рд░реАрд░ рдирд╣реАрдВ) рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдЖрдЗрдЯрдо рдХреЛ рдЦреАрдВрдЪрдиреЗ рдпреЛрдЧреНрдп рдмрдирд╛рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░ рд░рд╣рд╛ рд╣реВрдВ - рдХрдИ рд╕рдВрднрд╛рд╡рд┐рдд рд╕рдВрдпреЛрдЬрдиреЛрдВ рдХреЗ рд╕рд╛рде рдХреЛрдб рдХреЗ рдиреАрдЪреЗ рдХреЛрд╢рд┐рд╢ рдХреА, рд▓реЗрдХрд┐рди рд╕рдлрд▓рддрд╛ рдирд╣реАрдВ рдорд┐рд▓реА

    <div class="grid-stack">
        <div class="grid-stack-item"
                 data-gs-x="0" data-gs-y="0"
                 data-gs-width="4" data-gs-height="2">
            <div class="grid-stack-item-content panel panel-default">
                <div class="panel-heading clearfix">
                    <span class="panel-title pull-left"><span class="glyphicon glyphicon-asterisk"></span> <span class="panel-title-text">Featuring</span></span>
                </div>
                <div class="panel-body ">
                    <ul class="list-group">
                        <li class="list-group-item">a</li>
                        <li class="list-group-item">v</li>
                    </ul>
                </div>
            </div>
        </div>
    </div

рдЬреЗрдПрд╕ рдХреЛрдб:

    var options = {
        cell_height: 80,
        vertical_margin: 10,
        animate: true,
        handle:  ??? 
    };
    this.$('.grid-stack').gridstack(options);

рдХреЛрд╢рд┐рд╢ рдХреА handle:'.panel' , handle:'panel-heading' рдФрд░ рдмрд┐рдирд╛ рд╣реИрдВрдбрд▓ рдХреЗ рднреАред рдФрд░ grid-stack-item-content рд╡рд░реНрдЧ рдХреЛ рднреА рд╣рдЯрд╛рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд┐рдпрд╛ - рд▓реЗрдХрд┐рди рд╕рднреА рдорд╛рдорд▓реЛрдВ рдореЗрдВ рдкрд░рд┐рдгрд╛рдо either the whole thing moves or nothing moves at all ред

рдЖрдЗрдЯрдо рдХреЛ рдХреЗрд╡рд▓ рдЙрд╕рдХреЗ рд╢реАрд░реНрд╖рд▓реЗрдЦ рджреНрд╡рд╛рд░рд╛ рдХреИрд╕реЗ рдЪрд▓рдиреЗ рдпреЛрдЧреНрдп рдмрдирд╛рдпрд╛ рдЬрд╛рдП?

рд╕рдмрд╕реЗ рдЙрдкрдпреЛрдЧреА рдЯрд┐рдкреНрдкрдгреА

рд╣реЗ рдХреГрд╖реНрдг,

рд╕рдорд╕реНрдпрд╛ рдЖрдкрдХреЗ рд╡рд┐рдХрд▓реНрдк var рдореЗрдВ рдкреНрд░рддреАрдд рд╣реЛрддреА рд╣реИред

рдпрджрд┐ рдЖрдк рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдХреЛрдб рдореЗрдВ рдПрдХ рдирдЬрд╝рд░ рдбрд╛рд▓рддреЗ рд╣реИрдВ, рддреЛ рдЖрдк рджреЗрдЦ рд╕рдХрддреЗ рд╣реИрдВ, рд▓рд╛рдЗрди 379 рд╕реЗ рд╢реБрд░реВ рд╣реЛрдХрд░, рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд╡рд┐рдХрд▓реНрдк рдФрд░ рдЬрд┐рд╕ рддрд░рд╣ рд╕реЗ рд╡реНрдпрд╡рд╕реНрдерд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред

рдПрдХ рдХрд╕реНрдЯрдо рдбреНрд░реИрдЧ рдХрд░рдиреЗ рдпреЛрдЧреНрдп рдХрдВрдЯреЗрдирд░ рдХреЗ рд▓рд┐рдП рд╣реИрдВрдбрд▓ рдХреЛ рдбреНрд░реИрдЧ рдХрд░рдиреЗ рдпреЛрдЧреНрдп рд╕рдВрдкрддреНрддрд┐ рдХреА рдПрдХ рдЙрдк рд╕рдВрдкрддреНрддрд┐ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП; рдЖрдкрдХреЗ рдЬреЗрдПрд╕ рдХреЛрдб рдХреЛ рдЗрд╕ рддрд░рд╣ рдХреБрдЫ рджрд┐рдЦрдиреЗ рдХреА рдЬрд░реВрд░рдд рд╣реИ:

var options = {
    cell_height: 80,
    vertical_margin: 10,
    animate: true,
    draggable: {
        handle: '.panel-heading',
    }
};
this.$('.grid-stack').gridstack(options);

рд╕рднреА 3 рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

рд╣реЗ рдХреГрд╖реНрдг,

рд╕рдорд╕реНрдпрд╛ рдЖрдкрдХреЗ рд╡рд┐рдХрд▓реНрдк var рдореЗрдВ рдкреНрд░рддреАрдд рд╣реЛрддреА рд╣реИред

рдпрджрд┐ рдЖрдк рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдХреЛрдб рдореЗрдВ рдПрдХ рдирдЬрд╝рд░ рдбрд╛рд▓рддреЗ рд╣реИрдВ, рддреЛ рдЖрдк рджреЗрдЦ рд╕рдХрддреЗ рд╣реИрдВ, рд▓рд╛рдЗрди 379 рд╕реЗ рд╢реБрд░реВ рд╣реЛрдХрд░, рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд╡рд┐рдХрд▓реНрдк рдФрд░ рдЬрд┐рд╕ рддрд░рд╣ рд╕реЗ рд╡реНрдпрд╡рд╕реНрдерд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред

рдПрдХ рдХрд╕реНрдЯрдо рдбреНрд░реИрдЧ рдХрд░рдиреЗ рдпреЛрдЧреНрдп рдХрдВрдЯреЗрдирд░ рдХреЗ рд▓рд┐рдП рд╣реИрдВрдбрд▓ рдХреЛ рдбреНрд░реИрдЧ рдХрд░рдиреЗ рдпреЛрдЧреНрдп рд╕рдВрдкрддреНрддрд┐ рдХреА рдПрдХ рдЙрдк рд╕рдВрдкрддреНрддрд┐ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП; рдЖрдкрдХреЗ рдЬреЗрдПрд╕ рдХреЛрдб рдХреЛ рдЗрд╕ рддрд░рд╣ рдХреБрдЫ рджрд┐рдЦрдиреЗ рдХреА рдЬрд░реВрд░рдд рд╣реИ:

var options = {
    cell_height: 80,
    vertical_margin: 10,
    animate: true,
    draggable: {
        handle: '.panel-heading',
    }
};
this.$('.grid-stack').gridstack(options);

рдХреВрд▓ - рдпрд╣ рдПрдХ рдЖрдХрд░реНрд╖рдг рдХреА рддрд░рд╣ рдХрд╛рдо рдХрд░ рд░рд╣рд╛ рд╣реИ - рдЖрдк рдорд╣рд╛рди рд╣реИрдВред рдкреВрд░реЗ рджрд┐рди рдЗрд╕ рдкрд░ рд▓рд╛рдд рдорд╛рд░рддреЗ рд░рд╣реЗ, рдФрд░ рдпрд╣рд╛рдБ рдЖрдкрдХрд╛ рдЬрд╡рд╛рдм рд╣реИ, рдФрд░ рдпрд╣ рдмрд╕ рдХрд╛рдо рдХрд░ рд░рд╣рд╛ рд╣реИ :) рдХрдорд╛рд▓ рд╣реИред

рдЗрд╕рдиреЗ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рд▓реЛрдЧреЛрдВ рдХреА рдорджрдж рдХреА, рдзрдиреНрдпрд╡рд╛рджред

рдХреНрдпрд╛ рдпрд╣ рдкреГрд╖реНрда рдЙрдкрдпреЛрдЧреА рдерд╛?
0 / 5 - 0 рд░реЗрдЯрд┐рдВрдЧреНрд╕

рд╕рдВрдмрдВрдзрд┐рдд рдореБрджреНрджреЛрдВ

GeniusWiki picture GeniusWiki  ┬╖  3рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

vhdm picture vhdm  ┬╖  3рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

ascendantofrain picture ascendantofrain  ┬╖  6рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

cblokker picture cblokker  ┬╖  6рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

Metal101 picture Metal101  ┬╖  4рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ