本文整理汇总了TypeScript中maquette/maquette.h函数的典型用法代码示例。如果您正苦于以下问题:TypeScript h函数的具体用法?TypeScript h怎么用?TypeScript h使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。
在下文中一共展示了h函数的8个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的TypeScript代码示例。
示例1: getTabChildVNode
function getTabChildVNode(tab: TabbedChild): (VNode | string)[] {
const tabListeners = getTabListeners(tabbed, tab);
return [
h('div.tab-label', { onclick: tabListeners.onclickTabListener }, [ tab.state.label ]),
/* TODO: only show the close when the tab state is closable */
h('div.tab-close', { onclick: tabListeners.onclickTabCloseListener }, [ 'X' ])
];
}
开发者ID:benpope82,项目名称:widgets,代码行数:8,代码来源:createTabbedMixin.ts
示例2: getTabChildVNode
function getTabChildVNode(tab: TabbedChild): (VNode | string)[] {
const tabListeners = getTabListeners(tabbed, tab);
const nodes = [ h('div.tab-label', { onclick: tabListeners.onclickTabListener }, [ tab.state.label ]) ];
if (tab.state.closeable) {
nodes.push(h('div.tab-close', { onclick: tabListeners.onclickTabCloseListener }, [ 'X' ]));
}
return nodes;
}
开发者ID:danice,项目名称:widgets,代码行数:8,代码来源:createTabbedMixin.ts
示例3: h
h('div.tab-close', { onclick: tabListeners.onclickTabCloseListener }, [ 'X' ])
];
}
/* We need to generate a set of VDom the represents the buttons */
/* TODO: Allow the location of the tab bar to be set (top/left/bottom/right) */
const tabs: VNode[] = [];
const childrenNodes: VNode[] = [];
tabbed.children.forEach((tab, key) => {
if (tab === activeTab) {
const activeTabVNode = tab.render();
activeTabVNode.properties.classes['visible'] = true;
childrenNodes.push(activeTabVNode);
tabs.push(h(tabbed.tagNames.tab + '.active', { key: tab }, getTabChildVNode(tab)));
}
else {
/* TODO: Having trouble changing the classes on the subnodes, so once visible always visible,
* The only choice was to just omit non visible nodes from the VDom, though I am not sure
* this makes a lot of sense, because with a big render, it is a lot of DOM to add and remove
*/
tabs.push(h(tabbed.tagNames.tab, { key: tab }, getTabChildVNode(tab)));
}
});
return [ h(tabbed.tagNames.tabBar, tabs), ...childrenNodes ];
}
}
}) as TabbedMixinFactory;
export default createTabbedMixin;
开发者ID:benpope82,项目名称:widgets,代码行数:30,代码来源:createTabbedMixin.ts
示例4: destroy
Attached = 1,
Detached
};
interface ProjectorData {
projector?: MaquetteProjector;
root?: Element;
state?: ProjectorState;
attachHandle?: Handle;
boundRender?: () => VNode;
}
const projectorDataMap = new WeakMap<Projector, ProjectorData>();
const noopHandle = { destroy() { } };
const emptyVNode = h('div');
const noopVNode = function(): VNode { return emptyVNode; };
export const createProjector: ProjectorFactory = compose<any, ProjectorOptions>({
getNodeAttributes(overrides?: VNodeProperties): VNodeProperties {
/* TODO: This is the same logic as createCachedRenderMixin, merge somehow */
const projector: Projector = this;
const props: VNodeProperties = {};
for (let key in projector.listeners) {
props[key] = projector.listeners[key];
}
const classes: { [index: string]: boolean; } = {};
if (projector.classes) {
projector.classes.forEach((c) => classes[c] = true);
}
props.classes = classes;
开发者ID:kitsonk,项目名称:widgets,代码行数:31,代码来源:projector.ts
示例5: h
h('div.tab-close', { onclick: tabListeners.onclickTabCloseListener }, [ 'X' ])
];
}
/* We need to generate a set of VDom the represents the buttons */
/* TODO: Allow the location of the tab bar to be set (top/left/bottom/right) */
const tabs: VNode[] = [];
const childrenNodes: VNode[] = [];
tabbed.children.forEach((tab, key) => {
if (tab === activeTab) {
const activeTabVNode = tab.render();
activeTabVNode.properties.classes['visible'] = true;
childrenNodes.push(activeTabVNode);
tabs.push(h(tabbed.tagNames.tab + '.active', { key: tab }, getTabChildVNode(tab)));
}
else {
/* TODO: Having trouble changing the classes on the subnodes, so once visible always visible,
* The only choice was to just omit non visible nodes from the VDom, though I am not sure
* this makes a lot of sense, because with a big render, it is a lot of DOM to add and remove
*/
tabs.push(h(tabbed.tagNames.tab, { key: tab }, getTabChildVNode(tab)));
}
});
return [ h(tabbed.tagNames.tabBar, tabs) ].concat(childrenNodes);
}
}
});
export default createTabbedMixin;
开发者ID:kitsonk,项目名称:widgets,代码行数:30,代码来源:createTabbedMixin.ts
示例6: render
function render(): VNode {
return h('dojo-panel-tabbed', {
id: 'tabbed-panel'
}, [
h('ul', {}, [
h('li', { classes: { active: false }, key: panel1 }, [ h('div.tab-label', [ 'tab 1' ]), h('div.tab-close', [ 'X' ]) ]),
h('li', { classes: { active: closed }, key: panel2 }, [ h('div.tab-label', [ 'tab 2' ]), h('div.tab-close', [ 'X' ]) ]),
h('li', { classes: { active: false }, key: panel3 }, [ h('div.tab-label', [ 'tab 3' ]), h('div.tab-close', [ 'X' ]) ]),
closed
? undefined
: h('li', { classes: { active: !closed }, key: panel4 }, [ h('div.tab-label', [ 'tab 4' ]), h('div.tab-close', [ 'X' ]) ])
]),
h('div.panels', [
undefined,
closed
? h('dojo-panel', { classes: { visible: true }, key: panel2 }, [ h('div#bar', [ 'tab 2' ]) ])
: undefined,
undefined,
closed
? undefined
: h('dojo-panel', { classes: { visible: true }, key: panel4 }, [ h('div#bar', [ 'tab 4' ]) ])
])
]);
}
开发者ID:novemberborn,项目名称:widgets,代码行数:24,代码来源:scratch.ts
示例7: isRenderable
parent?: ParentMixin<Renderable>;
}
export type Renderable = Destroyable & RenderableMixin;
export interface RenderableFactory extends ComposeFactory<Renderable, RenderableOptions> { }
export function isRenderable(value: any): value is Renderable {
return value && typeof value.render === 'function';
}
const createRenderable: RenderableFactory = compose<RenderableMixin, RenderableOptions>({
render() {
const renderable: Renderable = this;
return h(renderable.tagName);
},
tagName: 'div'
}, (instance, options) => {
if (options) {
const { tagName, render, parent } = options;
instance.tagName = tagName || instance.tagName;
instance.render = render || instance.render;
if (parent) {
parent.append(instance);
}
}
})
.mixin(createDestroyable);
开发者ID:novemberborn,项目名称:widgets,代码行数:29,代码来源:createRenderable.ts
示例8: h
renderable.render = () => {
return h('h1', [ 'Greetings' ]);
};
开发者ID:novemberborn,项目名称:widgets,代码行数:3,代码来源:createRenderable.ts
注:本文中的maquette/maquette.h函数示例由纯净天空整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。 |
请发表评论