当前位置: 首页>>代码示例>>TypeScript>>正文


TypeScript GuiFactory.build方法代码示例

本文整理汇总了TypeScript中@ephox/alloy.GuiFactory.build方法的典型用法代码示例。如果您正苦于以下问题:TypeScript GuiFactory.build方法的具体用法?TypeScript GuiFactory.build怎么用?TypeScript GuiFactory.build使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在@ephox/alloy.GuiFactory的用法示例。


在下文中一共展示了GuiFactory.build方法的10个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的TypeScript代码示例。

示例1: renderColorInput

 (store, doc, body) => {
   return GuiFactory.build(
     Container.sketch({
       dom: {
         classes: [ 'colorinput-container' ]
       },
       components: [
         renderColorInput({
           type: 'colorinput',
           name: 'alpha',
           label: Option.some('test-color-input'),
         }, helpers.shared, {
           colorPicker: (callback, value) => {},
           hasCustomColors: () => true,
           getColors: () => [
             { type: choiceItem, text: 'Turquoise', value: '#18BC9B' },
             { type: choiceItem, text: 'Green', value: '#2FCC71' },
             { type: choiceItem, text: 'Blue', value: '#3598DB' },
             { type: choiceItem, text: 'Purple', value: '#9B59B6' },
             { type: choiceItem, text: 'Navy Blue', value: '#34495E' }
           ],
           getColorCols: () => 3
         })
       ]
     })
   );
 },
开发者ID:tinymce,项目名称:tinymce,代码行数:27,代码来源:ColorInputTest.ts

示例2:

const makeCell = (row, col, labelId) => {
  const emitCellOver = (c) => AlloyTriggers.emitWith(c, cellOverEvent, {row, col} );
  const emitExecute = (c) => AlloyTriggers.emitWith(c, cellExecuteEvent, {row, col} );

  return GuiFactory.build({
    dom: {
      tag: 'div',
      attributes: {
        role: 'button',
        ['aria-labelledby']: labelId
      }
    },
    behaviours: Behaviour.derive([
      AddEventsBehaviour.config('insert-table-picker-cell', [
        AlloyEvents.run(NativeEvents.mouseover(), Focusing.focus),
        AlloyEvents.run(SystemEvents.execute(), emitExecute),
        AlloyEvents.run(SystemEvents.tapOrClick(), emitExecute)
      ]),
      Toggling.config({
        toggleClass: 'tox-insert-table-picker__selected',
        toggleOnExecute: false
      }),
      Focusing.config({onFocus: emitCellOver})
    ])
  });
};
开发者ID:tinymce,项目名称:tinymce,代码行数:26,代码来源:InsertTableMenuItem.ts

示例3: renderDropZone

 (store, doc, body) => {
   return GuiFactory.build(
     renderDropZone({
       type: 'dropzone',
       name: 'drop1',
       label: Option.some('Dropzone Label'),
     }, TestProviders)
   );
 },
开发者ID:tinymce,项目名称:tinymce,代码行数:9,代码来源:DropzoneTest.ts

示例4: renderHtmlPanel

 (store, doc, body) => {
   return GuiFactory.build(
     renderHtmlPanel({
       type: 'htmlpanel',
       html: '<br /><br /><hr />',
       presets: 'presentation'
     })
   );
 },
开发者ID:tinymce,项目名称:tinymce,代码行数:9,代码来源:HtmlPanelTest.ts

示例5: renderColorPicker

 (store, doc, body) => {
   return GuiFactory.build(
     renderColorPicker({
       type: 'colorpicker',
       label: Option.some('ColorPicker label'),
       name: 'col1'
     })
   );
 },
开发者ID:tinymce,项目名称:tinymce,代码行数:9,代码来源:ColorPickerTest.ts

示例6: getNodeAnchor

export const setup = (editor: Editor, lazySink: () => Result<AlloyComponent, Error>, backstage: UiFactoryBackstage) => {
  const contextmenu = GuiFactory.build(
    InlineView.sketch({
      dom: {
        tag: 'div',
      },
      lazySink,
      onEscape: () => editor.focus(),
      fireDismissalEventInstead: { },
      inlineBehaviours: Behaviour.derive([
        AddEventsBehaviour.config('dismissContextMenu', [
          AlloyEvents.run(SystemEvents.dismissRequested(), (comp, se) => {
            Sandboxing.close(comp);
            editor.focus();
          })
        ])
      ])
    }),
  );

  editor.on('init', () => {
    editor.on('contextmenu', (e) => {
      if (isNativeOverrideKeyEvent(editor, e)) {
        return;
      }

      // Different browsers trigger the context menu from keyboards differently, so need to check both the button and target here
      // Chrome: button = 0 & target = the selection range node
      // Firefox: button = 0 & target = body
      // IE: button = 2 & target = body
      // Safari: N/A (Mac's don't expose a contextmenu keyboard shortcut)
      const isTriggeredByKeyboardEvent = e.button !== 2 || e.target === editor.getBody();
      const anchorSpec = isTriggeredByKeyboardEvent ? getNodeAnchor(editor) : getPointAnchor(editor, e);

      const registry = editor.ui.registry.getAll();
      const menuConfig = Settings.getContextMenu(editor);

      // Use the event target element for mouse clicks, otherwise fallback to the current selection
      const selectedElement = isTriggeredByKeyboardEvent ? editor.selection.getStart(true) : e.target as Element;

      const items = generateContextMenu(registry.contextMenus, menuConfig, selectedElement);

      NestedMenus.build(items, ItemResponse.CLOSE_ON_EXECUTE, backstage).map((menuData) => {
        e.preventDefault();

        // show the context menu, with items set to close on click
        InlineView.showMenuAt(contextmenu, anchorSpec, {
          menu: {
            markers: MenuParts.markers('normal')
          },
          data: menuData
        });
      });
    });
  });
};
开发者ID:tinymce,项目名称:tinymce,代码行数:56,代码来源:SilverContextMenu.ts

示例7:

 memOverflow.getOpt(sink).fold(() => {
   // overflow isn't there yet ... so add it, and return the built thing
   const builtoverFlow = GuiFactory.build(memOverflow.asSpec());
   Attachment.attach(sink, builtoverFlow);
   Positioning.position(sink, toolbarSpec.backstage.shared.anchors.toolbarOverflow(), builtoverFlow);
   SplitAlloyToolbar.refresh(toolbar);
   SplitAlloyToolbar.getMoreButton(toolbar).each(Focusing.focus);
   Keying.focusIn(builtoverFlow);
   // return builtoverFlow;
 }, (builtOverflow) => {
开发者ID:tinymce,项目名称:tinymce,代码行数:10,代码来源:CommonToolbar.ts

示例8: renderSizeInput

 (store, doc, body) => {
   return GuiFactory.build(
     renderSizeInput({
       type: 'sizeinput',
       name: 'dimensions',
       label: Option.some('size'),
       constrain: true
     }, TestProviders)
   );
 },
开发者ID:tinymce,项目名称:tinymce,代码行数:10,代码来源:SizeInputTest.ts

示例9: renderInput

 (store, doc, body) => {
   return GuiFactory.build(
     renderInput({
       name: 'input',
       label: Option.some('LabelA'),
       placeholder: Option.none(),
       validation: Option.none()
     }, TestProviders)
   );
 },
开发者ID:tinymce,项目名称:tinymce,代码行数:10,代码来源:InputTest.ts

示例10: renderIFrame

 (store, doc, body) => {
   return GuiFactory.build(
     renderIFrame({
       type: 'iframe',
       name: 'frame-a',
       label: Option.some('iframe label'),
       sandboxed: true
     }, TestProviders)
   );
 },
开发者ID:tinymce,项目名称:tinymce,代码行数:10,代码来源:IframeTest.ts


注:本文中的@ephox/alloy.GuiFactory.build方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。