@sprucelabs/spruce-calendar-components 20.9.12 → 20.9.15

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.
@@ -867,138 +867,6 @@ declare module '@sprucelabs/spruce-core-schemas/build/.spruce/schemas/core.schem
867
867
  }
868
868
  type CancelCalendarEventResponsePayloadEntity = SchemaEntity<SpruceSchemas.Calendar.v2021_05_19.CancelCalendarEventResponsePayloadSchema>;
869
869
  }
870
- namespace SpruceSchemas.Calendar.v2021_05_19 {
871
- interface CreateCalendarEmitTarget {
872
- 'organizationId': string;
873
- }
874
- interface CreateCalendarEmitTargetSchema extends SpruceSchema.Schema {
875
- id: 'createCalendarEmitTarget';
876
- version: 'v2021_05_19';
877
- namespace: 'Calendar';
878
- name: '';
879
- fields: {
880
- /** . */
881
- 'organizationId': {
882
- type: 'id';
883
- isRequired: true;
884
- options: undefined;
885
- };
886
- };
887
- }
888
- type CreateCalendarEmitTargetEntity = SchemaEntity<SpruceSchemas.Calendar.v2021_05_19.CreateCalendarEmitTargetSchema>;
889
- }
890
- namespace SpruceSchemas.Calendar.v2021_05_19 {
891
- interface CreateCalendarEmitPayload {
892
- 'slug': string;
893
- 'title': string;
894
- 'eventTypes'?: string[] | undefined | null;
895
- 'availableTimeSlotBehavior'?: ("include" | "exclude") | undefined | null;
896
- }
897
- interface CreateCalendarEmitPayloadSchema extends SpruceSchema.Schema {
898
- id: 'createCalendarEmitPayload';
899
- version: 'v2021_05_19';
900
- namespace: 'Calendar';
901
- name: '';
902
- fields: {
903
- /** . */
904
- 'slug': {
905
- type: 'id';
906
- isRequired: true;
907
- options: undefined;
908
- };
909
- /** . */
910
- 'title': {
911
- type: 'text';
912
- isRequired: true;
913
- options: undefined;
914
- };
915
- /** . */
916
- 'eventTypes': {
917
- type: 'text';
918
- isArray: true;
919
- minArrayLength: 0;
920
- options: undefined;
921
- };
922
- /** . */
923
- 'availableTimeSlotBehavior': {
924
- type: 'select';
925
- options: {
926
- choices: [{
927
- "value": "include";
928
- "label": "Include";
929
- }, {
930
- "value": "exclude";
931
- "label": "Exclude";
932
- }];
933
- };
934
- };
935
- };
936
- }
937
- type CreateCalendarEmitPayloadEntity = SchemaEntity<SpruceSchemas.Calendar.v2021_05_19.CreateCalendarEmitPayloadSchema>;
938
- }
939
- namespace SpruceSchemas.Calendar.v2021_05_19 {
940
- interface CreateCalendarEmitTargetAndPayload {
941
- /** Source. */
942
- 'source'?: SpruceSchemas.SpruceEventUtils.v2021_09_13.EventSource | undefined | null;
943
- 'target': SpruceSchemas.Calendar.v2021_05_19.CreateCalendarEmitTarget;
944
- 'payload': SpruceSchemas.Calendar.v2021_05_19.CreateCalendarEmitPayload;
945
- }
946
- interface CreateCalendarEmitTargetAndPayloadSchema extends SpruceSchema.Schema {
947
- id: 'createCalendarEmitTargetAndPayload';
948
- version: 'v2021_05_19';
949
- namespace: 'Calendar';
950
- name: '';
951
- fields: {
952
- /** Source. */
953
- 'source': {
954
- label: 'Source';
955
- type: 'schema';
956
- options: {
957
- schema: SpruceSchemas.SpruceEventUtils.v2021_09_13.EventSourceSchema;
958
- };
959
- };
960
- /** . */
961
- 'target': {
962
- type: 'schema';
963
- isRequired: true;
964
- options: {
965
- schema: SpruceSchemas.Calendar.v2021_05_19.CreateCalendarEmitTargetSchema;
966
- };
967
- };
968
- /** . */
969
- 'payload': {
970
- type: 'schema';
971
- isRequired: true;
972
- options: {
973
- schema: SpruceSchemas.Calendar.v2021_05_19.CreateCalendarEmitPayloadSchema;
974
- };
975
- };
976
- };
977
- }
978
- type CreateCalendarEmitTargetAndPayloadEntity = SchemaEntity<SpruceSchemas.Calendar.v2021_05_19.CreateCalendarEmitTargetAndPayloadSchema>;
979
- }
980
- namespace SpruceSchemas.Calendar.v2021_05_19 {
981
- interface CreateCalendarResponsePayload {
982
- 'calendar': SpruceSchemas.Calendar.v2021_05_19.Calendar;
983
- }
984
- interface CreateCalendarResponsePayloadSchema extends SpruceSchema.Schema {
985
- id: 'createCalendarResponsePayload';
986
- version: 'v2021_05_19';
987
- namespace: 'Calendar';
988
- name: '';
989
- fields: {
990
- /** . */
991
- 'calendar': {
992
- type: 'schema';
993
- isRequired: true;
994
- options: {
995
- schema: SpruceSchemas.Calendar.v2021_05_19.CalendarSchema;
996
- };
997
- };
998
- };
999
- }
1000
- type CreateCalendarResponsePayloadEntity = SchemaEntity<SpruceSchemas.Calendar.v2021_05_19.CreateCalendarResponsePayloadSchema>;
1001
- }
1002
870
  namespace SpruceSchemas.Calendar.v2021_05_19 {
1003
871
  interface CreateCalendarEventTypeEmitPayload {
1004
872
  'name': string;
@@ -1505,6 +1373,138 @@ declare module '@sprucelabs/spruce-core-schemas/build/.spruce/schemas/core.schem
1505
1373
  }
1506
1374
  type CreateCalendarEventTypeResponsePayloadEntity = SchemaEntity<SpruceSchemas.Calendar.v2021_05_19.CreateCalendarEventTypeResponsePayloadSchema>;
1507
1375
  }
1376
+ namespace SpruceSchemas.Calendar.v2021_05_19 {
1377
+ interface CreateCalendarEmitTarget {
1378
+ 'organizationId': string;
1379
+ }
1380
+ interface CreateCalendarEmitTargetSchema extends SpruceSchema.Schema {
1381
+ id: 'createCalendarEmitTarget';
1382
+ version: 'v2021_05_19';
1383
+ namespace: 'Calendar';
1384
+ name: '';
1385
+ fields: {
1386
+ /** . */
1387
+ 'organizationId': {
1388
+ type: 'id';
1389
+ isRequired: true;
1390
+ options: undefined;
1391
+ };
1392
+ };
1393
+ }
1394
+ type CreateCalendarEmitTargetEntity = SchemaEntity<SpruceSchemas.Calendar.v2021_05_19.CreateCalendarEmitTargetSchema>;
1395
+ }
1396
+ namespace SpruceSchemas.Calendar.v2021_05_19 {
1397
+ interface CreateCalendarEmitPayload {
1398
+ 'slug': string;
1399
+ 'title': string;
1400
+ 'eventTypes'?: string[] | undefined | null;
1401
+ 'availableTimeSlotBehavior'?: ("include" | "exclude") | undefined | null;
1402
+ }
1403
+ interface CreateCalendarEmitPayloadSchema extends SpruceSchema.Schema {
1404
+ id: 'createCalendarEmitPayload';
1405
+ version: 'v2021_05_19';
1406
+ namespace: 'Calendar';
1407
+ name: '';
1408
+ fields: {
1409
+ /** . */
1410
+ 'slug': {
1411
+ type: 'id';
1412
+ isRequired: true;
1413
+ options: undefined;
1414
+ };
1415
+ /** . */
1416
+ 'title': {
1417
+ type: 'text';
1418
+ isRequired: true;
1419
+ options: undefined;
1420
+ };
1421
+ /** . */
1422
+ 'eventTypes': {
1423
+ type: 'text';
1424
+ isArray: true;
1425
+ minArrayLength: 0;
1426
+ options: undefined;
1427
+ };
1428
+ /** . */
1429
+ 'availableTimeSlotBehavior': {
1430
+ type: 'select';
1431
+ options: {
1432
+ choices: [{
1433
+ "value": "include";
1434
+ "label": "Include";
1435
+ }, {
1436
+ "value": "exclude";
1437
+ "label": "Exclude";
1438
+ }];
1439
+ };
1440
+ };
1441
+ };
1442
+ }
1443
+ type CreateCalendarEmitPayloadEntity = SchemaEntity<SpruceSchemas.Calendar.v2021_05_19.CreateCalendarEmitPayloadSchema>;
1444
+ }
1445
+ namespace SpruceSchemas.Calendar.v2021_05_19 {
1446
+ interface CreateCalendarEmitTargetAndPayload {
1447
+ /** Source. */
1448
+ 'source'?: SpruceSchemas.SpruceEventUtils.v2021_09_13.EventSource | undefined | null;
1449
+ 'target': SpruceSchemas.Calendar.v2021_05_19.CreateCalendarEmitTarget;
1450
+ 'payload': SpruceSchemas.Calendar.v2021_05_19.CreateCalendarEmitPayload;
1451
+ }
1452
+ interface CreateCalendarEmitTargetAndPayloadSchema extends SpruceSchema.Schema {
1453
+ id: 'createCalendarEmitTargetAndPayload';
1454
+ version: 'v2021_05_19';
1455
+ namespace: 'Calendar';
1456
+ name: '';
1457
+ fields: {
1458
+ /** Source. */
1459
+ 'source': {
1460
+ label: 'Source';
1461
+ type: 'schema';
1462
+ options: {
1463
+ schema: SpruceSchemas.SpruceEventUtils.v2021_09_13.EventSourceSchema;
1464
+ };
1465
+ };
1466
+ /** . */
1467
+ 'target': {
1468
+ type: 'schema';
1469
+ isRequired: true;
1470
+ options: {
1471
+ schema: SpruceSchemas.Calendar.v2021_05_19.CreateCalendarEmitTargetSchema;
1472
+ };
1473
+ };
1474
+ /** . */
1475
+ 'payload': {
1476
+ type: 'schema';
1477
+ isRequired: true;
1478
+ options: {
1479
+ schema: SpruceSchemas.Calendar.v2021_05_19.CreateCalendarEmitPayloadSchema;
1480
+ };
1481
+ };
1482
+ };
1483
+ }
1484
+ type CreateCalendarEmitTargetAndPayloadEntity = SchemaEntity<SpruceSchemas.Calendar.v2021_05_19.CreateCalendarEmitTargetAndPayloadSchema>;
1485
+ }
1486
+ namespace SpruceSchemas.Calendar.v2021_05_19 {
1487
+ interface CreateCalendarResponsePayload {
1488
+ 'calendar': SpruceSchemas.Calendar.v2021_05_19.Calendar;
1489
+ }
1490
+ interface CreateCalendarResponsePayloadSchema extends SpruceSchema.Schema {
1491
+ id: 'createCalendarResponsePayload';
1492
+ version: 'v2021_05_19';
1493
+ namespace: 'Calendar';
1494
+ name: '';
1495
+ fields: {
1496
+ /** . */
1497
+ 'calendar': {
1498
+ type: 'schema';
1499
+ isRequired: true;
1500
+ options: {
1501
+ schema: SpruceSchemas.Calendar.v2021_05_19.CalendarSchema;
1502
+ };
1503
+ };
1504
+ };
1505
+ }
1506
+ type CreateCalendarResponsePayloadEntity = SchemaEntity<SpruceSchemas.Calendar.v2021_05_19.CreateCalendarResponsePayloadSchema>;
1507
+ }
1508
1508
  namespace SpruceSchemas.Calendar.v2021_05_19 {
1509
1509
  interface DeleteCalendarEmitTarget {
1510
1510
  'organizationId': string;
@@ -867,138 +867,6 @@ declare module '@sprucelabs/spruce-core-schemas/build/.spruce/schemas/core.schem
867
867
  }
868
868
  type CancelCalendarEventResponsePayloadEntity = SchemaEntity<SpruceSchemas.Calendar.v2021_05_19.CancelCalendarEventResponsePayloadSchema>;
869
869
  }
870
- namespace SpruceSchemas.Calendar.v2021_05_19 {
871
- interface CreateCalendarEmitTarget {
872
- 'organizationId': string;
873
- }
874
- interface CreateCalendarEmitTargetSchema extends SpruceSchema.Schema {
875
- id: 'createCalendarEmitTarget';
876
- version: 'v2021_05_19';
877
- namespace: 'Calendar';
878
- name: '';
879
- fields: {
880
- /** . */
881
- 'organizationId': {
882
- type: 'id';
883
- isRequired: true;
884
- options: undefined;
885
- };
886
- };
887
- }
888
- type CreateCalendarEmitTargetEntity = SchemaEntity<SpruceSchemas.Calendar.v2021_05_19.CreateCalendarEmitTargetSchema>;
889
- }
890
- namespace SpruceSchemas.Calendar.v2021_05_19 {
891
- interface CreateCalendarEmitPayload {
892
- 'slug': string;
893
- 'title': string;
894
- 'eventTypes'?: string[] | undefined | null;
895
- 'availableTimeSlotBehavior'?: ("include" | "exclude") | undefined | null;
896
- }
897
- interface CreateCalendarEmitPayloadSchema extends SpruceSchema.Schema {
898
- id: 'createCalendarEmitPayload';
899
- version: 'v2021_05_19';
900
- namespace: 'Calendar';
901
- name: '';
902
- fields: {
903
- /** . */
904
- 'slug': {
905
- type: 'id';
906
- isRequired: true;
907
- options: undefined;
908
- };
909
- /** . */
910
- 'title': {
911
- type: 'text';
912
- isRequired: true;
913
- options: undefined;
914
- };
915
- /** . */
916
- 'eventTypes': {
917
- type: 'text';
918
- isArray: true;
919
- minArrayLength: 0;
920
- options: undefined;
921
- };
922
- /** . */
923
- 'availableTimeSlotBehavior': {
924
- type: 'select';
925
- options: {
926
- choices: [{
927
- "value": "include";
928
- "label": "Include";
929
- }, {
930
- "value": "exclude";
931
- "label": "Exclude";
932
- }];
933
- };
934
- };
935
- };
936
- }
937
- type CreateCalendarEmitPayloadEntity = SchemaEntity<SpruceSchemas.Calendar.v2021_05_19.CreateCalendarEmitPayloadSchema>;
938
- }
939
- namespace SpruceSchemas.Calendar.v2021_05_19 {
940
- interface CreateCalendarEmitTargetAndPayload {
941
- /** Source. */
942
- 'source'?: SpruceSchemas.SpruceEventUtils.v2021_09_13.EventSource | undefined | null;
943
- 'target': SpruceSchemas.Calendar.v2021_05_19.CreateCalendarEmitTarget;
944
- 'payload': SpruceSchemas.Calendar.v2021_05_19.CreateCalendarEmitPayload;
945
- }
946
- interface CreateCalendarEmitTargetAndPayloadSchema extends SpruceSchema.Schema {
947
- id: 'createCalendarEmitTargetAndPayload';
948
- version: 'v2021_05_19';
949
- namespace: 'Calendar';
950
- name: '';
951
- fields: {
952
- /** Source. */
953
- 'source': {
954
- label: 'Source';
955
- type: 'schema';
956
- options: {
957
- schema: SpruceSchemas.SpruceEventUtils.v2021_09_13.EventSourceSchema;
958
- };
959
- };
960
- /** . */
961
- 'target': {
962
- type: 'schema';
963
- isRequired: true;
964
- options: {
965
- schema: SpruceSchemas.Calendar.v2021_05_19.CreateCalendarEmitTargetSchema;
966
- };
967
- };
968
- /** . */
969
- 'payload': {
970
- type: 'schema';
971
- isRequired: true;
972
- options: {
973
- schema: SpruceSchemas.Calendar.v2021_05_19.CreateCalendarEmitPayloadSchema;
974
- };
975
- };
976
- };
977
- }
978
- type CreateCalendarEmitTargetAndPayloadEntity = SchemaEntity<SpruceSchemas.Calendar.v2021_05_19.CreateCalendarEmitTargetAndPayloadSchema>;
979
- }
980
- namespace SpruceSchemas.Calendar.v2021_05_19 {
981
- interface CreateCalendarResponsePayload {
982
- 'calendar': SpruceSchemas.Calendar.v2021_05_19.Calendar;
983
- }
984
- interface CreateCalendarResponsePayloadSchema extends SpruceSchema.Schema {
985
- id: 'createCalendarResponsePayload';
986
- version: 'v2021_05_19';
987
- namespace: 'Calendar';
988
- name: '';
989
- fields: {
990
- /** . */
991
- 'calendar': {
992
- type: 'schema';
993
- isRequired: true;
994
- options: {
995
- schema: SpruceSchemas.Calendar.v2021_05_19.CalendarSchema;
996
- };
997
- };
998
- };
999
- }
1000
- type CreateCalendarResponsePayloadEntity = SchemaEntity<SpruceSchemas.Calendar.v2021_05_19.CreateCalendarResponsePayloadSchema>;
1001
- }
1002
870
  namespace SpruceSchemas.Calendar.v2021_05_19 {
1003
871
  interface CreateCalendarEventTypeEmitPayload {
1004
872
  'name': string;
@@ -1505,6 +1373,138 @@ declare module '@sprucelabs/spruce-core-schemas/build/.spruce/schemas/core.schem
1505
1373
  }
1506
1374
  type CreateCalendarEventTypeResponsePayloadEntity = SchemaEntity<SpruceSchemas.Calendar.v2021_05_19.CreateCalendarEventTypeResponsePayloadSchema>;
1507
1375
  }
1376
+ namespace SpruceSchemas.Calendar.v2021_05_19 {
1377
+ interface CreateCalendarEmitTarget {
1378
+ 'organizationId': string;
1379
+ }
1380
+ interface CreateCalendarEmitTargetSchema extends SpruceSchema.Schema {
1381
+ id: 'createCalendarEmitTarget';
1382
+ version: 'v2021_05_19';
1383
+ namespace: 'Calendar';
1384
+ name: '';
1385
+ fields: {
1386
+ /** . */
1387
+ 'organizationId': {
1388
+ type: 'id';
1389
+ isRequired: true;
1390
+ options: undefined;
1391
+ };
1392
+ };
1393
+ }
1394
+ type CreateCalendarEmitTargetEntity = SchemaEntity<SpruceSchemas.Calendar.v2021_05_19.CreateCalendarEmitTargetSchema>;
1395
+ }
1396
+ namespace SpruceSchemas.Calendar.v2021_05_19 {
1397
+ interface CreateCalendarEmitPayload {
1398
+ 'slug': string;
1399
+ 'title': string;
1400
+ 'eventTypes'?: string[] | undefined | null;
1401
+ 'availableTimeSlotBehavior'?: ("include" | "exclude") | undefined | null;
1402
+ }
1403
+ interface CreateCalendarEmitPayloadSchema extends SpruceSchema.Schema {
1404
+ id: 'createCalendarEmitPayload';
1405
+ version: 'v2021_05_19';
1406
+ namespace: 'Calendar';
1407
+ name: '';
1408
+ fields: {
1409
+ /** . */
1410
+ 'slug': {
1411
+ type: 'id';
1412
+ isRequired: true;
1413
+ options: undefined;
1414
+ };
1415
+ /** . */
1416
+ 'title': {
1417
+ type: 'text';
1418
+ isRequired: true;
1419
+ options: undefined;
1420
+ };
1421
+ /** . */
1422
+ 'eventTypes': {
1423
+ type: 'text';
1424
+ isArray: true;
1425
+ minArrayLength: 0;
1426
+ options: undefined;
1427
+ };
1428
+ /** . */
1429
+ 'availableTimeSlotBehavior': {
1430
+ type: 'select';
1431
+ options: {
1432
+ choices: [{
1433
+ "value": "include";
1434
+ "label": "Include";
1435
+ }, {
1436
+ "value": "exclude";
1437
+ "label": "Exclude";
1438
+ }];
1439
+ };
1440
+ };
1441
+ };
1442
+ }
1443
+ type CreateCalendarEmitPayloadEntity = SchemaEntity<SpruceSchemas.Calendar.v2021_05_19.CreateCalendarEmitPayloadSchema>;
1444
+ }
1445
+ namespace SpruceSchemas.Calendar.v2021_05_19 {
1446
+ interface CreateCalendarEmitTargetAndPayload {
1447
+ /** Source. */
1448
+ 'source'?: SpruceSchemas.SpruceEventUtils.v2021_09_13.EventSource | undefined | null;
1449
+ 'target': SpruceSchemas.Calendar.v2021_05_19.CreateCalendarEmitTarget;
1450
+ 'payload': SpruceSchemas.Calendar.v2021_05_19.CreateCalendarEmitPayload;
1451
+ }
1452
+ interface CreateCalendarEmitTargetAndPayloadSchema extends SpruceSchema.Schema {
1453
+ id: 'createCalendarEmitTargetAndPayload';
1454
+ version: 'v2021_05_19';
1455
+ namespace: 'Calendar';
1456
+ name: '';
1457
+ fields: {
1458
+ /** Source. */
1459
+ 'source': {
1460
+ label: 'Source';
1461
+ type: 'schema';
1462
+ options: {
1463
+ schema: SpruceSchemas.SpruceEventUtils.v2021_09_13.EventSourceSchema;
1464
+ };
1465
+ };
1466
+ /** . */
1467
+ 'target': {
1468
+ type: 'schema';
1469
+ isRequired: true;
1470
+ options: {
1471
+ schema: SpruceSchemas.Calendar.v2021_05_19.CreateCalendarEmitTargetSchema;
1472
+ };
1473
+ };
1474
+ /** . */
1475
+ 'payload': {
1476
+ type: 'schema';
1477
+ isRequired: true;
1478
+ options: {
1479
+ schema: SpruceSchemas.Calendar.v2021_05_19.CreateCalendarEmitPayloadSchema;
1480
+ };
1481
+ };
1482
+ };
1483
+ }
1484
+ type CreateCalendarEmitTargetAndPayloadEntity = SchemaEntity<SpruceSchemas.Calendar.v2021_05_19.CreateCalendarEmitTargetAndPayloadSchema>;
1485
+ }
1486
+ namespace SpruceSchemas.Calendar.v2021_05_19 {
1487
+ interface CreateCalendarResponsePayload {
1488
+ 'calendar': SpruceSchemas.Calendar.v2021_05_19.Calendar;
1489
+ }
1490
+ interface CreateCalendarResponsePayloadSchema extends SpruceSchema.Schema {
1491
+ id: 'createCalendarResponsePayload';
1492
+ version: 'v2021_05_19';
1493
+ namespace: 'Calendar';
1494
+ name: '';
1495
+ fields: {
1496
+ /** . */
1497
+ 'calendar': {
1498
+ type: 'schema';
1499
+ isRequired: true;
1500
+ options: {
1501
+ schema: SpruceSchemas.Calendar.v2021_05_19.CalendarSchema;
1502
+ };
1503
+ };
1504
+ };
1505
+ }
1506
+ type CreateCalendarResponsePayloadEntity = SchemaEntity<SpruceSchemas.Calendar.v2021_05_19.CreateCalendarResponsePayloadSchema>;
1507
+ }
1508
1508
  namespace SpruceSchemas.Calendar.v2021_05_19 {
1509
1509
  interface DeleteCalendarEmitTarget {
1510
1510
  'organizationId': string;
@@ -126,15 +126,16 @@ export default class AbstractCalendarEventToolBeltState {
126
126
  return __awaiter(this, void 0, void 0, function* () {
127
127
  const pendingUpdates = Object.assign(Object.assign({}, this.pendingContextUpdates), updates);
128
128
  if (equalDeep(this.pendingContextUpdates, pendingUpdates)) {
129
- return;
129
+ return false;
130
130
  }
131
131
  this.pendingContextUpdates = pendingUpdates;
132
132
  yield this.handleDidUpdateContext(fromToolId);
133
133
  const vc = this.getVcForTool(fromToolId);
134
134
  if ((vc === null || vc === void 0 ? void 0 : vc.shouldPersistContextChangesImmediately) ||
135
135
  (options === null || options === void 0 ? void 0 : options.shouldPersistContextChangesImmediately)) {
136
- yield this.sm.updateContext(Object.assign({}, updates));
136
+ return this.sm.updateContext(Object.assign({}, updates));
137
137
  }
138
+ return false;
138
139
  });
139
140
  }
140
141
  removeTool(id) {
@@ -22,7 +22,9 @@ declare type ICalendarToolBeltContext = SkillViewControllerLoadOptions & {
22
22
  };
23
23
  export interface CalendarToolBeltContext extends ICalendarToolBeltContext {
24
24
  }
25
- export declare type CalendarToolBeltStateMachine = ToolBeltStateMachine<CalendarToolBeltContext>;
25
+ export interface CalendarToolBeltStateMachine<Context extends CalendarToolBeltContext = CalendarToolBeltContext> extends ToolBeltStateMachine<Context> {
26
+ updateContext: UpdateCalendarToolBeltContextHandler<Context>;
27
+ }
26
28
  export interface RemoteCalendarTool extends CalendarTool {
27
29
  getLineIcon(): LineIcon;
28
30
  }
@@ -34,7 +36,7 @@ export interface CalendarTool extends AbstractViewController<Card> {
34
36
  export interface UpdateCalendarContextOptions {
35
37
  shouldPersistContextChangesImmediately?: boolean;
36
38
  }
37
- export declare type UpdateCalendarToolBeltContextHandler = (context: Partial<CalendarToolBeltContext>, options?: UpdateCalendarContextOptions) => Promise<void>;
39
+ export declare type UpdateCalendarToolBeltContextHandler<Context extends CalendarToolBeltContext = CalendarToolBeltContext> = (context: Partial<Context>, options?: UpdateCalendarContextOptions) => Promise<boolean>;
38
40
  export declare type GetCalendarToolBeltContextHandler = () => CalendarToolBeltContext;
39
41
  export declare type GetPersonFromEventHandler = () => Promise<Person | null>;
40
42
  export declare type GetHasPendingContextChangesHandler = () => boolean;
@@ -64,7 +64,7 @@ export default class EventTitleToolViewController extends AbstractViewController
64
64
  return __awaiter(this, void 0, void 0, function* () {
65
65
  const { event } = this.getContext();
66
66
  event.timeBlocks[0] = Object.assign(Object.assign({}, event.timeBlocks[0]), this.formVc.getValues());
67
- return this.updateContextHandler({
67
+ yield this.updateContextHandler({
68
68
  event: Object.assign({}, event),
69
69
  });
70
70
  });
@@ -105,15 +105,16 @@ class AbstractCalendarEventToolBeltState {
105
105
  async handleUpdateContextFromTool(updates, fromToolId, options) {
106
106
  const pendingUpdates = Object.assign(Object.assign({}, this.pendingContextUpdates), updates);
107
107
  if ((0, isEqual_1.default)(this.pendingContextUpdates, pendingUpdates)) {
108
- return;
108
+ return false;
109
109
  }
110
110
  this.pendingContextUpdates = pendingUpdates;
111
111
  await this.handleDidUpdateContext(fromToolId);
112
112
  const vc = this.getVcForTool(fromToolId);
113
113
  if ((vc === null || vc === void 0 ? void 0 : vc.shouldPersistContextChangesImmediately) ||
114
114
  (options === null || options === void 0 ? void 0 : options.shouldPersistContextChangesImmediately)) {
115
- await this.sm.updateContext(Object.assign({}, updates));
115
+ return this.sm.updateContext(Object.assign({}, updates));
116
116
  }
117
+ return false;
117
118
  }
118
119
  removeTool(id) {
119
120
  (0, schema_1.assertOptions)({ id }, ['id']);
@@ -22,7 +22,9 @@ declare type ICalendarToolBeltContext = SkillViewControllerLoadOptions & {
22
22
  };
23
23
  export interface CalendarToolBeltContext extends ICalendarToolBeltContext {
24
24
  }
25
- export declare type CalendarToolBeltStateMachine = ToolBeltStateMachine<CalendarToolBeltContext>;
25
+ export interface CalendarToolBeltStateMachine<Context extends CalendarToolBeltContext = CalendarToolBeltContext> extends ToolBeltStateMachine<Context> {
26
+ updateContext: UpdateCalendarToolBeltContextHandler<Context>;
27
+ }
26
28
  export interface RemoteCalendarTool extends CalendarTool {
27
29
  getLineIcon(): LineIcon;
28
30
  }
@@ -34,7 +36,7 @@ export interface CalendarTool extends AbstractViewController<Card> {
34
36
  export interface UpdateCalendarContextOptions {
35
37
  shouldPersistContextChangesImmediately?: boolean;
36
38
  }
37
- export declare type UpdateCalendarToolBeltContextHandler = (context: Partial<CalendarToolBeltContext>, options?: UpdateCalendarContextOptions) => Promise<void>;
39
+ export declare type UpdateCalendarToolBeltContextHandler<Context extends CalendarToolBeltContext = CalendarToolBeltContext> = (context: Partial<Context>, options?: UpdateCalendarContextOptions) => Promise<boolean>;
38
40
  export declare type GetCalendarToolBeltContextHandler = () => CalendarToolBeltContext;
39
41
  export declare type GetPersonFromEventHandler = () => Promise<Person | null>;
40
42
  export declare type GetHasPendingContextChangesHandler = () => boolean;
@@ -56,7 +56,7 @@ class EventTitleToolViewController extends heartwood_view_controllers_1.Abstract
56
56
  async handleChangeForm() {
57
57
  const { event } = this.getContext();
58
58
  event.timeBlocks[0] = Object.assign(Object.assign({}, event.timeBlocks[0]), this.formVc.getValues());
59
- return this.updateContextHandler({
59
+ await this.updateContextHandler({
60
60
  event: Object.assign({}, event),
61
61
  });
62
62
  }
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": "20.9.12",
4
+ "version": "20.9.15",
5
5
  "skill": {
6
6
  "namespace": "calendar"
7
7
  },