# NotificationsPage

**Kind:** Class

**Source:** `Pams/Web/Pams.Web/Client/app/components/notifications/notificationsPage.ts` (line 8)

**Part of:** [Pams](subsystem-pams)

`NotificationsPage` manages the notifications view in the PAMS web client. It loads user notifications, updates their state, switches notification tabs, and opens notification-related links or details.

## Methods

| Method | Signature | Returns |
|---|---|---|
| `changeTabs` | `changeTabs(targetTab: undefined)` | `void` |
| `openLink` | `openLink(e: undefined, openDirect: boolean)` | `void` |
| `ngOnInit` | `ngOnInit()` | `void` |
| `open` | `open(ID: undefined, Type: undefined, index: undefined, notificationID: undefined, seen: undefined)` | `void` |
| `getUserNotifications` | `getUserNotifications(UserId: undefined)` | `void` |
| `updateUserNotifications` | `updateUserNotifications(NotificationId: undefined)` | `void` |

## Properties

| Property | Type |
|---|---|
| `openedInPopup` | `boolean` |
| `tabsSwitch` | `string` |
| `notificationsData` | `any` |
| `subscription` | `Subscription` |

## Diagram

```mermaid
graph LR
  User[User action] --> Page[NotificationsPage]
  Page --> Init[ngOnInit]
  Init --> Load[getUserNotifications]
  Page --> Tabs[changeTabs]
  Page --> Open[open]
  Page --> Link[openLink]
  Page --> Update[updateUserNotifications]
  Load --> Notifications[User notifications]
  Update --> Notifications
```

## Usage

```ts
import { NotificationsPage } from './components/notifications/notificationsPage';

const page = new NotificationsPage();

page.ngOnInit();

page.changeTabs();
page.getUserNotifications();

page.open(notification);
page.openLink(notification);

page.updateUserNotifications();
```

## AI Coding Instructions

- Call `getUserNotifications()` during initialization or after actions that can change notification state.
- Keep tab-selection behavior inside `changeTabs()` so notification filtering remains in one place.
- Route notification click handling through `open()` and external or linked navigation through `openLink()`.
- After marking notifications as read or changing their status, call `updateUserNotifications()` and refresh the displayed notification data.

## Relationships

- IMPORTS → `Notifications`
- CALLS → `SytemNotificationController`

## Used by

2 references from 2 files. Each is a place in this repository where the symbol is actually used — go read one rather than trusting an example.

### Imported by (2)

- `AppRoutingModule` — `Pams/Web/Pams.Web/Client/app/app-routing.module.ts`:1
- `TranslateHandler` — `Pams/Web/Pams.Web/Client/app/app.module.ts`:1
