本文整理汇总了TypeScript中@ephox/alloy.Replacing.config方法的典型用法代码示例。如果您正苦于以下问题:TypeScript Replacing.config方法的具体用法?TypeScript Replacing.config怎么用?TypeScript Replacing.config使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类@ephox/alloy.Replacing
的用法示例。
在下文中一共展示了Replacing.config方法的10个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的TypeScript代码示例。
示例1:
export const renderLabel = (spec: Types.Label.Label, backstageShared: UiFactoryBackstageShared): SimpleSpec => {
const label = {
dom: {
tag: 'label',
innerHtml: backstageShared.providers.translate(spec.label),
classes: ['tox-label']
}
} as AlloySpec;
const comps = Arr.map(spec.items, backstageShared.interpreter);
return {
dom: {
tag: 'div',
classes: ['tox-form__group']
},
components: [
label
].concat(comps),
behaviours: Behaviour.derive([
ComposingConfigs.self(),
Replacing.config({}),
RepresentingConfigs.domHtml(Option.none()),
Keying.config({
mode: 'acyclic'
}),
])
};
};
示例2: renderIcon
const renderReplacableIconFromPack = (iconName: string, iconsProvider: IconProvider): SimpleOrSketchSpec => {
return renderIcon(getIcon(iconName, iconsProvider), {
behaviours: Behaviour.derive([
Replacing.config({ })
])
});
};
示例3: renderInsertTableMenuItem
export function renderInsertTableMenuItem(spec: Menu.FancyMenuItem): ItemTypes.WidgetItemSpec {
const numRows = 10;
const numColumns = 10;
const sizeLabelId = Id.generate('size-label');
const cells = makeCells(sizeLabelId, numRows, numColumns);
const memLabel = Memento.record({
dom: {
tag: 'span',
classes: ['tox-insert-table-picker__label'],
attributes: {
id: sizeLabelId
}
},
components: [GuiFactory.text('0x0')],
behaviours: Behaviour.derive([
Replacing.config({})
])
});
return {
type: 'widget',
data: { value: Id.generate('widget-id')},
dom: {
tag: 'div',
classes: ['tox-fancymenuitem'],
},
autofocus: true,
components: [ItemWidget.parts().widget({
dom: {
tag: 'div',
classes: ['tox-insert-table-picker']
},
components: makeComponents(cells).concat(memLabel.asSpec()),
behaviours: Behaviour.derive([
AddEventsBehaviour.config('insert-table-picker', [
AlloyEvents.runWithTarget<CellEvent>(cellOverEvent, (c, t, e) => {
const row = e.event().row();
const col = e.event().col();
selectCells(cells, row, col, numRows, numColumns);
Replacing.set(memLabel.get(c), [makeLabelText(row, col)]);
}),
AlloyEvents.runWithTarget<CellEvent>(cellExecuteEvent, (c, _, e) => {
spec.onAction({numRows: e.event().row() + 1, numColumns: e.event().col() + 1});
AlloyTriggers.emit(c, SystemEvents.sandboxClose());
})
]),
Keying.config({
initSize: {
numRows,
numColumns
},
mode: 'flatgrid',
selector: '[role="button"]'
})
])
})]
};
}
示例4:
const renderLabel = (text: TranslateIfNeeded, prefix: string, providersBackstage: UiFactoryBackstageProviders) => ({
dom: {
tag: 'span',
innerHtml: providersBackstage.translate(text),
classes: [ `${prefix}__select-label` ]
},
behaviours: Behaviour.derive([
Replacing.config({ })
])
});
示例5:
(store, doc, body) => {
return GuiFactory.build({
dom: {
tag: 'div',
classes: [ 'test-container' ]
},
behaviours: Behaviour.derive([
Replacing.config({ })
])
});
},
示例6: function
const makeSocket = function () {
return GuiFactory.build(
Container.sketch({
dom: UiDomFactory.dom('<div class="${prefix}-editor-socket"></div>'),
components: [ ],
containerBehaviours: Behaviour.derive([
Replacing.config({ })
])
})
);
};
示例7: renderCommonToolbarButton
const renderToolbarToggleButtonWith = (spec: Toolbar.ToolbarToggleButton, providersBackstage: UiFactoryBackstageProviders, bonusEvents: AlloyEvents.AlloyEventKeyAndHandler<any>[]) => {
return Merger.deepMerge(
renderCommonToolbarButton(spec,
{
toolbarButtonBehaviours: [
Replacing.config({ }),
Toggling.config({ toggleClass: ToolbarButtonClasses.Ticked, aria: { mode: 'pressed' }, toggleOnExecute: false })
].concat(bonusEvents.length > 0 ? [
// TODO: May have to pass through eventOrder if events start clashing
AddEventsBehaviour.config('toolbarToggleButtonWith', bonusEvents)
] : [ ]),
getApi: getToggleApi,
onSetup: spec.onSetup
},
providersBackstage
)
) as SketchSpec;
};
示例8:
const renderThrobber = (spec): AlloySpec => {
return {
uid: spec.uid,
dom: {
tag: 'div',
attributes: {
'aria-hidden': 'true'
},
classes: [ 'tox-throbber' ],
styles: {
display: 'none'
}
},
behaviours: Behaviour.derive([
Replacing.config({})
]),
components: [ ]
};
};
示例9: replaceCountText
export const renderWordCount = (editor: Editor, providersBackstage: UiFactoryBackstageProviders): SimpleSpec => {
const replaceCountText = (comp, count, mode) => Replacing.set(comp, [ GuiFactory.text(providersBackstage.translate(['{0} ' + mode, count[mode]])) ]);
return Button.sketch({
dom: {
// The tag for word count was changed to 'button' as Jaws does not read out spans.
// Word count is just a toggle and changes modes between words and characters.
tag: 'button',
classes: [ 'tox-statusbar__wordcount' ]
},
components: [ ],
buttonBehaviours: Behaviour.derive([
Tabstopping.config({ }),
Replacing.config({ }),
Representing.config({
store: {
mode: 'memory',
initialValue: {
mode: WordCountMode.Words,
count: { words: 0, characters: 0 }
}
}
}),
AddEventsBehaviour.config('wordcount-events', [
AlloyEvents.run(SystemEvents.tapOrClick(), (comp) => {
const currentVal = Representing.getValue(comp);
const newMode = currentVal.mode === WordCountMode.Words ? WordCountMode.Characters : WordCountMode.Words;
Representing.setValue(comp, { mode: newMode, count: currentVal.count });
replaceCountText(comp, currentVal.count, newMode);
}),
AlloyEvents.runOnAttached((comp) => {
editor.on('wordCountUpdate', (e) => {
const { mode } = Representing.getValue(comp);
Representing.setValue(comp, { mode, count: e.wordCount });
replaceCountText(comp, e.wordCount, mode);
});
})
])
]),
eventOrder: {
[SystemEvents.tapOrClick()]: [ 'wordcount-events', 'alloy.base.behaviour' ]
}
});
};
示例10: Cell
const renderCommonItem = <T>(spec: CommonMenuItemSpec<T>, structure: ItemStructure, itemResponse: ItemResponse): ItemTypes.ItemSpec => {
const editorOffCell = Cell(Fun.noop);
return {
type: 'item',
dom: structure.dom,
components: componentRenderPipeline(structure.optComponents),
data: spec.data,
eventOrder: menuItemEventOrder,
hasSubmenu: spec.triggersSubmenu,
itemBehaviours: Behaviour.derive(
[
AddEventsBehaviour.config('item-events', [
onMenuItemExecute(spec, itemResponse),
onControlAttached(spec, editorOffCell),
onControlDetached(spec, editorOffCell)
]),
DisablingConfigs.item(spec.disabled),
Replacing.config({ })
].concat(spec.itemBehaviours)
)
};
};