本文整理汇总了TypeScript中@ephox/snooker.TableLookup类的典型用法代码示例。如果您正苦于以下问题:TypeScript TableLookup类的具体用法?TypeScript TableLookup怎么用?TypeScript TableLookup使用的例子?那么, 这里精选的类代码示例或许可以为您提供帮助。
在下文中一共展示了TableLookup类的7个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的TypeScript代码示例。
示例1: function
const syncSelection = function () {
const sel = editor.selection;
const start = Element.fromDom(sel.getStart());
const end = Element.fromDom(sel.getEnd());
const startTable = TableLookup.table(start);
const endTable = TableLookup.table(end);
const sameTable = startTable.bind(function (tableStart) {
return endTable.bind(function (tableEnd) {
return Compare.eq(tableStart, tableEnd) ? Option.some(true) : Option.none();
});
});
sameTable.fold(function () {
annotations.clear(body);
}, Fun.noop);
};
示例2:
targets = cellOpt.bind(function (cellDom) {
const cell = Element.fromDom(cellDom);
const table = TableLookup.table(cell);
return table.map(function (table) {
return TableTargets.forMenu(selections, table, cell);
});
});
示例3: function
}, function (current) {
return TableLookup.table(current, isRoot).bind(function (table) {
const targets = TableTargets.noMenu(current);
editor.undoManager.transact(function () {
actions.insertRowsAfter(table, targets);
});
return getNewRowCursorPosition(editor, table);
});
});
示例4:
return TableSelection.getSelectionStartCellOrCaption(editor).bind((cellOrCaption) => {
const table = TableLookup.table(cellOrCaption);
return table.map((table) => {
if (Node.name(cellOrCaption) === 'caption') {
return TableTargets.notCell(cellOrCaption);
} else {
return TableTargets.forMenu(selections, table, cellOrCaption);
}
});
});
示例5: function
const eraseTable = function () {
const cell = Element.fromDom(editor.dom.getParent(editor.selection.getStart(), 'th,td'));
const table = TableLookup.table(cell, isRoot);
table.filter(Fun.not(isRoot)).each(function (table) {
const cursor = Element.fromText('');
Insert.after(table, cursor);
Remove.remove(table);
const rng = editor.dom.createRng();
rng.setStart(cursor.dom(), 0);
rng.setEnd(cursor.dom(), 0);
editor.selection.setRng(rng);
});
};
示例6:
.each((cellOrCaption) => {
const tableOpt = TableLookup.table(cellOrCaption, isRoot);
tableOpt.filter(Fun.not(isRoot)).each((table) => {
const cursor = Element.fromText('');
Insert.after(table, cursor);
Remove.remove(table);
if (editor.dom.isEmpty(editor.getBody())) {
editor.setContent('');
editor.selection.setCursorLocation();
} else {
const rng = editor.dom.createRng();
rng.setStart(cursor.dom(), 0);
rng.setEnd(cursor.dom(), 0);
editor.selection.setRng(rng);
editor.nodeChanged();
}
});
});
示例7: function
cellOpt.each(function (domCell) {
const cell = Element.fromDom(domCell);
TableLookup.table(cell).each((table) => {
const elements = Arr.filter(Elements.fromHtml(e.content), function (content) {
return Node.name(content) !== 'meta';
});
if (elements.length === 1 && Node.name(elements[0]) === 'table') {
e.preventDefault();
const doc = Element.fromDom(editor.getDoc());
const generators = TableFill.paste(doc);
const targets = TableTargets.paste(cell, elements[0], generators);
actions.pasteCells(table, targets).each(function (rng) {
editor.selection.setRng(rng);
editor.focus();
cellSelection.clear(table);
});
}
});
});