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


TypeScript alloy.DomFactory类代码示例

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


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

示例1: if

  const getDom = () => {
    const common = ItemClasses.colorClass;
    const icon = iconSvg.getOr('');
    const title = itemText.map((text) => ` title="${providerBackstage.translate(text)}"`).getOr('');

    if (itemValue === colorPickerCommand) {
      return DomFactory.fromHtml(`<button class="${common} tox-swatches__picker-btn"${title}>${icon}</button>`);
    } else if (itemValue === removeColorCommand) {
      return DomFactory.fromHtml(`<div class="${common} tox-swatch--remove"${title}>${icon}</div>`);
    } else {
      return DomFactory.fromHtml(`<div class="${common}" style="background-color: ${itemValue}" data-mce-color="${itemValue}"${title}></div>`);
    }
  };
开发者ID:tinymce,项目名称:tinymce,代码行数:13,代码来源:ItemStructure.ts

示例2:

const renderSpinner = (providerBackstage: UiFactoryBackstageProviders): AlloySpec => {
  return {
    dom: {
      tag: 'div',
      attributes: {
        'aria-label': providerBackstage.translate('Loading...')
      },
      classes: [ 'tox-throbber__busy-spinner' ]
    },
    components: [
      {
        dom: DomFactory.fromHtml(`<div class="tox-spinner"><div></div><div></div><div></div></div>`)
      }
    ],
    behaviours: Behaviour.derive([
      // Trap the "Tab" key and don't let it escape.
      Keying.config({
        mode: 'special',
        onTab: () => Option.some(true),
        onShiftTab: () => Option.some(true)
      }),
      Focusing.config({ })
    ])
  };
};
开发者ID:tinymce,项目名称:tinymce,代码行数:25,代码来源:Throbber.ts

示例3: lookup

const renderFooter = (initFoo: WindowFooterFoo, providersBackstage: UiFactoryBackstageProviders) => {
  const updateState = (_comp, data: WindowFooterFoo) => {
    const footerButtons: DialogMemButton[] = Arr.map(data.buttons, (button) => {
      const memButton = Memento.record(makeButton(button, providersBackstage));
      return {
        name: button.name,
        align: button.align,
        memento: memButton
      };
    });

    const lookupByName = (
      compInSystem: AlloyComponent,
      buttonName: string
    ) => lookup(compInSystem, footerButtons, buttonName);

    return Option.some({
      lookupByName,
      footerButtons
    });
  };

  return {
    dom: DomFactory.fromHtml(`<div class="tox-dialog__footer"></div>`),
    components: [ ],
    behaviours: Behaviour.derive([
      Reflecting.config({
        channel: footerChannel,
        initialData: initFoo,
        updateState,
        renderComponents
      })
    ])
  };
};
开发者ID:tinymce,项目名称:tinymce,代码行数:35,代码来源:SilverDialogFooter.ts

示例4: renderTitle

const renderModalHeader = (foo: WindowHeaderFoo, providersBackstage: UiFactoryBackstageProviders): AlloySpec => {
  const pTitle = ModalDialog.parts().title(
    renderTitle(foo, Option.none(), providersBackstage)
  );

  const pHandle = ModalDialog.parts().draghandle({
    dom: DomFactory.fromHtml('<div class="tox-dialog__draghandle"></div>')
  });

  const pClose = ModalDialog.parts().close(
    renderClose(providersBackstage)
  );

  const components = [ pTitle ].concat(foo.draggable ? [ pHandle ] : []).concat([ pClose ]);
  return Container.sketch({
    dom: DomFactory.fromHtml('<div class="tox-dialog__header"></div>'),
    components
  });
};
开发者ID:tinymce,项目名称:tinymce,代码行数:19,代码来源:SilverDialogHeader.ts

示例5:

const pBodyMessage = (message: string, providersBackstage: UiFactoryBackstageProviders) => ModalDialog.parts().body({
  dom: {
    tag: 'div',
    classes: [ 'tox-dialog__body', 'todo-tox-fit' ]
  },
  components: [
    {
      dom: DomFactory.fromHtml(`<p>${providersBackstage.translate(message)}</p>`)
    }
  ]
});
开发者ID:tinymce,项目名称:tinymce,代码行数:11,代码来源:Dialogs.ts

示例6:

 const display = (label: string, spec: SimpleSpec) => {
   return {
     dom: {
       tag: 'div',
       styles: { border: '1px solid #aaa', margin: '1em', padding: '1em' }
     },
     components: [
       { dom: DomFactory.fromHtml('<h3>' + label + '</h3>') },
       { dom: { tag: 'hr' } },
       spec
     ]
   };
 };
开发者ID:tinymce,项目名称:tinymce,代码行数:13,代码来源:DialogComponentsDemo.ts

示例7: default

export default () => {

  const oldSink = document.querySelectorAll('.mce-silver-sink');
  if (oldSink.length > 0) {
    throw Error('old sinks found, a previous test did not call helpers.destroy() leaving artifacts, found: ' + oldSink.length);
  }

  const sink = GuiFactory.build({
    dom: DomFactory.fromHtml('<div class="mce-silver-sink"></div>'),
    behaviours: Behaviour.derive([
      Positioning.config({
        useFixed: true
      })
    ])
  });

  const uiMothership = Gui.create();
  Class.add(uiMothership.element(), 'tox');

  const backstage = TestBackstage(sink);

  const mockEditor = {
    setContent: (content) => {},
    insertContent: (content: string, args?: any) => {},
    execCommand: (cmd: string, ui?: boolean, value?: any) => {}
  } as Editor;

  const extras = {
    editor: mockEditor,
    backstage
  };

  uiMothership.add(sink);
  Attachment.attachSystem(Body.body(), uiMothership);

  const destroy = () => {
    uiMothership.remove(sink);
    uiMothership.destroy();
  };

  return {
    backstage,
    shared: backstage.shared,
    extras,
    destroy,
    uiMothership,
    mockEditor
  };
};
开发者ID:tinymce,项目名称:tinymce,代码行数:49,代码来源:TestExtras.ts

示例8:

 ModalDialog.setBusy(lazyDialog(), (d, bs) => {
   return {
     dom: {
       tag: 'div',
       classes: [ 'tox-dialog__busy-spinner' ],
       attributes: {
         'aria-label': blockEvent.message()
       },
       styles: {
         left: '0px',
         right: '0px',
         bottom: '0px',
         top: '0px',
         position: 'absolute'
       }
     },
     behaviours: bs,
     components: [
       {
         dom: DomFactory.fromHtml(`<div class="tox-spinner"><div></div><div></div><div></div></div>`)
       }
     ]
   };
 });
开发者ID:tinymce,项目名称:tinymce,代码行数:24,代码来源:SilverDialogCommon.ts


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