@axelor/aos-mobile-ui 0.0.1
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 +234 -0
- package/lib/components/atoms/BlockInteractionScreen/BlockInteractionScreen.d.ts +7 -0
- package/lib/components/atoms/BlockInteractionScreen/BlockInteractionScreen.js +50 -0
- package/lib/components/atoms/BlockInteractionScreen/BlockInteractionScreen.js.map +1 -0
- package/lib/components/atoms/Card/Card.d.ts +6 -0
- package/lib/components/atoms/Card/Card.js +37 -0
- package/lib/components/atoms/Card/Card.js.map +1 -0
- package/lib/components/atoms/DottedLine/DottedLine.d.ts +5 -0
- package/lib/components/atoms/DottedLine/DottedLine.js +38 -0
- package/lib/components/atoms/DottedLine/DottedLine.js.map +1 -0
- package/lib/components/atoms/HorizontalRule/HorizontalRule.d.ts +5 -0
- package/lib/components/atoms/HorizontalRule/HorizontalRule.js +35 -0
- package/lib/components/atoms/HorizontalRule/HorizontalRule.js.map +1 -0
- package/lib/components/atoms/HtmlInput/HtmlInput.d.ts +9 -0
- package/lib/components/atoms/HtmlInput/HtmlInput.js +50 -0
- package/lib/components/atoms/HtmlInput/HtmlInput.js.map +1 -0
- package/lib/components/atoms/Icon/Icon.d.ts +13 -0
- package/lib/components/atoms/Icon/Icon.js +49 -0
- package/lib/components/atoms/Icon/Icon.js.map +1 -0
- package/lib/components/atoms/Input/Input.d.ts +18 -0
- package/lib/components/atoms/Input/Input.js +37 -0
- package/lib/components/atoms/Input/Input.js.map +1 -0
- package/lib/components/atoms/RenderHtml/RenderHtml.d.ts +6 -0
- package/lib/components/atoms/RenderHtml/RenderHtml.js +50 -0
- package/lib/components/atoms/RenderHtml/RenderHtml.js.map +1 -0
- package/lib/components/atoms/Screen/Screen.d.ts +9 -0
- package/lib/components/atoms/Screen/Screen.js +74 -0
- package/lib/components/atoms/Screen/Screen.js.map +1 -0
- package/lib/components/atoms/ScrollView/ScrollView.d.ts +6 -0
- package/lib/components/atoms/ScrollView/ScrollView.js +33 -0
- package/lib/components/atoms/ScrollView/ScrollView.js.map +1 -0
- package/lib/components/atoms/Switch/Switch.d.ts +6 -0
- package/lib/components/atoms/Switch/Switch.js +34 -0
- package/lib/components/atoms/Switch/Switch.js.map +1 -0
- package/lib/components/atoms/Text/Text.d.ts +12 -0
- package/lib/components/atoms/Text/Text.js +37 -0
- package/lib/components/atoms/Text/Text.js.map +1 -0
- package/lib/components/atoms/index.d.ts +12 -0
- package/lib/components/atoms/index.js +30 -0
- package/lib/components/atoms/index.js.map +1 -0
- package/lib/components/index.d.ts +3 -0
- package/lib/components/index.js +21 -0
- package/lib/components/index.js.map +1 -0
- package/lib/components/molecules/AttachmentCard/AttachmentCard.d.ts +8 -0
- package/lib/components/molecules/AttachmentCard/AttachmentCard.js +61 -0
- package/lib/components/molecules/AttachmentCard/AttachmentCard.js.map +1 -0
- package/lib/components/molecules/Badge/Badge.d.ts +10 -0
- package/lib/components/molecules/Badge/Badge.js +43 -0
- package/lib/components/molecules/Badge/Badge.js.map +1 -0
- package/lib/components/molecules/Button/Button.d.ts +10 -0
- package/lib/components/molecules/Button/Button.js +48 -0
- package/lib/components/molecules/Button/Button.js.map +1 -0
- package/lib/components/molecules/CardIconButton/CardIconButton.d.ts +8 -0
- package/lib/components/molecules/CardIconButton/CardIconButton.js +42 -0
- package/lib/components/molecules/CardIconButton/CardIconButton.js.map +1 -0
- package/lib/components/molecules/Chip/Chip.d.ts +11 -0
- package/lib/components/molecules/Chip/Chip.js +69 -0
- package/lib/components/molecules/Chip/Chip.js.map +1 -0
- package/lib/components/molecules/ClearableCard/ClearableCard.d.ts +8 -0
- package/lib/components/molecules/ClearableCard/ClearableCard.js +43 -0
- package/lib/components/molecules/ClearableCard/ClearableCard.js.map +1 -0
- package/lib/components/molecules/DropdownCard/DropdownCard.d.ts +10 -0
- package/lib/components/molecules/DropdownCard/DropdownCard.js +84 -0
- package/lib/components/molecules/DropdownCard/DropdownCard.js.map +1 -0
- package/lib/components/molecules/DropdownMenu/DropdownMenu.d.ts +5 -0
- package/lib/components/molecules/DropdownMenu/DropdownMenu.js +57 -0
- package/lib/components/molecules/DropdownMenu/DropdownMenu.js.map +1 -0
- package/lib/components/molecules/DropdownMenuItem/DropdownMenuItem.d.ts +7 -0
- package/lib/components/molecules/DropdownMenuItem/DropdownMenuItem.js +42 -0
- package/lib/components/molecules/DropdownMenuItem/DropdownMenuItem.js.map +1 -0
- package/lib/components/molecules/EditableInput/EditableInput.d.ts +9 -0
- package/lib/components/molecules/EditableInput/EditableInput.js +65 -0
- package/lib/components/molecules/EditableInput/EditableInput.js.map +1 -0
- package/lib/components/molecules/FromTo/FromTo.d.ts +8 -0
- package/lib/components/molecules/FromTo/FromTo.js +44 -0
- package/lib/components/molecules/FromTo/FromTo.js.map +1 -0
- package/lib/components/molecules/HalfLabelCard/HalfLabelCard.d.ts +8 -0
- package/lib/components/molecules/HalfLabelCard/HalfLabelCard.js +51 -0
- package/lib/components/molecules/HalfLabelCard/HalfLabelCard.js.map +1 -0
- package/lib/components/molecules/HeaderIndicator/HeaderIndicator.d.ts +2 -0
- package/lib/components/molecules/HeaderIndicator/HeaderIndicator.js +65 -0
- package/lib/components/molecules/HeaderIndicator/HeaderIndicator.js.map +1 -0
- package/lib/components/molecules/IconButton/IconButton.d.ts +11 -0
- package/lib/components/molecules/IconButton/IconButton.js +48 -0
- package/lib/components/molecules/IconButton/IconButton.js.map +1 -0
- package/lib/components/molecules/IconInput/IconInput.d.ts +19 -0
- package/lib/components/molecules/IconInput/IconInput.js +50 -0
- package/lib/components/molecules/IconInput/IconInput.js.map +1 -0
- package/lib/components/molecules/Image/Image.d.ts +10 -0
- package/lib/components/molecules/Image/Image.js +36 -0
- package/lib/components/molecules/Image/Image.js.map +1 -0
- package/lib/components/molecules/Increment/Increment.d.ts +8 -0
- package/lib/components/molecules/Increment/Increment.js +97 -0
- package/lib/components/molecules/Increment/Increment.js.map +1 -0
- package/lib/components/molecules/InfoBubble/InfoBubble.d.ts +9 -0
- package/lib/components/molecules/InfoBubble/InfoBubble.js +73 -0
- package/lib/components/molecules/InfoBubble/InfoBubble.js.map +1 -0
- package/lib/components/molecules/LabelText/LabelText.d.ts +14 -0
- package/lib/components/molecules/LabelText/LabelText.js +45 -0
- package/lib/components/molecules/LabelText/LabelText.js.map +1 -0
- package/lib/components/molecules/LoadingIndicator/LoadingIndicator.d.ts +6 -0
- package/lib/components/molecules/LoadingIndicator/LoadingIndicator.js +49 -0
- package/lib/components/molecules/LoadingIndicator/LoadingIndicator.js.map +1 -0
- package/lib/components/molecules/MessageBox/MessageBox.d.ts +9 -0
- package/lib/components/molecules/MessageBox/MessageBox.js +60 -0
- package/lib/components/molecules/MessageBox/MessageBox.js.map +1 -0
- package/lib/components/molecules/MovementIndicationCard/MovementIndicationCard.d.ts +14 -0
- package/lib/components/molecules/MovementIndicationCard/MovementIndicationCard.js +66 -0
- package/lib/components/molecules/MovementIndicationCard/MovementIndicationCard.js.map +1 -0
- package/lib/components/molecules/MultiValuePickerButton/MultiValuePickerButton.d.ts +11 -0
- package/lib/components/molecules/MultiValuePickerButton/MultiValuePickerButton.js +80 -0
- package/lib/components/molecules/MultiValuePickerButton/MultiValuePickerButton.js.map +1 -0
- package/lib/components/molecules/NotesCard/NotesCard.d.ts +6 -0
- package/lib/components/molecules/NotesCard/NotesCard.js +55 -0
- package/lib/components/molecules/NotesCard/NotesCard.js.map +1 -0
- package/lib/components/molecules/PopUp/PopUp.d.ts +9 -0
- package/lib/components/molecules/PopUp/PopUp.js +74 -0
- package/lib/components/molecules/PopUp/PopUp.js.map +1 -0
- package/lib/components/molecules/RightIconButton/RightIconButton.d.ts +10 -0
- package/lib/components/molecules/RightIconButton/RightIconButton.js +49 -0
- package/lib/components/molecules/RightIconButton/RightIconButton.js.map +1 -0
- package/lib/components/molecules/SelectionContainer/SelectionContainer.d.ts +11 -0
- package/lib/components/molecules/SelectionContainer/SelectionContainer.js +111 -0
- package/lib/components/molecules/SelectionContainer/SelectionContainer.js.map +1 -0
- package/lib/components/molecules/StarScore/StarScore.d.ts +11 -0
- package/lib/components/molecules/StarScore/StarScore.js +58 -0
- package/lib/components/molecules/StarScore/StarScore.js.map +1 -0
- package/lib/components/molecules/SwitchCard/SwitchCard.d.ts +8 -0
- package/lib/components/molecules/SwitchCard/SwitchCard.js +31 -0
- package/lib/components/molecules/SwitchCard/SwitchCard.js.map +1 -0
- package/lib/components/molecules/TitledValue/TitledValue.d.ts +7 -0
- package/lib/components/molecules/TitledValue/TitledValue.js +40 -0
- package/lib/components/molecules/TitledValue/TitledValue.js.map +1 -0
- package/lib/components/molecules/ToggleSwitch/ToggleSwitch.d.ts +8 -0
- package/lib/components/molecules/ToggleSwitch/ToggleSwitch.js +66 -0
- package/lib/components/molecules/ToggleSwitch/ToggleSwitch.js.map +1 -0
- package/lib/components/molecules/UnorderedList/UnorderedList.d.ts +8 -0
- package/lib/components/molecules/UnorderedList/UnorderedList.js +51 -0
- package/lib/components/molecules/UnorderedList/UnorderedList.js.map +1 -0
- package/lib/components/molecules/ViewAllContainer/ViewAllContainer.d.ts +14 -0
- package/lib/components/molecules/ViewAllContainer/ViewAllContainer.js +91 -0
- package/lib/components/molecules/ViewAllContainer/ViewAllContainer.js.map +1 -0
- package/lib/components/molecules/index.d.ts +33 -0
- package/lib/components/molecules/index.js +51 -0
- package/lib/components/molecules/index.js.map +1 -0
- package/lib/components/organisms/AutoCompleteSearch/AutoCompleteSearch.d.ts +19 -0
- package/lib/components/organisms/AutoCompleteSearch/AutoCompleteSearch.js +148 -0
- package/lib/components/organisms/AutoCompleteSearch/AutoCompleteSearch.js.map +1 -0
- package/lib/components/organisms/ChipSelect/ChipSelect.d.ts +6 -0
- package/lib/components/organisms/ChipSelect/ChipSelect.js +39 -0
- package/lib/components/organisms/ChipSelect/ChipSelect.js.map +1 -0
- package/lib/components/organisms/DropdownCardSwitch/DropdownCardSwitch.d.ts +12 -0
- package/lib/components/organisms/DropdownCardSwitch/DropdownCardSwitch.js +40 -0
- package/lib/components/organisms/DropdownCardSwitch/DropdownCardSwitch.js.map +1 -0
- package/lib/components/organisms/HeaderContainer/HeaderContainer.d.ts +9 -0
- package/lib/components/organisms/HeaderContainer/HeaderContainer.js +65 -0
- package/lib/components/organisms/HeaderContainer/HeaderContainer.js.map +1 -0
- package/lib/components/organisms/ImageBubble/ImageBubble.d.ts +10 -0
- package/lib/components/organisms/ImageBubble/ImageBubble.js +105 -0
- package/lib/components/organisms/ImageBubble/ImageBubble.js.map +1 -0
- package/lib/components/organisms/MultiValuePicker/MultiValuePicker.d.ts +16 -0
- package/lib/components/organisms/MultiValuePicker/MultiValuePicker.js +103 -0
- package/lib/components/organisms/MultiValuePicker/MultiValuePicker.js.map +1 -0
- package/lib/components/organisms/Picker/Picker.d.ts +18 -0
- package/lib/components/organisms/Picker/Picker.js +101 -0
- package/lib/components/organisms/Picker/Picker.js.map +1 -0
- package/lib/components/organisms/PopUpOneButton/PopUpOneButton.d.ts +9 -0
- package/lib/components/organisms/PopUpOneButton/PopUpOneButton.js +35 -0
- package/lib/components/organisms/PopUpOneButton/PopUpOneButton.js.map +1 -0
- package/lib/components/organisms/PopUpTwoButton/PopUpTwoButton.d.ts +11 -0
- package/lib/components/organisms/PopUpTwoButton/PopUpTwoButton.js +38 -0
- package/lib/components/organisms/PopUpTwoButton/PopUpTwoButton.js.map +1 -0
- package/lib/components/organisms/ScrollList/ScrollList.d.ts +13 -0
- package/lib/components/organisms/ScrollList/ScrollList.js +70 -0
- package/lib/components/organisms/ScrollList/ScrollList.js.map +1 -0
- package/lib/components/organisms/SearchBar/SearchBar.d.ts +14 -0
- package/lib/components/organisms/SearchBar/SearchBar.js +44 -0
- package/lib/components/organisms/SearchBar/SearchBar.js.map +1 -0
- package/lib/components/organisms/index.d.ts +11 -0
- package/lib/components/organisms/index.js +29 -0
- package/lib/components/organisms/index.js.map +1 -0
- package/lib/config/ConfigContext.d.ts +26 -0
- package/lib/config/ConfigContext.js +184 -0
- package/lib/config/ConfigContext.js.map +1 -0
- package/lib/hooks/use-click-outside.d.ts +6 -0
- package/lib/hooks/use-click-outside.helper.d.ts +10 -0
- package/lib/hooks/use-click-outside.helper.js +35 -0
- package/lib/hooks/use-click-outside.helper.js.map +1 -0
- package/lib/hooks/use-click-outside.js +123 -0
- package/lib/hooks/use-click-outside.js.map +1 -0
- package/lib/index.d.ts +8 -0
- package/lib/index.js +26 -0
- package/lib/index.js.map +1 -0
- package/lib/theme/ThemeContext.d.ts +19 -0
- package/lib/theme/ThemeContext.js +110 -0
- package/lib/theme/ThemeContext.js.map +1 -0
- package/lib/theme/WritingThemeContext.d.ts +10 -0
- package/lib/theme/WritingThemeContext.js +77 -0
- package/lib/theme/WritingThemeContext.js.map +1 -0
- package/lib/theme/index.d.ts +4 -0
- package/lib/theme/index.js +22 -0
- package/lib/theme/index.js.map +1 -0
- package/lib/theme/themes.d.ts +32 -0
- package/lib/theme/themes.js +178 -0
- package/lib/theme/themes.js.map +1 -0
- package/lib/theme/writingTheme.d.ts +19 -0
- package/lib/theme/writingTheme.js +45 -0
- package/lib/theme/writingTheme.js.map +1 -0
- package/lib/tools/AnimationUtil.d.ts +12 -0
- package/lib/tools/AnimationUtil.js +40 -0
- package/lib/tools/AnimationUtil.js.map +1 -0
- package/lib/types/file.d.ts +5 -0
- package/lib/types/file.js +62 -0
- package/lib/types/file.js.map +1 -0
- package/lib/utils/arrays.d.ts +2 -0
- package/lib/utils/arrays.js +31 -0
- package/lib/utils/arrays.js.map +1 -0
- package/lib/utils/commons-styles.d.ts +34 -0
- package/lib/utils/commons-styles.js +53 -0
- package/lib/utils/commons-styles.js.map +1 -0
- package/lib/utils/formatters.d.ts +2 -0
- package/lib/utils/formatters.js +48 -0
- package/lib/utils/formatters.js.map +1 -0
- package/lib/utils/headerStyle.d.ts +12 -0
- package/lib/utils/headerStyle.js +31 -0
- package/lib/utils/headerStyle.js.map +1 -0
- package/lib/utils/list.d.ts +2 -0
- package/lib/utils/list.js +47 -0
- package/lib/utils/list.js.map +1 -0
- package/lib/utils/number.d.ts +4 -0
- package/lib/utils/number.js +34 -0
- package/lib/utils/number.js.map +1 -0
- package/lib/utils/strings.d.ts +2 -0
- package/lib/utils/strings.js +33 -0
- package/lib/utils/strings.js.map +1 -0
- package/package.json +49 -0
|
@@ -0,0 +1,148 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* Axelor Business Solutions
|
|
3
|
+
*
|
|
4
|
+
* Copyright (C) 2023 Axelor (<http://axelor.com>).
|
|
5
|
+
*
|
|
6
|
+
* This program is free software: you can redistribute it and/or modify
|
|
7
|
+
* it under the terms of the GNU Affero General Public License, version 3,
|
|
8
|
+
* as published by the Free Software Foundation.
|
|
9
|
+
*
|
|
10
|
+
* This program is distributed in the hope that it will be useful,
|
|
11
|
+
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
12
|
+
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
13
|
+
* GNU Affero General Public License for more details.
|
|
14
|
+
*
|
|
15
|
+
* You should have received a copy of the GNU Affero General Public License
|
|
16
|
+
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
|
17
|
+
*/
|
|
18
|
+
import React, { useState, useEffect, useCallback, useRef } from 'react';
|
|
19
|
+
import { View } from 'react-native';
|
|
20
|
+
import { SelectionContainer } from '../../molecules';
|
|
21
|
+
import { SearchBar } from '../../organisms';
|
|
22
|
+
const TIME_WITHOUT_INPUT = 1000;
|
|
23
|
+
const TIME_BETWEEN_CALL = 1000;
|
|
24
|
+
const AutoCompleteSearch = ({ objectList, value = null, onChangeValue, fetchData = () => { }, displayValue, placeholder, isFocus = false, changeScreenAfter = false, navigate = false, oneFilter = false, onSelection, onScanPress, scanIconColor = null, selectLastItem = true, style, }) => {
|
|
25
|
+
const [displayList, setDisplayList] = useState(false);
|
|
26
|
+
const [searchText, setSearchText] = useState(null);
|
|
27
|
+
const [previousState, setPreviousState] = useState(null);
|
|
28
|
+
const [newInterval, setNewInterval] = useState(0);
|
|
29
|
+
const [selected, setSelected] = useState(false);
|
|
30
|
+
let timeOutRequestCall = useRef();
|
|
31
|
+
let intervalRequestCall = useRef();
|
|
32
|
+
const handleAPICall = useCallback(() => {
|
|
33
|
+
if (!selected) {
|
|
34
|
+
if (searchText == null && searchText === '') {
|
|
35
|
+
fetchData(null);
|
|
36
|
+
}
|
|
37
|
+
else {
|
|
38
|
+
fetchData(searchText);
|
|
39
|
+
}
|
|
40
|
+
}
|
|
41
|
+
}, [fetchData, searchText, selected]);
|
|
42
|
+
useEffect(() => {
|
|
43
|
+
if (value) {
|
|
44
|
+
setSelected(true);
|
|
45
|
+
setSearchText(displayValue(value));
|
|
46
|
+
}
|
|
47
|
+
else {
|
|
48
|
+
handleAPICall();
|
|
49
|
+
}
|
|
50
|
+
}, [displayValue, handleAPICall, value]);
|
|
51
|
+
const handleSelect = item => {
|
|
52
|
+
setDisplayList(false);
|
|
53
|
+
setSelected(true);
|
|
54
|
+
if (changeScreenAfter) {
|
|
55
|
+
setSearchText('');
|
|
56
|
+
}
|
|
57
|
+
onChangeValue(item);
|
|
58
|
+
};
|
|
59
|
+
useEffect(() => {
|
|
60
|
+
if (navigate && oneFilter) {
|
|
61
|
+
setSearchText('');
|
|
62
|
+
}
|
|
63
|
+
}, [navigate, oneFilter]);
|
|
64
|
+
const handleClear = () => {
|
|
65
|
+
setDisplayList(false);
|
|
66
|
+
setSelected(false);
|
|
67
|
+
setPreviousState(searchText);
|
|
68
|
+
setSearchText('');
|
|
69
|
+
onChangeValue(null);
|
|
70
|
+
};
|
|
71
|
+
useEffect(() => {
|
|
72
|
+
if ((previousState === '' || previousState == null) &&
|
|
73
|
+
searchText != null &&
|
|
74
|
+
searchText !== '') {
|
|
75
|
+
const id = setInterval(() => setNewInterval(state => state + 1), TIME_BETWEEN_CALL);
|
|
76
|
+
intervalRequestCall.current = id;
|
|
77
|
+
}
|
|
78
|
+
}, [previousState, searchText]);
|
|
79
|
+
const stopInterval = useCallback(() => {
|
|
80
|
+
clearInterval(intervalRequestCall.current);
|
|
81
|
+
setNewInterval(0);
|
|
82
|
+
}, []);
|
|
83
|
+
useEffect(() => {
|
|
84
|
+
if (newInterval > 0) {
|
|
85
|
+
handleAPICall();
|
|
86
|
+
}
|
|
87
|
+
}, [handleAPICall, newInterval]);
|
|
88
|
+
const handleTimeOut = useCallback(() => {
|
|
89
|
+
stopInterval();
|
|
90
|
+
if (!selected) {
|
|
91
|
+
if (searchText == null && searchText === '') {
|
|
92
|
+
fetchData(null);
|
|
93
|
+
}
|
|
94
|
+
else {
|
|
95
|
+
fetchData(searchText);
|
|
96
|
+
}
|
|
97
|
+
}
|
|
98
|
+
}, [fetchData, searchText, selected, stopInterval]);
|
|
99
|
+
useEffect(() => {
|
|
100
|
+
if (searchText != null) {
|
|
101
|
+
const id = setTimeout(handleTimeOut, TIME_WITHOUT_INPUT);
|
|
102
|
+
timeOutRequestCall.current = id;
|
|
103
|
+
return () => {
|
|
104
|
+
clearTimeout(timeOutRequestCall.current);
|
|
105
|
+
};
|
|
106
|
+
}
|
|
107
|
+
}, [handleTimeOut, searchText]);
|
|
108
|
+
useEffect(() => {
|
|
109
|
+
if (objectList != null &&
|
|
110
|
+
searchText != null &&
|
|
111
|
+
searchText !== '' &&
|
|
112
|
+
!selected) {
|
|
113
|
+
if (objectList.length === 1 && selectLastItem === true) {
|
|
114
|
+
if (changeScreenAfter || oneFilter) {
|
|
115
|
+
setSearchText('');
|
|
116
|
+
}
|
|
117
|
+
else {
|
|
118
|
+
setSearchText(displayValue(objectList[0]));
|
|
119
|
+
setDisplayList(false);
|
|
120
|
+
}
|
|
121
|
+
stopInterval();
|
|
122
|
+
onChangeValue(objectList[0]);
|
|
123
|
+
}
|
|
124
|
+
else {
|
|
125
|
+
setDisplayList(true);
|
|
126
|
+
}
|
|
127
|
+
}
|
|
128
|
+
}, [
|
|
129
|
+
changeScreenAfter,
|
|
130
|
+
displayValue,
|
|
131
|
+
objectList,
|
|
132
|
+
selectLastItem,
|
|
133
|
+
onChangeValue,
|
|
134
|
+
oneFilter,
|
|
135
|
+
searchText,
|
|
136
|
+
selected,
|
|
137
|
+
stopInterval,
|
|
138
|
+
]);
|
|
139
|
+
return (<View>
|
|
140
|
+
<SearchBar style={style} valueTxt={searchText} placeholder={placeholder} onClearPress={handleClear} onChangeTxt={input => {
|
|
141
|
+
setPreviousState(searchText);
|
|
142
|
+
setSearchText(input);
|
|
143
|
+
}} onSelection={onSelection} onEndFocus={() => setDisplayList(false)} isFocus={isFocus} onScanPress={onScanPress} scanIconColor={scanIconColor}/>
|
|
144
|
+
{displayList && !oneFilter && (<SelectionContainer objectList={objectList} displayValue={displayValue} handleSelect={handleSelect}/>)}
|
|
145
|
+
</View>);
|
|
146
|
+
};
|
|
147
|
+
export default AutoCompleteSearch;
|
|
148
|
+
//# sourceMappingURL=AutoCompleteSearch.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"AutoCompleteSearch.js","sourceRoot":"","sources":["../../../../src/components/organisms/AutoCompleteSearch/AutoCompleteSearch.tsx"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* Axelor Business Solutions
|
|
3
|
+
*
|
|
4
|
+
* Copyright (C) 2023 Axelor (<http://axelor.com>).
|
|
5
|
+
*
|
|
6
|
+
* This program is free software: you can redistribute it and/or modify
|
|
7
|
+
* it under the terms of the GNU Affero General Public License, version 3,
|
|
8
|
+
* as published by the Free Software Foundation.
|
|
9
|
+
*
|
|
10
|
+
* This program is distributed in the hope that it will be useful,
|
|
11
|
+
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
12
|
+
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
13
|
+
* GNU Affero General Public License for more details.
|
|
14
|
+
*
|
|
15
|
+
* You should have received a copy of the GNU Affero General Public License
|
|
16
|
+
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
|
17
|
+
*/
|
|
18
|
+
import React from 'react';
|
|
19
|
+
import { StyleSheet, View, ScrollView } from 'react-native';
|
|
20
|
+
const ChipSelect = ({ children, scrollable = false }) => {
|
|
21
|
+
return (<View style={[styles.chipContainer, scrollable ? styles.marginLeft : null]}>
|
|
22
|
+
{scrollable ? (<ScrollView horizontal={true} showsHorizontalScrollIndicator={false}>
|
|
23
|
+
{children}
|
|
24
|
+
</ScrollView>) : (children)}
|
|
25
|
+
</View>);
|
|
26
|
+
};
|
|
27
|
+
const styles = StyleSheet.create({
|
|
28
|
+
chipContainer: {
|
|
29
|
+
flexDirection: 'row',
|
|
30
|
+
justifyContent: 'center',
|
|
31
|
+
alignItems: 'center',
|
|
32
|
+
marginVertical: 2,
|
|
33
|
+
},
|
|
34
|
+
marginLeft: {
|
|
35
|
+
marginHorizontal: 16,
|
|
36
|
+
},
|
|
37
|
+
});
|
|
38
|
+
export default ChipSelect;
|
|
39
|
+
//# sourceMappingURL=ChipSelect.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ChipSelect.js","sourceRoot":"","sources":["../../../../src/components/organisms/ChipSelect/ChipSelect.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAEH,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAC,UAAU,EAAE,IAAI,EAAE,UAAU,EAAC,MAAM,cAAc,CAAC;AAO1D,MAAM,UAAU,GAAG,CAAC,EAAC,QAAQ,EAAE,UAAU,GAAG,KAAK,EAAkB,EAAE,EAAE;IACrE,OAAO,CACL,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,aAAa,EAAE,UAAU,CAAC,CAAC,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CACzE;MAAA,CAAC,UAAU,CAAC,CAAC,CAAC,CACZ,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC,IAAI,CAAC,CAAC,8BAA8B,CAAC,CAAC,KAAK,CAAC,CAClE;UAAA,CAAC,QAAQ,CACX;QAAA,EAAE,UAAU,CAAC,CACd,CAAC,CAAC,CAAC,CACF,QAAQ,CACT,CACH;IAAA,EAAE,IAAI,CAAC,CACR,CAAC;AACJ,CAAC,CAAC;AAEF,MAAM,MAAM,GAAG,UAAU,CAAC,MAAM,CAAC;IAC/B,aAAa,EAAE;QACb,aAAa,EAAE,KAAK;QACpB,cAAc,EAAE,QAAQ;QACxB,UAAU,EAAE,QAAQ;QACpB,cAAc,EAAE,CAAC;KAClB;IACD,UAAU,EAAE;QACV,gBAAgB,EAAE,EAAE;KACrB;CACF,CAAC,CAAC;AAEH,eAAe,UAAU,CAAC"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { ReactNode } from 'react';
|
|
2
|
+
interface DropdownCardSwitchProps {
|
|
3
|
+
style?: any;
|
|
4
|
+
dropdownItems: DropdownItem[];
|
|
5
|
+
}
|
|
6
|
+
interface DropdownItem {
|
|
7
|
+
key: number;
|
|
8
|
+
title: string;
|
|
9
|
+
childrenComp: ReactNode;
|
|
10
|
+
}
|
|
11
|
+
declare const DropdownCardSwitch: ({ style, dropdownItems, }: DropdownCardSwitchProps) => JSX.Element;
|
|
12
|
+
export default DropdownCardSwitch;
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* Axelor Business Solutions
|
|
3
|
+
*
|
|
4
|
+
* Copyright (C) 2023 Axelor (<http://axelor.com>).
|
|
5
|
+
*
|
|
6
|
+
* This program is free software: you can redistribute it and/or modify
|
|
7
|
+
* it under the terms of the GNU Affero General Public License, version 3,
|
|
8
|
+
* as published by the Free Software Foundation.
|
|
9
|
+
*
|
|
10
|
+
* This program is distributed in the hope that it will be useful,
|
|
11
|
+
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
12
|
+
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
13
|
+
* GNU Affero General Public License for more details.
|
|
14
|
+
*
|
|
15
|
+
* You should have received a copy of the GNU Affero General Public License
|
|
16
|
+
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
|
17
|
+
*/
|
|
18
|
+
import React, { useState } from 'react';
|
|
19
|
+
import { Dimensions, StyleSheet, View } from 'react-native';
|
|
20
|
+
import { DropdownCard } from '../../molecules';
|
|
21
|
+
const DropdownCardSwitch = ({ style, dropdownItems, }) => {
|
|
22
|
+
const [openedCardKey, setOpenedCardKey] = useState();
|
|
23
|
+
return (<View style={[styles.container, style]}>
|
|
24
|
+
{dropdownItems.map((elt, index) => {
|
|
25
|
+
return (<DropdownCard key={index} title={elt.title} onPress={() => setOpenedCardKey(elt.key)} DropdownIsOpen={elt.key === openedCardKey}>
|
|
26
|
+
{elt.childrenComp}
|
|
27
|
+
</DropdownCard>);
|
|
28
|
+
})}
|
|
29
|
+
</View>);
|
|
30
|
+
};
|
|
31
|
+
const styles = StyleSheet.create({
|
|
32
|
+
container: {
|
|
33
|
+
flexDirection: 'column',
|
|
34
|
+
justifyContent: 'center',
|
|
35
|
+
alignItems: 'center',
|
|
36
|
+
width: Dimensions.get('window').width * 0.9,
|
|
37
|
+
},
|
|
38
|
+
});
|
|
39
|
+
export default DropdownCardSwitch;
|
|
40
|
+
//# sourceMappingURL=DropdownCardSwitch.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"DropdownCardSwitch.js","sourceRoot":"","sources":["../../../../src/components/organisms/DropdownCardSwitch/DropdownCardSwitch.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAEH,OAAO,KAAK,EAAE,EAAY,QAAQ,EAAC,MAAM,OAAO,CAAC;AACjD,OAAO,EAAC,UAAU,EAAE,UAAU,EAAE,IAAI,EAAC,MAAM,cAAc,CAAC;AAC1D,OAAO,EAAC,YAAY,EAAC,MAAM,iBAAiB,CAAC;AAY7C,MAAM,kBAAkB,GAAG,CAAC,EAC1B,KAAK,EACL,aAAa,GACW,EAAE,EAAE;IAC5B,MAAM,CAAC,aAAa,EAAE,gBAAgB,CAAC,GAAG,QAAQ,EAAU,CAAC;IAE7D,OAAO,CACL,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC,CACrC;MAAA,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,KAAK,EAAE,EAAE;YAChC,OAAO,CACL,CAAC,YAAY,CACX,GAAG,CAAC,CAAC,KAAK,CAAC,CACX,KAAK,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,CACjB,OAAO,CAAC,CAAC,GAAG,EAAE,CAAC,gBAAgB,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CACzC,cAAc,CAAC,CAAC,GAAG,CAAC,GAAG,KAAK,aAAa,CAAC,CAC1C;YAAA,CAAC,GAAG,CAAC,YAAY,CACnB;UAAA,EAAE,YAAY,CAAC,CAChB,CAAC;QACJ,CAAC,CAAC,CACJ;IAAA,EAAE,IAAI,CAAC,CACR,CAAC;AACJ,CAAC,CAAC;AAEF,MAAM,MAAM,GAAG,UAAU,CAAC,MAAM,CAAC;IAC/B,SAAS,EAAE;QACT,aAAa,EAAE,QAAQ;QACvB,cAAc,EAAE,QAAQ;QACxB,UAAU,EAAE,QAAQ;QACpB,KAAK,EAAE,UAAU,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,KAAK,GAAG,GAAG;KAC5C;CACF,CAAC,CAAC;AAEH,eAAe,kBAAkB,CAAC"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
interface HeaderContainerProps {
|
|
2
|
+
style?: any;
|
|
3
|
+
children?: any;
|
|
4
|
+
fixedItems?: any;
|
|
5
|
+
chipComponent?: any;
|
|
6
|
+
expandableFilter?: boolean;
|
|
7
|
+
}
|
|
8
|
+
declare const HeaderContainer: ({ style, children, fixedItems, chipComponent, expandableFilter, }: HeaderContainerProps) => JSX.Element;
|
|
9
|
+
export default HeaderContainer;
|
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* Axelor Business Solutions
|
|
3
|
+
*
|
|
4
|
+
* Copyright (C) 2023 Axelor (<http://axelor.com>).
|
|
5
|
+
*
|
|
6
|
+
* This program is free software: you can redistribute it and/or modify
|
|
7
|
+
* it under the terms of the GNU Affero General Public License, version 3,
|
|
8
|
+
* as published by the Free Software Foundation.
|
|
9
|
+
*
|
|
10
|
+
* This program is distributed in the hope that it will be useful,
|
|
11
|
+
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
12
|
+
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
13
|
+
* GNU Affero General Public License for more details.
|
|
14
|
+
*
|
|
15
|
+
* You should have received a copy of the GNU Affero General Public License
|
|
16
|
+
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
|
17
|
+
*/
|
|
18
|
+
import React, { useCallback, useEffect, useMemo, useState } from 'react';
|
|
19
|
+
import { StyleSheet, View, TouchableOpacity } from 'react-native';
|
|
20
|
+
import { animationUtil } from '../../../tools/AnimationUtil';
|
|
21
|
+
import { useConfig } from '../../../config/ConfigContext';
|
|
22
|
+
import { useThemeColor } from '../../../theme/ThemeContext';
|
|
23
|
+
import { Icon } from '../../atoms';
|
|
24
|
+
const HeaderContainer = ({ style, children, fixedItems = null, chipComponent = null, expandableFilter = true, }) => {
|
|
25
|
+
const { showFilter } = useConfig();
|
|
26
|
+
const [isVisible, setVisible] = useState(true);
|
|
27
|
+
const Colors = useThemeColor();
|
|
28
|
+
useEffect(() => {
|
|
29
|
+
setVisible(showFilter);
|
|
30
|
+
}, [showFilter]);
|
|
31
|
+
const styles = useMemo(() => getStyles(Colors), [Colors]);
|
|
32
|
+
const handleExpandPress = useCallback(() => {
|
|
33
|
+
animationUtil.animateNext();
|
|
34
|
+
setVisible(!isVisible);
|
|
35
|
+
}, [isVisible]);
|
|
36
|
+
return (<View style={[styles.container, style]}>
|
|
37
|
+
{fixedItems}
|
|
38
|
+
{expandableFilter && isVisible && children}
|
|
39
|
+
{chipComponent}
|
|
40
|
+
{expandableFilter && (<TouchableOpacity onPress={handleExpandPress}>
|
|
41
|
+
<View style={styles.arrowContainer}>
|
|
42
|
+
<Icon name={isVisible ? 'angle-up' : 'angle-down'} size={22} color={Colors.primaryColor.background}/>
|
|
43
|
+
</View>
|
|
44
|
+
</TouchableOpacity>)}
|
|
45
|
+
</View>);
|
|
46
|
+
};
|
|
47
|
+
const getStyles = Colors => StyleSheet.create({
|
|
48
|
+
container: {
|
|
49
|
+
flexDirection: 'column',
|
|
50
|
+
justifyContent: 'center',
|
|
51
|
+
backgroundColor: Colors.backgroundColor,
|
|
52
|
+
elevation: 3,
|
|
53
|
+
zIndex: 2,
|
|
54
|
+
paddingBottom: 5,
|
|
55
|
+
borderBottomEndRadius: 10,
|
|
56
|
+
borderBottomStartRadius: 10,
|
|
57
|
+
},
|
|
58
|
+
arrowContainer: {
|
|
59
|
+
alignSelf: 'center',
|
|
60
|
+
justifyContent: 'center',
|
|
61
|
+
alignItems: 'center',
|
|
62
|
+
},
|
|
63
|
+
});
|
|
64
|
+
export default HeaderContainer;
|
|
65
|
+
//# sourceMappingURL=HeaderContainer.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"HeaderContainer.js","sourceRoot":"","sources":["../../../../src/components/organisms/HeaderContainer/HeaderContainer.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAEH,OAAO,KAAK,EAAE,EAAC,WAAW,EAAE,SAAS,EAAE,OAAO,EAAE,QAAQ,EAAC,MAAM,OAAO,CAAC;AACvE,OAAO,EAAC,UAAU,EAAE,IAAI,EAAE,gBAAgB,EAAC,MAAM,cAAc,CAAC;AAChE,OAAO,EAAC,aAAa,EAAC,MAAM,8BAA8B,CAAC;AAC3D,OAAO,EAAC,SAAS,EAAC,MAAM,+BAA+B,CAAC;AACxD,OAAO,EAAC,aAAa,EAAC,MAAM,6BAA6B,CAAC;AAC1D,OAAO,EAAC,IAAI,EAAC,MAAM,aAAa,CAAC;AAUjC,MAAM,eAAe,GAAG,CAAC,EACvB,KAAK,EACL,QAAQ,EACR,UAAU,GAAG,IAAI,EACjB,aAAa,GAAG,IAAI,EACpB,gBAAgB,GAAG,IAAI,GACF,EAAE,EAAE;IACzB,MAAM,EAAC,UAAU,EAAC,GAAG,SAAS,EAAE,CAAC;IACjC,MAAM,CAAC,SAAS,EAAE,UAAU,CAAC,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC;IAC/C,MAAM,MAAM,GAAG,aAAa,EAAE,CAAC;IAE/B,SAAS,CAAC,GAAG,EAAE;QACb,UAAU,CAAC,UAAU,CAAC,CAAC;IACzB,CAAC,EAAE,CAAC,UAAU,CAAC,CAAC,CAAC;IAEjB,MAAM,MAAM,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC;IAE1D,MAAM,iBAAiB,GAAG,WAAW,CAAC,GAAG,EAAE;QACzC,aAAa,CAAC,WAAW,EAAE,CAAC;QAC5B,UAAU,CAAC,CAAC,SAAS,CAAC,CAAC;IACzB,CAAC,EAAE,CAAC,SAAS,CAAC,CAAC,CAAC;IAEhB,OAAO,CACL,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC,CACrC;MAAA,CAAC,UAAU,CACX;MAAA,CAAC,gBAAgB,IAAI,SAAS,IAAI,QAAQ,CAC1C;MAAA,CAAC,aAAa,CACd;MAAA,CAAC,gBAAgB,IAAI,CACnB,CAAC,gBAAgB,CAAC,OAAO,CAAC,CAAC,iBAAiB,CAAC,CAC3C;UAAA,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,cAAc,CAAC,CACjC;YAAA,CAAC,IAAI,CACH,IAAI,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,YAAY,CAAC,CAC5C,IAAI,CAAC,CAAC,EAAE,CAAC,CACT,KAAK,CAAC,CAAC,MAAM,CAAC,YAAY,CAAC,UAAU,CAAC,EAE1C;UAAA,EAAE,IAAI,CACR;QAAA,EAAE,gBAAgB,CAAC,CACpB,CACH;IAAA,EAAE,IAAI,CAAC,CACR,CAAC;AACJ,CAAC,CAAC;AAEF,MAAM,SAAS,GAAG,MAAM,CAAC,EAAE,CACzB,UAAU,CAAC,MAAM,CAAC;IAChB,SAAS,EAAE;QACT,aAAa,EAAE,QAAQ;QACvB,cAAc,EAAE,QAAQ;QACxB,eAAe,EAAE,MAAM,CAAC,eAAe;QACvC,SAAS,EAAE,CAAC;QACZ,MAAM,EAAE,CAAC;QACT,aAAa,EAAE,CAAC;QAChB,qBAAqB,EAAE,EAAE;QACzB,uBAAuB,EAAE,EAAE;KAC5B;IACD,cAAc,EAAE;QACd,SAAS,EAAE,QAAQ;QACnB,cAAc,EAAE,QAAQ;QACxB,UAAU,EAAE,QAAQ;KACrB;CACF,CAAC,CAAC;AAEL,eAAe,eAAe,CAAC"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { ImageSourcePropType } from 'react-native';
|
|
2
|
+
interface ImageBubbleProps {
|
|
3
|
+
style?: any;
|
|
4
|
+
listComponent: any;
|
|
5
|
+
source: ImageSourcePropType;
|
|
6
|
+
imageSize?: number;
|
|
7
|
+
defaultIconSize?: number;
|
|
8
|
+
}
|
|
9
|
+
declare const ImageBubble: ({ source, listComponent, style, imageSize, defaultIconSize, }: ImageBubbleProps) => JSX.Element;
|
|
10
|
+
export default ImageBubble;
|
|
@@ -0,0 +1,105 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* Axelor Business Solutions
|
|
3
|
+
*
|
|
4
|
+
* Copyright (C) 2023 Axelor (<http://axelor.com>).
|
|
5
|
+
*
|
|
6
|
+
* This program is free software: you can redistribute it and/or modify
|
|
7
|
+
* it under the terms of the GNU Affero General Public License, version 3,
|
|
8
|
+
* as published by the Free Software Foundation.
|
|
9
|
+
*
|
|
10
|
+
* This program is distributed in the hope that it will be useful,
|
|
11
|
+
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
12
|
+
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
13
|
+
* GNU Affero General Public License for more details.
|
|
14
|
+
*
|
|
15
|
+
* You should have received a copy of the GNU Affero General Public License
|
|
16
|
+
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
|
17
|
+
*/
|
|
18
|
+
import React, { useMemo } from 'react';
|
|
19
|
+
import { Dimensions, StyleSheet, View, } from 'react-native';
|
|
20
|
+
import { Image } from '../../molecules';
|
|
21
|
+
function getComponentPosition(index, imageSize) {
|
|
22
|
+
switch (index) {
|
|
23
|
+
case 0:
|
|
24
|
+
return {
|
|
25
|
+
position: 'absolute',
|
|
26
|
+
bottom: 0,
|
|
27
|
+
left: imageSize * 0.03,
|
|
28
|
+
};
|
|
29
|
+
case 1:
|
|
30
|
+
return {
|
|
31
|
+
position: 'absolute',
|
|
32
|
+
bottom: imageSize * 0.3,
|
|
33
|
+
left: imageSize * 0.3,
|
|
34
|
+
};
|
|
35
|
+
case 2:
|
|
36
|
+
return {
|
|
37
|
+
position: 'absolute',
|
|
38
|
+
bottom: imageSize * 0.7,
|
|
39
|
+
left: imageSize * 0.3,
|
|
40
|
+
};
|
|
41
|
+
case 3:
|
|
42
|
+
return {
|
|
43
|
+
position: 'absolute',
|
|
44
|
+
bottom: imageSize,
|
|
45
|
+
left: imageSize * 0.03,
|
|
46
|
+
};
|
|
47
|
+
case 4:
|
|
48
|
+
return {
|
|
49
|
+
position: 'absolute',
|
|
50
|
+
bottom: imageSize,
|
|
51
|
+
right: imageSize * 0.03,
|
|
52
|
+
};
|
|
53
|
+
case 5:
|
|
54
|
+
return {
|
|
55
|
+
position: 'absolute',
|
|
56
|
+
bottom: imageSize * 0.7,
|
|
57
|
+
right: imageSize * 0.3,
|
|
58
|
+
};
|
|
59
|
+
case 6:
|
|
60
|
+
return {
|
|
61
|
+
position: 'absolute',
|
|
62
|
+
bottom: imageSize * 0.3,
|
|
63
|
+
right: imageSize * 0.3,
|
|
64
|
+
};
|
|
65
|
+
case 7:
|
|
66
|
+
return {
|
|
67
|
+
position: 'absolute',
|
|
68
|
+
bottom: 0,
|
|
69
|
+
right: imageSize * 0.03,
|
|
70
|
+
};
|
|
71
|
+
default:
|
|
72
|
+
return { display: 'none' };
|
|
73
|
+
}
|
|
74
|
+
}
|
|
75
|
+
const ImageBubble = ({ source, listComponent, style, imageSize = Dimensions.get('window').width * 0.2, defaultIconSize = 60, }) => {
|
|
76
|
+
const styles = useMemo(() => getStyles(imageSize), [imageSize]);
|
|
77
|
+
return (<View style={styles.container}>
|
|
78
|
+
<Image resizeMode="contain" generalStyle={[styles.generalImageStyle, style]} imageSize={styles.imageStyle} defaultIconSize={defaultIconSize} source={source}/>
|
|
79
|
+
<View>
|
|
80
|
+
{listComponent.map((elt, index) => {
|
|
81
|
+
return (<View style={getComponentPosition(index, imageSize)} key={index}>
|
|
82
|
+
{elt}
|
|
83
|
+
</View>);
|
|
84
|
+
})}
|
|
85
|
+
</View>
|
|
86
|
+
</View>);
|
|
87
|
+
};
|
|
88
|
+
const getStyles = imageSize => StyleSheet.create({
|
|
89
|
+
container: {
|
|
90
|
+
alignItems: 'center',
|
|
91
|
+
},
|
|
92
|
+
generalImageStyle: {
|
|
93
|
+
alignSelf: 'center',
|
|
94
|
+
justifyContent: 'center',
|
|
95
|
+
alignItems: 'center',
|
|
96
|
+
marginVertical: '5%',
|
|
97
|
+
},
|
|
98
|
+
imageStyle: {
|
|
99
|
+
borderRadius: imageSize,
|
|
100
|
+
width: imageSize,
|
|
101
|
+
height: imageSize,
|
|
102
|
+
},
|
|
103
|
+
});
|
|
104
|
+
export default ImageBubble;
|
|
105
|
+
//# sourceMappingURL=ImageBubble.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ImageBubble.js","sourceRoot":"","sources":["../../../../src/components/organisms/ImageBubble/ImageBubble.tsx"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
interface MultiValuePickerProps {
|
|
2
|
+
style?: any;
|
|
3
|
+
pickerStyle?: any;
|
|
4
|
+
styleTxt?: any;
|
|
5
|
+
title: string;
|
|
6
|
+
onValueChange?: (any: any) => void;
|
|
7
|
+
defaultValue?: any[];
|
|
8
|
+
listItems: any[];
|
|
9
|
+
labelField: string;
|
|
10
|
+
valueField: string;
|
|
11
|
+
disabled?: boolean;
|
|
12
|
+
disabledValue?: string;
|
|
13
|
+
iconName?: string;
|
|
14
|
+
}
|
|
15
|
+
declare const MultiValuePicker: ({ style, pickerStyle, styleTxt, title, onValueChange, defaultValue, listItems, labelField, valueField, disabled, disabledValue, iconName, }: MultiValuePickerProps) => JSX.Element;
|
|
16
|
+
export default MultiValuePicker;
|
|
@@ -0,0 +1,103 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* Axelor Business Solutions
|
|
3
|
+
*
|
|
4
|
+
* Copyright (C) 2023 Axelor (<http://axelor.com>).
|
|
5
|
+
*
|
|
6
|
+
* This program is free software: you can redistribute it and/or modify
|
|
7
|
+
* it under the terms of the GNU Affero General Public License, version 3,
|
|
8
|
+
* as published by the Free Software Foundation.
|
|
9
|
+
*
|
|
10
|
+
* This program is distributed in the hope that it will be useful,
|
|
11
|
+
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
12
|
+
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
13
|
+
* GNU Affero General Public License for more details.
|
|
14
|
+
*
|
|
15
|
+
* You should have received a copy of the GNU Affero General Public License
|
|
16
|
+
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
|
17
|
+
*/
|
|
18
|
+
import React, { useCallback, useEffect, useMemo, useRef, useState } from 'react';
|
|
19
|
+
import { Dimensions, StyleSheet, View } from 'react-native';
|
|
20
|
+
import { useThemeColor } from '../../../theme/ThemeContext';
|
|
21
|
+
import { getCommonStyles } from '../../../utils/commons-styles';
|
|
22
|
+
import { Text } from '../../atoms';
|
|
23
|
+
import { LabelText, SelectionContainer, MultiValuePickerButton, } from '../../molecules';
|
|
24
|
+
import { getItemsFromList } from '../../../utils/list';
|
|
25
|
+
import { OUTSIDE_INDICATOR, useClickOutside, } from '../../../hooks/use-click-outside';
|
|
26
|
+
const MultiValuePicker = ({ style, pickerStyle, styleTxt, title, onValueChange, defaultValue = [], listItems = [], labelField, valueField, disabled = false, disabledValue = '', iconName = null, }) => {
|
|
27
|
+
const [pickerIsOpen, setPickerIsOpen] = useState(false);
|
|
28
|
+
const wrapperRef = useRef(null);
|
|
29
|
+
const clickOutside = useClickOutside({
|
|
30
|
+
wrapperRef,
|
|
31
|
+
visible: pickerIsOpen,
|
|
32
|
+
});
|
|
33
|
+
const Colors = useThemeColor();
|
|
34
|
+
const [selectedItem, setSelectedItem] = useState(getItemsFromList(listItems, valueField, defaultValue));
|
|
35
|
+
useEffect(() => {
|
|
36
|
+
setSelectedItem(getItemsFromList(listItems, valueField, defaultValue));
|
|
37
|
+
}, [defaultValue, listItems, valueField]);
|
|
38
|
+
useEffect(() => {
|
|
39
|
+
if (clickOutside === OUTSIDE_INDICATOR && pickerIsOpen) {
|
|
40
|
+
setPickerIsOpen(false);
|
|
41
|
+
}
|
|
42
|
+
}, [clickOutside, pickerIsOpen]);
|
|
43
|
+
const togglePicker = () => {
|
|
44
|
+
setPickerIsOpen(current => !current);
|
|
45
|
+
};
|
|
46
|
+
const handleValueChange = useCallback(itemValue => {
|
|
47
|
+
if (itemValue != null) {
|
|
48
|
+
let newSelecteditems = [];
|
|
49
|
+
if (selectedItem.some(item => item[valueField] === itemValue[valueField])) {
|
|
50
|
+
newSelecteditems = selectedItem.filter(i => i[valueField] !== itemValue[valueField]);
|
|
51
|
+
}
|
|
52
|
+
else {
|
|
53
|
+
newSelecteditems = [...selectedItem, itemValue];
|
|
54
|
+
}
|
|
55
|
+
setSelectedItem(newSelecteditems);
|
|
56
|
+
onValueChange(newSelecteditems);
|
|
57
|
+
}
|
|
58
|
+
}, [onValueChange, selectedItem, valueField]);
|
|
59
|
+
const commonStyles = useMemo(() => getCommonStyles(Colors), [Colors]);
|
|
60
|
+
const styles = useMemo(() => getStyles(Colors), [Colors]);
|
|
61
|
+
return (<View ref={wrapperRef} style={style}>
|
|
62
|
+
{!disabled && (<View style={styles.titleContainer}>
|
|
63
|
+
<Text style={styleTxt}>{title}</Text>
|
|
64
|
+
</View>)}
|
|
65
|
+
{disabled ? (<View style={[
|
|
66
|
+
commonStyles.filter,
|
|
67
|
+
commonStyles.filterSize,
|
|
68
|
+
commonStyles.filterAlign,
|
|
69
|
+
styles.infosCard,
|
|
70
|
+
pickerStyle,
|
|
71
|
+
]}>
|
|
72
|
+
{/* TODO : improve here */}
|
|
73
|
+
<LabelText value={disabledValue == null || disabledValue === ''
|
|
74
|
+
? '-'
|
|
75
|
+
: disabledValue} title={`${title} :`} iconName={iconName}/>
|
|
76
|
+
</View>) : (<View>
|
|
77
|
+
<MultiValuePickerButton onPress={togglePicker} listItem={selectedItem} labelField={labelField} style={[
|
|
78
|
+
commonStyles.filter,
|
|
79
|
+
commonStyles.filterSize,
|
|
80
|
+
commonStyles.filterAlign,
|
|
81
|
+
styles.rightIconButton,
|
|
82
|
+
pickerStyle,
|
|
83
|
+
]} onPressItem={handleValueChange}/>
|
|
84
|
+
{pickerIsOpen ? (<SelectionContainer objectList={listItems} keyField={valueField} displayValue={item => item[labelField]} handleSelect={handleValueChange} isPicker={true} selectedItem={selectedItem}/>) : null}
|
|
85
|
+
</View>)}
|
|
86
|
+
</View>);
|
|
87
|
+
};
|
|
88
|
+
const getStyles = Colors => StyleSheet.create({
|
|
89
|
+
titleContainer: {
|
|
90
|
+
marginHorizontal: 24,
|
|
91
|
+
},
|
|
92
|
+
rightIconButton: {
|
|
93
|
+
width: Dimensions.get('window').width * 0.9,
|
|
94
|
+
borderColor: Colors.secondaryColor.background,
|
|
95
|
+
borderWidth: 1,
|
|
96
|
+
},
|
|
97
|
+
infosCard: {
|
|
98
|
+
justifyContent: 'flex-start',
|
|
99
|
+
width: Dimensions.get('window').width * 0.9,
|
|
100
|
+
},
|
|
101
|
+
});
|
|
102
|
+
export default MultiValuePicker;
|
|
103
|
+
//# sourceMappingURL=MultiValuePicker.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"MultiValuePicker.js","sourceRoot":"","sources":["../../../../src/components/organisms/MultiValuePicker/MultiValuePicker.tsx"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
interface PickerProps {
|
|
2
|
+
style?: any;
|
|
3
|
+
pickerStyle?: any;
|
|
4
|
+
styleTxt?: any;
|
|
5
|
+
title: string;
|
|
6
|
+
onValueChange: (any: any) => void;
|
|
7
|
+
defaultValue?: string;
|
|
8
|
+
listItems: any[];
|
|
9
|
+
labelField: string;
|
|
10
|
+
valueField: string;
|
|
11
|
+
emptyValue?: boolean;
|
|
12
|
+
isValueItem?: boolean;
|
|
13
|
+
disabled?: boolean;
|
|
14
|
+
disabledValue?: string;
|
|
15
|
+
iconName?: string;
|
|
16
|
+
}
|
|
17
|
+
declare const Picker: ({ style, pickerStyle, styleTxt, title, onValueChange, defaultValue, listItems, labelField, valueField, emptyValue, isValueItem, disabled, disabledValue, iconName, }: PickerProps) => JSX.Element;
|
|
18
|
+
export default Picker;
|