本文整理汇总了TypeScript中@ephox/sugar.Focus.focus方法的典型用法代码示例。如果您正苦于以下问题:TypeScript Focus.focus方法的具体用法?TypeScript Focus.focus怎么用?TypeScript Focus.focus使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类@ephox/sugar.Focus
的用法示例。
在下文中一共展示了Focus.focus方法的10个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的TypeScript代码示例。
示例1: transaction
transaction(function () {
// If we don't blur before focusing the content, a previous focus in something like a statebutton
// which represents the chosen font colour can stop the keyboard from appearing. Therefore, we blur
// first.
Focus.active().each(Focus.blur);
Focus.focus(iBody);
});
示例2: function
const input = function (parent, operation) {
// to capture focus allowing the keyboard to remain open with no 'real' selection
const input = Element.fromTag('input');
Css.setAll(input, {
opacity: '0',
position: 'absolute',
top: '-1000px',
left: '-1000px'
});
Insert.append(parent, input);
Focus.focus(input);
operation(input);
Remove.remove(input);
};
示例3: function
const resume = function (cWin, frame) {
Focus.active().each(function (active) {
// INVESTIGATE: This predicate may not be required. The purpose of it is to ensure
// that the content window's frame element is not unnecessarily blurred before giving
// it focus.
if (! Compare.eq(active, frame)) {
Focus.blur(active);
}
});
// Required when transferring from another input area.
cWin.focus();
Focus.focus(Element.fromDom(cWin.document.body));
CursorRefresh.refresh(cWin);
};
示例4: function
const setSelectionAtTouch = function (editorApi, touchEvent) {
// shortTextFix, when text is short body height is short too, tapping at the bottom of the editor
// should set a selection. We don't set body height to 100% because of side effects, so we resort
// to a mousedown on the iDoc, it is a clean place, and very specific to this issue. On a vanilla
// CE, with body height 100%, event sequence: touchstart, touchend, mousemove, mousedown, FOCUS,
// mouseup, click. This is why we fire focus on mousedown, to match the natural sequence.
Focus.focus(editorApi.body());
// then set the selection to the end, last cursor position
// Note: the reason why there is a flicker when we touch the bottom, is because of the native scroll
// cursor into view, in this case it wants to scroll down so the text is centered on the screen,
// we have to live with this until we control selection
const touch = touchEvent.raw().changedTouches[0];
WindowSelection.getAtPoint(editorApi.win(), touch.pageX, touch.pageY).each(function (raw) {
editorApi.setSelection(raw.start(), raw.soffset(), raw.finish(), raw.foffset());
});
};
示例5: isScrolling
PlatformEditor.getActiveApi(platform.editor).each(function (editorApi) {
// TODO: Orientation changes.
// orientation = Orientation.onChange();
priorState.set({
socketHeight: Css.getRaw(platform.socket, 'height'),
iframeHeight: Css.getRaw(editorApi.frame(), 'height'),
outerScroll: document.body.scrollTop
});
scrollEvents.set({
// Allow only things that have scrollable class to be scrollable. Without this,
// the toolbar scrolling gets prevented
exclusives: Scrollables.exclusive(doc, '.' + Scrollable.scrollable())
});
Class.add(platform.container, Styles.resolve('fullscreen-maximized'));
Thor.clobberStyles(platform.container, editorApi.body());
meta.maximize();
/* NOTE: Making the toolbar scrollable is now done when the middle group is created */
Css.set(platform.socket, 'overflow', 'scroll');
Css.set(platform.socket, '-webkit-overflow-scrolling', 'touch');
Focus.focus(editorApi.body());
const setupBag = Struct.immutableBag([
'cWin',
'ceBody',
'socket',
'toolstrip',
'toolbar',
'dropup',
'contentElement',
'cursor',
'keyboardType',
'isScrolling',
'outerWindow',
'outerBody'
], []);
iosApi.set(
IosSetup.setup(setupBag({
cWin: editorApi.win(),
ceBody: editorApi.body(),
socket: platform.socket,
toolstrip: platform.toolstrip,
toolbar: platform.toolbar,
dropup: platform.dropup.element(),
contentElement: editorApi.frame(),
cursor: Fun.noop,
outerBody: platform.body,
outerWindow: platform.win,
keyboardType: IosKeyboard.stubborn,
isScrolling () {
return scrollEvents.get().exists(function (s) {
return s.socket.isScrolling();
});
}
}))
);
iosApi.run(function (api) {
api.syncHeight();
});
iosEvents.set(
IosEvents.initEvents(editorApi, iosApi, platform.toolstrip, platform.socket, platform.dropup)
);
});
示例6:
const cFocusInput = Chain.op(() => {
Focus.focus(inputElmCell.get());
});
示例7:
se.event().focus().bind((f) => {
Focus.focus(f);
return Focus.search(comp.element());
}).orThunk(() => {
示例8: function
export default function () {
const frame = Element.fromTag('iframe');
Attr.set(frame, 'src', '/project/tinymce/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();
});
},
ui: {
registry: {
getAll: () => {
return {
icons: {}
};
}
}
}
};
const component = GuiFactory.build(
GuiFactory.external({
element: frame
})
);
return {
component: Fun.constant(component) as () => 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
};
}
示例9: runOnItem
AlloyEvents.run<SugarEvent>(NativeEvents.mouseover(), runOnItem((comp, tgt) => {
Focus.focus(tgt);
})),
示例10: function
export default function () {
const frame = Element.fromTag('iframe');
Attr.set(frame, 'src', '/project/src/themes/mobile/test/html/editor.html');
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);
});
}
};
const component = GuiFactory.build(
GuiFactory.external({
element: frame
})
);
return {
component: Fun.constant(component),
config: Fun.constant(config),
editor: Fun.constant(editor),
adder: delegate.adder,
assertEq: delegate.assertEq,
sAssertEq: delegate.sAssertEq,
sClear: delegate.sClear,
sPrepareState: delegate.sPrepareState
};
}