@sprucelabs/spruce-calendar-components 26.0.8 → 26.0.12

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.
@@ -8,21 +8,16 @@ const calendar_utils_1 = require("@sprucelabs/calendar-utils");
8
8
  const heartwood_view_controllers_1 = require("@sprucelabs/heartwood-view-controllers");
9
9
  const spruce_test_fixtures_1 = require("@sprucelabs/spruce-test-fixtures");
10
10
  const test_utils_1 = require("@sprucelabs/test-utils");
11
- const Calendar_vc_1 = __importDefault(require("../../calendar/Calendar.vc"));
12
11
  const RemotePreferencesStore_1 = __importDefault(require("../../stores/RemotePreferencesStore"));
13
12
  const draftGenerator_1 = __importDefault(require("../../utilities/draftGenerator"));
14
13
  const SpyEventManager_1 = __importDefault(require("./SpyEventManager"));
15
14
  const SpyPeopleManager_1 = __importDefault(require("./SpyPeopleManager"));
15
+ const mixinViewControllersForTests_1 = __importDefault(require("./utilities/mixinViewControllersForTests"));
16
16
  class CalendarToolBeltStateMachineTestFactory {
17
17
  static async StateMachine(views, options) {
18
18
  const { EventManagerClass, calendarVc: passedCalendarVc } = options !== null && options !== void 0 ? options : {};
19
19
  const factory = views.getFactory();
20
- if (!factory.hasController('calendar.calendar')) {
21
- factory.mixinControllers({
22
- //@ts-ignore
23
- 'calendar.calendar': Calendar_vc_1.default,
24
- });
25
- }
20
+ (0, mixinViewControllersForTests_1.default)(factory);
26
21
  const toolBeltVc = views.Controller('toolBelt', {});
27
22
  const event = heartwood_view_controllers_1.calendarSeeder.generateEventValues();
28
23
  const calendarVc = passedCalendarVc !== null && passedCalendarVc !== void 0 ? passedCalendarVc : views.Controller('calendar.calendar', {
@@ -9,18 +9,11 @@ const spruce_skill_utils_1 = require("@sprucelabs/spruce-skill-utils");
9
9
  const spruce_test_fixtures_1 = require("@sprucelabs/spruce-test-fixtures");
10
10
  const test_utils_1 = require("@sprucelabs/test-utils");
11
11
  const test_utils_2 = require("@sprucelabs/test-utils");
12
- const Calendar_vc_1 = __importDefault(require("../../../calendar/Calendar.vc"));
13
12
  const CalendarToolRegistrar_1 = __importDefault(require("../../../toolBelt/CalendarToolRegistrar"));
14
13
  const AbstractCalendarEventToolBeltState_1 = __importDefault(require("../../../toolBelt/states/AbstractCalendarEventToolBeltState"));
15
- const EventDateTimeTool_vc_1 = __importDefault(require("../../../tools/EventDateTimeTool.vc"));
16
- const EventDurationTool_vc_1 = __importDefault(require("../../../tools/EventDurationTool.vc"));
17
- const EventRepeatingTool_vc_1 = __importDefault(require("../../../tools/EventRepeatingTool.vc"));
18
- const EventTitleTool_vc_1 = __importDefault(require("../../../tools/EventTitleTool.vc"));
19
- const EventControlsCard_vc_1 = __importDefault(require("../../../viewControllers/EventControlsCard.vc"));
20
- const RepeatingControlsList_vc_1 = __importDefault(require("../../../viewControllers/RepeatingControlsList.vc"));
21
- const UniversalCalendarEvent_vc_1 = __importDefault(require("../../../viewControllers/UniversalCalendarEvent.vc"));
22
14
  const CalendarToolBeltStateMachineTestFactory_1 = __importDefault(require("../CalendarToolBeltStateMachineTestFactory"));
23
15
  const calendarToolBeltInteractor_1 = __importDefault(require("./calendarToolBeltInteractor"));
16
+ const mixinViewControllersForTests_1 = __importDefault(require("./mixinViewControllersForTests"));
24
17
  class TestTool1 extends heartwood_view_controllers_1.CardViewControllerImpl {
25
18
  async handleUpdateContext() { }
26
19
  getLineIcon() {
@@ -33,16 +26,6 @@ class TestTool2 extends heartwood_view_controllers_1.CardViewControllerImpl {
33
26
  return 'calendar';
34
27
  }
35
28
  }
36
- const vcs = {
37
- ['calendar.calendar']: Calendar_vc_1.default,
38
- ['calendar.repeating-controls-list']: RepeatingControlsList_vc_1.default,
39
- ['calendar.event-repeating-tool']: EventRepeatingTool_vc_1.default,
40
- ['calendar.event-duration-tool']: EventDurationTool_vc_1.default,
41
- ['calendar.event-date-time-tool']: EventDateTimeTool_vc_1.default,
42
- ['calendar.event-title-tool']: EventTitleTool_vc_1.default,
43
- ['calendar.event-controls-card']: EventControlsCard_vc_1.default,
44
- ['calendar.universal-calendar-event']: UniversalCalendarEvent_vc_1.default,
45
- };
46
29
  const calendarSkillAssert = {
47
30
  createdEventTypes: [],
48
31
  createdCalendars: [],
@@ -53,7 +36,7 @@ const calendarSkillAssert = {
53
36
  this.createdEventTypes = [];
54
37
  this.createdCalendars = [];
55
38
  const factory = views.getFactory();
56
- factory.mixinControllers(vcs);
39
+ (0, mixinViewControllersForTests_1.default)(factory);
57
40
  CalendarToolRegistrar_1.default.reset();
58
41
  await spruce_test_fixtures_1.eventFaker.on('calendar.register-event-tools::v2021_05_19', () => ({
59
42
  vcIds: [],
@@ -0,0 +1,2 @@
1
+ import { ViewControllerFactory } from '@sprucelabs/heartwood-view-controllers';
2
+ export default function mixinViewControllersForTests(factory: Pick<ViewControllerFactory, 'mixinControllers' | 'hasController' | 'setController'>): void;
@@ -0,0 +1,31 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ const Calendar_vc_1 = __importDefault(require("../../../calendar/Calendar.vc"));
7
+ const EventDateTimeTool_vc_1 = __importDefault(require("../../../tools/EventDateTimeTool.vc"));
8
+ const EventDurationTool_vc_1 = __importDefault(require("../../../tools/EventDurationTool.vc"));
9
+ const EventRepeatingTool_vc_1 = __importDefault(require("../../../tools/EventRepeatingTool.vc"));
10
+ const EventTitleTool_vc_1 = __importDefault(require("../../../tools/EventTitleTool.vc"));
11
+ const EventControlsCard_vc_1 = __importDefault(require("../../../viewControllers/EventControlsCard.vc"));
12
+ const RepeatingControlsList_vc_1 = __importDefault(require("../../../viewControllers/RepeatingControlsList.vc"));
13
+ const UniversalCalendarEvent_vc_1 = __importDefault(require("../../../viewControllers/UniversalCalendarEvent.vc"));
14
+ function mixinViewControllersForTests(factory) {
15
+ for (const [id, vc] of Object.entries(vcs)) {
16
+ if (!factory.hasController(id)) {
17
+ factory.setController(id, vc);
18
+ }
19
+ }
20
+ }
21
+ exports.default = mixinViewControllersForTests;
22
+ const vcs = {
23
+ ['calendar.calendar']: Calendar_vc_1.default,
24
+ ['calendar.repeating-controls-list']: RepeatingControlsList_vc_1.default,
25
+ ['calendar.event-repeating-tool']: EventRepeatingTool_vc_1.default,
26
+ ['calendar.event-duration-tool']: EventDurationTool_vc_1.default,
27
+ ['calendar.event-date-time-tool']: EventDateTimeTool_vc_1.default,
28
+ ['calendar.event-title-tool']: EventTitleTool_vc_1.default,
29
+ ['calendar.event-controls-card']: EventControlsCard_vc_1.default,
30
+ ['calendar.universal-calendar-event']: UniversalCalendarEvent_vc_1.default,
31
+ };
@@ -11,22 +11,17 @@ import { dateUtil } from '@sprucelabs/calendar-utils';
11
11
  import { calendarSeeder, ToolBeltStateMachine, } from '@sprucelabs/heartwood-view-controllers';
12
12
  import { fake } from '@sprucelabs/spruce-test-fixtures';
13
13
  import { generateId } from '@sprucelabs/test-utils';
14
- import CalendarViewController from '../../calendar/Calendar.vc.js';
15
14
  import RemotePreferencesStore from '../../stores/RemotePreferencesStore.js';
16
15
  import draftEventGenerator from '../../utilities/draftGenerator.js';
17
16
  import SpyEventManager from './SpyEventManager.js';
18
17
  import SpyPeopleManager from './SpyPeopleManager.js';
18
+ import mixinViewControllersForTests from './utilities/mixinViewControllersForTests.js';
19
19
  export default class CalendarToolBeltStateMachineTestFactory {
20
20
  static StateMachine(views, options) {
21
21
  return __awaiter(this, void 0, void 0, function* () {
22
22
  const { EventManagerClass, calendarVc: passedCalendarVc } = options !== null && options !== void 0 ? options : {};
23
23
  const factory = views.getFactory();
24
- if (!factory.hasController('calendar.calendar')) {
25
- factory.mixinControllers({
26
- //@ts-ignore
27
- 'calendar.calendar': CalendarViewController,
28
- });
29
- }
24
+ mixinViewControllersForTests(factory);
30
25
  const toolBeltVc = views.Controller('toolBelt', {});
31
26
  const event = calendarSeeder.generateEventValues();
32
27
  const calendarVc = passedCalendarVc !== null && passedCalendarVc !== void 0 ? passedCalendarVc : views.Controller('calendar.calendar', {
@@ -13,18 +13,11 @@ import { AuthService } from '@sprucelabs/spruce-skill-utils';
13
13
  import { eventFaker } from '@sprucelabs/spruce-test-fixtures';
14
14
  import { assert } from '@sprucelabs/test-utils';
15
15
  import { generateId } from '@sprucelabs/test-utils';
16
- import CalendarViewController from '../../../calendar/Calendar.vc.js';
17
16
  import CalendarToolRegistrar from '../../../toolBelt/CalendarToolRegistrar.js';
18
17
  import AbstractCalendarEventToolBeltState from '../../../toolBelt/states/AbstractCalendarEventToolBeltState.js';
19
- import EventDateTimeToolViewController from '../../../tools/EventDateTimeTool.vc.js';
20
- import EventDurationToolViewController from '../../../tools/EventDurationTool.vc.js';
21
- import EventRepeatingToolViewController from '../../../tools/EventRepeatingTool.vc.js';
22
- import EventTitleToolViewController from '../../../tools/EventTitleTool.vc.js';
23
- import EventControlsCardViewController from '../../../viewControllers/EventControlsCard.vc.js';
24
- import RepeatingControlsListViewController from '../../../viewControllers/RepeatingControlsList.vc.js';
25
- import UniversalCalendarEventViewController from '../../../viewControllers/UniversalCalendarEvent.vc.js';
26
18
  import CalendarToolBeltStateMachineTestFactory from '../CalendarToolBeltStateMachineTestFactory.js';
27
19
  import calendarToolBeltInteractor from './calendarToolBeltInteractor.js';
20
+ import mixinViewControllersForTests from './mixinViewControllersForTests.js';
28
21
  class TestTool1 extends CardViewControllerImpl {
29
22
  handleUpdateContext() {
30
23
  return __awaiter(this, void 0, void 0, function* () { });
@@ -39,16 +32,6 @@ class TestTool2 extends CardViewControllerImpl {
39
32
  return 'calendar';
40
33
  }
41
34
  }
42
- const vcs = {
43
- ['calendar.calendar']: CalendarViewController,
44
- ['calendar.repeating-controls-list']: RepeatingControlsListViewController,
45
- ['calendar.event-repeating-tool']: EventRepeatingToolViewController,
46
- ['calendar.event-duration-tool']: EventDurationToolViewController,
47
- ['calendar.event-date-time-tool']: EventDateTimeToolViewController,
48
- ['calendar.event-title-tool']: EventTitleToolViewController,
49
- ['calendar.event-controls-card']: EventControlsCardViewController,
50
- ['calendar.universal-calendar-event']: UniversalCalendarEventViewController,
51
- };
52
35
  const calendarSkillAssert = {
53
36
  createdEventTypes: [],
54
37
  createdCalendars: [],
@@ -60,7 +43,7 @@ const calendarSkillAssert = {
60
43
  this.createdEventTypes = [];
61
44
  this.createdCalendars = [];
62
45
  const factory = views.getFactory();
63
- factory.mixinControllers(vcs);
46
+ mixinViewControllersForTests(factory);
64
47
  CalendarToolRegistrar.reset();
65
48
  yield eventFaker.on('calendar.register-event-tools::v2021_05_19', () => ({
66
49
  vcIds: [],
@@ -0,0 +1,2 @@
1
+ import { ViewControllerFactory } from '@sprucelabs/heartwood-view-controllers';
2
+ export default function mixinViewControllersForTests(factory: Pick<ViewControllerFactory, 'mixinControllers' | 'hasController' | 'setController'>): void;
@@ -0,0 +1,25 @@
1
+ import CalendarViewController from '../../../calendar/Calendar.vc.js';
2
+ import EventDateTimeToolViewController from '../../../tools/EventDateTimeTool.vc.js';
3
+ import EventDurationToolViewController from '../../../tools/EventDurationTool.vc.js';
4
+ import EventRepeatingToolViewController from '../../../tools/EventRepeatingTool.vc.js';
5
+ import EventTitleToolViewController from '../../../tools/EventTitleTool.vc.js';
6
+ import EventControlsCardViewController from '../../../viewControllers/EventControlsCard.vc.js';
7
+ import RepeatingControlsListViewController from '../../../viewControllers/RepeatingControlsList.vc.js';
8
+ import UniversalCalendarEventViewController from '../../../viewControllers/UniversalCalendarEvent.vc.js';
9
+ export default function mixinViewControllersForTests(factory) {
10
+ for (const [id, vc] of Object.entries(vcs)) {
11
+ if (!factory.hasController(id)) {
12
+ factory.setController(id, vc);
13
+ }
14
+ }
15
+ }
16
+ const vcs = {
17
+ ['calendar.calendar']: CalendarViewController,
18
+ ['calendar.repeating-controls-list']: RepeatingControlsListViewController,
19
+ ['calendar.event-repeating-tool']: EventRepeatingToolViewController,
20
+ ['calendar.event-duration-tool']: EventDurationToolViewController,
21
+ ['calendar.event-date-time-tool']: EventDateTimeToolViewController,
22
+ ['calendar.event-title-tool']: EventTitleToolViewController,
23
+ ['calendar.event-controls-card']: EventControlsCardViewController,
24
+ ['calendar.universal-calendar-event']: UniversalCalendarEventViewController,
25
+ };
@@ -0,0 +1,6 @@
1
+ import { CalendarToolBeltStateMachine } from '../../types/calendar.types';
2
+ import AbstractCalendarEventToolBeltState from './AbstractCalendarEventToolBeltState';
3
+ export default class UniversalEventToolBeltState extends AbstractCalendarEventToolBeltState {
4
+ id: string;
5
+ load(stateMachine: CalendarToolBeltStateMachine): Promise<void>;
6
+ }
@@ -0,0 +1,34 @@
1
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
2
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
3
+ return new (P || (P = Promise))(function (resolve, reject) {
4
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
5
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
6
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
7
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
8
+ });
9
+ };
10
+ import AbstractCalendarEventToolBeltState from './AbstractCalendarEventToolBeltState.js';
11
+ export default class UniversalEventToolBeltState extends AbstractCalendarEventToolBeltState {
12
+ constructor() {
13
+ super(...arguments);
14
+ this.id = 'universal';
15
+ }
16
+ load(stateMachine) {
17
+ const _super = Object.create(null, {
18
+ load: { get: () => super.load }
19
+ });
20
+ return __awaiter(this, void 0, void 0, function* () {
21
+ yield _super.load.call(this, stateMachine);
22
+ yield this.addTool({
23
+ id: 'title',
24
+ lineIcon: 'edit-box',
25
+ cardVcId: 'calendar.event-title-card',
26
+ });
27
+ yield this.addTool({
28
+ id: 'repeating',
29
+ lineIcon: 'repeat',
30
+ cardVcId: 'calendar.event-repeating-tool',
31
+ });
32
+ });
33
+ }
34
+ }
@@ -0,0 +1,6 @@
1
+ import { CalendarToolBeltStateMachine } from '../../types/calendar.types';
2
+ import AbstractCalendarEventToolBeltState from './AbstractCalendarEventToolBeltState';
3
+ export default class UniversalEventToolBeltState extends AbstractCalendarEventToolBeltState {
4
+ id: string;
5
+ load(stateMachine: CalendarToolBeltStateMachine): Promise<void>;
6
+ }
@@ -0,0 +1,26 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ const AbstractCalendarEventToolBeltState_1 = __importDefault(require("./AbstractCalendarEventToolBeltState"));
7
+ class UniversalEventToolBeltState extends AbstractCalendarEventToolBeltState_1.default {
8
+ constructor() {
9
+ super(...arguments);
10
+ this.id = 'universal';
11
+ }
12
+ async load(stateMachine) {
13
+ await super.load(stateMachine);
14
+ await this.addTool({
15
+ id: 'title',
16
+ lineIcon: 'edit-box',
17
+ cardVcId: 'calendar.event-title-card',
18
+ });
19
+ await this.addTool({
20
+ id: 'repeating',
21
+ lineIcon: 'repeat',
22
+ cardVcId: 'calendar.event-repeating-tool',
23
+ });
24
+ }
25
+ }
26
+ exports.default = UniversalEventToolBeltState;
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": "26.0.8",
4
+ "version": "26.0.12",
5
5
  "skill": {
6
6
  "namespace": "calendar"
7
7
  },
@@ -30,6 +30,10 @@
30
30
  "build/__tests__/support/SpyRemoteEventStore.d.ts",
31
31
  "build/esm/__tests__/support/SpyRemoteEventStore.js",
32
32
  "build/esm/__tests__/support/SpyRemoteEventStore.d.ts",
33
+ "build/__tests__/support/utilities/mixinViewControllersForTests.js",
34
+ "build/__tests__/support/utilities/mixinViewControllersForTests.d.ts",
35
+ "build/esm/__tests__/support/utilities/mixinViewControllersForTests.js",
36
+ "build/esm/__tests__/support/utilities/mixinViewControllersForTests.d.ts",
33
37
  "build/__tests__/support/SpyRemotePreferencesStore.js",
34
38
  "build/__tests__/support/SpyRemotePreferencesStore.d.ts",
35
39
  "build/esm/__tests__/support/SpyRemotePreferencesStore.js",
@@ -106,6 +110,10 @@
106
110
  "build/toolBelt/states/makeEventTyped.d.ts",
107
111
  "build/esm/toolBelt/states/makeEventTyped.js",
108
112
  "build/esm/toolBelt/states/makeEventTyped.d.ts",
113
+ "build/toolBelt/states/UniversalEventToolBeltState.js",
114
+ "build/toolBelt/states/UniversalEventToolBeltState.d.ts",
115
+ "build/esm/toolBelt/states/UniversalEventToolBeltState.js",
116
+ "build/esm/toolBelt/states/UniversalEventToolBeltState.d.ts",
109
117
  "build/types/calendar.types.js",
110
118
  "build/types/calendar.types.d.ts",
111
119
  "build/esm/types/calendar.types.js",