本文整理汇总了TypeScript中rxjs/operators/ignoreElements.ignoreElements函数的典型用法代码示例。如果您正苦于以下问题:TypeScript ignoreElements函数的具体用法?TypeScript ignoreElements怎么用?TypeScript ignoreElements使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。
在下文中一共展示了ignoreElements函数的8个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的TypeScript代码示例。
示例1: simulateClickEffect
export function simulateClickEffect(
xs: Observable<ClickEvent.IncomingPayload>,
inputs: Inputs
) {
return xs.pipe(
withLatestFrom(inputs.window$, inputs.document$),
tap(([event, window, document]) => {
const elems = document.getElementsByTagName(event.tagName);
const match = elems[event.index];
if (match) {
if (document.createEvent) {
window.setTimeout(function() {
const evObj = document.createEvent("MouseEvents");
evObj.initEvent("click", true, true);
match.dispatchEvent(evObj);
}, 0);
} else {
window.setTimeout(function() {
if ((document as any).createEventObject) {
const evObj = (document as any).createEventObject();
evObj.cancelBubble = true;
(match as any).fireEvent("on" + "click", evObj);
}
}, 0);
}
}
}),
ignoreElements()
);
}
开发者ID:BrowserSync,项目名称:browser-sync,代码行数:31,代码来源:simulate-click.effect.ts
示例2: setWindowNameDomEffect
export function setWindowNameDomEffect(xs: Observable<string>, inputs: Inputs) {
return xs.pipe(
withLatestFrom(inputs.window$),
tap(([value, window]) => (window.name = value)),
ignoreElements()
);
}
开发者ID:BrowserSync,项目名称:browser-sync,代码行数:7,代码来源:set-window-name.dom-effect.ts
示例3: setOptionsEffect
export function setOptionsEffect(
xs: Observable<IBrowserSyncOptions>,
inputs: Inputs
) {
return xs.pipe(
tap(options => inputs.option$.next(options)),
// map(() => consoleInfo('set options'))
ignoreElements()
);
}
开发者ID:BrowserSync,项目名称:browser-sync,代码行数:10,代码来源:set-options.effect.ts
示例4: setScrollDomEffect
export function setScrollDomEffect(
xs: Observable<SetScrollPayload>,
inputs: Inputs
) {
return xs.pipe(
withLatestFrom(inputs.window$),
tap(([event, window]) => window.scrollTo(event.x, event.y)),
ignoreElements()
);
}
开发者ID:BrowserSync,项目名称:browser-sync,代码行数:10,代码来源:set-scroll.dom-effect.ts
示例5: function
return function(xs, inputs) {
return xs.pipe(
withLatestFrom(
inputs.io$,
inputs.window$.pipe(pluck("location", "pathname"))
),
tap(([event, io, pathname]) =>
io.emit(name, { ...event, pathname })
),
ignoreElements()
);
};
开发者ID:BrowserSync,项目名称:browser-sync,代码行数:12,代码来源:socket-messages.ts
示例6: browserSetLocationEffect
export function browserSetLocationEffect(
xs: Observable<IncomingPayload>,
inputs: Inputs
) {
return xs.pipe(
withLatestFrom(inputs.window$),
tap(([event, window]) => {
if (event.path) {
return ((window.location as any) =
window.location.protocol +
"//" +
window.location.host +
event.path);
}
if (event.url) {
return ((window.location as any) = event.url);
}
}),
ignoreElements()
);
}
开发者ID:BrowserSync,项目名称:browser-sync,代码行数:21,代码来源:browser-set-location.effect.ts
示例7: setScrollEffect
//.........这里部分代码省略.........
})(tupleStream$);
/**
* Further split the element scroll between those matching in `scrollElementMapping`
* and regular element scrolls
*/
const [mapped$, nonMapped$] = partition(([event]: Tuple) => {
return event.mappingIndex > -1;
})(element$);
return merge(
/**
* Main window scroll
*/
document$.pipe(
tap((incoming: Tuple) => {
const [
event,
window,
document,
scrollProportionally
] = incoming;
const scrollSpace = getDocumentScrollSpace(document);
if (scrollProportionally) {
return window.scrollTo(
0,
scrollSpace.y * event.position.proportional
); // % of y axis of scroll to px
}
return window.scrollTo(0, event.position.raw.y);
})
),
/**
* Regular, non-mapped Element scrolls
*/
nonMapped$.pipe(
tap((incoming: Tuple) => {
const [
event,
window,
document,
scrollProportionally
] = incoming;
const matchingElements = document.getElementsByTagName(
event.tagName
);
if (matchingElements && matchingElements.length) {
const match = matchingElements[event.index];
if (match) {
return scrollElement(
match,
scrollProportionally,
event
);
}
}
})
),
/**
* Element scrolls given in 'scrollElementMapping'
*/
mapped$.pipe(
withLatestFrom(
inputs.option$.pipe(pluck("scrollElementMapping"))
),
/**
* Filter the elements in the option `scrollElementMapping` so
* that it does not contain the element that triggered the event
*/
map(([incoming, scrollElementMapping]: [Tuple, string[]]) => {
const [event] = incoming;
return [
incoming,
scrollElementMapping.filter(
(item, index) => index !== event.mappingIndex
)
];
}),
/**
* Now perform the scroll on all other matching elements
*/
tap(([incoming, scrollElementMapping]: [Tuple, string[]]) => {
const [
event,
window,
document,
scrollProportionally
] = incoming;
scrollElementMapping
.map(selector => document.querySelector(selector))
.forEach(element => {
scrollElement(element, scrollProportionally, event);
});
})
)
).pipe(ignoreElements());
}
}
开发者ID:BrowserSync,项目名称:browser-sync,代码行数:101,代码来源:set-scroll.ts
示例8: incomingDisconnect
export function incomingDisconnect(xs: Observable<any>) {
return xs.pipe(tap(x => console.log(x)), ignoreElements());
}
开发者ID:BrowserSync,项目名称:browser-sync,代码行数:3,代码来源:Disconnect.ts
注:本文中的rxjs/operators/ignoreElements.ignoreElements函数示例由纯净天空整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。 |
请发表评论