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


TypeScript Chain.async方法代碼示例

本文整理匯總了TypeScript中@ephox/agar.Chain.async方法的典型用法代碼示例。如果您正苦於以下問題:TypeScript Chain.async方法的具體用法?TypeScript Chain.async怎麽用?TypeScript Chain.async使用的例子?那麽, 這裏精選的方法代碼示例或許可以為您提供幫助。您也可以進一步了解該方法所在@ephox/agar.Chain的用法示例。


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

示例1: Theme

UnitTest.asynctest('browser.tinymce.core.InlineEditorSaveTest', (success, failure) =>  {
  Theme();

  const settings = {
    inline: true,
    base_url: '/project/tinymce/js/tinymce'
  };

  const cAssertBogusExist = Chain.async((val, next, die) => {
    UiFinder.findIn(Body.body(), '[data-mce-bogus]').fold(
      () => {
        die('Should be data-mce-bogus tags present');
      },
      () => {
        next(val);
      }
    );
  });

  const cSaveEditor = Chain.op((editor: Editor) => editor.save());

  Pipeline.async({}, [
    Logger.t('Saving inline editor should not remove data-mce-bogus tags', Chain.asStep({}, [
        McEditor.cFromHtml('<div></div>', settings),
        ApiChains.cSetRawContent('<p data-mce-bogus="all">b</p><p data-mce-bogus="1">b</p>'),
        cSaveEditor,
        cAssertBogusExist,
        McEditor.cRemove,
      ]),
    )
  ], function () {
    success();
  }, failure);
});
開發者ID:tinymce,項目名稱:tinymce,代碼行數:34,代碼來源:InlineEditorSaveTest.ts

示例2: function

 const cAssertDialogContents = function (data) {
   return Chain.async(function (element, next, die) {
     getDialogByElement(element).fold(() => die('No dialog assocated with element'), function (win) {
       Assertions.assertEq('asserting dialog contents', data, win.toJSON());
       next(element);
     });
   });
 };
開發者ID:danielpunkass,項目名稱:tinymce,代碼行數:8,代碼來源:AllowUnsafeLinkTargetTest.ts

示例3: function

 const cFindChildWithState = function (selector, predicate) {
   return Chain.async(function (scope: Element, next, die) {
     const children = PredicateFilter.descendants(scope, function (element) {
       return Selectors.is(element, selector) && predicate(element);
     });
     children.length ? next(children[0]) : die('No children with state');
   });
 };
開發者ID:danielpunkass,項目名稱:tinymce,代碼行數:8,代碼來源:ImageOps.ts

示例4: function

  const cValidateBookmark = function (rootPath) {
    return Chain.async(function (input: any, next, die) {
      const root = Hierarchy.follow(Element.fromDom(viewBlock.get()), rootPath).getOrDie();

      return input.each(function (b) {
        return next(SelectionBookmark.validate(root, b));
      });
    });
  };
開發者ID:danielpunkass,項目名稱:tinymce,代碼行數:9,代碼來源:SelectionBookmarkTest.ts

示例5: function

 const cAssertEditorContent = function (label, expected) {
   return Chain.control(
     Chain.async(function (editor: any, next, die) {
       Assertions.assertHtml(label || 'Asserting editors content', expected, editor.getContent());
       next(editor);
     }),
     Guard.addLogging(`Assert editor content ${expected}`)
   );
 };
開發者ID:tinymce,項目名稱:tinymce,代碼行數:9,代碼來源:PlainTextPasteTest.ts

示例6: function

  const cAssertEditorDimension = function (dimension, value) {
    return Chain.async(function (editor: any, next, die) {
      const container = editor.iframeElement;
      const getter = dimension === 'width' ? Width.get : Height.get;
      const actualValue = typeof value === 'string' ? container.style[dimension] : getter(Element.fromDom(container));

      Assertions.assertEq('Editors content area has expected ' + dimension, value, actualValue);

      next(editor);
    });
  };
開發者ID:danielpunkass,項目名稱:tinymce,代碼行數:11,代碼來源:DimensionsTest.ts

示例7: function

 const cPopupToDialog = function (selector) {
   return Chain.fromChains([
     ui.cWaitForPopup('Locate popup', selector),
     Chain.async(function (container, next, die) {
       return Arr.find(editor.windowManager.getWindows(), function (win) {
         return container.dom().id === win._id;
       }).fold(() => die('Could not find popup window'), function (win) {
         next(win);
       });
     })
   ]);
 };
開發者ID:danielpunkass,項目名稱:tinymce,代碼行數:12,代碼來源:UploadTabTest.ts

示例8: function

  const cCreateInlineEditor = function (settings) {
    return Chain.async(function (viewBlock: any, next, die) {
      viewBlock.update('<div id="inline-tiny"></div>');

      EditorManager.init(Merger.merge({
        selector: '#inline-tiny',
        inline: true,
        skin_url: '/project/js/tinymce/skins/lightgray',
        setup (editor) {
          editor.on('SkinLoaded', function () {
            next(editor);
          });
        }
      }, settings));
    });
  };
開發者ID:danielpunkass,項目名稱:tinymce,代碼行數:16,代碼來源:PasteSettingsTest.ts


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