@sprucelabs/spruce-calendar-components 39.0.4 → 39.0.6
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/__tests__/support/utilities/mixinViewControllersForTests.js +1 -1
- package/build/esm/__tests__/support/utilities/mixinViewControllersForTests.js +1 -1
- package/build/esm/tools/VenueSelectionTool.vc.d.ts +1 -0
- package/build/esm/tools/VenueSelectionTool.vc.js +1 -0
- package/build/esm/viewControllers/VenueList.vc.d.ts +1 -1
- package/build/esm/viewControllers/VenueList.vc.js +7 -4
- package/build/tools/VenueSelectionTool.vc.d.ts +1 -0
- package/build/tools/VenueSelectionTool.vc.js +1 -0
- package/build/viewControllers/VenueList.vc.d.ts +1 -1
- package/build/viewControllers/VenueList.vc.js +7 -4
- package/package.json +1 -1
|
@@ -31,5 +31,5 @@ const vcs = {
|
|
|
31
31
|
['calendar.event-controls-card']: EventControlsCard_vc_1.default,
|
|
32
32
|
['calendar.universal-calendar-event']: UniversalCalendarEvent_vc_1.default,
|
|
33
33
|
['calendar.venue-selection-tool']: VenueSelectionTool_vc_1.default,
|
|
34
|
-
['calendar.
|
|
34
|
+
['calendar.venue-list']: VenueList_vc_1.default,
|
|
35
35
|
};
|
|
@@ -25,5 +25,5 @@ const vcs = {
|
|
|
25
25
|
['calendar.event-controls-card']: EventControlsCardViewController,
|
|
26
26
|
['calendar.universal-calendar-event']: UniversalCalendarEventViewController,
|
|
27
27
|
['calendar.venue-selection-tool']: VenueSelectionToolViewController,
|
|
28
|
-
['calendar.
|
|
28
|
+
['calendar.venue-list']: VenueListViewController,
|
|
29
29
|
};
|
|
@@ -8,6 +8,7 @@ export default class VenueSelectionToolViewController extends AbstractViewContro
|
|
|
8
8
|
private updateContextHandler;
|
|
9
9
|
private getContext;
|
|
10
10
|
private isLoaded;
|
|
11
|
+
shouldPersistContextChangesImmediately: boolean;
|
|
11
12
|
constructor(options: ViewControllerOptions & CalendarToolOptions);
|
|
12
13
|
private VenueListVc;
|
|
13
14
|
private handleSelectVenueFromList;
|
|
@@ -12,6 +12,7 @@ class VenueSelectionToolViewController extends AbstractViewController {
|
|
|
12
12
|
constructor(options) {
|
|
13
13
|
super(options);
|
|
14
14
|
this.isLoaded = false;
|
|
15
|
+
this.shouldPersistContextChangesImmediately = true;
|
|
15
16
|
const { getContext, updateContext } = options;
|
|
16
17
|
this.getContext = getContext;
|
|
17
18
|
this.updateContextHandler = updateContext;
|
|
@@ -2,7 +2,7 @@ import { AbstractViewController, ViewControllerOptions, List, ListViewController
|
|
|
2
2
|
import { Venue } from '../types/calendar.types';
|
|
3
3
|
export default class VenueListViewController extends AbstractViewController<List> implements VenueList {
|
|
4
4
|
static id: string;
|
|
5
|
-
protected
|
|
5
|
+
protected venueListVc: ListViewController;
|
|
6
6
|
private venues;
|
|
7
7
|
protected onSelectHandler?: SelectVenueHandler;
|
|
8
8
|
private router?;
|
|
@@ -16,7 +16,7 @@ class VenueListViewController extends AbstractViewController {
|
|
|
16
16
|
const { router, onSelect } = options;
|
|
17
17
|
this.onSelectHandler = onSelect;
|
|
18
18
|
this.router = router;
|
|
19
|
-
this.
|
|
19
|
+
this.venueListVc = this.ListVc();
|
|
20
20
|
}
|
|
21
21
|
ListVc() {
|
|
22
22
|
return this.Controller('list', {
|
|
@@ -60,7 +60,7 @@ class VenueListViewController extends AbstractViewController {
|
|
|
60
60
|
rows.push(this.renderDetailsRow());
|
|
61
61
|
}
|
|
62
62
|
});
|
|
63
|
-
this.
|
|
63
|
+
this.venueListVc.setRows(rows);
|
|
64
64
|
}
|
|
65
65
|
renderDetailsRow() {
|
|
66
66
|
var _a;
|
|
@@ -83,6 +83,9 @@ class VenueListViewController extends AbstractViewController {
|
|
|
83
83
|
this.renderVenueLabelCell(venue),
|
|
84
84
|
this.optionallyRenderJoinUrlCell(venue),
|
|
85
85
|
].filter(Boolean),
|
|
86
|
+
onClick: () => __awaiter(this, void 0, void 0, function* () {
|
|
87
|
+
yield this.selectVenue(venue);
|
|
88
|
+
}),
|
|
86
89
|
};
|
|
87
90
|
}
|
|
88
91
|
renderVenueLabelCell(venue) {
|
|
@@ -137,7 +140,7 @@ class VenueListViewController extends AbstractViewController {
|
|
|
137
140
|
if (v.provider === venue.provider) {
|
|
138
141
|
return;
|
|
139
142
|
}
|
|
140
|
-
yield this.
|
|
143
|
+
yield this.venueListVc.setValue(v.provider, 'isSelected', false);
|
|
141
144
|
}));
|
|
142
145
|
yield ((_a = this.onSelectHandler) === null || _a === void 0 ? void 0 : _a.call(this, venue));
|
|
143
146
|
});
|
|
@@ -145,7 +148,7 @@ class VenueListViewController extends AbstractViewController {
|
|
|
145
148
|
render() {
|
|
146
149
|
return (this.venues.length === 0 && this.isLoaded
|
|
147
150
|
? null
|
|
148
|
-
: this.
|
|
151
|
+
: this.venueListVc.render());
|
|
149
152
|
}
|
|
150
153
|
}
|
|
151
154
|
VenueListViewController.id = 'venue-list';
|
|
@@ -8,6 +8,7 @@ export default class VenueSelectionToolViewController extends AbstractViewContro
|
|
|
8
8
|
private updateContextHandler;
|
|
9
9
|
private getContext;
|
|
10
10
|
private isLoaded;
|
|
11
|
+
shouldPersistContextChangesImmediately: boolean;
|
|
11
12
|
constructor(options: ViewControllerOptions & CalendarToolOptions);
|
|
12
13
|
private VenueListVc;
|
|
13
14
|
private handleSelectVenueFromList;
|
|
@@ -5,6 +5,7 @@ class VenueSelectionToolViewController extends heartwood_view_controllers_1.Abst
|
|
|
5
5
|
constructor(options) {
|
|
6
6
|
super(options);
|
|
7
7
|
this.isLoaded = false;
|
|
8
|
+
this.shouldPersistContextChangesImmediately = true;
|
|
8
9
|
const { getContext, updateContext } = options;
|
|
9
10
|
this.getContext = getContext;
|
|
10
11
|
this.updateContextHandler = updateContext;
|
|
@@ -2,7 +2,7 @@ import { AbstractViewController, ViewControllerOptions, List, ListViewController
|
|
|
2
2
|
import { Venue } from '../types/calendar.types';
|
|
3
3
|
export default class VenueListViewController extends AbstractViewController<List> implements VenueList {
|
|
4
4
|
static id: string;
|
|
5
|
-
protected
|
|
5
|
+
protected venueListVc: ListViewController;
|
|
6
6
|
private venues;
|
|
7
7
|
protected onSelectHandler?: SelectVenueHandler;
|
|
8
8
|
private router?;
|
|
@@ -9,7 +9,7 @@ class VenueListViewController extends heartwood_view_controllers_1.AbstractViewC
|
|
|
9
9
|
const { router, onSelect } = options;
|
|
10
10
|
this.onSelectHandler = onSelect;
|
|
11
11
|
this.router = router;
|
|
12
|
-
this.
|
|
12
|
+
this.venueListVc = this.ListVc();
|
|
13
13
|
}
|
|
14
14
|
ListVc() {
|
|
15
15
|
return this.Controller('list', {
|
|
@@ -50,7 +50,7 @@ class VenueListViewController extends heartwood_view_controllers_1.AbstractViewC
|
|
|
50
50
|
rows.push(this.renderDetailsRow());
|
|
51
51
|
}
|
|
52
52
|
});
|
|
53
|
-
this.
|
|
53
|
+
this.venueListVc.setRows(rows);
|
|
54
54
|
}
|
|
55
55
|
renderDetailsRow() {
|
|
56
56
|
return {
|
|
@@ -72,6 +72,9 @@ class VenueListViewController extends heartwood_view_controllers_1.AbstractViewC
|
|
|
72
72
|
this.renderVenueLabelCell(venue),
|
|
73
73
|
this.optionallyRenderJoinUrlCell(venue),
|
|
74
74
|
].filter(Boolean),
|
|
75
|
+
onClick: async () => {
|
|
76
|
+
await this.selectVenue(venue);
|
|
77
|
+
},
|
|
75
78
|
};
|
|
76
79
|
}
|
|
77
80
|
renderVenueLabelCell(venue) {
|
|
@@ -117,14 +120,14 @@ class VenueListViewController extends heartwood_view_controllers_1.AbstractViewC
|
|
|
117
120
|
if (v.provider === venue.provider) {
|
|
118
121
|
return;
|
|
119
122
|
}
|
|
120
|
-
await this.
|
|
123
|
+
await this.venueListVc.setValue(v.provider, 'isSelected', false);
|
|
121
124
|
});
|
|
122
125
|
await this.onSelectHandler?.(venue);
|
|
123
126
|
}
|
|
124
127
|
render() {
|
|
125
128
|
return (this.venues.length === 0 && this.isLoaded
|
|
126
129
|
? null
|
|
127
|
-
: this.
|
|
130
|
+
: this.venueListVc.render());
|
|
128
131
|
}
|
|
129
132
|
}
|
|
130
133
|
VenueListViewController.id = 'venue-list';
|