當前位置: 首頁>>代碼示例>>TypeScript>>正文


TypeScript redux-package.ReduxPackageCombiner類代碼示例

本文整理匯總了TypeScript中redux-package.ReduxPackageCombiner的典型用法代碼示例。如果您正苦於以下問題:TypeScript ReduxPackageCombiner類的具體用法?TypeScript ReduxPackageCombiner怎麽用?TypeScript ReduxPackageCombiner使用的例子?那麽, 這裏精選的類代碼示例或許可以為您提供幫助。


在下文中一共展示了ReduxPackageCombiner類的8個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的TypeScript代碼示例。

示例1: watchForAutoLogin

  watchForAutoLogin(): Observable<ILoginActionPayload> {
    const isAuto = (loginState: ILoginState): boolean => {
      if (loginState)
        return loginState.userId === null;
      return false;
    };

    let lastLoginState = null;
    ReduxPackageCombiner
      .select(LOGIN_PACKAGE_NAME)
      .subscribe((loginState: ILoginState) => {
        lastLoginState = loginState;
      });

    let subject = new Subject();

    this.firebase.auth().onAuthStateChanged((fbuser) => {
      console.log('Log in dectected  - autologin checker');
      const user = transformUser(fbuser);
      console.log(user);
      if (user) {
        checkUserProfile(this.firebase.database(), user);
        subject.next(LoginActions.loginSuccessFactory(
          user,
          user._id,
          isAuto(lastLoginState)
        ));
      }
    });
    return subject;
  }
開發者ID:kokokenada,項目名稱:for-real-cards,代碼行數:31,代碼來源:login-service-firebase.ts

示例2: beforeEach

    beforeEach(() => {
      let featureToggleModule: FeatureTogglePackage = new FeatureTogglePackage();
      ReduxPackageCombiner.reset();
      ReduxPackageCombiner.configure([featureToggleModule], null);
      toggleRouter = new ToggleRouter(ReduxPackageCombiner.getDispatcher());

      const configs = {
        'cta': {setting: 'contact'}
      };
      FeatureToggleActions.initialize(configs);

      toggleSetting$ = toggleRouter.watch('cta');
      toggleSetting$.subscribe((newValue) => {
        watched(newValue);
      });

      toggleRouter.setFeatureState({cta: 'value'});

    });
開發者ID:kokokenada,項目名稱:common-app,代碼行數:19,代碼來源:feature-toggle-router.spec.ts

示例3: ngOnInit

 ngOnInit() {
     // Check for deep link
     let pathname:string[] = window.location.pathname.split('/');
     if (pathname.length>=3) {
       let subUrl:string = pathname[1];
       let gameId:string = pathname[2];
       if (subUrl === 'game-hand' || subUrl ==='game-table') {
         if (LoginPackage.lastLoginState.loggedIn)
           GameStartActions.loadGameRequest(gameId, '');
         else {
           const subscription = ReduxPackageCombiner.select(LOGIN_PACKAGE_NAME).subscribe( (loginState: ILoginState) => {
             if (loginState.loggedIn) {
               GameStartActions.loadGameRequest(gameId, '');
               subscription.unsubscribe();
             }
           } );
         }
       }
     }
 }
開發者ID:kokokenada,項目名稱:for-real-cards,代碼行數:20,代碼來源:top-frame.twbs.ts

示例4: watchForAutoLogin

  watchForAutoLogin(): Observable<ILoginActionPayload> {
    const isAuto = ( loginState: ILoginState ): boolean => {
      if (loginState)
        return loginState.userId === null;
      return false;
    };

    let meteorUser = Meteor.user();
    let lastLoginState = null;
    ReduxPackageCombiner
      .select(LOGIN_PACKAGE_NAME)
      .subscribe((loginState: ILoginState) => {
        lastLoginState = loginState;
      });
    if (meteorUser) {
      return Observable.of(LoginActions.loginSuccessFactory(
        this.userFromMeteorUser(meteorUser),
        meteorUser._id,
        isAuto(lastLoginState)
      ));
    }

    let subject = new Subject();
    let timer = Observable.timer(500, 1000);
    let subscription = timer.subscribe(() => {
      let meteorUser = Meteor.user();
      if (meteorUser) {
        subject.next( LoginActions.loginSuccessFactory(
          this.userFromMeteorUser(meteorUser),
          meteorUser._id,
          isAuto(lastLoginState)
        ));
        subject.complete();
        subscription.unsubscribe();
      }
    });
    return subject;
  };
開發者ID:kokokenada,項目名稱:for-real-cards,代碼行數:38,代碼來源:login-service-meteor.ts

示例5: configure

  configure(middleware) {

    let connectService: IConnectService;
    let loginService: ILoginService;
    let usersService: IUsersService;
    let uploaderService: IUploaderService;
    let startGameService: IGameStartService;
    let gamePlayServiceMeteor: IGamePlayService;

    if (featureToggleConfigs[FEATURE_TOGGLE_USE_FIREBASE].setting) {
      const firebaseApp = firebase.initializeApp(firebaseConfig);
      connectService = new ConnectServiceFirebase(firebaseApp);
      loginService = new LoginServiceFirebase(firebaseApp);
      usersService = new UsersServiceFirebase(firebaseApp);
      startGameService = new GamePlayStartFirebase(firebaseApp);
      gamePlayServiceMeteor = new GamePlayServiceFirebase(firebaseApp);
      uploaderService = new UploaderServiceFirebase(firebaseApp);

      uploaderCollections['avatar'] = {name: 'avatar', reference: 'avatar'};
      let avatar = new AvatarModel(firebaseApp);
      middleware.push(avatar.watchForAvatarUploadMiddleWare);

      let staticResources = new StaticResources(Meteor.absoluteUrl); // until dev environment moves

    } else {
      connectService = new ConnectServiceMeteor();
      loginService = new LoginServiceMeteor();
      usersService = new UsersServiceMeteor();
      startGameService = new GamePlayStartMeteor();
      gamePlayServiceMeteor = new GamePlayServiceMeteor();
      uploaderService = new UploaderServiceMeteor();

      uploaderCollections['avatar'] = {name: 'avatar', reference: AvatarOriginalStore};

      let staticResources = new StaticResources(Meteor.absoluteUrl);
    }
    const gameStartPackage = new GameStartPackage(startGameService);
    const gamePlayPackage = new GamePlayPackage(gamePlayServiceMeteor);
    const connectModule = new ConnectPackage(connectService);
    const loginModule = new LoginPackage(loginService);
    const featureTogglePackage = new FeatureTogglePackage();
    const uploaderPackage = new UploaderPackage(uploaderService);

    middleware.push(getAnalyticsMiddleware());
    let options : ICombinerOptions = {
      consoleLogging: featureToggleConfigs['redux-console-logging'].setting,
      otherMiddlewares: middleware
    };

    ReduxPackageCombiner.configure([
      connectModule,
      loginModule,
      new ModalModule(),
      this.accountsAdminModule,
      featureTogglePackage,
      gameStartPackage,
      gamePlayPackage,
      uploaderPackage,
      new UsersPackage(usersService)],
      this.ngRedux,
      options
    );
    FeatureToggleActions.initialize(featureToggleConfigs);
  }
開發者ID:kokokenada,項目名稱:for-real-cards,代碼行數:64,代碼來源:redux-modules.ts

示例6: beforeEach

 beforeEach(() => {
   ReduxPackageCombiner.setMockDispatch(watched);
 });
開發者ID:kokokenada,項目名稱:common-app,代碼行數:3,代碼來源:login-actions.spec.ts

示例7: watchForAutoLogin

 static watchForAutoLogin() : void {
   ReduxPackageCombiner.dispatch({type: LoginActionsStrings.WATCH_USER_AUTO_LOGIN});
 }
開發者ID:kokokenada,項目名稱:common-app,代碼行數:3,代碼來源:login-actions-private.ts

示例8: watchCurrentUser

 static watchCurrentUser() : void {
   ReduxPackageCombiner.dispatch({type: LoginActionsStrings.WATCH_CURRENT_USER});
 }
開發者ID:kokokenada,項目名稱:common-app,代碼行數:3,代碼來源:login-actions-private.ts


注:本文中的redux-package.ReduxPackageCombiner類示例由純淨天空整理自Github/MSDocs等開源代碼及文檔管理平台,相關代碼片段篩選自各路編程大神貢獻的開源項目,源碼版權歸原作者所有,傳播和使用請參考對應項目的License;未經允許,請勿轉載。