рдХрд╕реНрдЯрдо рдЯреНрд░реА v2 jQuery рдкреНрд▓рдЧрдЗрди

рджреВрд╕рд░реЗ рджрд┐рди рдореИрдВрдиреЗ рдЕрдкрдиреЗ рдкреБрд░рд╛рдиреЗ рдУрдкрди рд╕реЛрд░реНрд╕ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдореЗрдВ рд╕реЗ рдПрдХ рдХреЗ рдкреБрдирдГ рджреЗрдЦреЗ рдЬрд╛рдиреЗ рдХрд╛ рдлреИрд╕рд▓рд╛ рдХрд┐рдпрд╛ред
рд╕реЛрдЪрдиреЗ рдХреА рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдореЗрдВ, рдореИрдВрдиреЗ рдлреИрд╕рд▓рд╛ рдХрд┐рдпрд╛ рдХрд┐ рдЕрдкрдиреЗ рд╡рд░реНрддрдорд╛рди рд░реВрдк рдореЗрдВ рдкреЗрдбрд╝ рдХреЗ рд╕рд╛рде рдкрд┐рдЫрд▓рд╛ рдШрдЯрдХ рдЕрдм рдореБрдЭреЗ рд╕реВрдЯ рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИред

рдореИрдВ рдПрдХ рд╕реНрдкрд╖реНрдЯ рдФрд░ рд╕рд░рд▓ рдПрдкреАрдЖрдИ рдХреЗ рд╕рд╛рде рдХреБрдЫ рдФрд░ рдЗрд╡реЗрдВрдЯ рдбреНрд░рд┐рд╡рди рдЪрд╛рд╣рддрд╛ рдерд╛ред

рдЕрдм рдореИрдВрдиреЗ рдлреИрд╕рд▓рд╛ рдХрд┐рдпрд╛ рдХрд┐ рдпрд╣ рдкрдмреНрд▓рд┐рдХ рдХреЗ рд▓рд┐рдП рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рддреИрдпрд╛рд░ рд╣реИред

рд▓реЛ, рдЗрд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЛ ред
рдпрд╛ рдЬреАрдПрдЪ-рдкрдиреНрдиреЛрдВ рдХреЗ рдврд╛рдВрдЪреЗ рдореЗрдВ рдЙрджрд╛рд╣рд░рдг рджреЗрдЦреЗрдВ ред

рдмрд┐рд▓реНрд▓реА рдХреЗ рдиреАрдЪреЗ, рдПрдХ рд╕рдВрдХреНрд╖рд┐рдкреНрдд рдПрдкреАрдЖрдИ рдкреНрд░рд▓реЗрдЦрди рдХрд╛ рдПрдХ рд╕рдВрдХреНрд╖рд┐рдкреНрдд рдЕрдиреБрд╡рд╛рджред

UPD : рдЯрд┐рдкреНрдкрдгрд┐рдпреЛрдВ рдореЗрдВ, рдореЗрд░рд╛ рдбреНрд░реИрдЧ рдФрд░ рдбреНрд░реЙрдк рдХреЛрдбред


рдЗрд╕реЗ jQuery рдкреНрд▓рдЧрдЗрди рдХреЗ рд░реВрдк рдореЗрдВ рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред

рдПрдХ рд╡рд┐рдиреНрдпрд╛рд╕ рдХрд╛ рдПрдХ рдЙрджрд╛рд╣рд░рдг, рдЕрд░реНрдерд╛рдд рдЬрдм рдЖрдк рдкреЗрдбрд╝ рдХреЛ "рдмрдирд╛рддреЗ" рд╣реИрдВ рддреЛ рдХреНрдпрд╛ рдкреНрд░рд╕рд╛рд░рд┐рдд рд╣реЛрддрд╛ рд╣реИ:

$('#tree_content').customTree({ root : 'top', init : { callback : function (controller, tree) { info('Init callback.'); } }, // for leaf callbacks handlers : { added : function (leaf, controller, tree) { }, loaded : function (leaf, controller, tree) { }, parsed : function (leaf, controller, tree) { }, open : function (leaf, controller, tree) { }, close : function (leaf, controller, tree) { }, hover : function (leaf, controller, tree) { }, unhover : function (leaf, controller, tree) { }, focus : function (leaf, controller, tree) { }, beforeblur : function (callback, leaf, controller, tree) { }, blur : function (leaf, controller, tree) { }, deleted : function (leaf, controller, tree) { }, dblclick : function (leaf, controller, tree) { } }, listeners : { // click, dblclick, contextmenu up the element Label contextmenu : function (leaf, controller, tree, event) { }, dblclick : function (leaf, controller, tree, event) { } }, storeLoaded : false, focusParentOnClose : true, // focusByDblClick: true, // blurFromContainerClick : false, // blurFromContainerDblClick : false, labelsBreak : { by : 50, expandOnHover : false, expandOnSelect : true }, loader : function (path, callback) { // ... your code for nodes loading } }); 


рдкрд╛рд░реНрд╕рд┐рдВрдЧ \ _ рд░реЗрдВрдбрд░рд┐рдВрдЧ рдореЗрдВ рдЖрдиреЗ рд╡рд╛рд▓реЗ рдиреЛрдб рдХреЗ рдорд╛рдкрджрдВрдбреЛрдВ рдкрд░ рдХреЛрдб рд╕рдЦреНрдд рд╕рдордЭреМрддреЗ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИ, рдЗрд╕рд▓рд┐рдП рдореИрдВ рдПрдХ рдиреЛрдб (рдкрддреНрддреА) рдХрд╛ рдПрдХ рдЙрджрд╛рд╣рд░рдг рджреЗрддрд╛ рд╣реВрдВ :

 { // тАУ       , 'unique_naming_string' : { // тАУ ,   , text : 'string', // тАУ ,   ,    leaf , folder : [true || false], // тАУ ,   ,   ""  open : [true || false] //       ,     } } 


рд╕реНрдкрд╖реНрдЯреАрдХрд░рдг {



 // ,      root init : { //     null delay : null, //     root     //    ,  preloader    preloader : 'preloader', // function (controller, tree)     callback : null, // jQuery ,     "" root method : 'fadeIn', //  true (default),      delay auto : true, //  ,   focus   focus : null } 


рд╣реИрдВрдбрд▓рд░ (рдкрддреНрддреА, рдирд┐рдпрдВрддреНрд░рдХ, рдкреЗрдбрд╝) - рдкреВрд░реНрд╡рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдИрд╡реЗрдВрдЯ рд╣реИрдВрдбрд▓рд░ред

рд╣рд░ рдХреЛрдИ рд╡рд░реНрддрдорд╛рди рдиреЛрдб, рдирд┐рдпрдВрддреНрд░рдХ рдФрд░ рдЯреНрд░реА рдСрдмреНрдЬреЗрдХреНрдЯ рдХреЛ рд╕реНрд╡реАрдХрд╛рд░ рдХрд░рддрд╛ рд╣реИред

рд▓реЗрдХрд┐рди рдкрд╣рд▓реЗ рд╡рд╛рд▓рд╛ рднреА рдХреЙрд▓рдмреИрдХ рдХреЛ рдкрд╣рд▓реЗ рдкреИрд░рд╛рдореАрдЯрд░ рдХреЗ рд░реВрдк рдореЗрдВ рд╕реНрд╡реАрдХрд╛рд░ рдХрд░рддрд╛ рд╣реИред

рдпрджрд┐, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдЖрдкрдХреЛ рдпрд╣ рдЬрд╛рдВрдЪрдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ рдХрд┐ рдХреНрдпрд╛ рд╡рд░реНрддрдорд╛рди рдиреЛрдб рдзреБрдВрдзрд▓рд╛ рд╣реЛ рд╕рдХрддрд╛ рд╣реИред
рдпрджрд┐ рд╣рд╛рдБ, рддреЛ рдЗрд╕ рдХреЙрд▓рдмреИрдХ рдХреЛ рдХреЙрд▓ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред
рдЕрдиреНрдпрдерд╛, рдмрд╕ рдЗрд╕реЗ рдХреЙрд▓ рди рдХрд░реЗрдВ, рдлрд┐рд░ рдзреБрдВрдзрд▓рд╛ рдирд╣реАрдВ рд╣реЛрдЧрд╛ред

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

рд╕реНрд╡рд╛рднрд╛рд╡рд┐рдХ рд░реВрдк рд╕реЗ, рдкрд╣рд▓реЗ рдХреЗ рд▓рд┐рдП рдЗрди рдХреЙрд▓рдмреИрдХ рдЬреЛрдбрд╝рддреЛрдбрд╝ рдХреЗрд╡рд▓ рддрднреА рд╕рдВрднрд╡ рд╣реЛрдЧрд╛ рдЬрдм рдЖрдк рд╣реИрдВрдбрд▓рд░ рдХреЛ рднреЗрдЬреЗрдВред

рд▓реЛрдбрд░ (рдкрде, рдХреЙрд▓рдмреИрдХ) - рдирд┐рдпрдВрддреНрд░рдХ рд▓реЛрдб рд▓реАрдл рддрдХ рдкрд╣реБрдВрдЪреЗрдЧрд╛ред

рдкрде рдХреЗ рд░реВрдк рдореЗрдВ ['tree.root', 'leaf.name'] рд▓реЗрддрд╛ рд╣реИред

рдПрдХ рдЬреЗрдПрд╕ рд╡рд╕реНрддреБ рд╡рд╛рдкрд╕ рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдП!

рд╢реНрд░реЛрддрд╛ jQuery рдирд╣реАрдВ рд╣реИрдВред рдПрдХ рдорд╛рдирдХ (рдПрдХ рдиреЛрдб рдХреЗ рдкрд╛рда рддрддреНрд╡ рдХреЗ рд▓рд┐рдП рдХреЙрд▓рдмреИрдХ)ред
рдпрд╣реА рд╣реИ, рдЕрдЧрд░, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдЖрдкрдХреЛ рд╕рдВрджрд░реНрдн рдпрд╛ рдХрд╕реНрдЯрдо рдХреНрд▓рд┐рдХ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ, рддреЛ рдЖрдкрдХреЛ рд╢реНрд░реЛрддрд╛рдУрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред

рд╡рд┐рд╖рдп - рд╕реАрдПрд╕рдПрд╕ PREFIX_ рдХрдХреНрд╖рд╛рдУрдВ рдХреЗ рд▓рд┐рдП рдЬрдм рдкреНрд░рддрд┐рдкрд╛рджрди

рд╕реАрдПрд▓рдПрд╕ - рдЬрдм рдкреНрд░рддрд┐рдкрд╛рджрди рд╕реАрдПрд╕рдПрд╕ рд╡рд░реНрдЧреЛрдВ рдХрд╛ рдПрдХ рд╕реЗрдЯ:

 cls : { //  root root : 'tree_root', //  ,     control : 'tree_control', //  ,   ,  "" status : 'tree_leaf_status', //    text : 'tree_leaf_text', //  "" folder : 'folder', //    focus() selected : 'selected', //     hover : 'hover', //     loader : 'loader', //    open : 'open', //    container : 'container', //       supressLabelTextSelection : 'unselectable', supressTreeTextSelection : 'unselectable' } 


HTML - рдкреНрд░рддрд┐рдкрд╛рджрди рдХреЗ рд▓рд┐рдП HTML рдЯреИрдЧ:

 html : { // root container tree : '<UL>', // leaf container leaf : '<LI>', // ,   children  children : '<UL>', //      +\- status heading : '<DIV>', //   +\- control : '<SPAN>', // ,   status : '<SPAN>', // ,   text : '<SPAN>', //   container : '<DIV>' } 


рдирд┐рдпрдВрддреНрд░рдг - + рдХреЗ рд▓рд┐рдП рдЙрдкрдпреЛрдЧ рдХреА рдЬрд╛рдиреЗ рд╡рд╛рд▓реА рд▓рд╛рдЗрдиреЗрдВ -:

 control : { close : '+', open : 'тАУ' }, 


storeLoaded: рд╕рдЪ рд╣реИ || рдЭреВрдареА - "рдзреНрд╡рд╕реНрдд" рдиреЛрдбреНрд╕ рдХреЛ рдмрдЪрд╛рдиреЗ, рдпрд╛ рд╣рд░ рдмрд╛рд░ рдкреБрдирд░рд╛рд░рдВрдн рдХрд░реЗрдВ

focusParentOnClose: рд╕рдЪ || рдЧрд▓рдд - рдпрджрд┐ рдЙрд╕рдХреЗ рд╡рдВрд╢рдЬ рдХрд╛ рдзреНрдпрд╛рди рдХреЗрдВрджреНрд░рд┐рдд рдерд╛ рддреЛ рдорд╛рддрд╛-рдкрд┐рддрд╛ рдХрд╛ рдЪрдпрди рдХрд░реЗрдВ

focusByDbl рдХреНрд▓рд┐рдХ рдХрд░реЗрдВ: true || рдЭреВрдареА - рдбрдмрд▓ рдХреНрд▓рд┐рдХ рдХрд░реЗрдВ

blurFromContainer рдХреНрд▓рд┐рдХ рдХрд░реЗрдВ: рд╕рдЪ || рдЬрдм рд░реВрдЯ рдХреНрд▓рд┐рдХ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ рддреЛ рдЧрд▓рдд - рдзреБрдВрдзрд▓рд╛

blurFromContainerDblClick: рд╕рдЪ || рдЧрд▓рдд - рдЬрдм рдбрдмрд▓-рдХреНрд▓рд┐рдХ рд░реВрдЯ

рд▓реЗрдмрд▓рдмреИрдХ: - рдпрджрд┐ рдЖрд╡рд╢реНрдпрдХ рд╣реЛ рддреЛ рдиреЛрдб рдХрд╛ рдЯреЗрдХреНрд╕реНрдЯ рдХреИрдкреНрд╢рди рд▓рдВрдмрд╛ рд╣реЛ рд╕рдХрддрд╛ рд╣реИ, "рдЯреНрд░рд┐рдорд┐рдВрдЧ" рдХреЗ рд╡рд┐рдХрд▓реНрдк:

 labelsBreak : { //        by : 0, //   str : '\n', //      expandAlways : false, //  ,  hover expandOnHover : false, //  ,  focused expandOnSelect : true } 


рдирд┐рдпрдВрддреНрд░рдХ рдПрдкреАрдЖрдИ




рдореБрдЭреЗ рдЙрдореНрдореАрдж рд╣реИ рдХрд┐ рдпрд╣ рдХрд┐рд╕реА рдХреЗ рд▓рд┐рдП рдЙрдкрдпреЛрдЧреА рд╣реИред

Source: https://habr.com/ru/post/In188778/


All Articles