@sneat/extensions-schedulus-shared 0.3.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/esm2022/index.js +2 -0
- package/esm2022/index.js.map +1 -0
- package/esm2022/lib/components/calendar/calendar-base.component.js +83 -0
- package/esm2022/lib/components/calendar/calendar-base.component.js.map +1 -0
- package/esm2022/lib/components/calendar/calendar-brief.component.js +57 -0
- package/esm2022/lib/components/calendar/calendar-brief.component.js.map +1 -0
- package/esm2022/lib/components/calendar/calendar-component-types.js +2 -0
- package/esm2022/lib/components/calendar/calendar-component-types.js.map +1 -0
- package/esm2022/lib/components/calendar/calendar-state.service.js +90 -0
- package/esm2022/lib/components/calendar/calendar-state.service.js.map +1 -0
- package/esm2022/lib/components/calendar/calendar.component.js +284 -0
- package/esm2022/lib/components/calendar/calendar.component.js.map +1 -0
- package/esm2022/lib/components/calendar/components/calendar-add-buttons/calendar-add-buttons.component.js +45 -0
- package/esm2022/lib/components/calendar/components/calendar-add-buttons/calendar-add-buttons.component.js.map +1 -0
- package/esm2022/lib/components/calendar/components/calendar-day/calendar-day-base.component.js +26 -0
- package/esm2022/lib/components/calendar/components/calendar-day/calendar-day-base.component.js.map +1 -0
- package/esm2022/lib/components/calendar/components/calendar-day/calendar-day-card.component.js +67 -0
- package/esm2022/lib/components/calendar/components/calendar-day/calendar-day-card.component.js.map +1 -0
- package/esm2022/lib/components/calendar/components/calendar-day/calendar-day-tab.component.js +74 -0
- package/esm2022/lib/components/calendar/components/calendar-day/calendar-day-tab.component.js.map +1 -0
- package/esm2022/lib/components/calendar/components/calendar-day/calendar-day-title.component.js +27 -0
- package/esm2022/lib/components/calendar/components/calendar-day/calendar-day-title.component.js.map +1 -0
- package/esm2022/lib/components/calendar/components/calendar-day/calendar-day.component.js +129 -0
- package/esm2022/lib/components/calendar/components/calendar-day/calendar-day.component.js.map +1 -0
- package/esm2022/lib/components/calendar/components/calendar-filter/calendar-filter.component.js +162 -0
- package/esm2022/lib/components/calendar/components/calendar-filter/calendar-filter.component.js.map +1 -0
- package/esm2022/lib/components/calendar/components/calendar-filter/calendar-filter.js +17 -0
- package/esm2022/lib/components/calendar/components/calendar-filter/calendar-filter.js.map +1 -0
- package/esm2022/lib/components/calendar/components/calendar-filter/contacts-filter.component.js +95 -0
- package/esm2022/lib/components/calendar/components/calendar-filter/contacts-filter.component.js.map +1 -0
- package/esm2022/lib/components/calendar/components/calendar-week/calendar-week-card.component.js +50 -0
- package/esm2022/lib/components/calendar/components/calendar-week/calendar-week-card.component.js.map +1 -0
- package/esm2022/lib/components/calendar/components/calendar-week/calendar-week-tab.component.js +18 -0
- package/esm2022/lib/components/calendar/components/calendar-week/calendar-week-tab.component.js.map +1 -0
- package/esm2022/lib/components/calendar/components/calendar-week/calendar-week-title.component.js +15 -0
- package/esm2022/lib/components/calendar/components/calendar-week/calendar-week-title.component.js.map +1 -0
- package/esm2022/lib/components/calendar/components/calendar-week/calendar-week.component.js +78 -0
- package/esm2022/lib/components/calendar/components/calendar-week/calendar-week.component.js.map +1 -0
- package/esm2022/lib/components/calendar/components/calendar-weekday/calendar-weekday.component.js +66 -0
- package/esm2022/lib/components/calendar/components/calendar-weekday/calendar-weekday.component.js.map +1 -0
- package/esm2022/lib/components/calendar/components/day-slot-item/day-slot-item.component.js +93 -0
- package/esm2022/lib/components/calendar/components/day-slot-item/day-slot-item.component.js.map +1 -0
- package/esm2022/lib/components/calendar/components/day-slot-item/slot-context-menu.component.js +324 -0
- package/esm2022/lib/components/calendar/components/day-slot-item/slot-context-menu.component.js.map +1 -0
- package/esm2022/lib/components/calendar/components/recurrings-tab/recurrings-tab.component.js +36 -0
- package/esm2022/lib/components/calendar/components/recurrings-tab/recurrings-tab.component.js.map +1 -0
- package/esm2022/lib/components/calendar/components/singles-tab/single-happenings-list.component.js +65 -0
- package/esm2022/lib/components/calendar/components/singles-tab/single-happenings-list.component.js.map +1 -0
- package/esm2022/lib/components/calendar/components/singles-tab/singles-tab.component.js +106 -0
- package/esm2022/lib/components/calendar/components/singles-tab/singles-tab.component.js.map +1 -0
- package/esm2022/lib/components/calendar/components/timing-badge/timing-badge.component.js +25 -0
- package/esm2022/lib/components/calendar/components/timing-badge/timing-badge.component.js.map +1 -0
- package/esm2022/lib/components/calendar/weekday.js +2 -0
- package/esm2022/lib/components/calendar/weekday.js.map +1 -0
- package/esm2022/lib/components/calendar-core.js +64 -0
- package/esm2022/lib/components/calendar-core.js.map +1 -0
- package/esm2022/lib/components/calendar-filter.service.js +28 -0
- package/esm2022/lib/components/calendar-filter.service.js.map +1 -0
- package/esm2022/lib/components/calendar-slots.js +30 -0
- package/esm2022/lib/components/calendar-slots.js.map +1 -0
- package/esm2022/lib/components/happening-base.component.js +188 -0
- package/esm2022/lib/components/happening-base.component.js.map +1 -0
- package/esm2022/lib/components/happening-card/happening-card.component.js +69 -0
- package/esm2022/lib/components/happening-card/happening-card.component.js.map +1 -0
- package/esm2022/lib/components/happening-component-base-params.js +37 -0
- package/esm2022/lib/components/happening-component-base-params.js.map +1 -0
- package/esm2022/lib/components/happening-form/happening-form.component.js +348 -0
- package/esm2022/lib/components/happening-form/happening-form.component.js.map +1 -0
- package/esm2022/lib/components/happening-form/happening-price-form/happening-price-modal.component.js +161 -0
- package/esm2022/lib/components/happening-form/happening-price-form/happening-price-modal.component.js.map +1 -0
- package/esm2022/lib/components/happening-form/happening-prices/happening-prices.component.js +142 -0
- package/esm2022/lib/components/happening-form/happening-prices/happening-prices.component.js.map +1 -0
- package/esm2022/lib/components/happening-participants/happening-participants.component.js +195 -0
- package/esm2022/lib/components/happening-participants/happening-participants.component.js.map +1 -0
- package/esm2022/lib/components/happening-slot-form/happening-slot-form.component.js +505 -0
- package/esm2022/lib/components/happening-slot-form/happening-slot-form.component.js.map +1 -0
- package/esm2022/lib/components/happening-slot-form/happening-slot-modal.component.js +140 -0
- package/esm2022/lib/components/happening-slot-form/happening-slot-modal.component.js.map +1 -0
- package/esm2022/lib/components/happening-slot-form/happening-slot-modal.service.js +47 -0
- package/esm2022/lib/components/happening-slot-form/happening-slot-modal.service.js.map +1 -0
- package/esm2022/lib/components/happening-slot-participants/happening-slot-participants.component.js +74 -0
- package/esm2022/lib/components/happening-slot-participants/happening-slot-participants.component.js.map +1 -0
- package/esm2022/lib/components/happening-slots/happening-slots.component.js +130 -0
- package/esm2022/lib/components/happening-slots/happening-slots.component.js.map +1 -0
- package/esm2022/lib/components/index.js +20 -0
- package/esm2022/lib/components/index.js.map +1 -0
- package/esm2022/lib/components/start-end-dates-range-form/start-end-dates-range-form.component.js +68 -0
- package/esm2022/lib/components/start-end-dates-range-form/start-end-dates-range-form.component.js.map +1 -0
- package/esm2022/lib/components/start-end-datetime-form/start-end-datetime-form.component.js +377 -0
- package/esm2022/lib/components/start-end-datetime-form/start-end-datetime-form.component.js.map +1 -0
- package/esm2022/lib/components/start-end-datetime-form/time-selector.component.js +92 -0
- package/esm2022/lib/components/start-end-datetime-form/time-selector.component.js.map +1 -0
- package/esm2022/lib/components/swipeable-base.component.js +112 -0
- package/esm2022/lib/components/swipeable-base.component.js.map +1 -0
- package/esm2022/lib/components/swipeable-ui.js +64 -0
- package/esm2022/lib/components/swipeable-ui.js.map +1 -0
- package/esm2022/lib/components/week.js +2 -0
- package/esm2022/lib/components/week.js.map +1 -0
- package/esm2022/lib/components/weekday-functions.js +13 -0
- package/esm2022/lib/components/weekday-functions.js.map +1 -0
- package/esm2022/lib/components/weekdays/weekdays-form-base.js +72 -0
- package/esm2022/lib/components/weekdays/weekdays-form-base.js.map +1 -0
- package/esm2022/lib/index.js +3 -0
- package/esm2022/lib/index.js.map +1 -0
- package/esm2022/lib/modals/happening-title-modal/happening-title-modal.component.js +87 -0
- package/esm2022/lib/modals/happening-title-modal/happening-title-modal.component.js.map +1 -0
- package/esm2022/lib/services/calendar-data-provider.js +271 -0
- package/esm2022/lib/services/calendar-data-provider.js.map +1 -0
- package/esm2022/lib/services/calendar-day.js +179 -0
- package/esm2022/lib/services/calendar-day.js.map +1 -0
- package/esm2022/lib/services/calendar-day.service.js +37 -0
- package/esm2022/lib/services/calendar-day.service.js.map +1 -0
- package/esm2022/lib/services/calendar-nav.service.js +36 -0
- package/esm2022/lib/services/calendar-nav.service.js.map +1 -0
- package/esm2022/lib/services/calendar-space.js +152 -0
- package/esm2022/lib/services/calendar-space.js.map +1 -0
- package/esm2022/lib/services/calendar-types.js +52 -0
- package/esm2022/lib/services/calendar-types.js.map +1 -0
- package/esm2022/lib/services/calendarium-services.module.js +16 -0
- package/esm2022/lib/services/calendarium-services.module.js.map +1 -0
- package/esm2022/lib/services/calendarium-space.service.js +16 -0
- package/esm2022/lib/services/calendarium-space.service.js.map +1 -0
- package/esm2022/lib/services/happening.service.js +225 -0
- package/esm2022/lib/services/happening.service.js.map +1 -0
- package/esm2022/lib/services/index.js +6 -0
- package/esm2022/lib/services/index.js.map +1 -0
- package/esm2022/sneat-extensions-schedulus-shared.js +5 -0
- package/esm2022/sneat-extensions-schedulus-shared.js.map +1 -0
- package/index.d.ts +1 -0
- package/lib/components/calendar/calendar-base.component.d.ts +23 -0
- package/lib/components/calendar/calendar-brief.component.d.ts +11 -0
- package/lib/components/calendar/calendar-component-types.d.ts +1 -0
- package/lib/components/calendar/calendar-state.service.d.ts +15 -0
- package/lib/components/calendar/calendar.component.d.ts +32 -0
- package/lib/components/calendar/components/calendar-add-buttons/calendar-add-buttons.component.d.ts +13 -0
- package/lib/components/calendar/components/calendar-day/calendar-day-base.component.d.ts +10 -0
- package/lib/components/calendar/components/calendar-day/calendar-day-card.component.d.ts +17 -0
- package/lib/components/calendar/components/calendar-day/calendar-day-tab.component.d.ts +19 -0
- package/lib/components/calendar/components/calendar-day/calendar-day-title.component.d.ts +10 -0
- package/lib/components/calendar/components/calendar-day/calendar-day.component.d.ts +30 -0
- package/lib/components/calendar/components/calendar-filter/calendar-filter.component.d.ts +39 -0
- package/lib/components/calendar/components/calendar-filter/calendar-filter.d.ts +10 -0
- package/lib/components/calendar/components/calendar-filter/contacts-filter.component.d.ts +20 -0
- package/lib/components/calendar/components/calendar-week/calendar-week-card.component.d.ts +15 -0
- package/lib/components/calendar/components/calendar-week/calendar-week-tab.component.d.ts +9 -0
- package/lib/components/calendar/components/calendar-week/calendar-week-title.component.d.ts +7 -0
- package/lib/components/calendar/components/calendar-week/calendar-week.component.d.ts +20 -0
- package/lib/components/calendar/components/calendar-weekday/calendar-weekday.component.d.ts +23 -0
- package/lib/components/calendar/components/day-slot-item/day-slot-item.component.d.ts +19 -0
- package/lib/components/calendar/components/day-slot-item/slot-context-menu.component.d.ts +40 -0
- package/lib/components/calendar/components/recurrings-tab/recurrings-tab.component.d.ts +15 -0
- package/lib/components/calendar/components/singles-tab/single-happenings-list.component.d.ts +22 -0
- package/lib/components/calendar/components/singles-tab/singles-tab.component.d.ts +29 -0
- package/lib/components/calendar/components/timing-badge/timing-badge.component.d.ts +17 -0
- package/lib/components/calendar/weekday.d.ts +7 -0
- package/lib/components/calendar-core.d.ts +10 -0
- package/lib/components/calendar-filter.service.d.ts +8 -0
- package/lib/components/calendar-slots.d.ts +5 -0
- package/lib/components/happening-base.component.d.ts +46 -0
- package/lib/components/happening-card/happening-card.component.d.ts +11 -0
- package/lib/components/happening-component-base-params.d.ts +16 -0
- package/lib/components/happening-form/happening-form.component.d.ts +52 -0
- package/lib/components/happening-form/happening-price-form/happening-price-modal.component.d.ts +29 -0
- package/lib/components/happening-form/happening-prices/happening-prices.component.d.ts +16 -0
- package/lib/components/happening-participants/happening-participants.component.d.ts +24 -0
- package/lib/components/happening-slot-form/happening-slot-form.component.d.ts +76 -0
- package/lib/components/happening-slot-form/happening-slot-modal.component.d.ts +26 -0
- package/lib/components/happening-slot-form/happening-slot-modal.service.d.ts +18 -0
- package/lib/components/happening-slot-participants/happening-slot-participants.component.d.ts +19 -0
- package/lib/components/happening-slots/happening-slots.component.d.ts +28 -0
- package/lib/components/index.d.ts +5 -0
- package/lib/components/start-end-dates-range-form/start-end-dates-range-form.component.d.ts +16 -0
- package/lib/components/start-end-datetime-form/start-end-datetime-form.component.d.ts +53 -0
- package/lib/components/start-end-datetime-form/time-selector.component.d.ts +15 -0
- package/lib/components/swipeable-base.component.d.ts +25 -0
- package/lib/components/swipeable-ui.d.ts +24 -0
- package/lib/components/week.d.ts +4 -0
- package/lib/components/weekday-functions.d.ts +3 -0
- package/lib/components/weekdays/weekdays-form-base.d.ts +31 -0
- package/lib/index.d.ts +2 -0
- package/lib/modals/happening-title-modal/happening-title-modal.component.d.ts +24 -0
- package/lib/services/calendar-data-provider.d.ts +33 -0
- package/lib/services/calendar-day.d.ts +45 -0
- package/lib/services/calendar-day.service.d.ts +18 -0
- package/lib/services/calendar-nav.service.d.ts +14 -0
- package/lib/services/calendar-space.d.ts +23 -0
- package/lib/services/calendar-types.d.ts +10 -0
- package/lib/services/calendarium-services.module.d.ts +6 -0
- package/lib/services/calendarium-space.service.d.ts +8 -0
- package/lib/services/happening.service.d.ts +99 -0
- package/lib/services/index.d.ts +5 -0
- package/package.json +26 -0
- package/sneat-extensions-schedulus-shared.d.ts +5 -0
- package/tsconfig.lib.prod.tsbuildinfo +1 -0
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
import { Signal, Injector } from '@angular/core';
|
|
2
|
+
import { CalendariumSpaceService } from '../services/calendarium-space.service';
|
|
3
|
+
import { CalendarHappeningBriefsBySpaceID } from '@sneat/mod-schedulus-core';
|
|
4
|
+
import { IErrorLogger } from '@sneat/core';
|
|
5
|
+
import { Observable } from 'rxjs';
|
|
6
|
+
import { CalendarDay } from './calendar-day';
|
|
7
|
+
import { RecurringsByWeekday } from './calendar-types';
|
|
8
|
+
import { HappeningService } from './happening.service';
|
|
9
|
+
import { CalendarDayService } from './calendar-day.service';
|
|
10
|
+
export declare class CalendarDataProvider {
|
|
11
|
+
private readonly injector;
|
|
12
|
+
private readonly $primarySpaceID;
|
|
13
|
+
private readonly errorLogger;
|
|
14
|
+
private readonly happeningService;
|
|
15
|
+
private readonly calendarDayService;
|
|
16
|
+
private readonly calendariumSpaceService;
|
|
17
|
+
private readonly destroyed;
|
|
18
|
+
private readonly $space;
|
|
19
|
+
private readonly days;
|
|
20
|
+
constructor(injector: Injector, $primarySpaceID: Signal<string | undefined>, errorLogger: IErrorLogger, happeningService: HappeningService, calendarDayService: CalendarDayService, calendariumSpaceService: CalendariumSpaceService);
|
|
21
|
+
private primarySpace?;
|
|
22
|
+
private $primarySpace;
|
|
23
|
+
private $spaces;
|
|
24
|
+
readonly $recurringByWd: Signal<Readonly<RecurringsByWeekday>>;
|
|
25
|
+
readonly $recurringsBySpaceID: Signal<Readonly<CalendarHappeningBriefsBySpaceID>>;
|
|
26
|
+
destroy(): void;
|
|
27
|
+
private readonly $inputs;
|
|
28
|
+
getCalendarDay(date: Date): CalendarDay;
|
|
29
|
+
preloadEvents(...dates: Date[]): Observable<CalendarDay>;
|
|
30
|
+
getDays(): Observable<CalendarDay>;
|
|
31
|
+
loadForWeek(): void;
|
|
32
|
+
private loadEvents;
|
|
33
|
+
}
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
import { Signal } from '@angular/core';
|
|
2
|
+
import { IErrorLogger } from '@sneat/core';
|
|
3
|
+
import { ISpaceContext } from '@sneat/space-models';
|
|
4
|
+
import { Observable } from 'rxjs';
|
|
5
|
+
import { ISlotUIContext, RecurringSlots, WeekdayCode2 } from '@sneat/mod-schedulus-core';
|
|
6
|
+
import { HappeningService } from './happening.service';
|
|
7
|
+
import { CalendarDayService } from './calendar-day.service';
|
|
8
|
+
import { Injector } from '@angular/core';
|
|
9
|
+
export interface ICalendarDayInput {
|
|
10
|
+
readonly spaceID: string;
|
|
11
|
+
readonly $recurringSlots: Signal<RecurringSlots | undefined>;
|
|
12
|
+
readonly recurringSlots$: Observable<RecurringSlots>;
|
|
13
|
+
}
|
|
14
|
+
export declare class CalendarDay {
|
|
15
|
+
readonly date: Date;
|
|
16
|
+
private readonly $inputs;
|
|
17
|
+
private readonly errorLogger;
|
|
18
|
+
private readonly happeningService;
|
|
19
|
+
private readonly calendarDayService;
|
|
20
|
+
private readonly destroyed$;
|
|
21
|
+
private $recurringSlots;
|
|
22
|
+
private singles?;
|
|
23
|
+
private _spaces;
|
|
24
|
+
get spaces(): readonly ISpaceContext[];
|
|
25
|
+
readonly dateID: string;
|
|
26
|
+
readonly wd: WeekdayCode2;
|
|
27
|
+
readonly wdLongTitle: string;
|
|
28
|
+
private readonly _isLoading;
|
|
29
|
+
readonly $isLoading: Signal<boolean>;
|
|
30
|
+
private readonly _slots;
|
|
31
|
+
readonly slots$: Observable<ISlotUIContext[] | undefined>;
|
|
32
|
+
private calendarDayDbo?;
|
|
33
|
+
get slots(): ISlotUIContext[] | undefined;
|
|
34
|
+
private readonly subscriptions;
|
|
35
|
+
private effectRef?;
|
|
36
|
+
constructor(date: Date, injector: Injector, $inputs: Signal<readonly ICalendarDayInput[]>, errorLogger: IErrorLogger, happeningService: HappeningService, calendarDayService: CalendarDayService);
|
|
37
|
+
destroy(): void;
|
|
38
|
+
private readonly processSpaceID;
|
|
39
|
+
private readonly subscribeForCalendarDay;
|
|
40
|
+
private readonly subscribeForSingles;
|
|
41
|
+
private readonly processSingles;
|
|
42
|
+
private subscribeForRecurrings;
|
|
43
|
+
private readonly processRecurrings;
|
|
44
|
+
private joinRecurringsWithSinglesAndEmit;
|
|
45
|
+
}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import { Firestore as AngularFirestore } from '@angular/fire/firestore';
|
|
2
|
+
import { ICalendarDayBrief } from '@sneat/mod-schedulus-core';
|
|
3
|
+
import { ISpaceContext } from '@sneat/space-models';
|
|
4
|
+
import * as i0 from "@angular/core";
|
|
5
|
+
export declare class CalendarDayService {
|
|
6
|
+
private readonly errorLogger;
|
|
7
|
+
readonly afs: AngularFirestore;
|
|
8
|
+
private readonly spaceItemService;
|
|
9
|
+
constructor();
|
|
10
|
+
watchSpaceDay(space: ISpaceContext, dateID: string): import("rxjs").Observable<import("@sneat/space-models").ISpaceItemNavContext<ICalendarDayBrief, ICalendarDayBrief>>;
|
|
11
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<CalendarDayService, never>;
|
|
12
|
+
static ɵprov: i0.ɵɵInjectableDeclaration<CalendarDayService>;
|
|
13
|
+
}
|
|
14
|
+
export declare class CalendarDayServiceModule {
|
|
15
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<CalendarDayServiceModule, never>;
|
|
16
|
+
static ɵmod: i0.ɵɵNgModuleDeclaration<CalendarDayServiceModule, never, never, never>;
|
|
17
|
+
static ɵinj: i0.ɵɵInjectorDeclaration<CalendarDayServiceModule>;
|
|
18
|
+
}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { ISlotUIEvent } from '@sneat/mod-schedulus-core';
|
|
2
|
+
import * as i0 from "@angular/core";
|
|
3
|
+
export declare class CalendarNavService {
|
|
4
|
+
private readonly errorLogger;
|
|
5
|
+
private readonly spaceNavService;
|
|
6
|
+
navigateToHappeningPage(args: ISlotUIEvent): void;
|
|
7
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<CalendarNavService, never>;
|
|
8
|
+
static ɵprov: i0.ɵɵInjectableDeclaration<CalendarNavService>;
|
|
9
|
+
}
|
|
10
|
+
export declare class CalendarNavServicesModule {
|
|
11
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<CalendarNavServicesModule, never>;
|
|
12
|
+
static ɵmod: i0.ɵɵNgModuleDeclaration<CalendarNavServicesModule, never, never, never>;
|
|
13
|
+
static ɵinj: i0.ɵɵInjectorDeclaration<CalendarNavServicesModule>;
|
|
14
|
+
}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import { CalendariumSpaceService } from '../services/calendarium-space.service';
|
|
2
|
+
import { ICalendariumSpaceDbo, RecurringSlots } from '@sneat/mod-schedulus-core';
|
|
3
|
+
import { ISpaceItemWithOptionalDbo } from '@sneat/space-models';
|
|
4
|
+
import { Observable } from 'rxjs';
|
|
5
|
+
import { ISpaceRecurrings, RecurringsByWeekday } from './calendar-types';
|
|
6
|
+
export declare class CalendarSpace {
|
|
7
|
+
readonly spaceID: string;
|
|
8
|
+
private readonly calendariumSpaceService;
|
|
9
|
+
private readonly contactID?;
|
|
10
|
+
private readonly destroyed;
|
|
11
|
+
destroy(): void;
|
|
12
|
+
readonly $recurrings: import("@angular/core").WritableSignal<ISpaceRecurrings | undefined>;
|
|
13
|
+
readonly $recurringByWd: import("@angular/core").WritableSignal<Readonly<RecurringsByWeekday>>;
|
|
14
|
+
private readonly $calendariumSpace;
|
|
15
|
+
readonly $recurringSlots: import("@angular/core").WritableSignal<RecurringSlots | undefined>;
|
|
16
|
+
private readonly calendariumSpace$;
|
|
17
|
+
readonly recurringSlots$: Observable<RecurringSlots>;
|
|
18
|
+
constructor(spaceID: string, calendariumSpaceService: CalendariumSpaceService, contactID?: string | undefined);
|
|
19
|
+
setCalendariumSpace(calendariumSpace: ISpaceItemWithOptionalDbo<ICalendariumSpaceDbo>): void;
|
|
20
|
+
private processRecurringBriefs;
|
|
21
|
+
private processRecurring;
|
|
22
|
+
private addRecurringsToSlotsGroup;
|
|
23
|
+
}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { ICalendariumSpaceContext, ISlotUIContext, RecurringSlots, WeekdayCode2, IHappeningBrief } from '@sneat/mod-schedulus-core';
|
|
2
|
+
export type ISpaceRecurrings = {
|
|
3
|
+
readonly spaceID: string;
|
|
4
|
+
readonly recurringHappenings: Readonly<Record<string, IHappeningBrief>>;
|
|
5
|
+
};
|
|
6
|
+
export type RecurringsByWeekday = {
|
|
7
|
+
[wd in WeekdayCode2]: ISlotUIContext[];
|
|
8
|
+
};
|
|
9
|
+
export declare const emptyRecurringsByWeekday: () => RecurringsByWeekday;
|
|
10
|
+
export declare const groupRecurringSlotsByWeekday: (calendariumSpace?: ICalendariumSpaceContext) => RecurringSlots;
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import * as i0 from "@angular/core";
|
|
2
|
+
export declare class CalendariumServicesModule {
|
|
3
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<CalendariumServicesModule, never>;
|
|
4
|
+
static ɵmod: i0.ɵɵNgModuleDeclaration<CalendariumServicesModule, never, never, never>;
|
|
5
|
+
static ɵinj: i0.ɵɵInjectorDeclaration<CalendariumServicesModule>;
|
|
6
|
+
}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { ICalendariumSpaceDbo } from '@sneat/mod-schedulus-core';
|
|
2
|
+
import { SpaceModuleService } from '@sneat/space-services';
|
|
3
|
+
import * as i0 from "@angular/core";
|
|
4
|
+
export declare class CalendariumSpaceService extends SpaceModuleService<ICalendariumSpaceDbo> {
|
|
5
|
+
constructor();
|
|
6
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<CalendariumSpaceService, never>;
|
|
7
|
+
static ɵprov: i0.ɵɵInjectableDeclaration<CalendariumSpaceService>;
|
|
8
|
+
}
|
|
@@ -0,0 +1,99 @@
|
|
|
1
|
+
import { IFilter } from '@sneat/api';
|
|
2
|
+
import { HappeningStatus, IHappeningDbo, WeekdayCode2, IHappeningContext, IHappeningPrice, IHappeningSlotWithID } from '@sneat/mod-schedulus-core';
|
|
3
|
+
import { ISpaceContext, ISpaceRequest } from '@sneat/space-models';
|
|
4
|
+
import { Observable } from 'rxjs';
|
|
5
|
+
import * as i0 from "@angular/core";
|
|
6
|
+
export interface ICreateHappeningRequest {
|
|
7
|
+
readonly spaceID: string;
|
|
8
|
+
readonly happening: IHappeningDbo;
|
|
9
|
+
}
|
|
10
|
+
export interface IHappeningRequest extends ISpaceRequest {
|
|
11
|
+
readonly happeningID: string;
|
|
12
|
+
readonly happeningType?: string;
|
|
13
|
+
}
|
|
14
|
+
export interface IUpdateHappeningTextsRequest extends IHappeningRequest {
|
|
15
|
+
readonly title: string;
|
|
16
|
+
readonly summary?: string;
|
|
17
|
+
readonly description?: string;
|
|
18
|
+
}
|
|
19
|
+
export interface ISpaceModuleDocShortRef {
|
|
20
|
+
readonly id: string;
|
|
21
|
+
readonly spaceID?: string;
|
|
22
|
+
}
|
|
23
|
+
export interface IHappeningContactRequest extends ISpaceRequest {
|
|
24
|
+
readonly happeningID: string;
|
|
25
|
+
readonly contact: ISpaceModuleDocShortRef;
|
|
26
|
+
}
|
|
27
|
+
export interface IHappeningContactsRequest extends ISpaceRequest {
|
|
28
|
+
readonly happeningID: string;
|
|
29
|
+
readonly contacts: readonly ISpaceModuleDocShortRef[];
|
|
30
|
+
}
|
|
31
|
+
export interface IHappeningSlotRequest extends IHappeningRequest {
|
|
32
|
+
readonly slot: IHappeningSlotWithID;
|
|
33
|
+
}
|
|
34
|
+
export interface IHappeningPricesRequest extends IHappeningRequest {
|
|
35
|
+
readonly prices: readonly IHappeningPrice[];
|
|
36
|
+
}
|
|
37
|
+
export interface IDeleteHappeningPricesRequest extends IHappeningRequest {
|
|
38
|
+
readonly priceIDs: readonly string[];
|
|
39
|
+
}
|
|
40
|
+
export interface IHappeningSlotDateRequest extends IHappeningSlotRequest {
|
|
41
|
+
readonly date?: string;
|
|
42
|
+
}
|
|
43
|
+
export interface IHappeningDateSlotIDRequest extends IHappeningRequest {
|
|
44
|
+
readonly slotID: string;
|
|
45
|
+
readonly date: string;
|
|
46
|
+
}
|
|
47
|
+
export interface ISlotsRefRequest extends IHappeningRequest {
|
|
48
|
+
readonly slotIDs?: readonly string[];
|
|
49
|
+
readonly date?: string;
|
|
50
|
+
}
|
|
51
|
+
export interface ISlotRefRequest extends IHappeningRequest {
|
|
52
|
+
readonly slotID: string;
|
|
53
|
+
}
|
|
54
|
+
export interface ISlotRequest extends IHappeningRequest {
|
|
55
|
+
readonly date?: string;
|
|
56
|
+
readonly slotID?: string;
|
|
57
|
+
readonly weekday?: WeekdayCode2;
|
|
58
|
+
readonly reason?: string;
|
|
59
|
+
}
|
|
60
|
+
export interface IDeleteSlotRequest extends ISlotRefRequest {
|
|
61
|
+
readonly reason?: string;
|
|
62
|
+
}
|
|
63
|
+
export type ICancelHappeningRequest = ISlotRequest;
|
|
64
|
+
export declare class HappeningService {
|
|
65
|
+
private readonly errorLogger;
|
|
66
|
+
private readonly sneatApiService;
|
|
67
|
+
private readonly spaceItemService;
|
|
68
|
+
static statusFilter(statuses: HappeningStatus[]): IFilter;
|
|
69
|
+
constructor();
|
|
70
|
+
createHappening(request: ICreateHappeningRequest): Observable<unknown>;
|
|
71
|
+
cancelHappening(request: ICancelHappeningRequest): Observable<void>;
|
|
72
|
+
revokeHappeningCancellation(request: ICancelHappeningRequest): Observable<void>;
|
|
73
|
+
deleteHappening(happening: IHappeningContext): Observable<void>;
|
|
74
|
+
deleteSlot(request: IDeleteSlotRequest): Observable<void>;
|
|
75
|
+
updateHappeningTexts(request: IUpdateHappeningTextsRequest): Observable<void>;
|
|
76
|
+
readonly removeParticipant: (request: IHappeningContactRequest) => Observable<void>;
|
|
77
|
+
readonly removeParticipants: (request: IHappeningContactsRequest) => Observable<void>;
|
|
78
|
+
readonly addParticipant: (request: IHappeningContactRequest) => Observable<void>;
|
|
79
|
+
readonly addParticipants: (request: IHappeningContactsRequest) => Observable<void>;
|
|
80
|
+
readonly addSlot: (spaceID: string, happeningID: string, slot: IHappeningSlotWithID) => Observable<void>;
|
|
81
|
+
readonly updateSlot: (spaceID: string, happeningID: string, slot: IHappeningSlotWithID) => Observable<void>;
|
|
82
|
+
deleteHappeningPrices(request: IDeleteHappeningPricesRequest): Observable<void>;
|
|
83
|
+
setHappeningPrices(request: IHappeningPricesRequest): Observable<void>;
|
|
84
|
+
adjustSlot(spaceID: string, happeningID: string, slot: IHappeningSlotWithID, date: string): Observable<void>;
|
|
85
|
+
cancelAdjustment(spaceID: string, happeningID: string, slotID: string, date: string): Observable<void>;
|
|
86
|
+
watchHappeningByID(space: ISpaceContext, id: string): Observable<IHappeningContext>;
|
|
87
|
+
watchUpcomingSingles(space: ISpaceContext, statuses?: HappeningStatus[]): Observable<IHappeningContext[]>;
|
|
88
|
+
watchPastSingles(space: ISpaceContext, statuses?: HappeningStatus[]): Observable<IHappeningContext[]>;
|
|
89
|
+
watchRecentlyCreatedSingles(space: ISpaceContext, statuses?: HappeningStatus[]): Observable<IHappeningContext[]>;
|
|
90
|
+
private watchSingles;
|
|
91
|
+
watchSinglesOnSpecificDay(space: ISpaceContext, date: string, status?: HappeningStatus): Observable<IHappeningContext[]>;
|
|
92
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<HappeningService, never>;
|
|
93
|
+
static ɵprov: i0.ɵɵInjectableDeclaration<HappeningService>;
|
|
94
|
+
}
|
|
95
|
+
export declare class HappeningServiceModule {
|
|
96
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<HappeningServiceModule, never>;
|
|
97
|
+
static ɵmod: i0.ɵɵNgModuleDeclaration<HappeningServiceModule, never, never, never>;
|
|
98
|
+
static ɵinj: i0.ɵɵInjectorDeclaration<HappeningServiceModule>;
|
|
99
|
+
}
|
package/package.json
ADDED
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "@sneat/extensions-schedulus-shared",
|
|
3
|
+
"version": "0.3.0",
|
|
4
|
+
"publishConfig": {
|
|
5
|
+
"access": "public"
|
|
6
|
+
},
|
|
7
|
+
"peerDependencies": {
|
|
8
|
+
"@angular/common": ">=21.0.0",
|
|
9
|
+
"@angular/core": ">=21.0.0"
|
|
10
|
+
},
|
|
11
|
+
"dependencies": {
|
|
12
|
+
"tslib": "2.8.1"
|
|
13
|
+
},
|
|
14
|
+
"module": "esm2022/sneat-extensions-schedulus-shared.js",
|
|
15
|
+
"typings": "sneat-extensions-schedulus-shared.d.ts",
|
|
16
|
+
"exports": {
|
|
17
|
+
"./package.json": {
|
|
18
|
+
"default": "./package.json"
|
|
19
|
+
},
|
|
20
|
+
".": {
|
|
21
|
+
"types": "./sneat-extensions-schedulus-shared.d.ts",
|
|
22
|
+
"default": "./esm2022/sneat-extensions-schedulus-shared.js"
|
|
23
|
+
}
|
|
24
|
+
},
|
|
25
|
+
"sideEffects": false
|
|
26
|
+
}
|