本文整理匯總了TypeScript中@ephox/alloy.TabSection.parts方法的典型用法代碼示例。如果您正苦於以下問題:TypeScript TabSection.parts方法的具體用法?TypeScript TabSection.parts怎麽用?TypeScript TabSection.parts使用的例子?那麽, 這裏精選的方法代碼示例或許可以為您提供幫助。您也可以進一步了解該方法所在類@ephox/alloy.TabSection
的用法示例。
在下文中一共展示了TabSection.parts方法的1個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的TypeScript代碼示例。
示例1: toValidValues
export const renderTabPanel = <I>(spec: TabPanelFoo<I>, backstage: UiFactoryBackstage): SketchSpec => {
const storedValue = Cell<TabData>({ });
const updateDataWithForm = (form: AlloyComponent): void => {
const formData = Representing.getValue(form);
const validData = toValidValues(formData).getOr({ });
const currentData = storedValue.get();
const newData = Merger.deepMerge(currentData, validData);
storedValue.set(newData);
};
const setDataOnForm = (form: AlloyComponent) => {
const tabData = storedValue.get();
Representing.setValue(form, tabData);
};
const oldTab = Cell(null);
const allTabs = Arr.map(spec.tabs, function (tab) {
return {
value: tab.title,
dom: {
tag: 'div',
classes: [ 'tox-dialog__body-nav-item' ],
innerHtml: backstage.shared.providers.translate(tab.title)
},
view () {
return [
// Dupe with SilverDialog
AlloyForm.sketch((parts) => {
return {
dom: {
tag: 'div',
classes: [ 'tox-form' ]
},
components: Arr.map(tab.items, (item) => interpretInForm(parts, item, backstage)),
formBehaviours: Behaviour.derive([
Keying.config({
mode: 'acyclic',
useTabstopAt: Fun.not(NavigableObject.isPseudoStop)
}),
AddEventsBehaviour.config('TabView.form.events', [
AlloyEvents.runOnAttached(setDataOnForm),
AlloyEvents.runOnDetached(updateDataWithForm)
]),
Receiving.config({
channels: Objects.wrapAll([
{
key: SendDataToSectionChannel,
value: {
onReceive: updateDataWithForm
}
},
{
key: SendDataToViewChannel,
value: {
onReceive: setDataOnForm
}
}
])
})
])
};
})
];
}
};
});
// Assign fixed height or variable height to the tabs
const tabMode = setMode(allTabs).smartTabHeight;
return AlloyTabSection.sketch({
dom: {
tag: 'div',
classes: [ 'tox-dialog__body' ]
},
onChangeTab: (section, button, _viewItems) => {
const title = Representing.getValue(button);
AlloyTriggers.emitWith(section, formTabChangeEvent, {
title,
oldTitle: oldTab.get()
});
oldTab.set(title);
},
tabs: allTabs,
components: [
AlloyTabSection.parts().tabbar({
dom: {
tag: 'div',
classes: [ 'tox-dialog__body-nav' ]
},
components: [
AlloyTabbar.parts().tabs({ })
],
markers: {
//.........這裏部分代碼省略.........