unordered.js 1.6 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374
  1. /**
  2. * @fileoverview
  3. * UL을 삽입하는 '글머리 기호' Source,
  4. * Class Trex.Tool.UnorderedList 와 configuration을 포함
  5. *
  6. */
  7. TrexConfig.addTool(
  8. "unordered",
  9. {
  10. sync: _TRUE,
  11. status: _TRUE
  12. }
  13. );
  14. Trex.Tool.UnorderedList = Trex.Class.create({
  15. $const: {
  16. __Identity: 'unordered'
  17. },
  18. $extend: Trex.Tool,
  19. $mixins: [Trex.I.ListExecution],
  20. oninitialized: function() {
  21. var _tool = this;
  22. var _canvas = this.canvas;
  23. var _toolbar = this.toolbar;
  24. var _toolHandler = function() {
  25. _toolbar.tools["ordered"].button.normalState();
  26. /*if(_toolbar.tools["unordered"].button.isPushed()){
  27. return _FALSE;
  28. }*/
  29. _canvas.execute(function(processor) {
  30. var _bNode = processor.findNode('%listhead');
  31. if (_bNode) {
  32. if ($tom.kindOf(_bNode, "ul")) {
  33. _tool.executeOffList(processor);
  34. } else {
  35. _tool.executeToList(processor, "ul", {});
  36. }
  37. } else {
  38. _tool.executeToList(processor, "ul", {});
  39. }
  40. });
  41. };
  42. /* button & menu weave */
  43. this.weave.bind(this)(
  44. /* button */
  45. new Trex.Button(this.buttonCfg),
  46. /* menu */
  47. _NULL,
  48. /* handler */
  49. _toolHandler
  50. );
  51. var _cachedProperty = _NULL;
  52. _canvas.observeJob(Trex.Ev.__CANVAS_PANEL_QUERY_STATUS, function() {
  53. var _data = _canvas.query(function(processor) {
  54. return processor.queryCommandState('insertunorderedlist');
  55. });
  56. if(_cachedProperty == _data) {
  57. return;
  58. }
  59. _tool.button.setState(_data);
  60. _cachedProperty = _data;
  61. });
  62. this.bindKeyboard({ // ctrl + u
  63. ctrlKey: _TRUE,
  64. altKey: _TRUE,
  65. keyCode: 85
  66. }, _toolHandler);
  67. }
  68. });