@sprucelabs/spruce-calendar-components 24.2.16 → 24.2.18

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.
@@ -14,10 +14,10 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
14
14
  return (mod && mod.__esModule) ? mod : { "default": mod };
15
15
  };
16
16
  Object.defineProperty(exports, "__esModule", { value: true });
17
- const calendar_utils_1 = require("@sprucelabs/calendar-utils");
18
17
  const heartwood_view_controllers_1 = require("@sprucelabs/heartwood-view-controllers");
19
18
  const schema_1 = require("@sprucelabs/schema");
20
19
  const draftGenerator_1 = __importDefault(require("../utilities/draftGenerator"));
20
+ const StubPeopleSorter_1 = __importDefault(require("./StubPeopleSorter"));
21
21
  class CalendarViewController extends heartwood_view_controllers_1.CalendarViewController {
22
22
  constructor(options) {
23
23
  const { remoteEventStore, onDropEvent } = options, rest = __rest(options, ["remoteEventStore", "onDropEvent"]);
@@ -31,7 +31,7 @@ class CalendarViewController extends heartwood_view_controllers_1.CalendarViewCo
31
31
  this.activelyPersisting = {};
32
32
  this.isSwapping = false;
33
33
  const { onAddDraftEvent, onRemoveDraftEvent, onEventSwapped } = (0, schema_1.assertOptions)(options, ['onAddDraftEvent']);
34
- this.sorter = new calendar_utils_1.PeopleSorter();
34
+ this.sorter = new StubPeopleSorter_1.default();
35
35
  this.draftAddedHandler = onAddDraftEvent;
36
36
  this.draftRemovedHandler = onRemoveDraftEvent;
37
37
  this.eventSwappedHandler = onEventSwapped;
@@ -18,10 +18,10 @@ var __rest = (this && this.__rest) || function (s, e) {
18
18
  }
19
19
  return t;
20
20
  };
21
- import { PeopleSorter } from '@sprucelabs/calendar-utils';
22
21
  import { CalendarViewController as CoreCalendarViewController, } from '@sprucelabs/heartwood-view-controllers';
23
22
  import { assertOptions, SchemaError } from '@sprucelabs/schema';
24
23
  import draftEventGenerator from '../utilities/draftGenerator.js';
24
+ import StubPeopleSorter from './StubPeopleSorter.js';
25
25
  class CalendarViewController extends CoreCalendarViewController {
26
26
  constructor(options) {
27
27
  const { remoteEventStore, onDropEvent } = options, rest = __rest(options, ["remoteEventStore", "onDropEvent"]);
@@ -35,7 +35,7 @@ class CalendarViewController extends CoreCalendarViewController {
35
35
  this.activelyPersisting = {};
36
36
  this.isSwapping = false;
37
37
  const { onAddDraftEvent, onRemoveDraftEvent, onEventSwapped } = assertOptions(options, ['onAddDraftEvent']);
38
- this.sorter = new PeopleSorter();
38
+ this.sorter = new StubPeopleSorter();
39
39
  this.draftAddedHandler = onAddDraftEvent;
40
40
  this.draftRemovedHandler = onRemoveDraftEvent;
41
41
  this.eventSwappedHandler = onEventSwapped;
@@ -4,9 +4,10 @@ import CalendarViewController from '../calendar/Calendar.vc';
4
4
  import CalendarEventManager from '../calendar/CalendarEventManager';
5
5
  import CalendarPeopleManager from '../calendar/CalendarPeopleManager';
6
6
  import RemotePreferencesStore from '../stores/RemotePreferencesStore';
7
- import { CalendarToolBeltStateMachine } from '../types/calendar.types';
7
+ import { CalendarEvent, CalendarToolBeltStateMachine } from '../types/calendar.types';
8
8
  export default class RootSkillViewController extends AbstractSkillViewController<RootArgs> {
9
9
  static id: string;
10
+ static shouldConfirmDrops: boolean;
10
11
  private calendarVc;
11
12
  private toolBeltVc;
12
13
  private person?;
@@ -50,7 +51,7 @@ export default class RootSkillViewController extends AbstractSkillViewController
50
51
  private handleClickEvent;
51
52
  private handleDraftEventAdded;
52
53
  private handleEventSwapped;
53
- private handleDropEvent;
54
+ protected handleDropEvent(id: string, updates: Partial<CalendarEvent>): Promise<boolean>;
54
55
  private handleDraftEventRemoved;
55
56
  getPersonSelectVc(): import("../tools/PersonSelectTool.vc").default;
56
57
  renderToolBelt(): SpruceSchemas.HeartwoodViewControllers.v2021_02_11.ToolBelt;
@@ -280,6 +280,20 @@ class RootSkillViewController extends AbstractSkillViewController {
280
280
  }
281
281
  handleDropEvent(id, updates) {
282
282
  return __awaiter(this, void 0, void 0, function* () {
283
+ if (RootSkillViewController.shouldConfirmDrops) {
284
+ const pass = yield this.confirm({
285
+ message: 'Did you mean to do this?',
286
+ });
287
+ if (!pass) {
288
+ yield this.client.emit('vote-for-feature::v2020_12_25', {
289
+ payload: {
290
+ featureKey: 'no-bad-drags',
291
+ skillNamespace: 'calendar',
292
+ },
293
+ });
294
+ return false;
295
+ }
296
+ }
283
297
  return this.events.handleDropEvent(id, updates);
284
298
  });
285
299
  }
@@ -476,4 +490,5 @@ class RootSkillViewController extends AbstractSkillViewController {
476
490
  }
477
491
  }
478
492
  RootSkillViewController.id = 'root';
493
+ RootSkillViewController.shouldConfirmDrops = true;
479
494
  export default RootSkillViewController;
@@ -4,9 +4,10 @@ import CalendarViewController from '../calendar/Calendar.vc';
4
4
  import CalendarEventManager from '../calendar/CalendarEventManager';
5
5
  import CalendarPeopleManager from '../calendar/CalendarPeopleManager';
6
6
  import RemotePreferencesStore from '../stores/RemotePreferencesStore';
7
- import { CalendarToolBeltStateMachine } from '../types/calendar.types';
7
+ import { CalendarEvent, CalendarToolBeltStateMachine } from '../types/calendar.types';
8
8
  export default class RootSkillViewController extends AbstractSkillViewController<RootArgs> {
9
9
  static id: string;
10
+ static shouldConfirmDrops: boolean;
10
11
  private calendarVc;
11
12
  private toolBeltVc;
12
13
  private person?;
@@ -50,7 +51,7 @@ export default class RootSkillViewController extends AbstractSkillViewController
50
51
  private handleClickEvent;
51
52
  private handleDraftEventAdded;
52
53
  private handleEventSwapped;
53
- private handleDropEvent;
54
+ protected handleDropEvent(id: string, updates: Partial<CalendarEvent>): Promise<boolean>;
54
55
  private handleDraftEventRemoved;
55
56
  getPersonSelectVc(): import("../tools/PersonSelectTool.vc").default;
56
57
  renderToolBelt(): SpruceSchemas.HeartwoodViewControllers.v2021_02_11.ToolBelt;
@@ -245,6 +245,20 @@ class RootSkillViewController extends heartwood_view_controllers_1.AbstractSkill
245
245
  await this.events.silentlySwapEvent(draft.id, event);
246
246
  }
247
247
  async handleDropEvent(id, updates) {
248
+ if (RootSkillViewController.shouldConfirmDrops) {
249
+ const pass = await this.confirm({
250
+ message: 'Did you mean to do this?',
251
+ });
252
+ if (!pass) {
253
+ await this.client.emit('vote-for-feature::v2020_12_25', {
254
+ payload: {
255
+ featureKey: 'no-bad-drags',
256
+ skillNamespace: 'calendar',
257
+ },
258
+ });
259
+ return false;
260
+ }
261
+ }
248
262
  return this.events.handleDropEvent(id, updates);
249
263
  }
250
264
  async handleDraftEventRemoved() { }
@@ -416,4 +430,5 @@ class RootSkillViewController extends heartwood_view_controllers_1.AbstractSkill
416
430
  }
417
431
  }
418
432
  RootSkillViewController.id = 'root';
433
+ RootSkillViewController.shouldConfirmDrops = true;
419
434
  exports.default = RootSkillViewController;
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": "24.2.16",
4
+ "version": "24.2.18",
5
5
  "skill": {
6
6
  "namespace": "calendar"
7
7
  },