@sprucelabs/spruce-calendar-components 22.10.32 → 22.10.33

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.
@@ -1,17 +1,6 @@
1
1
  import { SpruceSchemas, ViewControllerOptions, CalendarViewController as CoreCalendarViewController, ClickCalendarViewOptions, DropEventOptions, ClickEventOptions } from '@sprucelabs/heartwood-view-controllers';
2
2
  import { RemoteEventStore } from '../stores/RemoteEventStore';
3
3
  import { UpdateEvent } from '../types/calendar.types';
4
- export interface CalendarViewControllerOptions {
5
- people?: NonNullable<Calendar['people']>;
6
- remoteEventStore?: RemoteEventStore;
7
- onAddDraftEvent: DraftAddedHandler;
8
- onRemoveDraftEvent?: DraftRemovedHandler;
9
- onEventSwapped?: EventSwappedHandler;
10
- onDropEvent?: EventDroppedHandler;
11
- onClickEvent?: ClickEventHandler;
12
- onChangeStartDate?: StartDateTimeChangeHandler;
13
- onDeselectEvent?: DeselectEventHandler;
14
- }
15
4
  export default class CalendarViewController extends CoreCalendarViewController {
16
5
  static id: string;
17
6
  private remoteEventStore?;
@@ -25,6 +14,7 @@ export default class CalendarViewController extends CoreCalendarViewController {
25
14
  private activelyPersisting;
26
15
  private persistPromise?;
27
16
  constructor(options: ViewControllerOptions & CalendarViewControllerOptions);
17
+ protected handleLongPressViewDrop(options: ClickCalendarViewOptions): Promise<void>;
28
18
  private handleDropEvent;
29
19
  getCalendarVc(): this;
30
20
  setRemoteStore(remoteEventStore: RemoteEventStore): void;
@@ -33,7 +23,7 @@ export default class CalendarViewController extends CoreCalendarViewController {
33
23
  private isDraftEvent;
34
24
  protected getDraftEvent(): SpruceSchemas.HeartwoodViewControllers.v2021_02_11.CalendarEvent | undefined;
35
25
  private removeDraftEvent;
36
- private addDraftEventFromClick;
26
+ protected addDraftEventFromClick(options: ClickCalendarViewOptions): Promise<SpruceSchemas.HeartwoodViewControllers.v2021_02_11.CalendarEvent>;
37
27
  addDraftEvent(e: Omit<Event, 'id'>): Promise<SpruceSchemas.HeartwoodViewControllers.v2021_02_11.CalendarEvent>;
38
28
  getIsSwappingEvent(): boolean;
39
29
  private swapEvent;
@@ -80,4 +70,15 @@ declare type DraftRemovedHandler = () => void | Promise<void>;
80
70
  declare type ClickEventHandler = (options: ClickEventOptions) => void | Promise<void>;
81
71
  declare type StartDateTimeChangeHandler = (date: number) => void | Promise<void>;
82
72
  declare type DeselectEventHandler = () => void | Promise<void>;
73
+ export interface CalendarViewControllerOptions {
74
+ people?: NonNullable<Calendar['people']>;
75
+ remoteEventStore?: RemoteEventStore;
76
+ onAddDraftEvent: DraftAddedHandler;
77
+ onRemoveDraftEvent?: DraftRemovedHandler;
78
+ onEventSwapped?: EventSwappedHandler;
79
+ onDropEvent?: EventDroppedHandler;
80
+ onClickEvent?: ClickEventHandler;
81
+ onChangeStartDate?: StartDateTimeChangeHandler;
82
+ onDeselectEvent?: DeselectEventHandler;
83
+ }
83
84
  export {};
@@ -27,6 +27,8 @@ export default class CalendarViewController extends CoreCalendarViewController {
27
27
  const { remoteEventStore, onDropEvent } = options, rest = __rest(options, ["remoteEventStore", "onDropEvent"]);
28
28
  super(Object.assign(Object.assign({ view: 'day' }, rest), { onDropEvent: (options) => {
29
29
  return this.handleDropEvent(options);
30
+ }, onLongPressViewDrop: (options) => {
31
+ return this.handleLongPressViewDrop(options);
30
32
  } }));
31
33
  this.activelyPersisting = {};
32
34
  this.isSwapping = false;
@@ -41,6 +43,15 @@ export default class CalendarViewController extends CoreCalendarViewController {
41
43
  this.model.onClickView = this.handleClick.bind(this);
42
44
  this.setDefaultControllerForEvents('calendar.universal-calendar-event');
43
45
  }
46
+ handleLongPressViewDrop(options) {
47
+ return __awaiter(this, void 0, void 0, function* () {
48
+ const draft = this.getDraftEvent();
49
+ if (draft) {
50
+ yield this.removeDraftEvent(draft.id);
51
+ }
52
+ yield this.addDraftEventFromClick(options);
53
+ });
54
+ }
44
55
  handleDropEvent(options) {
45
56
  var _a;
46
57
  return __awaiter(this, void 0, void 0, function* () {
@@ -1,17 +1,6 @@
1
1
  import { SpruceSchemas, ViewControllerOptions, CalendarViewController as CoreCalendarViewController, ClickCalendarViewOptions, DropEventOptions, ClickEventOptions } from '@sprucelabs/heartwood-view-controllers';
2
2
  import { RemoteEventStore } from '../stores/RemoteEventStore';
3
3
  import { UpdateEvent } from '../types/calendar.types';
4
- export interface CalendarViewControllerOptions {
5
- people?: NonNullable<Calendar['people']>;
6
- remoteEventStore?: RemoteEventStore;
7
- onAddDraftEvent: DraftAddedHandler;
8
- onRemoveDraftEvent?: DraftRemovedHandler;
9
- onEventSwapped?: EventSwappedHandler;
10
- onDropEvent?: EventDroppedHandler;
11
- onClickEvent?: ClickEventHandler;
12
- onChangeStartDate?: StartDateTimeChangeHandler;
13
- onDeselectEvent?: DeselectEventHandler;
14
- }
15
4
  export default class CalendarViewController extends CoreCalendarViewController {
16
5
  static id: string;
17
6
  private remoteEventStore?;
@@ -25,6 +14,7 @@ export default class CalendarViewController extends CoreCalendarViewController {
25
14
  private activelyPersisting;
26
15
  private persistPromise?;
27
16
  constructor(options: ViewControllerOptions & CalendarViewControllerOptions);
17
+ protected handleLongPressViewDrop(options: ClickCalendarViewOptions): Promise<void>;
28
18
  private handleDropEvent;
29
19
  getCalendarVc(): this;
30
20
  setRemoteStore(remoteEventStore: RemoteEventStore): void;
@@ -33,7 +23,7 @@ export default class CalendarViewController extends CoreCalendarViewController {
33
23
  private isDraftEvent;
34
24
  protected getDraftEvent(): SpruceSchemas.HeartwoodViewControllers.v2021_02_11.CalendarEvent | undefined;
35
25
  private removeDraftEvent;
36
- private addDraftEventFromClick;
26
+ protected addDraftEventFromClick(options: ClickCalendarViewOptions): Promise<SpruceSchemas.HeartwoodViewControllers.v2021_02_11.CalendarEvent>;
37
27
  addDraftEvent(e: Omit<Event, 'id'>): Promise<SpruceSchemas.HeartwoodViewControllers.v2021_02_11.CalendarEvent>;
38
28
  getIsSwappingEvent(): boolean;
39
29
  private swapEvent;
@@ -80,4 +70,15 @@ declare type DraftRemovedHandler = () => void | Promise<void>;
80
70
  declare type ClickEventHandler = (options: ClickEventOptions) => void | Promise<void>;
81
71
  declare type StartDateTimeChangeHandler = (date: number) => void | Promise<void>;
82
72
  declare type DeselectEventHandler = () => void | Promise<void>;
73
+ export interface CalendarViewControllerOptions {
74
+ people?: NonNullable<Calendar['people']>;
75
+ remoteEventStore?: RemoteEventStore;
76
+ onAddDraftEvent: DraftAddedHandler;
77
+ onRemoveDraftEvent?: DraftRemovedHandler;
78
+ onEventSwapped?: EventSwappedHandler;
79
+ onDropEvent?: EventDroppedHandler;
80
+ onClickEvent?: ClickEventHandler;
81
+ onChangeStartDate?: StartDateTimeChangeHandler;
82
+ onDeselectEvent?: DeselectEventHandler;
83
+ }
83
84
  export {};
@@ -23,6 +23,8 @@ class CalendarViewController extends heartwood_view_controllers_1.CalendarViewCo
23
23
  const { remoteEventStore, onDropEvent } = options, rest = __rest(options, ["remoteEventStore", "onDropEvent"]);
24
24
  super(Object.assign(Object.assign({ view: 'day' }, rest), { onDropEvent: (options) => {
25
25
  return this.handleDropEvent(options);
26
+ }, onLongPressViewDrop: (options) => {
27
+ return this.handleLongPressViewDrop(options);
26
28
  } }));
27
29
  this.activelyPersisting = {};
28
30
  this.isSwapping = false;
@@ -37,6 +39,13 @@ class CalendarViewController extends heartwood_view_controllers_1.CalendarViewCo
37
39
  this.model.onClickView = this.handleClick.bind(this);
38
40
  this.setDefaultControllerForEvents('calendar.universal-calendar-event');
39
41
  }
42
+ async handleLongPressViewDrop(options) {
43
+ const draft = this.getDraftEvent();
44
+ if (draft) {
45
+ await this.removeDraftEvent(draft.id);
46
+ }
47
+ await this.addDraftEventFromClick(options);
48
+ }
40
49
  async handleDropEvent(options) {
41
50
  var _a;
42
51
  const { event, blockUpdates, newPersonId, newStartDateTimeMs } = options;
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@sprucelabs/spruce-calendar-components",
3
3
  "description": "Calendar components for working with calendars and Sprucebot.",
4
- "version": "22.10.32",
4
+ "version": "22.10.33",
5
5
  "skill": {
6
6
  "namespace": "calendar"
7
7
  },