Пример #1
0
      if (!route) {
        route = Routes.notfound;
      } else {
        const pattern = find(route.patterns, pattern => RoutePattern.fromString(pattern).matches(path));
        let paramsResult = RoutePattern.fromString(pattern).match(path);
        params = paramsResult ? paramsResult.params : [];
        namedParams = paramsResult ? paramsResult.namedParams : [];
      }
      applyRoute(route.id, namedParams, getHash(vurl), route.data.apply(null, params), route.statusCode);

      if (!ignoreUrl) {
        setUrl(urlString, replaceState);
      }
      if (!history) {
        window.scrollTo(0, 0);
      }
      switch(route.id) {
        case 'blog':
          Flux.setBlogCategoryTo(params[0] || 'all');
          break;
        case 'blog/search-results':
          Flux.setSearchQueryTo(params[0]);
          break;
        case 'events':
          Flux.setEventsStudioTo(params[0] || 'all');
          break;
      }
      Track('set', 'page', path);
      Track('send', 'pageview');
    },
 _handleScrollbar: function () {
   window.scrollTo(this.lockToScrollPos[0], this.lockToScrollPos[1]);
 },