@axelor/aos-mobile-quality 8.5.26 → 8.5.28
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/NavigationButton/NavigationButton.d.ts +1 -1
- package/lib/components/atoms/NavigationButton/NavigationButton.js +3 -9
- package/lib/components/atoms/NavigationButton/NavigationButton.js.map +1 -1
- package/lib/components/molecules/ControlEntryFormButtons/ControlEntryFormButtons.js +12 -7
- package/lib/components/molecules/ControlEntryFormButtons/ControlEntryFormButtons.js.map +1 -1
- package/lib/components/templates/DefectViewAllList/DefectViewAllList.js +39 -34
- package/lib/components/templates/DefectViewAllList/DefectViewAllList.js.map +1 -1
- package/lib/types/qualityImprovement.d.ts +1 -0
- package/lib/types/qualityImprovement.js +8 -0
- package/lib/types/qualityImprovement.js.map +1 -1
- package/package.json +4 -4
|
@@ -15,26 +15,20 @@
|
|
|
15
15
|
* You should have received a copy of the GNU Affero General Public License
|
|
16
16
|
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
|
17
17
|
*/
|
|
18
|
-
import React
|
|
18
|
+
import React from 'react';
|
|
19
19
|
import { StyleSheet, View } from 'react-native';
|
|
20
|
-
import { Button,
|
|
20
|
+
import { Button, useThemeColor } from '@axelor/aos-mobile-ui';
|
|
21
21
|
const NavigationButton = ({ style, position, onPress, icon, disabled, title, }) => {
|
|
22
22
|
const Colors = useThemeColor();
|
|
23
|
-
const positionStyle = useMemo(() => ({ [position]: !checkNullString(title) ? '10%' : '15%' }), [position, title]);
|
|
24
23
|
return (<View style={[styles.buttonContainer, style]}>
|
|
25
|
-
<Button title={title} onPress={onPress} color={Colors.priorityColor} disabled={disabled} iconName={icon}/>
|
|
26
|
-
<Icon name={`chevron-${position}`} style={[styles.chevron, positionStyle]}/>
|
|
24
|
+
<Button title={title} onPress={onPress} color={Colors.priorityColor} disabled={disabled} iconName={position === 'left' ? 'chevron-left' : icon} rightIconName={position === 'right' ? 'chevron-right' : icon} iconSize={18}/>
|
|
27
25
|
</View>);
|
|
28
26
|
};
|
|
29
27
|
const styles = StyleSheet.create({
|
|
30
28
|
buttonContainer: {
|
|
31
|
-
width: '45%',
|
|
32
29
|
alignItems: 'center',
|
|
33
30
|
justifyContent: 'center',
|
|
34
31
|
},
|
|
35
|
-
chevron: {
|
|
36
|
-
position: 'absolute',
|
|
37
|
-
},
|
|
38
32
|
});
|
|
39
33
|
export default NavigationButton;
|
|
40
34
|
//# sourceMappingURL=NavigationButton.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"NavigationButton.js","sourceRoot":"","sources":["../../../../src/components/atoms/NavigationButton/NavigationButton.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAEH,OAAO,KAAK,
|
|
1
|
+
{"version":3,"file":"NavigationButton.js","sourceRoot":"","sources":["../../../../src/components/atoms/NavigationButton/NavigationButton.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAEH,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAC,UAAU,EAAE,IAAI,EAAC,MAAM,cAAc,CAAC;AAC9C,OAAO,EAAC,MAAM,EAAE,aAAa,EAAC,MAAM,uBAAuB,CAAC;AAW5D,MAAM,gBAAgB,GAAG,CAAC,EACxB,KAAK,EACL,QAAQ,EACR,OAAO,EACP,IAAI,EACJ,QAAQ,EACR,KAAK,GACiB,EAAE,EAAE;IAC1B,MAAM,MAAM,GAAG,aAAa,EAAE,CAAC;IAE/B,OAAO,CACL,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,eAAe,EAAE,KAAK,CAAC,CAAC,CAC3C;MAAA,CAAC,MAAM,CACL,KAAK,CAAC,CAAC,KAAK,CAAC,CACb,OAAO,CAAC,CAAC,OAAO,CAAC,CACjB,KAAK,CAAC,CAAC,MAAM,CAAC,aAAa,CAAC,CAC5B,QAAQ,CAAC,CAAC,QAAQ,CAAC,CACnB,QAAQ,CAAC,CAAC,QAAQ,KAAK,MAAM,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,IAAI,CAAC,CACtD,aAAa,CAAC,CAAC,QAAQ,KAAK,OAAO,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,IAAI,CAAC,CAC7D,QAAQ,CAAC,CAAC,EAAE,CAAC,EAEjB;IAAA,EAAE,IAAI,CAAC,CACR,CAAC;AACJ,CAAC,CAAC;AAEF,MAAM,MAAM,GAAG,UAAU,CAAC,MAAM,CAAC;IAC/B,eAAe,EAAE;QACf,UAAU,EAAE,QAAQ;QACpB,cAAc,EAAE,QAAQ;KACzB;CACF,CAAC,CAAC;AAEH,eAAe,gBAAgB,CAAC"}
|
|
@@ -52,25 +52,30 @@ const ControlEntryFormButtons = ({ mode, canPrevious, canNext, isFirstItem, isLa
|
|
|
52
52
|
sampleLine?.resultSelect,
|
|
53
53
|
]);
|
|
54
54
|
return (<View style={styles.container}>
|
|
55
|
-
<NavigationButton position="left" onPress={() => {
|
|
55
|
+
<NavigationButton style={styles.navigationButton} position="left" onPress={() => {
|
|
56
56
|
handleNotControlled();
|
|
57
57
|
handlePrevious();
|
|
58
58
|
}} icon={isFirstItem ? categoryIcon : subCategoryIcon} disabled={!canPrevious}/>
|
|
59
|
-
<NavigationButton position="right" onPress={() => {
|
|
59
|
+
<NavigationButton style={styles.navigationButton} position="right" onPress={() => {
|
|
60
60
|
handleNotControlled();
|
|
61
61
|
handleNext();
|
|
62
62
|
}} icon={isLastItem ? categoryIcon : subCategoryIcon} disabled={!canNext}/>
|
|
63
|
-
{isConformityButton && (<Button style={styles.
|
|
63
|
+
{isConformityButton && (<Button style={styles.validationButton} onPress={onPress} iconName="check-lg" color={Colors.successColor}/>)}
|
|
64
64
|
</View>);
|
|
65
65
|
};
|
|
66
66
|
const styles = StyleSheet.create({
|
|
67
67
|
container: {
|
|
68
|
+
width: '90%',
|
|
69
|
+
alignSelf: 'center',
|
|
68
70
|
flexDirection: 'row',
|
|
69
|
-
|
|
70
|
-
|
|
71
|
+
alignItems: 'center',
|
|
72
|
+
gap: 5,
|
|
71
73
|
},
|
|
72
|
-
|
|
73
|
-
|
|
74
|
+
navigationButton: {
|
|
75
|
+
flex: 1,
|
|
76
|
+
},
|
|
77
|
+
validationButton: {
|
|
78
|
+
flex: 2,
|
|
74
79
|
},
|
|
75
80
|
});
|
|
76
81
|
export default ControlEntryFormButtons;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ControlEntryFormButtons.js","sourceRoot":"","sources":["../../../../src/components/molecules/ControlEntryFormButtons/ControlEntryFormButtons.tsx"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"ControlEntryFormButtons.js","sourceRoot":"","sources":["../../../../src/components/molecules/ControlEntryFormButtons/ControlEntryFormButtons.tsx"],"names":[],"mappings":"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"}
|
|
@@ -15,20 +15,47 @@
|
|
|
15
15
|
* You should have received a copy of the GNU Affero General Public License
|
|
16
16
|
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
|
17
17
|
*/
|
|
18
|
-
import React, { useCallback, useMemo, useState } from 'react';
|
|
18
|
+
import React, { useCallback, useEffect, useMemo, useRef, useState } from 'react';
|
|
19
19
|
import { StyleSheet, View } from 'react-native';
|
|
20
20
|
import { useTranslator } from '@axelor/aos-mobile-core';
|
|
21
21
|
import { Button, FormHtmlInput, HorizontalRuleText, QuantityCard, ViewAllEditList, } from '@axelor/aos-mobile-ui';
|
|
22
22
|
import { DefectSearchBar } from '../../templates';
|
|
23
23
|
import { DefectFilesManager } from '../../organisms';
|
|
24
|
+
import { QualityImprovement } from '../../../types';
|
|
24
25
|
const DefectViewAllListAux = ({ title = 'Quality_Defect', defaultValue, onChange, objectState, readonly = false, }) => {
|
|
25
26
|
const I18n = useTranslator();
|
|
26
|
-
const [
|
|
27
|
-
const [
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
27
|
+
const [initialPendingLine] = useState(() => defaultValue?.find(_item => _item.isPending));
|
|
28
|
+
const [lines, setLines] = useState(() => (defaultValue ?? []).flatMap(_item => {
|
|
29
|
+
if (!_item.isPending)
|
|
30
|
+
return [_item];
|
|
31
|
+
return _item.originalLine != null ? [_item.originalLine] : [];
|
|
32
|
+
}));
|
|
33
|
+
const [editId, setEditId] = useState(initialPendingLine?.originalLine != null
|
|
34
|
+
? initialPendingLine.id
|
|
35
|
+
: undefined);
|
|
36
|
+
const [defect, setDefect] = useState(initialPendingLine?.qiDefault);
|
|
37
|
+
const [qty, setQty] = useState(initialPendingLine?.qty ?? 1);
|
|
38
|
+
const [description, setDescription] = useState(initialPendingLine?.description ?? '');
|
|
39
|
+
const [files, setFiles] = useState(initialPendingLine?.files ?? []);
|
|
40
|
+
const onChangeRef = useRef(onChange);
|
|
41
|
+
onChangeRef.current = onChange;
|
|
42
|
+
const pendingLine = useMemo(() => defect == null
|
|
43
|
+
? null
|
|
44
|
+
: {
|
|
45
|
+
id: editId ?? `qiDefault-${defect.id}.${lines.length}`,
|
|
46
|
+
name: defect.name,
|
|
47
|
+
qiDefault: defect,
|
|
48
|
+
qty,
|
|
49
|
+
description,
|
|
50
|
+
files,
|
|
51
|
+
}, [defect, description, editId, files, lines.length, qty]);
|
|
52
|
+
useEffect(() => {
|
|
53
|
+
onChangeRef.current(QualityImprovement.mergeDefectLine(lines, pendingLine && {
|
|
54
|
+
...pendingLine,
|
|
55
|
+
isPending: true,
|
|
56
|
+
originalLine: lines.find(_item => _item.id === pendingLine.id),
|
|
57
|
+
}));
|
|
58
|
+
}, [lines, pendingLine]);
|
|
32
59
|
const handleEditLine = useCallback((line) => {
|
|
33
60
|
setEditId(line.id);
|
|
34
61
|
setDefect(line.qiDefault);
|
|
@@ -36,39 +63,17 @@ const DefectViewAllListAux = ({ title = 'Quality_Defect', defaultValue, onChange
|
|
|
36
63
|
setDescription(line.description);
|
|
37
64
|
setFiles(line.files ?? []);
|
|
38
65
|
}, []);
|
|
39
|
-
const handleChange = useCallback((updated) => {
|
|
40
|
-
setLines(updated);
|
|
41
|
-
onChange(updated);
|
|
42
|
-
}, [onChange]);
|
|
43
66
|
const handleConfirm = useCallback(() => {
|
|
44
|
-
setLines(_current =>
|
|
45
|
-
|
|
46
|
-
id: editId ?? `qiDefault-${defect.id}.${_current.length}`,
|
|
47
|
-
name: defect.name,
|
|
48
|
-
qiDefault: defect,
|
|
49
|
-
qty,
|
|
50
|
-
description,
|
|
51
|
-
files,
|
|
52
|
-
};
|
|
53
|
-
let updatedLines;
|
|
54
|
-
if (editId != null) {
|
|
55
|
-
updatedLines = _current.map(_item => _item.id === editId ? { ..._item, ...lineContent } : _item);
|
|
56
|
-
}
|
|
57
|
-
else {
|
|
58
|
-
updatedLines = [..._current, lineContent];
|
|
59
|
-
}
|
|
60
|
-
onChange(updatedLines);
|
|
61
|
-
return updatedLines;
|
|
62
|
-
});
|
|
63
|
-
setDefect(null);
|
|
67
|
+
setLines(_current => QualityImprovement.mergeDefectLine(_current, pendingLine));
|
|
68
|
+
setDefect(undefined);
|
|
64
69
|
setQty(1);
|
|
65
70
|
setDescription('');
|
|
66
71
|
setFiles([]);
|
|
67
|
-
setEditId(
|
|
68
|
-
}, [
|
|
72
|
+
setEditId(undefined);
|
|
73
|
+
}, [pendingLine]);
|
|
69
74
|
const currentDefectId = useMemo(() => lines?.find(l => l.id === editId)?._id, [editId, lines]);
|
|
70
75
|
return (<View style={styles.container}>
|
|
71
|
-
<ViewAllEditList title={I18n.t(title)} lines={lines} setLines={
|
|
76
|
+
<ViewAllEditList title={I18n.t(title)} lines={lines} setLines={setLines} currentLineId={editId} handleEditLine={handleEditLine} translator={I18n.t}/>
|
|
72
77
|
<HorizontalRuleText text={I18n.t('Quality_NewDefault')} style={styles.width}/>
|
|
73
78
|
<DefectSearchBar defaultValue={defect} onChange={setDefect} objectState={objectState} readonly={readonly} required/>
|
|
74
79
|
<QuantityCard style={styles.width} labelQty={I18n.t('Quality_Quantity')} defaultValue={qty} onValueChange={setQty} editable={!readonly} isBigButton translator={I18n.t}/>
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DefectViewAllList.js","sourceRoot":"","sources":["../../../../src/components/templates/DefectViewAllList/DefectViewAllList.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAEH,OAAO,KAAK,EAAE,EAAC,WAAW,EAAE,OAAO,EAAE,QAAQ,EAAC,MAAM,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"DefectViewAllList.js","sourceRoot":"","sources":["../../../../src/components/templates/DefectViewAllList/DefectViewAllList.tsx"],"names":[],"mappings":"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"}
|
|
@@ -28,6 +28,14 @@ class QualityImprovement {
|
|
|
28
28
|
{ titleKey: 'Quality_Defaults', value: this.Steps.defaults },
|
|
29
29
|
];
|
|
30
30
|
};
|
|
31
|
+
static mergeDefectLine = (lines, line) => {
|
|
32
|
+
const _lines = lines ?? [];
|
|
33
|
+
if (line == null)
|
|
34
|
+
return _lines;
|
|
35
|
+
if (_lines.some(_item => _item.id === line.id))
|
|
36
|
+
return _lines.map(_item => _item.id === line.id ? { ..._item, ...line } : _item);
|
|
37
|
+
return [..._lines, line];
|
|
38
|
+
};
|
|
31
39
|
}
|
|
32
40
|
export default QualityImprovement;
|
|
33
41
|
//# sourceMappingURL=qualityImprovement.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"qualityImprovement.js","sourceRoot":"","sources":["../../src/types/qualityImprovement.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAEH,MAAM,kBAAkB;IACtB,MAAM,CAAC,KAAK,GAAG;QACb,SAAS,EAAE,CAAC;QACZ,cAAc,EAAE,CAAC;QACjB,QAAQ,EAAE,CAAC;KACZ,CAAC;IAEF,MAAM,CAAC,aAAa,GAAG,GAAG,EAAE;QAC1B,OAAO;YACL,EAAC,QAAQ,EAAE,mBAAmB,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,SAAS,EAAC;YAC5D,EAAC,QAAQ,EAAE,wBAAwB,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,cAAc,EAAC;YACtE,EAAC,QAAQ,EAAE,kBAAkB,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,QAAQ,EAAC;SAC3D,CAAC;IACJ,CAAC,CAAC;;AAGJ,eAAe,kBAAkB,CAAC"}
|
|
1
|
+
{"version":3,"file":"qualityImprovement.js","sourceRoot":"","sources":["../../src/types/qualityImprovement.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAEH,MAAM,kBAAkB;IACtB,MAAM,CAAC,KAAK,GAAG;QACb,SAAS,EAAE,CAAC;QACZ,cAAc,EAAE,CAAC;QACjB,QAAQ,EAAE,CAAC;KACZ,CAAC;IAEF,MAAM,CAAC,aAAa,GAAG,GAAG,EAAE;QAC1B,OAAO;YACL,EAAC,QAAQ,EAAE,mBAAmB,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,SAAS,EAAC;YAC5D,EAAC,QAAQ,EAAE,wBAAwB,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,cAAc,EAAC;YACtE,EAAC,QAAQ,EAAE,kBAAkB,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,QAAQ,EAAC;SAC3D,CAAC;IACJ,CAAC,CAAC;IAEF,MAAM,CAAC,eAAe,GAAG,CAAC,KAAY,EAAE,IAAS,EAAS,EAAE;QAC1D,MAAM,MAAM,GAAG,KAAK,IAAI,EAAE,CAAC;QAE3B,IAAI,IAAI,IAAI,IAAI;YAAE,OAAO,MAAM,CAAC;QAEhC,IAAI,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,EAAE,KAAK,IAAI,CAAC,EAAE,CAAC;YAC5C,OAAO,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CACxB,KAAK,CAAC,EAAE,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,EAAC,GAAG,KAAK,EAAE,GAAG,IAAI,EAAC,CAAC,CAAC,CAAC,KAAK,CACnD,CAAC;QAEJ,OAAO,CAAC,GAAG,MAAM,EAAE,IAAI,CAAC,CAAC;IAC3B,CAAC,CAAC;;AAGJ,eAAe,kBAAkB,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@axelor/aos-mobile-quality",
|
|
3
|
-
"version": "8.5.
|
|
3
|
+
"version": "8.5.28",
|
|
4
4
|
"author": "Axelor",
|
|
5
5
|
"license": "AGPL-3.0-only",
|
|
6
6
|
"repository": {
|
|
@@ -32,9 +32,9 @@
|
|
|
32
32
|
"react-native": "0.79.6"
|
|
33
33
|
},
|
|
34
34
|
"dependencies": {
|
|
35
|
-
"@axelor/aos-mobile-core": "8.5.
|
|
36
|
-
"@axelor/aos-mobile-dms": "8.5.
|
|
37
|
-
"@axelor/aos-mobile-ui": "8.5.
|
|
35
|
+
"@axelor/aos-mobile-core": "8.5.28",
|
|
36
|
+
"@axelor/aos-mobile-dms": "8.5.28",
|
|
37
|
+
"@axelor/aos-mobile-ui": "8.5.28",
|
|
38
38
|
"@reduxjs/toolkit": "2.9.0"
|
|
39
39
|
},
|
|
40
40
|
"devDependencies": {
|