@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,12 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
interface SectionSearchBarProps {
|
|
3
|
+
style?: any;
|
|
4
|
+
title?: string;
|
|
5
|
+
defaultValue?: string;
|
|
6
|
+
onChange?: (any: any) => void;
|
|
7
|
+
readonly?: boolean;
|
|
8
|
+
required?: boolean;
|
|
9
|
+
showTitle?: boolean;
|
|
10
|
+
}
|
|
11
|
+
declare const SectionSearchBar: ({ style, title, defaultValue, onChange, readonly, required, showTitle, }: SectionSearchBarProps) => React.JSX.Element;
|
|
12
|
+
export default SectionSearchBar;
|
|
@@ -0,0 +1,38 @@
|
|
|
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 } from 'react';
|
|
19
|
+
import { displayItemName, useDispatch, useSelector, useTranslator, } from '@axelor/aos-mobile-core';
|
|
20
|
+
import { AutoCompleteSearch } from '@axelor/aos-mobile-ui';
|
|
21
|
+
import { searchSection } from '../../../features/projectTaskSlice';
|
|
22
|
+
const SectionSearchBarAux = ({ style = null, title = 'Project_Section', defaultValue = null, onChange = () => { }, readonly = false, required = false, showTitle = true, }) => {
|
|
23
|
+
const I18n = useTranslator();
|
|
24
|
+
const dispatch = useDispatch();
|
|
25
|
+
const { sectionList, loadingSection, moreLoadingSection, isListEndSection } = useSelector((state) => state.project_projectTask);
|
|
26
|
+
const searchSectionAPI = useCallback(({ page = 0, searchValue }) => {
|
|
27
|
+
dispatch(searchSection({
|
|
28
|
+
page,
|
|
29
|
+
searchValue,
|
|
30
|
+
}));
|
|
31
|
+
}, [dispatch]);
|
|
32
|
+
return (<AutoCompleteSearch style={style} title={showTitle && I18n.t(title)} objectList={sectionList} value={defaultValue} required={required} readonly={readonly} onChangeValue={onChange} fetchData={searchSectionAPI} displayValue={displayItemName} placeholder={I18n.t(title)} showDetailsPopup={true} loadingList={loadingSection} moreLoading={moreLoadingSection} isListEnd={isListEndSection} navigate={false} oneFilter={false}/>);
|
|
33
|
+
};
|
|
34
|
+
const SectionSearchBar = ({ style = null, title = 'Project_Section', defaultValue = null, onChange = () => { }, readonly = false, required = false, showTitle = true, }) => {
|
|
35
|
+
return (<SectionSearchBarAux style={style} title={title} defaultValue={defaultValue} required={required} readonly={readonly} onChange={onChange} showTitle={showTitle}/>);
|
|
36
|
+
};
|
|
37
|
+
export default SectionSearchBar;
|
|
38
|
+
//# sourceMappingURL=SectionSearchBar.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"SectionSearchBar.js","sourceRoot":"","sources":["../../../../src/components/templates/SectionSearchBar/SectionSearchBar.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAEH,OAAO,KAAK,EAAE,EAAC,WAAW,EAAC,MAAM,OAAO,CAAC;AACzC,OAAO,EACL,eAAe,EACf,WAAW,EACX,WAAW,EACX,aAAa,GACd,MAAM,yBAAyB,CAAC;AACjC,OAAO,EAAC,kBAAkB,EAAC,MAAM,uBAAuB,CAAC;AACzD,OAAO,EAAC,aAAa,EAAC,MAAM,oCAAoC,CAAC;AAYjE,MAAM,mBAAmB,GAAG,CAAC,EAC3B,KAAK,GAAG,IAAI,EACZ,KAAK,GAAG,iBAAiB,EACzB,YAAY,GAAG,IAAI,EACnB,QAAQ,GAAG,GAAG,EAAE,GAAE,CAAC,EACnB,QAAQ,GAAG,KAAK,EAChB,QAAQ,GAAG,KAAK,EAChB,SAAS,GAAG,IAAI,GACM,EAAE,EAAE;IAC1B,MAAM,IAAI,GAAG,aAAa,EAAE,CAAC;IAC7B,MAAM,QAAQ,GAAG,WAAW,EAAE,CAAC;IAE/B,MAAM,EAAC,WAAW,EAAE,cAAc,EAAE,kBAAkB,EAAE,gBAAgB,EAAC,GACvE,WAAW,CAAC,CAAC,KAAU,EAAE,EAAE,CAAC,KAAK,CAAC,mBAAmB,CAAC,CAAC;IAEzD,MAAM,gBAAgB,GAAG,WAAW,CAClC,CAAC,EAAC,IAAI,GAAG,CAAC,EAAE,WAAW,EAAC,EAAE,EAAE;QAC1B,QAAQ,CACL,aAAqB,CAAC;YACrB,IAAI;YACJ,WAAW;SACZ,CAAC,CACH,CAAC;IACJ,CAAC,EACD,CAAC,QAAQ,CAAC,CACX,CAAC;IAEF,OAAO,CACL,CAAC,kBAAkB,CACjB,KAAK,CAAC,CAAC,KAAK,CAAC,CACb,KAAK,CAAC,CAAC,SAAS,IAAI,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAClC,UAAU,CAAC,CAAC,WAAW,CAAC,CACxB,KAAK,CAAC,CAAC,YAAY,CAAC,CACpB,QAAQ,CAAC,CAAC,QAAQ,CAAC,CACnB,QAAQ,CAAC,CAAC,QAAQ,CAAC,CACnB,aAAa,CAAC,CAAC,QAAQ,CAAC,CACxB,SAAS,CAAC,CAAC,gBAAgB,CAAC,CAC5B,YAAY,CAAC,CAAC,eAAe,CAAC,CAC9B,WAAW,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAC3B,gBAAgB,CAAC,CAAC,IAAI,CAAC,CACvB,WAAW,CAAC,CAAC,cAAc,CAAC,CAC5B,WAAW,CAAC,CAAC,kBAAkB,CAAC,CAChC,SAAS,CAAC,CAAC,gBAAgB,CAAC,CAC5B,QAAQ,CAAC,CAAC,KAAK,CAAC,CAChB,SAAS,CAAC,CAAC,KAAK,CAAC,EACjB,CACH,CAAC;AACJ,CAAC,CAAC;AAEF,MAAM,gBAAgB,GAAG,CAAC,EACxB,KAAK,GAAG,IAAI,EACZ,KAAK,GAAG,iBAAiB,EACzB,YAAY,GAAG,IAAI,EACnB,QAAQ,GAAG,GAAG,EAAE,GAAE,CAAC,EACnB,QAAQ,GAAG,KAAK,EAChB,QAAQ,GAAG,KAAK,EAChB,SAAS,GAAG,IAAI,GACM,EAAE,EAAE;IAC1B,OAAO,CACL,CAAC,mBAAmB,CAClB,KAAK,CAAC,CAAC,KAAK,CAAC,CACb,KAAK,CAAC,CAAC,KAAK,CAAC,CACb,YAAY,CAAC,CAAC,YAAY,CAAC,CAC3B,QAAQ,CAAC,CAAC,QAAQ,CAAC,CACnB,QAAQ,CAAC,CAAC,QAAQ,CAAC,CACnB,QAAQ,CAAC,CAAC,QAAQ,CAAC,CACnB,SAAS,CAAC,CAAC,SAAS,CAAC,EACrB,CACH,CAAC;AACJ,CAAC,CAAC;AAEF,eAAe,gBAAgB,CAAC"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
interface TargetVersionSearchBarProps {
|
|
3
|
+
style?: any;
|
|
4
|
+
title?: string;
|
|
5
|
+
defaultValue?: string;
|
|
6
|
+
onChange?: (any: any) => void;
|
|
7
|
+
readonly?: boolean;
|
|
8
|
+
required?: boolean;
|
|
9
|
+
showTitle?: boolean;
|
|
10
|
+
}
|
|
11
|
+
declare const TargetVersionSearchBar: ({ style, title, defaultValue, onChange, readonly, required, showTitle, }: TargetVersionSearchBarProps) => React.JSX.Element;
|
|
12
|
+
export default TargetVersionSearchBar;
|
|
@@ -0,0 +1,40 @@
|
|
|
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 } from 'react';
|
|
19
|
+
import { displayItemTitle, useDispatch, useSelector, useTranslator, } from '@axelor/aos-mobile-core';
|
|
20
|
+
import { AutoCompleteSearch } from '@axelor/aos-mobile-ui';
|
|
21
|
+
import { searchTargetVersion } from '../../../features/projectTaskSlice';
|
|
22
|
+
const TargetVersionSearchBarAux = ({ style = null, title = 'Project_TargetVersion', defaultValue = null, onChange = () => { }, readonly = false, required = false, showTitle = true, }) => {
|
|
23
|
+
const I18n = useTranslator();
|
|
24
|
+
const dispatch = useDispatch();
|
|
25
|
+
const { targetVersionList, loadingTargetVersion, moreLoadingTargetVersion, isListEndTargetVersion, } = useSelector((state) => state.project_projectTask);
|
|
26
|
+
const { projectForm } = useSelector((state) => state.project_project);
|
|
27
|
+
const searchTargetVersionAPI = useCallback(({ page = 0, searchValue }) => {
|
|
28
|
+
dispatch(searchTargetVersion({
|
|
29
|
+
page,
|
|
30
|
+
searchValue,
|
|
31
|
+
projectId: projectForm?.id,
|
|
32
|
+
}));
|
|
33
|
+
}, [dispatch, projectForm?.id]);
|
|
34
|
+
return (<AutoCompleteSearch style={style} title={showTitle && I18n.t(title)} objectList={targetVersionList} value={defaultValue} required={required} readonly={readonly} onChangeValue={onChange} fetchData={searchTargetVersionAPI} displayValue={displayItemTitle} placeholder={I18n.t(title)} showDetailsPopup={true} loadingList={loadingTargetVersion} moreLoading={moreLoadingTargetVersion} isListEnd={isListEndTargetVersion} navigate={false} oneFilter={false}/>);
|
|
35
|
+
};
|
|
36
|
+
const TargetVersionSearchBar = ({ style = null, title = 'Project_TargetVersion', defaultValue = null, onChange = () => { }, readonly = false, required = false, showTitle = true, }) => {
|
|
37
|
+
return (<TargetVersionSearchBarAux style={style} title={title} defaultValue={defaultValue} required={required} readonly={readonly} onChange={onChange} showTitle={showTitle}/>);
|
|
38
|
+
};
|
|
39
|
+
export default TargetVersionSearchBar;
|
|
40
|
+
//# sourceMappingURL=TargetVersionSearchBar.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"TargetVersionSearchBar.js","sourceRoot":"","sources":["../../../../src/components/templates/TargetVersionSearchBar/TargetVersionSearchBar.tsx"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
type SetterFunction = (value: any | ((_current: any) => any)) => void;
|
|
3
|
+
declare const TaskFilters: ({ isAssignedToMe, selectedCategories: _selectedCategories, setSelectedCategory, setIsAssignedToMe, setSelectedStatus, setSelectedPriority, project, setProject, showProjectSearchBar, }: {
|
|
4
|
+
isAssignedToMe: boolean;
|
|
5
|
+
selectedCategories?: any[];
|
|
6
|
+
setSelectedCategory: SetterFunction;
|
|
7
|
+
setIsAssignedToMe: SetterFunction;
|
|
8
|
+
setSelectedStatus: SetterFunction;
|
|
9
|
+
setSelectedPriority: SetterFunction;
|
|
10
|
+
project?: any;
|
|
11
|
+
setProject?: SetterFunction;
|
|
12
|
+
showProjectSearchBar?: boolean;
|
|
13
|
+
}) => React.JSX.Element;
|
|
14
|
+
export default TaskFilters;
|
|
@@ -0,0 +1,135 @@
|
|
|
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 } from 'react';
|
|
19
|
+
import { StyleSheet, View } from 'react-native';
|
|
20
|
+
import { MultiValuePicker, ToggleButton } from '@axelor/aos-mobile-ui';
|
|
21
|
+
import { useDispatch, useSelector, useTranslator, useTypeHelpers, useTypes, } from '@axelor/aos-mobile-core';
|
|
22
|
+
import { fetchProjectTaskStatus, fetchProjectPriority, fetchProjectTaskCategory, } from '../../../features/projectTaskSlice';
|
|
23
|
+
import { ProjectSearchBar } from '../../templates';
|
|
24
|
+
const filterAvailableSet = (allowValues, _set) => {
|
|
25
|
+
const _availableSet = allowValues?.map(({ id }) => id);
|
|
26
|
+
return _set.filter(({ value }) => _availableSet.includes(value));
|
|
27
|
+
};
|
|
28
|
+
const TaskFilters = ({ isAssignedToMe, selectedCategories: _selectedCategories, setSelectedCategory, setIsAssignedToMe, setSelectedStatus, setSelectedPriority, project, setProject, showProjectSearchBar = false, }) => {
|
|
29
|
+
const I18n = useTranslator();
|
|
30
|
+
const dispatch = useDispatch();
|
|
31
|
+
const { Project } = useTypes();
|
|
32
|
+
const { getCustomSelectionItems } = useTypeHelpers();
|
|
33
|
+
const { projectTaskStatusList, projectPriorityList, projectCategoryList } = useSelector((state) => state.project_projectTask);
|
|
34
|
+
const selectedCategories = useMemo(() => _selectedCategories?.map(({ key }) => projectCategoryList.find(({ id }) => id === key)), [_selectedCategories, projectCategoryList]);
|
|
35
|
+
const statusList = useMemo(() => {
|
|
36
|
+
const _list = getCustomSelectionItems(projectTaskStatusList, 'name', []);
|
|
37
|
+
if (project == null) {
|
|
38
|
+
return _list;
|
|
39
|
+
}
|
|
40
|
+
else {
|
|
41
|
+
switch (project?.taskStatusManagementSelect) {
|
|
42
|
+
case Project?.taskStatusManagementSelect.NoStatusManagement:
|
|
43
|
+
return [];
|
|
44
|
+
case Project?.taskStatusManagementSelect.ManageByProject:
|
|
45
|
+
return filterAvailableSet(project.projectTaskStatusSet, _list);
|
|
46
|
+
case Project?.taskStatusManagementSelect.ManageByCategory:
|
|
47
|
+
return selectedCategories
|
|
48
|
+
? selectedCategories
|
|
49
|
+
.flatMap(_c => filterAvailableSet(_c?.projectTaskStatusSet, _list))
|
|
50
|
+
.filter(({ key }, idx, self) => {
|
|
51
|
+
console.log(key);
|
|
52
|
+
return self.findIndex(_i => _i.key === key) === idx;
|
|
53
|
+
})
|
|
54
|
+
: _list;
|
|
55
|
+
default:
|
|
56
|
+
return _list;
|
|
57
|
+
}
|
|
58
|
+
}
|
|
59
|
+
}, [
|
|
60
|
+
getCustomSelectionItems,
|
|
61
|
+
projectTaskStatusList,
|
|
62
|
+
project,
|
|
63
|
+
Project?.taskStatusManagementSelect,
|
|
64
|
+
selectedCategories,
|
|
65
|
+
]);
|
|
66
|
+
const priorityList = useMemo(() => {
|
|
67
|
+
const _list = getCustomSelectionItems(projectPriorityList, 'name', []);
|
|
68
|
+
if (project == null) {
|
|
69
|
+
return _list;
|
|
70
|
+
}
|
|
71
|
+
else if (!project.isShowPriority) {
|
|
72
|
+
return [];
|
|
73
|
+
}
|
|
74
|
+
else {
|
|
75
|
+
return filterAvailableSet(project.projectTaskPrioritySet, _list);
|
|
76
|
+
}
|
|
77
|
+
}, [getCustomSelectionItems, projectPriorityList, project]);
|
|
78
|
+
const categoryList = useMemo(() => {
|
|
79
|
+
const _list = getCustomSelectionItems(projectCategoryList, 'name', []);
|
|
80
|
+
if (project == null) {
|
|
81
|
+
return _list;
|
|
82
|
+
}
|
|
83
|
+
else if (!project.isShowTaskCategory) {
|
|
84
|
+
return [];
|
|
85
|
+
}
|
|
86
|
+
else {
|
|
87
|
+
return filterAvailableSet(project.projectTaskCategorySet, _list);
|
|
88
|
+
}
|
|
89
|
+
}, [getCustomSelectionItems, projectCategoryList, project]);
|
|
90
|
+
useEffect(() => {
|
|
91
|
+
dispatch(fetchProjectTaskStatus());
|
|
92
|
+
dispatch(fetchProjectPriority());
|
|
93
|
+
dispatch(fetchProjectTaskCategory());
|
|
94
|
+
}, [dispatch]);
|
|
95
|
+
return (<>
|
|
96
|
+
{showProjectSearchBar && (<ProjectSearchBar showTitle={false} onChange={setProject} defaultValue={project} differentiateBusinessProjects={false}/>)}
|
|
97
|
+
<View style={[styles.headerContainer, styles.zIndex]}>
|
|
98
|
+
<ToggleButton isActive={isAssignedToMe} onPress={() => setIsAssignedToMe(current => !current)} buttonConfig={{
|
|
99
|
+
iconName: 'person-fill',
|
|
100
|
+
width: '10%',
|
|
101
|
+
style: styles.toggleButton,
|
|
102
|
+
}}/>
|
|
103
|
+
<MultiValuePicker listItems={categoryList} onValueChange={setSelectedCategory} placeholder={I18n.t('Project_Category')} style={[styles.flexPicker, styles.pickerSpacingLeft]}/>
|
|
104
|
+
</View>
|
|
105
|
+
<View style={styles.headerContainer}>
|
|
106
|
+
<MultiValuePicker style={styles.flexPicker} listItems={statusList} onValueChange={setSelectedStatus} placeholder={I18n.t('Project_Status')}/>
|
|
107
|
+
<MultiValuePicker style={[styles.flexPicker, styles.pickerSpacingLeft]} listItems={priorityList} onValueChange={setSelectedPriority} placeholder={I18n.t('Project_Priority')}/>
|
|
108
|
+
</View>
|
|
109
|
+
</>);
|
|
110
|
+
};
|
|
111
|
+
const styles = StyleSheet.create({
|
|
112
|
+
headerContainer: {
|
|
113
|
+
zIndex: 1,
|
|
114
|
+
width: '90%',
|
|
115
|
+
flexDirection: 'row',
|
|
116
|
+
justifyContent: 'space-between',
|
|
117
|
+
alignSelf: 'center',
|
|
118
|
+
alignItems: 'center',
|
|
119
|
+
},
|
|
120
|
+
zIndex: {
|
|
121
|
+
zIndex: 2,
|
|
122
|
+
},
|
|
123
|
+
toggleButton: {
|
|
124
|
+
height: 40,
|
|
125
|
+
marginVertical: 0,
|
|
126
|
+
},
|
|
127
|
+
flexPicker: {
|
|
128
|
+
flex: 1,
|
|
129
|
+
},
|
|
130
|
+
pickerSpacingLeft: {
|
|
131
|
+
marginLeft: 10,
|
|
132
|
+
},
|
|
133
|
+
});
|
|
134
|
+
export default TaskFilters;
|
|
135
|
+
//# sourceMappingURL=TaskFilters.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"TaskFilters.js","sourceRoot":"","sources":["../../../../src/components/templates/TaskFilters/TaskFilters.tsx"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
interface TaskStatusSearchBarProps {
|
|
3
|
+
style?: any;
|
|
4
|
+
title?: string;
|
|
5
|
+
defaultValue?: string;
|
|
6
|
+
onChange?: (any: any) => void;
|
|
7
|
+
readonly?: boolean;
|
|
8
|
+
required?: boolean;
|
|
9
|
+
showTitle?: boolean;
|
|
10
|
+
}
|
|
11
|
+
declare const TaskStatusSearchBar: ({ style, title, defaultValue, onChange, required, readonly, showTitle, }: TaskStatusSearchBarProps) => React.JSX.Element;
|
|
12
|
+
export default TaskStatusSearchBar;
|
|
@@ -0,0 +1,56 @@
|
|
|
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, useMemo } from 'react';
|
|
19
|
+
import { displayItemName, useDispatch, useSelector, useTranslator, useTypes, } from '@axelor/aos-mobile-core';
|
|
20
|
+
import { AutoCompleteSearch } from '@axelor/aos-mobile-ui';
|
|
21
|
+
import { searchStatus } from '../../../features/projectTaskSlice';
|
|
22
|
+
const TaskStatusSearchBarAux = ({ style = null, title = 'Project_Status', defaultValue = null, onChange = () => { }, required = false, readonly = false, showTitle = true, }) => {
|
|
23
|
+
const I18n = useTranslator();
|
|
24
|
+
const dispatch = useDispatch();
|
|
25
|
+
const { Project } = useTypes();
|
|
26
|
+
const { loadingStatus, moreLoadingStatus, isListEndStatus, statusList, categoryForm, } = useSelector((state) => state.project_projectTask);
|
|
27
|
+
const { projectForm } = useSelector((state) => state.project_project);
|
|
28
|
+
const statusIds = useMemo(() => {
|
|
29
|
+
switch (projectForm?.taskStatusManagementSelect) {
|
|
30
|
+
case Project?.taskStatusManagementSelect.ManageByProject:
|
|
31
|
+
return projectForm?.projectTaskStatusSet?.map(({ id }) => id) ?? [];
|
|
32
|
+
case Project?.taskStatusManagementSelect.ManageByCategory:
|
|
33
|
+
return categoryForm?.projectTaskStatusSet?.map(({ id }) => id) ?? [];
|
|
34
|
+
default:
|
|
35
|
+
return [];
|
|
36
|
+
}
|
|
37
|
+
}, [
|
|
38
|
+
Project?.taskStatusManagementSelect,
|
|
39
|
+
projectForm?.projectTaskStatusSet,
|
|
40
|
+
projectForm?.taskStatusManagementSelect,
|
|
41
|
+
categoryForm?.projectTaskStatusSet,
|
|
42
|
+
]);
|
|
43
|
+
const searchStatusAPI = useCallback(({ page = 0, searchValue }) => {
|
|
44
|
+
dispatch(searchStatus({
|
|
45
|
+
page,
|
|
46
|
+
searchValue,
|
|
47
|
+
statusIds: statusIds,
|
|
48
|
+
}));
|
|
49
|
+
}, [dispatch, statusIds]);
|
|
50
|
+
return (<AutoCompleteSearch style={style} title={showTitle && I18n.t(title)} objectList={statusList} value={defaultValue} required={required} readonly={readonly} onChangeValue={onChange} fetchData={searchStatusAPI} displayValue={displayItemName} placeholder={I18n.t(title)} showDetailsPopup={true} loadingList={loadingStatus} moreLoading={moreLoadingStatus} isListEnd={isListEndStatus} navigate={false} oneFilter={false}/>);
|
|
51
|
+
};
|
|
52
|
+
const TaskStatusSearchBar = ({ style = null, title = 'Project_Status', defaultValue = null, onChange = () => { }, required = false, readonly = false, showTitle = true, }) => {
|
|
53
|
+
return (<TaskStatusSearchBarAux style={style} title={title} defaultValue={defaultValue} required={required} readonly={readonly} onChange={onChange} showTitle={showTitle}/>);
|
|
54
|
+
};
|
|
55
|
+
export default TaskStatusSearchBar;
|
|
56
|
+
//# sourceMappingURL=TaskStatusSearchBar.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"TaskStatusSearchBar.js","sourceRoot":"","sources":["../../../../src/components/templates/TaskStatusSearchBar/TaskStatusSearchBar.tsx"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
interface TaskTagMultiValuePickerProps {
|
|
3
|
+
style?: any;
|
|
4
|
+
title?: string;
|
|
5
|
+
defaultValue?: any;
|
|
6
|
+
onChange?: (any: any) => void;
|
|
7
|
+
readonly?: boolean;
|
|
8
|
+
required?: boolean;
|
|
9
|
+
}
|
|
10
|
+
declare const TaskTagMultiValuePicker: ({ style, title, defaultValue, onChange, readonly, required, }: TaskTagMultiValuePickerProps) => React.JSX.Element;
|
|
11
|
+
export default TaskTagMultiValuePicker;
|
|
@@ -0,0 +1,50 @@
|
|
|
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 { useDispatch, useSelector } from '@axelor/aos-mobile-core';
|
|
20
|
+
import { MultiValuePicker, useThemeColor } from '@axelor/aos-mobile-ui';
|
|
21
|
+
import { getTag } from '../../../features/projectTaskSlice';
|
|
22
|
+
const TaskTagMultiValuePickerAux = ({ style = null, title = 'Project_Tags', defaultValue = null, onChange = () => { }, readonly = false, required = false, }) => {
|
|
23
|
+
const dispatch = useDispatch();
|
|
24
|
+
const Color = useThemeColor();
|
|
25
|
+
const { tagList } = useSelector((state) => state.project_projectTask);
|
|
26
|
+
const { user } = useSelector((state) => state.user);
|
|
27
|
+
const transformTagsToPickerItems = useCallback(tags => {
|
|
28
|
+
return (tags?.map(tag => {
|
|
29
|
+
const colorKey = tag.colorSelect;
|
|
30
|
+
const color = Color[colorKey] || Color.primaryColor;
|
|
31
|
+
return {
|
|
32
|
+
...tag,
|
|
33
|
+
title: tag.name,
|
|
34
|
+
color: color,
|
|
35
|
+
key: tag.id,
|
|
36
|
+
};
|
|
37
|
+
}) || []);
|
|
38
|
+
}, [Color]);
|
|
39
|
+
useEffect(() => {
|
|
40
|
+
dispatch(getTag({ activeCompany: user.activeCompany }));
|
|
41
|
+
}, [dispatch, user.activeCompany]);
|
|
42
|
+
const _defaultValue = useMemo(() => transformTagsToPickerItems(defaultValue), [defaultValue, transformTagsToPickerItems]);
|
|
43
|
+
const projectTaskListItems = useMemo(() => transformTagsToPickerItems(tagList), [tagList, transformTagsToPickerItems]);
|
|
44
|
+
return (<MultiValuePicker style={style} title={title} defaultItems={_defaultValue} listItems={projectTaskListItems} required={required} readonly={readonly} onValueChange={onChange}/>);
|
|
45
|
+
};
|
|
46
|
+
const TaskTagMultiValuePicker = ({ style = null, title = 'Project_Tags', defaultValue = null, onChange = () => { }, readonly = false, required = false, }) => {
|
|
47
|
+
return (<TaskTagMultiValuePickerAux style={style} title={title} defaultValue={defaultValue} required={required} readonly={readonly} onChange={onChange}/>);
|
|
48
|
+
};
|
|
49
|
+
export default TaskTagMultiValuePicker;
|
|
50
|
+
//# sourceMappingURL=TaskTagMultiValuePicker.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"TaskTagMultiValuePicker.js","sourceRoot":"","sources":["../../../../src/components/templates/TaskTagMultiValuePicker/TaskTagMultiValuePicker.tsx"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
export { default as ActivityListView } from './ActivityListView/ActivityListView';
|
|
2
|
+
export { default as CategorySearchBar } from './CategorySearchBar/CategorySearchBar';
|
|
3
|
+
export { default as ParentTaskSearchBar } from './ParentTaskSearchBar/ParentTaskSearchBar';
|
|
4
|
+
export { default as PrioritySearchBar } from './PrioritySearchBar/PrioritySearchBar';
|
|
5
|
+
export { default as ProjectListView } from './ProjectListView/ProjectListView';
|
|
6
|
+
export { default as ProjectSearchBar } from './ProjectSearchBar/ProjectSearchBar';
|
|
7
|
+
export { default as ReportingDetailsView } from './ReportingDetailsView/ReportingDetailsView';
|
|
8
|
+
export { default as SectionSearchBar } from './SectionSearchBar/SectionSearchBar';
|
|
9
|
+
export { default as TargetVersionSearchBar } from './TargetVersionSearchBar/TargetVersionSearchBar';
|
|
10
|
+
export { default as TaskFilters } from './TaskFilters/TaskFilters';
|
|
11
|
+
export { default as TaskStatusSearchBar } from './TaskStatusSearchBar/TaskStatusSearchBar';
|
|
12
|
+
export { default as TaskTagMultiValuePicker } from './TaskTagMultiValuePicker/TaskTagMultiValuePicker';
|
|
@@ -0,0 +1,30 @@
|
|
|
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 ActivityListView } from './ActivityListView/ActivityListView';
|
|
19
|
+
export { default as CategorySearchBar } from './CategorySearchBar/CategorySearchBar';
|
|
20
|
+
export { default as ParentTaskSearchBar } from './ParentTaskSearchBar/ParentTaskSearchBar';
|
|
21
|
+
export { default as PrioritySearchBar } from './PrioritySearchBar/PrioritySearchBar';
|
|
22
|
+
export { default as ProjectListView } from './ProjectListView/ProjectListView';
|
|
23
|
+
export { default as ProjectSearchBar } from './ProjectSearchBar/ProjectSearchBar';
|
|
24
|
+
export { default as ReportingDetailsView } from './ReportingDetailsView/ReportingDetailsView';
|
|
25
|
+
export { default as SectionSearchBar } from './SectionSearchBar/SectionSearchBar';
|
|
26
|
+
export { default as TargetVersionSearchBar } from './TargetVersionSearchBar/TargetVersionSearchBar';
|
|
27
|
+
export { default as TaskFilters } from './TaskFilters/TaskFilters';
|
|
28
|
+
export { default as TaskStatusSearchBar } from './TaskStatusSearchBar/TaskStatusSearchBar';
|
|
29
|
+
export { default as TaskTagMultiValuePicker } from './TaskTagMultiValuePicker/TaskTagMultiValuePicker';
|
|
30
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/components/templates/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAEH,OAAO,EAAC,OAAO,IAAI,gBAAgB,EAAC,MAAM,qCAAqC,CAAC;AAChF,OAAO,EAAC,OAAO,IAAI,iBAAiB,EAAC,MAAM,uCAAuC,CAAC;AACnF,OAAO,EAAC,OAAO,IAAI,mBAAmB,EAAC,MAAM,2CAA2C,CAAC;AACzF,OAAO,EAAC,OAAO,IAAI,iBAAiB,EAAC,MAAM,uCAAuC,CAAC;AACnF,OAAO,EAAC,OAAO,IAAI,eAAe,EAAC,MAAM,mCAAmC,CAAC;AAC7E,OAAO,EAAC,OAAO,IAAI,gBAAgB,EAAC,MAAM,qCAAqC,CAAC;AAChF,OAAO,EAAC,OAAO,IAAI,oBAAoB,EAAC,MAAM,6CAA6C,CAAC;AAC5F,OAAO,EAAC,OAAO,IAAI,gBAAgB,EAAC,MAAM,qCAAqC,CAAC;AAChF,OAAO,EAAC,OAAO,IAAI,sBAAsB,EAAC,MAAM,iDAAiD,CAAC;AAClG,OAAO,EAAC,OAAO,IAAI,WAAW,EAAC,MAAM,2BAA2B,CAAC;AACjE,OAAO,EAAC,OAAO,IAAI,mBAAmB,EAAC,MAAM,2CAA2C,CAAC;AACzF,OAAO,EAAC,OAAO,IAAI,uBAAuB,EAAC,MAAM,mDAAmD,CAAC"}
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
export { fetchProjectById, fetchProjectStatus, searchProject, searchSubProject, } from './projectSlice';
|
|
2
|
+
export { fetchCategoryFormById, fetchProjectPriority, fetchProjectTaskById, fetchProjectTaskCategory, fetchProjectTaskStatus, getTag, saveProjectTask, searchCategory, searchParentTask, searchPriority, searchProjectTask, searchProjectTaskLink, searchSection, searchStatus, searchTargetVersion, udpateFormCategory, } from './projectTaskSlice';
|
|
3
|
+
export { getProjectReportingIndicator } from './reportingSlice';
|
|
4
|
+
export { clearReset, createTimeLog, fetchTimesheetLinesByTask, } from './timesheetLinesSlice';
|
|
@@ -0,0 +1,22 @@
|
|
|
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 { fetchProjectById, fetchProjectStatus, searchProject, searchSubProject, } from './projectSlice';
|
|
19
|
+
export { fetchCategoryFormById, fetchProjectPriority, fetchProjectTaskById, fetchProjectTaskCategory, fetchProjectTaskStatus, getTag, saveProjectTask, searchCategory, searchParentTask, searchPriority, searchProjectTask, searchProjectTaskLink, searchSection, searchStatus, searchTargetVersion, udpateFormCategory, } from './projectTaskSlice';
|
|
20
|
+
export { getProjectReportingIndicator } from './reportingSlice';
|
|
21
|
+
export { clearReset, createTimeLog, fetchTimesheetLinesByTask, } from './timesheetLinesSlice';
|
|
22
|
+
//# sourceMappingURL=asyncFunctions-index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"asyncFunctions-index.js","sourceRoot":"","sources":["../../src/features/asyncFunctions-index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAEH,OAAO,EACL,gBAAgB,EAChB,kBAAkB,EAClB,aAAa,EACb,gBAAgB,GACjB,MAAM,gBAAgB,CAAC;AACxB,OAAO,EACL,qBAAqB,EACrB,oBAAoB,EACpB,oBAAoB,EACpB,wBAAwB,EACxB,sBAAsB,EACtB,MAAM,EACN,eAAe,EACf,cAAc,EACd,gBAAgB,EAChB,cAAc,EACd,iBAAiB,EACjB,qBAAqB,EACrB,aAAa,EACb,YAAY,EACZ,mBAAmB,EACnB,kBAAkB,GACnB,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAAC,4BAA4B,EAAC,MAAM,kBAAkB,CAAC;AAC9D,OAAO,EACL,UAAU,EACV,aAAa,EACb,yBAAyB,GAC1B,MAAM,uBAAuB,CAAC"}
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
export { projectReducer as project_project } from "./projectSlice";
|
|
2
|
+
export { projectTaskReducer as project_projectTask } from "./projectTaskSlice";
|
|
3
|
+
export { reportingReducer as project_reporting } from "./reportingSlice";
|
|
4
|
+
export { timesheetLinesReducer as project_timesheetLines } from "./timesheetLinesSlice";
|
|
@@ -0,0 +1,22 @@
|
|
|
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 { projectReducer as project_project } from './projectSlice';
|
|
19
|
+
export { projectTaskReducer as project_projectTask } from './projectTaskSlice';
|
|
20
|
+
export { reportingReducer as project_reporting } from './reportingSlice';
|
|
21
|
+
export { timesheetLinesReducer as project_timesheetLines } from './timesheetLinesSlice';
|
|
22
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/features/index.js"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAEH,OAAO,EAAC,cAAc,IAAI,eAAe,EAAC,MAAM,gBAAgB,CAAC;AACjE,OAAO,EAAC,kBAAkB,IAAI,mBAAmB,EAAC,MAAM,oBAAoB,CAAC;AAC7E,OAAO,EAAC,gBAAgB,IAAI,iBAAiB,EAAC,MAAM,kBAAkB,CAAC;AACvE,OAAO,EAAC,qBAAqB,IAAI,sBAAsB,EAAC,MAAM,uBAAuB,CAAC"}
|
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
export const searchProject: import("@reduxjs/toolkit").AsyncThunk<any, void, {
|
|
2
|
+
state?: unknown;
|
|
3
|
+
dispatch?: import("redux-thunk").ThunkDispatch<unknown, unknown, import("redux").UnknownAction>;
|
|
4
|
+
extra?: unknown;
|
|
5
|
+
rejectValue?: unknown;
|
|
6
|
+
serializedErrorType?: unknown;
|
|
7
|
+
pendingMeta?: unknown;
|
|
8
|
+
fulfilledMeta?: unknown;
|
|
9
|
+
rejectedMeta?: unknown;
|
|
10
|
+
}>;
|
|
11
|
+
export const fetchProjectStatus: import("@reduxjs/toolkit").AsyncThunk<any, void, {
|
|
12
|
+
state?: unknown;
|
|
13
|
+
dispatch?: import("redux-thunk").ThunkDispatch<unknown, unknown, import("redux").UnknownAction>;
|
|
14
|
+
extra?: unknown;
|
|
15
|
+
rejectValue?: unknown;
|
|
16
|
+
serializedErrorType?: unknown;
|
|
17
|
+
pendingMeta?: unknown;
|
|
18
|
+
fulfilledMeta?: unknown;
|
|
19
|
+
rejectedMeta?: unknown;
|
|
20
|
+
}>;
|
|
21
|
+
export const fetchProjectById: import("@reduxjs/toolkit").AsyncThunk<any, void, {
|
|
22
|
+
state?: unknown;
|
|
23
|
+
dispatch?: import("redux-thunk").ThunkDispatch<unknown, unknown, import("redux").UnknownAction>;
|
|
24
|
+
extra?: unknown;
|
|
25
|
+
rejectValue?: unknown;
|
|
26
|
+
serializedErrorType?: unknown;
|
|
27
|
+
pendingMeta?: unknown;
|
|
28
|
+
fulfilledMeta?: unknown;
|
|
29
|
+
rejectedMeta?: unknown;
|
|
30
|
+
}>;
|
|
31
|
+
export const fetchProjectFormById: import("@reduxjs/toolkit").AsyncThunk<any, void, {
|
|
32
|
+
state?: unknown;
|
|
33
|
+
dispatch?: import("redux-thunk").ThunkDispatch<unknown, unknown, import("redux").UnknownAction>;
|
|
34
|
+
extra?: unknown;
|
|
35
|
+
rejectValue?: unknown;
|
|
36
|
+
serializedErrorType?: unknown;
|
|
37
|
+
pendingMeta?: unknown;
|
|
38
|
+
fulfilledMeta?: unknown;
|
|
39
|
+
rejectedMeta?: unknown;
|
|
40
|
+
}>;
|
|
41
|
+
export const searchSubProject: import("@reduxjs/toolkit").AsyncThunk<any, void, {
|
|
42
|
+
state?: unknown;
|
|
43
|
+
dispatch?: import("redux-thunk").ThunkDispatch<unknown, unknown, import("redux").UnknownAction>;
|
|
44
|
+
extra?: unknown;
|
|
45
|
+
rejectValue?: unknown;
|
|
46
|
+
serializedErrorType?: unknown;
|
|
47
|
+
pendingMeta?: unknown;
|
|
48
|
+
fulfilledMeta?: unknown;
|
|
49
|
+
rejectedMeta?: unknown;
|
|
50
|
+
}>;
|
|
51
|
+
export const updateProject: import("@reduxjs/toolkit").ActionCreatorWithPayload<any, "project_project/updateProject">;
|
|
52
|
+
export const projectReducer: import("redux").Reducer<import("immer").WritableDraft<{
|
|
53
|
+
loading: boolean;
|
|
54
|
+
moreLoading: boolean;
|
|
55
|
+
isListEnd: boolean;
|
|
56
|
+
projectList: any[];
|
|
57
|
+
projectStatusList: any[];
|
|
58
|
+
loadingSubProject: boolean;
|
|
59
|
+
moreLoadingSubProject: boolean;
|
|
60
|
+
isListEndSubProject: boolean;
|
|
61
|
+
subProjectList: any[];
|
|
62
|
+
loadingProject: boolean;
|
|
63
|
+
project: {};
|
|
64
|
+
projectForm: {};
|
|
65
|
+
}>>;
|