@axelor/aos-mobile-project 8.2.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/index.d.ts +4 -0
- package/lib/api/index.js +22 -0
- package/lib/api/index.js.map +1 -0
- package/lib/api/project-api.d.ts +20 -0
- package/lib/api/project-api.js +136 -0
- package/lib/api/project-api.js.map +1 -0
- package/lib/api/project-task-api.d.ts +51 -0
- package/lib/api/project-task-api.js +294 -0
- package/lib/api/project-task-api.js.map +1 -0
- package/lib/api/reporting-api.d.ts +3 -0
- package/lib/api/reporting-api.js +26 -0
- package/lib/api/reporting-api.js.map +1 -0
- package/lib/api/timesheet-lines-api.d.ts +3 -0
- package/lib/api/timesheet-lines-api.js +41 -0
- package/lib/api/timesheet-lines-api.js.map +1 -0
- package/lib/components/atoms/DatesDisplay/DatesDisplay.d.ts +6 -0
- package/lib/components/atoms/DatesDisplay/DatesDisplay.js +59 -0
- package/lib/components/atoms/DatesDisplay/DatesDisplay.js.map +1 -0
- package/lib/components/atoms/PartnerCard/PartnerCard.d.ts +12 -0
- package/lib/components/atoms/PartnerCard/PartnerCard.js +74 -0
- package/lib/components/atoms/PartnerCard/PartnerCard.js.map +1 -0
- package/lib/components/atoms/ProjectCard/ProjectCard.d.ts +15 -0
- package/lib/components/atoms/ProjectCard/ProjectCard.js +101 -0
- package/lib/components/atoms/ProjectCard/ProjectCard.js.map +1 -0
- package/lib/components/atoms/ProjectSimpleCard/ProjectSimpleCard.d.ts +10 -0
- package/lib/components/atoms/ProjectSimpleCard/ProjectSimpleCard.js +48 -0
- package/lib/components/atoms/ProjectSimpleCard/ProjectSimpleCard.js.map +1 -0
- package/lib/components/atoms/TaskCard/TaskCard.d.ts +16 -0
- package/lib/components/atoms/TaskCard/TaskCard.js +93 -0
- package/lib/components/atoms/TaskCard/TaskCard.js.map +1 -0
- package/lib/components/atoms/index.d.ts +5 -0
- package/lib/components/atoms/index.js +23 -0
- package/lib/components/atoms/index.js.map +1 -0
- package/lib/components/index.d.ts +5 -0
- package/lib/components/index.js +23 -0
- package/lib/components/index.js.map +1 -0
- package/lib/components/molecules/ActivityCard/ActivityCard.d.ts +11 -0
- package/lib/components/molecules/ActivityCard/ActivityCard.js +80 -0
- package/lib/components/molecules/ActivityCard/ActivityCard.js.map +1 -0
- package/lib/components/molecules/CustomFieldPopup/CustomFieldPopup.d.ts +11 -0
- package/lib/components/molecules/CustomFieldPopup/CustomFieldPopup.js +53 -0
- package/lib/components/molecules/CustomFieldPopup/CustomFieldPopup.js.map +1 -0
- package/lib/components/molecules/DropdownInvoicing/DropdownInvoicing.d.ts +11 -0
- package/lib/components/molecules/DropdownInvoicing/DropdownInvoicing.js +41 -0
- package/lib/components/molecules/DropdownInvoicing/DropdownInvoicing.js.map +1 -0
- package/lib/components/molecules/DropdownMembers/DropdownMembers.d.ts +8 -0
- package/lib/components/molecules/DropdownMembers/DropdownMembers.js +33 -0
- package/lib/components/molecules/DropdownMembers/DropdownMembers.js.map +1 -0
- package/lib/components/molecules/DropdownTaskCharacteristics/DropdownTaskCharacteristics.d.ts +13 -0
- package/lib/components/molecules/DropdownTaskCharacteristics/DropdownTaskCharacteristics.js +51 -0
- package/lib/components/molecules/DropdownTaskCharacteristics/DropdownTaskCharacteristics.js.map +1 -0
- package/lib/components/molecules/DropdownTaskDescription/DropdownTaskDescription.d.ts +8 -0
- package/lib/components/molecules/DropdownTaskDescription/DropdownTaskDescription.js +39 -0
- package/lib/components/molecules/DropdownTaskDescription/DropdownTaskDescription.js.map +1 -0
- package/lib/components/molecules/PartnerActionCard/PartnerActionCard.d.ts +19 -0
- package/lib/components/molecules/PartnerActionCard/PartnerActionCard.js +53 -0
- package/lib/components/molecules/PartnerActionCard/PartnerActionCard.js.map +1 -0
- package/lib/components/molecules/ProjectHeader/ProjectHeader.d.ts +3 -0
- package/lib/components/molecules/ProjectHeader/ProjectHeader.js +67 -0
- package/lib/components/molecules/ProjectHeader/ProjectHeader.js.map +1 -0
- package/lib/components/molecules/ProjectSiteTags/ProjectSiteTags.d.ts +3 -0
- package/lib/components/molecules/ProjectSiteTags/ProjectSiteTags.js +34 -0
- package/lib/components/molecules/ProjectSiteTags/ProjectSiteTags.js.map +1 -0
- package/lib/components/molecules/SectionHeader/SectionHeader.d.ts +9 -0
- package/lib/components/molecules/SectionHeader/SectionHeader.js +56 -0
- package/lib/components/molecules/SectionHeader/SectionHeader.js.map +1 -0
- package/lib/components/molecules/TaskActionCard/TaskActionCard.d.ts +20 -0
- package/lib/components/molecules/TaskActionCard/TaskActionCard.js +39 -0
- package/lib/components/molecules/TaskActionCard/TaskActionCard.js.map +1 -0
- package/lib/components/molecules/TaskDetailsHeader/TaskDetailsHeader.d.ts +3 -0
- package/lib/components/molecules/TaskDetailsHeader/TaskDetailsHeader.js +67 -0
- package/lib/components/molecules/TaskDetailsHeader/TaskDetailsHeader.js.map +1 -0
- package/lib/components/molecules/index.d.ts +12 -0
- package/lib/components/molecules/index.js +30 -0
- package/lib/components/molecules/index.js.map +1 -0
- package/lib/components/organisms/CustomSection/CustomSection.d.ts +10 -0
- package/lib/components/organisms/CustomSection/CustomSection.js +49 -0
- package/lib/components/organisms/CustomSection/CustomSection.js.map +1 -0
- package/lib/components/organisms/LogTimeButton/LogTimeButton.d.ts +6 -0
- package/lib/components/organisms/LogTimeButton/LogTimeButton.js +41 -0
- package/lib/components/organisms/LogTimeButton/LogTimeButton.js.map +1 -0
- package/lib/components/organisms/ProjectDropdownCards/ProjectDropdownCards.d.ts +3 -0
- package/lib/components/organisms/ProjectDropdownCards/ProjectDropdownCards.js +51 -0
- package/lib/components/organisms/ProjectDropdownCards/ProjectDropdownCards.js.map +1 -0
- package/lib/components/organisms/ProjectTaskDropdownCards/ProjectTaskDropdownCards.d.ts +3 -0
- package/lib/components/organisms/ProjectTaskDropdownCards/ProjectTaskDropdownCards.js +52 -0
- package/lib/components/organisms/ProjectTaskDropdownCards/ProjectTaskDropdownCards.js.map +1 -0
- package/lib/components/organisms/TimeSpentGridView/TimeSpentGridView.d.ts +3 -0
- package/lib/components/organisms/TimeSpentGridView/TimeSpentGridView.js +53 -0
- package/lib/components/organisms/TimeSpentGridView/TimeSpentGridView.js.map +1 -0
- package/lib/components/organisms/index.d.ts +5 -0
- package/lib/components/organisms/index.js +23 -0
- package/lib/components/organisms/index.js.map +1 -0
- package/lib/components/pages/GeneralInformationView/GeneralInformationView.d.ts +3 -0
- package/lib/components/pages/GeneralInformationView/GeneralInformationView.js +55 -0
- package/lib/components/pages/GeneralInformationView/GeneralInformationView.js.map +1 -0
- package/lib/components/pages/ReportingView/ReportingView.d.ts +3 -0
- package/lib/components/pages/ReportingView/ReportingView.js +60 -0
- package/lib/components/pages/ReportingView/ReportingView.js.map +1 -0
- package/lib/components/pages/SubProjectView/SubProjectView.d.ts +3 -0
- package/lib/components/pages/SubProjectView/SubProjectView.js +80 -0
- package/lib/components/pages/SubProjectView/SubProjectView.js.map +1 -0
- package/lib/components/pages/TaskCustomFieldsView/TaskCustomFieldsView.d.ts +3 -0
- package/lib/components/pages/TaskCustomFieldsView/TaskCustomFieldsView.js +49 -0
- package/lib/components/pages/TaskCustomFieldsView/TaskCustomFieldsView.js.map +1 -0
- package/lib/components/pages/TaskGeneralInformationView/TaskGeneralInformationView.d.ts +5 -0
- package/lib/components/pages/TaskGeneralInformationView/TaskGeneralInformationView.js +55 -0
- package/lib/components/pages/TaskGeneralInformationView/TaskGeneralInformationView.js.map +1 -0
- package/lib/components/pages/TaskLinkView/TaskLinkView.d.ts +3 -0
- package/lib/components/pages/TaskLinkView/TaskLinkView.js +58 -0
- package/lib/components/pages/TaskLinkView/TaskLinkView.js.map +1 -0
- package/lib/components/pages/TaskView/TaskView.d.ts +3 -0
- package/lib/components/pages/TaskView/TaskView.js +63 -0
- package/lib/components/pages/TaskView/TaskView.js.map +1 -0
- package/lib/components/pages/TimeView/TimeView.d.ts +7 -0
- package/lib/components/pages/TimeView/TimeView.js +59 -0
- package/lib/components/pages/TimeView/TimeView.js.map +1 -0
- package/lib/components/pages/index.d.ts +8 -0
- package/lib/components/pages/index.js +26 -0
- package/lib/components/pages/index.js.map +1 -0
- package/lib/components/templates/ActivityListView/ActivityListView.d.ts +3 -0
- package/lib/components/templates/ActivityListView/ActivityListView.js +117 -0
- package/lib/components/templates/ActivityListView/ActivityListView.js.map +1 -0
- package/lib/components/templates/CategorySearchBar/CategorySearchBar.d.ts +12 -0
- package/lib/components/templates/CategorySearchBar/CategorySearchBar.js +41 -0
- package/lib/components/templates/CategorySearchBar/CategorySearchBar.js.map +1 -0
- package/lib/components/templates/ParentTaskSearchBar/ParentTaskSearchBar.d.ts +12 -0
- package/lib/components/templates/ParentTaskSearchBar/ParentTaskSearchBar.js +41 -0
- package/lib/components/templates/ParentTaskSearchBar/ParentTaskSearchBar.js.map +1 -0
- package/lib/components/templates/PrioritySearchBar/PrioritySearchBar.d.ts +12 -0
- package/lib/components/templates/PrioritySearchBar/PrioritySearchBar.js +41 -0
- package/lib/components/templates/PrioritySearchBar/PrioritySearchBar.js.map +1 -0
- package/lib/components/templates/ProjectListView/ProjectListView.d.ts +6 -0
- package/lib/components/templates/ProjectListView/ProjectListView.js +71 -0
- package/lib/components/templates/ProjectListView/ProjectListView.js.map +1 -0
- package/lib/components/templates/ProjectSearchBar/ProjectSearchBar.d.ts +13 -0
- package/lib/components/templates/ProjectSearchBar/ProjectSearchBar.js +39 -0
- package/lib/components/templates/ProjectSearchBar/ProjectSearchBar.js.map +1 -0
- package/lib/components/templates/ReportingDetailsView/IndicatorCategory.d.ts +7 -0
- package/lib/components/templates/ReportingDetailsView/IndicatorCategory.js +70 -0
- package/lib/components/templates/ReportingDetailsView/IndicatorCategory.js.map +1 -0
- package/lib/components/templates/ReportingDetailsView/ReportingDetailsView.d.ts +3 -0
- package/lib/components/templates/ReportingDetailsView/ReportingDetailsView.js +50 -0
- package/lib/components/templates/ReportingDetailsView/ReportingDetailsView.js.map +1 -0
- package/lib/components/templates/SectionSearchBar/SectionSearchBar.d.ts +12 -0
- package/lib/components/templates/SectionSearchBar/SectionSearchBar.js +38 -0
- package/lib/components/templates/SectionSearchBar/SectionSearchBar.js.map +1 -0
- package/lib/components/templates/TargetVersionSearchBar/TargetVersionSearchBar.d.ts +12 -0
- package/lib/components/templates/TargetVersionSearchBar/TargetVersionSearchBar.js +40 -0
- package/lib/components/templates/TargetVersionSearchBar/TargetVersionSearchBar.js.map +1 -0
- package/lib/components/templates/TaskFilters/TaskFilters.d.ts +14 -0
- package/lib/components/templates/TaskFilters/TaskFilters.js +135 -0
- package/lib/components/templates/TaskFilters/TaskFilters.js.map +1 -0
- package/lib/components/templates/TaskStatusSearchBar/TaskStatusSearchBar.d.ts +12 -0
- package/lib/components/templates/TaskStatusSearchBar/TaskStatusSearchBar.js +56 -0
- package/lib/components/templates/TaskStatusSearchBar/TaskStatusSearchBar.js.map +1 -0
- package/lib/components/templates/TaskTagMultiValuePicker/TaskTagMultiValuePicker.d.ts +11 -0
- package/lib/components/templates/TaskTagMultiValuePicker/TaskTagMultiValuePicker.js +50 -0
- package/lib/components/templates/TaskTagMultiValuePicker/TaskTagMultiValuePicker.js.map +1 -0
- package/lib/components/templates/index.d.ts +12 -0
- package/lib/components/templates/index.js +30 -0
- package/lib/components/templates/index.js.map +1 -0
- package/lib/features/asyncFunctions-index.d.ts +4 -0
- package/lib/features/asyncFunctions-index.js +22 -0
- package/lib/features/asyncFunctions-index.js.map +1 -0
- package/lib/features/index.d.ts +4 -0
- package/lib/features/index.js +22 -0
- package/lib/features/index.js.map +1 -0
- package/lib/features/projectSlice.d.ts +65 -0
- package/lib/features/projectSlice.js +118 -0
- package/lib/features/projectSlice.js.map +1 -0
- package/lib/features/projectTaskSlice.d.ts +193 -0
- package/lib/features/projectTaskSlice.js +310 -0
- package/lib/features/projectTaskSlice.js.map +1 -0
- package/lib/features/reportingSlice.d.ts +13 -0
- package/lib/features/reportingSlice.js +43 -0
- package/lib/features/reportingSlice.js.map +1 -0
- package/lib/features/timesheetLinesSlice.d.ts +39 -0
- package/lib/features/timesheetLinesSlice.js +57 -0
- package/lib/features/timesheetLinesSlice.js.map +1 -0
- package/lib/hooks/index.d.ts +2 -0
- package/lib/hooks/index.js +20 -0
- package/lib/hooks/index.js.map +1 -0
- package/lib/hooks/use-project-header-actions.d.ts +1 -0
- package/lib/hooks/use-project-header-actions.js +75 -0
- package/lib/hooks/use-project-header-actions.js.map +1 -0
- package/lib/hooks/use-reporting-configuration.d.ts +5 -0
- package/lib/hooks/use-reporting-configuration.js +33 -0
- package/lib/hooks/use-reporting-configuration.js.map +1 -0
- package/lib/hooks/use-task-filter.d.ts +32 -0
- package/lib/hooks/use-task-filter.js +96 -0
- package/lib/hooks/use-task-filter.js.map +1 -0
- package/lib/i18n/en.json +87 -0
- package/lib/i18n/fr.json +87 -0
- package/lib/index.d.ts +8 -0
- package/lib/index.js +81 -0
- package/lib/index.js.map +1 -0
- package/lib/models/forms.d.ts +2 -0
- package/lib/models/forms.js +245 -0
- package/lib/models/forms.js.map +1 -0
- package/lib/models/index.d.ts +5 -0
- package/lib/models/index.js +23 -0
- package/lib/models/index.js.map +1 -0
- package/lib/models/objectFields.d.ts +2 -0
- package/lib/models/objectFields.js +187 -0
- package/lib/models/objectFields.js.map +1 -0
- package/lib/models/searchFields.d.ts +2 -0
- package/lib/models/searchFields.js +31 -0
- package/lib/models/searchFields.js.map +1 -0
- package/lib/models/sortFields.d.ts +2 -0
- package/lib/models/sortFields.js +22 -0
- package/lib/models/sortFields.js.map +1 -0
- package/lib/models/typeObjects.d.ts +2 -0
- package/lib/models/typeObjects.js +63 -0
- package/lib/models/typeObjects.js.map +1 -0
- package/lib/screens/ActiveProjectScreen.d.ts +3 -0
- package/lib/screens/ActiveProjectScreen.js +50 -0
- package/lib/screens/ActiveProjectScreen.js.map +1 -0
- package/lib/screens/BuisnessProjectScreen.d.ts +3 -0
- package/lib/screens/BuisnessProjectScreen.js +27 -0
- package/lib/screens/BuisnessProjectScreen.js.map +1 -0
- package/lib/screens/ProjectDetailsScreen.d.ts +7 -0
- package/lib/screens/ProjectDetailsScreen.js +87 -0
- package/lib/screens/ProjectDetailsScreen.js.map +1 -0
- package/lib/screens/ProjectScreen.d.ts +3 -0
- package/lib/screens/ProjectScreen.js +27 -0
- package/lib/screens/ProjectScreen.js.map +1 -0
- package/lib/screens/TaskDetailsScreen.d.ts +6 -0
- package/lib/screens/TaskDetailsScreen.js +92 -0
- package/lib/screens/TaskDetailsScreen.js.map +1 -0
- package/lib/screens/TaskFormScreen.d.ts +6 -0
- package/lib/screens/TaskFormScreen.js +83 -0
- package/lib/screens/TaskFormScreen.js.map +1 -0
- package/lib/screens/TaskListScreen.d.ts +5 -0
- package/lib/screens/TaskListScreen.js +56 -0
- package/lib/screens/TaskListScreen.js.map +1 -0
- package/lib/screens/index.d.ts +74 -0
- package/lib/screens/index.js +82 -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/reporting-type.d.ts +5 -0
- package/lib/types/reporting-type.js +23 -0
- package/lib/types/reporting-type.js.map +1 -0
- package/package.json +48 -0
|
@@ -0,0 +1,55 @@
|
|
|
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 { isEmpty, useSelector, useTranslator } from '@axelor/aos-mobile-core';
|
|
21
|
+
import { HeaderContainer, NotesCard, ScrollView } from '@axelor/aos-mobile-ui';
|
|
22
|
+
import { DatesDisplay } from '../../atoms';
|
|
23
|
+
import { PartnerActionCard, ProjectHeader, ProjectSiteTags, } from '../../molecules';
|
|
24
|
+
import { ProjectDropdownCards } from '../../organisms';
|
|
25
|
+
const GeneralInformationView = () => {
|
|
26
|
+
const I18n = useTranslator();
|
|
27
|
+
const { project } = useSelector((state) => state.project_project);
|
|
28
|
+
if (project == null || isEmpty(project)) {
|
|
29
|
+
return null;
|
|
30
|
+
}
|
|
31
|
+
return (<View>
|
|
32
|
+
<HeaderContainer expandableFilter={false} fixedItems={<ProjectHeader />}/>
|
|
33
|
+
<ScrollView style={styles.scrollView}>
|
|
34
|
+
<View style={styles.margin}>
|
|
35
|
+
<DatesDisplay fromDate={project.fromDate} toDate={project.toDate}/>
|
|
36
|
+
<ProjectSiteTags />
|
|
37
|
+
</View>
|
|
38
|
+
<NotesCard title={I18n.t('Base_Description')} data={project.description}/>
|
|
39
|
+
<PartnerActionCard partner={project.clientPartner}/>
|
|
40
|
+
<PartnerActionCard partner={project.contactPartner} isContact/>
|
|
41
|
+
<ProjectDropdownCards />
|
|
42
|
+
</ScrollView>
|
|
43
|
+
</View>);
|
|
44
|
+
};
|
|
45
|
+
const styles = StyleSheet.create({
|
|
46
|
+
scrollView: {
|
|
47
|
+
height: null,
|
|
48
|
+
},
|
|
49
|
+
margin: {
|
|
50
|
+
width: '90%',
|
|
51
|
+
alignSelf: 'center',
|
|
52
|
+
},
|
|
53
|
+
});
|
|
54
|
+
export default GeneralInformationView;
|
|
55
|
+
//# sourceMappingURL=GeneralInformationView.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"GeneralInformationView.js","sourceRoot":"","sources":["../../../../src/components/pages/GeneralInformationView/GeneralInformationView.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAEH,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAC,UAAU,EAAE,IAAI,EAAC,MAAM,cAAc,CAAC;AAC9C,OAAO,EAAC,OAAO,EAAE,WAAW,EAAE,aAAa,EAAC,MAAM,yBAAyB,CAAC;AAC5E,OAAO,EAAC,eAAe,EAAE,SAAS,EAAE,UAAU,EAAC,MAAM,uBAAuB,CAAC;AAC7E,OAAO,EAAC,YAAY,EAAC,MAAM,aAAa,CAAC;AACzC,OAAO,EACL,iBAAiB,EACjB,aAAa,EACb,eAAe,GAChB,MAAM,iBAAiB,CAAC;AACzB,OAAO,EAAC,oBAAoB,EAAC,MAAM,iBAAiB,CAAC;AAErD,MAAM,sBAAsB,GAAG,GAAG,EAAE;IAClC,MAAM,IAAI,GAAG,aAAa,EAAE,CAAC;IAE7B,MAAM,EAAC,OAAO,EAAC,GAAG,WAAW,CAAC,CAAC,KAAU,EAAE,EAAE,CAAC,KAAK,CAAC,eAAe,CAAC,CAAC;IAErE,IAAI,OAAO,IAAI,IAAI,IAAI,OAAO,CAAC,OAAO,CAAC,EAAE;QACvC,OAAO,IAAI,CAAC;KACb;IAED,OAAO,CACL,CAAC,IAAI,CACH;MAAA,CAAC,eAAe,CACd,gBAAgB,CAAC,CAAC,KAAK,CAAC,CACxB,UAAU,CAAC,CAAC,CAAC,aAAa,CAAC,AAAD,EAAG,CAAC,EAEhC;MAAA,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,UAAU,CAAC,CACnC;QAAA,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,CACzB;UAAA,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,EACjE;UAAA,CAAC,eAAe,CAAC,AAAD,EAClB;QAAA,EAAE,IAAI,CACN;QAAA,CAAC,SAAS,CACR,KAAK,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,kBAAkB,CAAC,CAAC,CAClC,IAAI,CAAC,CAAC,OAAO,CAAC,WAAW,CAAC,EAE5B;QAAA,CAAC,iBAAiB,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,aAAa,CAAC,EAClD;QAAA,CAAC,iBAAiB,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC,SAAS,EAC7D;QAAA,CAAC,oBAAoB,CAAC,AAAD,EACvB;MAAA,EAAE,UAAU,CACd;IAAA,EAAE,IAAI,CAAC,CACR,CAAC;AACJ,CAAC,CAAC;AAEF,MAAM,MAAM,GAAG,UAAU,CAAC,MAAM,CAAC;IAC/B,UAAU,EAAE;QACV,MAAM,EAAE,IAAI;KACb;IACD,MAAM,EAAE;QACN,KAAK,EAAE,KAAK;QACZ,SAAS,EAAE,QAAQ;KACpB;CACF,CAAC,CAAC;AAEH,eAAe,sBAAsB,CAAC"}
|
|
@@ -0,0 +1,60 @@
|
|
|
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 { View, StyleSheet } from 'react-native';
|
|
20
|
+
import { useSelector, useTranslator } from '@axelor/aos-mobile-core';
|
|
21
|
+
import { HeaderContainer, ToggleSwitch } from '@axelor/aos-mobile-ui';
|
|
22
|
+
import { ProjectHeader } from '../../molecules';
|
|
23
|
+
import { ActivityListView, ReportingDetailsView } from '../../templates';
|
|
24
|
+
import { ReportingType } from '../../../types';
|
|
25
|
+
import { useReportingConfiguration } from '../../../hooks/use-reporting-configuration';
|
|
26
|
+
const ReportingView = () => {
|
|
27
|
+
const I18n = useTranslator();
|
|
28
|
+
const { project } = useSelector((state) => state.project_project);
|
|
29
|
+
const { showActivities, showIndicators, noReporting } = useReportingConfiguration(project);
|
|
30
|
+
const [mode, setMode] = useState(ReportingType.indicators);
|
|
31
|
+
useEffect(() => {
|
|
32
|
+
if (!showIndicators) {
|
|
33
|
+
setMode(ReportingType.activities);
|
|
34
|
+
}
|
|
35
|
+
else if (!showActivities) {
|
|
36
|
+
setMode(ReportingType.indicators);
|
|
37
|
+
}
|
|
38
|
+
}, [showActivities, showIndicators]);
|
|
39
|
+
if (noReporting) {
|
|
40
|
+
return null;
|
|
41
|
+
}
|
|
42
|
+
return (<View style={styles.container}>
|
|
43
|
+
<HeaderContainer expandableFilter={false} fixedItems={<>
|
|
44
|
+
<ProjectHeader />
|
|
45
|
+
{showIndicators && showActivities && (<ToggleSwitch leftTitle={I18n.t('Project_Reporting')} rightTitle={I18n.t('Project_Activities')} onSwitch={() => setMode(_mode => {
|
|
46
|
+
return _mode === ReportingType.activities
|
|
47
|
+
? ReportingType.indicators
|
|
48
|
+
: ReportingType.activities;
|
|
49
|
+
})}/>)}
|
|
50
|
+
</>}/>
|
|
51
|
+
{mode === ReportingType.activities ? (<ActivityListView />) : (<ReportingDetailsView />)}
|
|
52
|
+
</View>);
|
|
53
|
+
};
|
|
54
|
+
const styles = StyleSheet.create({
|
|
55
|
+
container: {
|
|
56
|
+
flex: 1,
|
|
57
|
+
},
|
|
58
|
+
});
|
|
59
|
+
export default ReportingView;
|
|
60
|
+
//# sourceMappingURL=ReportingView.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ReportingView.js","sourceRoot":"","sources":["../../../../src/components/pages/ReportingView/ReportingView.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAEH,OAAO,KAAK,EAAE,EAAC,SAAS,EAAE,QAAQ,EAAC,MAAM,OAAO,CAAC;AACjD,OAAO,EAAC,IAAI,EAAE,UAAU,EAAC,MAAM,cAAc,CAAC;AAC9C,OAAO,EAAC,WAAW,EAAE,aAAa,EAAC,MAAM,yBAAyB,CAAC;AACnE,OAAO,EAAC,eAAe,EAAE,YAAY,EAAC,MAAM,uBAAuB,CAAC;AACpE,OAAO,EAAC,aAAa,EAAC,MAAM,iBAAiB,CAAC;AAC9C,OAAO,EAAC,gBAAgB,EAAE,oBAAoB,EAAC,MAAM,iBAAiB,CAAC;AACvE,OAAO,EAAC,aAAa,EAAC,MAAM,gBAAgB,CAAC;AAC7C,OAAO,EAAC,yBAAyB,EAAC,MAAM,4CAA4C,CAAC;AAErF,MAAM,aAAa,GAAG,GAAG,EAAE;IACzB,MAAM,IAAI,GAAG,aAAa,EAAE,CAAC;IAE7B,MAAM,EAAC,OAAO,EAAC,GAAG,WAAW,CAAC,CAAC,KAAU,EAAE,EAAE,CAAC,KAAK,CAAC,eAAe,CAAC,CAAC;IAErE,MAAM,EAAC,cAAc,EAAE,cAAc,EAAE,WAAW,EAAC,GACjD,yBAAyB,CAAC,OAAO,CAAC,CAAC;IAErC,MAAM,CAAC,IAAI,EAAE,OAAO,CAAC,GAAG,QAAQ,CAAC,aAAa,CAAC,UAAU,CAAC,CAAC;IAE3D,SAAS,CAAC,GAAG,EAAE;QACb,IAAI,CAAC,cAAc,EAAE;YACnB,OAAO,CAAC,aAAa,CAAC,UAAU,CAAC,CAAC;SACnC;aAAM,IAAI,CAAC,cAAc,EAAE;YAC1B,OAAO,CAAC,aAAa,CAAC,UAAU,CAAC,CAAC;SACnC;IACH,CAAC,EAAE,CAAC,cAAc,EAAE,cAAc,CAAC,CAAC,CAAC;IAErC,IAAI,WAAW,EAAE;QACf,OAAO,IAAI,CAAC;KACb;IAED,OAAO,CACL,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,SAAS,CAAC,CAC5B;MAAA,CAAC,eAAe,CACd,gBAAgB,CAAC,CAAC,KAAK,CAAC,CACxB,UAAU,CAAC,CACT,EACE;YAAA,CAAC,aAAa,CAAC,AAAD,EACd;YAAA,CAAC,cAAc,IAAI,cAAc,IAAI,CACnC,CAAC,YAAY,CACX,SAAS,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,mBAAmB,CAAC,CAAC,CACvC,UAAU,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,oBAAoB,CAAC,CAAC,CACzC,QAAQ,CAAC,CAAC,GAAG,EAAE,CACb,OAAO,CAAC,KAAK,CAAC,EAAE;oBACd,OAAO,KAAK,KAAK,aAAa,CAAC,UAAU;wBACvC,CAAC,CAAC,aAAa,CAAC,UAAU;wBAC1B,CAAC,CAAC,aAAa,CAAC,UAAU,CAAC;gBAC/B,CAAC,CAAC,CACH,EACD,CACH,CACH;UAAA,GAAG,CACJ,EAEH;MAAA,CAAC,IAAI,KAAK,aAAa,CAAC,UAAU,CAAC,CAAC,CAAC,CACnC,CAAC,gBAAgB,CAAC,AAAD,EAAG,CACrB,CAAC,CAAC,CAAC,CACF,CAAC,oBAAoB,CAAC,AAAD,EAAG,CACzB,CACH;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;KACR;CACF,CAAC,CAAC;AAEH,eAAe,aAAa,CAAC"}
|
|
@@ -0,0 +1,80 @@
|
|
|
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, { useCallback, useEffect, useMemo } from 'react';
|
|
19
|
+
import { StyleSheet } from 'react-native';
|
|
20
|
+
import { useSelector, useDispatch, useTranslator, clipboardProvider, } from '@axelor/aos-mobile-core';
|
|
21
|
+
import { HeaderContainer, HorizontalRule, ScrollList, Text, Label, } from '@axelor/aos-mobile-ui';
|
|
22
|
+
import { ProjectHeader } from '../../molecules';
|
|
23
|
+
import { ProjectCard } from '../../atoms';
|
|
24
|
+
import { searchSubProject } from '../../../features/projectSlice';
|
|
25
|
+
const SubProjectView = () => {
|
|
26
|
+
const dispatch = useDispatch();
|
|
27
|
+
const I18n = useTranslator();
|
|
28
|
+
const { project, loadingSubProject, moreLoadingSubProject, isListEndSubProject, subProjectList, } = useSelector((state) => state.project_project);
|
|
29
|
+
const sliceFunctionData = useMemo(() => ({
|
|
30
|
+
projectId: project.id,
|
|
31
|
+
}), [project.id]);
|
|
32
|
+
useEffect(() => {
|
|
33
|
+
dispatch(searchSubProject(sliceFunctionData));
|
|
34
|
+
}, [dispatch, sliceFunctionData]);
|
|
35
|
+
const fetchSubProjectAPI = useCallback((page = 0) => {
|
|
36
|
+
dispatch(searchSubProject({ ...sliceFunctionData, page }));
|
|
37
|
+
}, [dispatch, sliceFunctionData]);
|
|
38
|
+
const isParentProjet = useMemo(() => project.parentProject != null, [project.parentProject]);
|
|
39
|
+
const isSubProjects = useMemo(() => Array.isArray(subProjectList) && subProjectList.length > 0, [subProjectList]);
|
|
40
|
+
const noProjects = useMemo(() => {
|
|
41
|
+
return !isParentProjet && !isSubProjects;
|
|
42
|
+
}, [isParentProjet, isSubProjects]);
|
|
43
|
+
return (<>
|
|
44
|
+
<HeaderContainer fixedItems={<ProjectHeader />} expandableFilter={false}/>
|
|
45
|
+
{noProjects && (<Label style={styles.label} message={I18n.t('Project_NoLinkedProjects')} type="info"/>)}
|
|
46
|
+
{isParentProjet && (<>
|
|
47
|
+
<Text style={styles.title} writingType="details">
|
|
48
|
+
{I18n.t('Project_ParentProject')}
|
|
49
|
+
</Text>
|
|
50
|
+
<ProjectCard onPress={() => clipboardProvider.copyToClipboard(project?.parentProject?.name)} customer={project?.parentProject?.clientPartner} name={project?.parentProject?.name} code={project?.parentProject?.code} company={project?.parentProject?.company?.name} assignedTo={project?.parentProject?.assignedTo?.fullName} projectStatus={project?.parentProject?.projectStatus} parentProject={project?.parentProject?.parentProject?.fullName} isCopyCard={true}/>
|
|
51
|
+
</>)}
|
|
52
|
+
{isSubProjects && (<>
|
|
53
|
+
{isParentProjet && <HorizontalRule style={styles.horizontalRule}/>}
|
|
54
|
+
<Text style={styles.title} writingType="details">
|
|
55
|
+
{I18n.t('Project_ChildProjects')}
|
|
56
|
+
</Text>
|
|
57
|
+
<ScrollList data={subProjectList} style={styles.scrollList} loadingList={loadingSubProject} renderItem={({ item }) => (<ProjectCard onPress={() => clipboardProvider.copyToClipboard(item?.name)} name={item?.name} code={item?.code} customer={item?.clientPartner} company={item?.company?.name} assignedTo={item?.assignedTo?.fullName} projectStatus={item?.projectStatus} parentProject={item?.parentProject?.fullName} isCopyCard={true}/>)} fetchData={fetchSubProjectAPI} moreLoading={moreLoadingSubProject} isListEnd={isListEndSubProject} translator={I18n.t}/>
|
|
58
|
+
</>)}
|
|
59
|
+
</>);
|
|
60
|
+
};
|
|
61
|
+
const styles = StyleSheet.create({
|
|
62
|
+
title: {
|
|
63
|
+
marginHorizontal: 24,
|
|
64
|
+
marginVertical: 10,
|
|
65
|
+
},
|
|
66
|
+
scrollList: {
|
|
67
|
+
paddingTop: 0,
|
|
68
|
+
},
|
|
69
|
+
label: {
|
|
70
|
+
width: '90%',
|
|
71
|
+
alignSelf: 'center',
|
|
72
|
+
},
|
|
73
|
+
horizontalRule: {
|
|
74
|
+
alignSelf: 'center',
|
|
75
|
+
width: '70%',
|
|
76
|
+
marginTop: 10,
|
|
77
|
+
},
|
|
78
|
+
});
|
|
79
|
+
export default SubProjectView;
|
|
80
|
+
//# sourceMappingURL=SubProjectView.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"SubProjectView.js","sourceRoot":"","sources":["../../../../src/components/pages/SubProjectView/SubProjectView.tsx"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,49 @@
|
|
|
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, useState, useCallback } from 'react';
|
|
19
|
+
import { StyleSheet, View } from 'react-native';
|
|
20
|
+
import { useSelector } from '@axelor/aos-mobile-core';
|
|
21
|
+
import { HeaderContainer, ScrollView } from '@axelor/aos-mobile-ui';
|
|
22
|
+
import { TaskDetailsHeader } from '../../molecules';
|
|
23
|
+
import { CustomSection } from '../../organisms';
|
|
24
|
+
const TaskCustomFieldsView = ({}) => {
|
|
25
|
+
const { projectTask } = useSelector((state) => state.project_projectTask);
|
|
26
|
+
const [refreshKey, setRefreshKey] = useState(0);
|
|
27
|
+
const configArray = useMemo(() => projectTask.project?.customFieldManagementSelect.split(','), [projectTask.project?.customFieldManagementSelect]);
|
|
28
|
+
const onRefresh = useCallback(() => {
|
|
29
|
+
setRefreshKey(prevKey => prevKey + 1);
|
|
30
|
+
}, []);
|
|
31
|
+
return (<View style={styles.container}>
|
|
32
|
+
<HeaderContainer expandableFilter={false} fixedItems={<TaskDetailsHeader />}/>
|
|
33
|
+
<ScrollView style={styles.scrollView} refresh={{ fetcher: onRefresh, loading: false }}>
|
|
34
|
+
<CustomSection titleKey="Project_ProjectAppCustomField" fieldType="appJson" visible={configArray.includes('app')} modelId={projectTask.id} refreshKey={refreshKey} onRefresh={onRefresh}/>
|
|
35
|
+
<CustomSection titleKey="Project_ProjectCustomField" fieldType="projectJson" visible={configArray.includes('project')} modelId={projectTask.id} refreshKey={refreshKey} onRefresh={onRefresh}/>
|
|
36
|
+
<CustomSection titleKey="Project_CategoryCustomField" fieldType="categoryJson" visible={configArray.includes('category')} modelId={projectTask.id} refreshKey={refreshKey} onRefresh={onRefresh}/>
|
|
37
|
+
</ScrollView>
|
|
38
|
+
</View>);
|
|
39
|
+
};
|
|
40
|
+
const styles = StyleSheet.create({
|
|
41
|
+
container: {
|
|
42
|
+
flex: 1,
|
|
43
|
+
},
|
|
44
|
+
scrollView: {
|
|
45
|
+
height: null,
|
|
46
|
+
},
|
|
47
|
+
});
|
|
48
|
+
export default TaskCustomFieldsView;
|
|
49
|
+
//# sourceMappingURL=TaskCustomFieldsView.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"TaskCustomFieldsView.js","sourceRoot":"","sources":["../../../../src/components/pages/TaskCustomFieldsView/TaskCustomFieldsView.tsx"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,55 @@
|
|
|
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 } from 'react';
|
|
19
|
+
import { StyleSheet, View } from 'react-native';
|
|
20
|
+
import { useDispatch, useNavigation, useSelector } from '@axelor/aos-mobile-core';
|
|
21
|
+
import { HeaderContainer, ScrollView } from '@axelor/aos-mobile-ui';
|
|
22
|
+
import { ProjectSimpleCard } from '../../atoms';
|
|
23
|
+
import { TaskDetailsHeader } from '../../molecules';
|
|
24
|
+
import { ProjectTaskDropdownCards, TimeSpentGridView } from '../../organisms';
|
|
25
|
+
import { fetchProjectStatus } from '../../../features/projectSlice';
|
|
26
|
+
const TaskGeneralInformationView = ({ handleRefresh = () => { }, }) => {
|
|
27
|
+
const dispatch = useDispatch();
|
|
28
|
+
const navigation = useNavigation();
|
|
29
|
+
const { projectTask, loadingProjectTask } = useSelector((state) => state.project_projectTask);
|
|
30
|
+
useEffect(() => {
|
|
31
|
+
dispatch(fetchProjectStatus());
|
|
32
|
+
}, [dispatch]);
|
|
33
|
+
return (<View style={styles.container}>
|
|
34
|
+
<HeaderContainer expandableFilter={false} fixedItems={<TaskDetailsHeader />}/>
|
|
35
|
+
<ScrollView style={styles.scrollView} refresh={{ loading: loadingProjectTask, fetcher: handleRefresh }}>
|
|
36
|
+
<ProjectSimpleCard code={projectTask.project?.code} name={projectTask.project?.name} projectStatus={projectTask.project?.projectStatus} onPress={() => {
|
|
37
|
+
navigation.navigate('ProjectDetailsScreen', {
|
|
38
|
+
projectId: projectTask.project?.id,
|
|
39
|
+
});
|
|
40
|
+
}}/>
|
|
41
|
+
<ProjectTaskDropdownCards />
|
|
42
|
+
<TimeSpentGridView />
|
|
43
|
+
</ScrollView>
|
|
44
|
+
</View>);
|
|
45
|
+
};
|
|
46
|
+
const styles = StyleSheet.create({
|
|
47
|
+
container: {
|
|
48
|
+
flex: 1,
|
|
49
|
+
},
|
|
50
|
+
scrollView: {
|
|
51
|
+
height: null,
|
|
52
|
+
},
|
|
53
|
+
});
|
|
54
|
+
export default TaskGeneralInformationView;
|
|
55
|
+
//# sourceMappingURL=TaskGeneralInformationView.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"TaskGeneralInformationView.js","sourceRoot":"","sources":["../../../../src/components/pages/TaskGeneralInformationView/TaskGeneralInformationView.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAEH,OAAO,KAAK,EAAE,EAAC,SAAS,EAAC,MAAM,OAAO,CAAC;AACvC,OAAO,EAAC,UAAU,EAAE,IAAI,EAAC,MAAM,cAAc,CAAC;AAC9C,OAAO,EAAC,WAAW,EAAE,aAAa,EAAE,WAAW,EAAC,MAAM,yBAAyB,CAAC;AAChF,OAAO,EAAC,eAAe,EAAE,UAAU,EAAC,MAAM,uBAAuB,CAAC;AAClE,OAAO,EAAC,iBAAiB,EAAC,MAAM,aAAa,CAAC;AAC9C,OAAO,EAAC,iBAAiB,EAAC,MAAM,iBAAiB,CAAC;AAClD,OAAO,EAAC,wBAAwB,EAAE,iBAAiB,EAAC,MAAM,iBAAiB,CAAC;AAC5E,OAAO,EAAC,kBAAkB,EAAC,MAAM,gCAAgC,CAAC;AAElE,MAAM,0BAA0B,GAAG,CAAC,EAClC,aAAa,GAAG,GAAG,EAAE,GAAE,CAAC,GAGzB,EAAE,EAAE;IACH,MAAM,QAAQ,GAAG,WAAW,EAAE,CAAC;IAC/B,MAAM,UAAU,GAAG,aAAa,EAAE,CAAC;IAEnC,MAAM,EAAC,WAAW,EAAE,kBAAkB,EAAC,GAAG,WAAW,CACnD,CAAC,KAAU,EAAE,EAAE,CAAC,KAAK,CAAC,mBAAmB,CAC1C,CAAC;IAEF,SAAS,CAAC,GAAG,EAAE;QACb,QAAQ,CAAC,kBAAkB,EAAE,CAAC,CAAC;IACjC,CAAC,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC;IAEf,OAAO,CACL,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,SAAS,CAAC,CAC5B;MAAA,CAAC,eAAe,CACd,gBAAgB,CAAC,CAAC,KAAK,CAAC,CACxB,UAAU,CAAC,CAAC,CAAC,iBAAiB,CAAC,AAAD,EAAG,CAAC,EAEpC;MAAA,CAAC,UAAU,CACT,KAAK,CAAC,CAAC,MAAM,CAAC,UAAU,CAAC,CACzB,OAAO,CAAC,CAAC,EAAC,OAAO,EAAE,kBAAkB,EAAE,OAAO,EAAE,aAAa,EAAC,CAAC,CAC/D;QAAA,CAAC,iBAAiB,CAChB,IAAI,CAAC,CAAC,WAAW,CAAC,OAAO,EAAE,IAAI,CAAC,CAChC,IAAI,CAAC,CAAC,WAAW,CAAC,OAAO,EAAE,IAAI,CAAC,CAChC,aAAa,CAAC,CAAC,WAAW,CAAC,OAAO,EAAE,aAAa,CAAC,CAClD,OAAO,CAAC,CAAC,GAAG,EAAE;YACZ,UAAU,CAAC,QAAQ,CAAC,sBAAsB,EAAE;gBAC1C,SAAS,EAAE,WAAW,CAAC,OAAO,EAAE,EAAE;aACnC,CAAC,CAAC;QACL,CAAC,CAAC,EAEJ;QAAA,CAAC,wBAAwB,CAAC,AAAD,EACzB;QAAA,CAAC,iBAAiB,CAAC,AAAD,EACpB;MAAA,EAAE,UAAU,CACd;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;KACR;IACD,UAAU,EAAE;QACV,MAAM,EAAE,IAAI;KACb;CACF,CAAC,CAAC;AAEH,eAAe,0BAA0B,CAAC"}
|
|
@@ -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, { useCallback, useEffect } from 'react';
|
|
19
|
+
import { StyleSheet, View } from 'react-native';
|
|
20
|
+
import { useDispatch, useSelector, useTranslator, clipboardProvider, } from '@axelor/aos-mobile-core';
|
|
21
|
+
import { GroupByScrollList, HeaderContainer, HorizontalRule, } from '@axelor/aos-mobile-ui';
|
|
22
|
+
import { TaskCard } from '../../atoms';
|
|
23
|
+
import { TaskDetailsHeader } from '../../molecules';
|
|
24
|
+
import { searchProjectTaskLink } from '../../../features/projectTaskSlice';
|
|
25
|
+
const TaskLinkView = ({}) => {
|
|
26
|
+
const dispatch = useDispatch();
|
|
27
|
+
const I18n = useTranslator();
|
|
28
|
+
const { projectTask, taskLinkList, loadingTaskLink, moreLoadingTaskLink, isListEndTaskLink, } = useSelector((state) => state.project_projectTask);
|
|
29
|
+
useEffect(() => {
|
|
30
|
+
dispatch(searchProjectTaskLink({ taskId: projectTask?.id }));
|
|
31
|
+
}, [dispatch, projectTask?.id]);
|
|
32
|
+
const fetchProjectTaskLinkAPI = useCallback((page = 0) => {
|
|
33
|
+
dispatch(searchProjectTaskLink({
|
|
34
|
+
taskId: projectTask?.id,
|
|
35
|
+
page: page,
|
|
36
|
+
}));
|
|
37
|
+
}, [dispatch, projectTask?.id]);
|
|
38
|
+
const separatorCondition = useCallback((prevItem, currentItem) => prevItem.projectTaskLinkType.id !== currentItem.projectTaskLinkType.id, []);
|
|
39
|
+
return (<View style={styles.container}>
|
|
40
|
+
<HeaderContainer expandableFilter={false} fixedItems={<TaskDetailsHeader />}/>
|
|
41
|
+
<GroupByScrollList translator={I18n.t} data={taskLinkList} loadingList={loadingTaskLink} isListEnd={isListEndTaskLink} moreLoading={moreLoadingTaskLink} fetchData={fetchProjectTaskLinkAPI} renderItem={({ item }) => (<TaskCard name={item?.relatedTask.name} assignedTo={item?.relatedTask?.assignedTo?.fullName} taskDeadline={item?.relatedTask?.taskDeadline} parentTask={item?.relatedTask?.parentTask?.name} progress={item?.relatedTask?.progress} priority={item?.relatedTask?.priority} status={item?.relatedTask?.status} isCopyCard={true} showArrow={false} onPress={() => clipboardProvider.copyToClipboard(item?.relatedTask.name)}/>)} separatorCondition={separatorCondition} fetchBottomIndicator={() => ({ text: '' })} customBottomSeparator={<HorizontalRule style={styles.horizotalRule}/>} fetchTopIndicator={item => ({
|
|
42
|
+
title: item.projectTaskLinkType.name,
|
|
43
|
+
position: 'left',
|
|
44
|
+
})}/>
|
|
45
|
+
</View>);
|
|
46
|
+
};
|
|
47
|
+
const styles = StyleSheet.create({
|
|
48
|
+
container: {
|
|
49
|
+
flex: 1,
|
|
50
|
+
},
|
|
51
|
+
horizotalRule: {
|
|
52
|
+
marginTop: 15,
|
|
53
|
+
width: '60%',
|
|
54
|
+
alignSelf: 'center',
|
|
55
|
+
},
|
|
56
|
+
});
|
|
57
|
+
export default TaskLinkView;
|
|
58
|
+
//# sourceMappingURL=TaskLinkView.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"TaskLinkView.js","sourceRoot":"","sources":["../../../../src/components/pages/TaskLinkView/TaskLinkView.tsx"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,63 @@
|
|
|
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, useState } from 'react';
|
|
19
|
+
import { useSelector, SearchListView, useTranslator, useNavigation, } from '@axelor/aos-mobile-core';
|
|
20
|
+
import { ProjectHeader, TaskActionCard } from '../../molecules';
|
|
21
|
+
import { TaskFilters } from '../../templates';
|
|
22
|
+
import { searchProjectTask } from '../../../features/projectTaskSlice';
|
|
23
|
+
const TaskView = () => {
|
|
24
|
+
const I18n = useTranslator();
|
|
25
|
+
const navigation = useNavigation();
|
|
26
|
+
const { userId } = useSelector((state) => state.auth);
|
|
27
|
+
const { project } = useSelector((state) => state.project_project);
|
|
28
|
+
const { loading, moreLoading, isListEnd, projectTaskList } = useSelector((state) => state.project_projectTask);
|
|
29
|
+
const [selectedStatus, setSelectedStatus] = useState([]);
|
|
30
|
+
const [selectedPriority, setSelectedPriority] = useState([]);
|
|
31
|
+
const [selectedCategory, setSelectedCategory] = useState([]);
|
|
32
|
+
const [isAssignedToMe, setIsAssignedToMe] = useState(false);
|
|
33
|
+
const sliceFunctionData = useMemo(() => {
|
|
34
|
+
return {
|
|
35
|
+
projectId: project?.id,
|
|
36
|
+
isAssignedToMe: isAssignedToMe,
|
|
37
|
+
selectedStatus: selectedStatus,
|
|
38
|
+
selectedPriority: selectedPriority,
|
|
39
|
+
selectedCategory: selectedCategory,
|
|
40
|
+
userId: isAssignedToMe ? userId : null,
|
|
41
|
+
};
|
|
42
|
+
}, [
|
|
43
|
+
project?.id,
|
|
44
|
+
isAssignedToMe,
|
|
45
|
+
selectedStatus,
|
|
46
|
+
selectedPriority,
|
|
47
|
+
selectedCategory,
|
|
48
|
+
userId,
|
|
49
|
+
]);
|
|
50
|
+
return (<SearchListView headerTopChildren={<ProjectHeader />} headerChildren={<TaskFilters isAssignedToMe={isAssignedToMe} setIsAssignedToMe={setIsAssignedToMe} setSelectedPriority={setSelectedPriority} setSelectedCategory={setSelectedCategory} setSelectedStatus={setSelectedStatus} selectedCategories={selectedCategory} project={project}/>} actionList={[
|
|
51
|
+
{
|
|
52
|
+
iconName: 'plus',
|
|
53
|
+
title: I18n.t('Project_CreateNewTask'),
|
|
54
|
+
onPress: () => {
|
|
55
|
+
navigation.navigate('TaskFormScreen', { isCreation: true });
|
|
56
|
+
},
|
|
57
|
+
},
|
|
58
|
+
]} list={projectTaskList} loading={loading} moreLoading={moreLoading} isListEnd={isListEnd} sliceFunction={searchProjectTask} sliceFunctionData={sliceFunctionData} searchPlaceholder={I18n.t('Base_Search')} renderListItem={({ item }) => (<TaskActionCard task={item} onPress={() => {
|
|
59
|
+
navigation.navigate('TaskDetailsScreen', { projecTaskId: item.id });
|
|
60
|
+
}}/>)}/>);
|
|
61
|
+
};
|
|
62
|
+
export default TaskView;
|
|
63
|
+
//# sourceMappingURL=TaskView.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"TaskView.js","sourceRoot":"","sources":["../../../../src/components/pages/TaskView/TaskView.tsx"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,59 @@
|
|
|
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, useMemo, useState } from 'react';
|
|
19
|
+
import { StyleSheet, View } from 'react-native';
|
|
20
|
+
import { FormView, useDispatch, useSelector } from '@axelor/aos-mobile-core';
|
|
21
|
+
import { HeaderContainer } from '@axelor/aos-mobile-ui';
|
|
22
|
+
import { updateProject } from '@axelor/aos-mobile-hr';
|
|
23
|
+
import { clearReset } from '../../../features/timesheetLinesSlice';
|
|
24
|
+
const TimeView = ({ project, projectTask, headerComponent, }) => {
|
|
25
|
+
const dispatch = useDispatch();
|
|
26
|
+
const { resetTimeForm } = useSelector((state) => state.project_timesheetLines);
|
|
27
|
+
const [formValue, setFormValue] = useState({});
|
|
28
|
+
const defaultValue = useMemo(() => {
|
|
29
|
+
return {
|
|
30
|
+
project,
|
|
31
|
+
projectTask,
|
|
32
|
+
isTaskLog: projectTask != null,
|
|
33
|
+
date: new Date().toISOString().split('T')[0],
|
|
34
|
+
};
|
|
35
|
+
}, [project, projectTask]);
|
|
36
|
+
useEffect(() => {
|
|
37
|
+
dispatch(updateProject(project));
|
|
38
|
+
}, [dispatch, project]);
|
|
39
|
+
useEffect(() => {
|
|
40
|
+
if (resetTimeForm) {
|
|
41
|
+
setFormValue(current => ({ ...current }));
|
|
42
|
+
dispatch(clearReset());
|
|
43
|
+
}
|
|
44
|
+
}, [dispatch, resetTimeForm]);
|
|
45
|
+
useEffect(() => {
|
|
46
|
+
setFormValue(defaultValue);
|
|
47
|
+
}, [defaultValue]);
|
|
48
|
+
return (<View style={styles.container}>
|
|
49
|
+
<HeaderContainer expandableFilter={false} fixedItems={headerComponent}/>
|
|
50
|
+
<FormView formKey="project_TimesheetLine" actions={[]} defaultValue={formValue} floatingTools={false}/>
|
|
51
|
+
</View>);
|
|
52
|
+
};
|
|
53
|
+
const styles = StyleSheet.create({
|
|
54
|
+
container: {
|
|
55
|
+
flex: 1,
|
|
56
|
+
},
|
|
57
|
+
});
|
|
58
|
+
export default TimeView;
|
|
59
|
+
//# sourceMappingURL=TimeView.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"TimeView.js","sourceRoot":"","sources":["../../../../src/components/pages/TimeView/TimeView.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAEH,OAAO,KAAK,EAAE,EAAY,SAAS,EAAE,OAAO,EAAE,QAAQ,EAAC,MAAM,OAAO,CAAC;AACrE,OAAO,EAAC,UAAU,EAAE,IAAI,EAAC,MAAM,cAAc,CAAC;AAC9C,OAAO,EAAC,QAAQ,EAAE,WAAW,EAAE,WAAW,EAAC,MAAM,yBAAyB,CAAC;AAC3E,OAAO,EAAC,eAAe,EAAC,MAAM,uBAAuB,CAAC;AACtD,OAAO,EAAC,aAAa,EAAC,MAAM,uBAAuB,CAAC;AACpD,OAAO,EAAC,UAAU,EAAC,MAAM,uCAAuC,CAAC;AAEjE,MAAM,QAAQ,GAAG,CAAC,EAChB,OAAO,EACP,WAAW,EACX,eAAe,GAKhB,EAAE,EAAE;IACH,MAAM,QAAQ,GAAG,WAAW,EAAE,CAAC;IAE/B,MAAM,EAAC,aAAa,EAAC,GAAG,WAAW,CACjC,CAAC,KAAU,EAAE,EAAE,CAAC,KAAK,CAAC,sBAAsB,CAC7C,CAAC;IAEF,MAAM,CAAC,SAAS,EAAE,YAAY,CAAC,GAAG,QAAQ,CAAC,EAAE,CAAC,CAAC;IAE/C,MAAM,YAAY,GAAG,OAAO,CAAC,GAAG,EAAE;QAChC,OAAO;YACL,OAAO;YACP,WAAW;YACX,SAAS,EAAE,WAAW,IAAI,IAAI;YAC9B,IAAI,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;SAC7C,CAAC;IACJ,CAAC,EAAE,CAAC,OAAO,EAAE,WAAW,CAAC,CAAC,CAAC;IAE3B,SAAS,CAAC,GAAG,EAAE;QACb,QAAQ,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC,CAAC;IACnC,CAAC,EAAE,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC,CAAC;IAExB,SAAS,CAAC,GAAG,EAAE;QACb,IAAI,aAAa,EAAE;YACjB,YAAY,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,EAAC,GAAG,OAAO,EAAC,CAAC,CAAC,CAAC;YACxC,QAAQ,CAAC,UAAU,EAAE,CAAC,CAAC;SACxB;IACH,CAAC,EAAE,CAAC,QAAQ,EAAE,aAAa,CAAC,CAAC,CAAC;IAE9B,SAAS,CAAC,GAAG,EAAE;QACb,YAAY,CAAC,YAAY,CAAC,CAAC;IAC7B,CAAC,EAAE,CAAC,YAAY,CAAC,CAAC,CAAC;IAEnB,OAAO,CACL,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,SAAS,CAAC,CAC5B;MAAA,CAAC,eAAe,CAAC,gBAAgB,CAAC,CAAC,KAAK,CAAC,CAAC,UAAU,CAAC,CAAC,eAAe,CAAC,EACtE;MAAA,CAAC,QAAQ,CACP,OAAO,CAAC,uBAAuB,CAC/B,OAAO,CAAC,CAAC,EAAE,CAAC,CACZ,YAAY,CAAC,CAAC,SAAS,CAAC,CACxB,aAAa,CAAC,CAAC,KAAK,CAAC,EAEzB;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;KACR;CACF,CAAC,CAAC;AAEH,eAAe,QAAQ,CAAC"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
export { default as GeneralInformationView } from './GeneralInformationView/GeneralInformationView';
|
|
2
|
+
export { default as ReportingView } from './ReportingView/ReportingView';
|
|
3
|
+
export { default as TaskCustomFieldsView } from './TaskCustomFieldsView/TaskCustomFieldsView';
|
|
4
|
+
export { default as TaskGeneralInformationView } from './TaskGeneralInformationView/TaskGeneralInformationView';
|
|
5
|
+
export { default as TaskLinkView } from './TaskLinkView/TaskLinkView';
|
|
6
|
+
export { default as SubProjectView } from './SubProjectView/SubProjectView';
|
|
7
|
+
export { default as TaskView } from './TaskView/TaskView';
|
|
8
|
+
export { default as TimeView } from './TimeView/TimeView';
|
|
@@ -0,0 +1,26 @@
|
|
|
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 { default as GeneralInformationView } from './GeneralInformationView/GeneralInformationView';
|
|
19
|
+
export { default as ReportingView } from './ReportingView/ReportingView';
|
|
20
|
+
export { default as TaskCustomFieldsView } from './TaskCustomFieldsView/TaskCustomFieldsView';
|
|
21
|
+
export { default as TaskGeneralInformationView } from './TaskGeneralInformationView/TaskGeneralInformationView';
|
|
22
|
+
export { default as TaskLinkView } from './TaskLinkView/TaskLinkView';
|
|
23
|
+
export { default as SubProjectView } from './SubProjectView/SubProjectView';
|
|
24
|
+
export { default as TaskView } from './TaskView/TaskView';
|
|
25
|
+
export { default as TimeView } from './TimeView/TimeView';
|
|
26
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/components/pages/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAEH,OAAO,EAAC,OAAO,IAAI,sBAAsB,EAAC,MAAM,iDAAiD,CAAC;AAClG,OAAO,EAAC,OAAO,IAAI,aAAa,EAAC,MAAM,+BAA+B,CAAC;AACvE,OAAO,EAAC,OAAO,IAAI,oBAAoB,EAAC,MAAM,6CAA6C,CAAC;AAC5F,OAAO,EAAC,OAAO,IAAI,0BAA0B,EAAC,MAAM,yDAAyD,CAAC;AAC9G,OAAO,EAAC,OAAO,IAAI,YAAY,EAAC,MAAM,6BAA6B,CAAC;AACpE,OAAO,EAAC,OAAO,IAAI,cAAc,EAAC,MAAM,iCAAiC,CAAC;AAC1E,OAAO,EAAC,OAAO,IAAI,QAAQ,EAAC,MAAM,qBAAqB,CAAC;AACxD,OAAO,EAAC,OAAO,IAAI,QAAQ,EAAC,MAAM,qBAAqB,CAAC"}
|