alignfull.js 2.5 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283
  1. (function() {
  2. /**
  3. * @fileoverview
  4. * Toolbar의 AlignFull Icon을 위해 필요한 configuration과 Class Trex.Tool.AlignFull을 포함
  5. *
  6. */
  7. TrexConfig.addTool(
  8. "alignfull",
  9. {
  10. sync: _TRUE,
  11. status: _TRUE
  12. }
  13. );
  14. /*
  15. * Text : align full
  16. * Image : float right
  17. */
  18. var __TextAlignProperty = "justify";
  19. var __ImageFloatProperty = 'right';
  20. var __ImageClearProperty = 'both';
  21. var __ImageMarginProperty = "8px";
  22. var __ImageNoMarginProperty = "";
  23. Trex.Tool.AlignFull = Trex.Class.create({
  24. $const: {
  25. __Identity: 'alignfull',
  26. __ImageModeProps: {
  27. 'image': {
  28. 'style': {
  29. 'clear': __ImageClearProperty,
  30. 'float': __ImageFloatProperty,
  31. 'marginLeft': __ImageMarginProperty,
  32. 'marginRight': __ImageNoMarginProperty
  33. }
  34. }
  35. },
  36. __TextModeProps: {
  37. 'paragraph': {
  38. 'align': _NULL,
  39. 'style': {
  40. 'textAlign': __TextAlignProperty
  41. }
  42. },
  43. 'button': {
  44. 'style': {
  45. 'margin': '0'
  46. }
  47. }
  48. }
  49. },
  50. $extend: Trex.Tool,
  51. $mixins: [Trex.I.AlignExecution],
  52. oninitialized: function() {
  53. var self = this;
  54. self.imageAlignMode = _FALSE;
  55. self.weave(new Trex.Button(self.buttonCfg), _NULL, self.handler);
  56. self.startSyncButtonWithStyle();
  57. },
  58. handler: function() {
  59. var self = this;
  60. var canvas = self.canvas;
  61. var toolbar = self.toolbar;
  62. canvas.execute(function(processor) {
  63. self.executeAlign(processor);
  64. var alignMode = self.getAlignMode(processor);
  65. if (alignMode == "image") {
  66. toolbar.fireJobs(Trex.Ev.__CMD_ALIGN_IMG_FLOAT_RIGHT);
  67. } else if (alignMode == "text") {
  68. toolbar.fireJobs(Trex.Ev.__CMD_ALIGN_FULL);
  69. }
  70. });
  71. canvas.triggerQueryStatus();
  72. },
  73. startSyncButtonWithStyle: function() {
  74. var self = this;
  75. self.canvas.observeJob(Trex.Ev.__CANVAS_PANEL_QUERY_STATUS, function(){
  76. self.syncButtonState();
  77. });
  78. }
  79. });
  80. })();