36 lines
938 B
TypeScript
Raw Normal View History

import Controller from '@ember/controller';
import { tracked } from '@glimmer/tracking';
/**
* The UserProfileTabController is meant to handle the query parameters common to the tab routes
* for the user profile page content items.
*/
export default class UserProfileTabController extends Controller {
/**
* Declares the query parameters for the associated route to this controller
*/
queryParams = ['page'];
/**
* Keeps `@track` of the current pagination item in the route, used by any parameter that
* requires pagination
*/
@tracked
page = 1;
/**
* Resets the query parameter data in the controller so that state does not leak between route
* transitions
*/
resetData(): void {
this.page = 1;
}
}
declare module '@ember/controller' {
// eslint-disable-next-line @typescript-eslint/interface-name-prefix
interface Registry {
'user/profile/tab': UserProfileTabController;
}
}