1
0

demo.js 1.7 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485
  1. window.addEvent('domready',function(){
  2. Mif.Tree.Node.implement({
  3. reloadChildren: function() {
  4. this.state.loaded = false;
  5. this.state.open = false;
  6. this.state.loadable = true;
  7. this.children = [];
  8. this.$draw = false;
  9. this.tree.$getIndex();
  10. this.getDOM('children').innerHTML = '';
  11. Mif.Tree.Draw.update(this);
  12. return this;
  13. }
  14. });
  15. tree = new Mif.Tree({
  16. container: $('tree_container'),
  17. forest: true,
  18. initialize: function(){
  19. new Mif.Tree.KeyNav(this);
  20. new Mif.Tree.Drag(this);
  21. },
  22. types: {
  23. folder: {
  24. openIcon: 'mif-tree-open-icon',
  25. closeIcon: 'mif-tree-close-icon'
  26. },
  27. loader: {
  28. openIcon: 'mif-tree-loader-open-icon',
  29. closeIcon: 'mif-tree-loader-close-icon',
  30. dropDenied: ['inside','after']
  31. },
  32. disabled: {
  33. openIcon: 'mif-tree-open-icon',
  34. closeIcon: 'mif-tree-close-icon',
  35. dragDisabled: true,
  36. cls: 'disabled'
  37. },
  38. book: {
  39. openIcon: 'mif-tree-book-icon',
  40. closeIcon: 'mif-tree-book-icon',
  41. loadable: true
  42. },
  43. bin: {
  44. openIcon: 'mif-tree-bin-open-icon',
  45. closeIcon: 'mif-tree-bin-close-icon'
  46. }
  47. },
  48. dfltType: 'folder',
  49. height: 18
  50. });
  51. tree.addEvent('loadChildren', function(parent){
  52. if(!parent) return;
  53. if(!parent.$name){
  54. parent.$name = parent.name;
  55. }
  56. parent.set({
  57. property: {
  58. name: parent.$name + ' (' + parent.children.length + ')'
  59. }
  60. });
  61. });
  62. tree.load({
  63. json:[{
  64. property: {name: 'reload me', loadable: true}
  65. }]
  66. });
  67. tree.loadOptions = function(node){
  68. return {
  69. url: 'get_json.php?' + Date.now()
  70. };
  71. };
  72. $('reload').addEvent('click', function(){
  73. var selected = tree.getSelected();
  74. if(!selected) return;
  75. selected.reloadChildren().toggle(true);
  76. });
  77. });