当前位置: 首页>>代码示例>>TypeScript>>正文


TypeScript ignoreElements.ignoreElements函数代码示例

本文整理汇总了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;未经允许,请勿转载。