本文整理匯總了TypeScript中@ephox/agar.Keys.enter方法的典型用法代碼示例。如果您正苦於以下問題:TypeScript Keys.enter方法的具體用法?TypeScript Keys.enter怎麽用?TypeScript Keys.enter使用的例子?那麽, 這裏精選的方法代碼示例或許可以為您提供幫助。您也可以進一步了解該方法所在類@ephox/agar.Keys
的用法示例。
在下文中一共展示了Keys.enter方法的10個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的TypeScript代碼示例。
示例1: TinyApis
TinyLoader.setup(function (editor, onSuccess, onFailure) {
const tinyApis = TinyApis(editor);
const doc = TinyDom.fromDom(document);
Pipeline.async({}, [
Log.stepsAsStep('TBA', 'Link: should not get anchor info if not selected node', [
TestLinkUi.sClearHistory,
tinyApis.sSetContent('<p><a href="http://tinymce.com" class="shouldbekept" title="shouldalsobekept">tiny</a></p>'),
tinyApis.sSetSelection([0, 0, 0], 2, [0, 0, 0], 2),
tinyApis.sExecCommand('mcelink'),
TestLinkUi.sAssertDialogContents({
href: 'http://tinymce.com',
text: 'tiny',
title: 'shouldalsobekept',
target: ''
}),
FocusTools.sSetActiveValue(doc, 'http://something'),
Keyboard.sKeydown(doc, Keys.enter(), { }),
Waiter.sTryUntil(
'Wait until link is inserted',
tinyApis.sAssertContentPresence({
'a[href="http://something"]': 1,
'a[class="shouldbekept"]': 1,
'a[title="shouldalsobekept"]': 1
}),
100,
1000
),
TestLinkUi.sClearHistory
]),
Log.stepsAsStep('TBA', 'Link: should remove attributes if unset in the dialog', [
TestLinkUi.sClearHistory,
tinyApis.sSetContent('<p><a href="http://tinymce.com" class="shouldbekept" title="shouldnotbekept">tiny</a></p>'),
tinyApis.sSetSelection([0, 0, 0], 2, [0, 0, 0], 2),
tinyApis.sExecCommand('mcelink'),
TestLinkUi.sAssertDialogContents({
href: 'http://tinymce.com',
text: 'tiny',
title: 'shouldnotbekept',
target: ''
}),
FocusTools.sSetActiveValue(doc, 'http://something'),
TestLinkUi.sSetInputFieldValue('Title', ''),
Keyboard.sKeydown(doc, Keys.enter(), { }),
Waiter.sTryUntil(
'Wait until link is inserted',
tinyApis.sAssertContentPresence({
'a[href="http://something"]': 1,
'a[class="shouldbekept"]': 1,
'a[title="shouldnotbekept"]': 0
}),
100,
1000
),
TestLinkUi.sClearHistory
])
], onSuccess, onFailure);
}, {
示例2: TinyApis
TinyLoader.setup(function (editor, onSuccess, onFailure) {
const tinyApis = TinyApis(editor);
const tinyUi = TinyUi(editor);
const rootDoc = Element.fromDom(document);
const sOpenContextMenu = (target) => {
return Chain.asStep(editor, [
tinyUi.cTriggerContextMenu('trigger image context menu', target, '.tox-silver-sink [role="menuitem"]'),
// Not sure why this is needed, but without the browser deselects the contextmenu target
Chain.wait(0)
]);
};
const sWaitForAndSubmitDialog = Chain.asStep(editor, [
tinyUi.cWaitForPopup('wait for dialog', 'div[role="dialog"]'),
Mouse.cClickOn('.tox-button:contains("Save")')
]);
Pipeline.async({}, [
tinyApis.sFocus,
Log.stepsAsStep('TBA', 'Opening context menus on a selected figure', [
tinyApis.sSetRawContent('<figure class="image" contenteditable="false"><img src="image.png"><figcaption contenteditable="true">Caption</figcaption></figure><p>Second paragraph</p>'),
tinyApis.sSetSelection([], 0, [], 1),
sOpenContextMenu('figure.image'),
Keyboard.sKeydown(rootDoc, Keys.enter(), {}),
sWaitForAndSubmitDialog,
tinyApis.sAssertSelection([], 0, [], 1)
]),
Log.stepsAsStep('TBA', 'Opening context menus on an unselected figure', [
tinyApis.sSetRawContent('<figure class="image" contenteditable="false"><img src="image.png"><figcaption contenteditable="true">Caption</figcaption></figure><p>Second paragraph</p>'),
tinyApis.sSetSelection([1, 0], 1, [1, 0], 1),
sOpenContextMenu('figure.image'),
Keyboard.sKeydown(rootDoc, Keys.enter(), {}),
sWaitForAndSubmitDialog,
tinyApis.sAssertSelection([], 0, [], 1)
]),
Log.stepsAsStep('TBA', 'Opening context menus on a selected image', [
tinyApis.sSetRawContent('<p><img src="image.png" /></p><p>Second paragraph</p>'),
tinyApis.sSetSelection([0], 0, [0], 1),
sOpenContextMenu('img'),
Keyboard.sKeydown(rootDoc, Keys.enter(), {}),
sWaitForAndSubmitDialog,
tinyApis.sAssertSelection([0], 0, [0], 1)
]),
Log.stepsAsStep('TBA', 'Opening context menus on an unselected image', [
tinyApis.sSetRawContent('<p><img src="image.png" /></p><p>Second paragraph</p>'),
tinyApis.sSetSelection([1, 0], 1, [1, 0], 1),
sOpenContextMenu('img'),
Keyboard.sKeydown(rootDoc, Keys.enter(), {}),
sWaitForAndSubmitDialog,
tinyApis.sAssertSelection([0], 0, [0], 1)
])
], onSuccess, onFailure);
}, {
示例3:
(doc, body, gui, component, store) => {
return [
FocusTools.sSetFocus('Focus checkbox', body, '.tox-checkbox__input'),
Keyboard.sKeydown(doc, Keys.enter(), {}),
store.sAssertEq('Form change should have fired', ['test-check-box'])
];
},
示例4: TinyApis
TinyLoader.setup(function (editor, onSuccess, onFailure) {
const tinyApis = TinyApis(editor);
const doc = TinyDom.fromDom(document);
Pipeline.async({}, [
TestLinkUi.sClearHistory,
Log.stepsAsStep('TBA', 'Checking only choosing link and submitting works', [
Step.sync(() => {
editor.execCommand('mceLink');
}),
UiFinder.sWaitForVisible('wait for link dialog', TinyDom.fromDom(document.body), '[role="dialog"]'),
FocusTools.sTryOnSelector('Selector should be in first field of dialog', doc, '.tox-dialog input'),
FocusTools.sSetActiveValue(doc, 'http://goo'),
Chain.asStep(doc, [
FocusTools.cGetFocused,
TestLinkUi.cFireEvent('input')
]),
Keyboard.sKeydown(doc, Keys.enter(), { }),
Waiter.sTryUntil(
'Waiting for link to be inserted',
tinyApis.sAssertContentPresence({
'a[href="http://goo"]': 1
}),
100,
1000
)
]),
TestLinkUi.sClearHistory,
], onSuccess, onFailure);
}, {
示例5: TinyApis
TinyLoader.setup(function (editor, onSuccess, onFailure) {
const tinyApis = TinyApis(editor);
const doc = TinyDom.fromDom(document);
Pipeline.async({},
Log.steps('TBA', 'Link: complex selections should preserve the text', [
TestLinkUi.sClearHistory,
tinyApis.sSetContent('<p><strong>word</strong></p><p><strong>other</strong></p>'),
tinyApis.sSetSelection([0], 0, [1], 1),
tinyApis.sExecCommand('mcelink'),
UiFinder.sWaitForVisible('wait for link dialog', TinyDom.fromDom(document.body), '[role="dialog"]'),
FocusTools.sSetActiveValue(doc, 'http://something'),
Keyboard.sKeydown(doc, Keys.enter(), { }),
Waiter.sTryUntil(
'Wait until link is inserted',
tinyApis.sAssertContentPresence({
'a[href="http://something"]': 2,
'p:contains(word)': 1,
'p:contains(other)': 1,
'p': 2
}),
100,
1000
),
TestLinkUi.sClearHistory
])
, onSuccess, onFailure);
}, {
示例6: TinyApis
TinyLoader.setup(function (editor, onSuccess, onFailure) {
const tinyApis = TinyApis(editor);
const tinyUi = TinyUi(editor);
const doc = Element.fromDom(document);
const body = Body.body();
Pipeline.async({},
Log.steps('TBA', 'Emoticons: Open dialog, verify custom categories listed and search for custom emoticon', [
tinyApis.sFocus,
tinyUi.sClickOnToolbar('click emoticons', 'button'),
Chain.asStep({}, [
tinyUi.cWaitForPopup('wait for popup', 'div[role="dialog"]'),
]),
FocusTools.sTryOnSelector('Focus should start on input', doc, 'input'),
Chain.asStep(body, [
UiFinder.cFindIn('[role="tablist"]'),
Assertions.cAssertStructure('check custom categories are shown', ApproxStructure.build((s, str, arr) => {
return s.element('div', {
children: [
tabElement(s, str, arr)('All'),
tabElement(s, str, arr)('People'),
tabElement(s, str, arr)('User Defined')
]
});
})),
]),
FocusTools.sSetActiveValue(doc, 'clock'),
Chain.asStep(doc, [
FocusTools.cGetFocused,
cFakeEvent('input')
]),
Waiter.sTryUntil(
'Wait until clock is the first choice (search should filter)',
Chain.asStep(body, [
UiFinder.cFindIn('.tox-collection__item:first'),
Chain.mapper((item) => {
return Attr.get(item, 'data-collection-item-value');
}),
Assertions.cAssertEq('Search should show custom clock', 'â˛')
]),
100,
1000
),
Keyboard.sKeydown(doc, Keys.tab(), {}),
FocusTools.sTryOnSelector('Focus should have moved to collection', doc, '.tox-collection__item'),
Keyboard.sKeydown(doc, Keys.enter(), {}),
Waiter.sTryUntil(
'Waiting for content update',
tinyApis.sAssertContent('<p>â˛</p>'),
100,
1000
)
])
, onSuccess, onFailure);
}, {
示例7: TinyUi
TinyLoader.setup(function (editor, onSuccess, onFailure) {
const tinyUi = TinyUi(editor);
const tinyApis = TinyApis(editor);
const tinyActions = TinyActions(editor);
Pipeline.async({}, [
tinyUi.sWaitForUi('check button', 'div[aria-disabled="true"] i.mce-i-save'),
tinyApis.sSetContent('<p>a</p>'),
tinyApis.sSetCursor([0, 0], 1),
tinyActions.sContentKeystroke(Keys.enter(), {}),
tinyUi.sWaitForUi('check button', 'div[aria-disabled="false"] i.mce-i-save')
], onSuccess, onFailure);
}, {
示例8: TinyApis
TinyLoader.setup(function (editor, onSuccess, onFailure) {
const tinyApis = TinyApis(editor);
const tinyActions = TinyActions(editor);
Pipeline.async({}, [
tinyApis.sFocus,
Logger.t('Enter before HR in the beginning of content', GeneralSteps.sequence([
tinyApis.sSetContent('<hr /><p>a</p>'),
tinyApis.sSetCursor([], 0),
tinyActions.sContentKeystroke(Keys.enter(), {}),
tinyApis.sAssertContent('<p> </p><hr /><p>a</p>'),
tinyApis.sAssertSelection([0], 0, [0], 0)
])),
Logger.t('Enter after HR in the beginning of content', GeneralSteps.sequence([
tinyApis.sSetContent('<hr /><p>a</p>'),
tinyApis.sSetCursor([], 1),
tinyActions.sContentKeystroke(Keys.enter(), {}),
tinyApis.sAssertContent('<hr /><p> </p><p>a</p>'),
tinyApis.sAssertSelection([2, 0], 0, [2, 0], 0)
])),
Logger.t('Enter before HR in the middle of content', GeneralSteps.sequence([
tinyApis.sSetContent('<p>a</p><hr /><p>b</p>'),
tinyApis.sSetCursor([], 1),
tinyActions.sContentKeystroke(Keys.enter(), {}),
tinyApis.sAssertContent('<p>a</p><p> </p><hr /><p>b</p>'),
tinyApis.sAssertSelection([1], 0, [1], 0)
])),
Logger.t('Enter after HR in the middle of content', GeneralSteps.sequence([
tinyApis.sSetContent('<p>a</p><hr /><p>b</p>'),
tinyApis.sSetCursor([], 2),
tinyActions.sContentKeystroke(Keys.enter(), {}),
tinyApis.sAssertContent('<p>a</p><hr /><p> </p><p>b</p>'),
tinyApis.sAssertSelection([3, 0], 0, [3, 0], 0)
])),
Logger.t('Enter before HR in the end of content', GeneralSteps.sequence([
tinyApis.sFocus,
tinyApis.sSetContent('<p>a</p><hr />'),
tinyApis.sSetCursor([], 1),
tinyActions.sContentKeystroke(Keys.enter(), {}),
tinyApis.sAssertContent('<p>a</p><p> </p><hr />'),
tinyApis.sAssertSelection([1], 0, [1], 0)
])),
Logger.t('Enter after HR in the end of content', GeneralSteps.sequence([
tinyApis.sFocus,
tinyApis.sSetContent('<p>a</p><hr />'),
tinyApis.sSetCursor([], 2),
tinyActions.sContentKeystroke(Keys.enter(), {}),
tinyApis.sAssertContent('<p>a</p><hr /><p> </p>'),
tinyApis.sAssertSelection([2], 0, [2], 0)
]))
], onSuccess, onFailure);
}, {
示例9: TinyUi
TinyLoader.setup(function (editor, onSuccess, onFailure) {
const tinyUi = TinyUi(editor);
const tinyApis = TinyApis(editor);
const tinyActions = TinyActions(editor);
Pipeline.async({},
Log.steps('TBA', 'Save: Assert Save button is disabled when editor is opened. Add content and assert Save button is enabled', [
tinyUi.sWaitForUi('check button', 'button[aria-label="Save"][disabled="disabled"]'),
tinyApis.sSetContent('<p>a</p>'),
tinyApis.sSetCursor([0, 0], 1),
tinyActions.sContentKeystroke(Keys.enter(), {}),
tinyUi.sWaitForUi('check button', 'button[aria-label="Save"]:not([disabled="disabled"])')
])
, onSuccess, onFailure);
}, {
示例10: sInitialState
TinyLoader.setup(function (editor, onSuccess, onFailure) {
const doc = Element.fromDom(document);
Pipeline.async({},
Log.steps('TBA', 'FullPage: Test initial data, set new input values, open dialog, verify that the dialog data matches the input values', [
sInitialState(editor),
sCheckInputValue('Title', selectors.titleInput, 'Fullpage Dialog Test Title'),
sCheckInputValue('Keywords', selectors.keywordsInput, ''),
sCheckInputValue('Description', selectors.descriptionInput, ''),
sCheckInputValue('Robots', selectors.robotsInput, ''),
sCheckInputValue('Author', selectors.authorInput, ''),
sCheckInputValue('Encoding', selectors.encodingInput, 'ISO-8859-1'),
FocusTools.sTryOnSelector(
'Focus should start on first input',
doc,
selectors.titleInput
),
FocusTools.sSetActiveValue(doc, 'the nu title'),
Keyboard.sKeydown(doc, Keys.tab(), { }),
FocusTools.sSetActiveValue(doc, 'the nu keywords'),
Keyboard.sKeydown(doc, Keys.tab(), { }),
FocusTools.sSetActiveValue(doc, 'the nu description'),
Keyboard.sKeydown(doc, Keys.tab(), { }),
FocusTools.sSetActiveValue(doc, 'the nu robots'),
Keyboard.sKeydown(doc, Keys.tab(), { }),
FocusTools.sSetActiveValue(doc, 'the nu author'),
Keyboard.sKeydown(doc, Keys.tab(), { }),
FocusTools.sSetActiveValue(doc, 'the nu encoding'),
FocusTools.sIsOnSelector('last', doc, selectors.encodingInput),
Keyboard.sKeydown(doc, Keys.tab(), { }),
FocusTools.sIsOnSelector('The cancel button should be focused', doc, 'button:contains("Cancel")'),
Keyboard.sKeydown(doc, Keys.tab(), { }),
FocusTools.sIsOnSelector('The save button should be focused', doc, 'button:contains("Save")'),
Keyboard.sKeydown(doc, Keys.enter(), { }),
UiFinder.sNotExists(Body.body(), 'div.tox-dialog'),
sOpenDialog(editor),
sCheckInputValue('Title', selectors.titleInput, 'the nu title'),
sCheckInputValue('Keywords', selectors.keywordsInput, 'the nu keywords'),
sCheckInputValue('Description', selectors.descriptionInput, 'the nu description'),
sCheckInputValue('Robots', selectors.robotsInput, 'the nu robots'),
sCheckInputValue('Author', selectors.authorInput, 'the nu author'),
sCheckInputValue('Encoding', selectors.encodingInput, 'the nu encoding'),
]), onSuccess, onFailure);
}, {