@axelor/aos-mobile-helpdesk 7.2.6 → 8.0.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 +2 -2
- package/lib/api/index.d.ts +1 -2
- package/lib/api/index.js +1 -2
- package/lib/api/index.js.map +1 -1
- package/lib/api/ticket-api.d.ts +5 -0
- package/lib/api/ticket-api.js +20 -0
- package/lib/api/ticket-api.js.map +1 -1
- package/lib/components/molecules/TicketCard/TicketCard.d.ts +3 -2
- package/lib/components/molecules/TicketCard/TicketCard.js +8 -4
- package/lib/components/molecules/TicketCard/TicketCard.js.map +1 -1
- package/lib/components/molecules/index.d.ts +0 -1
- package/lib/components/molecules/index.js +0 -1
- package/lib/components/molecules/index.js.map +1 -1
- package/lib/components/templates/TicketEditButton/TicketEditButton.js +1 -1
- package/lib/components/templates/TicketEditButton/TicketEditButton.js.map +1 -1
- package/lib/components/templates/TicketHeader/TicketHeader.js +11 -4
- package/lib/components/templates/TicketHeader/TicketHeader.js.map +1 -1
- package/lib/components/templates/TicketStatusButton/TicketStatusButton.d.ts +2 -0
- package/lib/components/templates/{TicketsStatusButton/TicketsStatusButton.js → TicketStatusButton/TicketStatusButton.js} +9 -9
- package/lib/components/templates/TicketStatusButton/TicketStatusButton.js.map +1 -0
- package/lib/components/templates/TicketStatusSearchBar/TicketStatusSearchBar.d.ts +10 -0
- package/lib/components/templates/TicketStatusSearchBar/TicketStatusSearchBar.js +32 -0
- package/lib/components/templates/TicketStatusSearchBar/TicketStatusSearchBar.js.map +1 -0
- package/lib/components/templates/TicketStopwatch/TicketStopwatch.js +33 -10
- package/lib/components/templates/TicketStopwatch/TicketStopwatch.js.map +1 -1
- package/lib/components/templates/index.d.ts +2 -1
- package/lib/components/templates/index.js +2 -1
- package/lib/components/templates/index.js.map +1 -1
- package/lib/features/asyncFunctions-index.d.ts +1 -2
- package/lib/features/asyncFunctions-index.js +1 -2
- package/lib/features/asyncFunctions-index.js.map +1 -1
- package/lib/features/index.d.ts +0 -1
- package/lib/features/index.js +0 -1
- package/lib/features/index.js.map +1 -1
- package/lib/features/ticketSlice.d.ts +28 -4
- package/lib/features/ticketSlice.js +40 -5
- package/lib/features/ticketSlice.js.map +1 -1
- package/lib/hooks/use-helpdesk-header-actions.js +1 -1
- package/lib/hooks/use-helpdesk-header-actions.js.map +1 -1
- package/lib/i18n/en.json +2 -1
- package/lib/i18n/fr.json +2 -1
- package/lib/index.js +4 -3
- package/lib/index.js.map +1 -1
- package/lib/models/forms.js +9 -2
- package/lib/models/forms.js.map +1 -1
- package/lib/models/objectFields.js +4 -1
- package/lib/models/objectFields.js.map +1 -1
- package/lib/models/searchFields.js +1 -0
- package/lib/models/searchFields.js.map +1 -1
- package/lib/models/sortFields.js +1 -0
- package/lib/models/sortFields.js.map +1 -1
- package/lib/screens/MyTeamTicketListScreen.js +17 -8
- package/lib/screens/MyTeamTicketListScreen.js.map +1 -1
- package/lib/screens/MyTicketListScreen.js +17 -8
- package/lib/screens/MyTicketListScreen.js.map +1 -1
- package/lib/screens/TicketDetailsScreen.js +2 -6
- package/lib/screens/TicketDetailsScreen.js.map +1 -1
- package/lib/screens/TicketFormScreen.js +3 -1
- package/lib/screens/TicketFormScreen.js.map +1 -1
- package/lib/types/ticket.d.ts +1 -22
- package/lib/types/ticket.js +20 -79
- package/lib/types/ticket.js.map +1 -1
- package/package.json +3 -3
- package/lib/api/helpdesk-config-api.d.ts +0 -1
- package/lib/api/helpdesk-config-api.js +0 -23
- package/lib/api/helpdesk-config-api.js.map +0 -1
- package/lib/components/molecules/DurationFormInput/DurationFormInput.d.ts +0 -10
- package/lib/components/molecules/DurationFormInput/DurationFormInput.js +0 -73
- package/lib/components/molecules/DurationFormInput/DurationFormInput.js.map +0 -1
- package/lib/components/molecules/DurationFormInput/duration.helpers.d.ts +0 -9
- package/lib/components/molecules/DurationFormInput/duration.helpers.js +0 -47
- package/lib/components/molecules/DurationFormInput/duration.helpers.js.map +0 -1
- package/lib/components/templates/TicketsStatusButton/TicketsStatusButton.d.ts +0 -2
- package/lib/components/templates/TicketsStatusButton/TicketsStatusButton.js.map +0 -1
- package/lib/features/helpdeskConfigSlice.d.ts +0 -14
- package/lib/features/helpdeskConfigSlice.js +0 -49
- package/lib/features/helpdeskConfigSlice.js.map +0 -1
|
@@ -20,19 +20,15 @@ import { Screen, HeaderContainer, NotesCard, ScrollView, } from '@axelor/aos-mob
|
|
|
20
20
|
import { useDispatch, useSelector, useTranslator } from '@axelor/aos-mobile-core';
|
|
21
21
|
import { fetchTicketById } from '../features/ticketSlice';
|
|
22
22
|
import { TicketHeader, TicketDropdownCards, TicketEditButton, TicketStopwatch, } from '../components';
|
|
23
|
-
import { Ticket } from '../types';
|
|
24
|
-
import { fetchHelpdeskConfig } from '../features/helpdeskConfigSlice';
|
|
25
23
|
const TicketDetailsScreen = ({ route }) => {
|
|
26
24
|
const { idTicket } = route.params;
|
|
27
25
|
const I18n = useTranslator();
|
|
28
26
|
const dispatch = useDispatch();
|
|
29
27
|
const { loadingTicket, ticket } = useSelector(state => state.ticket);
|
|
28
|
+
const { helpdesk: helpdeskConfig } = useSelector(state => state.appConfig);
|
|
30
29
|
const fetchTicket = useCallback(() => {
|
|
31
30
|
dispatch(fetchTicketById({ ticketId: idTicket }));
|
|
32
31
|
}, [dispatch, idTicket]);
|
|
33
|
-
useEffect(() => {
|
|
34
|
-
dispatch(fetchHelpdeskConfig());
|
|
35
|
-
}, [dispatch]);
|
|
36
32
|
useEffect(() => {
|
|
37
33
|
fetchTicket();
|
|
38
34
|
}, [fetchTicket]);
|
|
@@ -46,7 +42,7 @@ const TicketDetailsScreen = ({ route }) => {
|
|
|
46
42
|
<TicketDropdownCards />
|
|
47
43
|
<TicketStopwatch />
|
|
48
44
|
</ScrollView>
|
|
49
|
-
{ticket?.
|
|
45
|
+
{ticket?.ticketStatus?.id !== helpdeskConfig?.closedTicketStatus?.id && (<TicketEditButton idTicket={idTicket}/>)}
|
|
50
46
|
</Screen>);
|
|
51
47
|
};
|
|
52
48
|
export default TicketDetailsScreen;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TicketDetailsScreen.js","sourceRoot":"","sources":["../../src/screens/TicketDetailsScreen.js"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAEH,OAAO,KAAK,EAAE,EAAC,WAAW,EAAE,SAAS,EAAC,MAAM,OAAO,CAAC;AACpD,OAAO,EACL,MAAM,EACN,eAAe,EACf,SAAS,EACT,UAAU,GACX,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EAAC,WAAW,EAAE,WAAW,EAAE,aAAa,EAAC,MAAM,yBAAyB,CAAC;AAChF,OAAO,EAAC,eAAe,EAAC,MAAM,yBAAyB,CAAC;AACxD,OAAO,EACL,YAAY,EACZ,mBAAmB,EACnB,gBAAgB,EAChB,eAAe,GAChB,MAAM,eAAe,CAAC;
|
|
1
|
+
{"version":3,"file":"TicketDetailsScreen.js","sourceRoot":"","sources":["../../src/screens/TicketDetailsScreen.js"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAEH,OAAO,KAAK,EAAE,EAAC,WAAW,EAAE,SAAS,EAAC,MAAM,OAAO,CAAC;AACpD,OAAO,EACL,MAAM,EACN,eAAe,EACf,SAAS,EACT,UAAU,GACX,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EAAC,WAAW,EAAE,WAAW,EAAE,aAAa,EAAC,MAAM,yBAAyB,CAAC;AAChF,OAAO,EAAC,eAAe,EAAC,MAAM,yBAAyB,CAAC;AACxD,OAAO,EACL,YAAY,EACZ,mBAAmB,EACnB,gBAAgB,EAChB,eAAe,GAChB,MAAM,eAAe,CAAC;AAEvB,MAAM,mBAAmB,GAAG,CAAC,EAAC,KAAK,EAAC,EAAE,EAAE;IACtC,MAAM,EAAC,QAAQ,EAAC,GAAG,KAAK,CAAC,MAAM,CAAC;IAChC,MAAM,IAAI,GAAG,aAAa,EAAE,CAAC;IAC7B,MAAM,QAAQ,GAAG,WAAW,EAAE,CAAC;IAE/B,MAAM,EAAC,aAAa,EAAE,MAAM,EAAC,GAAG,WAAW,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;IACnE,MAAM,EAAC,QAAQ,EAAE,cAAc,EAAC,GAAG,WAAW,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;IAEzE,MAAM,WAAW,GAAG,WAAW,CAAC,GAAG,EAAE;QACnC,QAAQ,CAAC,eAAe,CAAC,EAAC,QAAQ,EAAE,QAAQ,EAAC,CAAC,CAAC,CAAC;IAClD,CAAC,EAAE,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC,CAAC;IAEzB,SAAS,CAAC,GAAG,EAAE;QACb,WAAW,EAAE,CAAC;IAChB,CAAC,EAAE,CAAC,WAAW,CAAC,CAAC,CAAC;IAElB,IAAI,MAAM,EAAE,EAAE,KAAK,QAAQ,EAAE;QAC3B,OAAO,IAAI,CAAC;KACb;IAED,OAAO,CACL,CAAC,MAAM,CAAC,gBAAgB,CAAC,CAAC,IAAI,CAAC,CAC7B;MAAA,CAAC,eAAe,CAAC,gBAAgB,CAAC,CAAC,KAAK,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,YAAY,CAAC,AAAD,EAAG,CAAC,EACvE;MAAA,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,EAAC,OAAO,EAAE,aAAa,EAAE,OAAO,EAAE,WAAW,EAAC,CAAC,CAClE;QAAA,CAAC,SAAS,CACR,KAAK,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,kBAAkB,CAAC,CAAC,CAClC,IAAI,CAAC,CAAC,MAAM,CAAC,WAAW,CAAC,EAE3B;QAAA,CAAC,mBAAmB,CAAC,AAAD,EACpB;QAAA,CAAC,eAAe,CAAC,AAAD,EAClB;MAAA,EAAE,UAAU,CACZ;MAAA,CAAC,MAAM,EAAE,YAAY,EAAE,EAAE,KAAK,cAAc,EAAE,kBAAkB,EAAE,EAAE,IAAI,CACtE,CAAC,gBAAgB,CAAC,QAAQ,CAAC,CAAC,QAAQ,CAAC,EAAG,CACzC,CACH;IAAA,EAAE,MAAM,CAAC,CACV,CAAC;AACJ,CAAC,CAAC;AAEF,eAAe,mBAAmB,CAAC"}
|
|
@@ -25,9 +25,11 @@ const TicketFormScreen = ({ navigation, route }) => {
|
|
|
25
25
|
const Colors = useThemeColor();
|
|
26
26
|
const _dispatch = useDispatch();
|
|
27
27
|
const { ticket } = useSelector(state => state.ticket);
|
|
28
|
+
const { helpdesk: helpdeskConfig } = useSelector(state => state.appConfig);
|
|
28
29
|
const defaultValue = useMemo(() => {
|
|
29
30
|
const _default = {
|
|
30
31
|
duration: 0,
|
|
32
|
+
ticketStatus: helpdeskConfig?.defaultTicketStatus,
|
|
31
33
|
};
|
|
32
34
|
if (idTicket != null) {
|
|
33
35
|
return {
|
|
@@ -36,7 +38,7 @@ const TicketFormScreen = ({ navigation, route }) => {
|
|
|
36
38
|
};
|
|
37
39
|
}
|
|
38
40
|
return _default;
|
|
39
|
-
}, [idTicket, ticket]);
|
|
41
|
+
}, [helpdeskConfig?.defaultTicketStatus, idTicket, ticket]);
|
|
40
42
|
const createTicketAPI = useCallback((_ticket, dispatch) => {
|
|
41
43
|
dispatch(createTicket({
|
|
42
44
|
ticket: _ticket,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TicketFormScreen.js","sourceRoot":"","sources":["../../src/screens/TicketFormScreen.js"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAEH,OAAO,KAAK,EAAE,EAAC,WAAW,EAAE,OAAO,EAAE,SAAS,EAAC,MAAM,OAAO,CAAC;AAC7D,OAAO,EAAC,WAAW,EAAE,WAAW,EAAE,QAAQ,EAAC,MAAM,yBAAyB,CAAC;AAC3E,OAAO,EAAC,aAAa,EAAC,MAAM,uBAAuB,CAAC;AACpD,OAAO,EAAC,YAAY,EAAE,YAAY,EAAC,MAAM,yBAAyB,CAAC;AACnE,OAAO,EAAC,eAAe,EAAC,MAAM,2BAA2B,CAAC;AAE1D,MAAM,gBAAgB,GAAG,CAAC,EAAC,UAAU,EAAE,KAAK,EAAC,EAAE,EAAE;IAC/C,MAAM,QAAQ,GAAG,KAAK,EAAE,MAAM,EAAE,QAAQ,CAAC;IAEzC,MAAM,MAAM,GAAG,aAAa,EAAE,CAAC;IAC/B,MAAM,SAAS,GAAG,WAAW,EAAE,CAAC;IAEhC,MAAM,EAAC,MAAM,EAAC,GAAG,WAAW,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"TicketFormScreen.js","sourceRoot":"","sources":["../../src/screens/TicketFormScreen.js"],"names":[],"mappings":"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"}
|
package/lib/types/ticket.d.ts
CHANGED
|
@@ -1,11 +1,5 @@
|
|
|
1
1
|
import { Color, ThemeColors } from '@axelor/aos-mobile-ui';
|
|
2
2
|
declare class TicketType {
|
|
3
|
-
static status: {
|
|
4
|
-
New: number;
|
|
5
|
-
In_Progress: number;
|
|
6
|
-
Resolved: number;
|
|
7
|
-
Closed: number;
|
|
8
|
-
};
|
|
9
3
|
static priority: {
|
|
10
4
|
Low: number;
|
|
11
5
|
Normal: number;
|
|
@@ -19,23 +13,8 @@ declare class TicketType {
|
|
|
19
13
|
reset: string;
|
|
20
14
|
validate: string;
|
|
21
15
|
};
|
|
22
|
-
static timerStatus: {
|
|
23
|
-
inProgress: number;
|
|
24
|
-
stop: number;
|
|
25
|
-
};
|
|
26
16
|
static getTotalDuration: (timerHystoryList: any) => number;
|
|
27
|
-
static
|
|
28
|
-
static getStatus: (select: number, I18n: {
|
|
29
|
-
t: (key: string) => string;
|
|
30
|
-
}) => string;
|
|
31
|
-
static getStatusList: (Colors: ThemeColors, I18n: {
|
|
32
|
-
t: (key: string) => string;
|
|
33
|
-
}) => {
|
|
34
|
-
title: string;
|
|
35
|
-
color: Color;
|
|
36
|
-
key: number;
|
|
37
|
-
}[];
|
|
38
|
-
static getStatusColor: (status: number, Colors: ThemeColors) => Color;
|
|
17
|
+
static getStatusColor: (index: number, Colors: ThemeColors) => Color;
|
|
39
18
|
static getPriority: (select: number, I18n: {
|
|
40
19
|
t: (key: string) => string;
|
|
41
20
|
}) => string;
|
package/lib/types/ticket.js
CHANGED
|
@@ -15,14 +15,8 @@
|
|
|
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 { calculateDiff
|
|
18
|
+
import { calculateDiff } from '@axelor/aos-mobile-core';
|
|
19
19
|
class TicketType {
|
|
20
|
-
static status = {
|
|
21
|
-
New: 0,
|
|
22
|
-
In_Progress: 1,
|
|
23
|
-
Resolved: 2,
|
|
24
|
-
Closed: 3,
|
|
25
|
-
};
|
|
26
20
|
static priority = {
|
|
27
21
|
Low: 1,
|
|
28
22
|
Normal: 2,
|
|
@@ -36,10 +30,6 @@ class TicketType {
|
|
|
36
30
|
reset: 'reset',
|
|
37
31
|
validate: 'validate',
|
|
38
32
|
};
|
|
39
|
-
static timerStatus = {
|
|
40
|
-
inProgress: 1,
|
|
41
|
-
stop: 0,
|
|
42
|
-
};
|
|
43
33
|
static getTotalDuration = (timerHystoryList) => {
|
|
44
34
|
if (timerHystoryList == null) {
|
|
45
35
|
return 0;
|
|
@@ -51,79 +41,30 @@ class TicketType {
|
|
|
51
41
|
});
|
|
52
42
|
return totalDuration;
|
|
53
43
|
};
|
|
54
|
-
static
|
|
55
|
-
if (
|
|
56
|
-
return
|
|
44
|
+
static getStatusColor = (index, Colors) => {
|
|
45
|
+
if (index === 0) {
|
|
46
|
+
return Colors.primaryColor;
|
|
57
47
|
}
|
|
58
|
-
if (
|
|
59
|
-
|
|
60
|
-
return StopwatchType.status.Paused;
|
|
48
|
+
else if (index === 1) {
|
|
49
|
+
return Colors.progressColor;
|
|
61
50
|
}
|
|
62
|
-
if (
|
|
63
|
-
|
|
64
|
-
return StopwatchType.status.InProgress;
|
|
51
|
+
else if (index === 2) {
|
|
52
|
+
return Colors.priorityColor;
|
|
65
53
|
}
|
|
66
|
-
if (
|
|
67
|
-
return
|
|
54
|
+
else if (index === 3) {
|
|
55
|
+
return Colors.errorColor;
|
|
68
56
|
}
|
|
69
|
-
if (
|
|
70
|
-
return
|
|
57
|
+
else if (index === 4) {
|
|
58
|
+
return Colors.cautionColor;
|
|
71
59
|
}
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
if (I18n) {
|
|
75
|
-
switch (select) {
|
|
76
|
-
case this.status.New:
|
|
77
|
-
return I18n.t('Helpdesk_Status_New');
|
|
78
|
-
case this.status.In_Progress:
|
|
79
|
-
return I18n.t('Helpdesk_Status_In_Progress');
|
|
80
|
-
case this.status.Resolved:
|
|
81
|
-
return I18n.t('Helpdesk_Status_Resolved');
|
|
82
|
-
case this.status.Closed:
|
|
83
|
-
return I18n.t('Helpdesk_Status_Closed');
|
|
84
|
-
default:
|
|
85
|
-
console.warn(`Status provided with value ${select} is not supported by Ticket`);
|
|
86
|
-
return null;
|
|
87
|
-
}
|
|
60
|
+
else if (index === 5) {
|
|
61
|
+
return Colors.plannedColor;
|
|
88
62
|
}
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
color: this.getStatusColor(this.status.New, Colors),
|
|
95
|
-
key: this.status.New,
|
|
96
|
-
},
|
|
97
|
-
{
|
|
98
|
-
title: I18n.t('Helpdesk_Status_In_Progress'),
|
|
99
|
-
color: this.getStatusColor(this.status.In_Progress, Colors),
|
|
100
|
-
key: this.status.In_Progress,
|
|
101
|
-
},
|
|
102
|
-
{
|
|
103
|
-
title: I18n.t('Helpdesk_Status_Resolved'),
|
|
104
|
-
color: this.getStatusColor(this.status.Resolved, Colors),
|
|
105
|
-
key: this.status.Resolved,
|
|
106
|
-
},
|
|
107
|
-
{
|
|
108
|
-
title: I18n.t('Helpdesk_Status_Closed'),
|
|
109
|
-
color: this.getStatusColor(this.status.Closed, Colors),
|
|
110
|
-
key: this.status.Closed,
|
|
111
|
-
},
|
|
112
|
-
];
|
|
113
|
-
};
|
|
114
|
-
static getStatusColor = (status, Colors) => {
|
|
115
|
-
switch (status) {
|
|
116
|
-
case this.status.New:
|
|
117
|
-
return Colors.plannedColor;
|
|
118
|
-
case this.status.In_Progress:
|
|
119
|
-
return Colors.progressColor;
|
|
120
|
-
case this.status.Resolved:
|
|
121
|
-
return Colors.primaryColor;
|
|
122
|
-
case this.status.Closed:
|
|
123
|
-
return Colors.cautionColor;
|
|
124
|
-
default:
|
|
125
|
-
console.warn(`Status provided with value ${status} is not supported by Ticket`);
|
|
126
|
-
return null;
|
|
63
|
+
else if (index === 6) {
|
|
64
|
+
return Colors.secondaryColor;
|
|
65
|
+
}
|
|
66
|
+
else {
|
|
67
|
+
Colors.primaryColor;
|
|
127
68
|
}
|
|
128
69
|
};
|
|
129
70
|
static getPriority = (select, I18n) => {
|
|
@@ -146,7 +87,7 @@ class TicketType {
|
|
|
146
87
|
static getPriorityColor = (status, Colors) => {
|
|
147
88
|
switch (status) {
|
|
148
89
|
case this.priority.Low:
|
|
149
|
-
return Colors.
|
|
90
|
+
return Colors.successColor;
|
|
150
91
|
case this.priority.Normal:
|
|
151
92
|
return Colors.priorityColor;
|
|
152
93
|
case this.priority.High:
|
package/lib/types/ticket.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ticket.js","sourceRoot":"","sources":["../../src/types/ticket.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAGH,OAAO,EAAC,aAAa,
|
|
1
|
+
{"version":3,"file":"ticket.js","sourceRoot":"","sources":["../../src/types/ticket.tsx"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@axelor/aos-mobile-helpdesk",
|
|
3
|
-
"version": "
|
|
3
|
+
"version": "8.0.0",
|
|
4
4
|
"author": "Axelor",
|
|
5
5
|
"license": "AGPL-3.0-only",
|
|
6
6
|
"publishConfig": {
|
|
@@ -28,8 +28,8 @@
|
|
|
28
28
|
"react-i18next": "^11.18.6"
|
|
29
29
|
},
|
|
30
30
|
"dependencies": {
|
|
31
|
-
"@axelor/aos-mobile-core": "
|
|
32
|
-
"@axelor/aos-mobile-ui": "
|
|
31
|
+
"@axelor/aos-mobile-core": "8.0.0",
|
|
32
|
+
"@axelor/aos-mobile-ui": "8.0.0",
|
|
33
33
|
"@reduxjs/toolkit": "^1.8.5"
|
|
34
34
|
},
|
|
35
35
|
"devDependencies": {
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export function fetchHelpdeskConfig(): Promise<any>;
|
|
@@ -1,23 +0,0 @@
|
|
|
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 { axiosApiProvider, RouterProvider } from '@axelor/aos-mobile-core';
|
|
19
|
-
export async function fetchHelpdeskConfig() {
|
|
20
|
-
const route = await RouterProvider.get('AppHeldesk');
|
|
21
|
-
return axiosApiProvider.get({ url: route });
|
|
22
|
-
}
|
|
23
|
-
//# sourceMappingURL=helpdesk-config-api.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"helpdesk-config-api.js","sourceRoot":"","sources":["../../src/api/helpdesk-config-api.js"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAEH,OAAO,EAAC,gBAAgB,EAAE,cAAc,EAAC,MAAM,yBAAyB,CAAC;AAEzE,MAAM,CAAC,KAAK,UAAU,mBAAmB;IACvC,MAAM,KAAK,GAAG,MAAM,cAAc,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;IAErD,OAAO,gBAAgB,CAAC,GAAG,CAAC,EAAC,GAAG,EAAE,KAAK,EAAC,CAAC,CAAC;AAC5C,CAAC"}
|
|
@@ -1,10 +0,0 @@
|
|
|
1
|
-
interface DurationFormInputProps {
|
|
2
|
-
style?: any;
|
|
3
|
-
title?: string;
|
|
4
|
-
defaultValue: number;
|
|
5
|
-
onChange: (value: number) => void;
|
|
6
|
-
required?: boolean;
|
|
7
|
-
readonly?: boolean;
|
|
8
|
-
}
|
|
9
|
-
declare const DurationFormInput: ({ style, title, defaultValue, onChange, required, readonly, }: DurationFormInputProps) => JSX.Element;
|
|
10
|
-
export default DurationFormInput;
|
|
@@ -1,73 +0,0 @@
|
|
|
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, { useEffect, useState } from 'react';
|
|
19
|
-
import { StyleSheet } from 'react-native';
|
|
20
|
-
import { FormInput, checkNullString } from '@axelor/aos-mobile-ui';
|
|
21
|
-
import { useTranslator } from '@axelor/aos-mobile-core';
|
|
22
|
-
import { MAX_HOUR_REGEX, NEED_SPACER_REGEX, PERFECT_REGEX, SPACER, formatDuration, formatDurationFromSeconds, parseDuration, } from './duration.helpers';
|
|
23
|
-
const DurationFormInput = ({ style, title = 'Helpdesk_Duration', defaultValue, onChange, required = false, readonly = false, }) => {
|
|
24
|
-
const I18n = useTranslator();
|
|
25
|
-
const [formattedDuration, setFormattedDuration] = useState(formatDurationFromSeconds(defaultValue));
|
|
26
|
-
const handleDurationChange = (value) => {
|
|
27
|
-
if (NEED_SPACER_REGEX.test(value)) {
|
|
28
|
-
handleResult(`${value.slice(0, 3)}${SPACER}${value.slice(3)}`);
|
|
29
|
-
}
|
|
30
|
-
else if (MAX_HOUR_REGEX.test(value)) {
|
|
31
|
-
handleResult(`${value}${SPACER}`);
|
|
32
|
-
}
|
|
33
|
-
else if (PERFECT_REGEX.test(value)) {
|
|
34
|
-
handleResult(value);
|
|
35
|
-
}
|
|
36
|
-
else {
|
|
37
|
-
handleResult(value);
|
|
38
|
-
}
|
|
39
|
-
};
|
|
40
|
-
const handleEndFocus = () => {
|
|
41
|
-
let hours, minutes;
|
|
42
|
-
if (checkNullString(formattedDuration)) {
|
|
43
|
-
hours = 0;
|
|
44
|
-
minutes = 0;
|
|
45
|
-
}
|
|
46
|
-
else if (formattedDuration.includes(SPACER)) {
|
|
47
|
-
const splitDuraction = formattedDuration.split(SPACER);
|
|
48
|
-
hours = parseInt(splitDuraction[0], 10);
|
|
49
|
-
minutes = splitDuraction[1] ? parseInt(splitDuraction[1], 10) : 0;
|
|
50
|
-
}
|
|
51
|
-
else {
|
|
52
|
-
hours = parseInt(formattedDuration, 10);
|
|
53
|
-
minutes = 0;
|
|
54
|
-
}
|
|
55
|
-
const result = formatDuration(hours, minutes);
|
|
56
|
-
handleResult(result);
|
|
57
|
-
};
|
|
58
|
-
const handleResult = (value) => {
|
|
59
|
-
setFormattedDuration(value);
|
|
60
|
-
onChange(parseDuration(value));
|
|
61
|
-
};
|
|
62
|
-
useEffect(() => {
|
|
63
|
-
setFormattedDuration(formatDurationFromSeconds(defaultValue ?? 0));
|
|
64
|
-
}, [defaultValue]);
|
|
65
|
-
return (<FormInput style={[styles.input, style]} required={required} readOnly={readonly} title={I18n.t(title)} onChange={handleDurationChange} onEndFocus={handleEndFocus} defaultValue={formattedDuration} multiline={false} keyboardType="numeric"/>);
|
|
66
|
-
};
|
|
67
|
-
const styles = StyleSheet.create({
|
|
68
|
-
input: {
|
|
69
|
-
width: '90%',
|
|
70
|
-
},
|
|
71
|
-
});
|
|
72
|
-
export default DurationFormInput;
|
|
73
|
-
//# sourceMappingURL=DurationFormInput.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"DurationFormInput.js","sourceRoot":"","sources":["../../../../src/components/molecules/DurationFormInput/DurationFormInput.tsx"],"names":[],"mappings":"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"}
|
|
@@ -1,9 +0,0 @@
|
|
|
1
|
-
export declare const SPACER = ":";
|
|
2
|
-
export declare const NB_SECONDS_IN_MINUTE = 60;
|
|
3
|
-
export declare const NB_SECONDS_IN_HOUR = 3600;
|
|
4
|
-
export declare const MAX_HOUR_REGEX: RegExp;
|
|
5
|
-
export declare const NEED_SPACER_REGEX: RegExp;
|
|
6
|
-
export declare const PERFECT_REGEX: RegExp;
|
|
7
|
-
export declare const formatDuration: (hours: number, minutes: number) => string;
|
|
8
|
-
export declare const formatDurationFromSeconds: (seconds: number) => string;
|
|
9
|
-
export declare const parseDuration: (value: string) => number;
|
|
@@ -1,47 +0,0 @@
|
|
|
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
|
-
export const SPACER = ':';
|
|
19
|
-
export const NB_SECONDS_IN_MINUTE = 60;
|
|
20
|
-
export const NB_SECONDS_IN_HOUR = 3600;
|
|
21
|
-
export const MAX_HOUR_REGEX = /\d{3}$/g;
|
|
22
|
-
export const NEED_SPACER_REGEX = /\d{4,}$/g;
|
|
23
|
-
export const PERFECT_REGEX = /\d{3}:\d{2}$/g;
|
|
24
|
-
export const formatDuration = (hours, minutes) => {
|
|
25
|
-
const formattedHours = hours.toString().padStart(3, '0');
|
|
26
|
-
const formattedMinutes = minutes.toString().padStart(2, '0');
|
|
27
|
-
return `${formattedHours}:${formattedMinutes}`;
|
|
28
|
-
};
|
|
29
|
-
export const formatDurationFromSeconds = (seconds) => {
|
|
30
|
-
const hours = Math.floor(seconds / NB_SECONDS_IN_HOUR);
|
|
31
|
-
const minutes = Math.floor((seconds % NB_SECONDS_IN_HOUR) / NB_SECONDS_IN_MINUTE);
|
|
32
|
-
return formatDuration(hours, minutes);
|
|
33
|
-
};
|
|
34
|
-
export const parseDuration = (value) => {
|
|
35
|
-
if (value == null) {
|
|
36
|
-
return 0;
|
|
37
|
-
}
|
|
38
|
-
const [hours, minutes] = value.split(':');
|
|
39
|
-
const parsedHours = parseInt(hours, 10);
|
|
40
|
-
const parsedMinutes = parseInt(minutes, 10);
|
|
41
|
-
if (isNaN(parsedHours) || isNaN(parsedMinutes)) {
|
|
42
|
-
return 0;
|
|
43
|
-
}
|
|
44
|
-
const totalSeconds = parsedHours * NB_SECONDS_IN_HOUR + parsedMinutes * NB_SECONDS_IN_MINUTE;
|
|
45
|
-
return totalSeconds;
|
|
46
|
-
};
|
|
47
|
-
//# sourceMappingURL=duration.helpers.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"duration.helpers.js","sourceRoot":"","sources":["../../../../src/components/molecules/DurationFormInput/duration.helpers.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAEH,MAAM,CAAC,MAAM,MAAM,GAAG,GAAG,CAAC;AAC1B,MAAM,CAAC,MAAM,oBAAoB,GAAG,EAAE,CAAC;AACvC,MAAM,CAAC,MAAM,kBAAkB,GAAG,IAAI,CAAC;AAEvC,MAAM,CAAC,MAAM,cAAc,GAAG,SAAS,CAAC;AACxC,MAAM,CAAC,MAAM,iBAAiB,GAAG,UAAU,CAAC;AAC5C,MAAM,CAAC,MAAM,aAAa,GAAG,eAAe,CAAC;AAE7C,MAAM,CAAC,MAAM,cAAc,GAAG,CAAC,KAAa,EAAE,OAAe,EAAE,EAAE;IAC/D,MAAM,cAAc,GAAG,KAAK,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;IACzD,MAAM,gBAAgB,GAAG,OAAO,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;IAE7D,OAAO,GAAG,cAAc,IAAI,gBAAgB,EAAE,CAAC;AACjD,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,yBAAyB,GAAG,CAAC,OAAe,EAAE,EAAE;IAC3D,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,GAAG,kBAAkB,CAAC,CAAC;IACvD,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,CACxB,CAAC,OAAO,GAAG,kBAAkB,CAAC,GAAG,oBAAoB,CACtD,CAAC;IAEF,OAAO,cAAc,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;AACxC,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,aAAa,GAAG,CAAC,KAAa,EAAE,EAAE;IAC7C,IAAI,KAAK,IAAI,IAAI,EAAE;QACjB,OAAO,CAAC,CAAC;KACV;IAED,MAAM,CAAC,KAAK,EAAE,OAAO,CAAC,GAAG,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IAC1C,MAAM,WAAW,GAAG,QAAQ,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;IACxC,MAAM,aAAa,GAAG,QAAQ,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;IAE5C,IAAI,KAAK,CAAC,WAAW,CAAC,IAAI,KAAK,CAAC,aAAa,CAAC,EAAE;QAC9C,OAAO,CAAC,CAAC;KACV;IAED,MAAM,YAAY,GAChB,WAAW,GAAG,kBAAkB,GAAG,aAAa,GAAG,oBAAoB,CAAC;IAE1E,OAAO,YAAY,CAAC;AACtB,CAAC,CAAC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"TicketsStatusButton.js","sourceRoot":"","sources":["../../../../src/components/templates/TicketsStatusButton/TicketsStatusButton.js"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAEH,OAAO,KAAK,EAAE,EAAC,WAAW,EAAC,MAAM,OAAO,CAAC;AACzC,OAAO,EACL,WAAW,EACX,WAAW,EACX,aAAa,EACb,wBAAwB,GACzB,MAAM,yBAAyB,CAAC;AACjC,OAAO,EAAC,MAAM,EAAE,aAAa,EAAC,MAAM,uBAAuB,CAAC;AAC5D,OAAO,EAAC,MAAM,EAAC,MAAM,gBAAgB,CAAC;AACtC,OAAO,EAAC,kBAAkB,EAAC,MAAM,+BAA+B,CAAC;AAEjE,MAAM,mBAAmB,GAAG,CAAC,EAAE,EAAE,EAAE;IACjC,MAAM,IAAI,GAAG,aAAa,EAAE,CAAC;IAC7B,MAAM,MAAM,GAAG,aAAa,EAAE,CAAC;IAC/B,MAAM,QAAQ,GAAG,WAAW,EAAE,CAAC;IAE/B,MAAM,EAAC,MAAM,EAAC,GAAG,WAAW,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;IAEpD,MAAM,YAAY,GAAG,WAAW,CAC9B,MAAM,CAAC,EAAE;QACP,QAAQ,CACN,kBAAkB,CAAC;YACjB,OAAO,EAAE,MAAM,EAAE,OAAO;YACxB,QAAQ,EAAE,wBAAwB,EAAE;YACpC,YAAY,EAAE,MAAM;YACpB,QAAQ,EAAE,MAAM,EAAE,EAAE;SACrB,CAAC,CACH,CAAC;IACJ,CAAC,EACD,CAAC,QAAQ,EAAE,MAAM,CAAC,CACnB,CAAC;IAEF,IAAI,MAAM,EAAE,YAAY,KAAK,MAAM,CAAC,MAAM,CAAC,GAAG,EAAE;QAC9C,OAAO,CACL,CAAC,MAAM,CACL,KAAK,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAC,CAChC,QAAQ,CAAC,MAAM,CACf,OAAO,CAAC,CAAC,GAAG,EAAE,CAAC,YAAY,CAAC,MAAM,CAAC,eAAe,CAAC,KAAK,CAAC,CAAC,CAC1D,KAAK,CAAC,CAAC,MAAM,CAAC,YAAY,CAAC,EAC3B,CACH,CAAC;KACH;IAED,IAAI,MAAM,EAAE,YAAY,KAAK,MAAM,CAAC,MAAM,CAAC,WAAW,EAAE;QACtD,OAAO,CACL,CAAC,MAAM,CACL,KAAK,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,kBAAkB,CAAC,CAAC,CAClC,QAAQ,CAAC,OAAO,CAChB,OAAO,CAAC,CAAC,GAAG,EAAE,CAAC,YAAY,CAAC,MAAM,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC,EACzD,CACH,CAAC;KACH;IAED,OAAO,IAAI,CAAC;AACd,CAAC,CAAC;AAEF,eAAe,mBAAmB,CAAC"}
|
|
@@ -1,14 +0,0 @@
|
|
|
1
|
-
export const fetchHelpdeskConfig: import("@reduxjs/toolkit").AsyncThunk<any, void, {
|
|
2
|
-
state?: unknown;
|
|
3
|
-
dispatch?: import("redux").Dispatch<import("redux").AnyAction>;
|
|
4
|
-
extra?: unknown;
|
|
5
|
-
rejectValue?: unknown;
|
|
6
|
-
serializedErrorType?: unknown;
|
|
7
|
-
pendingMeta?: unknown;
|
|
8
|
-
fulfilledMeta?: unknown;
|
|
9
|
-
rejectedMeta?: unknown;
|
|
10
|
-
}>;
|
|
11
|
-
export const helpdeskConfigReducer: import("redux").Reducer<{
|
|
12
|
-
loadingConfig: boolean;
|
|
13
|
-
helpdeskConfig: {};
|
|
14
|
-
}>;
|
|
@@ -1,49 +0,0 @@
|
|
|
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 { createAsyncThunk, createSlice } from '@reduxjs/toolkit';
|
|
19
|
-
import { handlerApiCall } from '@axelor/aos-mobile-core';
|
|
20
|
-
import { fetchHelpdeskConfig as _fetchHelpdeskConfig } from '../api/helpdesk-config-api';
|
|
21
|
-
export const fetchHelpdeskConfig = createAsyncThunk('AppHelpdesk/fetchHelpdeskConfig', async function (data = {}, { getState }) {
|
|
22
|
-
return handlerApiCall({
|
|
23
|
-
fetchFunction: _fetchHelpdeskConfig,
|
|
24
|
-
data,
|
|
25
|
-
action: 'Helpdesk_SliceAction_FetchHelpdeskConfig',
|
|
26
|
-
getState,
|
|
27
|
-
responseOptions: { isArrayResponse: false },
|
|
28
|
-
errorOptions: { showErrorToast: false, errorTracing: false },
|
|
29
|
-
});
|
|
30
|
-
});
|
|
31
|
-
const initialState = {
|
|
32
|
-
loadingConfig: false,
|
|
33
|
-
helpdeskConfig: {},
|
|
34
|
-
};
|
|
35
|
-
const helpdeskConfigSlice = createSlice({
|
|
36
|
-
name: 'helpdeskConfig',
|
|
37
|
-
initialState,
|
|
38
|
-
extraReducers: builder => {
|
|
39
|
-
builder.addCase(fetchHelpdeskConfig.pending, state => {
|
|
40
|
-
state.loadingConfig = true;
|
|
41
|
-
});
|
|
42
|
-
builder.addCase(fetchHelpdeskConfig.fulfilled, (state, action) => {
|
|
43
|
-
state.loadingConfig = false;
|
|
44
|
-
state.helpdeskConfig = action.payload;
|
|
45
|
-
});
|
|
46
|
-
},
|
|
47
|
-
});
|
|
48
|
-
export const helpdeskConfigReducer = helpdeskConfigSlice.reducer;
|
|
49
|
-
//# sourceMappingURL=helpdeskConfigSlice.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"helpdeskConfigSlice.js","sourceRoot":"","sources":["../../src/features/helpdeskConfigSlice.js"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAEH,OAAO,EAAC,gBAAgB,EAAE,WAAW,EAAC,MAAM,kBAAkB,CAAC;AAC/D,OAAO,EAAC,cAAc,EAAC,MAAM,yBAAyB,CAAC;AACvD,OAAO,EAAC,mBAAmB,IAAI,oBAAoB,EAAC,MAAM,4BAA4B,CAAC;AAEvF,MAAM,CAAC,MAAM,mBAAmB,GAAG,gBAAgB,CACjD,iCAAiC,EACjC,KAAK,WAAW,IAAI,GAAG,EAAE,EAAE,EAAC,QAAQ,EAAC;IACnC,OAAO,cAAc,CAAC;QACpB,aAAa,EAAE,oBAAoB;QACnC,IAAI;QACJ,MAAM,EAAE,0CAA0C;QAClD,QAAQ;QACR,eAAe,EAAE,EAAC,eAAe,EAAE,KAAK,EAAC;QACzC,YAAY,EAAE,EAAC,cAAc,EAAE,KAAK,EAAE,YAAY,EAAE,KAAK,EAAC;KAC3D,CAAC,CAAC;AACL,CAAC,CACF,CAAC;AAEF,MAAM,YAAY,GAAG;IACnB,aAAa,EAAE,KAAK;IACpB,cAAc,EAAE,EAAE;CACnB,CAAC;AAEF,MAAM,mBAAmB,GAAG,WAAW,CAAC;IACtC,IAAI,EAAE,gBAAgB;IACtB,YAAY;IACZ,aAAa,EAAE,OAAO,CAAC,EAAE;QACvB,OAAO,CAAC,OAAO,CAAC,mBAAmB,CAAC,OAAO,EAAE,KAAK,CAAC,EAAE;YACnD,KAAK,CAAC,aAAa,GAAG,IAAI,CAAC;QAC7B,CAAC,CAAC,CAAC;QACH,OAAO,CAAC,OAAO,CAAC,mBAAmB,CAAC,SAAS,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE;YAC/D,KAAK,CAAC,aAAa,GAAG,KAAK,CAAC;YAC5B,KAAK,CAAC,cAAc,GAAG,MAAM,CAAC,OAAO,CAAC;QACxC,CAAC,CAAC,CAAC;IACL,CAAC;CACF,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,qBAAqB,GAAG,mBAAmB,CAAC,OAAO,CAAC"}
|