本文整理汇总了TypeScript中@ephox/agar.Step.sync方法的典型用法代码示例。如果您正苦于以下问题:TypeScript Step.sync方法的具体用法?TypeScript Step.sync怎么用?TypeScript Step.sync使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类@ephox/agar.Step
的用法示例。
在下文中一共展示了Step.sync方法的7个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的TypeScript代码示例。
示例1: settings
TinyLoader.setup(function (editor, onSuccess, onFailure) {
Pipeline.async({}, [
Logger.t('getEditorSettings tests', GeneralSteps.sequence([
Logger.t('Override defaults plugins', Step.sync(function () {
const settings = EditorSettings.getEditorSettings(
editor,
'id',
'documentBaseUrl',
{
defaultSetting: 'a',
plugins: ['a']
},
{
validate: false,
userSetting: 'b'
}
);
Assertions.assertEq('Should have the specified id', 'id', settings.id);
Assertions.assertEq('Should have the specified documentBaseUrl', 'documentBaseUrl', settings.document_base_url);
Assertions.assertEq('Should have the specified userSetting', 'b', settings.userSetting);
Assertions.assertEq('Should have the forced validate setting', true, settings.validate);
Assertions.assertEq('Should have the default theme', 'modern', settings.theme);
Assertions.assertEq('Should have the specified default plugin', 'a', settings.plugins);
Assertions.assertEq('Should have the default setting', 'a', settings.defaultSetting);
})),
Logger.t('Override defaults with forced_plugins using arrays', Step.sync(function () {
const defaultSettings = {
forced_plugins: ['a', 'b']
};
const userSettings = {
plugins: ['c', 'd']
};
const settings = EditorSettings.getEditorSettings(editor, 'id', 'documentBaseUrl', defaultSettings, userSettings);
Assertions.assertEq('Should be both forced and user plugins', 'a b c d', settings.plugins);
})),
Logger.t('Override defaults with forced_plugins using strings', Step.sync(function () {
const defaultSettings = {
forced_plugins: 'a b'
};
const userSettings = {
plugins: 'c d'
};
const settings = EditorSettings.getEditorSettings(editor, 'id', 'documentBaseUrl', defaultSettings, userSettings);
Assertions.assertEq('Should be both forced and user plugins', 'a b c d', settings.plugins);
})),
Logger.t('Override defaults with forced_plugins using mixed types and spaces', Step.sync(function () {
const defaultSettings = {
forced_plugins: ' a b'
};
const userSettings = {
plugins: [' c ', ' d e ']
};
const settings = EditorSettings.getEditorSettings(editor, 'id', 'documentBaseUrl', defaultSettings, userSettings);
Assertions.assertEq('Should be both forced and user plugins', 'a b c d e', settings.plugins);
})),
Logger.t('Override defaults with just default forced_plugins', Step.sync(function () {
const defaultSettings = {
forced_plugins: ['a', 'b']
};
const userSettings = {
};
const settings = EditorSettings.getEditorSettings(editor, 'id', 'documentBaseUrl', defaultSettings, userSettings);
Assertions.assertEq('Should be just default plugins', 'a b', settings.plugins);
})),
Logger.t('Override defaults with just user plugins', Step.sync(function () {
const defaultSettings = {
};
const userSettings = {
plugins: ['a', 'b']
};
const settings = EditorSettings.getEditorSettings(editor, 'id', 'documentBaseUrl', defaultSettings, userSettings);
Assertions.assertEq('Should be just user plugins', 'a b', settings.plugins);
})),
Logger.t('Override defaults with forced_plugins should not be possible to override', Step.sync(function () {
const defaultSettings = {
forced_plugins: ['a', 'b']
};
//.........这里部分代码省略.........
示例2:
const sCreateConfirm = (message, callback) => {
return Step.sync(() => {
windowManager.confirm(message, callback);
});
};
示例3: function
const sCheckText = function (predicate) {
return Step.sync(function () {
Assertions.assertEq('Should be false for non element', false, predicate(Element.fromText('text')));
});
};
示例4: function
const sQueryCommandValue = function (editor, name) {
return Step.sync(function () {
editor.queryCommandValue(name);
});
};
示例5: function
const sAssertUploadFilename = function (expected) {
return Step.sync(function () {
const blobInfo = uploadHandlerState.get().blobInfo;
RawAssertions.assertEq('Should be expected file name', expected, blobInfo.filename());
});
};
示例6: function
const sAssertMenuItemCount = function (expected, editor) {
return Step.sync(function () {
const actual = document.querySelectorAll('.mce-menu-item').length;
RawAssertions.assertEq('Should be correct count', expected, actual);
});
};
示例7: function
export default function () {
const frame = Element.fromTag('iframe');
Attr.set(frame, 'src', '/project/src/themes/mobile/test/html/editor.html');
const sWaitForEditorLoaded = Waiter.sTryUntil(
'Waiting for iframe to load',
Step.sync(() => {
Assertions.assertEq('Check for a content editable body', 'true', frame.dom().contentWindow.document.body.contentEditable);
}),
100,
8000
);
const config = {
getFrame () {
return frame;
},
onDomChanged () {
return { unbind: Fun.noop };
}
};
const delegate = TestEditor();
const dEditor = delegate.editor();
const editor = {
selection: {
getStart () {
return WindowSelection.getExact(frame.dom().contentWindow).map(function (sel) {
return sel.start().dom();
}).getOr(null);
},
getContent () {
return frame.dom().contentWindow.document.body.innerHTML;
},
select: Fun.noop
},
getBody () {
return frame.dom().contentWindow.document.body;
},
insertContent: dEditor.insertContent,
execCommand: dEditor.execCommand,
dom: dEditor.dom,
// Maybe this should be implemented
focus () {
Focus.focus(frame);
const win = frame.dom().contentWindow;
WindowSelection.getExact(win).orThunk(function () {
const fbody = Element.fromDom(frame.dom().contentWindow.document.body);
const elem = Cursors.calculateOne(fbody, [ 0 ]);
WindowSelection.setExact(win, elem, 0, elem, 0);
return Option.none();
});
}
};
const component = GuiFactory.build(
GuiFactory.external({
element: frame
})
);
return {
component: Fun.constant(component) as () => ComponentApi.AlloyComponent,
config: Fun.constant(config),
editor: Fun.constant(editor),
adder: delegate.adder,
assertEq: delegate.assertEq,
sAssertEq: delegate.sAssertEq,
sWaitForEditorLoaded,
sClear: delegate.sClear,
sPrepareState: delegate.sPrepareState
};
}