本文整理匯總了TypeScript中@ephox/alloy.SketchSpec類的典型用法代碼示例。如果您正苦於以下問題:TypeScript SketchSpec類的具體用法?TypeScript SketchSpec怎麽用?TypeScript SketchSpec使用的例子?那麽, 這裏精選的類代碼示例或許可以為您提供幫助。
在下文中一共展示了SketchSpec類的5個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的TypeScript代碼示例。
示例1: renderButton
export const renderDialogButton = (spec: ButtonFoo, providersBackstage: UiFactoryBackstageProviders): SketchSpec => {
const action = getAction(spec.name, 'custom');
return renderButton(spec, action, providersBackstage, [
RepresentingConfigs.memory(''),
ComposingConfigs.self()
]);
};
示例2: renderCommon
export const renderButton = (spec: ButtonFoo, action, providersBackstage: UiFactoryBackstageProviders, extraBehaviours = []): SketchSpec => {
const translatedText = providersBackstage.translate(spec.text);
const icon = spec.icon ? spec.icon.map((iconName) => renderIconFromPack(iconName, providersBackstage.icons)) : Option.none();
const components = icon.isSome() ? componentRenderPipeline([ icon ]) : [];
const innerHtml = icon.isSome() ? {} : {
innerHtml: translatedText
};
const classes = [
...spec.primary ? ['tox-button'] : ['tox-button', 'tox-button--secondary'],
...icon.isSome() ? ['tox-button--icon'] : []
];
const dom = {
tag: 'button',
classes,
...innerHtml,
attributes: {
title: translatedText // TODO: tooltips AP-213
}
};
return renderCommon(spec, action, extraBehaviours, dom, components);
};
示例3: makeGroup
const renderComponents = (_data, state) => {
// default group is 'end'
const footerButtons = state.map((s) => s.footerButtons).getOr([ ]);
const buttonGroups = Arr.partition(footerButtons, (button) => button.align === 'start');
const makeGroup = (edge, buttons): SketchSpec => Container.sketch({
dom: {
tag: 'div',
classes: [ `tox-dialog__footer-${edge}` ]
},
components: Arr.map(buttons, (button) => button.memento.asSpec())
});
const startButtons = makeGroup('start', buttonGroups.pass);
const endButtons = makeGroup('end', buttonGroups.fail);
return [ startButtons, endButtons ];
};
示例4: renderFormFieldWith
const renderFormField = (pLabel: Option<AlloySpec>, pField: AlloySpec): SketchSpec => {
return renderFormFieldWith(pLabel, pField, [ ]);
};
示例5: setButtonEnabled
const renderSideBar = (providersBackstage: UiFactoryBackstageProviders) => {
const updateButtonUndoStates = (anyInSystem: AlloyComponent, undoEnabled: boolean, redoEnabled: boolean): void => {
memUndo.getOpt(anyInSystem).each((undo) => {
setButtonEnabled(undo, undoEnabled);
});
memRedo.getOpt(anyInSystem).each((redo) => {
setButtonEnabled(redo, redoEnabled);
});
};
const memUndo = Memento.record(
createButton('Undo', 'undo', true, (button) => {
AlloyTriggers.emitWith(button, ImageToolsEvents.internal.undo(), {
direction: 1
});
}, providersBackstage)
);
const memRedo = Memento.record(
createButton('Redo', 'redo', true, (button) => {
AlloyTriggers.emitWith(button, ImageToolsEvents.internal.redo(), {
direction: 1
});
}, providersBackstage)
);
const container = Container.sketch({
dom: {
tag: 'div',
classes: [ 'tox-image-tools__toolbar', 'tox-image-tools__sidebar']
},
components: [
memUndo.asSpec(),
memRedo.asSpec(),
createButton('Zoom in', 'zoom-in', false, (button) => {
AlloyTriggers.emitWith(button, ImageToolsEvents.internal.zoom(), {
direction: 1
});
}, providersBackstage),
createButton('Zoom out', 'zoom-out', false, (button) => {
AlloyTriggers.emitWith(button, ImageToolsEvents.internal.zoom(), {
direction: -1
});
}, providersBackstage)
]
});
return {
container,
updateButtonUndoStates
};
};