@olea-bps/views 1.0.3 → 1.0.5
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/TimetableCalendar/index.js +31 -28
- package/TimetableList/index.js +5 -4
- package/package.json +1 -1
|
@@ -127,35 +127,44 @@ function TimetableViewCalendar(props) {
|
|
|
127
127
|
// Unter verwendung von Luxon wird eine Liste der Monatsnamen generiert, dabei wird die eingestellte Sprache berücksichtigt
|
|
128
128
|
const months = moment.months();
|
|
129
129
|
|
|
130
|
-
const handleImportButtonPress =
|
|
130
|
+
const handleImportButtonPress = () => {
|
|
131
131
|
setLoading(true);
|
|
132
132
|
setErrorMessage('');
|
|
133
133
|
setInfoMessage('');
|
|
134
|
-
|
|
134
|
+
|
|
135
|
+
saveTimetableCode(
|
|
135
136
|
// Falls Filter eingestellt sind, werden diese nacheinander auf den Stundenplancode angewendet
|
|
136
137
|
timetableCodeInputPreSaveFilters.reduce(
|
|
137
138
|
(currentTimetableCode, preSaveFilter) => preSaveFilter?.(currentTimetableCode) ?? currentTimetableCode,
|
|
138
139
|
timetableCodeInput
|
|
139
140
|
)
|
|
140
|
-
)
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
141
|
+
)
|
|
142
|
+
.then(
|
|
143
|
+
() => {
|
|
144
|
+
const now = DateTime.now();
|
|
145
|
+
const startDate = now.startOf('week');
|
|
146
|
+
const endDate = now.endOf('week');
|
|
147
|
+
return refreshCourses(startDate.toISODate(), endDate.toISODate())
|
|
148
|
+
.then(
|
|
149
|
+
() => {
|
|
150
|
+
setFormVisible(false);
|
|
151
|
+
setLoading(false);
|
|
152
|
+
}
|
|
153
|
+
);
|
|
154
|
+
}
|
|
155
|
+
).catch(
|
|
156
|
+
(error) => {
|
|
157
|
+
if (error instanceof TimetableNotFoundError) {
|
|
158
|
+
setErrorMessage(t('timetable:codeNotFoundError', { timetableCode: timetableCodeInput }));
|
|
159
|
+
setLoading(false);
|
|
160
|
+
} else {
|
|
161
|
+
console.error(TimetableViewCalendar.name, ':', 'can´t import timetable code', timetableCode, ':', error);
|
|
162
|
+
setErrorMessage(t('timetable:importError'));
|
|
163
|
+
}
|
|
157
164
|
}
|
|
158
|
-
|
|
165
|
+
).finally(
|
|
166
|
+
() => setLoading(false)
|
|
167
|
+
);
|
|
159
168
|
};
|
|
160
169
|
|
|
161
170
|
useEffect(() => {
|
|
@@ -299,18 +308,12 @@ function TimetableViewCalendar(props) {
|
|
|
299
308
|
<Ionicons name="add-outline" size={40} color="#000" />
|
|
300
309
|
</TouchableOpacity>
|
|
301
310
|
)}
|
|
302
|
-
|
|
303
|
-
{
|
|
304
|
-
selectedEvent
|
|
305
|
-
? <CourseDetailDialog
|
|
311
|
+
<CourseDetailDialog
|
|
306
312
|
course={selectedEvent}
|
|
307
313
|
visible={selectedEvent ? true : false}
|
|
308
314
|
onClose={unsetSelectedEvent}
|
|
309
315
|
onDismiss={unsetSelectedEvent}
|
|
310
|
-
|
|
311
|
-
: null
|
|
312
|
-
}
|
|
313
|
-
|
|
316
|
+
/>
|
|
314
317
|
</SafeAreaView>
|
|
315
318
|
);
|
|
316
319
|
}
|
package/TimetableList/index.js
CHANGED
|
@@ -148,7 +148,7 @@ function TimetableViewList(props) {
|
|
|
148
148
|
[theme]
|
|
149
149
|
)
|
|
150
150
|
|
|
151
|
-
const otherCourses = courses?.
|
|
151
|
+
const otherCourses = courses?.[undefined] ?? [];
|
|
152
152
|
const activeTabDate = daysTabViewRoutes[daysTabViewActiveRouteIndex]?.date;
|
|
153
153
|
const activeTabWeek = activeTabDate.weekNumber;
|
|
154
154
|
|
|
@@ -165,7 +165,8 @@ function TimetableViewList(props) {
|
|
|
165
165
|
}
|
|
166
166
|
});
|
|
167
167
|
},
|
|
168
|
-
[]
|
|
168
|
+
[]
|
|
169
|
+
)
|
|
169
170
|
)
|
|
170
171
|
|
|
171
172
|
/*
|
|
@@ -231,7 +232,7 @@ function TimetableViewList(props) {
|
|
|
231
232
|
inactiveColor={themeStyles.tabs.inactiveColor}
|
|
232
233
|
indicatorStyle={themeStyles.tabIndicator}
|
|
233
234
|
tabStyle={{ width: 'auto', paddingHorizontal: 20 }}
|
|
234
|
-
renderTabBarItem={({ route, navigationState, ...rest}) =>
|
|
235
|
+
renderTabBarItem={({ route, navigationState, ...rest }) =>
|
|
235
236
|
<TabBarItem
|
|
236
237
|
{...rest}
|
|
237
238
|
key={route.key}
|
|
@@ -242,7 +243,7 @@ function TimetableViewList(props) {
|
|
|
242
243
|
inactiveColor={themeStyles.tabs.inactiveColor}
|
|
243
244
|
// Die einbindung von moment.js zum Anzeigen des Wochentages sollte langfristig entfernt werden.
|
|
244
245
|
// Funktioniert die Luxon funktionalität der Wochenanzeige nicht unter iOS datetime.toFormat('ccc')
|
|
245
|
-
|
|
246
|
+
label={
|
|
246
247
|
// Generieren das Tab-Textes
|
|
247
248
|
({ route }) => {
|
|
248
249
|
// Datumsobject aus dem Tab holen
|