本文整理匯總了TypeScript中@ephox/sugar.WindowSelection.getExact方法的典型用法代碼示例。如果您正苦於以下問題:TypeScript WindowSelection.getExact方法的具體用法?TypeScript WindowSelection.getExact怎麽用?TypeScript WindowSelection.getExact使用的例子?那麽, 這裏精選的方法代碼示例或許可以為您提供幫助。您也可以進一步了解該方法所在類@ephox/sugar.WindowSelection
的用法示例。
在下文中一共展示了WindowSelection.getExact方法的4個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的TypeScript代碼示例。
示例1: function
const tryFallbackBox = function (win) {
const isCollapsed = function (sel) {
return Compare.eq(sel.start(), sel.finish()) && sel.soffset() === sel.foffset();
};
const toStartRect = function (sel) {
const rect = sel.start().dom().getBoundingClientRect();
return rect.width > 0 || rect.height > 0 ? Option.some(rect).map(toRect) : Option.none();
};
return WindowSelection.getExact(win).filter(isCollapsed).bind(toStartRect);
};
示例2:
return Chain.op(function () {
const sc = Hierarchy.follow(Element.fromDom(viewBlock.get()), startPath).getOrDie();
const fc = Hierarchy.follow(Element.fromDom(viewBlock.get()), finishPath).getOrDie();
const win = Traverse.defaultView(Element.fromDom(viewBlock.get()));
const sel = WindowSelection.getExact(win.dom()).getOrDie('no selection');
Assertions.assertDomEq('sc', sc, sel.start());
Assertions.assertEq('soffset', startOffset, sel.soffset());
Assertions.assertDomEq('fc', fc, sel.finish());
Assertions.assertEq('foffset', finishOffset, sel.foffset());
});
示例3: 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
};
}
示例4: 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
};
}