@sprucelabs/spruce-calendar-components 22.3.14 → 22.3.17
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/build/.spruce/schemas/schemas.types.d.ts +81 -81
- package/build/esm/.spruce/schemas/schemas.types.d.ts +81 -81
- package/build/esm/skillViewControllers/Root.svc.js +4 -3
- package/build/esm/utilities/CalendarEventManager.d.ts +1 -1
- package/build/esm/utilities/CalendarEventManager.js +5 -3
- package/build/esm/viewControllers/Calendar.vc.d.ts +1 -1
- package/build/esm/viewControllers/Calendar.vc.js +12 -7
- package/build/skillViewControllers/Root.svc.js +4 -3
- package/build/utilities/CalendarEventManager.d.ts +1 -1
- package/build/utilities/CalendarEventManager.js +5 -3
- package/build/viewControllers/Calendar.vc.d.ts +1 -1
- package/build/viewControllers/Calendar.vc.js +12 -7
- package/package.json +1 -1
|
@@ -1033,6 +1033,87 @@ declare module '@sprucelabs/spruce-core-schemas/build/.spruce/schemas/core.schem
|
|
|
1033
1033
|
interface CreateCalendarResponsePayloadEntity extends SchemaEntity<SpruceSchemas.Calendar.v2021_05_19.CreateCalendarResponsePayloadSchema> {
|
|
1034
1034
|
}
|
|
1035
1035
|
}
|
|
1036
|
+
namespace SpruceSchemas.Calendar.v2021_05_19 {
|
|
1037
|
+
interface DeleteCalendarEmitTarget {
|
|
1038
|
+
'organizationId': string;
|
|
1039
|
+
'calendarId': string;
|
|
1040
|
+
}
|
|
1041
|
+
interface DeleteCalendarEmitTargetSchema extends SpruceSchema.Schema {
|
|
1042
|
+
id: 'deleteCalendarEmitTarget';
|
|
1043
|
+
version: 'v2021_05_19';
|
|
1044
|
+
namespace: 'Calendar';
|
|
1045
|
+
name: '';
|
|
1046
|
+
fields: {
|
|
1047
|
+
/** . */
|
|
1048
|
+
'organizationId': {
|
|
1049
|
+
type: 'id';
|
|
1050
|
+
isRequired: true;
|
|
1051
|
+
options: undefined;
|
|
1052
|
+
};
|
|
1053
|
+
/** . */
|
|
1054
|
+
'calendarId': {
|
|
1055
|
+
type: 'id';
|
|
1056
|
+
isRequired: true;
|
|
1057
|
+
options: undefined;
|
|
1058
|
+
};
|
|
1059
|
+
};
|
|
1060
|
+
}
|
|
1061
|
+
interface DeleteCalendarEmitTargetEntity extends SchemaEntity<SpruceSchemas.Calendar.v2021_05_19.DeleteCalendarEmitTargetSchema> {
|
|
1062
|
+
}
|
|
1063
|
+
}
|
|
1064
|
+
namespace SpruceSchemas.Calendar.v2021_05_19 {
|
|
1065
|
+
interface DeleteCalendarEmitTargetAndPayload {
|
|
1066
|
+
/** Source. */
|
|
1067
|
+
'source'?: SpruceSchemas.SpruceEventUtils.v2021_09_13.EventSource | undefined | null;
|
|
1068
|
+
'target': SpruceSchemas.Calendar.v2021_05_19.DeleteCalendarEmitTarget;
|
|
1069
|
+
}
|
|
1070
|
+
interface DeleteCalendarEmitTargetAndPayloadSchema extends SpruceSchema.Schema {
|
|
1071
|
+
id: 'deleteCalendarEmitTargetAndPayload';
|
|
1072
|
+
version: 'v2021_05_19';
|
|
1073
|
+
namespace: 'Calendar';
|
|
1074
|
+
name: '';
|
|
1075
|
+
fields: {
|
|
1076
|
+
/** Source. */
|
|
1077
|
+
'source': {
|
|
1078
|
+
label: 'Source';
|
|
1079
|
+
type: 'schema';
|
|
1080
|
+
options: {
|
|
1081
|
+
schema: SpruceSchemas.SpruceEventUtils.v2021_09_13.EventSourceSchema;
|
|
1082
|
+
};
|
|
1083
|
+
};
|
|
1084
|
+
/** . */
|
|
1085
|
+
'target': {
|
|
1086
|
+
type: 'schema';
|
|
1087
|
+
isRequired: true;
|
|
1088
|
+
options: {
|
|
1089
|
+
schema: SpruceSchemas.Calendar.v2021_05_19.DeleteCalendarEmitTargetSchema;
|
|
1090
|
+
};
|
|
1091
|
+
};
|
|
1092
|
+
};
|
|
1093
|
+
}
|
|
1094
|
+
interface DeleteCalendarEmitTargetAndPayloadEntity extends SchemaEntity<SpruceSchemas.Calendar.v2021_05_19.DeleteCalendarEmitTargetAndPayloadSchema> {
|
|
1095
|
+
}
|
|
1096
|
+
}
|
|
1097
|
+
namespace SpruceSchemas.Calendar.v2021_05_19 {
|
|
1098
|
+
interface DeleteCalendarResponsePayload {
|
|
1099
|
+
'totalDeleted'?: number | undefined | null;
|
|
1100
|
+
}
|
|
1101
|
+
interface DeleteCalendarResponsePayloadSchema extends SpruceSchema.Schema {
|
|
1102
|
+
id: 'deleteCalendarResponsePayload';
|
|
1103
|
+
version: 'v2021_05_19';
|
|
1104
|
+
namespace: 'Calendar';
|
|
1105
|
+
name: '';
|
|
1106
|
+
fields: {
|
|
1107
|
+
/** . */
|
|
1108
|
+
'totalDeleted': {
|
|
1109
|
+
type: 'number';
|
|
1110
|
+
options: undefined;
|
|
1111
|
+
};
|
|
1112
|
+
};
|
|
1113
|
+
}
|
|
1114
|
+
interface DeleteCalendarResponsePayloadEntity extends SchemaEntity<SpruceSchemas.Calendar.v2021_05_19.DeleteCalendarResponsePayloadSchema> {
|
|
1115
|
+
}
|
|
1116
|
+
}
|
|
1036
1117
|
namespace SpruceSchemas.Calendar.v2021_05_19 {
|
|
1037
1118
|
interface CreateCalendarEventTypeEmitPayload {
|
|
1038
1119
|
'name': string;
|
|
@@ -1542,87 +1623,6 @@ declare module '@sprucelabs/spruce-core-schemas/build/.spruce/schemas/core.schem
|
|
|
1542
1623
|
interface CreateCalendarEventTypeResponsePayloadEntity extends SchemaEntity<SpruceSchemas.Calendar.v2021_05_19.CreateCalendarEventTypeResponsePayloadSchema> {
|
|
1543
1624
|
}
|
|
1544
1625
|
}
|
|
1545
|
-
namespace SpruceSchemas.Calendar.v2021_05_19 {
|
|
1546
|
-
interface DeleteCalendarEmitTarget {
|
|
1547
|
-
'organizationId': string;
|
|
1548
|
-
'calendarId': string;
|
|
1549
|
-
}
|
|
1550
|
-
interface DeleteCalendarEmitTargetSchema extends SpruceSchema.Schema {
|
|
1551
|
-
id: 'deleteCalendarEmitTarget';
|
|
1552
|
-
version: 'v2021_05_19';
|
|
1553
|
-
namespace: 'Calendar';
|
|
1554
|
-
name: '';
|
|
1555
|
-
fields: {
|
|
1556
|
-
/** . */
|
|
1557
|
-
'organizationId': {
|
|
1558
|
-
type: 'id';
|
|
1559
|
-
isRequired: true;
|
|
1560
|
-
options: undefined;
|
|
1561
|
-
};
|
|
1562
|
-
/** . */
|
|
1563
|
-
'calendarId': {
|
|
1564
|
-
type: 'id';
|
|
1565
|
-
isRequired: true;
|
|
1566
|
-
options: undefined;
|
|
1567
|
-
};
|
|
1568
|
-
};
|
|
1569
|
-
}
|
|
1570
|
-
interface DeleteCalendarEmitTargetEntity extends SchemaEntity<SpruceSchemas.Calendar.v2021_05_19.DeleteCalendarEmitTargetSchema> {
|
|
1571
|
-
}
|
|
1572
|
-
}
|
|
1573
|
-
namespace SpruceSchemas.Calendar.v2021_05_19 {
|
|
1574
|
-
interface DeleteCalendarEmitTargetAndPayload {
|
|
1575
|
-
/** Source. */
|
|
1576
|
-
'source'?: SpruceSchemas.SpruceEventUtils.v2021_09_13.EventSource | undefined | null;
|
|
1577
|
-
'target': SpruceSchemas.Calendar.v2021_05_19.DeleteCalendarEmitTarget;
|
|
1578
|
-
}
|
|
1579
|
-
interface DeleteCalendarEmitTargetAndPayloadSchema extends SpruceSchema.Schema {
|
|
1580
|
-
id: 'deleteCalendarEmitTargetAndPayload';
|
|
1581
|
-
version: 'v2021_05_19';
|
|
1582
|
-
namespace: 'Calendar';
|
|
1583
|
-
name: '';
|
|
1584
|
-
fields: {
|
|
1585
|
-
/** Source. */
|
|
1586
|
-
'source': {
|
|
1587
|
-
label: 'Source';
|
|
1588
|
-
type: 'schema';
|
|
1589
|
-
options: {
|
|
1590
|
-
schema: SpruceSchemas.SpruceEventUtils.v2021_09_13.EventSourceSchema;
|
|
1591
|
-
};
|
|
1592
|
-
};
|
|
1593
|
-
/** . */
|
|
1594
|
-
'target': {
|
|
1595
|
-
type: 'schema';
|
|
1596
|
-
isRequired: true;
|
|
1597
|
-
options: {
|
|
1598
|
-
schema: SpruceSchemas.Calendar.v2021_05_19.DeleteCalendarEmitTargetSchema;
|
|
1599
|
-
};
|
|
1600
|
-
};
|
|
1601
|
-
};
|
|
1602
|
-
}
|
|
1603
|
-
interface DeleteCalendarEmitTargetAndPayloadEntity extends SchemaEntity<SpruceSchemas.Calendar.v2021_05_19.DeleteCalendarEmitTargetAndPayloadSchema> {
|
|
1604
|
-
}
|
|
1605
|
-
}
|
|
1606
|
-
namespace SpruceSchemas.Calendar.v2021_05_19 {
|
|
1607
|
-
interface DeleteCalendarResponsePayload {
|
|
1608
|
-
'totalDeleted'?: number | undefined | null;
|
|
1609
|
-
}
|
|
1610
|
-
interface DeleteCalendarResponsePayloadSchema extends SpruceSchema.Schema {
|
|
1611
|
-
id: 'deleteCalendarResponsePayload';
|
|
1612
|
-
version: 'v2021_05_19';
|
|
1613
|
-
namespace: 'Calendar';
|
|
1614
|
-
name: '';
|
|
1615
|
-
fields: {
|
|
1616
|
-
/** . */
|
|
1617
|
-
'totalDeleted': {
|
|
1618
|
-
type: 'number';
|
|
1619
|
-
options: undefined;
|
|
1620
|
-
};
|
|
1621
|
-
};
|
|
1622
|
-
}
|
|
1623
|
-
interface DeleteCalendarResponsePayloadEntity extends SchemaEntity<SpruceSchemas.Calendar.v2021_05_19.DeleteCalendarResponsePayloadSchema> {
|
|
1624
|
-
}
|
|
1625
|
-
}
|
|
1626
1626
|
namespace SpruceSchemas.Calendar.v2021_05_19 {
|
|
1627
1627
|
interface DidCancelCalendarEventEmitTarget {
|
|
1628
1628
|
'locationId': string;
|
|
@@ -1033,6 +1033,87 @@ declare module '@sprucelabs/spruce-core-schemas/build/.spruce/schemas/core.schem
|
|
|
1033
1033
|
interface CreateCalendarResponsePayloadEntity extends SchemaEntity<SpruceSchemas.Calendar.v2021_05_19.CreateCalendarResponsePayloadSchema> {
|
|
1034
1034
|
}
|
|
1035
1035
|
}
|
|
1036
|
+
namespace SpruceSchemas.Calendar.v2021_05_19 {
|
|
1037
|
+
interface DeleteCalendarEmitTarget {
|
|
1038
|
+
'organizationId': string;
|
|
1039
|
+
'calendarId': string;
|
|
1040
|
+
}
|
|
1041
|
+
interface DeleteCalendarEmitTargetSchema extends SpruceSchema.Schema {
|
|
1042
|
+
id: 'deleteCalendarEmitTarget';
|
|
1043
|
+
version: 'v2021_05_19';
|
|
1044
|
+
namespace: 'Calendar';
|
|
1045
|
+
name: '';
|
|
1046
|
+
fields: {
|
|
1047
|
+
/** . */
|
|
1048
|
+
'organizationId': {
|
|
1049
|
+
type: 'id';
|
|
1050
|
+
isRequired: true;
|
|
1051
|
+
options: undefined;
|
|
1052
|
+
};
|
|
1053
|
+
/** . */
|
|
1054
|
+
'calendarId': {
|
|
1055
|
+
type: 'id';
|
|
1056
|
+
isRequired: true;
|
|
1057
|
+
options: undefined;
|
|
1058
|
+
};
|
|
1059
|
+
};
|
|
1060
|
+
}
|
|
1061
|
+
interface DeleteCalendarEmitTargetEntity extends SchemaEntity<SpruceSchemas.Calendar.v2021_05_19.DeleteCalendarEmitTargetSchema> {
|
|
1062
|
+
}
|
|
1063
|
+
}
|
|
1064
|
+
namespace SpruceSchemas.Calendar.v2021_05_19 {
|
|
1065
|
+
interface DeleteCalendarEmitTargetAndPayload {
|
|
1066
|
+
/** Source. */
|
|
1067
|
+
'source'?: SpruceSchemas.SpruceEventUtils.v2021_09_13.EventSource | undefined | null;
|
|
1068
|
+
'target': SpruceSchemas.Calendar.v2021_05_19.DeleteCalendarEmitTarget;
|
|
1069
|
+
}
|
|
1070
|
+
interface DeleteCalendarEmitTargetAndPayloadSchema extends SpruceSchema.Schema {
|
|
1071
|
+
id: 'deleteCalendarEmitTargetAndPayload';
|
|
1072
|
+
version: 'v2021_05_19';
|
|
1073
|
+
namespace: 'Calendar';
|
|
1074
|
+
name: '';
|
|
1075
|
+
fields: {
|
|
1076
|
+
/** Source. */
|
|
1077
|
+
'source': {
|
|
1078
|
+
label: 'Source';
|
|
1079
|
+
type: 'schema';
|
|
1080
|
+
options: {
|
|
1081
|
+
schema: SpruceSchemas.SpruceEventUtils.v2021_09_13.EventSourceSchema;
|
|
1082
|
+
};
|
|
1083
|
+
};
|
|
1084
|
+
/** . */
|
|
1085
|
+
'target': {
|
|
1086
|
+
type: 'schema';
|
|
1087
|
+
isRequired: true;
|
|
1088
|
+
options: {
|
|
1089
|
+
schema: SpruceSchemas.Calendar.v2021_05_19.DeleteCalendarEmitTargetSchema;
|
|
1090
|
+
};
|
|
1091
|
+
};
|
|
1092
|
+
};
|
|
1093
|
+
}
|
|
1094
|
+
interface DeleteCalendarEmitTargetAndPayloadEntity extends SchemaEntity<SpruceSchemas.Calendar.v2021_05_19.DeleteCalendarEmitTargetAndPayloadSchema> {
|
|
1095
|
+
}
|
|
1096
|
+
}
|
|
1097
|
+
namespace SpruceSchemas.Calendar.v2021_05_19 {
|
|
1098
|
+
interface DeleteCalendarResponsePayload {
|
|
1099
|
+
'totalDeleted'?: number | undefined | null;
|
|
1100
|
+
}
|
|
1101
|
+
interface DeleteCalendarResponsePayloadSchema extends SpruceSchema.Schema {
|
|
1102
|
+
id: 'deleteCalendarResponsePayload';
|
|
1103
|
+
version: 'v2021_05_19';
|
|
1104
|
+
namespace: 'Calendar';
|
|
1105
|
+
name: '';
|
|
1106
|
+
fields: {
|
|
1107
|
+
/** . */
|
|
1108
|
+
'totalDeleted': {
|
|
1109
|
+
type: 'number';
|
|
1110
|
+
options: undefined;
|
|
1111
|
+
};
|
|
1112
|
+
};
|
|
1113
|
+
}
|
|
1114
|
+
interface DeleteCalendarResponsePayloadEntity extends SchemaEntity<SpruceSchemas.Calendar.v2021_05_19.DeleteCalendarResponsePayloadSchema> {
|
|
1115
|
+
}
|
|
1116
|
+
}
|
|
1036
1117
|
namespace SpruceSchemas.Calendar.v2021_05_19 {
|
|
1037
1118
|
interface CreateCalendarEventTypeEmitPayload {
|
|
1038
1119
|
'name': string;
|
|
@@ -1542,87 +1623,6 @@ declare module '@sprucelabs/spruce-core-schemas/build/.spruce/schemas/core.schem
|
|
|
1542
1623
|
interface CreateCalendarEventTypeResponsePayloadEntity extends SchemaEntity<SpruceSchemas.Calendar.v2021_05_19.CreateCalendarEventTypeResponsePayloadSchema> {
|
|
1543
1624
|
}
|
|
1544
1625
|
}
|
|
1545
|
-
namespace SpruceSchemas.Calendar.v2021_05_19 {
|
|
1546
|
-
interface DeleteCalendarEmitTarget {
|
|
1547
|
-
'organizationId': string;
|
|
1548
|
-
'calendarId': string;
|
|
1549
|
-
}
|
|
1550
|
-
interface DeleteCalendarEmitTargetSchema extends SpruceSchema.Schema {
|
|
1551
|
-
id: 'deleteCalendarEmitTarget';
|
|
1552
|
-
version: 'v2021_05_19';
|
|
1553
|
-
namespace: 'Calendar';
|
|
1554
|
-
name: '';
|
|
1555
|
-
fields: {
|
|
1556
|
-
/** . */
|
|
1557
|
-
'organizationId': {
|
|
1558
|
-
type: 'id';
|
|
1559
|
-
isRequired: true;
|
|
1560
|
-
options: undefined;
|
|
1561
|
-
};
|
|
1562
|
-
/** . */
|
|
1563
|
-
'calendarId': {
|
|
1564
|
-
type: 'id';
|
|
1565
|
-
isRequired: true;
|
|
1566
|
-
options: undefined;
|
|
1567
|
-
};
|
|
1568
|
-
};
|
|
1569
|
-
}
|
|
1570
|
-
interface DeleteCalendarEmitTargetEntity extends SchemaEntity<SpruceSchemas.Calendar.v2021_05_19.DeleteCalendarEmitTargetSchema> {
|
|
1571
|
-
}
|
|
1572
|
-
}
|
|
1573
|
-
namespace SpruceSchemas.Calendar.v2021_05_19 {
|
|
1574
|
-
interface DeleteCalendarEmitTargetAndPayload {
|
|
1575
|
-
/** Source. */
|
|
1576
|
-
'source'?: SpruceSchemas.SpruceEventUtils.v2021_09_13.EventSource | undefined | null;
|
|
1577
|
-
'target': SpruceSchemas.Calendar.v2021_05_19.DeleteCalendarEmitTarget;
|
|
1578
|
-
}
|
|
1579
|
-
interface DeleteCalendarEmitTargetAndPayloadSchema extends SpruceSchema.Schema {
|
|
1580
|
-
id: 'deleteCalendarEmitTargetAndPayload';
|
|
1581
|
-
version: 'v2021_05_19';
|
|
1582
|
-
namespace: 'Calendar';
|
|
1583
|
-
name: '';
|
|
1584
|
-
fields: {
|
|
1585
|
-
/** Source. */
|
|
1586
|
-
'source': {
|
|
1587
|
-
label: 'Source';
|
|
1588
|
-
type: 'schema';
|
|
1589
|
-
options: {
|
|
1590
|
-
schema: SpruceSchemas.SpruceEventUtils.v2021_09_13.EventSourceSchema;
|
|
1591
|
-
};
|
|
1592
|
-
};
|
|
1593
|
-
/** . */
|
|
1594
|
-
'target': {
|
|
1595
|
-
type: 'schema';
|
|
1596
|
-
isRequired: true;
|
|
1597
|
-
options: {
|
|
1598
|
-
schema: SpruceSchemas.Calendar.v2021_05_19.DeleteCalendarEmitTargetSchema;
|
|
1599
|
-
};
|
|
1600
|
-
};
|
|
1601
|
-
};
|
|
1602
|
-
}
|
|
1603
|
-
interface DeleteCalendarEmitTargetAndPayloadEntity extends SchemaEntity<SpruceSchemas.Calendar.v2021_05_19.DeleteCalendarEmitTargetAndPayloadSchema> {
|
|
1604
|
-
}
|
|
1605
|
-
}
|
|
1606
|
-
namespace SpruceSchemas.Calendar.v2021_05_19 {
|
|
1607
|
-
interface DeleteCalendarResponsePayload {
|
|
1608
|
-
'totalDeleted'?: number | undefined | null;
|
|
1609
|
-
}
|
|
1610
|
-
interface DeleteCalendarResponsePayloadSchema extends SpruceSchema.Schema {
|
|
1611
|
-
id: 'deleteCalendarResponsePayload';
|
|
1612
|
-
version: 'v2021_05_19';
|
|
1613
|
-
namespace: 'Calendar';
|
|
1614
|
-
name: '';
|
|
1615
|
-
fields: {
|
|
1616
|
-
/** . */
|
|
1617
|
-
'totalDeleted': {
|
|
1618
|
-
type: 'number';
|
|
1619
|
-
options: undefined;
|
|
1620
|
-
};
|
|
1621
|
-
};
|
|
1622
|
-
}
|
|
1623
|
-
interface DeleteCalendarResponsePayloadEntity extends SchemaEntity<SpruceSchemas.Calendar.v2021_05_19.DeleteCalendarResponsePayloadSchema> {
|
|
1624
|
-
}
|
|
1625
|
-
}
|
|
1626
1626
|
namespace SpruceSchemas.Calendar.v2021_05_19 {
|
|
1627
1627
|
interface DidCancelCalendarEventEmitTarget {
|
|
1628
1628
|
'locationId': string;
|
|
@@ -249,16 +249,17 @@ export default class RootSkillViewController extends AbstractSkillViewController
|
|
|
249
249
|
}
|
|
250
250
|
handleDraftEventAdded(event) {
|
|
251
251
|
return __awaiter(this, void 0, void 0, function* () {
|
|
252
|
+
console.log('handle draft event added');
|
|
253
|
+
yield this.events.addDraftEvent(event, !event.eventTypeSlug);
|
|
252
254
|
if (!event.eventTypeSlug) {
|
|
253
|
-
yield this.events.addDraftEvent(event);
|
|
254
255
|
this.toolBeltVc.open({ shouldStayOpen: true });
|
|
255
256
|
yield this.sm.transitionTo(this.toolBeltStates.prerequisites);
|
|
256
257
|
}
|
|
257
258
|
});
|
|
258
259
|
}
|
|
259
|
-
handleEventSwapped(event) {
|
|
260
|
+
handleEventSwapped(draft, event) {
|
|
260
261
|
return __awaiter(this, void 0, void 0, function* () {
|
|
261
|
-
yield this.events.silentlySwapEvent(
|
|
262
|
+
yield this.events.silentlySwapEvent(draft.id, event);
|
|
262
263
|
});
|
|
263
264
|
}
|
|
264
265
|
handleDropEvent(id, updates) {
|
|
@@ -37,7 +37,7 @@ export declare class CalendarEventManager {
|
|
|
37
37
|
getAllEvents(): import("@sprucelabs/calendar-utils").SpruceSchemas.HeartwoodViewControllers.v2021_02_11.CalendarEvent[];
|
|
38
38
|
getEventsByGroupId(groupId: string): import("@sprucelabs/calendar-utils").SpruceSchemas.HeartwoodViewControllers.v2021_02_11.CalendarEvent[];
|
|
39
39
|
getCalendars(): import("@sprucelabs/calendar-utils").SpruceSchemas.Calendar.v2021_05_19.Calendar[];
|
|
40
|
-
addDraftEvent(event: CalendarEvent): Promise<void>;
|
|
40
|
+
addDraftEvent(event: CalendarEvent, shouldSelectEvent?: boolean): Promise<void>;
|
|
41
41
|
silentlySwapEvent(oldId: string, event: CalendarEvent): Promise<void>;
|
|
42
42
|
handleDropEvent(id: string, updates: Partial<CalendarEvent>): Promise<boolean>;
|
|
43
43
|
reset(): Promise<void>;
|
|
@@ -80,11 +80,13 @@ export class CalendarEventManager {
|
|
|
80
80
|
getCalendars() {
|
|
81
81
|
return this.calendars;
|
|
82
82
|
}
|
|
83
|
-
addDraftEvent(event) {
|
|
83
|
+
addDraftEvent(event, shouldSelectEvent = true) {
|
|
84
84
|
return __awaiter(this, void 0, void 0, function* () {
|
|
85
|
-
this.calendarVc.selectEvent(event.id);
|
|
86
85
|
this.allEvents.push(event);
|
|
87
|
-
|
|
86
|
+
if (shouldSelectEvent) {
|
|
87
|
+
this.calendarVc.selectEvent(event.id);
|
|
88
|
+
yield this.updateEventInContext(event);
|
|
89
|
+
}
|
|
88
90
|
});
|
|
89
91
|
}
|
|
90
92
|
silentlySwapEvent(oldId, event) {
|
|
@@ -4,7 +4,7 @@ import { UpdateEvent } from '../types/calendar.types';
|
|
|
4
4
|
declare type Calendar = SpruceSchemas.HeartwoodViewControllers.v2021_02_11.Calendar;
|
|
5
5
|
declare type Event = SpruceSchemas.HeartwoodViewControllers.v2021_02_11.CalendarEvent;
|
|
6
6
|
declare type DraftAddedHandler = (event: Event) => void | Promise<void>;
|
|
7
|
-
declare type EventSwappedHandler = (
|
|
7
|
+
declare type EventSwappedHandler = (draft: Event, saved: Event) => void | Promise<void>;
|
|
8
8
|
declare type EventDroppedHandler = (id: string, updates: Partial<Event>) => boolean | Promise<boolean>;
|
|
9
9
|
declare type DraftRemovedHandler = () => void | Promise<void>;
|
|
10
10
|
declare type ClickEventHandler = (options: ClickEventOptions) => void | Promise<void>;
|
|
@@ -28,14 +28,14 @@ export default class CalendarViewController extends CoreCalendarViewController {
|
|
|
28
28
|
super(Object.assign(Object.assign({ view: 'day' }, rest), { onDropEvent: (options) => {
|
|
29
29
|
return this.handleDropEvent(options);
|
|
30
30
|
} }));
|
|
31
|
-
this.activelyPersisting =
|
|
31
|
+
this.activelyPersisting = {};
|
|
32
32
|
this.isSwapping = false;
|
|
33
33
|
assertOptions(options, ['onAddDraftEvent']);
|
|
34
|
-
const { onAddDraftEvent, onRemoveDraftEvent, onEventSwapped
|
|
34
|
+
const { onAddDraftEvent, onRemoveDraftEvent, onEventSwapped } = rest;
|
|
35
35
|
this.sorter = new PeopleSorter();
|
|
36
36
|
this.draftAddedHandler = onAddDraftEvent;
|
|
37
37
|
this.draftRemovedHandler = onRemoveDraftEvent;
|
|
38
|
-
this.eventSwappedHandler =
|
|
38
|
+
this.eventSwappedHandler = onEventSwapped;
|
|
39
39
|
this.dropEventHandler = onDropEvent;
|
|
40
40
|
this.remoteEventStore = remoteEventStore;
|
|
41
41
|
this.model.onClick = this.handleClick.bind(this);
|
|
@@ -189,9 +189,14 @@ export default class CalendarViewController extends CoreCalendarViewController {
|
|
|
189
189
|
const id = event.id;
|
|
190
190
|
const isBusy = (options === null || options === void 0 ? void 0 : options.isBusy) === true;
|
|
191
191
|
try {
|
|
192
|
-
this.activelyPersisting
|
|
192
|
+
if (!this.activelyPersisting[id]) {
|
|
193
|
+
this.activelyPersisting[id] = 1;
|
|
194
|
+
}
|
|
195
|
+
else {
|
|
196
|
+
this.activelyPersisting[id]++;
|
|
197
|
+
}
|
|
193
198
|
const saved = yield ((_a = this.remoteEventStore) === null || _a === void 0 ? void 0 : _a.persist(Object.assign(Object.assign({}, event), { isBusy })));
|
|
194
|
-
this.activelyPersisting--;
|
|
199
|
+
this.activelyPersisting[id]--;
|
|
195
200
|
if (!saved) {
|
|
196
201
|
return;
|
|
197
202
|
}
|
|
@@ -203,8 +208,8 @@ export default class CalendarViewController extends CoreCalendarViewController {
|
|
|
203
208
|
this.lastSwappedId = id;
|
|
204
209
|
yield this.swapEvent(event, saved);
|
|
205
210
|
}
|
|
206
|
-
if (this.activelyPersisting === 0) {
|
|
207
|
-
yield ((_b = this.eventSwappedHandler) === null || _b === void 0 ? void 0 : _b.call(this, saved));
|
|
211
|
+
if (this.activelyPersisting[id] === 0) {
|
|
212
|
+
yield ((_b = this.eventSwappedHandler) === null || _b === void 0 ? void 0 : _b.call(this, event, saved));
|
|
208
213
|
}
|
|
209
214
|
}
|
|
210
215
|
else {
|
|
@@ -220,14 +220,15 @@ class RootSkillViewController extends heartwood_view_controllers_1.AbstractSkill
|
|
|
220
220
|
}
|
|
221
221
|
}
|
|
222
222
|
async handleDraftEventAdded(event) {
|
|
223
|
+
console.log('handle draft event added');
|
|
224
|
+
await this.events.addDraftEvent(event, !event.eventTypeSlug);
|
|
223
225
|
if (!event.eventTypeSlug) {
|
|
224
|
-
await this.events.addDraftEvent(event);
|
|
225
226
|
this.toolBeltVc.open({ shouldStayOpen: true });
|
|
226
227
|
await this.sm.transitionTo(this.toolBeltStates.prerequisites);
|
|
227
228
|
}
|
|
228
229
|
}
|
|
229
|
-
async handleEventSwapped(event) {
|
|
230
|
-
await this.events.silentlySwapEvent(
|
|
230
|
+
async handleEventSwapped(draft, event) {
|
|
231
|
+
await this.events.silentlySwapEvent(draft.id, event);
|
|
231
232
|
}
|
|
232
233
|
async handleDropEvent(id, updates) {
|
|
233
234
|
return this.events.handleDropEvent(id, updates);
|
|
@@ -37,7 +37,7 @@ export declare class CalendarEventManager {
|
|
|
37
37
|
getAllEvents(): import("@sprucelabs/calendar-utils").SpruceSchemas.HeartwoodViewControllers.v2021_02_11.CalendarEvent[];
|
|
38
38
|
getEventsByGroupId(groupId: string): import("@sprucelabs/calendar-utils").SpruceSchemas.HeartwoodViewControllers.v2021_02_11.CalendarEvent[];
|
|
39
39
|
getCalendars(): import("@sprucelabs/calendar-utils").SpruceSchemas.Calendar.v2021_05_19.Calendar[];
|
|
40
|
-
addDraftEvent(event: CalendarEvent): Promise<void>;
|
|
40
|
+
addDraftEvent(event: CalendarEvent, shouldSelectEvent?: boolean): Promise<void>;
|
|
41
41
|
silentlySwapEvent(oldId: string, event: CalendarEvent): Promise<void>;
|
|
42
42
|
handleDropEvent(id: string, updates: Partial<CalendarEvent>): Promise<boolean>;
|
|
43
43
|
reset(): Promise<void>;
|
|
@@ -77,10 +77,12 @@ class CalendarEventManager {
|
|
|
77
77
|
getCalendars() {
|
|
78
78
|
return this.calendars;
|
|
79
79
|
}
|
|
80
|
-
async addDraftEvent(event) {
|
|
81
|
-
this.calendarVc.selectEvent(event.id);
|
|
80
|
+
async addDraftEvent(event, shouldSelectEvent = true) {
|
|
82
81
|
this.allEvents.push(event);
|
|
83
|
-
|
|
82
|
+
if (shouldSelectEvent) {
|
|
83
|
+
this.calendarVc.selectEvent(event.id);
|
|
84
|
+
await this.updateEventInContext(event);
|
|
85
|
+
}
|
|
84
86
|
}
|
|
85
87
|
async silentlySwapEvent(oldId, event) {
|
|
86
88
|
const events = this.getEvents().filter((e) => e.id !== oldId);
|
|
@@ -4,7 +4,7 @@ import { UpdateEvent } from '../types/calendar.types';
|
|
|
4
4
|
declare type Calendar = SpruceSchemas.HeartwoodViewControllers.v2021_02_11.Calendar;
|
|
5
5
|
declare type Event = SpruceSchemas.HeartwoodViewControllers.v2021_02_11.CalendarEvent;
|
|
6
6
|
declare type DraftAddedHandler = (event: Event) => void | Promise<void>;
|
|
7
|
-
declare type EventSwappedHandler = (
|
|
7
|
+
declare type EventSwappedHandler = (draft: Event, saved: Event) => void | Promise<void>;
|
|
8
8
|
declare type EventDroppedHandler = (id: string, updates: Partial<Event>) => boolean | Promise<boolean>;
|
|
9
9
|
declare type DraftRemovedHandler = () => void | Promise<void>;
|
|
10
10
|
declare type ClickEventHandler = (options: ClickEventOptions) => void | Promise<void>;
|
|
@@ -24,14 +24,14 @@ class CalendarViewController extends heartwood_view_controllers_1.CalendarViewCo
|
|
|
24
24
|
super(Object.assign(Object.assign({ view: 'day' }, rest), { onDropEvent: (options) => {
|
|
25
25
|
return this.handleDropEvent(options);
|
|
26
26
|
} }));
|
|
27
|
-
this.activelyPersisting =
|
|
27
|
+
this.activelyPersisting = {};
|
|
28
28
|
this.isSwapping = false;
|
|
29
29
|
(0, schema_1.assertOptions)(options, ['onAddDraftEvent']);
|
|
30
|
-
const { onAddDraftEvent, onRemoveDraftEvent, onEventSwapped
|
|
30
|
+
const { onAddDraftEvent, onRemoveDraftEvent, onEventSwapped } = rest;
|
|
31
31
|
this.sorter = new calendar_utils_1.PeopleSorter();
|
|
32
32
|
this.draftAddedHandler = onAddDraftEvent;
|
|
33
33
|
this.draftRemovedHandler = onRemoveDraftEvent;
|
|
34
|
-
this.eventSwappedHandler =
|
|
34
|
+
this.eventSwappedHandler = onEventSwapped;
|
|
35
35
|
this.dropEventHandler = onDropEvent;
|
|
36
36
|
this.remoteEventStore = remoteEventStore;
|
|
37
37
|
this.model.onClick = this.handleClick.bind(this);
|
|
@@ -166,9 +166,14 @@ class CalendarViewController extends heartwood_view_controllers_1.CalendarViewCo
|
|
|
166
166
|
const id = event.id;
|
|
167
167
|
const isBusy = (options === null || options === void 0 ? void 0 : options.isBusy) === true;
|
|
168
168
|
try {
|
|
169
|
-
this.activelyPersisting
|
|
169
|
+
if (!this.activelyPersisting[id]) {
|
|
170
|
+
this.activelyPersisting[id] = 1;
|
|
171
|
+
}
|
|
172
|
+
else {
|
|
173
|
+
this.activelyPersisting[id]++;
|
|
174
|
+
}
|
|
170
175
|
const saved = await ((_a = this.remoteEventStore) === null || _a === void 0 ? void 0 : _a.persist(Object.assign(Object.assign({}, event), { isBusy })));
|
|
171
|
-
this.activelyPersisting--;
|
|
176
|
+
this.activelyPersisting[id]--;
|
|
172
177
|
if (!saved) {
|
|
173
178
|
return;
|
|
174
179
|
}
|
|
@@ -180,8 +185,8 @@ class CalendarViewController extends heartwood_view_controllers_1.CalendarViewCo
|
|
|
180
185
|
this.lastSwappedId = id;
|
|
181
186
|
await this.swapEvent(event, saved);
|
|
182
187
|
}
|
|
183
|
-
if (this.activelyPersisting === 0) {
|
|
184
|
-
await ((_b = this.eventSwappedHandler) === null || _b === void 0 ? void 0 : _b.call(this, saved));
|
|
188
|
+
if (this.activelyPersisting[id] === 0) {
|
|
189
|
+
await ((_b = this.eventSwappedHandler) === null || _b === void 0 ? void 0 : _b.call(this, event, saved));
|
|
185
190
|
}
|
|
186
191
|
}
|
|
187
192
|
else {
|