synapp_dir_tree_form.js 3.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114
  1. var TreeSelectFormHTML = "<div id='jqxwindow2'>"+
  2. "<div><br></div>"+
  3. "<div>"+
  4. "<div>Directory Select</div>"+
  5. "<div id=\"jqxTree\"></div>"+
  6. "<div><br></div>"+
  7. "<div></div>"+
  8. "<div style='float: none;'>"+
  9. "<button id=\"OK_btn2\">OK</button>"+
  10. "<button id=\"Cancel_btn2\">Cancel</button>"+
  11. "</div>"+
  12. "<div><br></div>"+
  13. "</div>"+
  14. "</div>";
  15. function InitDirTreeSelectForm()
  16. {
  17. $("#TreeSelectForm_div").html( TreeSelectFormHTML );
  18. function getAllParents(item1)
  19. {
  20. if( item1.parentElement != null )
  21. GSelectedDirStr = GSelectedDirStr.replace (/^/,"\\" + item1.label)
  22. else
  23. GSelectedDirStr = item1.label + GSelectedDirStr;
  24. var parent1 = $('#jqxTree').jqxTree('getItem', item1.parentElement);
  25. if(parent1)
  26. {
  27. getAllParents(parent1);
  28. }
  29. };
  30. function ShowTreeItem()
  31. {
  32. var item = $('#jqxTree').jqxTree('getSelectedItem');
  33. getAllParents( item )
  34. alert( str );
  35. };
  36. // Create jqxTree
  37. var tree = $('#jqxTree');
  38. var TreeSource = null;
  39. $.ajax({
  40. async: false,
  41. url: "directorylisting.htm?C:_dash_",
  42. success: function (data, status, xhr) {
  43. TreeSource = jQuery.parseJSON(data);
  44. }
  45. });
  46. tree.jqxTree({ source: TreeSource, height: 300, width: 500 });
  47. tree.on('expand', function (event) {
  48. var label = tree.jqxTree('getItem', event.args.element).label;
  49. var $element = $(event.args.element);
  50. var loader = false;
  51. var loaderItem = null;
  52. var children = $element.find('ul:first').children();
  53. $.each(children, function () {
  54. var item = tree.jqxTree('getItem', this);
  55. if (item && item.label == 'Loading...') {
  56. loaderItem = item;
  57. loader = true;
  58. return false
  59. };
  60. });
  61. if (loader) {
  62. $.ajax({
  63. url: loaderItem.value,
  64. success: function (data, status, xhr) {
  65. var items = jQuery.parseJSON(data);
  66. tree.jqxTree('addTo', items, $element[0]);
  67. tree.jqxTree('removeItem', loaderItem.element);
  68. }
  69. });
  70. }
  71. });
  72. //Directory Select Dialog
  73. $("#jqxwindow2").jqxWindow({
  74. height: 420,
  75. width: 510,
  76. theme: 'energyblue',
  77. autoOpen: false,
  78. isModal: true, draggable: false });
  79. $('#Cancel_btn2').jqxButton({});
  80. $('#Cancel_btn2').click(function () {
  81. $('#jqxwindow2').jqxWindow('close');
  82. });
  83. $('#OK_btn2').jqxButton({});
  84. $('#OK_btn2').click(function (){
  85. var item = $('#jqxTree').jqxTree('getSelectedItem');
  86. GSelectedDirStr = '';
  87. getAllParents( item );
  88. GLeftRightSideInput.jqxInput('val', GSelectedDirStr);
  89. $('#jqxwindow2').jqxWindow('close');
  90. });
  91. }