blob: c7ca06b1cbf94175e1ead8a4003cbf12c3675a18 [file] [log] [blame]
Ben Rohlfsec56d3e2022-09-12 12:56:16 +02001/**
2 * @license
3 * Copyright 2022 Google LLC
4 * SPDX-License-Identifier: Apache-2.0
5 */
6import {GerritView} from '../../services/router/router-model';
7import {GroupId} from '../../types/common';
8import {Model} from '../model';
9import {ViewState} from './base';
10
11export enum GroupDetailView {
12 MEMBERS = 'members',
13 LOG = 'log',
14}
15
16export interface GroupViewState extends ViewState {
17 view: GerritView.GROUP;
18 detail?: GroupDetailView;
19 groupId?: GroupId;
20}
21
22const DEFAULT_STATE: GroupViewState = {
23 view: GerritView.GROUP,
24};
25
26export class GroupViewModel extends Model<GroupViewState> {
27 constructor() {
28 super(DEFAULT_STATE);
29 }
30
31 updateState(state: GroupViewState) {
32 this.subject$.next({...state});
33 }
34}