@axelor/aos-mobile-helpdesk 7.1.0
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/README.md +44 -0
- package/lib/api/customer-api.d.ts +11 -0
- package/lib/api/customer-api.js +57 -0
- package/lib/api/customer-api.js.map +1 -0
- package/lib/api/helpdesk-config-api.d.ts +1 -0
- package/lib/api/helpdesk-config-api.js +23 -0
- package/lib/api/helpdesk-config-api.js.map +1 -0
- package/lib/api/project-api.d.ts +4 -0
- package/lib/api/project-api.js +31 -0
- package/lib/api/project-api.js.map +1 -0
- package/lib/api/ticket-api.d.ts +26 -0
- package/lib/api/ticket-api.js +99 -0
- package/lib/api/ticket-api.js.map +1 -0
- package/lib/api/timer-api.d.ts +6 -0
- package/lib/api/timer-api.js +44 -0
- package/lib/api/timer-api.js.map +1 -0
- package/lib/api/user-api.d.ts +4 -0
- package/lib/api/user-api.js +31 -0
- package/lib/api/user-api.js.map +1 -0
- package/lib/components/index.d.ts +2 -0
- package/lib/components/index.js +20 -0
- package/lib/components/index.js.map +1 -0
- package/lib/components/molecules/DurationFormInput/DurationFormInput.d.ts +8 -0
- package/lib/components/molecules/DurationFormInput/DurationFormInput.js +73 -0
- package/lib/components/molecules/DurationFormInput/DurationFormInput.js.map +1 -0
- package/lib/components/molecules/DurationFormInput/duration.helpers.d.ts +9 -0
- package/lib/components/molecules/DurationFormInput/duration.helpers.js +44 -0
- package/lib/components/molecules/DurationFormInput/duration.helpers.js.map +1 -0
- package/lib/components/molecules/ProgressFormInput/ProgressFormInput.d.ts +9 -0
- package/lib/components/molecules/ProgressFormInput/ProgressFormInput.js +31 -0
- package/lib/components/molecules/ProgressFormInput/ProgressFormInput.js.map +1 -0
- package/lib/components/molecules/TicketCard/TicketCard.d.ts +17 -0
- package/lib/components/molecules/TicketCard/TicketCard.js +87 -0
- package/lib/components/molecules/TicketCard/TicketCard.js.map +1 -0
- package/lib/components/molecules/index.d.ts +3 -0
- package/lib/components/molecules/index.js +21 -0
- package/lib/components/molecules/index.js.map +1 -0
- package/lib/components/templates/ContactPartnerSearchBar/ContactPartnerSearchBar.d.ts +15 -0
- package/lib/components/templates/ContactPartnerSearchBar/ContactPartnerSearchBar.js +56 -0
- package/lib/components/templates/ContactPartnerSearchBar/ContactPartnerSearchBar.js.map +1 -0
- package/lib/components/templates/CustomerSearchBar/CustomerSearchBar.d.ts +15 -0
- package/lib/components/templates/CustomerSearchBar/CustomerSearchBar.js +52 -0
- package/lib/components/templates/CustomerSearchBar/CustomerSearchBar.js.map +1 -0
- package/lib/components/templates/ProjectSearchBar/ProjectSearchBar.d.ts +15 -0
- package/lib/components/templates/ProjectSearchBar/ProjectSearchBar.js +52 -0
- package/lib/components/templates/ProjectSearchBar/ProjectSearchBar.js.map +1 -0
- package/lib/components/templates/TicketDropdownCards/DropdownGeneralView.d.ts +8 -0
- package/lib/components/templates/TicketDropdownCards/DropdownGeneralView.js +42 -0
- package/lib/components/templates/TicketDropdownCards/DropdownGeneralView.js.map +1 -0
- package/lib/components/templates/TicketDropdownCards/DropdownTimingView.d.ts +7 -0
- package/lib/components/templates/TicketDropdownCards/DropdownTimingView.js +46 -0
- package/lib/components/templates/TicketDropdownCards/DropdownTimingView.js.map +1 -0
- package/lib/components/templates/TicketDropdownCards/TicketDropdownCards.d.ts +2 -0
- package/lib/components/templates/TicketDropdownCards/TicketDropdownCards.js +51 -0
- package/lib/components/templates/TicketDropdownCards/TicketDropdownCards.js.map +1 -0
- package/lib/components/templates/TicketEditButton/TicketEditButton.d.ts +4 -0
- package/lib/components/templates/TicketEditButton/TicketEditButton.js +36 -0
- package/lib/components/templates/TicketEditButton/TicketEditButton.js.map +1 -0
- package/lib/components/templates/TicketHeader/TicketHeader.d.ts +2 -0
- package/lib/components/templates/TicketHeader/TicketHeader.js +75 -0
- package/lib/components/templates/TicketHeader/TicketHeader.js.map +1 -0
- package/lib/components/templates/TicketSearchBar/TicketSearchBar.d.ts +11 -0
- package/lib/components/templates/TicketSearchBar/TicketSearchBar.js +39 -0
- package/lib/components/templates/TicketSearchBar/TicketSearchBar.js.map +1 -0
- package/lib/components/templates/TicketTypeSearchBar/TicketTypeSearchBar.d.ts +15 -0
- package/lib/components/templates/TicketTypeSearchBar/TicketTypeSearchBar.js +52 -0
- package/lib/components/templates/TicketTypeSearchBar/TicketTypeSearchBar.js.map +1 -0
- package/lib/components/templates/TicketsStatusButton/TicketsStatusButton.d.ts +2 -0
- package/lib/components/templates/TicketsStatusButton/TicketsStatusButton.js +45 -0
- package/lib/components/templates/TicketsStatusButton/TicketsStatusButton.js.map +1 -0
- package/lib/components/templates/UserSearchBar/UserSearchBar.d.ts +15 -0
- package/lib/components/templates/UserSearchBar/UserSearchBar.js +53 -0
- package/lib/components/templates/UserSearchBar/UserSearchBar.js.map +1 -0
- package/lib/components/templates/index.d.ts +10 -0
- package/lib/components/templates/index.js +28 -0
- package/lib/components/templates/index.js.map +1 -0
- package/lib/features/customerSlice.d.ts +41 -0
- package/lib/features/customerSlice.js +85 -0
- package/lib/features/customerSlice.js.map +1 -0
- package/lib/features/helpdeskConfigSlice.d.ts +14 -0
- package/lib/features/helpdeskConfigSlice.js +49 -0
- package/lib/features/helpdeskConfigSlice.js.map +1 -0
- package/lib/features/index.d.ts +6 -0
- package/lib/features/index.js +24 -0
- package/lib/features/index.js.map +1 -0
- package/lib/features/projectSlice.d.ts +16 -0
- package/lib/features/projectSlice.js +49 -0
- package/lib/features/projectSlice.js.map +1 -0
- package/lib/features/ticketSlice.d.ts +81 -0
- package/lib/features/ticketSlice.js +175 -0
- package/lib/features/ticketSlice.js.map +1 -0
- package/lib/features/timerSlice.d.ts +26 -0
- package/lib/features/timerSlice.js +73 -0
- package/lib/features/timerSlice.js.map +1 -0
- package/lib/features/userSlice.d.ts +16 -0
- package/lib/features/userSlice.js +49 -0
- package/lib/features/userSlice.js.map +1 -0
- package/lib/hooks/use-helpdesk-header-actions.d.ts +1 -0
- package/lib/hooks/use-helpdesk-header-actions.js +35 -0
- package/lib/hooks/use-helpdesk-header-actions.js.map +1 -0
- package/lib/i18n/en.json +57 -0
- package/lib/i18n/fr.json +57 -0
- package/lib/index.d.ts +4 -0
- package/lib/index.js +67 -0
- package/lib/index.js.map +1 -0
- package/lib/models/index.d.ts +3 -0
- package/lib/models/index.js +21 -0
- package/lib/models/index.js.map +1 -0
- package/lib/models/objectFields.d.ts +2 -0
- package/lib/models/objectFields.js +72 -0
- package/lib/models/objectFields.js.map +1 -0
- package/lib/models/searchFields.d.ts +2 -0
- package/lib/models/searchFields.js +46 -0
- package/lib/models/searchFields.js.map +1 -0
- package/lib/models/sortFields.d.ts +2 -0
- package/lib/models/sortFields.js +26 -0
- package/lib/models/sortFields.js.map +1 -0
- package/lib/screens/MyTeamTicketListScreen.d.ts +4 -0
- package/lib/screens/MyTeamTicketListScreen.js +124 -0
- package/lib/screens/MyTeamTicketListScreen.js.map +1 -0
- package/lib/screens/MyTicketListScreen.d.ts +4 -0
- package/lib/screens/MyTicketListScreen.js +124 -0
- package/lib/screens/MyTicketListScreen.js.map +1 -0
- package/lib/screens/TicketDetailsScreen.d.ts +4 -0
- package/lib/screens/TicketDetailsScreen.js +95 -0
- package/lib/screens/TicketDetailsScreen.js.map +1 -0
- package/lib/screens/TicketFormScreen.d.ts +5 -0
- package/lib/screens/TicketFormScreen.js +127 -0
- package/lib/screens/TicketFormScreen.js.map +1 -0
- package/lib/screens/index.d.ts +40 -0
- package/lib/screens/index.js +50 -0
- package/lib/screens/index.js.map +1 -0
- package/lib/types/index.d.ts +1 -0
- package/lib/types/index.js +19 -0
- package/lib/types/index.js.map +1 -0
- package/lib/types/ticket.d.ts +53 -0
- package/lib/types/ticket.js +217 -0
- package/lib/types/ticket.js.map +1 -0
- package/lib/utils/displayers.d.ts +1 -0
- package/lib/utils/displayers.js +19 -0
- package/lib/utils/displayers.js.map +1 -0
- package/package.json +50 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ProgressFormInput.js","sourceRoot":"","sources":["../../../../src/components/molecules/ProgressFormInput/ProgressFormInput.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAEH,OAAO,KAAK,EAAE,EAAC,WAAW,EAAE,OAAO,EAAC,MAAM,OAAO,CAAC;AAClD,OAAO,EAAC,kBAAkB,EAAC,MAAM,uBAAuB,CAAC;AAUzD,MAAM,iBAAiB,GAAG,CAAC,EACzB,KAAK,EACL,KAAK,EACL,QAAQ,GAAG,KAAK,EAChB,YAAY,GAAG,IAAI,EACnB,QAAQ,GACe,EAAE,EAAE;IAC3B,MAAM,KAAK,GAAG,WAAW,CAAC,KAAK,CAAC,EAAE;QAChC,OAAO,IAAI,CAAC,KAAK,CAAC,KAAK,GAAG,EAAE,CAAC,GAAG,EAAE,CAAC;IACrC,CAAC,EAAE,EAAE,CAAC,CAAC;IAEP,MAAM,aAAa,GAAG,OAAO,CAC3B,GAAG,EAAE,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC,QAAQ,EAAE,EACpC,CAAC,YAAY,EAAE,KAAK,CAAC,CACtB,CAAC;IAEF,MAAM,aAAa,GAAG,KAAK,CAAC,EAAE;QAC5B,QAAQ,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC;IACzB,CAAC,CAAC;IAEF,OAAO,CACL,CAAC,kBAAkB,CACjB,KAAK,CAAC,CAAC,KAAK,CAAC,CACb,KAAK,CAAC,CAAC,KAAK,CAAC,CACb,iBAAiB,CAAC,CAAC,KAAK,CAAC,CACzB,YAAY,CAAC,CAAC,aAAa,CAAC,CAC5B,QAAQ,CAAC,CAAC,aAAa,CAAC,CACxB,QAAQ,CAAC,CAAC,QAAQ,CAAC,CACnB,QAAQ,CAAC,CAAC,EAAE,CAAC,CACb,QAAQ,CAAC,CAAC,GAAG,CAAC,EACd,CACH,CAAC;AACJ,CAAC,CAAC;AAEF,eAAe,iBAAiB,CAAC"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
interface TicketCardProps {
|
|
2
|
+
style?: any;
|
|
3
|
+
ticketSeq: string;
|
|
4
|
+
subject: string;
|
|
5
|
+
progressSelect: number;
|
|
6
|
+
duration: number;
|
|
7
|
+
deadlineDateT: string;
|
|
8
|
+
responsibleUser: string;
|
|
9
|
+
assignedToUser: string;
|
|
10
|
+
prioritySelect: number;
|
|
11
|
+
statusSelect: number;
|
|
12
|
+
allTicketType?: any;
|
|
13
|
+
ticketType?: any;
|
|
14
|
+
onPress: () => void;
|
|
15
|
+
}
|
|
16
|
+
declare const TicketCard: ({ style, ticketSeq, subject, progressSelect, duration, deadlineDateT, responsibleUser, assignedToUser, prioritySelect, statusSelect, allTicketType, ticketType, onPress, }: TicketCardProps) => JSX.Element;
|
|
17
|
+
export default TicketCard;
|
|
@@ -0,0 +1,87 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* Axelor Business Solutions
|
|
3
|
+
*
|
|
4
|
+
* Copyright (C) 2023 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, TouchableOpacity, View } from 'react-native';
|
|
20
|
+
import { Badge, Card, checkNullString, Icon, LabelText, Text, useThemeColor, } from '@axelor/aos-mobile-ui';
|
|
21
|
+
import { useTranslator, formatDateTime, formatDuration, } from '@axelor/aos-mobile-core';
|
|
22
|
+
import Ticket from '../../../types/ticket';
|
|
23
|
+
const TicketCard = ({ style, ticketSeq, subject, progressSelect, duration, deadlineDateT, responsibleUser, assignedToUser, prioritySelect, statusSelect, allTicketType, ticketType, onPress, }) => {
|
|
24
|
+
const Colors = useThemeColor();
|
|
25
|
+
const I18n = useTranslator();
|
|
26
|
+
const colorType = useMemo(() => {
|
|
27
|
+
const colorIndex = allTicketType?.findIndex(status => status.id === ticketType?.id);
|
|
28
|
+
return Ticket.getTypeColor(colorIndex, Colors);
|
|
29
|
+
}, [Colors, allTicketType, ticketType?.id]);
|
|
30
|
+
const borderStyle = useMemo(() => {
|
|
31
|
+
return getStyles(Ticket.getPriorityColor(prioritySelect, Colors))?.border;
|
|
32
|
+
}, [prioritySelect, Colors]);
|
|
33
|
+
return (<TouchableOpacity onPress={onPress} activeOpacity={0.9}>
|
|
34
|
+
<Card style={[styles.container, borderStyle, style]}>
|
|
35
|
+
<View style={styles.leftContainer}>
|
|
36
|
+
<Text style={styles.txtImportant}>
|
|
37
|
+
{`${I18n.t('Helpdesk_Ticket')} n° ${ticketSeq}`}
|
|
38
|
+
</Text>
|
|
39
|
+
{!checkNullString(subject) && <Text>{subject}</Text>}
|
|
40
|
+
{progressSelect !== null && (<Text>{`${I18n.t('Helpdesk_Progress')}: ${progressSelect} %`}</Text>)}
|
|
41
|
+
{duration !== null && (<Text>{`${I18n.t('Helpdesk_Duration')}: ${formatDuration(duration)}`}</Text>)}
|
|
42
|
+
{!checkNullString(deadlineDateT) && (<LabelText iconName="calendar-times" title={`${I18n.t('Helpdesk_Deadline')} :`} value={formatDateTime(deadlineDateT, I18n.t('Base_DateTimeFormat'))}/>)}
|
|
43
|
+
{!checkNullString(responsibleUser) && (<Text>{`${I18n.t('Helpdesk_User_In_Charge')}: ${responsibleUser}`}</Text>)}
|
|
44
|
+
{!checkNullString(assignedToUser) && (<Text>{`${I18n.t('Helpdesk_Assigned_To')}: ${assignedToUser}`}</Text>)}
|
|
45
|
+
</View>
|
|
46
|
+
<View style={styles.rightContainer}>
|
|
47
|
+
<View style={styles.badgeContainer}>
|
|
48
|
+
<Badge title={Ticket.getStatus(statusSelect, I18n)} color={Ticket.getStatusColor(statusSelect, Colors)}/>
|
|
49
|
+
{!checkNullString(ticketType?.name) && (<Badge title={ticketType?.name} color={colorType}/>)}
|
|
50
|
+
</View>
|
|
51
|
+
<Icon style={styles.chevron} name="chevron-right" color={Colors.secondaryColor.background_light} size={20}/>
|
|
52
|
+
</View>
|
|
53
|
+
</Card>
|
|
54
|
+
</TouchableOpacity>);
|
|
55
|
+
};
|
|
56
|
+
const getStyles = color => StyleSheet.create({
|
|
57
|
+
border: {
|
|
58
|
+
borderLeftWidth: 7,
|
|
59
|
+
borderLeftColor: color?.background,
|
|
60
|
+
},
|
|
61
|
+
});
|
|
62
|
+
const styles = StyleSheet.create({
|
|
63
|
+
container: {
|
|
64
|
+
flexDirection: 'row',
|
|
65
|
+
justifyContent: 'space-between',
|
|
66
|
+
paddingRight: 15,
|
|
67
|
+
},
|
|
68
|
+
leftContainer: {
|
|
69
|
+
width: '50%',
|
|
70
|
+
flexDirection: 'column',
|
|
71
|
+
},
|
|
72
|
+
rightContainer: {
|
|
73
|
+
width: '50%',
|
|
74
|
+
flexDirection: 'column',
|
|
75
|
+
alignItems: 'flex-end',
|
|
76
|
+
},
|
|
77
|
+
txtImportant: {
|
|
78
|
+
fontSize: 14,
|
|
79
|
+
fontWeight: 'bold',
|
|
80
|
+
},
|
|
81
|
+
badgeContainer: {
|
|
82
|
+
flexDirection: 'row',
|
|
83
|
+
},
|
|
84
|
+
chevron: { marginTop: '20%' },
|
|
85
|
+
});
|
|
86
|
+
export default TicketCard;
|
|
87
|
+
//# sourceMappingURL=TicketCard.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"TicketCard.js","sourceRoot":"","sources":["../../../../src/components/molecules/TicketCard/TicketCard.tsx"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* Axelor Business Solutions
|
|
3
|
+
*
|
|
4
|
+
* Copyright (C) 2023 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
|
+
export { default as DurationFormInput } from './DurationFormInput/DurationFormInput';
|
|
19
|
+
export { default as ProgressFormInput } from './ProgressFormInput/ProgressFormInput';
|
|
20
|
+
export { default as TicketCard } from './TicketCard/TicketCard';
|
|
21
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/components/molecules/index.js"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAEH,OAAO,EAAC,OAAO,IAAI,iBAAiB,EAAC,MAAM,uCAAuC,CAAC;AACnF,OAAO,EAAC,OAAO,IAAI,iBAAiB,EAAC,MAAM,uCAAuC,CAAC;AACnF,OAAO,EAAC,OAAO,IAAI,UAAU,EAAC,MAAM,yBAAyB,CAAC"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
export default ContactPartnerSearchBar;
|
|
2
|
+
declare function ContactPartnerSearchBar({ placeholderKey, titleKey, defaultValue, onChange, showDetailsPopup, style, styleTxt, showTitle, client, navigate, oneFilter, isFocus, }: {
|
|
3
|
+
placeholderKey?: string;
|
|
4
|
+
titleKey?: string;
|
|
5
|
+
defaultValue?: any;
|
|
6
|
+
onChange?: () => void;
|
|
7
|
+
showDetailsPopup?: boolean;
|
|
8
|
+
style: any;
|
|
9
|
+
styleTxt: any;
|
|
10
|
+
showTitle?: boolean;
|
|
11
|
+
client: any;
|
|
12
|
+
navigate?: boolean;
|
|
13
|
+
oneFilter?: boolean;
|
|
14
|
+
isFocus?: boolean;
|
|
15
|
+
}): JSX.Element;
|
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* Axelor Business Solutions
|
|
3
|
+
*
|
|
4
|
+
* Copyright (C) 2023 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, { useCallback, useEffect } from 'react';
|
|
19
|
+
import { Platform, StyleSheet, View } from 'react-native';
|
|
20
|
+
import { useDispatch, useSelector, useTranslator } from '@axelor/aos-mobile-core';
|
|
21
|
+
import { AutoCompleteSearch, Text } from '@axelor/aos-mobile-ui';
|
|
22
|
+
import { getCustomerbyId, searchCustomerContact, } from '../../../features/customerSlice';
|
|
23
|
+
import { displayItemFullname } from '../../../utils/displayers';
|
|
24
|
+
const ContactPartnerSearchBar = ({ placeholderKey = 'Helpdesk_ContactPartner', titleKey = 'Helpdesk_ContactPartner', defaultValue = null, onChange = () => { }, showDetailsPopup = true, style, styleTxt, showTitle = true, client, navigate = false, oneFilter = false, isFocus = false, }) => {
|
|
25
|
+
const I18n = useTranslator();
|
|
26
|
+
const dispatch = useDispatch();
|
|
27
|
+
const { customer, loadingCustomerContact, moreLoadingCustomerContact, isListEndCustomerContact, customerContactList, } = useSelector(state => state.customer);
|
|
28
|
+
useEffect(() => {
|
|
29
|
+
if (client?.id != null) {
|
|
30
|
+
dispatch(getCustomerbyId({ customerId: client?.id }));
|
|
31
|
+
}
|
|
32
|
+
}, [dispatch, client?.id]);
|
|
33
|
+
const searchContactAPI = useCallback(({ page = 0, searchValue }) => {
|
|
34
|
+
dispatch(searchCustomerContact({ page, searchValue }));
|
|
35
|
+
}, [dispatch]);
|
|
36
|
+
if (client?.id != null) {
|
|
37
|
+
return (<View style={[Platform.OS === 'ios' ? styles.container : null, style]}>
|
|
38
|
+
{showTitle && (<Text style={[styles.title, styleTxt]}>{I18n.t(titleKey)}</Text>)}
|
|
39
|
+
<AutoCompleteSearch objectList={customer?.contactPartnerSet} value={defaultValue} onChangeValue={onChange} placeholder={I18n.t(placeholderKey)} displayValue={displayItemFullname} showDetailsPopup={showDetailsPopup}/>
|
|
40
|
+
</View>);
|
|
41
|
+
}
|
|
42
|
+
return (<View style={[Platform.OS === 'ios' ? styles.container : null, style]}>
|
|
43
|
+
{showTitle && (<Text style={[styles.title, styleTxt]}>{I18n.t(titleKey)}</Text>)}
|
|
44
|
+
<AutoCompleteSearch objectList={customerContactList} value={defaultValue} onChangeValue={onChange} fetchData={searchContactAPI} placeholder={I18n.t(placeholderKey)} displayValue={displayItemFullname} showDetailsPopup={showDetailsPopup} loadingList={loadingCustomerContact} moreLoading={moreLoadingCustomerContact} isListEnd={isListEndCustomerContact} navigate={navigate} oneFilter={oneFilter} isFocus={isFocus}/>
|
|
45
|
+
</View>);
|
|
46
|
+
};
|
|
47
|
+
const styles = StyleSheet.create({
|
|
48
|
+
container: {
|
|
49
|
+
zIndex: 41,
|
|
50
|
+
},
|
|
51
|
+
title: {
|
|
52
|
+
marginHorizontal: 24,
|
|
53
|
+
},
|
|
54
|
+
});
|
|
55
|
+
export default ContactPartnerSearchBar;
|
|
56
|
+
//# sourceMappingURL=ContactPartnerSearchBar.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ContactPartnerSearchBar.js","sourceRoot":"","sources":["../../../../src/components/templates/ContactPartnerSearchBar/ContactPartnerSearchBar.js"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
export default CustomerSearchBar;
|
|
2
|
+
declare function CustomerSearchBar({ placeholderKey, titleKey, defaultValue, onChange, showDetailsPopup, navigate, oneFilter, isFocus, style, styleTxt, showTitle, required, }: {
|
|
3
|
+
placeholderKey?: string;
|
|
4
|
+
titleKey?: string;
|
|
5
|
+
defaultValue?: any;
|
|
6
|
+
onChange?: () => void;
|
|
7
|
+
showDetailsPopup?: boolean;
|
|
8
|
+
navigate?: boolean;
|
|
9
|
+
oneFilter?: boolean;
|
|
10
|
+
isFocus?: boolean;
|
|
11
|
+
style: any;
|
|
12
|
+
styleTxt: any;
|
|
13
|
+
showTitle?: boolean;
|
|
14
|
+
required?: boolean;
|
|
15
|
+
}): JSX.Element;
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* Axelor Business Solutions
|
|
3
|
+
*
|
|
4
|
+
* Copyright (C) 2023 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, { useCallback, useMemo } from 'react';
|
|
19
|
+
import { Platform, StyleSheet, View } from 'react-native';
|
|
20
|
+
import { useDispatch, useSelector, useTranslator } from '@axelor/aos-mobile-core';
|
|
21
|
+
import { AutoCompleteSearch, Text, useThemeColor } from '@axelor/aos-mobile-ui';
|
|
22
|
+
import { searchCustomer } from '../../../features/customerSlice';
|
|
23
|
+
import { displayItemFullname } from '../../../utils/displayers';
|
|
24
|
+
const CustomerSearchBar = ({ placeholderKey = 'Helpdesk_CustomPartner', titleKey = 'Helpdesk_CustomPartner', defaultValue = null, onChange = () => { }, showDetailsPopup = true, navigate = false, oneFilter = false, isFocus = false, style, styleTxt, showTitle = true, required = false, }) => {
|
|
25
|
+
const I18n = useTranslator();
|
|
26
|
+
const Colors = useThemeColor();
|
|
27
|
+
const dispatch = useDispatch();
|
|
28
|
+
const { customerList, loading, moreLoading, isListEnd } = useSelector(state => state.customer);
|
|
29
|
+
const styles = useMemo(() => getStyles(Colors), [Colors]);
|
|
30
|
+
const searchCustomerAPI = useCallback(({ page = 0, searchValue }) => {
|
|
31
|
+
dispatch(searchCustomer({ page, searchValue }));
|
|
32
|
+
}, [dispatch]);
|
|
33
|
+
return (<View style={[Platform.OS === 'ios' ? styles.container : null, style]}>
|
|
34
|
+
{showTitle && (<Text style={[styles.title, styleTxt]}>{I18n.t(titleKey)}</Text>)}
|
|
35
|
+
<AutoCompleteSearch style={[
|
|
36
|
+
defaultValue == null && required ? styles.requiredBorder : null,
|
|
37
|
+
]} objectList={customerList} value={defaultValue} onChangeValue={onChange} fetchData={searchCustomerAPI} displayValue={displayItemFullname} placeholder={I18n.t(placeholderKey)} showDetailsPopup={showDetailsPopup} loadingList={loading} moreLoading={moreLoading} isListEnd={isListEnd} navigate={navigate} oneFilter={oneFilter} isFocus={isFocus}/>
|
|
38
|
+
</View>);
|
|
39
|
+
};
|
|
40
|
+
const getStyles = Colors => StyleSheet.create({
|
|
41
|
+
container: {
|
|
42
|
+
zIndex: 41,
|
|
43
|
+
},
|
|
44
|
+
title: {
|
|
45
|
+
marginHorizontal: 24,
|
|
46
|
+
},
|
|
47
|
+
requiredBorder: {
|
|
48
|
+
borderColor: Colors.errorColor.background,
|
|
49
|
+
},
|
|
50
|
+
});
|
|
51
|
+
export default CustomerSearchBar;
|
|
52
|
+
//# sourceMappingURL=CustomerSearchBar.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"CustomerSearchBar.js","sourceRoot":"","sources":["../../../../src/components/templates/CustomerSearchBar/CustomerSearchBar.js"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
export default ProjectSearchBar;
|
|
2
|
+
declare function ProjectSearchBar({ placeholderKey, titleKey, defaultValue, onChange, showDetailsPopup, navigate, oneFilter, isFocus, style, styleTxt, showTitle, required, }: {
|
|
3
|
+
placeholderKey?: string;
|
|
4
|
+
titleKey?: string;
|
|
5
|
+
defaultValue?: any;
|
|
6
|
+
onChange?: () => void;
|
|
7
|
+
showDetailsPopup?: boolean;
|
|
8
|
+
navigate?: boolean;
|
|
9
|
+
oneFilter?: boolean;
|
|
10
|
+
isFocus?: boolean;
|
|
11
|
+
style: any;
|
|
12
|
+
styleTxt: any;
|
|
13
|
+
showTitle?: boolean;
|
|
14
|
+
required?: boolean;
|
|
15
|
+
}): JSX.Element;
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* Axelor Business Solutions
|
|
3
|
+
*
|
|
4
|
+
* Copyright (C) 2023 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, { useCallback, useMemo } from 'react';
|
|
19
|
+
import { Platform, StyleSheet, View } from 'react-native';
|
|
20
|
+
import { useDispatch, useSelector, useTranslator } from '@axelor/aos-mobile-core';
|
|
21
|
+
import { AutoCompleteSearch, Text, useThemeColor } from '@axelor/aos-mobile-ui';
|
|
22
|
+
import { searchProject } from '../../../features/projectSlice';
|
|
23
|
+
import { displayItemFullname } from '../../../utils/displayers';
|
|
24
|
+
const ProjectSearchBar = ({ placeholderKey = 'Helpdesk_Project', titleKey = 'Helpdesk_Project', defaultValue = null, onChange = () => { }, showDetailsPopup = true, navigate = false, oneFilter = false, isFocus = false, style, styleTxt, showTitle = true, required = false, }) => {
|
|
25
|
+
const I18n = useTranslator();
|
|
26
|
+
const Colors = useThemeColor();
|
|
27
|
+
const dispatch = useDispatch();
|
|
28
|
+
const { projectList, loadingProject, moreLoading, isListEnd } = useSelector(state => state.project);
|
|
29
|
+
const styles = useMemo(() => getStyles(Colors), [Colors]);
|
|
30
|
+
const searchProjectAPI = useCallback(({ page = 0, searchValue }) => {
|
|
31
|
+
dispatch(searchProject({ page, searchValue }));
|
|
32
|
+
}, [dispatch]);
|
|
33
|
+
return (<View style={[Platform.OS === 'ios' ? styles.container : null, style]}>
|
|
34
|
+
{showTitle && (<Text style={[styles.title, styleTxt]}>{I18n.t(titleKey)}</Text>)}
|
|
35
|
+
<AutoCompleteSearch style={[
|
|
36
|
+
defaultValue == null && required ? styles.requiredBorder : null,
|
|
37
|
+
]} objectList={projectList} value={defaultValue} onChangeValue={onChange} fetchData={searchProjectAPI} displayValue={displayItemFullname} placeholder={I18n.t(placeholderKey)} showDetailsPopup={showDetailsPopup} loadingList={loadingProject} moreLoading={moreLoading} isListEnd={isListEnd} navigate={navigate} oneFilter={oneFilter} isFocus={isFocus}/>
|
|
38
|
+
</View>);
|
|
39
|
+
};
|
|
40
|
+
const getStyles = Colors => StyleSheet.create({
|
|
41
|
+
container: {
|
|
42
|
+
zIndex: 41,
|
|
43
|
+
},
|
|
44
|
+
title: {
|
|
45
|
+
marginHorizontal: 24,
|
|
46
|
+
},
|
|
47
|
+
requiredBorder: {
|
|
48
|
+
borderColor: Colors.errorColor.background,
|
|
49
|
+
},
|
|
50
|
+
});
|
|
51
|
+
export default ProjectSearchBar;
|
|
52
|
+
//# sourceMappingURL=ProjectSearchBar.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ProjectSearchBar.js","sourceRoot":"","sources":["../../../../src/components/templates/ProjectSearchBar/ProjectSearchBar.js"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
export default DropdownGeneralView;
|
|
2
|
+
declare function DropdownGeneralView({ project, customerPartner, contactPartner, assignedToUser, responsibleUser, }: {
|
|
3
|
+
project: any;
|
|
4
|
+
customerPartner: any;
|
|
5
|
+
contactPartner: any;
|
|
6
|
+
assignedToUser: any;
|
|
7
|
+
responsibleUser: any;
|
|
8
|
+
}): JSX.Element;
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* Axelor Business Solutions
|
|
3
|
+
*
|
|
4
|
+
* Copyright (C) 2023 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 { View } from 'react-native';
|
|
20
|
+
import { useTranslator } from '@axelor/aos-mobile-core';
|
|
21
|
+
import { checkNullString, LabelText, Text } from '@axelor/aos-mobile-ui';
|
|
22
|
+
const DropdownGeneralView = ({ project, customerPartner, contactPartner, assignedToUser, responsibleUser, }) => {
|
|
23
|
+
const I18n = useTranslator();
|
|
24
|
+
if (checkNullString(project) &&
|
|
25
|
+
checkNullString(customerPartner) &&
|
|
26
|
+
checkNullString(contactPartner) &&
|
|
27
|
+
checkNullString(assignedToUser) &&
|
|
28
|
+
checkNullString(responsibleUser)) {
|
|
29
|
+
return (<View>
|
|
30
|
+
<Text>{I18n.t('Helpdesk_NoGeneralInformation')}</Text>
|
|
31
|
+
</View>);
|
|
32
|
+
}
|
|
33
|
+
return (<View>
|
|
34
|
+
{!checkNullString(project) && (<LabelText title={I18n.t('Helpdesk_Project')} value={project}/>)}
|
|
35
|
+
{!checkNullString(customerPartner) && (<LabelText title={I18n.t('Helpdesk_CustomPartner')} value={customerPartner}/>)}
|
|
36
|
+
{!checkNullString(contactPartner) && (<LabelText title={I18n.t('Helpdesk_ContactPartner')} value={contactPartner}/>)}
|
|
37
|
+
{!checkNullString(assignedToUser) && (<LabelText title={I18n.t('Helpdesk_Assigned_To')} value={assignedToUser}/>)}
|
|
38
|
+
{!checkNullString(responsibleUser) && (<LabelText title={I18n.t('Helpdesk_User_In_Charge')} value={responsibleUser}/>)}
|
|
39
|
+
</View>);
|
|
40
|
+
};
|
|
41
|
+
export default DropdownGeneralView;
|
|
42
|
+
//# sourceMappingURL=DropdownGeneralView.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"DropdownGeneralView.js","sourceRoot":"","sources":["../../../../src/components/templates/TicketDropdownCards/DropdownGeneralView.js"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAEH,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAC,IAAI,EAAC,MAAM,cAAc,CAAC;AAClC,OAAO,EAAC,aAAa,EAAC,MAAM,yBAAyB,CAAC;AACtD,OAAO,EAAC,eAAe,EAAE,SAAS,EAAE,IAAI,EAAC,MAAM,uBAAuB,CAAC;AAEvE,MAAM,mBAAmB,GAAG,CAAC,EAC3B,OAAO,EACP,eAAe,EACf,cAAc,EACd,cAAc,EACd,eAAe,GAChB,EAAE,EAAE;IACH,MAAM,IAAI,GAAG,aAAa,EAAE,CAAC;IAE7B,IACE,eAAe,CAAC,OAAO,CAAC;QACxB,eAAe,CAAC,eAAe,CAAC;QAChC,eAAe,CAAC,cAAc,CAAC;QAC/B,eAAe,CAAC,cAAc,CAAC;QAC/B,eAAe,CAAC,eAAe,CAAC,EAChC;QACA,OAAO,CACL,CAAC,IAAI,CACH;QAAA,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,+BAA+B,CAAC,CAAC,EAAE,IAAI,CACvD;MAAA,EAAE,IAAI,CAAC,CACR,CAAC;KACH;IAED,OAAO,CACL,CAAC,IAAI,CACH;MAAA,CAAC,CAAC,eAAe,CAAC,OAAO,CAAC,IAAI,CAC5B,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,kBAAkB,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,EAAG,CACjE,CACD;MAAA,CAAC,CAAC,eAAe,CAAC,eAAe,CAAC,IAAI,CACpC,CAAC,SAAS,CACR,KAAK,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,wBAAwB,CAAC,CAAC,CACxC,KAAK,CAAC,CAAC,eAAe,CAAC,EACvB,CACH,CACD;MAAA,CAAC,CAAC,eAAe,CAAC,cAAc,CAAC,IAAI,CACnC,CAAC,SAAS,CACR,KAAK,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,yBAAyB,CAAC,CAAC,CACzC,KAAK,CAAC,CAAC,cAAc,CAAC,EACtB,CACH,CACD;MAAA,CAAC,CAAC,eAAe,CAAC,cAAc,CAAC,IAAI,CACnC,CAAC,SAAS,CACR,KAAK,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,sBAAsB,CAAC,CAAC,CACtC,KAAK,CAAC,CAAC,cAAc,CAAC,EACtB,CACH,CACD;MAAA,CAAC,CAAC,eAAe,CAAC,eAAe,CAAC,IAAI,CACpC,CAAC,SAAS,CACR,KAAK,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,yBAAyB,CAAC,CAAC,CACzC,KAAK,CAAC,CAAC,eAAe,CAAC,EACvB,CACH,CACH;IAAA,EAAE,IAAI,CAAC,CACR,CAAC;AACJ,CAAC,CAAC;AAEF,eAAe,mBAAmB,CAAC"}
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* Axelor Business Solutions
|
|
3
|
+
*
|
|
4
|
+
* Copyright (C) 2023 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 { View } from 'react-native';
|
|
20
|
+
import { formatDateTime as _formatDateTime, formatDuration, useTranslator, } from '@axelor/aos-mobile-core';
|
|
21
|
+
import { checkNullString, LabelText, Text } from '@axelor/aos-mobile-ui';
|
|
22
|
+
const DropdownTimingView = ({ deadlineDateT, startDateT, endDateT, duration, }) => {
|
|
23
|
+
const I18n = useTranslator();
|
|
24
|
+
const formatDateTime = (titleKey, value) => {
|
|
25
|
+
return (<LabelText title={I18n.t(titleKey)} value={_formatDateTime(value, I18n.t('Base_DateTimeFormat'))}/>);
|
|
26
|
+
};
|
|
27
|
+
if (checkNullString(deadlineDateT) &&
|
|
28
|
+
checkNullString(startDateT) &&
|
|
29
|
+
checkNullString(endDateT) &&
|
|
30
|
+
duration == null) {
|
|
31
|
+
return (<View>
|
|
32
|
+
<Text>{I18n.t('Helpdesk_NoTimingInformation')}</Text>
|
|
33
|
+
</View>);
|
|
34
|
+
}
|
|
35
|
+
return (<View>
|
|
36
|
+
{!checkNullString(deadlineDateT) &&
|
|
37
|
+
formatDateTime('Helpdesk_Deadline', deadlineDateT)}
|
|
38
|
+
{!checkNullString(startDateT) &&
|
|
39
|
+
formatDateTime('Helpdesk_StartDate', startDateT)}
|
|
40
|
+
{!checkNullString(endDateT) &&
|
|
41
|
+
formatDateTime('Helpdesk_EndDate', endDateT)}
|
|
42
|
+
{duration !== null && (<LabelText title={I18n.t('Helpdesk_Duration')} value={formatDuration(duration)}/>)}
|
|
43
|
+
</View>);
|
|
44
|
+
};
|
|
45
|
+
export default DropdownTimingView;
|
|
46
|
+
//# sourceMappingURL=DropdownTimingView.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"DropdownTimingView.js","sourceRoot":"","sources":["../../../../src/components/templates/TicketDropdownCards/DropdownTimingView.js"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAEH,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAC,IAAI,EAAC,MAAM,cAAc,CAAC;AAClC,OAAO,EACL,cAAc,IAAI,eAAe,EACjC,cAAc,EACd,aAAa,GACd,MAAM,yBAAyB,CAAC;AACjC,OAAO,EAAC,eAAe,EAAE,SAAS,EAAE,IAAI,EAAC,MAAM,uBAAuB,CAAC;AAEvE,MAAM,kBAAkB,GAAG,CAAC,EAC1B,aAAa,EACb,UAAU,EACV,QAAQ,EACR,QAAQ,GACT,EAAE,EAAE;IACH,MAAM,IAAI,GAAG,aAAa,EAAE,CAAC;IAE7B,MAAM,cAAc,GAAG,CAAC,QAAQ,EAAE,KAAK,EAAE,EAAE;QACzC,OAAO,CACL,CAAC,SAAS,CACR,KAAK,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CACxB,KAAK,CAAC,CAAC,eAAe,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC,EAC7D,CACH,CAAC;IACJ,CAAC,CAAC;IAEF,IACE,eAAe,CAAC,aAAa,CAAC;QAC9B,eAAe,CAAC,UAAU,CAAC;QAC3B,eAAe,CAAC,QAAQ,CAAC;QACzB,QAAQ,IAAI,IAAI,EAChB;QACA,OAAO,CACL,CAAC,IAAI,CACH;QAAA,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,8BAA8B,CAAC,CAAC,EAAE,IAAI,CACtD;MAAA,EAAE,IAAI,CAAC,CACR,CAAC;KACH;IAED,OAAO,CACL,CAAC,IAAI,CACH;MAAA,CAAC,CAAC,eAAe,CAAC,aAAa,CAAC;YAC9B,cAAc,CAAC,mBAAmB,EAAE,aAAa,CAAC,CACpD;MAAA,CAAC,CAAC,eAAe,CAAC,UAAU,CAAC;YAC3B,cAAc,CAAC,oBAAoB,EAAE,UAAU,CAAC,CAClD;MAAA,CAAC,CAAC,eAAe,CAAC,QAAQ,CAAC;YACzB,cAAc,CAAC,kBAAkB,EAAE,QAAQ,CAAC,CAC9C;MAAA,CAAC,QAAQ,KAAK,IAAI,IAAI,CACpB,CAAC,SAAS,CACR,KAAK,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,mBAAmB,CAAC,CAAC,CACnC,KAAK,CAAC,CAAC,cAAc,CAAC,QAAQ,CAAC,CAAC,EAChC,CACH,CACH;IAAA,EAAE,IAAI,CAAC,CACR,CAAC;AACJ,CAAC,CAAC;AAEF,eAAe,kBAAkB,CAAC"}
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* Axelor Business Solutions
|
|
3
|
+
*
|
|
4
|
+
* Copyright (C) 2023 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 { DropdownCardSwitch } from '@axelor/aos-mobile-ui';
|
|
21
|
+
import { useTranslator, useSelector } from '@axelor/aos-mobile-core';
|
|
22
|
+
import DropdownGeneralView from './DropdownGeneralView';
|
|
23
|
+
import DropdownTimingView from './DropdownTimingView';
|
|
24
|
+
const TicketDropdownCards = ({}) => {
|
|
25
|
+
const I18n = useTranslator();
|
|
26
|
+
const { ticket } = useSelector(state => state.ticket);
|
|
27
|
+
return (<View style={styles.container}>
|
|
28
|
+
<DropdownCardSwitch styleTitle={styles.textTitle} dropdownItems={[
|
|
29
|
+
{
|
|
30
|
+
title: I18n.t('Helpdesk_GeneralInformations'),
|
|
31
|
+
key: 1,
|
|
32
|
+
childrenComp: (<DropdownGeneralView project={ticket.project?.fullName} contactPartner={ticket.contactPartner?.fullName} customerPartner={ticket.customerPartner?.fullName} assignedToUser={ticket.assignedToUser?.fullName} responsibleUser={ticket.responsibleUser?.fullName}/>),
|
|
33
|
+
},
|
|
34
|
+
{
|
|
35
|
+
title: I18n.t('Helpdesk_Timing'),
|
|
36
|
+
key: 2,
|
|
37
|
+
childrenComp: (<DropdownTimingView deadlineDateT={ticket.deadlineDateT} startDateT={ticket.startDateT} endDateT={ticket.endDateT} duration={ticket.duration}/>),
|
|
38
|
+
},
|
|
39
|
+
]}/>
|
|
40
|
+
</View>);
|
|
41
|
+
};
|
|
42
|
+
const styles = StyleSheet.create({
|
|
43
|
+
container: {
|
|
44
|
+
alignItems: 'center',
|
|
45
|
+
},
|
|
46
|
+
textTitle: {
|
|
47
|
+
fontWeight: 'bold',
|
|
48
|
+
},
|
|
49
|
+
});
|
|
50
|
+
export default TicketDropdownCards;
|
|
51
|
+
//# sourceMappingURL=TicketDropdownCards.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"TicketDropdownCards.js","sourceRoot":"","sources":["../../../../src/components/templates/TicketDropdownCards/TicketDropdownCards.js"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAEH,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAC,UAAU,EAAE,IAAI,EAAC,MAAM,cAAc,CAAC;AAC9C,OAAO,EAAC,kBAAkB,EAAC,MAAM,uBAAuB,CAAC;AACzD,OAAO,EAAC,aAAa,EAAE,WAAW,EAAC,MAAM,yBAAyB,CAAC;AACnE,OAAO,mBAAmB,MAAM,uBAAuB,CAAC;AACxD,OAAO,kBAAkB,MAAM,sBAAsB,CAAC;AAEtD,MAAM,mBAAmB,GAAG,CAAC,EAAE,EAAE,EAAE;IACjC,MAAM,IAAI,GAAG,aAAa,EAAE,CAAC;IAE7B,MAAM,EAAC,MAAM,EAAC,GAAG,WAAW,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;IAEpD,OAAO,CACL,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,SAAS,CAAC,CAC5B;MAAA,CAAC,kBAAkB,CACjB,UAAU,CAAC,CAAC,MAAM,CAAC,SAAS,CAAC,CAC7B,aAAa,CAAC,CAAC;YACb;gBACE,KAAK,EAAE,IAAI,CAAC,CAAC,CAAC,8BAA8B,CAAC;gBAC7C,GAAG,EAAE,CAAC;gBACN,YAAY,EAAE,CACZ,CAAC,mBAAmB,CAClB,OAAO,CAAC,CAAC,MAAM,CAAC,OAAO,EAAE,QAAQ,CAAC,CAClC,cAAc,CAAC,CAAC,MAAM,CAAC,cAAc,EAAE,QAAQ,CAAC,CAChD,eAAe,CAAC,CAAC,MAAM,CAAC,eAAe,EAAE,QAAQ,CAAC,CAClD,cAAc,CAAC,CAAC,MAAM,CAAC,cAAc,EAAE,QAAQ,CAAC,CAChD,eAAe,CAAC,CAAC,MAAM,CAAC,eAAe,EAAE,QAAQ,CAAC,EAClD,CACH;aACF;YACD;gBACE,KAAK,EAAE,IAAI,CAAC,CAAC,CAAC,iBAAiB,CAAC;gBAChC,GAAG,EAAE,CAAC;gBACN,YAAY,EAAE,CACZ,CAAC,kBAAkB,CACjB,aAAa,CAAC,CAAC,MAAM,CAAC,aAAa,CAAC,CACpC,UAAU,CAAC,CAAC,MAAM,CAAC,UAAU,CAAC,CAC9B,QAAQ,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,CAC1B,QAAQ,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,EAC1B,CACH;aACF;SACF,CAAC,EAEN;IAAA,EAAE,IAAI,CAAC,CACR,CAAC;AACJ,CAAC,CAAC;AAEF,MAAM,MAAM,GAAG,UAAU,CAAC,MAAM,CAAC;IAC/B,SAAS,EAAE;QACT,UAAU,EAAE,QAAQ;KACrB;IACD,SAAS,EAAE;QACT,UAAU,EAAE,MAAM;KACnB;CACF,CAAC,CAAC;AAEH,eAAe,mBAAmB,CAAC"}
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* Axelor Business Solutions
|
|
3
|
+
*
|
|
4
|
+
* Copyright (C) 2023 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 { useNavigation } from '@axelor/aos-mobile-core';
|
|
21
|
+
import { CircleButton } from '@axelor/aos-mobile-ui';
|
|
22
|
+
const TicketEditButton = ({ idTicket }) => {
|
|
23
|
+
const navigation = useNavigation();
|
|
24
|
+
return (<CircleButton style={styles.floatingButton} iconName="pen" onPress={() => navigation.navigate('TicketFormScreen', {
|
|
25
|
+
idTicket: idTicket,
|
|
26
|
+
})}/>);
|
|
27
|
+
};
|
|
28
|
+
const styles = StyleSheet.create({
|
|
29
|
+
floatingButton: {
|
|
30
|
+
position: 'absolute',
|
|
31
|
+
bottom: 25,
|
|
32
|
+
right: 25,
|
|
33
|
+
},
|
|
34
|
+
});
|
|
35
|
+
export default TicketEditButton;
|
|
36
|
+
//# sourceMappingURL=TicketEditButton.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"TicketEditButton.js","sourceRoot":"","sources":["../../../../src/components/templates/TicketEditButton/TicketEditButton.js"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAEH,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAC,UAAU,EAAC,MAAM,cAAc,CAAC;AACxC,OAAO,EAAC,aAAa,EAAC,MAAM,yBAAyB,CAAC;AACtD,OAAO,EAAC,YAAY,EAAC,MAAM,uBAAuB,CAAC;AAEnD,MAAM,gBAAgB,GAAG,CAAC,EAAC,QAAQ,EAAC,EAAE,EAAE;IACtC,MAAM,UAAU,GAAG,aAAa,EAAE,CAAC;IACnC,OAAO,CACL,CAAC,YAAY,CACX,KAAK,CAAC,CAAC,MAAM,CAAC,cAAc,CAAC,CAC7B,QAAQ,CAAC,KAAK,CACd,OAAO,CAAC,CAAC,GAAG,EAAE,CACZ,UAAU,CAAC,QAAQ,CAAC,kBAAkB,EAAE;YACtC,QAAQ,EAAE,QAAQ;SACnB,CAAC,CACH,EACD,CACH,CAAC;AACJ,CAAC,CAAC;AAEF,MAAM,MAAM,GAAG,UAAU,CAAC,MAAM,CAAC;IAC/B,cAAc,EAAE;QACd,QAAQ,EAAE,UAAU;QACpB,MAAM,EAAE,EAAE;QACV,KAAK,EAAE,EAAE;KACV;CACF,CAAC,CAAC;AAEH,eAAe,gBAAgB,CAAC"}
|