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


TypeScript StateConfigProvider.addRewriteRule方法代碼示例

本文整理匯總了TypeScript中core/navigation.StateConfigProvider.addRewriteRule方法的典型用法代碼示例。如果您正苦於以下問題:TypeScript StateConfigProvider.addRewriteRule方法的具體用法?TypeScript StateConfigProvider.addRewriteRule怎麽用?TypeScript StateConfigProvider.addRewriteRule使用的例子?那麽, 這裏精選的方法代碼示例或許可以為您提供幫助。您也可以進一步了解該方法所在core/navigation.StateConfigProvider的用法示例。


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

示例1: require


//.........這裏部分代碼省略.........
      },
    };

    const securityGroupSummary: INestedState = {
      url: `/firewalls?${stateConfigProvider.paramsToQuery(filterModelConfig)}`,
      name: 'firewalls',
      views: {
        nav: {
          template: '<security-group-filter app="$resolve.app"></security-group-filter>',
        },
        master: {
          templateUrl: require('../securityGroup/all.html'),
          controller: 'AllSecurityGroupsCtrl',
          controllerAs: 'ctrl',
        },
      },
      params: stateConfigProvider.buildDynamicParams(filterModelConfig),
      data: {
        pageTitleSection: {
          title: FirewallLabels.get('Firewalls'),
        },
      },
    };

    const standaloneFirewall: INestedState = {
      name: 'firewallDetails',
      url: '/firewallDetails/:provider/:accountId/:region/:vpcId/:name',
      params: {
        vpcId: {
          value: null,
          squash: true,
        },
      },
      views: {
        'main@': {
          templateUrl: require('../presentation/standalone.view.html'),
          controllerProvider: [
            '$stateParams',
            ($stateParams: StateParams) => {
              return SkinService.getValue(
                $stateParams.provider,
                $stateParams.accountId,
                'securityGroup.detailsController',
              );
            },
          ],
          controllerAs: 'ctrl',
        },
      },
      resolve: {
        resolvedSecurityGroup: [
          '$stateParams',
          ($stateParams: StateParams) => {
            return {
              name: $stateParams.name,
              accountId: $stateParams.accountId,
              provider: $stateParams.provider,
              region: $stateParams.region,
              vpcId: $stateParams.vpcId,
            };
          },
        ],
        app: [
          '$stateParams',
          'securityGroupReader',
          ($stateParams: StateParams, securityGroupReader: SecurityGroupReader): ng.IPromise<Application> => {
            // we need the application to have a firewall index (so rules get attached and linked properly)
            // and its name should just be the name of the firewall (so cloning works as expected)
            return securityGroupReader.loadSecurityGroups().then(securityGroupsIndex => {
              const application: Application = ApplicationModelBuilder.createStandaloneApplication($stateParams.name);
              application['securityGroupsIndex'] = securityGroupsIndex; // TODO: refactor the securityGroupsIndex out
              return application;
            });
          },
        ],
      },
      data: {
        pageTitleDetails: {
          title: `${FirewallLabels.get('Firewall')} Details`,
          nameParam: 'name',
          accountParam: 'accountId',
          regionParam: 'region',
        },
        history: {
          type: 'securityGroups',
        },
      },
    };

    applicationStateProvider.addInsightState(securityGroupSummary);
    applicationStateProvider.addInsightDetailState(firewallDetails);
    stateConfigProvider.addToRootState(standaloneFirewall);
    stateConfigProvider.addRewriteRule(
      '/applications/{application}/securityGroups',
      '/applications/{application}/firewalls',
    );
    stateConfigProvider.addRewriteRule(/(.+?)\/securityGroupDetails\/(.*)/, ($match: string[]) => {
      return `${$match[1]}/firewallDetails/${$match[2]}`;
    });
  },
開發者ID:emjburns,項目名稱:deck,代碼行數:101,代碼來源:securityGroup.states.ts


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