本文整理匯總了TypeScript中dojo-widgets/createWidget.mixin函數的典型用法代碼示例。如果您正苦於以下問題:TypeScript mixin函數的具體用法?TypeScript mixin怎麽用?TypeScript mixin使用的例子?那麽, 這裏精選的函數代碼示例或許可以為您提供幫助。
在下文中一共展示了mixin函數的4個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的TypeScript代碼示例。
示例1: getXInset
*/
getXInset(): number;
/**
* How many pixels from the top, within the <svg> root, the chart sthould be rendered.
*/
getYInset(): number;
getChildrenNodes(): VNode[];
}
export type Chart<S extends ChartState> = Widget<S> & SvgRoot<S> & ChartMixin;
export type ChartFactory = ComposeFactory<Chart<ChartState>, ChartOptions<ChartState>>;
const createChart: ChartFactory = createWidget
.mixin(createSvgRootMixin)
.extend({
getXInset(this: Chart<ChartState>) {
const { xInset = this.xInset || 0 } = this.state;
return xInset;
},
getYInset(this: Chart<ChartState>) {
const { xInset = this.yInset || 0 } = this.state;
return xInset;
},
getChildrenNodes(): VNode[] {
// Subclasses must override.
return [];
}
示例2: h
export interface DgridFactory extends ComposeFactory<Dgrid, DgridOptions> { }
const createDgrid: DgridFactory = createWidget
.mixin({
mixin: {
getChildrenNodes(): VNode[] {
console.log('getChildrenNodes');
const dgrid: Dgrid = this;
let domNode = dgrid.state.domNode;
if (!domNode) {
console.log('creating domNode');
const domNode = document.createElement('span');
domNode.innerHTML = 'Static Content';
dgrid.setState({
domNode: domNode
});
dgrid.state.vnode = h('div', {
afterCreate: (domNode) => {
console.log('afterCreate');
domNode.appendChild(dgrid.state.domNode);
}
});
}
return [ dgrid.state.vnode ];
}
}
});
export default createDgrid;
示例3: getNodeAttributes
const createCheckboxInput: CheckboxInputFactory = createWidget
.mixin({
mixin: createFormFieldMixin,
aspectAdvice: {
before: {
getNodeAttributes(overrides: VNodeProperties = {}) {
const formfield: FormFieldMixin<any, FormFieldMixinState<any>> & {
state: any;
} = this;
if (formfield.state.checked !== undefined) {
overrides.checked = formfield.state.checked;
}
// this is a hack, it should go into the formfield mixin
if (formfield.state.placeholder !== undefined) {
overrides.placeholder = formfield.state.placeholder;
}
return [overrides];
}
}
},
initialize(instance) {
instance.own(instance.on('input', (event: TypedTargetEvent<HTMLInputElement>) => {
instance.value = event.target.value;
}));
}
})
.extend({
示例4:
const createTodoFilter = createWidget
.mixin({
mixin: {
getChildrenNodes(): VNode[] {
const todoFilter: TodoFilter = this;
const filter = todoFilter.state.activeFilter;
return [
h('li', {}, [
h('a', {
innerHTML: 'All',
href: '#all',
classes: {
selected: filter === 'all'
}
})
]),
h('li', {}, [
h('a', {
innerHTML: 'Active',
href: '#active',
classes: {
selected: filter === 'active'
}
})
]),
h('li', {}, [
h('a', {
innerHTML: 'Completed',
href: '#completed',
classes: {
selected: filter === 'completed'
}
})
])
];
}
}
})