當前位置: 首頁>>代碼示例>>TypeScript>>正文


TypeScript UiContainer.setUiContainer函數代碼示例

本文整理匯總了TypeScript中tinymce/ui/UiContainer.setUiContainer函數的典型用法代碼示例。如果您正苦於以下問題:TypeScript setUiContainer函數的具體用法?TypeScript setUiContainer怎麽用?TypeScript setUiContainer使用的例子?那麽, 這裏精選的函數代碼示例或許可以為您提供幫助。


在下文中一共展示了setUiContainer函數的3個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的TypeScript代碼示例。

示例1: function

  const showContextToolbar = function (match) {
    let panel;

    if (match.toolbar.panel) {
      match.toolbar.panel.show();
      reposition(match);
      return;
    }

    panel = Factory.create({
      type: 'floatpanel',
      role: 'dialog',
      classes: 'tinymce tinymce-inline arrow',
      ariaLabel: 'Inline toolbar',
      layout: 'flex',
      direction: 'column',
      align: 'stretch',
      autohide: false,
      autofix: true,
      fixed: true,
      border: 1,
      items: Toolbar.createToolbar(editor, match.toolbar.items),
      oncancel () {
        editor.focus();
      }
    });

    UiContainer.setUiContainer(editor, panel);
    bindScrollEvent(panel);

    match.toolbar.panel = panel;
    panel.renderTo().reflow();
    reposition(match);
  };
開發者ID:abstask,項目名稱:tinymce,代碼行數:34,代碼來源:ContextToolbars.ts

示例2: function

  const render = function () {
    if (panel) {
      if (!panel.visible()) {
        show();
      }

      return;
    }

    // Render a plain panel inside the inlineToolbarContainer if it's defined
    panel = theme.panel = Factory.create({
      type: inlineToolbarContainer ? 'panel' : 'floatpanel',
      role: 'application',
      classes: 'tinymce tinymce-inline',
      layout: 'flex',
      direction: 'column',
      align: 'stretch',
      autohide: false,
      autofix: isFixed(inlineToolbarContainer, editor),
      fixed: isFixed(inlineToolbarContainer, editor),
      border: 1,
      items: [
        Settings.hasMenubar(editor) === false ? null : { type: 'menubar', border: '0 0 1 0', items: Menubar.createMenuButtons(editor) },
        Toolbar.createToolbars(editor, Settings.getToolbarSize(editor))
      ]
    });

    UiContainer.setUiContainer(editor, panel);

    // Add statusbar
    /*if (settings.statusbar !== false) {
      panel.add({type: 'panel', classes: 'statusbar', layout: 'flow', border: '1 0 0 0', items: [
        {type: 'elementpath'}
      ]});
    }*/

    Events.fireBeforeRenderUI(editor);

    if (inlineToolbarContainer) {
      panel.renderTo(inlineToolbarContainer).reflow();
    } else {
      panel.renderTo().reflow();
    }

    A11y.addKeys(editor, panel);
    show();
    ContextToolbars.addContextualToolbars(editor);

    editor.on('nodeChange', reposition);
    editor.on('ResizeWindow', reposition);
    editor.on('activate', show);
    editor.on('deactivate', hide);

    editor.nodeChanged();
  };
開發者ID:abstask,項目名稱:tinymce,代碼行數:55,代碼來源:Inline.ts

示例3: function

const render = function (editor, theme, args) {
  let panel, resizeHandleCtrl, startSize;

  if (Settings.isSkinDisabled(editor) === false && args.skinUiCss) {
    DOM.styleSheetLoader.load(args.skinUiCss, SkinLoaded.fireSkinLoaded(editor));
  } else {
    SkinLoaded.fireSkinLoaded(editor)();
  }

  panel = theme.panel = Factory.create({
    type: 'panel',
    role: 'application',
    classes: 'tinymce',
    style: 'visibility: hidden',
    layout: 'stack',
    border: 1,
    items: [
      {
        type: 'container',
        classes: 'top-part',
        items: [
          Settings.hasMenubar(editor) === false ? null : { type: 'menubar', border: '0 0 1 0', items: Menubar.createMenuButtons(editor) },
          Toolbar.createToolbars(editor, Settings.getToolbarSize(editor))
        ]
      },
      Sidebar.hasSidebar(editor) ? editAreaContainer(editor) : editArea('1 0 0 0')
    ]
  });

  UiContainer.setUiContainer(editor, panel);

  if (Settings.getResize(editor) !== 'none') {
    resizeHandleCtrl = {
      type: 'resizehandle',
      direction: Settings.getResize(editor),

      onResizeStart () {
        const elm = editor.getContentAreaContainer().firstChild;

        startSize = {
          width: elm.clientWidth,
          height: elm.clientHeight
        };
      },

      onResize (e) {
        if (Settings.getResize(editor) === 'both') {
          Resize.resizeTo(editor, startSize.width + e.deltaX, startSize.height + e.deltaY);
        } else {
          Resize.resizeTo(editor, null, startSize.height + e.deltaY);
        }
      }
    };
  }

  if (Settings.hasStatusbar(editor)) {
    const linkHtml = '<a href="https://www.tiny.cloud/?utm_campaign=editor_referral&amp;utm_medium=poweredby&amp;utm_source=tinymce" rel="noopener" target="_blank" role="presentation" tabindex="-1">Tiny</a>';
    const html = I18n.translate(['Powered by {0}', linkHtml]);
    const brandingLabel = Settings.isBrandingEnabled(editor) ? { type: 'label', classes: 'branding', html: ' ' + html } : null;

    panel.add({
      type: 'panel', name: 'statusbar', classes: 'statusbar', layout: 'flow', border: '1 0 0 0', ariaRoot: true, items: [
        { type: 'elementpath', editor },
        resizeHandleCtrl,
        brandingLabel
      ]
    });
  }

  Events.fireBeforeRenderUI(editor);
  editor.on('SwitchMode', switchMode(panel));
  panel.renderBefore(args.targetNode).reflow();

  if (Settings.isReadOnly(editor)) {
    editor.setMode('readonly');
  }

  if (args.width) {
    DOM.setStyle(panel.getEl(), 'width', args.width);
  }

  // Remove the panel when the editor is removed
  editor.on('remove', function () {
    panel.remove();
    panel = null;
  });

  // Add accesibility shortcuts
  A11y.addKeys(editor, panel);
  ContextToolbars.addContextualToolbars(editor);

  return {
    iframeContainer: panel.find('#iframe')[0].getEl(),
    editorContainer: panel.getEl()
  };
};
開發者ID:danielpunkass,項目名稱:tinymce,代碼行數:96,代碼來源:Iframe.ts


注:本文中的tinymce/ui/UiContainer.setUiContainer函數示例由純淨天空整理自Github/MSDocs等開源代碼及文檔管理平台,相關代碼片段篩選自各路編程大神貢獻的開源項目,源碼版權歸原作者所有,傳播和使用請參考對應項目的License;未經允許,請勿轉載。