本文整理汇总了TypeScript中@ephox/alloy.AlloyComponent.element方法的典型用法代码示例。如果您正苦于以下问题:TypeScript AlloyComponent.element方法的具体用法?TypeScript AlloyComponent.element怎么用?TypeScript AlloyComponent.element使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类@ephox/alloy.AlloyComponent
的用法示例。
在下文中一共展示了AlloyComponent.element方法的7个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的TypeScript代码示例。
示例1:
setActive: (state) => {
// Toggle the pressed aria state component
Attr.set(comp.element(), 'aria-pressed', state);
// Toggle the inner button state, as that's the toggle component of the split button
SelectorFind.descendant(comp.element(), 'span').each((button) => {
comp.getSystem().getByDom(button).each((buttonComp) => Toggling.set(buttonComp, state));
});
},
示例2:
const getButton = (selector: string) => {
return component.getSystem().getByDom(
SelectorFind.descendant(component.element(), selector).getOrDie(
`Could not find button defined by: ${selector}`
)
).getOrDie();
};
示例3: encodeURIComponent
setValue: (frameComponent: AlloyComponent, html: string) => {
if (!isSandbox) {
Attr.set(frameComponent.element(), 'src', 'javascript:\'\'');
// IE 6-11 doesn't support data uris on iframeComponents
// and Edge only supports upto ~4000 chars in data uris
// so I guess they will have to be less secure since we can't sandbox on those
// TODO: Use sandbox if future versions of IE/Edge supports iframeComponents with data: uris.
const doc = frameComponent.element().dom().contentWindow.document;
doc.open();
doc.write(html);
doc.close();
} else {
Attr.set(frameComponent.element(), 'src', 'data:text/html;charset=utf-8,' + encodeURIComponent(html));
}
cachedValue.set(html);
}
示例4: getButton
(() => {
const button2 = getButton('.button2-container .tox-tbtn');
return Logger.ts('Second button (button2): toggle button', [
Step.sync(() => {
shouldDisable.set(false);
shouldActivate.set(false);
}),
Mouse.sClickOn(component.element(), '.button2-container .tox-tbtn'),
store.sAssertEq('Store should have action2', [ 'onToggleAction.2' ]),
store.sClear,
sAssertButtonDisabledState('Enabled', false, button2),
sAssertButtonActiveState('Off', false, button2),
Step.sync(() => {
shouldActivate.set(true);
}),
Mouse.sClickOn(component.element(), '.button2-container .tox-tbtn'),
store.sAssertEq('Store should have action2', [ 'onToggleAction.2' ]),
store.sClear,
sAssertButtonDisabledState('Disabled', false, button2),
sAssertButtonActiveState('Off', true, button2),
Step.sync(() => {
shouldActivate.set(false);
}),
Mouse.sClickOn(component.element(), '.button2-container .tox-tbtn'),
store.sAssertEq('Store should have action2', [ 'onToggleAction.2' ]),
store.sClear,
sAssertButtonDisabledState('Disabled', false, button2),
sAssertButtonActiveState('Off', false, button2),
Step.sync(() => {
shouldDisable.set(true);
}),
Mouse.sClickOn(component.element(), '.button2-container .tox-tbtn'),
store.sAssertEq('Store should now have action2', [ 'onToggleAction.2' ]),
store.sClear,
sAssertButtonDisabledState('Disabled', true, button2),
sAssertButtonActiveState('Off still', false, button2)
]);
})(),
示例5: renderSpinner
const toggleThrobber = (comp: AlloyComponent, state: boolean, providerBackstage: UiFactoryBackstageProviders) => {
const element = comp.element();
if (state === true) {
Replacing.set(comp, [ renderSpinner(providerBackstage) ]);
Css.remove(element, 'display');
Attr.remove(element, 'aria-hidden');
} else {
Replacing.set(comp, [ ]);
Css.set(element, 'display', 'none');
Attr.set(element, 'aria-hidden', 'true');
}
};
示例6: deriveToggling
const component = (spec, component: AlloyComponent) => {
// TODO: TS narrowing this method can return many type interfaces depending on the original config
const togglingConf = deriveToggling(spec, component);
const representingConf = deriveRepresenting(spec, component);
const replaceingConf = deriveReplacing(spec, component);
const defaults = {
// Expose more as required
element: component.element().dom(),
isDisabled: () => Disabling.isDisabled(component),
setDisabled: (state: boolean) => Disabling.set(component, state)
};
return Merger.merge(defaults, togglingConf, representingConf, replaceingConf);
};
示例7:
const detectSize = (comp: AlloyComponent, margin: number, selectorClass: string): Option<{ numColumns: number, numRows: number}> => {
const descendants = SelectorFilter.descendants(comp.element(), '.' + selectorClass);
// TODO: This seems to cause performance issues in the emoji dialog
if (descendants.length > 0) {
const columnLength = Arr.findIndex(descendants, (c) => {
const thisTop = c.dom().getBoundingClientRect().top;
const cTop = descendants[0].dom().getBoundingClientRect().top;
return Math.abs(thisTop - cTop) > margin;
}).getOr(descendants.length);
return Option.some({
numColumns: columnLength,
numRows: Math.ceil(descendants.length / columnLength)
});
} else {
return Option.none();
}
};