actionsbuilder.toolbar.ts 4.0 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394
  1. module ActionsBuilder {
  2. export class Toolbar {
  3. public toolbarElement: HTMLElement;
  4. public saveActionGraphElement: HTMLElement;
  5. private _viewer: Viewer;
  6. constructor(viewer: Viewer) {
  7. // Get HTML elements
  8. this.toolbarElement = document.getElementById("ToolbarElementID");
  9. // Configure this
  10. this._viewer = viewer;
  11. // Manage events
  12. window.addEventListener("resize", (event: Event) => {
  13. this.onResize();
  14. });
  15. // Bottom toolbar
  16. document.getElementById("ViewerDeZoomID").addEventListener("click", (event: MouseEvent) => {
  17. if (this._viewer.zoom > 0.1) {
  18. this._viewer.zoom -= 0.1;
  19. }
  20. this._viewer.update();
  21. });
  22. document.getElementById("ViewerZoomID").addEventListener("click", (event: MouseEvent) => {
  23. if (this._viewer.zoom < 1.0) {
  24. this._viewer.zoom += 0.1;
  25. }
  26. this._viewer.update();
  27. });
  28. document.getElementById("ViewerReconnectAll").addEventListener("click", (event: MouseEvent) => {
  29. for (var i = 0; i < this._viewer.root.children.length; i++) {
  30. this._viewer.selectedNode = this._viewer.root.children[i];
  31. this._viewer.utils.onDetachAction(false, true);
  32. }
  33. this._viewer.update();
  34. this._viewer.selectedNode = null;
  35. });
  36. document.getElementById("ViewerDisconnectAll").addEventListener("click", (event: MouseEvent) => {
  37. for (var i = 0; i < this._viewer.root.children.length; i++) {
  38. this._viewer.selectedNode = this._viewer.root.children[i];
  39. this._viewer.utils.onDetachAction(true, false);
  40. }
  41. this._viewer.update();
  42. this._viewer.selectedNode = null;
  43. });
  44. document.getElementById("ViewerReduceAll").addEventListener("click", (event: MouseEvent) => {
  45. for (var i = 0; i < this._viewer.root.children.length; i++) {
  46. this._viewer.selectedNode = this._viewer.root.children[i];
  47. this._viewer.utils.onReduceAll(false);
  48. }
  49. this._viewer.update();
  50. this._viewer.selectedNode = null;
  51. });
  52. document.getElementById("ViewerExpandAll").addEventListener("click", (event: MouseEvent) => {
  53. for (var i = 0; i < this._viewer.root.children.length; i++) {
  54. this._viewer.selectedNode = this._viewer.root.children[i];
  55. this._viewer.utils.onReduceAll(true);
  56. }
  57. this._viewer.update();
  58. this._viewer.selectedNode = null;
  59. });
  60. // Top toolbar
  61. this.saveActionGraphElement = document.getElementById("ToolsButtonIDSaveActionGraph");
  62. this.drawSaveActionGraphButton(false);
  63. document.getElementById("ResetActionGraphID").addEventListener("click", (event: MouseEvent) => {
  64. if (confirm("Are you sure?")) {
  65. for (var i = 0; i < this._viewer.root.children.length; i++) {
  66. this._viewer.selectedNode = this._viewer.root.children[i];
  67. this._viewer.utils.onRemoveBranch();
  68. }
  69. this._viewer.update();
  70. this._viewer.selectedNode = null;
  71. }
  72. });
  73. document.getElementById("TestActionGraphID").addEventListener("click", (event: MouseEvent) => {
  74. this._viewer.utils.onTestGraph();
  75. });
  76. }
  77. public onResize(): void {
  78. this.toolbarElement.style.top = this._viewer.viewerElement.clientHeight + 20 + "px";
  79. }
  80. public drawSaveActionGraphButton(draw: boolean) {
  81. this.saveActionGraphElement.style.display = draw ? "block" : "none";
  82. }
  83. }
  84. }