本文整理汇总了TypeScript中@ephox/agar.Chain.on方法的典型用法代码示例。如果您正苦于以下问题:TypeScript Chain.on方法的具体用法?TypeScript Chain.on怎么用?TypeScript Chain.on使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类@ephox/agar.Chain
的用法示例。
在下文中一共展示了Chain.on方法的9个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的TypeScript代码示例。
示例1: next
const cOpFromChains = (chains: Chain<any, any>[]) => Chain.control(
// TODO: Another API case.
Chain.on((value, next, die, logs) => {
Chain.pipeline([Chain.inject(value)].concat(chains), (_, newLogs) => next(Chain.wrap(value), newLogs), die, logs);
}),
Guard.addLogging('Chain operations')
);
示例2: function
const cAssertDialogContents = function (data) {
return Chain.on(function (element, next, die) {
getDialogByElement(element).fold(die, function (win) {
Assertions.assertEq('asserting dialog contents', data, win.toJSON());
next(Chain.wrap(element));
});
});
};
示例3: function
const cFindChildWithState = function (selector, predicate) {
return Chain.on(function (scope, next, die) {
const children = PredicateFilter.descendants(scope, function (element) {
return Selectors.is(element, selector) && predicate(element);
});
children.length ? next(Chain.wrap(children[0])) : die();
});
};
示例4: function
const cValidateBookmark = function (rootPath) {
return Chain.on(function (input, next, die) {
const root = Hierarchy.follow(Element.fromDom(viewBlock.get()), rootPath).getOrDie();
return input.each(function (b) {
return next(Chain.wrap(SelectionBookmark.validate(root, b)));
});
});
};
示例5: function
const cAssertEditorDimension = function (dimension, value) {
return Chain.on(function (editor, 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(Chain.wrap(editor));
});
};
示例6: function
const cPopupToDialog = function (selector) {
return Chain.fromChains([
ui.cWaitForPopup('Locate popup', selector),
Chain.on(function (container, next, die) {
return Arr.find(editor.windowManager.getWindows(), function (win) {
return container.dom().id === win._id;
}).fold(die, function (win) {
next(Chain.wrap(win));
});
})
]);
};
示例7: function
const cCreateInlineEditor = function (html) {
return Chain.on(function (viewBlock, next, die) {
viewBlock.update(html);
EditorManager.init({
selector: '.tinymce-editor',
inline: true,
skin_url: '/project/js/tinymce/skins/lightgray',
setup (editor) {
editor.on('SkinLoaded', function () {
next(Chain.wrap(editor));
});
}
});
});
};
示例8: function
const cCreateInlineEditor = function (settings) {
return Chain.on(function (viewBlock, 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(Chain.wrap(editor));
});
}
}, settings));
});
};
示例9: function
const cFromSettings = function (settings, html) {
return Chain.on(function (_, next, die) {
const randomId = Id.generate('tiny-loader');
settings = settings || {};
const target = Element.fromHtml(html);
Attr.set(target, 'id', randomId);
Insert.append(Element.fromDom(document.body), target);
EditorManager.init(Merger.merge(settings, {
selector: '#' + randomId,
init_instance_callback (editor) {
setTimeout(function () {
next(Chain.wrap(editor));
}, 0);
}
}));
});
};