@sprucelabs/spruce-calendar-components 39.0.5 → 39.0.7
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/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 +2 -2
- package/build/esm/viewControllers/VenueList.vc.js +9 -11
- package/build/tools/VenueSelectionTool.vc.d.ts +1 -0
- package/build/tools/VenueSelectionTool.vc.js +1 -0
- package/build/viewControllers/VenueList.vc.d.ts +2 -2
- package/build/viewControllers/VenueList.vc.js +9 -11
- package/package.json +1 -1
|
@@ -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?;
|
|
@@ -20,7 +20,7 @@ export default class VenueListViewController extends AbstractViewController<List
|
|
|
20
20
|
private isSelected;
|
|
21
21
|
private renderCheckboxCell;
|
|
22
22
|
private handleOnClickJoinUrl;
|
|
23
|
-
private
|
|
23
|
+
private handleClickVenue;
|
|
24
24
|
render(): List;
|
|
25
25
|
}
|
|
26
26
|
export interface VenueListLoadOptions {
|
|
@@ -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.handleClickVenue(venue);
|
|
88
|
+
}),
|
|
86
89
|
};
|
|
87
90
|
}
|
|
88
91
|
renderVenueLabelCell(venue) {
|
|
@@ -118,7 +121,7 @@ class VenueListViewController extends AbstractViewController {
|
|
|
118
121
|
value: this.isSelected(venue),
|
|
119
122
|
onChange: (value) => __awaiter(this, void 0, void 0, function* () {
|
|
120
123
|
if (value) {
|
|
121
|
-
yield this.
|
|
124
|
+
yield this.handleClickVenue(venue);
|
|
122
125
|
}
|
|
123
126
|
}),
|
|
124
127
|
},
|
|
@@ -130,22 +133,17 @@ class VenueListViewController extends AbstractViewController {
|
|
|
130
133
|
yield ((_a = this.router) === null || _a === void 0 ? void 0 : _a.redirect(joinUrl));
|
|
131
134
|
});
|
|
132
135
|
}
|
|
133
|
-
|
|
136
|
+
handleClickVenue(venue) {
|
|
134
137
|
return __awaiter(this, void 0, void 0, function* () {
|
|
135
138
|
var _a;
|
|
136
|
-
this.
|
|
137
|
-
if (v.provider === venue.provider) {
|
|
138
|
-
return;
|
|
139
|
-
}
|
|
140
|
-
yield this.listVc.setValue(v.provider, 'isSelected', false);
|
|
141
|
-
}));
|
|
139
|
+
yield this.selectVenue(venue);
|
|
142
140
|
yield ((_a = this.onSelectHandler) === null || _a === void 0 ? void 0 : _a.call(this, venue));
|
|
143
141
|
});
|
|
144
142
|
}
|
|
145
143
|
render() {
|
|
146
144
|
return (this.venues.length === 0 && this.isLoaded
|
|
147
145
|
? null
|
|
148
|
-
: this.
|
|
146
|
+
: this.venueListVc.render());
|
|
149
147
|
}
|
|
150
148
|
}
|
|
151
149
|
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?;
|
|
@@ -20,7 +20,7 @@ export default class VenueListViewController extends AbstractViewController<List
|
|
|
20
20
|
private isSelected;
|
|
21
21
|
private renderCheckboxCell;
|
|
22
22
|
private handleOnClickJoinUrl;
|
|
23
|
-
private
|
|
23
|
+
private handleClickVenue;
|
|
24
24
|
render(): List;
|
|
25
25
|
}
|
|
26
26
|
export interface VenueListLoadOptions {
|
|
@@ -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.handleClickVenue(venue);
|
|
77
|
+
},
|
|
75
78
|
};
|
|
76
79
|
}
|
|
77
80
|
renderVenueLabelCell(venue) {
|
|
@@ -103,7 +106,7 @@ class VenueListViewController extends heartwood_view_controllers_1.AbstractViewC
|
|
|
103
106
|
value: this.isSelected(venue),
|
|
104
107
|
onChange: async (value) => {
|
|
105
108
|
if (value) {
|
|
106
|
-
await this.
|
|
109
|
+
await this.handleClickVenue(venue);
|
|
107
110
|
}
|
|
108
111
|
},
|
|
109
112
|
},
|
|
@@ -112,19 +115,14 @@ class VenueListViewController extends heartwood_view_controllers_1.AbstractViewC
|
|
|
112
115
|
async handleOnClickJoinUrl(joinUrl) {
|
|
113
116
|
await this.router?.redirect(joinUrl);
|
|
114
117
|
}
|
|
115
|
-
async
|
|
116
|
-
this.
|
|
117
|
-
if (v.provider === venue.provider) {
|
|
118
|
-
return;
|
|
119
|
-
}
|
|
120
|
-
await this.listVc.setValue(v.provider, 'isSelected', false);
|
|
121
|
-
});
|
|
118
|
+
async handleClickVenue(venue) {
|
|
119
|
+
await this.selectVenue(venue);
|
|
122
120
|
await this.onSelectHandler?.(venue);
|
|
123
121
|
}
|
|
124
122
|
render() {
|
|
125
123
|
return (this.venues.length === 0 && this.isLoaded
|
|
126
124
|
? null
|
|
127
|
-
: this.
|
|
125
|
+
: this.venueListVc.render());
|
|
128
126
|
}
|
|
129
127
|
}
|
|
130
128
|
VenueListViewController.id = 'venue-list';
|