Skip to content

Commit

Permalink
fix(router-link): add missing target prop (#18659)
Browse files Browse the repository at this point in the history
references #18655
  • Loading branch information
brandyscarney committed Jul 1, 2019
1 parent 36a58df commit 1f51ab2
Show file tree
Hide file tree
Showing 5 changed files with 20 additions and 2 deletions.
1 change: 1 addition & 0 deletions core/api.txt
Original file line number Diff line number Diff line change
Expand Up @@ -930,6 +930,7 @@ ion-router-link,prop,color,string | undefined,undefined,false,false
ion-router-link,prop,href,string | undefined,undefined,false,false
ion-router-link,prop,rel,string | undefined,undefined,false,false
ion-router-link,prop,routerDirection,"back" | "forward" | "root",'forward',false,false
ion-router-link,prop,target,string | undefined,undefined,false,false
ion-router-link,css-prop,--background
ion-router-link,css-prop,--color

Expand Down
8 changes: 8 additions & 0 deletions core/src/components.d.ts
Original file line number Diff line number Diff line change
Expand Up @@ -2016,6 +2016,10 @@ export namespace Components {
* When using a router, it specifies the transition direction when navigating to another page using `href`.
*/
'routerDirection': RouterDirection;
/**
* Specifies where to display the linked URL. Only applies when an `href` is provided. Special keywords: `"_blank"`, `"_self"`, `"_parent"`, `"_top"`.
*/
'target': string | undefined;
}
interface IonRouterOutlet {
/**
Expand Down Expand Up @@ -5248,6 +5252,10 @@ declare namespace LocalJSX {
* When using a router, it specifies the transition direction when navigating to another page using `href`.
*/
'routerDirection'?: RouterDirection;
/**
* Specifies where to display the linked URL. Only applies when an `href` is provided. Special keywords: `"_blank"`, `"_self"`, `"_parent"`, `"_top"`.
*/
'target'?: string | undefined;
}
interface IonRouterOutlet extends JSXBase.HTMLAttributes<HTMLIonRouterOutletElement> {
/**
Expand Down
1 change: 1 addition & 0 deletions core/src/components/router-link/readme.md
Original file line number Diff line number Diff line change
Expand Up @@ -15,6 +15,7 @@ The router link component is used for navigating to a specified link. Similar to
| `href` | `href` | Contains a URL or a URL fragment that the hyperlink points to. If this property is set, an anchor tag will be rendered. | `string \| undefined` | `undefined` |
| `rel` | `rel` | Specifies the relationship of the target object to the link object. The value is a space-separated list of [link types](https://developer.mozilla.org/en-US/docs/Web/HTML/Link_types). | `string \| undefined` | `undefined` |
| `routerDirection` | `router-direction` | When using a router, it specifies the transition direction when navigating to another page using `href`. | `"back" \| "forward" \| "root"` | `'forward'` |
| `target` | `target` | Specifies where to display the linked URL. Only applies when an `href` is provided. Special keywords: `"_blank"`, `"_self"`, `"_parent"`, `"_top"`. | `string \| undefined` | `undefined` |


## CSS Custom Properties
Expand Down
10 changes: 9 additions & 1 deletion core/src/components/router-link/router-link.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -36,6 +36,13 @@ export class RouterLink implements ComponentInterface {
*/
@Prop() routerDirection: RouterDirection = 'forward';

/**
* Specifies where to display the linked URL.
* Only applies when an `href` is provided.
* Special keywords: `"_blank"`, `"_self"`, `"_parent"`, `"_top"`.
*/
@Prop() target: string | undefined;

private onClick = (ev: Event) => {
openURL(this.href, ev, this.routerDirection);
}
Expand All @@ -44,7 +51,8 @@ export class RouterLink implements ComponentInterface {
const mode = getIonMode(this);
const attrs = {
href: this.href,
rel: this.rel
rel: this.rel,
target: this.target
};
return (
<Host
Expand Down
2 changes: 1 addition & 1 deletion core/src/components/router-link/test/basic/index.html
Original file line number Diff line number Diff line change
Expand Up @@ -30,7 +30,7 @@
</p>

<p>
<ion-router-link href="https://ionicframework.com" rel="external" style="text-decoration: underline">Underline Router Link</ion-router-link>
<ion-router-link href="https://ionicframework.com" rel="external" target="_blank" style="text-decoration: underline">External Router Link</ion-router-link>
</p>

<p>
Expand Down

0 comments on commit 1f51ab2

Please sign in to comment.