##// END OF EJS Templates
fixed NlsBundle locale package loading...
fixed NlsBundle locale package loading corrected DjxFragment params and return value fixed regression in DjxWidgetBase attach points processing fixed empty RenditionBase startup

File last commit:

r110:1a190b3a757d v1.4.0 default
r112:2ccfaae984e9 v1.4.4 default
Show More
MainModel.ts
62 lines | 1.8 KiB | video/mp2t | TypeScriptLexer
cin
corrected tear down logic handling in observables. Added support for observable query results
r110 import { id as mid } from "module";
import { BehaviorSubject, Observer, Unsubscribable } from "rxjs";
import { IDestroyable } from "@implab/core-amd/interfaces";
import { OrderUpdate, Observable } from "@implab/djx/observable";
import { Appointment, Member } from "./Appointment";
import { MainContext } from "./MainContext";
import { LocalDate } from "@js-joda/core";
import { error } from "../logging";
import { TraceSource } from "@implab/core-amd/log/TraceSource";
cin
Working on WatchForRendition
r107
cin
corrected tear down logic handling in observables. Added support for observable query results
r110 const trace = TraceSource.get(mid);
export interface State {
appointments: Observable<OrderUpdate<Appointment>>;
cin
Working on WatchForRendition
r107
cin
corrected tear down logic handling in observables. Added support for observable query results
r110 dateTo: LocalDate;
cin
Working on WatchForRendition
r107
cin
corrected tear down logic handling in observables. Added support for observable query results
r110 dateFrom: LocalDate;
title: string;
cin
Working on WatchForRendition
r107 }
export default class MainModel implements IDestroyable {
private readonly _state: BehaviorSubject<State>;
cin
corrected tear down logic handling in observables. Added support for observable query results
r110
private readonly _context = new MainContext();
constructor() {
this._state = new BehaviorSubject<State>({
dateTo: LocalDate.now(),
dateFrom: LocalDate.now().minusMonths(1),
appointments: this._context.queryAppointments(),
title: "Appointments"
});
cin
Working on WatchForRendition
r107 }
getState() {
return this._state.getValue();
}
subscribe(observer: Partial<Observer<State>>): Unsubscribable {
return this._state.subscribe(observer);
cin
corrected tear down logic handling in observables. Added support for observable query results
r110 }
cin
Working on WatchForRendition
r107 protected dispatch(command: Partial<State>) {
const state = this.getState();
cin
corrected tear down logic handling in observables. Added support for observable query results
r110 this._state.next({ ...state, ...command });
}
addMember(appointmentId: string, member: Member) {
this._context.addMember(appointmentId, member).catch(error(trace));
cin
Working on WatchForRendition
r107 }
cin
corrected tear down logic handling in observables. Added support for observable query results
r110 addAppointment(title: string, startAt: Date, duration: number) {
this._context.createAppointment(title,startAt, duration, []).catch(error(trace));
}
load() {
}
destroy() {
this._context.destroy();
}
cin
Working on WatchForRendition
r107 }