本文整理汇总了TypeScript中@ephox/katamari.Merger.merge方法的典型用法代码示例。如果您正苦于以下问题:TypeScript Merger.merge方法的具体用法?TypeScript Merger.merge怎么用?TypeScript Merger.merge使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类@ephox/katamari.Merger
的用法示例。
在下文中一共展示了Merger.merge方法的9个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的TypeScript代码示例。
示例1: styleTDTH
const applyDataToElement = (editor: Editor, tableElm, data: TableData) => {
const dom = editor.dom;
const attrs: any = {};
const styles: any = {};
attrs.class = data.class;
styles.height = Util.addSizeSuffix(data.height);
if (dom.getAttrib(tableElm, 'width') && !shouldStyleWithCss(editor)) {
attrs.width = Util.removePxSuffix(data.width);
} else {
styles.width = Util.addSizeSuffix(data.width);
}
if (shouldStyleWithCss(editor)) {
styles['border-width'] = Util.addSizeSuffix(data.border);
styles['border-spacing'] = Util.addSizeSuffix(data.cellspacing);
} else {
attrs.border = data.border;
attrs.cellpadding = data.cellpadding;
attrs.cellspacing = data.cellspacing;
}
// TODO: this has to be reworked somehow, for example by introducing dedicated option, which
// will control whether child TD/THs should be processed or not
if (shouldStyleWithCss(editor) && tableElm.children) {
for (let i = 0; i < tableElm.children.length; i++) {
styleTDTH(dom, tableElm.children[i], {
'border-width': Util.addSizeSuffix(data.border),
'padding': Util.addSizeSuffix(data.cellpadding),
});
if (hasAdvancedTableTab(editor)) {
styleTDTH(dom, tableElm.children[i], {
'border-color': data.bordercolor,
});
}
}
}
if (hasAdvancedTableTab(editor)) {
styles['background-color'] = data.backgroundcolor;
styles['border-color'] = data.bordercolor;
styles['border-style'] = data.borderstyle;
}
attrs.style = dom.serializeStyle(Merger.merge(getDefaultStyles(editor), styles));
dom.setAttribs(tableElm, Merger.merge(getDefaultAttributes(editor), attrs));
};
示例2: function
const serialize = function (node, parserArgs?) {
const args = Merger.merge({ format: 'html' }, parserArgs ? parserArgs : {});
const targetNode = DomSerializerPreProcess.process(editor, node, args);
const html = getHtmlFromNode(dom, targetNode, args);
const rootNode = parseHtml(htmlParser, html, args);
return args.format === 'tree' ? rootNode : toHtml(editor, settings, schema, rootNode, args);
};
示例3:
const renderNormalItemStructure = (info: NormalItemSpec, icon: Option<string>, renderIcons: boolean, textRender: (text: string) => AlloySpec, rtlClass: boolean): ItemStructure => {
// checkmark has priority, otherwise render icon if we have one, otherwise empty icon for spacing
const leftIcon = renderIcons ? info.checkMark.orThunk(() => icon.or(Option.some('')).map(renderIcon)) : Option.none();
const domTitle = info.ariaLabel.map((label): {attributes?: {title: string}} => {
return {
attributes: {
// TODO: AP-213 change this temporary solution to use tooltips, ensure its aria readable still.
// for icon only implementations we need either a title or aria label to satisfy aria requirements.
title: I18n.translate(label)
}
};
}).getOr({});
const dom = Merger.merge({
tag: 'div',
classes: [ ItemClasses.navClass, ItemClasses.selectableClass ].concat(rtlClass ? [ ItemClasses.iconClassRtl ] : []),
}, domTitle);
const menuItem = {
dom,
optComponents: [
leftIcon,
info.textContent.map(textRender),
info.shortcutContent.map(renderShortcut),
info.caret
]
};
return menuItem;
};
示例4: withRoot
withRoot((_) => {
const prevData = instanceApi.getData();
const mergedData = Merger.merge(prevData, newData);
const newInternalData = validateData(access, mergedData);
const form = access.getFormWrapper();
Representing.setValue(form, newInternalData);
});
示例5: unwrap
const getSourceData = (api) => {
const data = unwrap(api.getData());
return Settings.hasDimensions(editor) ? Merger.merge(data, {
width: data.dimensions.width,
height: data.dimensions.height
}) : data;
};
示例6: createMenuItemFromBridge
Arr.map(items, (item: SingleMenuItemApi) => {
const createItem = (i: SingleMenuItemApi) => createMenuItemFromBridge(i, itemResponse, backstage, hasIcons);
if (item.type === 'nestedmenuitem' && item.getSubmenuItems().length <= 0) {
return createItem(Merger.merge(item, {disabled: true}));
} else {
return createItem(item);
}
})
示例7: function
const cCreateInlineEditor = function (settings) {
return Chain.control(
McEditor.cFromSettings(Merger.merge(settings, {
inline: true,
base_url: '/project/tinymce/js/tinymce'
})),
Guard.addLogging('Create inline editor')
);
};
示例8: function
const event = function (evt) {
return Merger.merge({
shiftKey: false,
altKey: false,
ctrlKey: false,
metaKey: false,
keyCode: 0
}, evt);
};
示例9: function
const cCreateEditorFromSettings = function (settings, html?) {
return Chain.control(
McEditor.cFromSettings(Merger.merge(settings, {
base_url: '/project/tinymce/js/tinymce',
indent: false
})),
Guard.addLogging(`Create editor from ${settings}`)
);
};