@axelor/aos-mobile-core 7.2.15 → 7.2.16
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/lib/components/external/PlanningView/AgendaItemDisplay.d.ts +7 -0
- package/lib/components/external/PlanningView/AgendaItemDisplay.js +77 -0
- package/lib/components/external/PlanningView/AgendaItemDisplay.js.map +1 -0
- package/lib/components/external/PlanningView/DayDisplay.d.ts +4 -0
- package/lib/components/external/PlanningView/DayDisplay.js +58 -0
- package/lib/components/external/PlanningView/DayDisplay.js.map +1 -0
- package/lib/components/external/PlanningView/MonthDisplay.d.ts +5 -0
- package/lib/components/external/PlanningView/MonthDisplay.js +46 -0
- package/lib/components/external/PlanningView/MonthDisplay.js.map +1 -0
- package/lib/components/external/PlanningView/NavigationButton.d.ts +6 -0
- package/lib/components/external/PlanningView/NavigationButton.js +35 -0
- package/lib/components/external/PlanningView/NavigationButton.js.map +1 -0
- package/lib/components/external/PlanningView/PlanningView.js +39 -107
- package/lib/components/external/PlanningView/PlanningView.js.map +1 -1
- package/lib/components/external/PlanningView/agenda.helpers.d.ts +7 -1
- package/lib/components/external/PlanningView/agenda.helpers.js +62 -5
- package/lib/components/external/PlanningView/agenda.helpers.js.map +1 -1
- package/lib/features/mailMessageSlice.d.ts +1 -1
- package/lib/features/mailMessageSlice.js +7 -30
- package/lib/features/mailMessageSlice.js.map +1 -1
- package/lib/i18n/translations/en.json +13 -0
- package/lib/i18n/translations/fr.json +13 -0
- package/lib/utils/agenda.d.ts +7 -1
- package/lib/utils/agenda.js +12 -7
- package/lib/utils/agenda.js.map +1 -1
- package/lib/utils/date.js +4 -4
- package/lib/utils/date.js.map +1 -1
- package/package.json +3 -3
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { AgendaItem } from './agenda.helpers';
|
|
2
|
+
declare const AgendaItemDisplay: ({ isFirst, agendaItem, renderComponent, }: {
|
|
3
|
+
isFirst?: boolean;
|
|
4
|
+
agendaItem: AgendaItem;
|
|
5
|
+
renderComponent?: (item: AgendaItem) => any;
|
|
6
|
+
}) => JSX.Element;
|
|
7
|
+
export default AgendaItemDisplay;
|
|
@@ -0,0 +1,77 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* Axelor Business Solutions
|
|
3
|
+
*
|
|
4
|
+
* Copyright (C) 2024 Axelor (<http://axelor.com>).
|
|
5
|
+
*
|
|
6
|
+
* This program is free software: you can redistribute it and/or modify
|
|
7
|
+
* it under the terms of the GNU Affero General Public License, version 3,
|
|
8
|
+
* as published by the Free Software Foundation.
|
|
9
|
+
*
|
|
10
|
+
* This program is distributed in the hope that it will be useful,
|
|
11
|
+
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
12
|
+
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
13
|
+
* GNU Affero General Public License for more details.
|
|
14
|
+
*
|
|
15
|
+
* You should have received a copy of the GNU Affero General Public License
|
|
16
|
+
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
|
17
|
+
*/
|
|
18
|
+
import React, { useMemo } from 'react';
|
|
19
|
+
import { StyleSheet, View } from 'react-native';
|
|
20
|
+
import { HorizontalRule, Text } from '@axelor/aos-mobile-ui';
|
|
21
|
+
import { isStartOfMonth } from './agenda.helpers';
|
|
22
|
+
const AgendaItemDisplay = ({ isFirst = false, agendaItem, renderComponent, }) => {
|
|
23
|
+
const { id, date, startHour, endHour, isFullDayEvent } = useMemo(() => agendaItem, [agendaItem]);
|
|
24
|
+
const isNewMonth = useMemo(() => isStartOfMonth(date), [date]);
|
|
25
|
+
if (renderComponent == null) {
|
|
26
|
+
return (<View style={styles.dayItem}>
|
|
27
|
+
<Text>{id}</Text>
|
|
28
|
+
</View>);
|
|
29
|
+
}
|
|
30
|
+
return (<View>
|
|
31
|
+
{isFirst && !isNewMonth ? (<HorizontalRule style={styles.horizontalRule}/>) : null}
|
|
32
|
+
<View style={[styles.itemContainer, isNewMonth && styles.newMonthMargin]}>
|
|
33
|
+
<View style={styles.containerTime}>
|
|
34
|
+
{!isFullDayEvent && (<>
|
|
35
|
+
<Text style={styles.centerText}>{startHour}</Text>
|
|
36
|
+
<Text style={styles.centerText}>{endHour}</Text>
|
|
37
|
+
</>)}
|
|
38
|
+
</View>
|
|
39
|
+
<View style={styles.renderContainer}>
|
|
40
|
+
{renderComponent(agendaItem)}
|
|
41
|
+
</View>
|
|
42
|
+
</View>
|
|
43
|
+
</View>);
|
|
44
|
+
};
|
|
45
|
+
const styles = StyleSheet.create({
|
|
46
|
+
dayItem: {
|
|
47
|
+
flex: 1,
|
|
48
|
+
padding: 10,
|
|
49
|
+
marginRight: 10,
|
|
50
|
+
},
|
|
51
|
+
horizontalRule: {
|
|
52
|
+
marginVertical: 10,
|
|
53
|
+
width: '60%',
|
|
54
|
+
alignSelf: 'center',
|
|
55
|
+
},
|
|
56
|
+
itemContainer: {
|
|
57
|
+
flexDirection: 'row',
|
|
58
|
+
marginTop: 5,
|
|
59
|
+
},
|
|
60
|
+
newMonthMargin: {
|
|
61
|
+
marginTop: 15,
|
|
62
|
+
},
|
|
63
|
+
containerTime: {
|
|
64
|
+
flexDirection: 'column',
|
|
65
|
+
width: '15%',
|
|
66
|
+
},
|
|
67
|
+
centerText: {
|
|
68
|
+
textAlign: 'center',
|
|
69
|
+
},
|
|
70
|
+
renderContainer: {
|
|
71
|
+
alignSelf: 'flex-end',
|
|
72
|
+
marginLeft: 5,
|
|
73
|
+
width: '80%',
|
|
74
|
+
},
|
|
75
|
+
});
|
|
76
|
+
export default AgendaItemDisplay;
|
|
77
|
+
//# sourceMappingURL=AgendaItemDisplay.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"AgendaItemDisplay.js","sourceRoot":"","sources":["../../../../src/components/external/PlanningView/AgendaItemDisplay.tsx"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* Axelor Business Solutions
|
|
3
|
+
*
|
|
4
|
+
* Copyright (C) 2024 Axelor (<http://axelor.com>).
|
|
5
|
+
*
|
|
6
|
+
* This program is free software: you can redistribute it and/or modify
|
|
7
|
+
* it under the terms of the GNU Affero General Public License, version 3,
|
|
8
|
+
* as published by the Free Software Foundation.
|
|
9
|
+
*
|
|
10
|
+
* This program is distributed in the hope that it will be useful,
|
|
11
|
+
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
12
|
+
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
13
|
+
* GNU Affero General Public License for more details.
|
|
14
|
+
*
|
|
15
|
+
* You should have received a copy of the GNU Affero General Public License
|
|
16
|
+
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
|
17
|
+
*/
|
|
18
|
+
import React, { useMemo } from 'react';
|
|
19
|
+
import { StyleSheet, View } from 'react-native';
|
|
20
|
+
import { Text, useThemeColor } from '@axelor/aos-mobile-ui';
|
|
21
|
+
import { useTranslator } from '../../../i18n';
|
|
22
|
+
import { getShortName, isToday } from './agenda.helpers';
|
|
23
|
+
const DayDisplay = ({ date }) => {
|
|
24
|
+
const Colors = useThemeColor();
|
|
25
|
+
const I18n = useTranslator();
|
|
26
|
+
const todayStyle = useMemo(() => (date && isToday(date) ? Colors.primaryColor.background : undefined), [Colors.primaryColor.background, date]);
|
|
27
|
+
if (date) {
|
|
28
|
+
return (<View style={[styles.day]}>
|
|
29
|
+
<Text style={styles.dayNum} textColor={todayStyle}>
|
|
30
|
+
{date.getDate()}
|
|
31
|
+
</Text>
|
|
32
|
+
<Text style={styles.dayText} textColor={todayStyle}>
|
|
33
|
+
{I18n.t(getShortName(date))}
|
|
34
|
+
</Text>
|
|
35
|
+
</View>);
|
|
36
|
+
}
|
|
37
|
+
else {
|
|
38
|
+
return <View style={styles.day}/>;
|
|
39
|
+
}
|
|
40
|
+
};
|
|
41
|
+
const styles = StyleSheet.create({
|
|
42
|
+
dayNum: {
|
|
43
|
+
fontSize: 28,
|
|
44
|
+
fontWeight: '200',
|
|
45
|
+
},
|
|
46
|
+
dayText: {
|
|
47
|
+
fontSize: 14,
|
|
48
|
+
marginTop: -5,
|
|
49
|
+
},
|
|
50
|
+
day: {
|
|
51
|
+
width: 63,
|
|
52
|
+
alignItems: 'center',
|
|
53
|
+
justifyContent: 'flex-start',
|
|
54
|
+
marginVertical: 16,
|
|
55
|
+
},
|
|
56
|
+
});
|
|
57
|
+
export default DayDisplay;
|
|
58
|
+
//# sourceMappingURL=DayDisplay.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"DayDisplay.js","sourceRoot":"","sources":["../../../../src/components/external/PlanningView/DayDisplay.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAEH,OAAO,KAAK,EAAE,EAAC,OAAO,EAAC,MAAM,OAAO,CAAC;AACrC,OAAO,EAAC,UAAU,EAAE,IAAI,EAAC,MAAM,cAAc,CAAC;AAC9C,OAAO,EAAC,IAAI,EAAE,aAAa,EAAC,MAAM,uBAAuB,CAAC;AAC1D,OAAO,EAAC,aAAa,EAAC,MAAM,eAAe,CAAC;AAC5C,OAAO,EAAC,YAAY,EAAE,OAAO,EAAC,MAAM,kBAAkB,CAAC;AAEvD,MAAM,UAAU,GAAG,CAAC,EAAC,IAAI,EAAe,EAAE,EAAE;IAC1C,MAAM,MAAM,GAAG,aAAa,EAAE,CAAC;IAC/B,MAAM,IAAI,GAAG,aAAa,EAAE,CAAC;IAE7B,MAAM,UAAU,GAAG,OAAO,CACxB,GAAG,EAAE,CAAC,CAAC,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,YAAY,CAAC,UAAU,CAAC,CAAC,CAAC,SAAS,CAAC,EAC1E,CAAC,MAAM,CAAC,YAAY,CAAC,UAAU,EAAE,IAAI,CAAC,CACvC,CAAC;IAEF,IAAI,IAAI,EAAE;QACR,OAAO,CACL,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CACxB;QAAA,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,SAAS,CAAC,CAAC,UAAU,CAAC,CAChD;UAAA,CAAC,IAAI,CAAC,OAAO,EAAE,CACjB;QAAA,EAAE,IAAI,CACN;QAAA,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,SAAS,CAAC,CAAC,UAAU,CAAC,CACjD;UAAA,CAAC,IAAI,CAAC,CAAC,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC,CAC7B;QAAA,EAAE,IAAI,CACR;MAAA,EAAE,IAAI,CAAC,CACR,CAAC;KACH;SAAM;QACL,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,EAAG,CAAC;KACpC;AACH,CAAC,CAAC;AAEF,MAAM,MAAM,GAAG,UAAU,CAAC,MAAM,CAAC;IAC/B,MAAM,EAAE;QACN,QAAQ,EAAE,EAAE;QACZ,UAAU,EAAE,KAAK;KAClB;IACD,OAAO,EAAE;QACP,QAAQ,EAAE,EAAE;QACZ,SAAS,EAAE,CAAC,CAAC;KACd;IACD,GAAG,EAAE;QACH,KAAK,EAAE,EAAE;QACT,UAAU,EAAE,QAAQ;QACpB,cAAc,EAAE,YAAY;QAC5B,cAAc,EAAE,EAAE;KACnB;CACF,CAAC,CAAC;AAEH,eAAe,UAAU,CAAC"}
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* Axelor Business Solutions
|
|
3
|
+
*
|
|
4
|
+
* Copyright (C) 2024 Axelor (<http://axelor.com>).
|
|
5
|
+
*
|
|
6
|
+
* This program is free software: you can redistribute it and/or modify
|
|
7
|
+
* it under the terms of the GNU Affero General Public License, version 3,
|
|
8
|
+
* as published by the Free Software Foundation.
|
|
9
|
+
*
|
|
10
|
+
* This program is distributed in the hope that it will be useful,
|
|
11
|
+
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
12
|
+
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
13
|
+
* GNU Affero General Public License for more details.
|
|
14
|
+
*
|
|
15
|
+
* You should have received a copy of the GNU Affero General Public License
|
|
16
|
+
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
|
17
|
+
*/
|
|
18
|
+
import React from 'react';
|
|
19
|
+
import { StyleSheet, View } from 'react-native';
|
|
20
|
+
import { Text, useThemeColor } from '@axelor/aos-mobile-ui';
|
|
21
|
+
import { useTranslator } from '../../../i18n';
|
|
22
|
+
import { getMonthName } from './agenda.helpers';
|
|
23
|
+
const MonthDisplay = ({ date, isFirst = false, }) => {
|
|
24
|
+
const Colors = useThemeColor();
|
|
25
|
+
const I18n = useTranslator();
|
|
26
|
+
return (<View style={[styles.container, isFirst ? styles.margin : undefined]}>
|
|
27
|
+
<Text style={styles.text} textColor={Colors.secondaryColor.background} fontSize={20}>
|
|
28
|
+
{I18n.t(getMonthName(date))}
|
|
29
|
+
</Text>
|
|
30
|
+
</View>);
|
|
31
|
+
};
|
|
32
|
+
const styles = StyleSheet.create({
|
|
33
|
+
container: {
|
|
34
|
+
flex: 1,
|
|
35
|
+
flexDirection: 'column',
|
|
36
|
+
justifyContent: 'flex-end',
|
|
37
|
+
},
|
|
38
|
+
margin: {
|
|
39
|
+
height: 120,
|
|
40
|
+
},
|
|
41
|
+
text: {
|
|
42
|
+
alignSelf: 'center',
|
|
43
|
+
},
|
|
44
|
+
});
|
|
45
|
+
export default MonthDisplay;
|
|
46
|
+
//# sourceMappingURL=MonthDisplay.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"MonthDisplay.js","sourceRoot":"","sources":["../../../../src/components/external/PlanningView/MonthDisplay.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAEH,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAC,UAAU,EAAE,IAAI,EAAC,MAAM,cAAc,CAAC;AAC9C,OAAO,EAAC,IAAI,EAAE,aAAa,EAAC,MAAM,uBAAuB,CAAC;AAC1D,OAAO,EAAC,aAAa,EAAC,MAAM,eAAe,CAAC;AAC5C,OAAO,EAAC,YAAY,EAAC,MAAM,kBAAkB,CAAC;AAE9C,MAAM,YAAY,GAAG,CAAC,EACpB,IAAI,EACJ,OAAO,GAAG,KAAK,GAIhB,EAAE,EAAE;IACH,MAAM,MAAM,GAAG,aAAa,EAAE,CAAC;IAC/B,MAAM,IAAI,GAAG,aAAa,EAAE,CAAC;IAE7B,OAAO,CACL,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CACnE;MAAA,CAAC,IAAI,CACH,KAAK,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,CACnB,SAAS,CAAC,CAAC,MAAM,CAAC,cAAc,CAAC,UAAU,CAAC,CAC5C,QAAQ,CAAC,CAAC,EAAE,CAAC,CACb;QAAA,CAAC,IAAI,CAAC,CAAC,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC,CAC7B;MAAA,EAAE,IAAI,CACR;IAAA,EAAE,IAAI,CAAC,CACR,CAAC;AACJ,CAAC,CAAC;AAEF,MAAM,MAAM,GAAG,UAAU,CAAC,MAAM,CAAC;IAC/B,SAAS,EAAE;QACT,IAAI,EAAE,CAAC;QACP,aAAa,EAAE,QAAQ;QACvB,cAAc,EAAE,UAAU;KAC3B;IACD,MAAM,EAAE;QACN,MAAM,EAAE,GAAG;KACZ;IACD,IAAI,EAAE;QACJ,SAAS,EAAE,QAAQ;KACpB;CACF,CAAC,CAAC;AAEH,eAAe,YAAY,CAAC"}
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* Axelor Business Solutions
|
|
3
|
+
*
|
|
4
|
+
* Copyright (C) 2024 Axelor (<http://axelor.com>).
|
|
5
|
+
*
|
|
6
|
+
* This program is free software: you can redistribute it and/or modify
|
|
7
|
+
* it under the terms of the GNU Affero General Public License, version 3,
|
|
8
|
+
* as published by the Free Software Foundation.
|
|
9
|
+
*
|
|
10
|
+
* This program is distributed in the hope that it will be useful,
|
|
11
|
+
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
12
|
+
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
13
|
+
* GNU Affero General Public License for more details.
|
|
14
|
+
*
|
|
15
|
+
* You should have received a copy of the GNU Affero General Public License
|
|
16
|
+
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
|
17
|
+
*/
|
|
18
|
+
import React from 'react';
|
|
19
|
+
import { StyleSheet } from 'react-native';
|
|
20
|
+
import { CircleButton } from '@axelor/aos-mobile-ui';
|
|
21
|
+
const NavigationButton = ({ visible = true, icon, onPress, }) => {
|
|
22
|
+
if (!visible) {
|
|
23
|
+
return null;
|
|
24
|
+
}
|
|
25
|
+
return (<CircleButton style={styles.circleButton} iconName={icon} onPress={onPress} size={30}/>);
|
|
26
|
+
};
|
|
27
|
+
const styles = StyleSheet.create({
|
|
28
|
+
circleButton: {
|
|
29
|
+
marginHorizontal: 5,
|
|
30
|
+
marginTop: 5,
|
|
31
|
+
width: 40,
|
|
32
|
+
},
|
|
33
|
+
});
|
|
34
|
+
export default NavigationButton;
|
|
35
|
+
//# sourceMappingURL=NavigationButton.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"NavigationButton.js","sourceRoot":"","sources":["../../../../src/components/external/PlanningView/NavigationButton.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAEH,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAC,UAAU,EAAC,MAAM,cAAc,CAAC;AACxC,OAAO,EAAC,YAAY,EAAC,MAAM,uBAAuB,CAAC;AAEnD,MAAM,gBAAgB,GAAG,CAAC,EACxB,OAAO,GAAG,IAAI,EACd,IAAI,EACJ,OAAO,GAKR,EAAE,EAAE;IACH,IAAI,CAAC,OAAO,EAAE;QACZ,OAAO,IAAI,CAAC;KACb;IAED,OAAO,CACL,CAAC,YAAY,CACX,KAAK,CAAC,CAAC,MAAM,CAAC,YAAY,CAAC,CAC3B,QAAQ,CAAC,CAAC,IAAI,CAAC,CACf,OAAO,CAAC,CAAC,OAAO,CAAC,CACjB,IAAI,CAAC,CAAC,EAAE,CAAC,EACT,CACH,CAAC;AACJ,CAAC,CAAC;AAEF,MAAM,MAAM,GAAG,UAAU,CAAC,MAAM,CAAC;IAC/B,YAAY,EAAE;QACZ,gBAAgB,EAAE,CAAC;QACnB,SAAS,EAAE,CAAC;QACZ,KAAK,EAAE,EAAE;KACV;CACF,CAAC,CAAC;AAEH,eAAe,gBAAgB,CAAC"}
|
|
@@ -15,33 +15,38 @@
|
|
|
15
15
|
* You should have received a copy of the GNU Affero General Public License
|
|
16
16
|
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
|
17
17
|
*/
|
|
18
|
-
import React, { useCallback, useMemo, useState } from 'react';
|
|
18
|
+
import React, { useCallback, useEffect, useMemo, useState } from 'react';
|
|
19
19
|
import { StyleSheet, View } from 'react-native';
|
|
20
|
-
import {
|
|
21
|
-
import {
|
|
22
|
-
import { createAgendaItems, createAgendaSchedule, getShortName, isToday, mapEntryToItem, shouldRenderDetailsCard, } from './agenda.helpers';
|
|
20
|
+
import { Agenda, LocaleConfig, } from 'react-native-calendars';
|
|
21
|
+
import { useThemeColor } from '@axelor/aos-mobile-ui';
|
|
23
22
|
import { useTranslator } from '../../../i18n';
|
|
23
|
+
import { createAgendaItems, createAgendaSchedule, DAYS, filterMarkedDates, mapEntryToItem, MONTHS, shouldRenderDetailsCard, } from './agenda.helpers';
|
|
24
|
+
import MonthDisplay from './MonthDisplay';
|
|
25
|
+
import DayDisplay from './DayDisplay';
|
|
26
|
+
import AgendaItemDisplay from './AgendaItemDisplay';
|
|
27
|
+
import NavigationButton from './NavigationButton';
|
|
24
28
|
const PlanningView = ({ numberMonthsAroundToday = 12, renderItem, renderFullDayItem, fetchbyMonth, loading = false, itemList = [], changeWeekButton = true, returnToDayButton = true, }) => {
|
|
25
29
|
const Colors = useThemeColor();
|
|
26
30
|
const I18n = useTranslator();
|
|
27
|
-
const _agendaItems = useMemo(() => createAgendaItems(itemList, I18n), [itemList, I18n]);
|
|
28
|
-
const agendaItems = useMemo(() => createAgendaSchedule(_agendaItems, numberMonthsAroundToday), [_agendaItems, numberMonthsAroundToday]);
|
|
29
31
|
const [fetchDate, setFetchDate] = useState();
|
|
30
32
|
const [currentDate, setCurrentDate] = useState(new Date().toISOString());
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
33
|
+
useEffect(() => {
|
|
34
|
+
LocaleConfig.locales = {
|
|
35
|
+
default: {
|
|
36
|
+
monthNames: MONTHS.map(_m => I18n.t(_m)),
|
|
37
|
+
monthNamesShort: MONTHS.map(_m => I18n.t(_m)),
|
|
38
|
+
dayNames: DAYS.map(_d => I18n.t(_d)),
|
|
39
|
+
dayNamesShort: DAYS.map(_d => I18n.t(_d)),
|
|
40
|
+
today: I18n.t('Base_Calendar_Today'),
|
|
41
|
+
},
|
|
42
|
+
};
|
|
43
|
+
LocaleConfig.defaultLocale = 'default';
|
|
44
|
+
}, [I18n]);
|
|
45
|
+
const _agendaItems = useMemo(() => createAgendaItems(itemList, I18n), [itemList, I18n]);
|
|
46
|
+
const agendaItems = useMemo(() => createAgendaSchedule(_agendaItems, numberMonthsAroundToday), [_agendaItems, numberMonthsAroundToday]);
|
|
47
|
+
const markedDots = useMemo(() => filterMarkedDates(agendaItems), [agendaItems]);
|
|
48
|
+
const renderDate = (date) => {
|
|
49
|
+
return <DayDisplay date={date}/>;
|
|
45
50
|
};
|
|
46
51
|
const renderEmptyDate = () => {
|
|
47
52
|
return <View style={styles.emptyDate}/>;
|
|
@@ -51,29 +56,14 @@ const PlanningView = ({ numberMonthsAroundToday = 12, renderItem, renderFullDayI
|
|
|
51
56
|
if (agendaItem == null) {
|
|
52
57
|
return null;
|
|
53
58
|
}
|
|
54
|
-
const { id,
|
|
59
|
+
const { id, date, isNewMonth } = agendaItem;
|
|
60
|
+
if (isNewMonth) {
|
|
61
|
+
return <MonthDisplay key={id} date={date} isFirst={isFirst}/>;
|
|
62
|
+
}
|
|
55
63
|
const _renderComponent = shouldRenderDetailsCard(agendaItem)
|
|
56
64
|
? renderItem
|
|
57
65
|
: renderFullDayItem;
|
|
58
|
-
|
|
59
|
-
return (<View style={[styles.dayItem, isFirst ? {} : null]}>
|
|
60
|
-
<Text>{id}</Text>
|
|
61
|
-
</View>);
|
|
62
|
-
}
|
|
63
|
-
return (<View key={id}>
|
|
64
|
-
{isFirst ? <HorizontalRule style={styles.horizontalRule}/> : null}
|
|
65
|
-
<View style={isFirst ? styles.firstItemContainer : styles.containerListItem}>
|
|
66
|
-
<View style={styles.containerTime}>
|
|
67
|
-
{!isFullDayEvent && (<>
|
|
68
|
-
<Text style={styles.centerText}>{startHour}</Text>
|
|
69
|
-
<Text style={styles.centerText}>{endHour}</Text>
|
|
70
|
-
</>)}
|
|
71
|
-
</View>
|
|
72
|
-
<View style={styles.renderContainer}>
|
|
73
|
-
{_renderComponent(agendaItem)}
|
|
74
|
-
</View>
|
|
75
|
-
</View>
|
|
76
|
-
</View>);
|
|
66
|
+
return (<AgendaItemDisplay key={id} isFirst={isFirst} agendaItem={agendaItem} renderComponent={_renderComponent}/>);
|
|
77
67
|
};
|
|
78
68
|
const handleLoadItemsForMonth = useCallback((date) => {
|
|
79
69
|
const _date = new Date(date.year, date.month, date.day);
|
|
@@ -93,13 +83,16 @@ const PlanningView = ({ numberMonthsAroundToday = 12, renderItem, renderFullDayI
|
|
|
93
83
|
var lastWeek = new Date(firstDay.getTime() - 7 * 24 * 60 * 60 * 1000);
|
|
94
84
|
setCurrentDate(lastWeek.toISOString());
|
|
95
85
|
};
|
|
96
|
-
return (<View style={
|
|
86
|
+
return (<View style={[
|
|
87
|
+
styles.agendaContainer,
|
|
88
|
+
{ backgroundColor: Colors.backgroundColor },
|
|
89
|
+
]}>
|
|
97
90
|
<View style={styles.headerPlanning}>
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
91
|
+
<NavigationButton visible={changeWeekButton} icon="arrow-left" onPress={lastWeekBtnOnPress}/>
|
|
92
|
+
<NavigationButton visible={returnToDayButton} icon="calendar-day" onPress={todayBtnOnPress}/>
|
|
93
|
+
<NavigationButton visible={changeWeekButton} icon="arrow-right" onPress={nextWeekBtnOnPress}/>
|
|
101
94
|
</View>
|
|
102
|
-
<Agenda onDayPress={date => setCurrentDate(date.dateString)} selected={currentDate} items={agendaItems} loadItemsForMonth={handleLoadItemsForMonth} pastScrollRange={numberMonthsAroundToday} futureScrollRange={numberMonthsAroundToday} renderItem={renderDayItem} renderDay={renderDate} renderEmptyDate={renderEmptyDate} onRefresh={() => fetchbyMonth(fetchDate)} refreshing={loading} theme={{
|
|
95
|
+
<Agenda onDayPress={date => setCurrentDate(date.dateString)} selected={currentDate} items={agendaItems} markedDates={markedDots} firstDay={1} loadItemsForMonth={handleLoadItemsForMonth} pastScrollRange={numberMonthsAroundToday} futureScrollRange={numberMonthsAroundToday} renderItem={renderDayItem} renderDay={renderDate} renderEmptyDate={renderEmptyDate} onRefresh={() => fetchbyMonth(fetchDate)} refreshing={loading} theme={{
|
|
103
96
|
todayTextColor: Colors.text,
|
|
104
97
|
calendarBackground: Colors.backgroundColor,
|
|
105
98
|
indicatorColor: Colors.primaryColor.background,
|
|
@@ -119,73 +112,12 @@ const PlanningView = ({ numberMonthsAroundToday = 12, renderItem, renderFullDayI
|
|
|
119
112
|
}} current={currentDate} key={currentDate}/>
|
|
120
113
|
</View>);
|
|
121
114
|
};
|
|
122
|
-
const
|
|
115
|
+
const styles = StyleSheet.create({
|
|
123
116
|
agendaContainer: {
|
|
124
117
|
height: '100%',
|
|
125
|
-
backgroundColor: Colors.backgroundColor,
|
|
126
118
|
},
|
|
127
119
|
emptyDate: {
|
|
128
|
-
height: 15,
|
|
129
|
-
flex: 1,
|
|
130
|
-
paddingTop: 30,
|
|
131
|
-
},
|
|
132
|
-
dayItem: {
|
|
133
120
|
flex: 1,
|
|
134
|
-
borderRadius: 5,
|
|
135
|
-
padding: 10,
|
|
136
|
-
marginRight: 10,
|
|
137
|
-
marginTop: 17,
|
|
138
|
-
},
|
|
139
|
-
dayNum: {
|
|
140
|
-
fontSize: 28,
|
|
141
|
-
fontWeight: '200',
|
|
142
|
-
color: Colors.text,
|
|
143
|
-
},
|
|
144
|
-
dayText: {
|
|
145
|
-
fontSize: 14,
|
|
146
|
-
color: Colors.text,
|
|
147
|
-
backgroundColor: Colors.background,
|
|
148
|
-
marginTop: -5,
|
|
149
|
-
},
|
|
150
|
-
day: {
|
|
151
|
-
width: 63,
|
|
152
|
-
alignItems: 'center',
|
|
153
|
-
justifyContent: 'flex-start',
|
|
154
|
-
marginTop: 32,
|
|
155
|
-
},
|
|
156
|
-
today: {
|
|
157
|
-
color: Colors.primaryColor.background,
|
|
158
|
-
},
|
|
159
|
-
containerTime: {
|
|
160
|
-
flexDirection: 'column',
|
|
161
|
-
width: '15%',
|
|
162
|
-
},
|
|
163
|
-
containerListItem: {
|
|
164
|
-
flexDirection: 'row',
|
|
165
|
-
marginTop: 15,
|
|
166
|
-
width: '100%',
|
|
167
|
-
},
|
|
168
|
-
firstItemContainer: {
|
|
169
|
-
flexDirection: 'row',
|
|
170
|
-
marginTop: '5%',
|
|
171
|
-
},
|
|
172
|
-
renderContainer: {
|
|
173
|
-
alignSelf: 'flex-end',
|
|
174
|
-
marginLeft: 5,
|
|
175
|
-
width: '80%',
|
|
176
|
-
},
|
|
177
|
-
centerText: {
|
|
178
|
-
textAlign: 'center',
|
|
179
|
-
},
|
|
180
|
-
horizontalRule: {
|
|
181
|
-
marginTop: 10,
|
|
182
|
-
width: '60%',
|
|
183
|
-
alignSelf: 'center',
|
|
184
|
-
},
|
|
185
|
-
circleButton: {
|
|
186
|
-
marginHorizontal: 5,
|
|
187
|
-
marginTop: 5,
|
|
188
|
-
width: 50 + 50 * (1 / 3),
|
|
189
121
|
},
|
|
190
122
|
headerPlanning: {
|
|
191
123
|
flexDirection: 'row',
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PlanningView.js","sourceRoot":"","sources":["../../../../src/components/external/PlanningView/PlanningView.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAEH,OAAO,KAAK,EAAE,EAAC,WAAW,EAAE,OAAO,EAAE,QAAQ,EAAC,MAAM,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"PlanningView.js","sourceRoot":"","sources":["../../../../src/components/external/PlanningView/PlanningView.tsx"],"names":[],"mappings":"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"}
|
|
@@ -1,6 +1,8 @@
|
|
|
1
1
|
import { AgendaEntry, AgendaSchedule } from 'react-native-calendars';
|
|
2
2
|
import { TranslatorProps } from '../../../i18n';
|
|
3
3
|
export declare const EMPTY_TIME = "-";
|
|
4
|
+
export declare const MONTHS: string[];
|
|
5
|
+
export declare const DAYS: string[];
|
|
4
6
|
export interface AgendaEvent {
|
|
5
7
|
id: string;
|
|
6
8
|
startDate: string;
|
|
@@ -10,6 +12,7 @@ export interface AgendaEvent {
|
|
|
10
12
|
export interface AgendaItem {
|
|
11
13
|
id: string;
|
|
12
14
|
date: string | Date;
|
|
15
|
+
isNewMonth?: boolean;
|
|
13
16
|
startHour?: string | Date;
|
|
14
17
|
endHour?: string | Date;
|
|
15
18
|
isFullDayEvent?: Boolean;
|
|
@@ -17,7 +20,10 @@ export interface AgendaItem {
|
|
|
17
20
|
}
|
|
18
21
|
export declare function mapEntryToItem(agendaItem: AgendaEntry, itemList: AgendaItem[]): AgendaItem;
|
|
19
22
|
export declare function createAgendaSchedule(items: AgendaItem[], monthsAroundDate: number): AgendaSchedule;
|
|
20
|
-
export declare function getShortName(date:
|
|
23
|
+
export declare function getShortName(date: Date): string;
|
|
24
|
+
export declare function getMonthName(date: string | Date): string;
|
|
25
|
+
export declare function isStartOfMonth(date: Date | string): boolean;
|
|
21
26
|
export declare function isToday(date: any): boolean;
|
|
22
27
|
export declare const createAgendaItems: (list: AgendaEvent[], I18n: TranslatorProps) => any[];
|
|
23
28
|
export declare const shouldRenderDetailsCard: (event: AgendaItem) => boolean;
|
|
29
|
+
export declare const filterMarkedDates: (agendaItems: AgendaSchedule) => any;
|
|
@@ -17,9 +17,39 @@
|
|
|
17
17
|
*/
|
|
18
18
|
import { formatTime, diffDate, sameDate, incrementDate } from '../../../utils';
|
|
19
19
|
export const EMPTY_TIME = '-';
|
|
20
|
+
const START_OF_MONTH_DOTS = 'startOfMonth';
|
|
21
|
+
export const MONTHS = [
|
|
22
|
+
'Base_MonthLong_January',
|
|
23
|
+
'Base_MonthLong_February',
|
|
24
|
+
'Base_MonthLong_March',
|
|
25
|
+
'Base_MonthLong_April',
|
|
26
|
+
'Base_MonthLong_May',
|
|
27
|
+
'Base_MonthLong_June',
|
|
28
|
+
'Base_MonthLong_July',
|
|
29
|
+
'Base_MonthLong_August',
|
|
30
|
+
'Base_MonthLong_September',
|
|
31
|
+
'Base_MonthLong_October',
|
|
32
|
+
'Base_MonthLong_November',
|
|
33
|
+
'Base_MonthLong_December',
|
|
34
|
+
];
|
|
35
|
+
export const DAYS = [
|
|
36
|
+
'Base_Day_Sun',
|
|
37
|
+
'Base_Day_Mon',
|
|
38
|
+
'Base_Day_Tue',
|
|
39
|
+
'Base_Day_Wed',
|
|
40
|
+
'Base_Day_Thu',
|
|
41
|
+
'Base_Day_Fri',
|
|
42
|
+
'Base_Day_Sat',
|
|
43
|
+
];
|
|
20
44
|
export function mapEntryToItem(agendaItem, itemList) {
|
|
21
|
-
const
|
|
22
|
-
return
|
|
45
|
+
const _item = itemList.find((item) => item.id === agendaItem.name);
|
|
46
|
+
return {
|
|
47
|
+
id: agendaItem.name,
|
|
48
|
+
date: agendaItem.day,
|
|
49
|
+
data: {},
|
|
50
|
+
...(_item ?? {}),
|
|
51
|
+
isNewMonth: agendaItem.name.includes(START_OF_MONTH_DOTS),
|
|
52
|
+
};
|
|
23
53
|
}
|
|
24
54
|
function mapItemToEntry(item) {
|
|
25
55
|
return { name: '' + item?.id, height: 80, day: (item?.date).toString() };
|
|
@@ -61,7 +91,19 @@ function generateAgendaItems(monthsAroundDate) {
|
|
|
61
91
|
const todayDate = new Date();
|
|
62
92
|
const dateArray = getAllDatesFromDate(monthsAroundDate, todayDate);
|
|
63
93
|
const agendaItems = {};
|
|
64
|
-
dateArray.forEach((date) =>
|
|
94
|
+
dateArray.forEach((date) => {
|
|
95
|
+
if (isStartOfMonth(date)) {
|
|
96
|
+
const _d = addDays(date, -1);
|
|
97
|
+
agendaItems[formatDate(_d)] = [
|
|
98
|
+
{
|
|
99
|
+
day: _d,
|
|
100
|
+
name: `${_d.getFullYear()}-${_d.getMonth() + 1}-${START_OF_MONTH_DOTS}`,
|
|
101
|
+
height: undefined,
|
|
102
|
+
},
|
|
103
|
+
];
|
|
104
|
+
}
|
|
105
|
+
agendaItems[formatDate(date)] = [];
|
|
106
|
+
});
|
|
65
107
|
return agendaItems;
|
|
66
108
|
}
|
|
67
109
|
export function createAgendaSchedule(items, monthsAroundDate) {
|
|
@@ -73,8 +115,16 @@ export function createAgendaSchedule(items, monthsAroundDate) {
|
|
|
73
115
|
});
|
|
74
116
|
return agendaSchedule;
|
|
75
117
|
}
|
|
76
|
-
export function getShortName(date
|
|
77
|
-
return
|
|
118
|
+
export function getShortName(date) {
|
|
119
|
+
return DAYS[date.getDay()];
|
|
120
|
+
}
|
|
121
|
+
export function getMonthName(date) {
|
|
122
|
+
const _d = addDays(date, 1);
|
|
123
|
+
return MONTHS[_d.getMonth()];
|
|
124
|
+
}
|
|
125
|
+
export function isStartOfMonth(date) {
|
|
126
|
+
const d = new Date(date);
|
|
127
|
+
return d.getDate() === 1;
|
|
78
128
|
}
|
|
79
129
|
export function isToday(date) {
|
|
80
130
|
const d = new Date(date);
|
|
@@ -147,4 +197,11 @@ export const shouldRenderDetailsCard = (event) => {
|
|
|
147
197
|
(isLastItemOfEvent && eventDate <= today) ||
|
|
148
198
|
isDayEvent);
|
|
149
199
|
};
|
|
200
|
+
export const filterMarkedDates = (agendaItems) => {
|
|
201
|
+
const nonTechnicalDates = Object.entries(agendaItems).map(([_d, items]) => {
|
|
202
|
+
const _list = items.filter(({ name }) => !name.includes(START_OF_MONTH_DOTS));
|
|
203
|
+
return [_d, { marked: _list.length > 0 }];
|
|
204
|
+
});
|
|
205
|
+
return Object.fromEntries(nonTechnicalDates);
|
|
206
|
+
};
|
|
150
207
|
//# sourceMappingURL=agenda.helpers.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"agenda.helpers.js","sourceRoot":"","sources":["../../../../src/components/external/PlanningView/agenda.helpers.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAIH,OAAO,EAAC,UAAU,EAAE,QAAQ,EAAE,QAAQ,EAAE,aAAa,EAAC,MAAM,gBAAgB,CAAC;AAE7E,MAAM,CAAC,MAAM,UAAU,GAAG,GAAG,CAAC;
|
|
1
|
+
{"version":3,"file":"agenda.helpers.js","sourceRoot":"","sources":["../../../../src/components/external/PlanningView/agenda.helpers.ts"],"names":[],"mappings":"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"}
|
|
@@ -86,10 +86,10 @@ export const markAllMailMessageAsRead: import("@reduxjs/toolkit").AsyncThunk<{
|
|
|
86
86
|
}>;
|
|
87
87
|
export const mailMessagesReducer: import("redux").Reducer<{
|
|
88
88
|
loading: boolean;
|
|
89
|
-
loadingFollowers: boolean;
|
|
90
89
|
moreLoading: boolean;
|
|
91
90
|
isListEnd: boolean;
|
|
92
91
|
mailMessagesList: any[];
|
|
92
|
+
loadingFollowers: boolean;
|
|
93
93
|
modelFollowersList: any[];
|
|
94
94
|
reload: boolean;
|
|
95
95
|
reloadFollowers: boolean;
|
|
@@ -17,7 +17,7 @@
|
|
|
17
17
|
*/
|
|
18
18
|
import { createAsyncThunk, createSlice } from '@reduxjs/toolkit';
|
|
19
19
|
import { fetchMailMessages, fetchModelSubscribers, postMailMessageComment, realAllMailMessages, readMailMessage, subscribeRequest, unsubscribeRequest, countUnreadMessages, } from '../api/mail-message-api';
|
|
20
|
-
import { handlerApiCall } from '../apiProviders/utils';
|
|
20
|
+
import { generateInifiniteScrollCases, handlerApiCall, } from '../apiProviders/utils';
|
|
21
21
|
export const getMailMessages = createAsyncThunk('mailMessages/getMailMessages', async function (data, { getState }) {
|
|
22
22
|
return handlerApiCall({
|
|
23
23
|
fetchFunction: fetchMailMessages,
|
|
@@ -126,10 +126,10 @@ export const markAllMailMessageAsRead = createAsyncThunk('mailMessages/markAllMa
|
|
|
126
126
|
});
|
|
127
127
|
const initialState = {
|
|
128
128
|
loading: false,
|
|
129
|
-
loadingFollowers: false,
|
|
130
129
|
moreLoading: false,
|
|
131
130
|
isListEnd: false,
|
|
132
131
|
mailMessagesList: [],
|
|
132
|
+
loadingFollowers: false,
|
|
133
133
|
modelFollowersList: [],
|
|
134
134
|
reload: false,
|
|
135
135
|
reloadFollowers: false,
|
|
@@ -139,34 +139,11 @@ const mailMessagesSlice = createSlice({
|
|
|
139
139
|
name: 'mailMessages',
|
|
140
140
|
initialState,
|
|
141
141
|
extraReducers: builder => {
|
|
142
|
-
builder
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
else {
|
|
148
|
-
state.moreLoading = true;
|
|
149
|
-
}
|
|
150
|
-
});
|
|
151
|
-
builder.addCase(getMailMessages.fulfilled, (state, action) => {
|
|
152
|
-
state.loading = false;
|
|
153
|
-
state.moreLoading = false;
|
|
154
|
-
if (action.meta.arg.page === 0 || action.meta.arg.page == null) {
|
|
155
|
-
state.mailMessagesList = action.payload;
|
|
156
|
-
state.isListEnd = false;
|
|
157
|
-
}
|
|
158
|
-
else {
|
|
159
|
-
if (action.payload != null) {
|
|
160
|
-
state.isListEnd = false;
|
|
161
|
-
state.mailMessagesList = [
|
|
162
|
-
...state.mailMessagesList,
|
|
163
|
-
...action.payload,
|
|
164
|
-
];
|
|
165
|
-
}
|
|
166
|
-
else {
|
|
167
|
-
state.isListEnd = true;
|
|
168
|
-
}
|
|
169
|
-
}
|
|
142
|
+
generateInifiniteScrollCases(builder, getMailMessages, {
|
|
143
|
+
loading: 'loading',
|
|
144
|
+
moreLoading: 'moreLoading',
|
|
145
|
+
isListEnd: 'isListEnd',
|
|
146
|
+
list: 'mailMessagesList',
|
|
170
147
|
});
|
|
171
148
|
builder.addCase(sendMailMessageComment.pending, (state, action) => {
|
|
172
149
|
state.reload = false;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mailMessageSlice.js","sourceRoot":"","sources":["../../src/features/mailMessageSlice.js"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAEH,OAAO,EAAC,gBAAgB,EAAE,WAAW,EAAC,MAAM,kBAAkB,CAAC;AAC/D,OAAO,EACL,iBAAiB,EACjB,qBAAqB,EACrB,sBAAsB,EACtB,mBAAmB,EACnB,eAAe,EACf,gBAAgB,EAChB,kBAAkB,EAClB,mBAAmB,GACpB,MAAM,yBAAyB,CAAC;AACjC,OAAO,
|
|
1
|
+
{"version":3,"file":"mailMessageSlice.js","sourceRoot":"","sources":["../../src/features/mailMessageSlice.js"],"names":[],"mappings":"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"}
|
|
@@ -111,6 +111,19 @@
|
|
|
111
111
|
"Base_Month_Oct": "Oct",
|
|
112
112
|
"Base_Month_Nov": "Nov",
|
|
113
113
|
"Base_Month_Dec": "Dec",
|
|
114
|
+
"Base_MonthLong_January": "January",
|
|
115
|
+
"Base_MonthLong_February": "February",
|
|
116
|
+
"Base_MonthLong_March": "March",
|
|
117
|
+
"Base_MonthLong_April": "April",
|
|
118
|
+
"Base_MonthLong_May": "May",
|
|
119
|
+
"Base_MonthLong_June": "June",
|
|
120
|
+
"Base_MonthLong_July": "July",
|
|
121
|
+
"Base_MonthLong_August": "August",
|
|
122
|
+
"Base_MonthLong_September": "September",
|
|
123
|
+
"Base_MonthLong_October": "October",
|
|
124
|
+
"Base_MonthLong_November": "November",
|
|
125
|
+
"Base_MonthLong_December": "December",
|
|
126
|
+
"Base_Calendar_Today": "Today",
|
|
114
127
|
"Base_InvalidConstraints": "Some constraints are invalid.",
|
|
115
128
|
"Base_MetaJsonFields": "Custom fields",
|
|
116
129
|
"Base_Studio_RefreshConfig": "Refresh view",
|
|
@@ -111,6 +111,19 @@
|
|
|
111
111
|
"Base_Month_Oct": "Oct.",
|
|
112
112
|
"Base_Month_Nov": "Nov.",
|
|
113
113
|
"Base_Month_Dec": "Déc.",
|
|
114
|
+
"Base_MonthLong_January": "Janvier",
|
|
115
|
+
"Base_MonthLong_February": "Février",
|
|
116
|
+
"Base_MonthLong_March": "Mars",
|
|
117
|
+
"Base_MonthLong_April": "Avril",
|
|
118
|
+
"Base_MonthLong_May": "Mai",
|
|
119
|
+
"Base_MonthLong_June": "Juin",
|
|
120
|
+
"Base_MonthLong_July": "Juillet",
|
|
121
|
+
"Base_MonthLong_August": "Août",
|
|
122
|
+
"Base_MonthLong_September": "Septembre",
|
|
123
|
+
"Base_MonthLong_October": "Octobre",
|
|
124
|
+
"Base_MonthLong_November": "Novembre",
|
|
125
|
+
"Base_MonthLong_December": "Décembre",
|
|
126
|
+
"Base_Calendar_Today": "Aujourd'hui",
|
|
114
127
|
"Base_InvalidConstraints": "Certaines contraintes ne sont pas respectées.",
|
|
115
128
|
"Base_MetaJsonFields": "Champs studio",
|
|
116
129
|
"Base_Studio_RefreshConfig": "Actualiser la vue",
|
package/lib/utils/agenda.d.ts
CHANGED
package/lib/utils/agenda.js
CHANGED
|
@@ -15,14 +15,19 @@
|
|
|
15
15
|
* You should have received a copy of the GNU Affero General Public License
|
|
16
16
|
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
|
17
17
|
*/
|
|
18
|
-
|
|
19
|
-
if (
|
|
18
|
+
function removeItemsInterval(items, fromDate, toDate, fieldName) {
|
|
19
|
+
if (fromDate == null || toDate == null || fieldName == null) {
|
|
20
|
+
return items;
|
|
21
|
+
}
|
|
22
|
+
return items.filter(_i => _i[fieldName] <= fromDate || _i[fieldName] >= toDate);
|
|
23
|
+
}
|
|
24
|
+
export function updateAgendaItems(previousData, payload, options = {}) {
|
|
25
|
+
if (payload == null && options?.searchDates == null) {
|
|
20
26
|
return previousData;
|
|
21
27
|
}
|
|
22
|
-
const
|
|
23
|
-
const
|
|
24
|
-
const
|
|
25
|
-
|
|
26
|
-
return arrayWithoutDuplicates;
|
|
28
|
+
const { fromDate, toDate, fieldName } = options.searchDates ?? {};
|
|
29
|
+
const oldItems = removeItemsInterval(previousData, fromDate, toDate, fieldName);
|
|
30
|
+
const allData = [...(payload ?? []), ...oldItems].filter((item, idx, self) => idx === self.findIndex(_i => _i.id === item.id));
|
|
31
|
+
return allData;
|
|
27
32
|
}
|
|
28
33
|
//# sourceMappingURL=agenda.js.map
|
package/lib/utils/agenda.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"agenda.js","sourceRoot":"","sources":["../../src/utils/agenda.
|
|
1
|
+
{"version":3,"file":"agenda.js","sourceRoot":"","sources":["../../src/utils/agenda.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAEH,SAAS,mBAAmB,CAC1B,KAAY,EACZ,QAAgB,EAChB,MAAc,EACd,SAAiB;IAEjB,IAAI,QAAQ,IAAI,IAAI,IAAI,MAAM,IAAI,IAAI,IAAI,SAAS,IAAI,IAAI,EAAE;QAC3D,OAAO,KAAK,CAAC;KACd;IAED,OAAO,KAAK,CAAC,MAAM,CACjB,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,SAAS,CAAC,IAAI,QAAQ,IAAI,EAAE,CAAC,SAAS,CAAC,IAAI,MAAM,CAC3D,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,iBAAiB,CAC/B,YAAmB,EACnB,OAAc,EACd,UAMI,EAAE;IAEN,IAAI,OAAO,IAAI,IAAI,IAAI,OAAO,EAAE,WAAW,IAAI,IAAI,EAAE;QACnD,OAAO,YAAY,CAAC;KACrB;IAED,MAAM,EAAC,QAAQ,EAAE,MAAM,EAAE,SAAS,EAAC,GAAG,OAAO,CAAC,WAAW,IAAI,EAAE,CAAC;IAChE,MAAM,QAAQ,GAAG,mBAAmB,CAClC,YAAY,EACZ,QAAQ,EACR,MAAM,EACN,SAAS,CACV,CAAC;IAEF,MAAM,OAAO,GAAG,CAAC,GAAG,CAAC,OAAO,IAAI,EAAE,CAAC,EAAE,GAAG,QAAQ,CAAC,CAAC,MAAM,CACtD,CAAC,IAAI,EAAE,GAAG,EAAE,IAAI,EAAE,EAAE,CAAC,GAAG,KAAK,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,KAAK,IAAI,CAAC,EAAE,CAAC,CACrE,CAAC;IAEF,OAAO,OAAO,CAAC;AACjB,CAAC"}
|
package/lib/utils/date.js
CHANGED
|
@@ -24,18 +24,18 @@ export const isDateTime = (date) => {
|
|
|
24
24
|
};
|
|
25
25
|
export const getNextMonth = (date) => {
|
|
26
26
|
if (date.getMonth() === 11) {
|
|
27
|
-
return new Date(date.getFullYear() + 1, 0,
|
|
27
|
+
return new Date(date.getFullYear() + 1, 0, date.getDate());
|
|
28
28
|
}
|
|
29
29
|
else {
|
|
30
|
-
return new Date(date.getFullYear(), date.getMonth() + 1,
|
|
30
|
+
return new Date(date.getFullYear(), date.getMonth() + 1, date.getDate());
|
|
31
31
|
}
|
|
32
32
|
};
|
|
33
33
|
export const getPreviousMonth = (date) => {
|
|
34
34
|
if (date.getMonth() === 0) {
|
|
35
|
-
return new Date(date.getFullYear() - 1, 11,
|
|
35
|
+
return new Date(date.getFullYear() - 1, 11, date.getDate());
|
|
36
36
|
}
|
|
37
37
|
else {
|
|
38
|
-
return new Date(date.getFullYear(), date.getMonth() - 1,
|
|
38
|
+
return new Date(date.getFullYear(), date.getMonth() - 1, date.getDate());
|
|
39
39
|
}
|
|
40
40
|
};
|
|
41
41
|
export const sameDate = (date1, date2) => {
|
package/lib/utils/date.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"date.js","sourceRoot":"","sources":["../../src/utils/date.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAEH,OAAO,MAAM,MAAM,QAAQ,CAAC;AAE5B,MAAM,CAAC,MAAM,MAAM,GAAG,CAAC,IAAY,EAAW,EAAE;IAC9C,OAAO,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC,OAAO,EAAE,CAAC;AACvD,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,UAAU,GAAG,CAAC,IAAY,EAAW,EAAE;IAClD,OAAO,MAAM,CAAC,IAAI,CAAC,IAAI,IAAI,EAAE,MAAM,GAAG,EAAE,CAAC;AAC3C,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,YAAY,GAAG,CAAC,IAAU,EAAQ,EAAE;IAC/C,IAAI,IAAI,CAAC,QAAQ,EAAE,KAAK,EAAE,EAAE;QAC1B,OAAO,IAAI,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"date.js","sourceRoot":"","sources":["../../src/utils/date.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAEH,OAAO,MAAM,MAAM,QAAQ,CAAC;AAE5B,MAAM,CAAC,MAAM,MAAM,GAAG,CAAC,IAAY,EAAW,EAAE;IAC9C,OAAO,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC,OAAO,EAAE,CAAC;AACvD,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,UAAU,GAAG,CAAC,IAAY,EAAW,EAAE;IAClD,OAAO,MAAM,CAAC,IAAI,CAAC,IAAI,IAAI,EAAE,MAAM,GAAG,EAAE,CAAC;AAC3C,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,YAAY,GAAG,CAAC,IAAU,EAAQ,EAAE;IAC/C,IAAI,IAAI,CAAC,QAAQ,EAAE,KAAK,EAAE,EAAE;QAC1B,OAAO,IAAI,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,GAAG,CAAC,EAAE,CAAC,EAAE,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC;KAC5D;SAAM;QACL,OAAO,IAAI,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,EAAE,IAAI,CAAC,QAAQ,EAAE,GAAG,CAAC,EAAE,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC;KAC1E;AACH,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAAC,IAAU,EAAQ,EAAE;IACnD,IAAI,IAAI,CAAC,QAAQ,EAAE,KAAK,CAAC,EAAE;QACzB,OAAO,IAAI,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,GAAG,CAAC,EAAE,EAAE,EAAE,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC;KAC7D;SAAM;QACL,OAAO,IAAI,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,EAAE,IAAI,CAAC,QAAQ,EAAE,GAAG,CAAC,EAAE,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC;KAC1E;AACH,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,QAAQ,GAAG,CAAC,KAAW,EAAE,KAAW,EAAW,EAAE;IAC5D,IACE,KAAK,CAAC,OAAO,EAAE,KAAK,KAAK,CAAC,OAAO,EAAE;QACnC,KAAK,CAAC,QAAQ,EAAE,KAAK,KAAK,CAAC,QAAQ,EAAE;QACrC,KAAK,CAAC,WAAW,EAAE,KAAK,KAAK,CAAC,WAAW,EAAE,EAC3C;QACA,OAAO,IAAI,CAAC;KACb;IAED,OAAO,KAAK,CAAC;AACf,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,QAAQ,GAAG,CAAC,KAAW,EAAE,GAAS,EAAU,EAAE;IACzD,MAAM,MAAM,GAAG,MAAM,CAAC,KAAK,CAAC,WAAW,EAAE,CAAC,CAAC;IAC3C,MAAM,IAAI,GAAG,MAAM,CAAC,GAAG,CAAC,WAAW,EAAE,CAAC,CAAC;IACvC,OAAO,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,CAAC,CAAC;AACvC,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,aAAa,GAAG,CAAC,IAAU,EAAE,IAAY,EAAQ,EAAE;IAC9D,OAAO,IAAI,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,EAAE,IAAI,CAAC,QAAQ,EAAE,EAAE,IAAI,CAAC,OAAO,EAAE,GAAG,IAAI,CAAC,CAAC;AAC9E,CAAC,CAAC;AAEF,MAAM,SAAS,GAAG;IAChB,cAAc;IACd,cAAc;IACd,cAAc;IACd,cAAc;IACd,cAAc;IACd,cAAc;IACd,cAAc;CACf,CAAC;AAEF,MAAM,KAAK,GAAG;IACZ,gBAAgB;IAChB,gBAAgB;IAChB,gBAAgB;IAChB,gBAAgB;IAChB,gBAAgB;IAChB,gBAAgB;IAChB,gBAAgB;IAChB,gBAAgB;IAChB,gBAAgB;IAChB,gBAAgB;IAChB,gBAAgB;IAChB,gBAAgB;CACjB,CAAC;AAEF,MAAM,CAAC,MAAM,MAAM,GAAG,CACpB,IAAU,EACV,IAAkC,EAC1B,EAAE;IACV,OAAO,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;AAC1C,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,QAAQ,GAAG,CACtB,IAAU,EACV,IAAkC,EAC1B,EAAE;IACV,OAAO,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC;AACxC,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAC9B,IAAY,EACZ,IAAkC,EACwB,EAAE;IAC5D,IAAI,IAAI,IAAI,IAAI,EAAE;QAChB,OAAO,IAAI,CAAC;KACb;IAED,MAAM,KAAK,GAAG,IAAI,IAAI,CAAC,IAAI,CAAC,CAAC;IAE7B,OAAO;QACL,GAAG,EAAE,MAAM,CAAC,KAAK,EAAE,IAAI,CAAC;QACxB,IAAI,EAAE,KAAK,CAAC,OAAO,EAAE;QACrB,KAAK,EAAE,QAAQ,CAAC,KAAK,EAAE,IAAI,CAAC;QAC5B,IAAI,EAAE,KAAK,CAAC,WAAW,EAAE;KAC1B,CAAC;AACJ,CAAC,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@axelor/aos-mobile-core",
|
|
3
|
-
"version": "7.2.
|
|
3
|
+
"version": "7.2.16",
|
|
4
4
|
"author": "Axelor",
|
|
5
5
|
"license": "AGPL-3.0-only",
|
|
6
6
|
"publishConfig": {
|
|
@@ -84,8 +84,8 @@
|
|
|
84
84
|
"vision-camera-code-scanner": "^0.2.0"
|
|
85
85
|
},
|
|
86
86
|
"dependencies": {
|
|
87
|
-
"@axelor/aos-mobile-error": "7.2.
|
|
88
|
-
"@axelor/aos-mobile-ui": "7.2.
|
|
87
|
+
"@axelor/aos-mobile-error": "7.2.16",
|
|
88
|
+
"@axelor/aos-mobile-ui": "7.2.16",
|
|
89
89
|
"@react-navigation/drawer": "6.6.3",
|
|
90
90
|
"@react-navigation/native": "6.1.7",
|
|
91
91
|
"@react-navigation/native-stack": "6.9.13",
|