From 2cf2ef209d5d729946c4eee2a5a42e76fe2b4d28 Mon Sep 17 00:00:00 2001 From: Mike North Date: Thu, 5 Jul 2018 09:58:21 -0700 Subject: [PATCH] [ember] - Add missing Ember.Route#intermediateTransitionTo method (#27031) * Ember.Route#intermediateTransitionTo * add self as contributor --- types/ember/index.d.ts | 14 ++++++++++++++ types/ember/test/route.ts | 9 +++++++++ types/ember/test/router.ts | 5 +++++ 3 files changed, 28 insertions(+) diff --git a/types/ember/index.d.ts b/types/ember/index.d.ts index ae1bb68af7..a15987ae83 100755 --- a/types/ember/index.d.ts +++ b/types/ember/index.d.ts @@ -7,6 +7,7 @@ // Theron Cross // Martin Feckie // Alex LaFroscia +// Mike North // Definitions: https://github.com/DefinitelyTyped/DefinitelyTyped // TypeScript Version: 2.4 @@ -1990,6 +1991,19 @@ declare module 'ember' { */ transitionTo(name: string, ...object: any[]): Transition; + // https://emberjs.com/api/ember/3.2/classes/Route/methods/intermediateTransitionTo?anchor=intermediateTransitionTo + /** + * Perform a synchronous transition into another route without attempting to resolve promises, + * update the URL, or abort any currently active asynchronous transitions + * (i.e. regular transitions caused by transitionTo or URL changes). + * + * @param name the name of the route or a URL + * @param object the model(s) or identifier(s) to be used while + * transitioning to the route. + * @returns the Transition object associated with this attempted transition + */ + intermediateTransitionTo(name: string, ...object: any[]): Transition; + // properties /** * The controller associated with this route. diff --git a/types/ember/test/route.ts b/types/ember/test/route.ts index fad5bbc634..84e432dbd3 100755 --- a/types/ember/test/route.ts +++ b/types/ember/test/route.ts @@ -92,4 +92,13 @@ class RouteUsingClass extends Route.extend({ beforeModel(this: RouteUsingClass) { return 'beforeModel can return anything, not just promises'; } + intermediateTransitionWithoutModel() { + this.intermediateTransitionTo('some-route'); + } + intermediateTransitionWithModel() { + this.intermediateTransitionTo('some.other.route', { }); + } + intermediateTransitionWithMultiModel() { + this.intermediateTransitionTo('some.other.route', 1, 2, { }); + } } diff --git a/types/ember/test/router.ts b/types/ember/test/router.ts index c663083679..ff5f4c554f 100755 --- a/types/ember/test/router.ts +++ b/types/ember/test/router.ts @@ -34,6 +34,11 @@ const RouterServiceConsumer = Ember.Service.extend({ Ember.get(this, 'router') .transitionTo('some.other.route', model); }, + transitionWithMultiModel() { + const model = Ember.Object.create(); + Ember.get(this, 'router') + .transitionTo('some.other.route', model, model); + }, transitionWithModelAndOptions() { const model = Ember.Object.create(); Ember.get(this, 'router')