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


TypeScript withLatestFrom.withLatestFrom函数代码示例

本文整理汇总了TypeScript中rxjs/operators/withLatestFrom.withLatestFrom函数的典型用法代码示例。如果您正苦于以下问题:TypeScript withLatestFrom函数的具体用法?TypeScript withLatestFrom怎么用?TypeScript withLatestFrom使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。


在下文中一共展示了withLatestFrom函数的9个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的TypeScript代码示例。

示例1: withLatestFrom

 [Overlay.Info]: (xs: Observable<[LogNames, any]>, inputs: Inputs) => {
     return xs.pipe(
         withLatestFrom(
             inputs.option$,
             inputs.notifyElement$,
             inputs.document$
         ),
         /**
          * Reject all notifications if notify: false
          */
         filter(([, options]) => Boolean(options.notify)),
         /**
          * Set the HTML of the notify element
          */
         tap(([event, options, element, document]) => {
             element.innerHTML = event[0];
             element.style.display = "block";
             document.body.appendChild(element);
         }),
         /**
          * Now remove the element after the given timeout
          */
         switchMap(([event, options, element, document]) => {
             return timer(event[1] || 2000).pipe(
                 tap(() => {
                     element.style.display = "none";
                     if (element.parentNode) {
                         document.body.removeChild(element);
                     }
                 })
             );
         })
     );
 }
开发者ID:BrowserSync,项目名称:browser-sync,代码行数:34,代码来源:log.ts

示例2: 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

示例3: incomingBrowserReload

export function incomingBrowserReload(xs: Observable<any>, inputs: Inputs) {
    return xs.pipe(
        withLatestFrom(inputs.option$),
        filter(([event, options]) => options.codeSync),
        mergeMap(reloadBrowserSafe)
    );
}
开发者ID:BrowserSync,项目名称:browser-sync,代码行数:7,代码来源:BrowserReload.ts

示例4: switchMap

        switchMap(scroll => {
            if (!scroll) return empty();
            return fromEvent(document, "scroll", true).pipe(
                map((e: Event) => e.target),
                withLatestFrom(canSync$, elemMap$),
                filter(([, canSync]) => Boolean(canSync)),
                map(([target, canSync, elemMap]: [any, boolean, any[]]) => {
                    if (target === document) {
                        return ScrollEvent.outgoing(
                            getScrollPosition(window, document),
                            "document",
                            0
                        );
                    }

                    const elems = document.getElementsByTagName(target.tagName);
                    const index = Array.prototype.indexOf.call(
                        elems || [],
                        target
                    );

                    return ScrollEvent.outgoing(
                        getScrollPositionForElement(target),
                        target.tagName,
                        index,
                        elemMap.indexOf(target)
                    );
                })
            );
        })
开发者ID:BrowserSync,项目名称:browser-sync,代码行数:30,代码来源:scroll.listener.ts

示例5: 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

示例6: 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

示例7: incomingBrowserLocation

export function incomingBrowserLocation(
    xs: Observable<IncomingPayload>,
    inputs: Inputs
) {
    return xs.pipe(
        withLatestFrom(inputs.option$.pipe(pluck("ghostMode", "location"))),
        filter(([, canSyncLocation]) => canSyncLocation === true),
        map(([event]) => browserSetLocation(event))
    );
}
开发者ID:BrowserSync,项目名称:browser-sync,代码行数:10,代码来源:BrowserLocation.ts

示例8: 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

示例9: incomingInputsToggles

export function incomingInputsToggles(
    xs: Observable<IncomingPayload>,
    inputs: Inputs
) {
    return xs.pipe(
        withLatestFrom(
            inputs.option$.pipe(pluck("ghostMode", "forms", "toggles")),
            inputs.window$.pipe(pluck("location", "pathname"))
        ),
        filter(([, toggles]) => toggles === true),
        map(([event]) => setElementToggleValue(event))
    );
}
开发者ID:BrowserSync,项目名称:browser-sync,代码行数:13,代码来源:FormToggleEvent.ts


注:本文中的rxjs/operators/withLatestFrom.withLatestFrom函数示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。