add error code icon functionality and color selection in forms
This commit is contained in:
@@ -36,6 +36,7 @@ const AddBrandDevice = () => {
|
||||
const [loading, setLoading] = useState(false);
|
||||
const [formData, setFormData] = useState(defaultData);
|
||||
const [errorCodes, setErrorCodes] = useState([]);
|
||||
const [errorCodeIcon, setErrorCodeIcon] = useState(null);
|
||||
|
||||
const {
|
||||
solutionFields,
|
||||
@@ -99,6 +100,8 @@ const AddBrandDevice = () => {
|
||||
error_code: ec.error_code,
|
||||
error_code_name: ec.error_code_name || '',
|
||||
error_code_description: ec.error_code_description || '',
|
||||
error_code_color: ec.error_code_color || '#000000',
|
||||
path_icon: ec.path_icon || '',
|
||||
is_active: ec.status !== undefined ? ec.status : true,
|
||||
solution: (ec.solution || []).map((sol) => ({
|
||||
solution_name: sol.solution_name,
|
||||
@@ -123,6 +126,8 @@ const AddBrandDevice = () => {
|
||||
error_code: 'DEFAULT',
|
||||
error_code_name: 'Default Error Code',
|
||||
error_code_description: 'Default error description',
|
||||
error_code_color: '#000000',
|
||||
path_icon: '',
|
||||
is_active: true,
|
||||
solution: [
|
||||
{
|
||||
@@ -169,9 +174,11 @@ const AddBrandDevice = () => {
|
||||
error_code: record.error_code,
|
||||
error_code_name: record.error_code_name,
|
||||
error_code_description: record.error_code_description,
|
||||
error_code_color: record.error_code_color,
|
||||
status: record.status,
|
||||
});
|
||||
setFileList(record.fileList || []);
|
||||
setErrorCodeIcon(record.errorCodeIcon || null);
|
||||
setIsErrorCodeFormReadOnly(true);
|
||||
setEditingErrorCodeKey(null);
|
||||
|
||||
@@ -185,9 +192,11 @@ const AddBrandDevice = () => {
|
||||
error_code: record.error_code,
|
||||
error_code_name: record.error_code_name,
|
||||
error_code_description: record.error_code_description,
|
||||
error_code_color: record.error_code_color,
|
||||
status: record.status,
|
||||
});
|
||||
setFileList(record.fileList || []);
|
||||
setErrorCodeIcon(record.errorCodeIcon || null);
|
||||
setIsErrorCodeFormReadOnly(false);
|
||||
setEditingErrorCodeKey(record.key);
|
||||
|
||||
@@ -197,9 +206,15 @@ const AddBrandDevice = () => {
|
||||
};
|
||||
|
||||
const handleAddErrorCode = async (newErrorCode) => {
|
||||
// Include the current icon in the error code
|
||||
const errorCodeWithIcon = {
|
||||
...newErrorCode,
|
||||
errorCodeIcon: errorCodeIcon
|
||||
};
|
||||
|
||||
if (editingErrorCodeKey) {
|
||||
const updatedCodes = errorCodes.map((item) =>
|
||||
item.key === editingErrorCodeKey ? newErrorCode : item
|
||||
item.key === editingErrorCodeKey ? errorCodeWithIcon : item
|
||||
);
|
||||
setErrorCodes(updatedCodes);
|
||||
NotifOk({
|
||||
@@ -208,7 +223,7 @@ const AddBrandDevice = () => {
|
||||
message: 'Error code berhasil diupdate!',
|
||||
});
|
||||
} else {
|
||||
const updatedCodes = [...errorCodes, newErrorCode];
|
||||
const updatedCodes = [...errorCodes, errorCodeWithIcon];
|
||||
setErrorCodes(updatedCodes);
|
||||
NotifOk({
|
||||
icon: 'success',
|
||||
@@ -228,6 +243,7 @@ const AddBrandDevice = () => {
|
||||
solution_type_0: 'text',
|
||||
});
|
||||
setFileList([]);
|
||||
setErrorCodeIcon(null);
|
||||
resetSolutionFields();
|
||||
setIsErrorCodeFormReadOnly(false);
|
||||
setEditingErrorCodeKey(null);
|
||||
@@ -326,6 +342,14 @@ const AddBrandDevice = () => {
|
||||
setFileList(newFileList);
|
||||
};
|
||||
|
||||
const handleErrorCodeIconUpload = (iconData) => {
|
||||
setErrorCodeIcon(iconData);
|
||||
};
|
||||
|
||||
const handleErrorCodeIconRemove = () => {
|
||||
setErrorCodeIcon(null);
|
||||
};
|
||||
|
||||
const renderStepContent = () => {
|
||||
if (currentStep === 0) {
|
||||
return (
|
||||
@@ -381,6 +405,9 @@ const AddBrandDevice = () => {
|
||||
onCreateNewErrorCode={handleCreateNewErrorCode}
|
||||
onResetForm={resetErrorCodeForm}
|
||||
errorCodes={errorCodes}
|
||||
errorCodeIcon={errorCodeIcon}
|
||||
onErrorCodeIconUpload={handleErrorCodeIconUpload}
|
||||
onErrorCodeIconRemove={handleErrorCodeIconRemove}
|
||||
/>
|
||||
</Form>
|
||||
</Col>
|
||||
|
||||
Reference in New Issue
Block a user