Kendo UI for Angular - How to make PanelBar select based on the current routeKendoUI PanelBar remember expanded itemsKendo PanelBar Not RegisteredHow to detect a route change in Angular?How to get current routeShow/Hide kendo-panelbar-item based on routerlink activeAngular Routing Dataparent kendo panelbar item is triggered when clicking on the sub kendo panelbar itemAngular 2 Routing 404 on refresh on serverLoading a page directly in Angular 6Angular 5 6 | URL routes not working with routing
Taking advantage when HR forgets to communicate the rules
Chilling juice in copper vessel
How predictable is $RANDOM really?
How do I talk to my wife about unrealistic expectations?
I'm feeling like my character doesn't fit the campaign
An elegant aspect for enumerate the equations of a book
How did Einstein know the speed of light was constant?
What's the difference between a type and a kind?
Did Stalin kill all Soviet officers involved in the Winter War?
Was the 45.9°C temperature in France in June 2019 the highest ever recorded in France?
Is this car delivery via Ebay Motors on Craigslist a scam?
My professor has asked me that he will be corresponding author, will it somehow hurt my future chances?
What's the big deal about the Nazgûl losing their horses?
What is the maximum amount of diamond in one Minecraft game?
Why does mean tend be more stable in different samples than median?
What is the meaning of "prairie-dog" in this sentence?
Why is Canon's 17cm focus distance macro, while 16cm focus distance is not macro?
When is one 'Ready' to make Original Contributions to Mathematics?
Motorcyle Chain needs to be cleaned every time you lube it?
Examples of fluid (including air) being used to transmit digital data?
Why jettison the data recorders in the Orion AA2 abort test?
Find max number you can create from an array of numbers
Why do Martians have to wear space helmets?
How serious is plagiarism in a master’s thesis?
Kendo UI for Angular - How to make PanelBar select based on the current route
KendoUI PanelBar remember expanded itemsKendo PanelBar Not RegisteredHow to detect a route change in Angular?How to get current routeShow/Hide kendo-panelbar-item based on routerlink activeAngular Routing Dataparent kendo panelbar item is triggered when clicking on the sub kendo panelbar itemAngular 2 Routing 404 on refresh on serverLoading a page directly in Angular 6Angular 5 6 | URL routes not working with routing
.everyoneloves__top-leaderboard:empty,.everyoneloves__mid-leaderboard:empty,.everyoneloves__bot-mid-leaderboard:empty margin-bottom:0;
I'm trying to use PanelBar from KendoUI for my Angular app navigation. Once you are on the page and use it for navigation it works just fine with router links. However if I go directly to a link it doesn't work. For example if I go to http://localhost:4200/licenses then the panel bar shows nothing selected, but if I go to just http://localhost:4200/ then click on the licenses portion it goes there and shows it selected. How can I get it to show selected whenever I'm on that URL regardless of if it was navigated from in the page or from an external link?
Here is my navigation component code:
<kendo-panelbar>
<kendo-panelbar-item title="Company Info" routerLink="/companydata"></kendo-panelbar-item>
<kendo-panelbar-item title="Licenses" routerLink="/licenses"></kendo-panelbar-item>
<kendo-panelbar-item title="Users" routerLink="/users"></kendo-panelbar-item>
<kendo-panelbar-item title="Keynote Projects" routerLink="/knprojects" style="margin-bottom: 1em"></kendo-panelbar-item>
<kendo-panelbar-item title="View Keynotes" expanded="true">
<kendo-panelbar-item *ngFor="let project of Projects" title=" project.Name " routerLink="/knprojects/ project.ID "></kendo-panelbar-item>
</kendo-panelbar-item>
</kendo-panelbar>
I also tried using the [selected] binding but when I did that it didn't show any selection regardless of where it came from...
add a comment |
I'm trying to use PanelBar from KendoUI for my Angular app navigation. Once you are on the page and use it for navigation it works just fine with router links. However if I go directly to a link it doesn't work. For example if I go to http://localhost:4200/licenses then the panel bar shows nothing selected, but if I go to just http://localhost:4200/ then click on the licenses portion it goes there and shows it selected. How can I get it to show selected whenever I'm on that URL regardless of if it was navigated from in the page or from an external link?
Here is my navigation component code:
<kendo-panelbar>
<kendo-panelbar-item title="Company Info" routerLink="/companydata"></kendo-panelbar-item>
<kendo-panelbar-item title="Licenses" routerLink="/licenses"></kendo-panelbar-item>
<kendo-panelbar-item title="Users" routerLink="/users"></kendo-panelbar-item>
<kendo-panelbar-item title="Keynote Projects" routerLink="/knprojects" style="margin-bottom: 1em"></kendo-panelbar-item>
<kendo-panelbar-item title="View Keynotes" expanded="true">
<kendo-panelbar-item *ngFor="let project of Projects" title=" project.Name " routerLink="/knprojects/ project.ID "></kendo-panelbar-item>
</kendo-panelbar-item>
</kendo-panelbar>
I also tried using the [selected] binding but when I did that it didn't show any selection regardless of where it came from...
add a comment |
I'm trying to use PanelBar from KendoUI for my Angular app navigation. Once you are on the page and use it for navigation it works just fine with router links. However if I go directly to a link it doesn't work. For example if I go to http://localhost:4200/licenses then the panel bar shows nothing selected, but if I go to just http://localhost:4200/ then click on the licenses portion it goes there and shows it selected. How can I get it to show selected whenever I'm on that URL regardless of if it was navigated from in the page or from an external link?
Here is my navigation component code:
<kendo-panelbar>
<kendo-panelbar-item title="Company Info" routerLink="/companydata"></kendo-panelbar-item>
<kendo-panelbar-item title="Licenses" routerLink="/licenses"></kendo-panelbar-item>
<kendo-panelbar-item title="Users" routerLink="/users"></kendo-panelbar-item>
<kendo-panelbar-item title="Keynote Projects" routerLink="/knprojects" style="margin-bottom: 1em"></kendo-panelbar-item>
<kendo-panelbar-item title="View Keynotes" expanded="true">
<kendo-panelbar-item *ngFor="let project of Projects" title=" project.Name " routerLink="/knprojects/ project.ID "></kendo-panelbar-item>
</kendo-panelbar-item>
</kendo-panelbar>
I also tried using the [selected] binding but when I did that it didn't show any selection regardless of where it came from...
I'm trying to use PanelBar from KendoUI for my Angular app navigation. Once you are on the page and use it for navigation it works just fine with router links. However if I go directly to a link it doesn't work. For example if I go to http://localhost:4200/licenses then the panel bar shows nothing selected, but if I go to just http://localhost:4200/ then click on the licenses portion it goes there and shows it selected. How can I get it to show selected whenever I'm on that URL regardless of if it was navigated from in the page or from an external link?
Here is my navigation component code:
<kendo-panelbar>
<kendo-panelbar-item title="Company Info" routerLink="/companydata"></kendo-panelbar-item>
<kendo-panelbar-item title="Licenses" routerLink="/licenses"></kendo-panelbar-item>
<kendo-panelbar-item title="Users" routerLink="/users"></kendo-panelbar-item>
<kendo-panelbar-item title="Keynote Projects" routerLink="/knprojects" style="margin-bottom: 1em"></kendo-panelbar-item>
<kendo-panelbar-item title="View Keynotes" expanded="true">
<kendo-panelbar-item *ngFor="let project of Projects" title=" project.Name " routerLink="/knprojects/ project.ID "></kendo-panelbar-item>
</kendo-panelbar-item>
</kendo-panelbar>
I also tried using the [selected] binding but when I did that it didn't show any selection regardless of where it came from...
asked Mar 25 at 20:32
sfaustsfaust
58510 silver badges25 bronze badges
58510 silver badges25 bronze badges
add a comment |
add a comment |
1 Answer
1
active
oldest
votes
There is an Angular routerLinkActive propery to solve this issue. It is using with routerlink and it means add some class to property if router link is active.
If your active class is "active" just add it to your example:
<kendo-panelbar>
<kendo-panelbar-item routerLinkActive = "active" title="Company Info" routerLink="/companydata"></kendo-panelbar-item>
<kendo-panelbar-item routerLinkActive = "active" title="Licenses" routerLink="/licenses"></kendo-panelbar-item>
<kendo-panelbar-item routerLinkActive = "active" title="Users" routerLink="/users"></kendo-panelbar-item>
<kendo-panelbar-item routerLinkActive = "active" title="Keynote Projects" routerLink="/knprojects" style="margin-bottom: 1em"></kendo-panelbar-item>
<kendo-panelbar-item routerLinkActive = "active" title="View Keynotes" expanded="true">
<kendo-panelbar-item routerLinkActive = "active" *ngFor="let project of Projects" title=" project.Name " routerLink="/knprojects/ project.ID "></kendo-panelbar-item>
</kendo-panelbar-item>
</kendo-panelbar>
hm. Ok that may work, but right now I haven't created a class for the selected state, it's just using whatever the Kendo default is. Happen to know what that is?
– sfaust
Mar 26 at 0:26
1
Here is an example for that telerik.com/kendo-angular-ui/components/layout/panelbar/routing
– nevzatopcu
Mar 26 at 1:46
Ok I thought I had tried that but I must have done something different this time because it worked with the selected binding. I ended up putting the router in the TS file of the class as a property and then put in [selected]="router.url === '/companydata'" and other similar bindings and it's working now. Not sure if that's the preferred way to get the route when you aren't going through all possible routes or not but it's working for me. If you make that an answer I will accept it.
– sfaust
Mar 26 at 16:57
One additional gotcha that I did run into is if you have spaces in your route it will url encode them in the router.url property and therefore won't necessarily be the same when you compare them and could throw a wrench in things. Just don't put spaces in your path :)
– sfaust
Mar 26 at 16:58
1
I didnt use kendo panelbar before but I researched for you. In my opinion, there is no any other way to do it. I can say you can use some other libraries for that panel/tabs.
– nevzatopcu
Mar 26 at 18:54
add a comment |
Your Answer
StackExchange.ifUsing("editor", function ()
StackExchange.using("externalEditor", function ()
StackExchange.using("snippets", function ()
StackExchange.snippets.init();
);
);
, "code-snippets");
StackExchange.ready(function()
var channelOptions =
tags: "".split(" "),
id: "1"
;
initTagRenderer("".split(" "), "".split(" "), channelOptions);
StackExchange.using("externalEditor", function()
// Have to fire editor after snippets, if snippets enabled
if (StackExchange.settings.snippets.snippetsEnabled)
StackExchange.using("snippets", function()
createEditor();
);
else
createEditor();
);
function createEditor()
StackExchange.prepareEditor(
heartbeatType: 'answer',
autoActivateHeartbeat: false,
convertImagesToLinks: true,
noModals: true,
showLowRepImageUploadWarning: true,
reputationToPostImages: 10,
bindNavPrevention: true,
postfix: "",
imageUploader:
brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
allowUrls: true
,
onDemand: true,
discardSelector: ".discard-answer"
,immediatelyShowMarkdownHelp:true
);
);
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function ()
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f55345979%2fkendo-ui-for-angular-how-to-make-panelbar-select-based-on-the-current-route%23new-answer', 'question_page');
);
Post as a guest
Required, but never shown
1 Answer
1
active
oldest
votes
1 Answer
1
active
oldest
votes
active
oldest
votes
active
oldest
votes
There is an Angular routerLinkActive propery to solve this issue. It is using with routerlink and it means add some class to property if router link is active.
If your active class is "active" just add it to your example:
<kendo-panelbar>
<kendo-panelbar-item routerLinkActive = "active" title="Company Info" routerLink="/companydata"></kendo-panelbar-item>
<kendo-panelbar-item routerLinkActive = "active" title="Licenses" routerLink="/licenses"></kendo-panelbar-item>
<kendo-panelbar-item routerLinkActive = "active" title="Users" routerLink="/users"></kendo-panelbar-item>
<kendo-panelbar-item routerLinkActive = "active" title="Keynote Projects" routerLink="/knprojects" style="margin-bottom: 1em"></kendo-panelbar-item>
<kendo-panelbar-item routerLinkActive = "active" title="View Keynotes" expanded="true">
<kendo-panelbar-item routerLinkActive = "active" *ngFor="let project of Projects" title=" project.Name " routerLink="/knprojects/ project.ID "></kendo-panelbar-item>
</kendo-panelbar-item>
</kendo-panelbar>
hm. Ok that may work, but right now I haven't created a class for the selected state, it's just using whatever the Kendo default is. Happen to know what that is?
– sfaust
Mar 26 at 0:26
1
Here is an example for that telerik.com/kendo-angular-ui/components/layout/panelbar/routing
– nevzatopcu
Mar 26 at 1:46
Ok I thought I had tried that but I must have done something different this time because it worked with the selected binding. I ended up putting the router in the TS file of the class as a property and then put in [selected]="router.url === '/companydata'" and other similar bindings and it's working now. Not sure if that's the preferred way to get the route when you aren't going through all possible routes or not but it's working for me. If you make that an answer I will accept it.
– sfaust
Mar 26 at 16:57
One additional gotcha that I did run into is if you have spaces in your route it will url encode them in the router.url property and therefore won't necessarily be the same when you compare them and could throw a wrench in things. Just don't put spaces in your path :)
– sfaust
Mar 26 at 16:58
1
I didnt use kendo panelbar before but I researched for you. In my opinion, there is no any other way to do it. I can say you can use some other libraries for that panel/tabs.
– nevzatopcu
Mar 26 at 18:54
add a comment |
There is an Angular routerLinkActive propery to solve this issue. It is using with routerlink and it means add some class to property if router link is active.
If your active class is "active" just add it to your example:
<kendo-panelbar>
<kendo-panelbar-item routerLinkActive = "active" title="Company Info" routerLink="/companydata"></kendo-panelbar-item>
<kendo-panelbar-item routerLinkActive = "active" title="Licenses" routerLink="/licenses"></kendo-panelbar-item>
<kendo-panelbar-item routerLinkActive = "active" title="Users" routerLink="/users"></kendo-panelbar-item>
<kendo-panelbar-item routerLinkActive = "active" title="Keynote Projects" routerLink="/knprojects" style="margin-bottom: 1em"></kendo-panelbar-item>
<kendo-panelbar-item routerLinkActive = "active" title="View Keynotes" expanded="true">
<kendo-panelbar-item routerLinkActive = "active" *ngFor="let project of Projects" title=" project.Name " routerLink="/knprojects/ project.ID "></kendo-panelbar-item>
</kendo-panelbar-item>
</kendo-panelbar>
hm. Ok that may work, but right now I haven't created a class for the selected state, it's just using whatever the Kendo default is. Happen to know what that is?
– sfaust
Mar 26 at 0:26
1
Here is an example for that telerik.com/kendo-angular-ui/components/layout/panelbar/routing
– nevzatopcu
Mar 26 at 1:46
Ok I thought I had tried that but I must have done something different this time because it worked with the selected binding. I ended up putting the router in the TS file of the class as a property and then put in [selected]="router.url === '/companydata'" and other similar bindings and it's working now. Not sure if that's the preferred way to get the route when you aren't going through all possible routes or not but it's working for me. If you make that an answer I will accept it.
– sfaust
Mar 26 at 16:57
One additional gotcha that I did run into is if you have spaces in your route it will url encode them in the router.url property and therefore won't necessarily be the same when you compare them and could throw a wrench in things. Just don't put spaces in your path :)
– sfaust
Mar 26 at 16:58
1
I didnt use kendo panelbar before but I researched for you. In my opinion, there is no any other way to do it. I can say you can use some other libraries for that panel/tabs.
– nevzatopcu
Mar 26 at 18:54
add a comment |
There is an Angular routerLinkActive propery to solve this issue. It is using with routerlink and it means add some class to property if router link is active.
If your active class is "active" just add it to your example:
<kendo-panelbar>
<kendo-panelbar-item routerLinkActive = "active" title="Company Info" routerLink="/companydata"></kendo-panelbar-item>
<kendo-panelbar-item routerLinkActive = "active" title="Licenses" routerLink="/licenses"></kendo-panelbar-item>
<kendo-panelbar-item routerLinkActive = "active" title="Users" routerLink="/users"></kendo-panelbar-item>
<kendo-panelbar-item routerLinkActive = "active" title="Keynote Projects" routerLink="/knprojects" style="margin-bottom: 1em"></kendo-panelbar-item>
<kendo-panelbar-item routerLinkActive = "active" title="View Keynotes" expanded="true">
<kendo-panelbar-item routerLinkActive = "active" *ngFor="let project of Projects" title=" project.Name " routerLink="/knprojects/ project.ID "></kendo-panelbar-item>
</kendo-panelbar-item>
</kendo-panelbar>
There is an Angular routerLinkActive propery to solve this issue. It is using with routerlink and it means add some class to property if router link is active.
If your active class is "active" just add it to your example:
<kendo-panelbar>
<kendo-panelbar-item routerLinkActive = "active" title="Company Info" routerLink="/companydata"></kendo-panelbar-item>
<kendo-panelbar-item routerLinkActive = "active" title="Licenses" routerLink="/licenses"></kendo-panelbar-item>
<kendo-panelbar-item routerLinkActive = "active" title="Users" routerLink="/users"></kendo-panelbar-item>
<kendo-panelbar-item routerLinkActive = "active" title="Keynote Projects" routerLink="/knprojects" style="margin-bottom: 1em"></kendo-panelbar-item>
<kendo-panelbar-item routerLinkActive = "active" title="View Keynotes" expanded="true">
<kendo-panelbar-item routerLinkActive = "active" *ngFor="let project of Projects" title=" project.Name " routerLink="/knprojects/ project.ID "></kendo-panelbar-item>
</kendo-panelbar-item>
</kendo-panelbar>
answered Mar 25 at 20:39
nevzatopcunevzatopcu
2841 silver badge8 bronze badges
2841 silver badge8 bronze badges
hm. Ok that may work, but right now I haven't created a class for the selected state, it's just using whatever the Kendo default is. Happen to know what that is?
– sfaust
Mar 26 at 0:26
1
Here is an example for that telerik.com/kendo-angular-ui/components/layout/panelbar/routing
– nevzatopcu
Mar 26 at 1:46
Ok I thought I had tried that but I must have done something different this time because it worked with the selected binding. I ended up putting the router in the TS file of the class as a property and then put in [selected]="router.url === '/companydata'" and other similar bindings and it's working now. Not sure if that's the preferred way to get the route when you aren't going through all possible routes or not but it's working for me. If you make that an answer I will accept it.
– sfaust
Mar 26 at 16:57
One additional gotcha that I did run into is if you have spaces in your route it will url encode them in the router.url property and therefore won't necessarily be the same when you compare them and could throw a wrench in things. Just don't put spaces in your path :)
– sfaust
Mar 26 at 16:58
1
I didnt use kendo panelbar before but I researched for you. In my opinion, there is no any other way to do it. I can say you can use some other libraries for that panel/tabs.
– nevzatopcu
Mar 26 at 18:54
add a comment |
hm. Ok that may work, but right now I haven't created a class for the selected state, it's just using whatever the Kendo default is. Happen to know what that is?
– sfaust
Mar 26 at 0:26
1
Here is an example for that telerik.com/kendo-angular-ui/components/layout/panelbar/routing
– nevzatopcu
Mar 26 at 1:46
Ok I thought I had tried that but I must have done something different this time because it worked with the selected binding. I ended up putting the router in the TS file of the class as a property and then put in [selected]="router.url === '/companydata'" and other similar bindings and it's working now. Not sure if that's the preferred way to get the route when you aren't going through all possible routes or not but it's working for me. If you make that an answer I will accept it.
– sfaust
Mar 26 at 16:57
One additional gotcha that I did run into is if you have spaces in your route it will url encode them in the router.url property and therefore won't necessarily be the same when you compare them and could throw a wrench in things. Just don't put spaces in your path :)
– sfaust
Mar 26 at 16:58
1
I didnt use kendo panelbar before but I researched for you. In my opinion, there is no any other way to do it. I can say you can use some other libraries for that panel/tabs.
– nevzatopcu
Mar 26 at 18:54
hm. Ok that may work, but right now I haven't created a class for the selected state, it's just using whatever the Kendo default is. Happen to know what that is?
– sfaust
Mar 26 at 0:26
hm. Ok that may work, but right now I haven't created a class for the selected state, it's just using whatever the Kendo default is. Happen to know what that is?
– sfaust
Mar 26 at 0:26
1
1
Here is an example for that telerik.com/kendo-angular-ui/components/layout/panelbar/routing
– nevzatopcu
Mar 26 at 1:46
Here is an example for that telerik.com/kendo-angular-ui/components/layout/panelbar/routing
– nevzatopcu
Mar 26 at 1:46
Ok I thought I had tried that but I must have done something different this time because it worked with the selected binding. I ended up putting the router in the TS file of the class as a property and then put in [selected]="router.url === '/companydata'" and other similar bindings and it's working now. Not sure if that's the preferred way to get the route when you aren't going through all possible routes or not but it's working for me. If you make that an answer I will accept it.
– sfaust
Mar 26 at 16:57
Ok I thought I had tried that but I must have done something different this time because it worked with the selected binding. I ended up putting the router in the TS file of the class as a property and then put in [selected]="router.url === '/companydata'" and other similar bindings and it's working now. Not sure if that's the preferred way to get the route when you aren't going through all possible routes or not but it's working for me. If you make that an answer I will accept it.
– sfaust
Mar 26 at 16:57
One additional gotcha that I did run into is if you have spaces in your route it will url encode them in the router.url property and therefore won't necessarily be the same when you compare them and could throw a wrench in things. Just don't put spaces in your path :)
– sfaust
Mar 26 at 16:58
One additional gotcha that I did run into is if you have spaces in your route it will url encode them in the router.url property and therefore won't necessarily be the same when you compare them and could throw a wrench in things. Just don't put spaces in your path :)
– sfaust
Mar 26 at 16:58
1
1
I didnt use kendo panelbar before but I researched for you. In my opinion, there is no any other way to do it. I can say you can use some other libraries for that panel/tabs.
– nevzatopcu
Mar 26 at 18:54
I didnt use kendo panelbar before but I researched for you. In my opinion, there is no any other way to do it. I can say you can use some other libraries for that panel/tabs.
– nevzatopcu
Mar 26 at 18:54
add a comment |
Got a question that you can’t ask on public Stack Overflow? Learn more about sharing private information with Stack Overflow for Teams.
Got a question that you can’t ask on public Stack Overflow? Learn more about sharing private information with Stack Overflow for Teams.
Thanks for contributing an answer to Stack Overflow!
- Please be sure to answer the question. Provide details and share your research!
But avoid …
- Asking for help, clarification, or responding to other answers.
- Making statements based on opinion; back them up with references or personal experience.
To learn more, see our tips on writing great answers.
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function ()
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f55345979%2fkendo-ui-for-angular-how-to-make-panelbar-select-based-on-the-current-route%23new-answer', 'question_page');
);
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown