@axelor/aos-mobile-ui 8.1.7 → 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/lib/components/atoms/Screen/Screen.d.ts +2 -1
- package/lib/components/atoms/Screen/Screen.js +2 -2
- package/lib/components/atoms/Screen/Screen.js.map +1 -1
- package/lib/components/atoms/ScrollView/ScrollView.js +3 -1
- package/lib/components/atoms/ScrollView/ScrollView.js.map +1 -1
- package/lib/components/atoms/Slider/Slider.d.ts +18 -0
- package/lib/components/atoms/Slider/Slider.js +85 -0
- package/lib/components/atoms/Slider/Slider.js.map +1 -0
- package/lib/components/atoms/index.d.ts +1 -0
- package/lib/components/atoms/index.js +1 -0
- package/lib/components/atoms/index.js.map +1 -1
- package/lib/components/molecules/BlockInteractionMessage/BlockInteractionMessage.d.ts +1 -1
- package/lib/components/molecules/BlockInteractionMessage/BlockInteractionMessage.js +1 -1
- package/lib/components/molecules/BlockInteractionMessage/BlockInteractionMessage.js.map +1 -1
- package/lib/components/molecules/Button/Button.d.ts +2 -1
- package/lib/components/molecules/Button/Button.js.map +1 -1
- package/lib/components/molecules/CardIconButton/CardIconButton.d.ts +2 -1
- package/lib/components/molecules/CardIconButton/CardIconButton.js +7 -4
- package/lib/components/molecules/CardIconButton/CardIconButton.js.map +1 -1
- package/lib/components/molecules/DropdownCard/DropdownCard.d.ts +2 -1
- package/lib/components/molecules/DropdownCard/DropdownCard.js +13 -4
- package/lib/components/molecules/DropdownCard/DropdownCard.js.map +1 -1
- package/lib/components/molecules/FormSlider/FormSlider.d.ts +19 -0
- package/lib/components/molecules/FormSlider/FormSlider.js +58 -0
- package/lib/components/molecules/FormSlider/FormSlider.js.map +1 -0
- package/lib/components/molecules/LabelText/LabelText.js +2 -2
- package/lib/components/molecules/LabelText/LabelText.js.map +1 -1
- package/lib/components/molecules/TextUnit/TextUnit.d.ts +2 -1
- package/lib/components/molecules/TextUnit/TextUnit.js +4 -2
- package/lib/components/molecules/TextUnit/TextUnit.js.map +1 -1
- package/lib/components/molecules/ToggleSwitch/ToggleSwitch.d.ts +2 -2
- package/lib/components/molecules/index.d.ts +1 -0
- package/lib/components/molecules/index.js +1 -0
- package/lib/components/molecules/index.js.map +1 -1
- package/lib/components/organisms/ActionCard/ActionCard.d.ts +20 -0
- package/lib/components/organisms/ActionCard/ActionCard.js +153 -0
- package/lib/components/organisms/ActionCard/ActionCard.js.map +1 -0
- package/lib/components/organisms/DraggableWrapper/DraggableWrapper.d.ts +7 -0
- package/lib/components/organisms/DraggableWrapper/DraggableWrapper.js +124 -0
- package/lib/components/organisms/DraggableWrapper/DraggableWrapper.js.map +1 -0
- package/lib/components/organisms/DropdownCardSwitch/DropdownCardSwitch.d.ts +1 -0
- package/lib/components/organisms/DropdownCardSwitch/DropdownCardSwitch.js +1 -1
- package/lib/components/organisms/DropdownCardSwitch/DropdownCardSwitch.js.map +1 -1
- package/lib/components/organisms/FloatingButton/FloatingActionButton.d.ts +2 -1
- package/lib/components/organisms/FloatingButton/FloatingActionButton.js +6 -6
- package/lib/components/organisms/FloatingButton/FloatingActionButton.js.map +1 -1
- package/lib/components/organisms/FloatingButton/FloatingButton.d.ts +1 -1
- package/lib/components/organisms/FloatingButton/FloatingButton.js +6 -10
- package/lib/components/organisms/FloatingButton/FloatingButton.js.map +1 -1
- package/lib/components/organisms/FloatingButton/types.d.ts +3 -0
- package/lib/components/organisms/FloatingButton/types.js.map +1 -1
- package/lib/components/organisms/GridView/CellView.js.map +1 -1
- package/lib/components/organisms/GroupByScrollList/GroupByScrollList.d.ts +3 -2
- package/lib/components/organisms/GroupByScrollList/GroupByScrollList.js +24 -3
- package/lib/components/organisms/GroupByScrollList/GroupByScrollList.js.map +1 -1
- package/lib/components/organisms/InfoButton/InfoButton.d.ts +2 -1
- package/lib/components/organisms/InfoButton/InfoButton.js +2 -2
- package/lib/components/organisms/InfoButton/InfoButton.js.map +1 -1
- package/lib/components/organisms/MultiValuePicker/MultiValuePicker.js +2 -2
- package/lib/components/organisms/MultiValuePicker/MultiValuePicker.js.map +1 -1
- package/lib/components/organisms/QuantityCard/QuantityCard.d.ts +16 -0
- package/lib/components/organisms/QuantityCard/QuantityCard.js +103 -0
- package/lib/components/organisms/QuantityCard/QuantityCard.js.map +1 -0
- package/lib/components/organisms/ScrollList/ScrollList.d.ts +2 -1
- package/lib/components/organisms/ScrollList/ScrollList.js +20 -15
- package/lib/components/organisms/ScrollList/ScrollList.js.map +1 -1
- package/lib/components/organisms/SingleSelectScrollList/SingleSelectScrollList.d.ts +21 -0
- package/lib/components/organisms/SingleSelectScrollList/SingleSelectScrollList.js +91 -0
- package/lib/components/organisms/SingleSelectScrollList/SingleSelectScrollList.js.map +1 -0
- package/lib/components/organisms/TagList/TagList.js +3 -1
- package/lib/components/organisms/TagList/TagList.js.map +1 -1
- package/lib/components/organisms/ViewAllEditList/AllLinesAlert.d.ts +13 -0
- package/lib/components/organisms/ViewAllEditList/AllLinesAlert.js +81 -0
- package/lib/components/organisms/ViewAllEditList/AllLinesAlert.js.map +1 -0
- package/lib/components/organisms/ViewAllEditList/LineComponent.d.ts +10 -0
- package/lib/components/organisms/ViewAllEditList/LineComponent.js +52 -0
- package/lib/components/organisms/ViewAllEditList/LineComponent.js.map +1 -0
- package/lib/components/organisms/ViewAllEditList/ViewAllEditList.d.ts +18 -0
- package/lib/components/organisms/ViewAllEditList/ViewAllEditList.js +55 -0
- package/lib/components/organisms/ViewAllEditList/ViewAllEditList.js.map +1 -0
- package/lib/components/organisms/index.d.ts +5 -0
- package/lib/components/organisms/index.js +5 -0
- package/lib/components/organisms/index.js.map +1 -1
- package/lib/components/templates/BottomBar/BarItem.js +2 -3
- package/lib/components/templates/BottomBar/BarItem.js.map +1 -1
- package/lib/components/templates/BottomBar/BottomBar.d.ts +2 -1
- package/lib/components/templates/BottomBar/BottomBar.js +21 -12
- package/lib/components/templates/BottomBar/BottomBar.js.map +1 -1
- package/lib/components/templates/BottomBar/ItemTitle.d.ts +7 -0
- package/lib/components/templates/BottomBar/ItemTitle.js +36 -0
- package/lib/components/templates/BottomBar/ItemTitle.js.map +1 -0
- package/lib/components/templates/BottomBar/types.helper.d.ts +1 -0
- package/lib/components/templates/Dashboard/Chart/ChartRender.js +10 -0
- package/lib/components/templates/Dashboard/Chart/ChartRender.js.map +1 -1
- package/lib/components/templates/Dashboard/Dashboard.d.ts +1 -1
- package/lib/components/templates/Dashboard/chart-type.d.ts +1 -0
- package/lib/components/templates/Dashboard/chart-type.js +1 -0
- package/lib/components/templates/Dashboard/chart-type.js.map +1 -1
- package/lib/components/templates/TabsScreen/tabs.helper.d.ts +2 -1
- package/lib/config/ConfigContext.d.ts +6 -0
- package/lib/config/ConfigContext.js +57 -3
- package/lib/config/ConfigContext.js.map +1 -1
- package/lib/hooks/use-price-format.d.ts +1 -0
- package/lib/hooks/use-price-format.js +33 -0
- package/lib/hooks/use-price-format.js.map +1 -0
- package/lib/index.d.ts +1 -0
- package/lib/index.js +1 -0
- package/lib/index.js.map +1 -1
- package/lib/utils/commons-styles.d.ts +1 -1
- package/lib/utils/formatters.js +1 -1
- package/lib/utils/list.js +7 -1
- package/lib/utils/list.js.map +1 -1
- package/package.json +14 -12
|
@@ -6,8 +6,9 @@ interface InfoButtonProps {
|
|
|
6
6
|
iconColor: string;
|
|
7
7
|
indication: string;
|
|
8
8
|
position?: 'left' | 'right';
|
|
9
|
+
disabled?: boolean;
|
|
9
10
|
onPress: () => void;
|
|
10
11
|
space?: number;
|
|
11
12
|
}
|
|
12
|
-
declare const InfoButton: ({ style, textIndicationStyle, iconName, iconColor, indication, position, onPress, space, }: InfoButtonProps) => React.JSX.Element;
|
|
13
|
+
declare const InfoButton: ({ style, textIndicationStyle, iconName, iconColor, indication, position, disabled, onPress, space, }: InfoButtonProps) => React.JSX.Element;
|
|
13
14
|
export default InfoButton;
|
|
@@ -18,10 +18,10 @@
|
|
|
18
18
|
import React, { useState } from 'react';
|
|
19
19
|
import { Dimensions } from 'react-native';
|
|
20
20
|
import { CardIconButton, CardIndicator } from '../../molecules';
|
|
21
|
-
const InfoButton = ({ style, textIndicationStyle, iconName, iconColor, indication, position = 'left', onPress = () => { }, space = Dimensions.get('window').width * 0.15, }) => {
|
|
21
|
+
const InfoButton = ({ style, textIndicationStyle, iconName, iconColor, indication, position = 'left', disabled = false, onPress = () => { }, space = Dimensions.get('window').width * 0.15, }) => {
|
|
22
22
|
const [isVisible, setIsVisible] = useState(false);
|
|
23
23
|
return (<CardIndicator indication={indication} position={position} isVisible={isVisible} style={style} textIndicationStyle={textIndicationStyle} handleClose={() => setIsVisible(false)} space={space}>
|
|
24
|
-
<CardIconButton iconName={iconName} iconColor={iconColor} onPress={() => {
|
|
24
|
+
<CardIconButton iconName={iconName} iconColor={iconColor} disabled={disabled} onPress={() => {
|
|
25
25
|
onPress();
|
|
26
26
|
setIsVisible(false);
|
|
27
27
|
}} onLongPress={() => setIsVisible(current => !current)}/>
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"InfoButton.js","sourceRoot":"","sources":["../../../../src/components/organisms/InfoButton/InfoButton.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAEH,OAAO,KAAK,EAAE,EAAC,QAAQ,EAAC,MAAM,OAAO,CAAC;AACtC,OAAO,EAAC,UAAU,EAAC,MAAM,cAAc,CAAC;AACxC,OAAO,EAAC,cAAc,EAAE,aAAa,EAAC,MAAM,iBAAiB,CAAC;
|
|
1
|
+
{"version":3,"file":"InfoButton.js","sourceRoot":"","sources":["../../../../src/components/organisms/InfoButton/InfoButton.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAEH,OAAO,KAAK,EAAE,EAAC,QAAQ,EAAC,MAAM,OAAO,CAAC;AACtC,OAAO,EAAC,UAAU,EAAC,MAAM,cAAc,CAAC;AACxC,OAAO,EAAC,cAAc,EAAE,aAAa,EAAC,MAAM,iBAAiB,CAAC;AAc9D,MAAM,UAAU,GAAG,CAAC,EAClB,KAAK,EACL,mBAAmB,EACnB,QAAQ,EACR,SAAS,EACT,UAAU,EACV,QAAQ,GAAG,MAAM,EACjB,QAAQ,GAAG,KAAK,EAChB,OAAO,GAAG,GAAG,EAAE,GAAE,CAAC,EAClB,KAAK,GAAG,UAAU,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,KAAK,GAAG,IAAI,GAC7B,EAAE,EAAE;IACpB,MAAM,CAAC,SAAS,EAAE,YAAY,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;IAElD,OAAO,CACL,CAAC,aAAa,CACZ,UAAU,CAAC,CAAC,UAAU,CAAC,CACvB,QAAQ,CAAC,CAAC,QAAQ,CAAC,CACnB,SAAS,CAAC,CAAC,SAAS,CAAC,CACrB,KAAK,CAAC,CAAC,KAAK,CAAC,CACb,mBAAmB,CAAC,CAAC,mBAAmB,CAAC,CACzC,WAAW,CAAC,CAAC,GAAG,EAAE,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC,CACvC,KAAK,CAAC,CAAC,KAAK,CAAC,CACb;MAAA,CAAC,cAAc,CACb,QAAQ,CAAC,CAAC,QAAQ,CAAC,CACnB,SAAS,CAAC,CAAC,SAAS,CAAC,CACrB,QAAQ,CAAC,CAAC,QAAQ,CAAC,CACnB,OAAO,CAAC,CAAC,GAAG,EAAE;YACZ,OAAO,EAAE,CAAC;YACV,YAAY,CAAC,KAAK,CAAC,CAAC;QACtB,CAAC,CAAC,CACF,WAAW,CAAC,CAAC,GAAG,EAAE,CAAC,YAAY,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,OAAO,CAAC,CAAC,EAEzD;IAAA,EAAE,aAAa,CAAC,CACjB,CAAC;AACJ,CAAC,CAAC;AAEF,eAAe,UAAU,CAAC"}
|
|
@@ -20,7 +20,7 @@ import { Platform, StyleSheet, View } from 'react-native';
|
|
|
20
20
|
import { useThemeColor } from '../../../theme';
|
|
21
21
|
import { Text } from '../../atoms';
|
|
22
22
|
import { SelectionContainer, MultiValuePickerButton } from '../../molecules';
|
|
23
|
-
import { checkNullString, getCommonStyles
|
|
23
|
+
import { checkNullString, getCommonStyles } from '../../../utils';
|
|
24
24
|
import { OUTSIDE_INDICATOR, useClickOutside, } from '../../../hooks/use-click-outside';
|
|
25
25
|
const MultiValuePicker = ({ style, pickerStyle, styleTxt, title, placeholder, onValueChange, defaultItems = [], listItems = [], readonly = false, required = false, translator, }) => {
|
|
26
26
|
const Colors = useThemeColor();
|
|
@@ -30,7 +30,7 @@ const MultiValuePicker = ({ style, pickerStyle, styleTxt, title, placeholder, on
|
|
|
30
30
|
const clickOutside = useClickOutside({
|
|
31
31
|
wrapperRef,
|
|
32
32
|
});
|
|
33
|
-
const [selectedItemList, setSelectedItemList] = useState(
|
|
33
|
+
const [selectedItemList, setSelectedItemList] = useState(defaultItems);
|
|
34
34
|
useEffect(() => {
|
|
35
35
|
if (clickOutside === OUTSIDE_INDICATOR && pickerIsOpen) {
|
|
36
36
|
setPickerIsOpen(false);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MultiValuePicker.js","sourceRoot":"","sources":["../../../../src/components/organisms/MultiValuePicker/MultiValuePicker.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAEH,OAAO,KAAK,EAAE,EAAC,WAAW,EAAE,SAAS,EAAE,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAC,MAAM,OAAO,CAAC;AAC/E,OAAO,EAAC,QAAQ,EAAE,UAAU,EAAE,IAAI,EAAC,MAAM,cAAc,CAAC;AACxD,OAAO,EAAqB,aAAa,EAAC,MAAM,gBAAgB,CAAC;AACjE,OAAO,EAAC,IAAI,EAAC,MAAM,aAAa,CAAC;AACjC,OAAO,EAAC,kBAAkB,EAAE,sBAAsB,EAAC,MAAM,iBAAiB,CAAC;AAC3E,OAAO,
|
|
1
|
+
{"version":3,"file":"MultiValuePicker.js","sourceRoot":"","sources":["../../../../src/components/organisms/MultiValuePicker/MultiValuePicker.tsx"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
interface QuantityCardProps {
|
|
3
|
+
style?: any;
|
|
4
|
+
children?: any;
|
|
5
|
+
labelQty: string;
|
|
6
|
+
defaultValue: number;
|
|
7
|
+
onValueChange: (value: number) => void;
|
|
8
|
+
editable: boolean;
|
|
9
|
+
actionQty?: boolean;
|
|
10
|
+
iconName?: string;
|
|
11
|
+
onPressActionQty?: () => void;
|
|
12
|
+
isBigButton?: boolean;
|
|
13
|
+
translator: (key: string) => string;
|
|
14
|
+
}
|
|
15
|
+
declare const QuantityCard: ({ style, children, labelQty, defaultValue, onValueChange, editable, actionQty, iconName, onPressActionQty, isBigButton, translator, }: QuantityCardProps) => React.JSX.Element;
|
|
16
|
+
export default QuantityCard;
|
|
@@ -0,0 +1,103 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* Axelor Business Solutions
|
|
3
|
+
*
|
|
4
|
+
* Copyright (C) 2024 Axelor (<http://axelor.com>).
|
|
5
|
+
*
|
|
6
|
+
* This program is free software: you can redistribute it and/or modify
|
|
7
|
+
* it under the terms of the GNU Affero General Public License, version 3,
|
|
8
|
+
* as published by the Free Software Foundation.
|
|
9
|
+
*
|
|
10
|
+
* This program is distributed in the hope that it will be useful,
|
|
11
|
+
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
12
|
+
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
13
|
+
* GNU Affero General Public License for more details.
|
|
14
|
+
*
|
|
15
|
+
* You should have received a copy of the GNU Affero General Public License
|
|
16
|
+
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
|
17
|
+
*/
|
|
18
|
+
import React, { useMemo } from 'react';
|
|
19
|
+
import { StyleSheet, View } from 'react-native';
|
|
20
|
+
import { Card, Icon, Text } from '../../atoms';
|
|
21
|
+
import { Increment } from '../../molecules';
|
|
22
|
+
import { getCommonStyles } from '../../../utils/commons-styles';
|
|
23
|
+
import { useDigitFormat } from '../../../hooks/use-digit-format';
|
|
24
|
+
import { useThemeColor } from '../../../theme';
|
|
25
|
+
const QuantityCard = ({ style, children, labelQty, defaultValue = 0, onValueChange, editable, actionQty = false, iconName = 'pencil-fill', onPressActionQty = () => { }, isBigButton = false, translator, }) => {
|
|
26
|
+
const Colors = useThemeColor();
|
|
27
|
+
const formatNumber = useDigitFormat();
|
|
28
|
+
const commonStyles = useMemo(() => getCommonStyles(Colors), [Colors]);
|
|
29
|
+
const _defaultValue = useMemo(() => formatNumber(defaultValue), [defaultValue, formatNumber]);
|
|
30
|
+
if (children == null || children.length === 0) {
|
|
31
|
+
return (<Card style={[styles.noChildrenContainer, style]}>
|
|
32
|
+
<Text style={styles.noChildrenTextField}>{labelQty}</Text>
|
|
33
|
+
{editable ? (<Increment value={_defaultValue} decimalSpacer={translator('Base_DecimalSpacer')} thousandSpacer={translator('Base_ThousandSpacer')} onValueChange={onValueChange} isBigButton={isBigButton}/>) : (<Text style={styles.noChildrenTextValue}>{_defaultValue}</Text>)}
|
|
34
|
+
</Card>);
|
|
35
|
+
}
|
|
36
|
+
return (<Card style={[commonStyles.filter, styles.container]}>
|
|
37
|
+
<View style={styles.container_up}>
|
|
38
|
+
{actionQty ? (<View style={styles.actionContainer}>
|
|
39
|
+
<View style={styles.childrenContainer}>{children}</View>
|
|
40
|
+
<Icon name={iconName} size={17} touchable={true} onPress={onPressActionQty}/>
|
|
41
|
+
</View>) : (<View>{children}</View>)}
|
|
42
|
+
</View>
|
|
43
|
+
<View style={styles.container_down}>
|
|
44
|
+
<Text style={styles.textField}>{labelQty}</Text>
|
|
45
|
+
{editable ? (<Increment value={_defaultValue} decimalSpacer={translator('Base_DecimalSpacer')} thousandSpacer={translator('Base_ThousandSpacer')} onValueChange={onValueChange} isBigButton={isBigButton}/>) : (<Text style={styles.textValue}>{_defaultValue}</Text>)}
|
|
46
|
+
</View>
|
|
47
|
+
</Card>);
|
|
48
|
+
};
|
|
49
|
+
const styles = StyleSheet.create({
|
|
50
|
+
noChildrenContainer: {
|
|
51
|
+
flexDirection: 'column',
|
|
52
|
+
marginHorizontal: 16,
|
|
53
|
+
marginBottom: '2%',
|
|
54
|
+
alignItems: 'center',
|
|
55
|
+
},
|
|
56
|
+
noChildrenTextField: {
|
|
57
|
+
fontSize: 16,
|
|
58
|
+
},
|
|
59
|
+
noChildrenTextValue: {
|
|
60
|
+
fontSize: 16,
|
|
61
|
+
fontWeight: 'bold',
|
|
62
|
+
},
|
|
63
|
+
container: {
|
|
64
|
+
flexDirection: 'column',
|
|
65
|
+
marginHorizontal: 18,
|
|
66
|
+
paddingVertical: 16,
|
|
67
|
+
paddingRight: 16,
|
|
68
|
+
paddingLeft: 16,
|
|
69
|
+
width: '90%',
|
|
70
|
+
alignSelf: 'center',
|
|
71
|
+
},
|
|
72
|
+
container_up: {
|
|
73
|
+
borderBottomColor: 'black',
|
|
74
|
+
borderBottomWidth: 0.5,
|
|
75
|
+
flexDirection: 'column',
|
|
76
|
+
width: '100%',
|
|
77
|
+
paddingBottom: '3%',
|
|
78
|
+
alignSelf: 'center',
|
|
79
|
+
},
|
|
80
|
+
actionContainer: {
|
|
81
|
+
flexDirection: 'row',
|
|
82
|
+
justifyContent: 'space-between',
|
|
83
|
+
alignItems: 'flex-start',
|
|
84
|
+
},
|
|
85
|
+
childrenContainer: {
|
|
86
|
+
flexDirection: 'column',
|
|
87
|
+
},
|
|
88
|
+
container_down: {
|
|
89
|
+
paddingTop: '1%',
|
|
90
|
+
alignItems: 'center',
|
|
91
|
+
},
|
|
92
|
+
textField: {
|
|
93
|
+
fontSize: 16,
|
|
94
|
+
paddingTop: '3%',
|
|
95
|
+
},
|
|
96
|
+
textValue: {
|
|
97
|
+
fontSize: 24,
|
|
98
|
+
fontWeight: 'bold',
|
|
99
|
+
paddingTop: '3%',
|
|
100
|
+
},
|
|
101
|
+
});
|
|
102
|
+
export default QuantityCard;
|
|
103
|
+
//# sourceMappingURL=QuantityCard.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"QuantityCard.js","sourceRoot":"","sources":["../../../../src/components/organisms/QuantityCard/QuantityCard.tsx"],"names":[],"mappings":"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"}
|
|
@@ -21,6 +21,7 @@ interface ScrollListProps {
|
|
|
21
21
|
disabledRefresh?: boolean;
|
|
22
22
|
actionList?: Action[];
|
|
23
23
|
verticalActions?: boolean;
|
|
24
|
+
onViewableItemsChanged?: (viewableItems: any) => void;
|
|
24
25
|
}
|
|
25
|
-
declare const ScrollList: ({ style, styleFooter, loadingList, data, renderItem, fetchData, moreLoading, isListEnd, filter, translator, horizontal, disabledRefresh, actionList, verticalActions, }: ScrollListProps) => React.JSX.Element;
|
|
26
|
+
declare const ScrollList: ({ style, styleFooter, loadingList, data, renderItem, fetchData, moreLoading, isListEnd, filter, translator, horizontal, disabledRefresh, actionList, verticalActions, onViewableItemsChanged, }: ScrollListProps) => React.JSX.Element;
|
|
26
27
|
export default ScrollList;
|
|
@@ -20,12 +20,14 @@ import { Animated, ActivityIndicator, Dimensions, FlatList, StyleSheet, View, }
|
|
|
20
20
|
import { Text } from '../../atoms';
|
|
21
21
|
import { CircleButton } from '../../molecules';
|
|
22
22
|
import TopActions from './TopActions';
|
|
23
|
+
import { useConfig } from '../../../config/ConfigContext';
|
|
23
24
|
const DISPLAY_LOADING_DELAY_MILLISECONDS = 1500;
|
|
24
25
|
const BUTTON_SIZE = 40;
|
|
25
26
|
const SCREEN_WIDTH_50_PERCENT = Dimensions.get('window').width * 0.5;
|
|
26
27
|
const SCREEN_HEIGHT_50_PERCENT = Dimensions.get('window').height * 0.5;
|
|
27
28
|
const AnimatedFlatList = Animated.createAnimatedComponent(FlatList);
|
|
28
|
-
const ScrollList = ({ style, styleFooter, loadingList = false, data = [], renderItem, fetchData = () => [], moreLoading = false, isListEnd = false, filter = false, translator, horizontal = false, disabledRefresh = false, actionList, verticalActions = true, }) => {
|
|
29
|
+
const ScrollList = ({ style, styleFooter, loadingList = false, data = [], renderItem, fetchData = () => [], moreLoading = false, isListEnd = false, filter = false, translator, horizontal = false, disabledRefresh = false, actionList, verticalActions = true, onViewableItemsChanged, }) => {
|
|
30
|
+
const { isScrollEnabled } = useConfig();
|
|
29
31
|
const [, setPage] = useState(0);
|
|
30
32
|
const [isLoading, setIsLoading] = useState(false);
|
|
31
33
|
const updateData = useCallback(() => {
|
|
@@ -111,6 +113,20 @@ const ScrollList = ({ style, styleFooter, loadingList = false, data = [], render
|
|
|
111
113
|
clearTimeout(loadingTimer);
|
|
112
114
|
};
|
|
113
115
|
}, [loadingList]);
|
|
116
|
+
const renderFooter = useCallback(() => {
|
|
117
|
+
return (<View style={[styles.footerText, styleFooter]}>
|
|
118
|
+
{moreLoading && <ActivityIndicator size="large" color="black"/>}
|
|
119
|
+
{isListEnd && (<Text>
|
|
120
|
+
{data == null || data?.length === 0
|
|
121
|
+
? translator != null
|
|
122
|
+
? translator('Base_NoData')
|
|
123
|
+
: 'No data.'
|
|
124
|
+
: translator != null
|
|
125
|
+
? translator('Base_NoMoreItems')
|
|
126
|
+
: 'No more items.'}
|
|
127
|
+
</Text>)}
|
|
128
|
+
</View>);
|
|
129
|
+
}, [data, isListEnd, moreLoading, styleFooter, translator]);
|
|
114
130
|
if (isLoading) {
|
|
115
131
|
return (<View style={styles.loadingContainer}>
|
|
116
132
|
<ActivityIndicator size="large" color="black"/>
|
|
@@ -121,20 +137,9 @@ const ScrollList = ({ style, styleFooter, loadingList = false, data = [], render
|
|
|
121
137
|
<CircleButton square={false} iconName="arrow-up" size={BUTTON_SIZE} onPress={moveToTop}/>
|
|
122
138
|
</Animated.View>
|
|
123
139
|
{!Array.isArray(data) || data.length === 0 ? renderActions() : null}
|
|
124
|
-
<AnimatedFlatList ref={flatList} style={[styles.scrollView, style]} data={data} onRefresh={disabledRefresh ? null : updateData} refreshing={false} horizontal={horizontal} onEndReached={onEndReached} ListFooterComponent={
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
{isListEnd && (<Text>
|
|
128
|
-
{data == null || data?.length === 0
|
|
129
|
-
? translator != null
|
|
130
|
-
? translator('Base_NoData')
|
|
131
|
-
: 'No data.'
|
|
132
|
-
: translator != null
|
|
133
|
-
? translator('Base_NoMoreItems')
|
|
134
|
-
: 'No more items.'}
|
|
135
|
-
</Text>)}
|
|
136
|
-
</View>);
|
|
137
|
-
}} renderItem={_renderItem} onScroll={handleScroll}/>
|
|
140
|
+
<AnimatedFlatList ref={flatList} style={[styles.scrollView, style]} data={data} onRefresh={disabledRefresh ? null : updateData} refreshing={false} horizontal={horizontal} onEndReached={onEndReached} ListFooterComponent={renderFooter} renderItem={_renderItem} onScroll={handleScroll} onViewableItemsChanged={onViewableItemsChanged} viewabilityConfig={{
|
|
141
|
+
itemVisiblePercentThreshold: 1,
|
|
142
|
+
}} scrollEnabled={isScrollEnabled}/>
|
|
138
143
|
</View>);
|
|
139
144
|
};
|
|
140
145
|
const styles = StyleSheet.create({
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ScrollList.js","sourceRoot":"","sources":["../../../../src/components/organisms/ScrollList/ScrollList.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAEH,OAAO,KAAK,EAAE,EAAC,WAAW,EAAE,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAC,MAAM,OAAO,CAAC;AACtE,OAAO,EACL,QAAQ,EACR,iBAAiB,EACjB,UAAU,EACV,QAAQ,EACR,UAAU,EACV,IAAI,GACL,MAAM,cAAc,CAAC;AAEtB,OAAO,EAAC,IAAI,EAAC,MAAM,aAAa,CAAC;AACjC,OAAO,EAAC,YAAY,EAAC,MAAM,iBAAiB,CAAC;AAC7C,OAAO,UAAU,MAAM,cAAc,CAAC;
|
|
1
|
+
{"version":3,"file":"ScrollList.js","sourceRoot":"","sources":["../../../../src/components/organisms/ScrollList/ScrollList.tsx"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
interface SingleSelectScrollListProps {
|
|
3
|
+
scrollStyle?: any;
|
|
4
|
+
rowStyle?: any;
|
|
5
|
+
loadingList: boolean;
|
|
6
|
+
moreLoading: boolean;
|
|
7
|
+
isListEnd: boolean;
|
|
8
|
+
data: any[];
|
|
9
|
+
fetchData: (page?: number) => void;
|
|
10
|
+
keyField?: string;
|
|
11
|
+
renderItem: (opts: {
|
|
12
|
+
item: any;
|
|
13
|
+
index?: number;
|
|
14
|
+
}) => any;
|
|
15
|
+
buttonSize?: number;
|
|
16
|
+
defaultSelected?: any;
|
|
17
|
+
onChange: (value: any) => void;
|
|
18
|
+
translator?: (translationKey: string) => string;
|
|
19
|
+
}
|
|
20
|
+
declare const SingleSelectScrollList: ({ scrollStyle, rowStyle, loadingList, moreLoading, isListEnd, data, fetchData, keyField, renderItem, buttonSize, defaultSelected, onChange, translator, }: SingleSelectScrollListProps) => React.JSX.Element;
|
|
21
|
+
export default SingleSelectScrollList;
|
|
@@ -0,0 +1,91 @@
|
|
|
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, useState } from 'react';
|
|
19
|
+
import { StyleSheet, TouchableOpacity, View } from 'react-native';
|
|
20
|
+
import { useThemeColor } from '../../../theme';
|
|
21
|
+
import { hexToRgb } from '../../../utils';
|
|
22
|
+
import { ScrollList } from '../ScrollList';
|
|
23
|
+
const SingleSelectScrollList = ({ scrollStyle, rowStyle, loadingList = false, moreLoading = false, isListEnd = true, data, fetchData, keyField = 'id', renderItem, buttonSize = 20, defaultSelected, onChange, translator, }) => {
|
|
24
|
+
const Colors = useThemeColor();
|
|
25
|
+
const [selectedKey, setSelectedKey] = useState();
|
|
26
|
+
useEffect(() => {
|
|
27
|
+
setSelectedKey(defaultSelected?.[keyField]);
|
|
28
|
+
}, [defaultSelected, keyField]);
|
|
29
|
+
const styles = useMemo(() => getStyles(Colors, buttonSize), [Colors, buttonSize]);
|
|
30
|
+
const handleRowSelection = useCallback((item) => {
|
|
31
|
+
onChange(item);
|
|
32
|
+
setSelectedKey(item[keyField]);
|
|
33
|
+
}, [keyField, onChange]);
|
|
34
|
+
const renderRow = useCallback(({ item, index }) => {
|
|
35
|
+
if (item == null) {
|
|
36
|
+
return null;
|
|
37
|
+
}
|
|
38
|
+
const isSelected = item[keyField] === selectedKey;
|
|
39
|
+
return (<TouchableOpacity onPress={() => handleRowSelection(item)} activeOpacity={0.7} style={[
|
|
40
|
+
styles.container,
|
|
41
|
+
isSelected && styles.selectedCard,
|
|
42
|
+
rowStyle,
|
|
43
|
+
]}>
|
|
44
|
+
<View style={[styles.buttonExt, isSelected && styles.selectedButtonExt]}>
|
|
45
|
+
<View style={isSelected && styles.selectedButtonInt}/>
|
|
46
|
+
</View>
|
|
47
|
+
<View style={styles.itemContainer}>{renderItem({ item, index })}</View>
|
|
48
|
+
</TouchableOpacity>);
|
|
49
|
+
}, [handleRowSelection, keyField, renderItem, rowStyle, selectedKey, styles]);
|
|
50
|
+
return (<ScrollList style={scrollStyle} loadingList={loadingList} moreLoading={moreLoading} isListEnd={isListEnd} data={data} fetchData={fetchData} renderItem={renderRow} translator={translator}/>);
|
|
51
|
+
};
|
|
52
|
+
const getStyles = (Colors, size) => StyleSheet.create({
|
|
53
|
+
container: {
|
|
54
|
+
flexDirection: 'row',
|
|
55
|
+
alignItems: 'center',
|
|
56
|
+
marginHorizontal: 5,
|
|
57
|
+
marginVertical: 2,
|
|
58
|
+
padding: 3,
|
|
59
|
+
},
|
|
60
|
+
selectedCard: {
|
|
61
|
+
backgroundColor: `rgba(${hexToRgb(Colors.primaryColor.background)}, 0.4)`,
|
|
62
|
+
borderColor: Colors.primaryColor.background,
|
|
63
|
+
borderWidth: 1,
|
|
64
|
+
borderRadius: 7,
|
|
65
|
+
},
|
|
66
|
+
buttonExt: {
|
|
67
|
+
alignItems: 'center',
|
|
68
|
+
justifyContent: 'center',
|
|
69
|
+
height: size,
|
|
70
|
+
width: size,
|
|
71
|
+
borderRadius: size,
|
|
72
|
+
borderWidth: 1,
|
|
73
|
+
borderColor: Colors.secondaryColor.background,
|
|
74
|
+
backgroundColor: Colors.backgroundColor,
|
|
75
|
+
marginHorizontal: 5,
|
|
76
|
+
},
|
|
77
|
+
selectedButtonExt: {
|
|
78
|
+
borderColor: Colors.primaryColor.background,
|
|
79
|
+
},
|
|
80
|
+
selectedButtonInt: {
|
|
81
|
+
height: size * 0.7,
|
|
82
|
+
width: size * 0.7,
|
|
83
|
+
borderRadius: size * 0.7,
|
|
84
|
+
backgroundColor: Colors.primaryColor.background,
|
|
85
|
+
},
|
|
86
|
+
itemContainer: {
|
|
87
|
+
flex: 1,
|
|
88
|
+
},
|
|
89
|
+
});
|
|
90
|
+
export default SingleSelectScrollList;
|
|
91
|
+
//# sourceMappingURL=SingleSelectScrollList.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"SingleSelectScrollList.js","sourceRoot":"","sources":["../../../../src/components/organisms/SingleSelectScrollList/SingleSelectScrollList.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,gBAAgB,EAAE,IAAI,EAAC,MAAM,cAAc,CAAC;AAChE,OAAO,EAAc,aAAa,EAAC,MAAM,gBAAgB,CAAC;AAC1D,OAAO,EAAC,QAAQ,EAAC,MAAM,gBAAgB,CAAC;AACxC,OAAO,EAAC,UAAU,EAAC,MAAM,eAAe,CAAC;AAkBzC,MAAM,sBAAsB,GAAG,CAAC,EAC9B,WAAW,EACX,QAAQ,EACR,WAAW,GAAG,KAAK,EACnB,WAAW,GAAG,KAAK,EACnB,SAAS,GAAG,IAAI,EAChB,IAAI,EACJ,SAAS,EACT,QAAQ,GAAG,IAAI,EACf,UAAU,EACV,UAAU,GAAG,EAAE,EACf,eAAe,EACf,QAAQ,EACR,UAAU,GACkB,EAAE,EAAE;IAChC,MAAM,MAAM,GAAG,aAAa,EAAE,CAAC;IAE/B,MAAM,CAAC,WAAW,EAAE,cAAc,CAAC,GAAG,QAAQ,EAAmB,CAAC;IAElE,SAAS,CAAC,GAAG,EAAE;QACb,cAAc,CAAC,eAAe,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC;IAC9C,CAAC,EAAE,CAAC,eAAe,EAAE,QAAQ,CAAC,CAAC,CAAC;IAEhC,MAAM,MAAM,GAAG,OAAO,CACpB,GAAG,EAAE,CAAC,SAAS,CAAC,MAAM,EAAE,UAAU,CAAC,EACnC,CAAC,MAAM,EAAE,UAAU,CAAC,CACrB,CAAC;IAEF,MAAM,kBAAkB,GAAG,WAAW,CACpC,CAAC,IAAS,EAAE,EAAE;QACZ,QAAQ,CAAC,IAAI,CAAC,CAAC;QACf,cAAc,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC;IACjC,CAAC,EACD,CAAC,QAAQ,EAAE,QAAQ,CAAC,CACrB,CAAC;IAEF,MAAM,SAAS,GAAG,WAAW,CAC3B,CAAC,EAAC,IAAI,EAAE,KAAK,EAAC,EAAE,EAAE;QAChB,IAAI,IAAI,IAAI,IAAI,EAAE;YAChB,OAAO,IAAI,CAAC;SACb;QAED,MAAM,UAAU,GAAG,IAAI,CAAC,QAAQ,CAAC,KAAK,WAAW,CAAC;QAElD,OAAO,CACL,CAAC,gBAAgB,CACf,OAAO,CAAC,CAAC,GAAG,EAAE,CAAC,kBAAkB,CAAC,IAAI,CAAC,CAAC,CACxC,aAAa,CAAC,CAAC,GAAG,CAAC,CACnB,KAAK,CAAC,CAAC;gBACL,MAAM,CAAC,SAAS;gBAChB,UAAU,IAAI,MAAM,CAAC,YAAY;gBACjC,QAAQ;aACT,CAAC,CACF;UAAA,CAAC,IAAI,CACH,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,SAAS,EAAE,UAAU,IAAI,MAAM,CAAC,iBAAiB,CAAC,CAAC,CAClE;YAAA,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,UAAU,IAAI,MAAM,CAAC,iBAAiB,CAAC,EACtD;UAAA,EAAE,IAAI,CACN;UAAA,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC,CAAC,UAAU,CAAC,EAAC,IAAI,EAAE,KAAK,EAAC,CAAC,CAAC,EAAE,IAAI,CACtE;QAAA,EAAE,gBAAgB,CAAC,CACpB,CAAC;IACJ,CAAC,EACD,CAAC,kBAAkB,EAAE,QAAQ,EAAE,UAAU,EAAE,QAAQ,EAAE,WAAW,EAAE,MAAM,CAAC,CAC1E,CAAC;IAEF,OAAO,CACL,CAAC,UAAU,CACT,KAAK,CAAC,CAAC,WAAW,CAAC,CACnB,WAAW,CAAC,CAAC,WAAW,CAAC,CACzB,WAAW,CAAC,CAAC,WAAW,CAAC,CACzB,SAAS,CAAC,CAAC,SAAS,CAAC,CACrB,IAAI,CAAC,CAAC,IAAI,CAAC,CACX,SAAS,CAAC,CAAC,SAAS,CAAC,CACrB,UAAU,CAAC,CAAC,SAAS,CAAC,CACtB,UAAU,CAAC,CAAC,UAAU,CAAC,EACvB,CACH,CAAC;AACJ,CAAC,CAAC;AAEF,MAAM,SAAS,GAAG,CAAC,MAAmB,EAAE,IAAY,EAAE,EAAE,CACtD,UAAU,CAAC,MAAM,CAAC;IAChB,SAAS,EAAE;QACT,aAAa,EAAE,KAAK;QACpB,UAAU,EAAE,QAAQ;QACpB,gBAAgB,EAAE,CAAC;QACnB,cAAc,EAAE,CAAC;QACjB,OAAO,EAAE,CAAC;KACX;IACD,YAAY,EAAE;QACZ,eAAe,EAAE,QAAQ,QAAQ,CAAC,MAAM,CAAC,YAAY,CAAC,UAAU,CAAC,QAAQ;QACzE,WAAW,EAAE,MAAM,CAAC,YAAY,CAAC,UAAU;QAC3C,WAAW,EAAE,CAAC;QACd,YAAY,EAAE,CAAC;KAChB;IACD,SAAS,EAAE;QACT,UAAU,EAAE,QAAQ;QACpB,cAAc,EAAE,QAAQ;QACxB,MAAM,EAAE,IAAI;QACZ,KAAK,EAAE,IAAI;QACX,YAAY,EAAE,IAAI;QAClB,WAAW,EAAE,CAAC;QACd,WAAW,EAAE,MAAM,CAAC,cAAc,CAAC,UAAU;QAC7C,eAAe,EAAE,MAAM,CAAC,eAAe;QACvC,gBAAgB,EAAE,CAAC;KACpB;IACD,iBAAiB,EAAE;QACjB,WAAW,EAAE,MAAM,CAAC,YAAY,CAAC,UAAU;KAC5C;IACD,iBAAiB,EAAE;QACjB,MAAM,EAAE,IAAI,GAAG,GAAG;QAClB,KAAK,EAAE,IAAI,GAAG,GAAG;QACjB,YAAY,EAAE,IAAI,GAAG,GAAG;QACxB,eAAe,EAAE,MAAM,CAAC,YAAY,CAAC,UAAU;KAChD;IACD,aAAa,EAAE;QACb,IAAI,EAAE,CAAC;KACR;CACF,CAAC,CAAC;AAEL,eAAe,sBAAsB,CAAC"}
|
|
@@ -47,7 +47,9 @@ const TagList = ({ style, title, tags, defaultColor, hideIfNull = true, translat
|
|
|
47
47
|
{isEmpty
|
|
48
48
|
? renderEmptyState()
|
|
49
49
|
: visibleSortTags.map((tag, index) => {
|
|
50
|
-
const color = tag.color != null
|
|
50
|
+
const color = tag.color != null
|
|
51
|
+
? tag.color
|
|
52
|
+
: (defaultColor ?? Colors.infoColor);
|
|
51
53
|
return (<Badge style={styles.badge} title={tag.title} color={color} key={index}/>);
|
|
52
54
|
})}
|
|
53
55
|
</View>);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TagList.js","sourceRoot":"","sources":["../../../../src/components/organisms/TagList/TagList.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAEH,OAAO,KAAK,EAAE,EAAC,WAAW,EAAE,OAAO,EAAC,MAAM,OAAO,CAAC;AAClD,OAAO,EAAC,UAAU,EAAE,IAAI,EAAC,MAAM,cAAc,CAAC;AAC9C,OAAO,EAAQ,aAAa,EAAC,MAAM,gBAAgB,CAAC;AACpD,OAAO,EAAC,eAAe,EAAC,MAAM,gBAAgB,CAAC;AAC/C,OAAO,EAAC,KAAK,EAAC,MAAM,iBAAiB,CAAC;AACtC,OAAO,EAAC,IAAI,EAAC,MAAM,aAAa,CAAC;AAkBjC,MAAM,OAAO,GAAG,CAAC,EACf,KAAK,EACL,KAAK,EACL,IAAI,EACJ,YAAY,EACZ,UAAU,GAAG,IAAI,EACjB,UAAU,GACG,EAAE,EAAE;IACjB,MAAM,MAAM,GAAG,aAAa,EAAE,CAAC;IAE/B,MAAM,eAAe,GAAG,OAAO,CAC7B,GAAG,EAAE,CACH,CAAC,IAAI,IAAI,EAAE,CAAC;SACT,GAAG,CAAC,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE,CAAC,CAAC;QAClB,GAAG,GAAG;QACN,KAAK,EAAE,GAAG,CAAC,KAAK,IAAI,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,GAAG,EAAE;KAChD,CAAC,CAAC;SACF,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,MAAM,KAAK,IAAI,CAAC;SAClC,IAAI,CAAC,CAAC,QAAQ,EAAE,SAAS,EAAE,EAAE,CAAC,QAAQ,CAAC,KAAK,GAAG,SAAS,CAAC,KAAK,CAAC,EACpE,CAAC,IAAI,CAAC,CACP,CAAC;IAEF,MAAM,OAAO,GAAG,OAAO,CACrB,GAAG,EAAE,CAAC,eAAe,CAAC,MAAM,KAAK,CAAC,EAClC,CAAC,eAAe,CAAC,CAClB,CAAC;IAEF,MAAM,gBAAgB,GAAG,WAAW,CAAC,GAAG,EAAE;QACxC,MAAM,MAAM,GACV,CAAC,eAAe,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,UAAU,EAAE,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,MAAM,CAAC;QACzE,MAAM,UAAU,GAAG,MAAM,CAAC,WAAW,EAAE,CAAC;QAExC,MAAM,OAAO,GACX,UAAU,IAAI,IAAI;YAChB,CAAC,CAAC,UAAU,CAAC,sBAAsB,EAAE,EAAC,KAAK,EAAE,UAAU,EAAC,CAAC;YACzD,CAAC,CAAC,MAAM,UAAU,aAAa,CAAC;QAEpC,OAAO,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,EAAE,IAAI,CAAC,CAAC;IAChC,CAAC,EAAE,CAAC,KAAK,EAAE,UAAU,CAAC,CAAC,CAAC;IAExB,IAAI,OAAO,IAAI,UAAU,EAAE;QACzB,OAAO,IAAI,CAAC;KACb;IAED,OAAO,CACL,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC,CACrC;MAAA,CAAC,CAAC,eAAe,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAE,EAAC,EAAE,IAAI,CAAC,CACtE;MAAA,CAAC,OAAO;YACN,CAAC,CAAC,gBAAgB,EAAE;YACpB,CAAC,CAAC,eAAe,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,KAAK,EAAE,EAAE;gBACjC,MAAM,KAAK,GACT,GAAG,CAAC,KAAK,IAAI,IAAI,CAAC,CAAC,
|
|
1
|
+
{"version":3,"file":"TagList.js","sourceRoot":"","sources":["../../../../src/components/organisms/TagList/TagList.tsx"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import { Line } from './ViewAllEditList';
|
|
3
|
+
interface AllLinesAlertProps {
|
|
4
|
+
title: string;
|
|
5
|
+
isAlertVisible: boolean;
|
|
6
|
+
setIsAlertVisible: (visible: boolean) => void;
|
|
7
|
+
lines: Line[];
|
|
8
|
+
setLines: (lines: Line[]) => void;
|
|
9
|
+
handleEditLine: (line: Line) => void;
|
|
10
|
+
translator: (key: string) => string;
|
|
11
|
+
}
|
|
12
|
+
declare const AllLinesAlert: ({ title, isAlertVisible, setIsAlertVisible, lines, setLines, handleEditLine, translator, }: AllLinesAlertProps) => React.JSX.Element;
|
|
13
|
+
export default AllLinesAlert;
|
|
@@ -0,0 +1,81 @@
|
|
|
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, { useState } from 'react';
|
|
19
|
+
import { StyleSheet, View } from 'react-native';
|
|
20
|
+
import { Icon, Text } from '../../atoms';
|
|
21
|
+
import { Alert } from '../../molecules';
|
|
22
|
+
import { CheckboxScrollList } from '../../organisms';
|
|
23
|
+
import { useThemeColor } from '../../../theme';
|
|
24
|
+
const AllLinesAlert = ({ title, isAlertVisible, setIsAlertVisible, lines, setLines, handleEditLine, translator, }) => {
|
|
25
|
+
const Colors = useThemeColor();
|
|
26
|
+
const [selectedLines, setSelectedLines] = useState([]);
|
|
27
|
+
const renderChexboxItem = ({ item }) => {
|
|
28
|
+
return (<View style={styles.renderContainer}>
|
|
29
|
+
<View style={styles.renderFirstLine}>
|
|
30
|
+
<Text style={styles.productName} writingType="important">
|
|
31
|
+
{item.name}
|
|
32
|
+
</Text>
|
|
33
|
+
<Text style={styles.productQty}>
|
|
34
|
+
{item.qty} {item.unitName}
|
|
35
|
+
</Text>
|
|
36
|
+
<Icon name="pencil-fill" size={20} touchable onPress={() => {
|
|
37
|
+
setIsAlertVisible(false);
|
|
38
|
+
handleEditLine(item);
|
|
39
|
+
}}/>
|
|
40
|
+
</View>
|
|
41
|
+
{item.nameDetails && (<Text writingType="details">{item.nameDetails}</Text>)}
|
|
42
|
+
</View>);
|
|
43
|
+
};
|
|
44
|
+
return (<Alert style={styles.alertContainer} visible={isAlertVisible} title={title} cancelButtonConfig={{
|
|
45
|
+
showInHeader: true,
|
|
46
|
+
onPress: () => setIsAlertVisible(false),
|
|
47
|
+
}} confirmButtonConfig={{
|
|
48
|
+
title: translator('Base_Remove'),
|
|
49
|
+
iconName: 'trash3-fill',
|
|
50
|
+
width: '45%',
|
|
51
|
+
color: Colors.warningColor,
|
|
52
|
+
onPress: () => {
|
|
53
|
+
setLines(lines.filter(_line => selectedLines.filter(_selectedLine => _selectedLine.id === _line.id).length === 0));
|
|
54
|
+
setIsAlertVisible(false);
|
|
55
|
+
},
|
|
56
|
+
}} translator={translator}>
|
|
57
|
+
<CheckboxScrollList data={lines} onCheckedChange={setSelectedLines} renderItem={renderChexboxItem} translator={translator}/>
|
|
58
|
+
</Alert>);
|
|
59
|
+
};
|
|
60
|
+
const styles = StyleSheet.create({
|
|
61
|
+
renderContainer: {
|
|
62
|
+
minHeight: 45,
|
|
63
|
+
justifyContent: 'center',
|
|
64
|
+
},
|
|
65
|
+
renderFirstLine: {
|
|
66
|
+
flexDirection: 'row',
|
|
67
|
+
justifyContent: 'space-between',
|
|
68
|
+
alignItems: 'flex-start',
|
|
69
|
+
},
|
|
70
|
+
productName: {
|
|
71
|
+
flex: 4,
|
|
72
|
+
},
|
|
73
|
+
productQty: {
|
|
74
|
+
flex: 2,
|
|
75
|
+
},
|
|
76
|
+
alertContainer: {
|
|
77
|
+
height: '70%',
|
|
78
|
+
},
|
|
79
|
+
});
|
|
80
|
+
export default AllLinesAlert;
|
|
81
|
+
//# sourceMappingURL=AllLinesAlert.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"AllLinesAlert.js","sourceRoot":"","sources":["../../../../src/components/organisms/ViewAllEditList/AllLinesAlert.tsx"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import { Line } from './ViewAllEditList';
|
|
3
|
+
interface LineComponentProps {
|
|
4
|
+
line: Line;
|
|
5
|
+
isSelected: boolean;
|
|
6
|
+
handleEditLine: (line: Line) => void;
|
|
7
|
+
handleDeleteLine: (lineId: number) => void;
|
|
8
|
+
}
|
|
9
|
+
declare const LineComponent: ({ line, isSelected, handleEditLine, handleDeleteLine, }: LineComponentProps) => React.JSX.Element;
|
|
10
|
+
export default LineComponent;
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* Axelor Business Solutions
|
|
3
|
+
*
|
|
4
|
+
* Copyright (C) 2024 Axelor (<http://axelor.com>).
|
|
5
|
+
*
|
|
6
|
+
* This program is free software: you can redistribute it and/or modify
|
|
7
|
+
* it under the terms of the GNU Affero General Public License, version 3,
|
|
8
|
+
* as published by the Free Software Foundation.
|
|
9
|
+
*
|
|
10
|
+
* This program is distributed in the hope that it will be useful,
|
|
11
|
+
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
12
|
+
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
13
|
+
* GNU Affero General Public License for more details.
|
|
14
|
+
*
|
|
15
|
+
* You should have received a copy of the GNU Affero General Public License
|
|
16
|
+
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
|
17
|
+
*/
|
|
18
|
+
import React from 'react';
|
|
19
|
+
import { StyleSheet, View } from 'react-native';
|
|
20
|
+
import { Icon, Text } from '../../atoms';
|
|
21
|
+
import { useThemeColor } from '../../../theme';
|
|
22
|
+
const LineComponent = ({ line, isSelected, handleEditLine, handleDeleteLine, }) => {
|
|
23
|
+
const Colors = useThemeColor();
|
|
24
|
+
return (<View style={styles.container}>
|
|
25
|
+
<Text style={styles.productName} writingType={isSelected ? 'title' : null} textColor={isSelected ? Colors.secondaryColor.background : null} fontSize={16}>
|
|
26
|
+
{line.name}
|
|
27
|
+
</Text>
|
|
28
|
+
<Text style={styles.productQty} writingType={isSelected ? 'title' : null} textColor={isSelected ? Colors.secondaryColor.background : null} fontSize={16}>
|
|
29
|
+
{line.qty} {line.unitName}
|
|
30
|
+
</Text>
|
|
31
|
+
<Icon style={styles.icon} name="pencil-fill" size={16} touchable={!isSelected} color={isSelected ? Colors.secondaryColor.background : null} onPress={() => handleEditLine(line)}/>
|
|
32
|
+
<Icon style={styles.icon} name="x-lg" size={20} touchable onPress={() => handleDeleteLine(line.id)}/>
|
|
33
|
+
</View>);
|
|
34
|
+
};
|
|
35
|
+
const styles = StyleSheet.create({
|
|
36
|
+
container: {
|
|
37
|
+
flexDirection: 'row',
|
|
38
|
+
justifyContent: 'space-between',
|
|
39
|
+
marginVertical: 4,
|
|
40
|
+
},
|
|
41
|
+
productName: {
|
|
42
|
+
flex: 4,
|
|
43
|
+
},
|
|
44
|
+
productQty: {
|
|
45
|
+
flex: 2,
|
|
46
|
+
},
|
|
47
|
+
icon: {
|
|
48
|
+
marginLeft: 3,
|
|
49
|
+
},
|
|
50
|
+
});
|
|
51
|
+
export default LineComponent;
|
|
52
|
+
//# sourceMappingURL=LineComponent.js.map
|