noticepanel.js 1.2 KB

1234567891011121314151617181920212223242526272829
  1. Trex.module("Add layer to display notice message on editor area before editing", //NOTE: #FTDUEDTR-18
  2. function (editor, toolbar, sidebar, canvas, config) {
  3. if (config.initializedMessage) {
  4. canvas.observeJob(Trex.Ev.__IFRAME_LOAD_COMPLETE, function () {
  5. var _initializedId = config.initializedId;
  6. var _noticeDiv = tx.div({ id:"tx-canvas-notice"+_initializedId, className:"tx-canvas-notice"}, config.initializedMessage);
  7. var txLoading = $tx("tx_loading"+_initializedId);
  8. var txLoadingParent = txLoading.parentNode;
  9. txLoadingParent.insertBefore(_noticeDiv, txLoading);
  10. var disappeared = false;
  11. var _noticeDivHandler = function () {
  12. if (!disappeared && $tx("tx-canvas-notice"+_initializedId)) {
  13. disappeared = true;
  14. txLoadingParent.removeChild(_noticeDiv);
  15. canvas.focus();
  16. }
  17. };
  18. setTimeout(function () {
  19. $tx.observe(canvas.getPanel('html').getWindow(), 'focus', _noticeDivHandler);
  20. }, 30);
  21. $tx.observe(_noticeDiv, "click", _noticeDivHandler);
  22. canvas.observeJob(Trex.Ev.__CANVAS_DATA_INITIALIZE, _noticeDivHandler);
  23. toolbar.observeJob(Trex.Ev.__TOOL_CLICK, _noticeDivHandler);
  24. });
  25. }
  26. }
  27. );