ember-engines-router-service
TypeScript icon, indicating that this package has built-in type declarations

0.5.1 • Public • Published

ember-engines-router-service

npm version Build Status

This addon provides an API for authoring a Router service used in ember-engines.

Compatibility


  • Ember.js v3.12 or above
  • Ember CLI v3.24 or above
  • Node.js v14 or above

Installation


ember install ember-engines-router-service

Usage

Basically you have the full RouterService API inside each engine. That means you can use APIs such as transitionTo and isActive, plus the new "external routing" APIs such as transitionToExternal and isActiveExternal which help link externalRoutes together.


import Component from '@glimmer/component';
import { inject as service } from '@ember/service';
import { action } from "@ember/object";

export default class SomeComponent extends Component {
  @service router;

  @action
  transitionToHome() {
    this.router.transitionToExternal('other.route');
  }

  @action
  transitionToAdmin() {
    this.router.transitionTo('admin.route');
  }

  @action
  redirectToHome() {
    this.router.replaceWithExternal('other.route');
  }

  @action
  redirectToLogin() {
    this.router.replaceWith('login.route');
  }
}

For further documentation on this subject, view the Engine Linking RFC.

TypeScript


The library ships types for TypeScript usage:

import Service, { inject as service } from '@ember/service';
import type EnginesRouterService from 'ember-engines-router-service/services/router';

type Transition = ReturnType<EnginesRouterService['transitionTo']> & { sequence: number };

export default class MyService extends Service {
  @service declare router: EnginesRouterService;

  doSomeTranstion (): void {
    const transition = this.router.transitionToExternal('someRouter');
    transition.data.someKey = 'someValue';
  }
}

Contributing


See the Contributing guide for details.

License


This project is licensed under the MIT License.

Readme

Keywords

Package Sidebar

Install

npm i ember-engines-router-service

Weekly Downloads

1,765

Version

0.5.1

License

MIT

Unpacked Size

30.4 kB

Total Files

17

Last publish

Collaborators

  • villander