@leav/ui 1.5.1 → 1.5.2-20abf6a8

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.
Files changed (108) hide show
  1. package/dist/__mocks__/common/attribute.js +1 -0
  2. package/dist/__mocks__/common/attribute.js.map +1 -1
  3. package/dist/_gqlTypes/index.d.ts +117 -18
  4. package/dist/_gqlTypes/index.js +88 -0
  5. package/dist/_gqlTypes/index.js.map +1 -1
  6. package/dist/_queries/attributes/attributeDetailsFragment.js +1 -0
  7. package/dist/_queries/attributes/attributeDetailsFragment.js.map +1 -1
  8. package/dist/components/Explorer/DataView.d.ts +1 -0
  9. package/dist/components/Explorer/DataView.js +9 -3
  10. package/dist/components/Explorer/DataView.js.map +1 -1
  11. package/dist/components/Explorer/Explorer.d.ts +2 -1
  12. package/dist/components/Explorer/Explorer.js +19 -4
  13. package/dist/components/Explorer/Explorer.js.map +1 -1
  14. package/dist/components/Explorer/TableNameCell.js +1 -1
  15. package/dist/components/Explorer/TableNameCell.js.map +1 -1
  16. package/dist/components/Explorer/_queries/useExplorerData.js +13 -2
  17. package/dist/components/Explorer/_queries/useExplorerData.js.map +1 -1
  18. package/dist/components/Explorer/actions-mass/edit-attribute/EditAttributeMassActionModal.d.ts +13 -0
  19. package/dist/components/Explorer/actions-mass/edit-attribute/EditAttributeMassActionModal.js +20 -0
  20. package/dist/components/Explorer/actions-mass/edit-attribute/EditAttributeMassActionModal.js.map +1 -0
  21. package/dist/components/Explorer/actions-mass/edit-attribute/EditTreeAttributeValueLine.d.ts +10 -0
  22. package/dist/components/Explorer/actions-mass/edit-attribute/EditTreeAttributeValueLine.js +38 -0
  23. package/dist/components/Explorer/actions-mass/edit-attribute/EditTreeAttributeValueLine.js.map +1 -0
  24. package/dist/components/Explorer/actions-mass/edit-attribute/EditTreeAttributeValuesMapping.d.ts +8 -0
  25. package/dist/components/Explorer/actions-mass/edit-attribute/EditTreeAttributeValuesMapping.js +16 -0
  26. package/dist/components/Explorer/actions-mass/edit-attribute/EditTreeAttributeValuesMapping.js.map +1 -0
  27. package/dist/components/Explorer/actions-mass/edit-attribute/useCountValuesOccurrencesHook.d.ts +10 -0
  28. package/dist/components/Explorer/actions-mass/edit-attribute/useCountValuesOccurrencesHook.js +28 -0
  29. package/dist/components/Explorer/actions-mass/edit-attribute/useCountValuesOccurrencesHook.js.map +1 -0
  30. package/dist/components/Explorer/actions-mass/edit-attribute/useListEditableAttributeHook.d.ts +5 -0
  31. package/dist/components/Explorer/actions-mass/edit-attribute/useListEditableAttributeHook.js +12 -0
  32. package/dist/components/Explorer/actions-mass/edit-attribute/useListEditableAttributeHook.js.map +1 -0
  33. package/dist/components/Explorer/actions-mass/edit-attribute/useListTreeAttributeValuesHook.d.ts +5 -0
  34. package/dist/components/Explorer/actions-mass/edit-attribute/useListTreeAttributeValuesHook.js +20 -0
  35. package/dist/components/Explorer/actions-mass/edit-attribute/useListTreeAttributeValuesHook.js.map +1 -0
  36. package/dist/components/Explorer/actions-mass/useEditAttributeMassAction.d.ts +11 -0
  37. package/dist/components/Explorer/actions-mass/useEditAttributeMassAction.js +106 -0
  38. package/dist/components/Explorer/actions-mass/useEditAttributeMassAction.js.map +1 -0
  39. package/dist/components/Explorer/actions-mass/useExportMassAction.js +11 -13
  40. package/dist/components/Explorer/actions-mass/useExportMassAction.js.map +1 -1
  41. package/dist/components/Explorer/link-item/LinkModal.js +1 -1
  42. package/dist/components/Explorer/link-item/LinkModal.js.map +1 -1
  43. package/dist/components/Filters/context/filtersReducer.js +0 -1
  44. package/dist/components/Filters/context/filtersReducer.js.map +1 -1
  45. package/dist/components/Filters/filter-items/filter-type/TextAttributeDropDown.js +24 -7
  46. package/dist/components/Filters/filter-items/filter-type/TextAttributeDropDown.js.map +1 -1
  47. package/dist/components/Filters/filter-items/filter-type/TreeAttributeDropDown.js +15 -17
  48. package/dist/components/Filters/filter-items/filter-type/TreeAttributeDropDown.js.map +1 -1
  49. package/dist/components/Filters/prepareFiltersForRequest.js +1 -1
  50. package/dist/components/Filters/prepareFiltersForRequest.js.map +1 -1
  51. package/dist/components/RecordEdition/EditRecordContent/antdUtils.js +12 -3
  52. package/dist/components/RecordEdition/EditRecordContent/antdUtils.js.map +1 -1
  53. package/dist/components/RecordEdition/EditRecordContent/uiElements/LinkField/LinkField.js +4 -1
  54. package/dist/components/RecordEdition/EditRecordContent/uiElements/LinkField/LinkField.js.map +1 -1
  55. package/dist/components/RecordEdition/EditRecordContent/uiElements/StandardField/StandardField.js +6 -3
  56. package/dist/components/RecordEdition/EditRecordContent/uiElements/StandardField/StandardField.js.map +1 -1
  57. package/dist/components/RecordEdition/EditRecordContent/uiElements/StandardField/StandardFieldValue/DSBooleanWrapper.js +6 -5
  58. package/dist/components/RecordEdition/EditRecordContent/uiElements/StandardField/StandardFieldValue/DSBooleanWrapper.js.map +1 -1
  59. package/dist/components/RecordEdition/EditRecordContent/uiElements/StandardField/StandardFieldValue/DSColorPickerWrapper.js +9 -8
  60. package/dist/components/RecordEdition/EditRecordContent/uiElements/StandardField/StandardFieldValue/DSColorPickerWrapper.js.map +1 -1
  61. package/dist/components/RecordEdition/EditRecordContent/uiElements/StandardField/StandardFieldValue/DSDatePickerWrapper.js +8 -7
  62. package/dist/components/RecordEdition/EditRecordContent/uiElements/StandardField/StandardFieldValue/DSDatePickerWrapper.js.map +1 -1
  63. package/dist/components/RecordEdition/EditRecordContent/uiElements/StandardField/StandardFieldValue/DSInputNumberWrapper.js +6 -5
  64. package/dist/components/RecordEdition/EditRecordContent/uiElements/StandardField/StandardFieldValue/DSInputNumberWrapper.js.map +1 -1
  65. package/dist/components/RecordEdition/EditRecordContent/uiElements/StandardField/StandardFieldValue/DSInputWrapper.js +6 -5
  66. package/dist/components/RecordEdition/EditRecordContent/uiElements/StandardField/StandardFieldValue/DSInputWrapper.js.map +1 -1
  67. package/dist/components/RecordEdition/EditRecordContent/uiElements/StandardField/StandardFieldValue/DSRangePickerWrapper.js +12 -11
  68. package/dist/components/RecordEdition/EditRecordContent/uiElements/StandardField/StandardFieldValue/DSRangePickerWrapper.js.map +1 -1
  69. package/dist/components/RecordEdition/EditRecordContent/uiElements/StandardField/StandardFieldValue/DSRichTextWrapper.js +16 -7
  70. package/dist/components/RecordEdition/EditRecordContent/uiElements/StandardField/StandardFieldValue/DSRichTextWrapper.js.map +1 -1
  71. package/dist/components/RecordEdition/EditRecordContent/uiElements/StandardField/StandardFieldValue/ValuesList/DSListSelect.js +6 -5
  72. package/dist/components/RecordEdition/EditRecordContent/uiElements/StandardField/StandardFieldValue/ValuesList/DSListSelect.js.map +1 -1
  73. package/dist/components/RecordEdition/EditRecordContent/uiElements/StandardField/useGetPresentationValues.d.ts +3 -3
  74. package/dist/components/RecordEdition/EditRecordContent/uiElements/StandardField/useGetPresentationValues.js +10 -4
  75. package/dist/components/RecordEdition/EditRecordContent/uiElements/StandardField/useGetPresentationValues.js.map +1 -1
  76. package/dist/components/RecordEdition/EditRecordContent/uiElements/TreeField/TreeField.js +4 -1
  77. package/dist/components/RecordEdition/EditRecordContent/uiElements/TreeField/TreeField.js.map +1 -1
  78. package/dist/components/RecordEdition/EditRecordContent/uiElements/TreeField/manage-tree-node-selection/SelectTreeNodeModal.js +4 -5
  79. package/dist/components/RecordEdition/EditRecordContent/uiElements/TreeField/manage-tree-node-selection/SelectTreeNodeModal.js.map +1 -1
  80. package/dist/components/RecordEdition/EditRecordContent/uiElements/shared/ComputeIndicator.js +2 -2
  81. package/dist/components/RecordEdition/EditRecordContent/uiElements/shared/ComputeIndicator.js.map +1 -1
  82. package/dist/components/RecordEdition/EditRecordContent/uiElements/shared/calculatedInheritedFlags.d.ts +24 -24
  83. package/dist/components/RecordEdition/EditRecordContent/uiElements/shared/calculatedInheritedFlags.js +34 -35
  84. package/dist/components/RecordEdition/EditRecordContent/uiElements/shared/calculatedInheritedFlags.js.map +1 -1
  85. package/dist/components/RecordEdition/EditRecordSidebar/EditRecordSidebar.js +1 -1
  86. package/dist/components/RecordEdition/EditRecordSidebar/EditRecordSidebar.js.map +1 -1
  87. package/dist/components/RecordEdition/EditRecordSidebar/ValuesSummary/ValuesSummary.d.ts +1 -1
  88. package/dist/components/RecordEdition/EditRecordSidebar/ValuesSummary/ValuesSummary.js +15 -10
  89. package/dist/components/RecordEdition/EditRecordSidebar/ValuesSummary/ValuesSummary.js.map +1 -1
  90. package/dist/components/RecordEdition/editRecordReducer/editRecordReducer.d.ts +1 -1
  91. package/dist/components/RecordEdition/editRecordReducer/editRecordReducer.js +4 -3
  92. package/dist/components/RecordEdition/editRecordReducer/editRecordReducer.js.map +1 -1
  93. package/dist/components/SelectRecordForLinkModal/SelectRecordForLinkModal.d.ts +1 -0
  94. package/dist/components/SelectRecordForLinkModal/SelectRecordForLinkModal.js +40 -19
  95. package/dist/components/SelectRecordForLinkModal/SelectRecordForLinkModal.js.map +1 -1
  96. package/dist/components/SelectTreeNode/SelectTreeNodeContent.js +3 -0
  97. package/dist/components/SelectTreeNode/SelectTreeNodeContent.js.map +1 -1
  98. package/dist/constants.d.ts +1 -0
  99. package/dist/constants.js +1 -0
  100. package/dist/constants.js.map +1 -1
  101. package/dist/hooks/useIFrameMessenger/schema.d.ts +43 -4
  102. package/dist/hooks/useIFrameMessenger/schema.js +11 -5
  103. package/dist/hooks/useIFrameMessenger/schema.js.map +1 -1
  104. package/dist/hooks/useIFrameMessenger/types.d.ts +2 -1
  105. package/dist/hooks/useIFrameMessenger/types.js.map +1 -1
  106. package/dist/locales/en/shared.json +20 -7
  107. package/dist/locales/fr/shared.json +20 -7
  108. package/package.json +4 -4
@@ -1 +1 @@
1
- {"version":3,"file":"StandardField.js","sourceRoot":"","sources":["../../../../../../src/components/RecordEdition/EditRecordContent/uiElements/StandardField/StandardField.tsx"],"names":[],"mappings":"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","sourcesContent":["// Copyright LEAV Solutions 2017 until 2023/11/05, Copyright Aristid from 2023/11/06\n// This file is released under LGPL V3\n// License text available at https://www.gnu.org/licenses/lgpl-3.0.txt\nimport {type AnyPrimitive, ErrorTypes, type IRequiredFieldsSettings, localizedTranslation} from '@leav/utils';\nimport {type FunctionComponent, useEffect, useRef, useState} from 'react';\nimport styled, {css} from 'styled-components';\nimport {ErrorDisplay} from '_ui/components';\nimport {type RecordFormElementsValueStandardValue} from '_ui/hooks/useGetRecordForm/useGetRecordForm';\nimport {AttributeFormat, type ValueDetailsFragment} from '_ui/_gqlTypes';\nimport {APICallStatus, type IFormElementProps, type ISubmitMultipleResult} from '../../_types';\nimport StandardFieldValue from './StandardFieldValue';\nimport {Form, type FormInstance, type FormListOperation} from 'antd';\nimport {KitButton, KitInputWrapper, KitTooltip} from 'aristid-ds';\nimport {useLang} from '_ui/hooks';\nimport {FaPlus, FaTrash} from 'react-icons/fa';\nimport {DeleteAllValuesButton} from '../shared/DeleteAllValuesButton';\nimport {computeCalculatedFlags, computeInheritedFlags} from '../shared/calculatedInheritedFlags';\nimport {useGetPresentationValues} from './useGetPresentationValues';\nimport {useSharedTranslation} from '_ui/hooks/useSharedTranslation';\nimport {getAntdDisplayedValue, getEmptyInitialValue} from '../../antdUtils';\nimport {\n type GetRecordColumnsValuesRecord,\n type IRecordColumnValueStandard,\n} from '_ui/_queries/records/getRecordColumnsValues';\nimport {useEditRecordReducer} from '_ui/components/RecordEdition/editRecordReducer/useEditRecordReducer';\nimport {STANDARD_FIELD_ID_PREFIX} from '_ui/constants';\nimport {ComputeIndicator} from '../shared/ComputeIndicator';\nimport {useOutsideInteractionDetector} from '../shared/useOutsideInteractionDetector';\nimport {EditRecordReducerActionsTypes} from '_ui/components/RecordEdition/editRecordReducer/editRecordReducer';\nimport {INPUT_MAX_HEIGHT} from '../../formConstants';\n\nconst Wrapper = styled.div<{$metadataEdit: boolean}>`\n margin-bottom: ${props => (props.$metadataEdit ? 0 : '1.5em')};\n`;\n\nconst KitFieldsWrapper = styled.div`\n max-height: ${INPUT_MAX_HEIGHT};\n overflow-y: scroll;\n`;\n\nconst RowValueWrapper = styled.div`\n display: flex;\n flex-direction: row;\n`;\n\nconst StandardFieldValueWrapper = styled.div`\n flex: 1;\n`;\n\nconst KitInputWrapperStyled = styled(KitInputWrapper)<{$readonlyBackground: boolean}>`\n &.bordered > .kit-input-wrapper-content {\n padding: calc((var(--general-spacing-xs) - 3) * 1px);\n\n .kit-input-wrapper-content {\n margin: 3px;\n }\n }\n\n ${props =>\n props.$readonlyBackground &&\n css`\n .kit-input-wrapper-content {\n background-color: var(--general-utilities-neutral-light);\n }\n `}\n`;\n\nconst KitInputExtraAlignLeft = styled.div`\n margin-right: auto;\n line-height: 12px;\n`;\n\nconst KitDeleteValueButton = styled(KitButton)`\n margin: 3px;\n`;\n\nconst KitAddValueButton = styled(KitButton)`\n margin-top: calc((var(--general-spacing-xs) - 3) * 1px);\n margin-bottom: 3px;\n`;\n\nconst StandardField: FunctionComponent<\n IFormElementProps<IRequiredFieldsSettings, RecordFormElementsValueStandardValue> & {\n antdForm?: FormInstance;\n computedValues?: GetRecordColumnsValuesRecord<IRecordColumnValueStandard>;\n }\n> = ({\n element,\n computedValues,\n isFormCreationMode,\n antdForm,\n readonly,\n onValueSubmit,\n onValueDelete,\n onDeleteMultipleValues,\n metadataEdit = false,\n}) => {\n const {t} = useSharedTranslation();\n const {lang} = useLang();\n\n const antdListFieldsRef = useRef<{\n add: FormListOperation['add'];\n remove: FormListOperation['remove'];\n indexes: number[];\n } | null>(null);\n\n const {attribute} = element;\n\n useEffect(() => {\n if (computedValues && computedValues[attribute.id] && Array.isArray(computedValues[attribute.id])) {\n setBackendValues(computedValues[attribute.id]);\n antdForm.setFieldValue(attribute.id, getAntdDisplayedValue(computedValues[attribute.id], attribute));\n }\n }, [computedValues]);\n\n if (!attribute) {\n return <ErrorDisplay message={t('record_edition.missing_attribute')} />;\n }\n\n const {state, dispatch} = useEditRecordReducer();\n\n const [backendValues, setBackendValues] = useState<RecordFormElementsValueStandardValue[]>(element.values);\n\n const calculatedFlags = computeCalculatedFlags(backendValues);\n const inheritedFlags = computeInheritedFlags(backendValues);\n const defaultValueToAddInAntdForm = getEmptyInitialValue(attribute);\n\n useEffect(() => {\n if (state.activeAttribute?.attribute.id === attribute.id) {\n dispatch({\n type: EditRecordReducerActionsTypes.SET_ACTIVE_VALUE,\n values: backendValues,\n });\n }\n }, [backendValues]);\n\n useEffect(() => {\n if (!isFormCreationMode && backendValues.length === 0 && attribute.required) {\n antdForm.setFields([{name: attribute.id, errors: [t('errors.standard_field_required')]}]);\n }\n }, []);\n\n useOutsideInteractionDetector({\n attribute,\n activeAttribute: state.activeAttribute,\n attributePrefix: STANDARD_FIELD_ID_PREFIX,\n dispatch,\n backendValues,\n allowedSelectors: ['.ant-popover.ant-color-picker', '.ant-picker-dropdown', '.kit-modal-wrapper.link-modal'],\n });\n\n const backendWithoutCalculatedOrInheritedValues = backendValues\n .filter(backendValue => !backendValue.isCalculated && !backendValue.isInherited)\n .sort((a, b) => Number(a.id_value) - Number(b.id_value));\n\n const {presentationValues} = useGetPresentationValues({\n //TODO fix type\n values: backendWithoutCalculatedOrInheritedValues as unknown as ValueDetailsFragment[],\n format: attribute.format,\n calculatedValue: calculatedFlags.calculatedValue,\n inheritedValue: inheritedFlags.inheritedValue,\n });\n\n const _handleSubmit =\n (idValue?: string, fieldName?: number, submittedFieldIndex?: number) =>\n async (valueToSave: AnyPrimitive): Promise<ISubmitMultipleResult> => {\n const shouldSpecifyFieldName = attribute.multiple_values && fieldName !== undefined;\n const name = shouldSpecifyFieldName ? [attribute.id, fieldName] : attribute.id;\n if (antdForm) {\n antdForm.setFields([\n {\n name,\n errors: null,\n },\n ]);\n }\n\n let submitRes;\n if (attribute.multiple_values) {\n if (valueToSave === '') {\n _handleDeleteValue(idValue, submittedFieldIndex);\n return;\n }\n submitRes = await onValueSubmit([{value: valueToSave, idValue: idValue ?? null, attribute}], null);\n if (submitRes.status === APICallStatus.SUCCESS) {\n setBackendValues(previousBackendValues => {\n const newBackendValues = [...previousBackendValues, ...submitRes.values].reduce(\n (acc, backendValue) => {\n const existingValue = acc.find(\n o =>\n o.id_value === backendValue.id_value &&\n o.isCalculated === backendValue.isCalculated &&\n o.isInherited === backendValue.isInherited,\n );\n\n if (existingValue) {\n Object.assign(existingValue, backendValue);\n } else {\n acc.push(backendValue);\n }\n\n return acc;\n },\n [],\n );\n\n return newBackendValues;\n });\n\n return submitRes;\n }\n } else {\n if (valueToSave) {\n submitRes = await onValueSubmit([{value: valueToSave, idValue: idValue ?? null, attribute}], null);\n if (submitRes.status === APICallStatus.SUCCESS) {\n setBackendValues((submitRes.values as unknown as RecordFormElementsValueStandardValue[]) ?? []);\n\n return submitRes;\n }\n } else {\n if (backendWithoutCalculatedOrInheritedValues.length > 0) {\n submitRes = await onValueDelete({id_value: idValue, payload: null}, attribute.id);\n\n if (submitRes.status === APICallStatus.SUCCESS) {\n setBackendValues(previousBackendValues =>\n previousBackendValues.filter(\n value =>\n (value.isCalculated !== null && value.isCalculated !== undefined) ||\n (value.isInherited !== null && value.isInherited !== undefined),\n ),\n );\n return submitRes;\n }\n }\n }\n }\n\n if (!submitRes) {\n return;\n }\n\n if (!submitRes.error && submitRes.errors) {\n const attributeError = submitRes.errors.filter(err => err.attribute === attribute.id)?.[0];\n\n if (attributeError) {\n submitRes.error =\n attributeError.type === ErrorTypes.VALIDATION_ERROR\n ? attributeError.message\n : t(`errors.${attributeError.type}`);\n }\n }\n\n if (submitRes.error && antdForm) {\n antdForm.setFields([\n {\n name,\n errors: [submitRes.error],\n },\n ]);\n }\n\n return submitRes;\n };\n\n const _handleDeleteValue = async (idValue: string | undefined, deletedFieldIndex: number) => {\n if (idValue) {\n await onValueDelete({id_value: idValue}, attribute.id);\n\n setBackendValues(previousBackendValues =>\n previousBackendValues.filter(backendValue => backendValue.id_value !== idValue),\n );\n }\n antdListFieldsRef.current.remove(deletedFieldIndex);\n if (backendWithoutCalculatedOrInheritedValues.length === 1) {\n antdListFieldsRef.current.add(defaultValueToAddInAntdForm);\n }\n };\n\n const _handleDeleteAllValues = async () => {\n const deleteRes = await onDeleteMultipleValues(\n attribute.id,\n backendValues.filter(b => b.id_value),\n null,\n );\n\n if (deleteRes.status === APICallStatus.SUCCESS) {\n antdListFieldsRef.current.remove(antdListFieldsRef.current.indexes);\n antdListFieldsRef.current.add(defaultValueToAddInAntdForm);\n setBackendValues(previousBackendValues =>\n previousBackendValues.filter(backendValue => !backendValue.id_value),\n );\n\n return;\n }\n };\n\n let isFieldInError = false;\n\n if (antdForm) {\n const hasErrorsInFormList = backendValues.some((_, index) => {\n const errors = antdForm.getFieldError([attribute.id, index]);\n return errors.length > 0;\n });\n\n const multipleFieldRequiredInError =\n attribute.multiple_values && attribute.required && antdForm.getFieldError([attribute.id, 0])?.length > 0;\n\n isFieldInError =\n antdForm.getFieldError(attribute.id).length > 0 || hasErrorsInFormList || multipleFieldRequiredInError;\n }\n\n const isMultipleValues = element.attribute.multiple_values;\n const hasValue = isMultipleValues && backendValues.length > 0;\n const canAddAnotherValue =\n !readonly &&\n isMultipleValues &&\n !isFieldInError &&\n attribute.format !== AttributeFormat.boolean &&\n attribute.format !== AttributeFormat.encrypted;\n\n const label = localizedTranslation(element.settings.label, lang);\n const isReadOnly = attribute.readonly || !attribute.permissions.edit_value || readonly;\n const canDeleteAllValues = !isReadOnly && !attribute.required && hasValue && backendValues.length > 1;\n const canDeleteSingleValue =\n !isReadOnly &&\n (!attribute.required || (attribute.required && backendWithoutCalculatedOrInheritedValues.length > 1));\n\n return (\n <Wrapper $metadataEdit={metadataEdit}>\n <KitInputWrapperStyled\n id={STANDARD_FIELD_ID_PREFIX + attribute.id}\n label={label}\n required={attribute.required}\n bordered={attribute.multiple_values}\n status={isFieldInError ? 'error' : undefined}\n extra={\n <>\n <KitInputExtraAlignLeft>\n <ComputeIndicator calculatedFlags={calculatedFlags} inheritedFlags={inheritedFlags} />\n </KitInputExtraAlignLeft>\n {canDeleteAllValues && (\n <DeleteAllValuesButton\n handleDelete={_handleDeleteAllValues}\n disabled={isReadOnly}\n danger={isFieldInError}\n />\n )}\n </>\n }\n htmlFor={attribute.id}\n $readonlyBackground={isReadOnly && attribute.multiple_values}\n >\n {attribute.multiple_values ? (\n <Form.List name={attribute.id}>\n {(fields, {add, remove}) => {\n antdListFieldsRef.current = {add, remove, indexes: fields.map((_, index) => index)};\n\n const shouldDisabledAddValueButton =\n fields.length > backendWithoutCalculatedOrInheritedValues.length;\n\n return (\n <>\n <KitFieldsWrapper>\n {fields.map((field, index) => (\n <RowValueWrapper key={field.key}>\n <StandardFieldValueWrapper>\n <StandardFieldValue\n listField={field}\n presentationValue={presentationValues[index] ?? ''}\n handleSubmit={_handleSubmit(\n backendWithoutCalculatedOrInheritedValues[index]?.id_value,\n field.name,\n index,\n )}\n attribute={attribute}\n label={label}\n readonly={isReadOnly}\n calculatedFlags={calculatedFlags}\n inheritedFlags={inheritedFlags}\n isLastValueOfMultivalues={\n index === fields.length - 1 && index !== 0\n }\n removeLastValueOfMultivalues={() => remove(index)}\n />\n </StandardFieldValueWrapper>\n {canDeleteSingleValue && (\n <KitDeleteValueButton\n type=\"tertiary\"\n title={t('record_edition.delete_value')}\n icon={<FaTrash />}\n disabled={isReadOnly}\n onClick={() =>\n _handleDeleteValue(\n backendWithoutCalculatedOrInheritedValues[index]\n ?.id_value,\n index,\n )\n }\n />\n )}\n </RowValueWrapper>\n ))}\n </KitFieldsWrapper>\n {canAddAnotherValue && (\n <KitTooltip\n title={\n shouldDisabledAddValueButton\n ? t('record_edition.please_select_value_before_adding')\n : undefined\n }\n >\n <KitAddValueButton\n type=\"secondary\"\n size=\"m\"\n icon={<FaPlus />}\n onClick={() => add(defaultValueToAddInAntdForm)}\n disabled={isReadOnly || shouldDisabledAddValueButton}\n >\n {t('record_edition.add_value')}\n </KitAddValueButton>\n </KitTooltip>\n )}\n </>\n );\n }}\n </Form.List>\n ) : (\n <StandardFieldValue\n presentationValue={presentationValues[0] ?? ''}\n handleSubmit={_handleSubmit(backendWithoutCalculatedOrInheritedValues[0]?.id_value)}\n attribute={attribute}\n readonly={isReadOnly}\n label={label}\n calculatedFlags={calculatedFlags}\n inheritedFlags={inheritedFlags}\n />\n )}\n </KitInputWrapperStyled>\n </Wrapper>\n );\n};\n\nexport default StandardField;\n"]}
1
+ {"version":3,"file":"StandardField.js","sourceRoot":"","sources":["../../../../../../src/components/RecordEdition/EditRecordContent/uiElements/StandardField/StandardField.tsx"],"names":[],"mappings":"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","sourcesContent":["// Copyright LEAV Solutions 2017 until 2023/11/05, Copyright Aristid from 2023/11/06\n// This file is released under LGPL V3\n// License text available at https://www.gnu.org/licenses/lgpl-3.0.txt\nimport {type AnyPrimitive, ErrorTypes, type IRequiredFieldsSettings, localizedTranslation} from '@leav/utils';\nimport {type FunctionComponent, useEffect, useRef, useState} from 'react';\nimport styled, {css} from 'styled-components';\nimport {ErrorDisplay} from '_ui/components';\nimport {type RecordFormElementsValueStandardValue} from '_ui/hooks/useGetRecordForm/useGetRecordForm';\nimport {AttributeFormat, type ValueDetailsFragment} from '_ui/_gqlTypes';\nimport {APICallStatus, type IFormElementProps, type ISubmitMultipleResult} from '../../_types';\nimport StandardFieldValue from './StandardFieldValue';\nimport {Form, type FormInstance, type FormListOperation} from 'antd';\nimport {KitButton, KitInputWrapper, KitTooltip} from 'aristid-ds';\nimport {useLang} from '_ui/hooks';\nimport {FaPlus, FaTrash} from 'react-icons/fa';\nimport {DeleteAllValuesButton} from '../shared/DeleteAllValuesButton';\nimport {computeCalculatedFlags, computeInheritedFlags} from '../shared/calculatedInheritedFlags';\nimport {useGetPresentationValues} from './useGetPresentationValues';\nimport {useSharedTranslation} from '_ui/hooks/useSharedTranslation';\nimport {getAntdDisplayedValue, getEmptyInitialValue} from '../../antdUtils';\nimport {\n type GetRecordColumnsValuesRecord,\n type IRecordColumnValueStandard,\n} from '_ui/_queries/records/getRecordColumnsValues';\nimport {useEditRecordReducer} from '_ui/components/RecordEdition/editRecordReducer/useEditRecordReducer';\nimport {STANDARD_FIELD_ID_PREFIX} from '_ui/constants';\nimport {ComputeIndicator} from '../shared/ComputeIndicator';\nimport {useOutsideInteractionDetector} from '../shared/useOutsideInteractionDetector';\nimport {EditRecordReducerActionsTypes} from '_ui/components/RecordEdition/editRecordReducer/editRecordReducer';\nimport {INPUT_MAX_HEIGHT} from '../../formConstants';\n\nconst Wrapper = styled.div<{$metadataEdit: boolean}>`\n margin-bottom: ${props => (props.$metadataEdit ? 0 : '1.5em')};\n`;\n\nconst KitFieldsWrapper = styled.div`\n max-height: ${INPUT_MAX_HEIGHT};\n overflow-y: scroll;\n`;\n\nconst RowValueWrapper = styled.div`\n display: flex;\n flex-direction: row;\n`;\n\nconst StandardFieldValueWrapper = styled.div`\n flex: 1;\n`;\n\nconst KitInputWrapperStyled = styled(KitInputWrapper)<{$readonlyBackground: boolean}>`\n &.bordered > .kit-input-wrapper-content {\n padding: calc((var(--general-spacing-xs) - 3) * 1px);\n\n .kit-input-wrapper-content {\n margin: 3px;\n }\n }\n\n ${props =>\n props.$readonlyBackground &&\n css`\n .kit-input-wrapper-content {\n background-color: var(--general-utilities-neutral-light);\n }\n `}\n`;\n\nconst KitInputExtraAlignLeft = styled.div`\n margin-right: auto;\n line-height: 12px;\n`;\n\nconst KitDeleteValueButton = styled(KitButton)`\n margin: 3px;\n`;\n\nconst KitAddValueButton = styled(KitButton)`\n margin-top: calc((var(--general-spacing-xs) - 3) * 1px);\n margin-bottom: 3px;\n`;\n\nconst StandardField: FunctionComponent<\n IFormElementProps<IRequiredFieldsSettings, RecordFormElementsValueStandardValue> & {\n antdForm?: FormInstance;\n computedValues?: GetRecordColumnsValuesRecord<IRecordColumnValueStandard>;\n }\n> = ({\n element,\n computedValues,\n isFormCreationMode,\n antdForm,\n readonly,\n onValueSubmit,\n onValueDelete,\n onDeleteMultipleValues,\n metadataEdit = false,\n}) => {\n const {t} = useSharedTranslation();\n const {lang} = useLang();\n\n const antdListFieldsRef = useRef<{\n add: FormListOperation['add'];\n remove: FormListOperation['remove'];\n indexes: number[];\n } | null>(null);\n\n const {attribute} = element;\n\n useEffect(() => {\n if (computedValues && computedValues[attribute.id] && Array.isArray(computedValues[attribute.id])) {\n setBackendValues(computedValues[attribute.id]);\n antdForm.setFieldValue(attribute.id, getAntdDisplayedValue(computedValues[attribute.id], attribute));\n }\n }, [computedValues]);\n\n if (!attribute) {\n return <ErrorDisplay message={t('record_edition.missing_attribute')} />;\n }\n\n const {state, dispatch} = useEditRecordReducer();\n\n const [backendValues, setBackendValues] = useState<RecordFormElementsValueStandardValue[]>(element.values);\n\n const calculatedFlags = computeCalculatedFlags(backendValues);\n const inheritedFlags = computeInheritedFlags(backendValues);\n const defaultValueToAddInAntdForm = getEmptyInitialValue(attribute);\n\n useEffect(() => {\n if (state.activeAttribute?.attribute.id === attribute.id) {\n dispatch({\n type: EditRecordReducerActionsTypes.SET_ACTIVE_VALUE,\n values: backendValues,\n });\n }\n }, [backendValues]);\n\n useEffect(() => {\n if (!isFormCreationMode && backendValues.length === 0 && attribute.required) {\n antdForm.setFields([{name: attribute.id, errors: [t('errors.standard_field_required')]}]);\n }\n }, []);\n\n useOutsideInteractionDetector({\n attribute,\n activeAttribute: state.activeAttribute,\n attributePrefix: STANDARD_FIELD_ID_PREFIX,\n dispatch,\n backendValues,\n allowedSelectors: ['.ant-popover.ant-color-picker', '.ant-picker-dropdown', '.kit-modal-wrapper.link-modal'],\n });\n\n const backendWithoutCalculatedOrInheritedValues = backendValues\n .filter(backendValue => !backendValue.isCalculated && !backendValue.isInherited)\n .sort((a, b) => Number(a.id_value) - Number(b.id_value));\n\n const {presentationValues} = useGetPresentationValues({\n //TODO fix type\n values: backendWithoutCalculatedOrInheritedValues as unknown as ValueDetailsFragment[],\n format: attribute.format,\n calculatedValues: calculatedFlags.calculatedValues,\n inheritedValues: inheritedFlags.inheritedValues,\n });\n\n const _handleSubmit =\n (idValue?: string, fieldName?: number, submittedFieldIndex?: number) =>\n async (valueToSave: AnyPrimitive): Promise<ISubmitMultipleResult> => {\n const shouldSpecifyFieldName = attribute.multiple_values && fieldName !== undefined;\n const name = shouldSpecifyFieldName ? [attribute.id, fieldName] : attribute.id;\n if (antdForm) {\n antdForm.setFields([\n {\n name,\n errors: null,\n },\n ]);\n }\n\n let submitRes;\n if (attribute.multiple_values) {\n if (valueToSave === '') {\n _handleDeleteValue(idValue, submittedFieldIndex);\n return;\n }\n submitRes = await onValueSubmit([{value: valueToSave, idValue: idValue ?? null, attribute}], null);\n if (submitRes.status === APICallStatus.SUCCESS) {\n setBackendValues(previousBackendValues => {\n const newBackendValues = [...previousBackendValues, ...submitRes.values].reduce(\n (acc, backendValue) => {\n const existingValue = acc.find(\n o =>\n o.id_value === backendValue.id_value &&\n o.isCalculated === backendValue.isCalculated &&\n o.isInherited === backendValue.isInherited,\n );\n\n if (existingValue) {\n Object.assign(existingValue, backendValue);\n } else {\n acc.push(backendValue);\n }\n\n return acc;\n },\n [],\n );\n\n return newBackendValues;\n });\n\n return submitRes;\n }\n } else {\n if (valueToSave) {\n submitRes = await onValueSubmit([{value: valueToSave, idValue: idValue ?? null, attribute}], null);\n if (submitRes.status === APICallStatus.SUCCESS) {\n setBackendValues((submitRes.values as unknown as RecordFormElementsValueStandardValue[]) ?? []);\n\n return submitRes;\n }\n } else {\n if (backendWithoutCalculatedOrInheritedValues.length > 0) {\n submitRes = await onValueDelete({id_value: idValue, payload: null}, attribute.id);\n\n if (submitRes.status === APICallStatus.SUCCESS) {\n setBackendValues(previousBackendValues =>\n previousBackendValues.filter(\n value =>\n (value.isCalculated !== null && value.isCalculated !== undefined) ||\n (value.isInherited !== null && value.isInherited !== undefined),\n ),\n );\n return submitRes;\n }\n }\n }\n }\n\n if (!submitRes) {\n return;\n }\n\n if (!submitRes.error && submitRes.errors) {\n const attributeError = submitRes.errors.filter(err => err.attribute === attribute.id)?.[0];\n\n if (attributeError) {\n submitRes.error =\n attributeError.type === ErrorTypes.VALIDATION_ERROR\n ? attributeError.message\n : t(`errors.${attributeError.type}`);\n }\n }\n\n if (submitRes.error && antdForm) {\n antdForm.setFields([\n {\n name,\n errors: [submitRes.error],\n },\n ]);\n }\n\n return submitRes;\n };\n\n const _handleDeleteValue = async (idValue: string | undefined, deletedFieldIndex: number) => {\n if (idValue) {\n await onValueDelete({id_value: idValue}, attribute.id);\n\n setBackendValues(previousBackendValues =>\n previousBackendValues.filter(backendValue => backendValue.id_value !== idValue),\n );\n }\n antdListFieldsRef.current.remove(deletedFieldIndex);\n if (backendWithoutCalculatedOrInheritedValues.length === 1) {\n antdListFieldsRef.current.add(defaultValueToAddInAntdForm);\n }\n };\n\n const _handleDeleteAllValues = async () => {\n const deleteRes = await onDeleteMultipleValues(\n attribute.id,\n backendValues.filter(b => b.id_value),\n null,\n );\n\n if (deleteRes.status === APICallStatus.SUCCESS) {\n antdListFieldsRef.current.remove(antdListFieldsRef.current.indexes);\n antdListFieldsRef.current.add(defaultValueToAddInAntdForm);\n setBackendValues(previousBackendValues =>\n previousBackendValues.filter(backendValue => !backendValue.id_value),\n );\n\n return;\n }\n };\n\n let isFieldInError = false;\n\n if (antdForm) {\n const hasErrorsInFormList = backendValues.some((_, index) => {\n const errors = antdForm.getFieldError([attribute.id, index]);\n return errors.length > 0;\n });\n\n const multipleFieldRequiredInError =\n attribute.multiple_values && attribute.required && antdForm.getFieldError([attribute.id, 0])?.length > 0;\n\n isFieldInError =\n antdForm.getFieldError(attribute.id).length > 0 || hasErrorsInFormList || multipleFieldRequiredInError;\n }\n\n const isMultipleValues = element.attribute.multiple_values;\n const hasValue = isMultipleValues && backendValues.length > 0;\n const canAddAnotherValue =\n !readonly &&\n isMultipleValues &&\n !isFieldInError &&\n attribute.format !== AttributeFormat.boolean &&\n attribute.format !== AttributeFormat.encrypted;\n\n // TODO: Temporary const that should be removed (and all it's usages) when we will have a proper way to override multiple values\n const tmpCantOverrideValues =\n attribute.multiple_values &&\n (calculatedFlags.calculatedValues?.length > 1 || inheritedFlags.inheritedValues?.length > 1);\n\n const label = localizedTranslation(element.settings.label, lang);\n const isReadOnly = attribute.readonly || !attribute.permissions.edit_value || readonly || tmpCantOverrideValues;\n const canDeleteAllValues = !isReadOnly && !attribute.required && hasValue && backendValues.length > 1;\n const canDeleteSingleValue =\n !isReadOnly &&\n (!attribute.required || (attribute.required && backendWithoutCalculatedOrInheritedValues.length > 1));\n\n return (\n <Wrapper $metadataEdit={metadataEdit}>\n <KitInputWrapperStyled\n id={STANDARD_FIELD_ID_PREFIX + attribute.id}\n label={label}\n required={attribute.required}\n bordered={attribute.multiple_values}\n status={isFieldInError ? 'error' : undefined}\n extra={\n <>\n <KitInputExtraAlignLeft>\n <ComputeIndicator calculatedFlags={calculatedFlags} inheritedFlags={inheritedFlags} />\n </KitInputExtraAlignLeft>\n {canDeleteAllValues && (\n <DeleteAllValuesButton\n handleDelete={_handleDeleteAllValues}\n disabled={isReadOnly}\n danger={isFieldInError}\n />\n )}\n </>\n }\n htmlFor={attribute.id}\n $readonlyBackground={isReadOnly && attribute.multiple_values}\n >\n {attribute.multiple_values ? (\n <Form.List name={attribute.id}>\n {(fields, {add, remove}) => {\n antdListFieldsRef.current = {add, remove, indexes: fields.map((_, index) => index)};\n\n const shouldDisabledAddValueButton =\n fields.length > backendWithoutCalculatedOrInheritedValues.length;\n\n return (\n <>\n <KitFieldsWrapper>\n {fields.map((field, index) => (\n <RowValueWrapper key={field.key}>\n <StandardFieldValueWrapper>\n <StandardFieldValue\n listField={field}\n presentationValue={presentationValues[index] ?? ''}\n handleSubmit={_handleSubmit(\n backendWithoutCalculatedOrInheritedValues[index]?.id_value,\n field.name,\n index,\n )}\n attribute={attribute}\n label={label}\n readonly={isReadOnly}\n calculatedFlags={calculatedFlags}\n inheritedFlags={inheritedFlags}\n isLastValueOfMultivalues={\n index === fields.length - 1 && index !== 0\n }\n removeLastValueOfMultivalues={() => remove(index)}\n />\n </StandardFieldValueWrapper>\n {canDeleteSingleValue && (\n <KitDeleteValueButton\n type=\"tertiary\"\n title={t('record_edition.delete_value')}\n icon={<FaTrash />}\n disabled={isReadOnly}\n onClick={() =>\n _handleDeleteValue(\n backendWithoutCalculatedOrInheritedValues[index]\n ?.id_value,\n index,\n )\n }\n />\n )}\n </RowValueWrapper>\n ))}\n </KitFieldsWrapper>\n {canAddAnotherValue && (\n <KitTooltip\n title={\n shouldDisabledAddValueButton\n ? t('record_edition.please_select_value_before_adding')\n : undefined\n }\n >\n <KitAddValueButton\n type=\"secondary\"\n size=\"m\"\n icon={<FaPlus />}\n onClick={() => add(defaultValueToAddInAntdForm)}\n disabled={isReadOnly || shouldDisabledAddValueButton}\n >\n {t('record_edition.add_value')}\n </KitAddValueButton>\n </KitTooltip>\n )}\n </>\n );\n }}\n </Form.List>\n ) : (\n <StandardFieldValue\n presentationValue={presentationValues[0] ?? ''}\n handleSubmit={_handleSubmit(backendWithoutCalculatedOrInheritedValues[0]?.id_value)}\n attribute={attribute}\n readonly={isReadOnly}\n label={label}\n calculatedFlags={calculatedFlags}\n inheritedFlags={inheritedFlags}\n />\n )}\n </KitInputWrapperStyled>\n </Wrapper>\n );\n};\n\nexport default StandardField;\n"]}
@@ -23,12 +23,13 @@ export const DSBooleanWrapper = ({ value, onChange, handleSubmit, attribute, rea
23
23
  throw Error('DSBooleanWrapper should be used inside a antd Form.Item');
24
24
  }
25
25
  const { t } = useSharedTranslation();
26
+ // TODO: Remove inheritedValues[0] and calculatedValues[0] when we will have a proper way to override multiple values. For now, those attributes are set in readonly mode.
26
27
  const _resetToInheritedOrCalculatedValue = () => {
27
- if (inheritedFlags.isInheritedValue) {
28
- onChange(inheritedFlags.inheritedValue.raw_payload, undefined);
28
+ if (inheritedFlags.isInheritedValues) {
29
+ onChange(inheritedFlags.inheritedValues[0].raw_payload, undefined);
29
30
  }
30
- else if (calculatedFlags.isCalculatedValue) {
31
- onChange(calculatedFlags.calculatedValue.raw_payload, undefined);
31
+ else if (calculatedFlags.isCalculatedValues) {
32
+ onChange(calculatedFlags.calculatedValues[0].raw_payload, undefined);
32
33
  }
33
34
  handleSubmit(null, attribute.id);
34
35
  };
@@ -36,6 +37,6 @@ export const DSBooleanWrapper = ({ value, onChange, handleSubmit, attribute, rea
36
37
  onChange(checked, event);
37
38
  handleSubmit(String(checked), attribute.id);
38
39
  };
39
- return (_jsxs(_Fragment, { children: [_jsxs("label", { children: [_jsx(KitSwitch, { id: attribute.id, checked: value, disabled: readonly, onChange: _handleOnChange }), _jsx(KitTypographyTextStyled, { size: "fontSize5", weight: "medium", children: t(_getBooleanValueAsStringForTranslation(value)) })] }), (inheritedFlags.isInheritedOverrideValue || calculatedFlags.isCalculatedOverrideValue) && (_jsx("span", { role: "button", onClick: _resetToInheritedOrCalculatedValue, children: _jsx(FontAwesomeIconStyled, { "aria-label": "clear", icon: faCircleXmark }) }))] }));
40
+ return (_jsxs(_Fragment, { children: [_jsxs("label", { children: [_jsx(KitSwitch, { id: attribute.id, checked: value, disabled: readonly, onChange: _handleOnChange }), _jsx(KitTypographyTextStyled, { size: "fontSize5", weight: "medium", children: t(_getBooleanValueAsStringForTranslation(value)) })] }), (inheritedFlags.isInheritedOverrideValues || calculatedFlags.isCalculatedOverrideValues) && (_jsx("span", { role: "button", onClick: _resetToInheritedOrCalculatedValue, children: _jsx(FontAwesomeIconStyled, { "aria-label": "clear", icon: faCircleXmark }) }))] }));
40
41
  };
41
42
  //# sourceMappingURL=DSBooleanWrapper.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"DSBooleanWrapper.js","sourceRoot":"","sources":["../../../../../../../src/components/RecordEdition/EditRecordContent/uiElements/StandardField/StandardFieldValue/DSBooleanWrapper.tsx"],"names":[],"mappings":";AAAA,oFAAoF;AACpF,sCAAsC;AACtC,sEAAsE;AACtE,OAAO,EAAC,SAAS,EAAE,aAAa,EAAC,MAAM,YAAY,CAAC;AAEpD,OAAO,MAAM,MAAM,mBAAmB,CAAC;AACvC,OAAO,EAAC,oBAAoB,EAAC,MAAM,gCAAgC,CAAC;AAEpE,OAAO,EAAC,eAAe,EAAC,MAAM,gCAAgC,CAAC;AAC/D,OAAO,EAAC,aAAa,EAAC,MAAM,mCAAmC,CAAC;AAGhE,MAAM,uBAAuB,GAAG,MAAM,CAAC,aAAa,CAAC,IAAI,CAAC,CAAA;;;CAGzD,CAAC;AAEF,MAAM,qBAAqB,GAAG,MAAM,CAAC,eAAe,CAAC,CAAA;;;;;CAKpD,CAAC;AAEF,MAAM,sCAAsC,GAAG,CAAC,KAAc,EAAU,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC;AAEhH,MAAM,CAAC,MAAM,gBAAgB,GAAgE,CAAC,EAC1F,KAAK,EACL,QAAQ,EACR,YAAY,EACZ,SAAS,EACT,QAAQ,EACR,cAAc,EACd,eAAe,GAClB,EAAE,EAAE;IACD,IAAI,CAAC,QAAQ,EAAE,CAAC;QACZ,MAAM,KAAK,CAAC,yDAAyD,CAAC,CAAC;IAC3E,CAAC;IAED,MAAM,EAAC,CAAC,EAAC,GAAG,oBAAoB,EAAE,CAAC;IAEnC,MAAM,kCAAkC,GAAG,GAAG,EAAE;QAC5C,IAAI,cAAc,CAAC,gBAAgB,EAAE,CAAC;YAClC,QAAQ,CAAC,cAAc,CAAC,cAAc,CAAC,WAAW,EAAE,SAAS,CAAC,CAAC;QACnE,CAAC;aAAM,IAAI,eAAe,CAAC,iBAAiB,EAAE,CAAC;YAC3C,QAAQ,CAAC,eAAe,CAAC,eAAe,CAAC,WAAW,EAAE,SAAS,CAAC,CAAC;QACrE,CAAC;QACD,YAAY,CAAC,IAAI,EAAE,SAAS,CAAC,EAAE,CAAC,CAAC;IACrC,CAAC,CAAC;IAEF,MAAM,eAAe,GAGT,CAAC,OAAO,EAAE,KAAK,EAAE,EAAE;QAC3B,QAAQ,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;QACzB,YAAY,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE,SAAS,CAAC,EAAE,CAAC,CAAC;IAChD,CAAC,CAAC;IAEF,OAAO,CACH,8BACI,4BACI,KAAC,SAAS,IAAC,EAAE,EAAE,SAAS,CAAC,EAAE,EAAE,OAAO,EAAE,KAAK,EAAE,QAAQ,EAAE,QAAQ,EAAE,QAAQ,EAAE,eAAe,GAAI,EAC9F,KAAC,uBAAuB,IAAC,IAAI,EAAC,WAAW,EAAC,MAAM,EAAC,QAAQ,YACpD,CAAC,CAAC,sCAAsC,CAAC,KAAK,CAAC,CAAC,GAC3B,IACtB,EACP,CAAC,cAAc,CAAC,wBAAwB,IAAI,eAAe,CAAC,yBAAyB,CAAC,IAAI,CACvF,eAAM,IAAI,EAAC,QAAQ,EAAC,OAAO,EAAE,kCAAkC,YAC3D,KAAC,qBAAqB,kBAAY,OAAO,EAAC,IAAI,EAAE,aAAa,GAAI,GAC9D,CACV,IACF,CACN,CAAC;AACN,CAAC,CAAC","sourcesContent":["// Copyright LEAV Solutions 2017 until 2023/11/05, Copyright Aristid from 2023/11/06\n// This file is released under LGPL V3\n// License text available at https://www.gnu.org/licenses/lgpl-3.0.txt\nimport {KitSwitch, KitTypography} from 'aristid-ds';\nimport {type FunctionComponent, type KeyboardEvent, type MouseEvent} from 'react';\nimport styled from 'styled-components';\nimport {useSharedTranslation} from '_ui/hooks/useSharedTranslation';\nimport {type IKitSwitch} from 'aristid-ds/dist/Kit/DataEntry/Switch/types';\nimport {FontAwesomeIcon} from '@fortawesome/react-fontawesome';\nimport {faCircleXmark} from '@fortawesome/free-solid-svg-icons';\nimport {type IStandFieldValueContentProps} from './_types';\n\nconst KitTypographyTextStyled = styled(KitTypography.Text)`\n vertical-align: middle;\n margin-left: calc(var(--general-spacing-xs) * 1px);\n`;\n\nconst FontAwesomeIconStyled = styled(FontAwesomeIcon)`\n vertical-align: middle;\n margin-left: calc(var(--general-spacing-xs) * 1px);\n color: var(--general-utilities-text-primary);\n cursor: pointer;\n`;\n\nconst _getBooleanValueAsStringForTranslation = (value: boolean): string => (value ? 'global.yes' : 'global.no');\n\nexport const DSBooleanWrapper: FunctionComponent<IStandFieldValueContentProps<IKitSwitch>> = ({\n value,\n onChange,\n handleSubmit,\n attribute,\n readonly,\n inheritedFlags,\n calculatedFlags,\n}) => {\n if (!onChange) {\n throw Error('DSBooleanWrapper should be used inside a antd Form.Item');\n }\n\n const {t} = useSharedTranslation();\n\n const _resetToInheritedOrCalculatedValue = () => {\n if (inheritedFlags.isInheritedValue) {\n onChange(inheritedFlags.inheritedValue.raw_payload, undefined);\n } else if (calculatedFlags.isCalculatedValue) {\n onChange(calculatedFlags.calculatedValue.raw_payload, undefined);\n }\n handleSubmit(null, attribute.id);\n };\n\n const _handleOnChange: (\n checked: boolean,\n event: MouseEvent<HTMLButtonElement> | KeyboardEvent<HTMLButtonElement>,\n ) => void = (checked, event) => {\n onChange(checked, event);\n handleSubmit(String(checked), attribute.id);\n };\n\n return (\n <>\n <label>\n <KitSwitch id={attribute.id} checked={value} disabled={readonly} onChange={_handleOnChange} />\n <KitTypographyTextStyled size=\"fontSize5\" weight=\"medium\">\n {t(_getBooleanValueAsStringForTranslation(value))}\n </KitTypographyTextStyled>\n </label>\n {(inheritedFlags.isInheritedOverrideValue || calculatedFlags.isCalculatedOverrideValue) && (\n <span role=\"button\" onClick={_resetToInheritedOrCalculatedValue}>\n <FontAwesomeIconStyled aria-label=\"clear\" icon={faCircleXmark} />\n </span>\n )}\n </>\n );\n};\n"]}
1
+ {"version":3,"file":"DSBooleanWrapper.js","sourceRoot":"","sources":["../../../../../../../src/components/RecordEdition/EditRecordContent/uiElements/StandardField/StandardFieldValue/DSBooleanWrapper.tsx"],"names":[],"mappings":";AAAA,oFAAoF;AACpF,sCAAsC;AACtC,sEAAsE;AACtE,OAAO,EAAC,SAAS,EAAE,aAAa,EAAC,MAAM,YAAY,CAAC;AAEpD,OAAO,MAAM,MAAM,mBAAmB,CAAC;AACvC,OAAO,EAAC,oBAAoB,EAAC,MAAM,gCAAgC,CAAC;AAEpE,OAAO,EAAC,eAAe,EAAC,MAAM,gCAAgC,CAAC;AAC/D,OAAO,EAAC,aAAa,EAAC,MAAM,mCAAmC,CAAC;AAGhE,MAAM,uBAAuB,GAAG,MAAM,CAAC,aAAa,CAAC,IAAI,CAAC,CAAA;;;CAGzD,CAAC;AAEF,MAAM,qBAAqB,GAAG,MAAM,CAAC,eAAe,CAAC,CAAA;;;;;CAKpD,CAAC;AAEF,MAAM,sCAAsC,GAAG,CAAC,KAAc,EAAU,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC;AAEhH,MAAM,CAAC,MAAM,gBAAgB,GAAgE,CAAC,EAC1F,KAAK,EACL,QAAQ,EACR,YAAY,EACZ,SAAS,EACT,QAAQ,EACR,cAAc,EACd,eAAe,GAClB,EAAE,EAAE;IACD,IAAI,CAAC,QAAQ,EAAE,CAAC;QACZ,MAAM,KAAK,CAAC,yDAAyD,CAAC,CAAC;IAC3E,CAAC;IAED,MAAM,EAAC,CAAC,EAAC,GAAG,oBAAoB,EAAE,CAAC;IAEnC,0KAA0K;IAC1K,MAAM,kCAAkC,GAAG,GAAG,EAAE;QAC5C,IAAI,cAAc,CAAC,iBAAiB,EAAE,CAAC;YACnC,QAAQ,CAAC,cAAc,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,SAAS,CAAC,CAAC;QACvE,CAAC;aAAM,IAAI,eAAe,CAAC,kBAAkB,EAAE,CAAC;YAC5C,QAAQ,CAAC,eAAe,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,SAAS,CAAC,CAAC;QACzE,CAAC;QACD,YAAY,CAAC,IAAI,EAAE,SAAS,CAAC,EAAE,CAAC,CAAC;IACrC,CAAC,CAAC;IAEF,MAAM,eAAe,GAGT,CAAC,OAAO,EAAE,KAAK,EAAE,EAAE;QAC3B,QAAQ,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;QACzB,YAAY,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE,SAAS,CAAC,EAAE,CAAC,CAAC;IAChD,CAAC,CAAC;IAEF,OAAO,CACH,8BACI,4BACI,KAAC,SAAS,IAAC,EAAE,EAAE,SAAS,CAAC,EAAE,EAAE,OAAO,EAAE,KAAK,EAAE,QAAQ,EAAE,QAAQ,EAAE,QAAQ,EAAE,eAAe,GAAI,EAC9F,KAAC,uBAAuB,IAAC,IAAI,EAAC,WAAW,EAAC,MAAM,EAAC,QAAQ,YACpD,CAAC,CAAC,sCAAsC,CAAC,KAAK,CAAC,CAAC,GAC3B,IACtB,EACP,CAAC,cAAc,CAAC,yBAAyB,IAAI,eAAe,CAAC,0BAA0B,CAAC,IAAI,CACzF,eAAM,IAAI,EAAC,QAAQ,EAAC,OAAO,EAAE,kCAAkC,YAC3D,KAAC,qBAAqB,kBAAY,OAAO,EAAC,IAAI,EAAE,aAAa,GAAI,GAC9D,CACV,IACF,CACN,CAAC;AACN,CAAC,CAAC","sourcesContent":["// Copyright LEAV Solutions 2017 until 2023/11/05, Copyright Aristid from 2023/11/06\n// This file is released under LGPL V3\n// License text available at https://www.gnu.org/licenses/lgpl-3.0.txt\nimport {KitSwitch, KitTypography} from 'aristid-ds';\nimport {type FunctionComponent, type KeyboardEvent, type MouseEvent} from 'react';\nimport styled from 'styled-components';\nimport {useSharedTranslation} from '_ui/hooks/useSharedTranslation';\nimport {type IKitSwitch} from 'aristid-ds/dist/Kit/DataEntry/Switch/types';\nimport {FontAwesomeIcon} from '@fortawesome/react-fontawesome';\nimport {faCircleXmark} from '@fortawesome/free-solid-svg-icons';\nimport {type IStandFieldValueContentProps} from './_types';\n\nconst KitTypographyTextStyled = styled(KitTypography.Text)`\n vertical-align: middle;\n margin-left: calc(var(--general-spacing-xs) * 1px);\n`;\n\nconst FontAwesomeIconStyled = styled(FontAwesomeIcon)`\n vertical-align: middle;\n margin-left: calc(var(--general-spacing-xs) * 1px);\n color: var(--general-utilities-text-primary);\n cursor: pointer;\n`;\n\nconst _getBooleanValueAsStringForTranslation = (value: boolean): string => (value ? 'global.yes' : 'global.no');\n\nexport const DSBooleanWrapper: FunctionComponent<IStandFieldValueContentProps<IKitSwitch>> = ({\n value,\n onChange,\n handleSubmit,\n attribute,\n readonly,\n inheritedFlags,\n calculatedFlags,\n}) => {\n if (!onChange) {\n throw Error('DSBooleanWrapper should be used inside a antd Form.Item');\n }\n\n const {t} = useSharedTranslation();\n\n // TODO: Remove inheritedValues[0] and calculatedValues[0] when we will have a proper way to override multiple values. For now, those attributes are set in readonly mode.\n const _resetToInheritedOrCalculatedValue = () => {\n if (inheritedFlags.isInheritedValues) {\n onChange(inheritedFlags.inheritedValues[0].raw_payload, undefined);\n } else if (calculatedFlags.isCalculatedValues) {\n onChange(calculatedFlags.calculatedValues[0].raw_payload, undefined);\n }\n handleSubmit(null, attribute.id);\n };\n\n const _handleOnChange: (\n checked: boolean,\n event: MouseEvent<HTMLButtonElement> | KeyboardEvent<HTMLButtonElement>,\n ) => void = (checked, event) => {\n onChange(checked, event);\n handleSubmit(String(checked), attribute.id);\n };\n\n return (\n <>\n <label>\n <KitSwitch id={attribute.id} checked={value} disabled={readonly} onChange={_handleOnChange} />\n <KitTypographyTextStyled size=\"fontSize5\" weight=\"medium\">\n {t(_getBooleanValueAsStringForTranslation(value))}\n </KitTypographyTextStyled>\n </label>\n {(inheritedFlags.isInheritedOverrideValues || calculatedFlags.isCalculatedOverrideValues) && (\n <span role=\"button\" onClick={_resetToInheritedOrCalculatedValue}>\n <FontAwesomeIconStyled aria-label=\"clear\" icon={faCircleXmark} />\n </span>\n )}\n </>\n );\n};\n"]}
@@ -77,17 +77,18 @@ export const DSColorPickerWrapper = ({ value, presentationValue, isLastValueOfMu
77
77
  setHasChanged(true);
78
78
  onChange(color, hex);
79
79
  };
80
+ // TODO: Remove inheritedValues[0] and calculatedValues[0] when we will have a proper way to override multiple values. For now, those attributes are set in readonly mode.
80
81
  const _handleOnClear = async () => {
81
82
  setHasChanged(false);
82
- if (inheritedFlags.isInheritedValue) {
83
+ if (inheritedFlags.isInheritedValues) {
83
84
  setKey(prevKey => prevKey + 1);
84
- const inheritedColor = new AggregationColor(inheritedFlags.inheritedValue.raw_payload);
85
- onChange(inheritedColor, inheritedFlags.inheritedValue.raw_payload);
85
+ const inheritedColor = new AggregationColor(inheritedFlags.inheritedValues[0].raw_payload);
86
+ onChange(inheritedColor, inheritedFlags.inheritedValues[0].raw_payload);
86
87
  }
87
- else if (calculatedFlags.isCalculatedValue) {
88
+ else if (calculatedFlags.isCalculatedValues) {
88
89
  setKey(prevKey => prevKey + 1);
89
- const calculatedColor = new AggregationColor(calculatedFlags.calculatedValue.raw_payload);
90
- onChange(calculatedColor, calculatedFlags.calculatedValue.raw_payload);
90
+ const calculatedColor = new AggregationColor(calculatedFlags.calculatedValues[0].raw_payload);
91
+ onChange(calculatedColor, calculatedFlags.calculatedValues[0].raw_payload);
91
92
  }
92
93
  else {
93
94
  onChange(undefined, undefined);
@@ -104,7 +105,7 @@ export const DSColorPickerWrapper = ({ value, presentationValue, isLastValueOfMu
104
105
  // https://react.dev/learn/preserving-and-resetting-state#option-2-resetting-state-with-a-key
105
106
  , { id: attribute.id, autoFocus: isFocused, open: attribute.multiple_values ? isFocused : undefined, "data-testid": attribute.id, value: value, format: format, showText: isFocused || isErrors || !presentationValue ? true : () => `${presentationValue}`, helper: isErrors ? String(errors[0]) : undefined, "aria-label": label, readonly: readonly, allowClear: !!value &&
106
107
  !attribute.multiple_values &&
107
- !inheritedFlags.isInheritedNotOverrideValue &&
108
- !calculatedFlags.isCalculatedNotOverrideValue, onOpenChange: _handleOnOpenChange, onChange: _handleOnChange, onClear: _handleOnClear, onFormatChange: _handleFormatChange }, key));
108
+ !inheritedFlags.isInheritedNotOverrideValues &&
109
+ !calculatedFlags.isCalculatedNotOverrideValues, onOpenChange: _handleOnOpenChange, onChange: _handleOnChange, onClear: _handleOnClear, onFormatChange: _handleFormatChange }, key));
109
110
  };
110
111
  //# sourceMappingURL=DSColorPickerWrapper.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"DSColorPickerWrapper.js","sourceRoot":"","sources":["../../../../../../../src/components/RecordEdition/EditRecordContent/uiElements/StandardField/StandardFieldValue/DSColorPickerWrapper.tsx"],"names":[],"mappings":"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","sourcesContent":["// Copyright LEAV Solutions 2017 until 2023/11/05, Copyright Aristid from 2023/11/06\n// This file is released under LGPL V3\n// License text available at https://www.gnu.org/licenses/lgpl-3.0.txt\nimport {KitColorPicker} from 'aristid-ds';\nimport {type FunctionComponent, useState} from 'react';\nimport styled from 'styled-components';\nimport {type KitColorPickerProps} from 'aristid-ds/dist/Kit/DataEntry/ColorPicker/types';\nimport {type IStandFieldValueContentProps} from './_types';\nimport {AggregationColor} from 'antd/es/color-picker/color';\nimport {EMPTY_INITIAL_VALUE_UNDEFINED} from '../../../antdUtils';\nimport {type ColorValueType} from 'antd/es/color-picker/interface';\nimport {Form} from 'antd';\n\nconst KitColorPickerStyled = styled(KitColorPicker)`\n width: 100%;\n\n .ant-color-picker-trigger-text {\n svg {\n color: var(--general-utilities-text-primary);\n }\n }\n`;\n\nconst getColorFormatFromValue = (value: ColorValueType): KitColorPickerProps['format'] => {\n if (!value) {\n return 'hex';\n }\n\n const stringValue = value.toString().toLowerCase();\n\n if (stringValue.startsWith('#')) {\n return 'hex';\n } else if (stringValue.startsWith('rgb')) {\n return 'rgb';\n } else if (stringValue.startsWith('hsb')) {\n return 'hsb';\n }\n\n return 'hex';\n};\n\nconst getValueToSubmit = (value: KitColorPickerProps['value'], format: KitColorPickerProps['format']) => {\n value = new AggregationColor(value);\n\n switch (format) {\n case 'hex':\n return value.toHexString();\n case 'rgb':\n return value.toRgbString();\n case 'hsb':\n return value.toHsbString();\n }\n};\n\nexport const DSColorPickerWrapper: FunctionComponent<IStandFieldValueContentProps<KitColorPickerProps>> = ({\n value,\n presentationValue,\n isLastValueOfMultivalues,\n removeLastValueOfMultivalues,\n onChange,\n attribute,\n label,\n readonly,\n handleSubmit,\n calculatedFlags,\n inheritedFlags,\n}) => {\n if (!onChange) {\n throw Error('DSColorPickerWrapper should be used inside a antd Form.Item');\n }\n\n const isNewValueOfMultivalues = isLastValueOfMultivalues && value === EMPTY_INITIAL_VALUE_UNDEFINED;\n const focusedDefaultValue = attribute.multiple_values ? isNewValueOfMultivalues : false;\n const {errors} = Form.Item.useStatus();\n\n const [hasChanged, setHasChanged] = useState(false);\n const [isFocused, setIsFocused] = useState(focusedDefaultValue);\n const [key, setKey] = useState(0);\n const [format, setFormat] = useState<KitColorPickerProps['format']>(getColorFormatFromValue(value));\n\n const isErrors = errors.length > 0;\n\n const _handleOnOpenChange = async (open: boolean) => {\n if (!open) {\n if (!hasChanged) {\n setIsFocused(false);\n\n if (isNewValueOfMultivalues) {\n removeLastValueOfMultivalues();\n }\n return;\n }\n\n await handleSubmit(getValueToSubmit(value, format), attribute.id);\n setIsFocused(false);\n setHasChanged(false);\n } else {\n setIsFocused(true);\n }\n };\n\n const _handleOnChange = (\n color: Parameters<KitColorPickerProps['onChange']>[0],\n hex: Parameters<KitColorPickerProps['onChange']>[1],\n ) => {\n setHasChanged(true);\n onChange(color, hex);\n };\n\n const _handleOnClear = async () => {\n setHasChanged(false);\n\n if (inheritedFlags.isInheritedValue) {\n setKey(prevKey => prevKey + 1);\n\n const inheritedColor = new AggregationColor(inheritedFlags.inheritedValue.raw_payload);\n onChange(inheritedColor, inheritedFlags.inheritedValue.raw_payload);\n } else if (calculatedFlags.isCalculatedValue) {\n setKey(prevKey => prevKey + 1);\n\n const calculatedColor = new AggregationColor(calculatedFlags.calculatedValue.raw_payload);\n onChange(calculatedColor, calculatedFlags.calculatedValue.raw_payload);\n } else {\n onChange(undefined, undefined);\n }\n\n await handleSubmit(null, attribute.id);\n setIsFocused(false);\n };\n\n const _handleFormatChange = (newFormat: KitColorPickerProps['format']) => {\n setHasChanged(true);\n setFormat(newFormat);\n };\n\n return (\n <KitColorPickerStyled\n // This is a hack to force the color picker to re-render when needed (e.g. reset to inherited value)\n // https://react.dev/learn/preserving-and-resetting-state#option-2-resetting-state-with-a-key\n key={key}\n id={attribute.id} // unused until color picker is fixed in DS / antd\n autoFocus={isFocused}\n open={attribute.multiple_values ? isFocused : undefined}\n data-testid={attribute.id}\n value={value}\n format={format}\n showText={isFocused || isErrors || !presentationValue ? true : () => `${presentationValue}`}\n helper={isErrors ? String(errors[0]) : undefined}\n aria-label={label}\n readonly={readonly}\n allowClear={\n !!value &&\n !attribute.multiple_values &&\n !inheritedFlags.isInheritedNotOverrideValue &&\n !calculatedFlags.isCalculatedNotOverrideValue\n }\n onOpenChange={_handleOnOpenChange}\n onChange={_handleOnChange}\n onClear={_handleOnClear}\n onFormatChange={_handleFormatChange}\n />\n );\n};\n"]}
1
+ {"version":3,"file":"DSColorPickerWrapper.js","sourceRoot":"","sources":["../../../../../../../src/components/RecordEdition/EditRecordContent/uiElements/StandardField/StandardFieldValue/DSColorPickerWrapper.tsx"],"names":[],"mappings":"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","sourcesContent":["// Copyright LEAV Solutions 2017 until 2023/11/05, Copyright Aristid from 2023/11/06\n// This file is released under LGPL V3\n// License text available at https://www.gnu.org/licenses/lgpl-3.0.txt\nimport {KitColorPicker} from 'aristid-ds';\nimport {type FunctionComponent, useState} from 'react';\nimport styled from 'styled-components';\nimport {type KitColorPickerProps} from 'aristid-ds/dist/Kit/DataEntry/ColorPicker/types';\nimport {type IStandFieldValueContentProps} from './_types';\nimport {AggregationColor} from 'antd/es/color-picker/color';\nimport {EMPTY_INITIAL_VALUE_UNDEFINED} from '../../../antdUtils';\nimport {type ColorValueType} from 'antd/es/color-picker/interface';\nimport {Form} from 'antd';\n\nconst KitColorPickerStyled = styled(KitColorPicker)`\n width: 100%;\n\n .ant-color-picker-trigger-text {\n svg {\n color: var(--general-utilities-text-primary);\n }\n }\n`;\n\nconst getColorFormatFromValue = (value: ColorValueType): KitColorPickerProps['format'] => {\n if (!value) {\n return 'hex';\n }\n\n const stringValue = value.toString().toLowerCase();\n\n if (stringValue.startsWith('#')) {\n return 'hex';\n } else if (stringValue.startsWith('rgb')) {\n return 'rgb';\n } else if (stringValue.startsWith('hsb')) {\n return 'hsb';\n }\n\n return 'hex';\n};\n\nconst getValueToSubmit = (value: KitColorPickerProps['value'], format: KitColorPickerProps['format']) => {\n value = new AggregationColor(value);\n\n switch (format) {\n case 'hex':\n return value.toHexString();\n case 'rgb':\n return value.toRgbString();\n case 'hsb':\n return value.toHsbString();\n }\n};\n\nexport const DSColorPickerWrapper: FunctionComponent<IStandFieldValueContentProps<KitColorPickerProps>> = ({\n value,\n presentationValue,\n isLastValueOfMultivalues,\n removeLastValueOfMultivalues,\n onChange,\n attribute,\n label,\n readonly,\n handleSubmit,\n calculatedFlags,\n inheritedFlags,\n}) => {\n if (!onChange) {\n throw Error('DSColorPickerWrapper should be used inside a antd Form.Item');\n }\n\n const isNewValueOfMultivalues = isLastValueOfMultivalues && value === EMPTY_INITIAL_VALUE_UNDEFINED;\n const focusedDefaultValue = attribute.multiple_values ? isNewValueOfMultivalues : false;\n const {errors} = Form.Item.useStatus();\n\n const [hasChanged, setHasChanged] = useState(false);\n const [isFocused, setIsFocused] = useState(focusedDefaultValue);\n const [key, setKey] = useState(0);\n const [format, setFormat] = useState<KitColorPickerProps['format']>(getColorFormatFromValue(value));\n\n const isErrors = errors.length > 0;\n\n const _handleOnOpenChange = async (open: boolean) => {\n if (!open) {\n if (!hasChanged) {\n setIsFocused(false);\n\n if (isNewValueOfMultivalues) {\n removeLastValueOfMultivalues();\n }\n return;\n }\n\n await handleSubmit(getValueToSubmit(value, format), attribute.id);\n setIsFocused(false);\n setHasChanged(false);\n } else {\n setIsFocused(true);\n }\n };\n\n const _handleOnChange = (\n color: Parameters<KitColorPickerProps['onChange']>[0],\n hex: Parameters<KitColorPickerProps['onChange']>[1],\n ) => {\n setHasChanged(true);\n onChange(color, hex);\n };\n\n // TODO: Remove inheritedValues[0] and calculatedValues[0] when we will have a proper way to override multiple values. For now, those attributes are set in readonly mode.\n const _handleOnClear = async () => {\n setHasChanged(false);\n\n if (inheritedFlags.isInheritedValues) {\n setKey(prevKey => prevKey + 1);\n\n const inheritedColor = new AggregationColor(inheritedFlags.inheritedValues[0].raw_payload);\n onChange(inheritedColor, inheritedFlags.inheritedValues[0].raw_payload);\n } else if (calculatedFlags.isCalculatedValues) {\n setKey(prevKey => prevKey + 1);\n\n const calculatedColor = new AggregationColor(calculatedFlags.calculatedValues[0].raw_payload);\n onChange(calculatedColor, calculatedFlags.calculatedValues[0].raw_payload);\n } else {\n onChange(undefined, undefined);\n }\n\n await handleSubmit(null, attribute.id);\n setIsFocused(false);\n };\n\n const _handleFormatChange = (newFormat: KitColorPickerProps['format']) => {\n setHasChanged(true);\n setFormat(newFormat);\n };\n\n return (\n <KitColorPickerStyled\n // This is a hack to force the color picker to re-render when needed (e.g. reset to inherited value)\n // https://react.dev/learn/preserving-and-resetting-state#option-2-resetting-state-with-a-key\n key={key}\n id={attribute.id} // unused until color picker is fixed in DS / antd\n autoFocus={isFocused}\n open={attribute.multiple_values ? isFocused : undefined}\n data-testid={attribute.id}\n value={value}\n format={format}\n showText={isFocused || isErrors || !presentationValue ? true : () => `${presentationValue}`}\n helper={isErrors ? String(errors[0]) : undefined}\n aria-label={label}\n readonly={readonly}\n allowClear={\n !!value &&\n !attribute.multiple_values &&\n !inheritedFlags.isInheritedNotOverrideValues &&\n !calculatedFlags.isCalculatedNotOverrideValues\n }\n onOpenChange={_handleOnOpenChange}\n onChange={_handleOnChange}\n onClear={_handleOnClear}\n onFormatChange={_handleFormatChange}\n />\n );\n};\n"]}
@@ -24,19 +24,20 @@ export const DSDatePickerWrapper = ({ value, presentationValue, isLastValueOfMul
24
24
  const hasChangedRef = useRef(false);
25
25
  const [isFocused, setIsFocused] = useState(focusedDefaultValue);
26
26
  const isErrors = errors.length > 0;
27
+ // TODO: Remove inheritedValues[0] and calculatedValues[0] when we will have a proper way to override multiple values. For now, those attributes are set in readonly mode.
27
28
  const _resetToInheritedOrCalculatedValue = async () => {
28
29
  hasChangedRef.current = false;
29
- if (inheritedFlags.isInheritedValue) {
30
- onChange(dayjs.unix(Number(inheritedFlags.inheritedValue.raw_payload)), inheritedFlags.inheritedValue.raw_payload);
30
+ if (inheritedFlags.isInheritedValues) {
31
+ onChange(dayjs.unix(Number(inheritedFlags.inheritedValues[0].raw_payload)), inheritedFlags.inheritedValues[0].raw_payload);
31
32
  }
32
- else if (calculatedFlags.isCalculatedValue) {
33
- onChange(dayjs.unix(Number(calculatedFlags.calculatedValue.raw_payload)), calculatedFlags.calculatedValue.raw_payload);
33
+ else if (calculatedFlags.isCalculatedValues) {
34
+ onChange(dayjs.unix(Number(calculatedFlags.calculatedValues[0].raw_payload)), calculatedFlags.calculatedValues[0].raw_payload);
34
35
  }
35
36
  await handleSubmit(null, attribute.id);
36
37
  };
37
38
  const _handleDateChange = async (datePickerDate, ...antOnChangeParams) => {
38
39
  hasChangedRef.current = true;
39
- if ((inheritedFlags.isInheritedValue || calculatedFlags.isCalculatedValue) && datePickerDate === null) {
40
+ if ((inheritedFlags.isInheritedValues || calculatedFlags.isCalculatedValues) && datePickerDate === null) {
40
41
  _resetToInheritedOrCalculatedValue();
41
42
  return;
42
43
  }
@@ -63,7 +64,7 @@ export const DSDatePickerWrapper = ({ value, presentationValue, isLastValueOfMul
63
64
  };
64
65
  return (_jsx(KitDatePickerStyled, { id: attribute.id, autoFocus: isFocused, open: attribute.multiple_values ? isFocused : undefined, value: value, format: isFocused || isErrors || !presentationValue ? undefined : () => presentationValue, readonly: readonly, allowClear: !!value &&
65
66
  !attribute.multiple_values &&
66
- !inheritedFlags.isInheritedNotOverrideValue &&
67
- !calculatedFlags.isCalculatedNotOverrideValue, helper: isErrors ? String(errors[0]) : undefined, status: isErrors ? 'error' : undefined, onChange: _handleDateChange, onFocus: _handleOnFocus, onOpenChange: _handleOpenChange, placeholder: t('record_edition.placeholder.enter_a_date') }));
67
+ !inheritedFlags.isInheritedNotOverrideValues &&
68
+ !calculatedFlags.isCalculatedNotOverrideValues, helper: isErrors ? String(errors[0]) : undefined, status: isErrors ? 'error' : undefined, onChange: _handleDateChange, onFocus: _handleOnFocus, onOpenChange: _handleOpenChange, placeholder: t('record_edition.placeholder.enter_a_date') }));
68
69
  };
69
70
  //# sourceMappingURL=DSDatePickerWrapper.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"DSDatePickerWrapper.js","sourceRoot":"","sources":["../../../../../../../src/components/RecordEdition/EditRecordContent/uiElements/StandardField/StandardFieldValue/DSDatePickerWrapper.tsx"],"names":[],"mappings":";AAAA,oFAAoF;AACpF,sCAAsC;AACtC,sEAAsE;AACtE,OAAO,EAAC,aAAa,EAAC,MAAM,YAAY,CAAC;AACzC,OAAO,EAAyB,MAAM,EAAE,QAAQ,EAAC,MAAM,OAAO,CAAC;AAC/D,OAAO,EAAC,IAAI,EAAC,MAAM,MAAM,CAAC;AAC1B,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,MAAM,MAAM,mBAAmB,CAAC;AACvC,OAAO,EAAC,gBAAgB,EAAC,MAAM,YAAY,CAAC;AAG5C,OAAO,EAAC,oBAAoB,EAAC,MAAM,gCAAgC,CAAC;AACpE,OAAO,EAAC,0BAA0B,EAAC,MAAM,oBAAoB,CAAC;AAE9D,MAAM,mBAAmB,GAAG,MAAM,CAAC,aAAa,CAAC,CAAA;;CAEhD,CAAC;AAEF,MAAM,CAAC,MAAM,mBAAmB,GAAoE,CAAC,EACjG,KAAK,EACL,iBAAiB,EACjB,wBAAwB,EACxB,4BAA4B,EAC5B,QAAQ,EACR,SAAS,EACT,YAAY,EACZ,QAAQ,EACR,eAAe,EACf,cAAc,GACjB,EAAE,EAAE;IACD,IAAI,CAAC,QAAQ,EAAE,CAAC;QACZ,MAAM,KAAK,CAAC,4DAA4D,CAAC,CAAC;IAC9E,CAAC;IAED,MAAM,uBAAuB,GACzB,wBAAwB,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,0BAA0B,CAAC;IAClG,MAAM,mBAAmB,GAAG,SAAS,CAAC,eAAe,CAAC,CAAC,CAAC,uBAAuB,CAAC,CAAC,CAAC,KAAK,CAAC;IAExF,MAAM,EAAC,MAAM,EAAC,GAAG,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,CAAC;IACvC,MAAM,EAAC,CAAC,EAAC,GAAG,oBAAoB,EAAE,CAAC;IAEnC,MAAM,aAAa,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC;IACpC,MAAM,CAAC,SAAS,EAAE,YAAY,CAAC,GAAG,QAAQ,CAAC,mBAAmB,CAAC,CAAC;IAChE,MAAM,QAAQ,GAAG,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC;IAEnC,MAAM,kCAAkC,GAAG,KAAK,IAAI,EAAE;QAClD,aAAa,CAAC,OAAO,GAAG,KAAK,CAAC;QAE9B,IAAI,cAAc,CAAC,gBAAgB,EAAE,CAAC;YAClC,QAAQ,CACJ,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,cAAc,CAAC,cAAc,CAAC,WAAW,CAAC,CAAC,EAC7D,cAAc,CAAC,cAAc,CAAC,WAAW,CAC5C,CAAC;QACN,CAAC;aAAM,IAAI,eAAe,CAAC,iBAAiB,EAAE,CAAC;YAC3C,QAAQ,CACJ,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,eAAe,CAAC,eAAe,CAAC,WAAW,CAAC,CAAC,EAC/D,eAAe,CAAC,eAAe,CAAC,WAAW,CAC9C,CAAC;QACN,CAAC;QAED,MAAM,YAAY,CAAC,IAAI,EAAE,SAAS,CAAC,EAAE,CAAC,CAAC;IAC3C,CAAC,CAAC;IAEF,MAAM,iBAAiB,GAGX,KAAK,EAAE,cAAc,EAAE,GAAG,iBAAiB,EAAE,EAAE;QACvD,aAAa,CAAC,OAAO,GAAG,IAAI,CAAC;QAE7B,IAAI,CAAC,cAAc,CAAC,gBAAgB,IAAI,eAAe,CAAC,iBAAiB,CAAC,IAAI,cAAc,KAAK,IAAI,EAAE,CAAC;YACpG,kCAAkC,EAAE,CAAC;YACrC,OAAO;QACX,CAAC;QAED,IAAI,CAAC,CAAC,cAAc,EAAE,CAAC;YACnB,cAAc,GAAG,gBAAgB,CAAC,cAAc,CAAC,CAAC;QACtD,CAAC;QAED,QAAQ,CAAC,cAAc,EAAE,GAAG,iBAAiB,CAAC,CAAC;QAE/C,IAAI,UAAU,GAAG,EAAE,CAAC;QACpB,IAAI,CAAC,CAAC,cAAc,EAAE,CAAC;YACnB,UAAU,GAAG,MAAM,CAAC,cAAc,CAAC,IAAI,EAAE,CAAC,CAAC;QAC/C,CAAC;QAED,MAAM,YAAY,CAAC,UAAU,EAAE,SAAS,CAAC,EAAE,CAAC,CAAC;IACjD,CAAC,CAAC;IAEF,MAAM,iBAAiB,GAAG,CAAC,IAAa,EAAE,EAAE;QACxC,IAAI,CAAC,IAAI,EAAE,CAAC;YACR,YAAY,CAAC,KAAK,CAAC,CAAC;YAEpB,IAAI,CAAC,aAAa,CAAC,OAAO,IAAI,uBAAuB,EAAE,CAAC;gBACpD,4BAA4B,EAAE,CAAC;YACnC,CAAC;QACL,CAAC;IACL,CAAC,CAAC;IAEF,MAAM,cAAc,GAAG,GAAG,EAAE;QACxB,YAAY,CAAC,IAAI,CAAC,CAAC;IACvB,CAAC,CAAC;IAEF,OAAO,CACH,KAAC,mBAAmB,IAChB,EAAE,EAAE,SAAS,CAAC,EAAE,EAChB,SAAS,EAAE,SAAS,EACpB,IAAI,EAAE,SAAS,CAAC,eAAe,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS,EACvD,KAAK,EAAE,KAAK,EACZ,MAAM,EAAE,SAAS,IAAI,QAAQ,IAAI,CAAC,iBAAiB,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,iBAAiB,EACzF,QAAQ,EAAE,QAAQ,EAClB,UAAU,EACN,CAAC,CAAC,KAAK;YACP,CAAC,SAAS,CAAC,eAAe;YAC1B,CAAC,cAAc,CAAC,2BAA2B;YAC3C,CAAC,eAAe,CAAC,4BAA4B,EAEjD,MAAM,EAAE,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,EAChD,MAAM,EAAE,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,EACtC,QAAQ,EAAE,iBAAiB,EAC3B,OAAO,EAAE,cAAc,EACvB,YAAY,EAAE,iBAAiB,EAC/B,WAAW,EAAE,CAAC,CAAC,yCAAyC,CAAC,GAC3D,CACL,CAAC;AACN,CAAC,CAAC","sourcesContent":["// Copyright LEAV Solutions 2017 until 2023/11/05, Copyright Aristid from 2023/11/06\n// This file is released under LGPL V3\n// License text available at https://www.gnu.org/licenses/lgpl-3.0.txt\nimport {KitDatePicker} from 'aristid-ds';\nimport {type FunctionComponent, useRef, useState} from 'react';\nimport {Form} from 'antd';\nimport dayjs from 'dayjs';\nimport styled from 'styled-components';\nimport {setDateToUTCNoon} from '_ui/_utils';\nimport {type IStandFieldValueContentProps} from './_types';\nimport {type IKitDatePicker} from 'aristid-ds/dist/Kit/DataEntry/DatePicker/types';\nimport {useSharedTranslation} from '_ui/hooks/useSharedTranslation';\nimport {EMPTY_INITIAL_VALUE_STRING} from '../../../antdUtils';\n\nconst KitDatePickerStyled = styled(KitDatePicker)`\n width: 100%;\n`;\n\nexport const DSDatePickerWrapper: FunctionComponent<IStandFieldValueContentProps<IKitDatePicker>> = ({\n value,\n presentationValue,\n isLastValueOfMultivalues,\n removeLastValueOfMultivalues,\n onChange,\n attribute,\n handleSubmit,\n readonly,\n calculatedFlags,\n inheritedFlags,\n}) => {\n if (!onChange) {\n throw Error('DSDatePickerWrapper should be used inside a antd Form.Item');\n }\n\n const isNewValueOfMultivalues =\n isLastValueOfMultivalues && typeof value === 'string' && value === EMPTY_INITIAL_VALUE_STRING;\n const focusedDefaultValue = attribute.multiple_values ? isNewValueOfMultivalues : false;\n\n const {errors} = Form.Item.useStatus();\n const {t} = useSharedTranslation();\n\n const hasChangedRef = useRef(false);\n const [isFocused, setIsFocused] = useState(focusedDefaultValue);\n const isErrors = errors.length > 0;\n\n const _resetToInheritedOrCalculatedValue = async () => {\n hasChangedRef.current = false;\n\n if (inheritedFlags.isInheritedValue) {\n onChange(\n dayjs.unix(Number(inheritedFlags.inheritedValue.raw_payload)),\n inheritedFlags.inheritedValue.raw_payload,\n );\n } else if (calculatedFlags.isCalculatedValue) {\n onChange(\n dayjs.unix(Number(calculatedFlags.calculatedValue.raw_payload)),\n calculatedFlags.calculatedValue.raw_payload,\n );\n }\n\n await handleSubmit(null, attribute.id);\n };\n\n const _handleDateChange: (\n datePickerDate: dayjs.Dayjs | null,\n antOnChangeParams: string | string[],\n ) => void = async (datePickerDate, ...antOnChangeParams) => {\n hasChangedRef.current = true;\n\n if ((inheritedFlags.isInheritedValue || calculatedFlags.isCalculatedValue) && datePickerDate === null) {\n _resetToInheritedOrCalculatedValue();\n return;\n }\n\n if (!!datePickerDate) {\n datePickerDate = setDateToUTCNoon(datePickerDate);\n }\n\n onChange(datePickerDate, ...antOnChangeParams);\n\n let dateToSave = '';\n if (!!datePickerDate) {\n dateToSave = String(datePickerDate.unix());\n }\n\n await handleSubmit(dateToSave, attribute.id);\n };\n\n const _handleOpenChange = (open: boolean) => {\n if (!open) {\n setIsFocused(false);\n\n if (!hasChangedRef.current && isNewValueOfMultivalues) {\n removeLastValueOfMultivalues();\n }\n }\n };\n\n const _handleOnFocus = () => {\n setIsFocused(true);\n };\n\n return (\n <KitDatePickerStyled\n id={attribute.id}\n autoFocus={isFocused}\n open={attribute.multiple_values ? isFocused : undefined}\n value={value}\n format={isFocused || isErrors || !presentationValue ? undefined : () => presentationValue}\n readonly={readonly}\n allowClear={\n !!value &&\n !attribute.multiple_values &&\n !inheritedFlags.isInheritedNotOverrideValue &&\n !calculatedFlags.isCalculatedNotOverrideValue\n }\n helper={isErrors ? String(errors[0]) : undefined}\n status={isErrors ? 'error' : undefined}\n onChange={_handleDateChange}\n onFocus={_handleOnFocus}\n onOpenChange={_handleOpenChange}\n placeholder={t('record_edition.placeholder.enter_a_date')}\n />\n );\n};\n"]}
1
+ {"version":3,"file":"DSDatePickerWrapper.js","sourceRoot":"","sources":["../../../../../../../src/components/RecordEdition/EditRecordContent/uiElements/StandardField/StandardFieldValue/DSDatePickerWrapper.tsx"],"names":[],"mappings":"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","sourcesContent":["// Copyright LEAV Solutions 2017 until 2023/11/05, Copyright Aristid from 2023/11/06\n// This file is released under LGPL V3\n// License text available at https://www.gnu.org/licenses/lgpl-3.0.txt\nimport {KitDatePicker} from 'aristid-ds';\nimport {type FunctionComponent, useRef, useState} from 'react';\nimport {Form} from 'antd';\nimport dayjs from 'dayjs';\nimport styled from 'styled-components';\nimport {setDateToUTCNoon} from '_ui/_utils';\nimport {type IStandFieldValueContentProps} from './_types';\nimport {type IKitDatePicker} from 'aristid-ds/dist/Kit/DataEntry/DatePicker/types';\nimport {useSharedTranslation} from '_ui/hooks/useSharedTranslation';\nimport {EMPTY_INITIAL_VALUE_STRING} from '../../../antdUtils';\n\nconst KitDatePickerStyled = styled(KitDatePicker)`\n width: 100%;\n`;\n\nexport const DSDatePickerWrapper: FunctionComponent<IStandFieldValueContentProps<IKitDatePicker>> = ({\n value,\n presentationValue,\n isLastValueOfMultivalues,\n removeLastValueOfMultivalues,\n onChange,\n attribute,\n handleSubmit,\n readonly,\n calculatedFlags,\n inheritedFlags,\n}) => {\n if (!onChange) {\n throw Error('DSDatePickerWrapper should be used inside a antd Form.Item');\n }\n\n const isNewValueOfMultivalues =\n isLastValueOfMultivalues && typeof value === 'string' && value === EMPTY_INITIAL_VALUE_STRING;\n const focusedDefaultValue = attribute.multiple_values ? isNewValueOfMultivalues : false;\n\n const {errors} = Form.Item.useStatus();\n const {t} = useSharedTranslation();\n\n const hasChangedRef = useRef(false);\n const [isFocused, setIsFocused] = useState(focusedDefaultValue);\n const isErrors = errors.length > 0;\n\n // TODO: Remove inheritedValues[0] and calculatedValues[0] when we will have a proper way to override multiple values. For now, those attributes are set in readonly mode.\n const _resetToInheritedOrCalculatedValue = async () => {\n hasChangedRef.current = false;\n\n if (inheritedFlags.isInheritedValues) {\n onChange(\n dayjs.unix(Number(inheritedFlags.inheritedValues[0].raw_payload)),\n inheritedFlags.inheritedValues[0].raw_payload,\n );\n } else if (calculatedFlags.isCalculatedValues) {\n onChange(\n dayjs.unix(Number(calculatedFlags.calculatedValues[0].raw_payload)),\n calculatedFlags.calculatedValues[0].raw_payload,\n );\n }\n\n await handleSubmit(null, attribute.id);\n };\n\n const _handleDateChange: (\n datePickerDate: dayjs.Dayjs | null,\n antOnChangeParams: string | string[],\n ) => void = async (datePickerDate, ...antOnChangeParams) => {\n hasChangedRef.current = true;\n\n if ((inheritedFlags.isInheritedValues || calculatedFlags.isCalculatedValues) && datePickerDate === null) {\n _resetToInheritedOrCalculatedValue();\n return;\n }\n\n if (!!datePickerDate) {\n datePickerDate = setDateToUTCNoon(datePickerDate);\n }\n\n onChange(datePickerDate, ...antOnChangeParams);\n\n let dateToSave = '';\n if (!!datePickerDate) {\n dateToSave = String(datePickerDate.unix());\n }\n\n await handleSubmit(dateToSave, attribute.id);\n };\n\n const _handleOpenChange = (open: boolean) => {\n if (!open) {\n setIsFocused(false);\n\n if (!hasChangedRef.current && isNewValueOfMultivalues) {\n removeLastValueOfMultivalues();\n }\n }\n };\n\n const _handleOnFocus = () => {\n setIsFocused(true);\n };\n\n return (\n <KitDatePickerStyled\n id={attribute.id}\n autoFocus={isFocused}\n open={attribute.multiple_values ? isFocused : undefined}\n value={value}\n format={isFocused || isErrors || !presentationValue ? undefined : () => presentationValue}\n readonly={readonly}\n allowClear={\n !!value &&\n !attribute.multiple_values &&\n !inheritedFlags.isInheritedNotOverrideValues &&\n !calculatedFlags.isCalculatedNotOverrideValues\n }\n helper={isErrors ? String(errors[0]) : undefined}\n status={isErrors ? 'error' : undefined}\n onChange={_handleDateChange}\n onFocus={_handleOnFocus}\n onOpenChange={_handleOpenChange}\n placeholder={t('record_edition.placeholder.enter_a_date')}\n />\n );\n};\n"]}
@@ -23,13 +23,14 @@ export const DSInputNumberWrapper = ({ value, presentationValue, isLastValueOfMu
23
23
  const { errors } = Form.Item.useStatus();
24
24
  const { t } = useSharedTranslation();
25
25
  const isErrors = errors.length > 0;
26
+ // TODO: Remove inheritedValues[0] and calculatedValues[0] when we will have a proper way to override multiple values. For now, those attributes are set in readonly mode.
26
27
  const _resetToInheritedOrCalculatedValue = async () => {
27
28
  setHasChanged(false);
28
- if (inheritedFlags.isInheritedValue) {
29
- onChange(inheritedFlags.inheritedValue.raw_payload);
29
+ if (inheritedFlags.isInheritedValues) {
30
+ onChange(inheritedFlags.inheritedValues[0].raw_payload);
30
31
  }
31
- else if (calculatedFlags.isCalculatedValue) {
32
- onChange(calculatedFlags.calculatedValue.raw_payload);
32
+ else if (calculatedFlags.isCalculatedValues) {
33
+ onChange(calculatedFlags.calculatedValues[0].raw_payload);
33
34
  }
34
35
  await handleSubmit(null, attribute.id);
35
36
  };
@@ -47,7 +48,7 @@ export const DSInputNumberWrapper = ({ value, presentationValue, isLastValueOfMu
47
48
  }
48
49
  return;
49
50
  }
50
- if (valueToSubmit === '' && (inheritedFlags.isInheritedValue || calculatedFlags.isCalculatedValue)) {
51
+ if (valueToSubmit === '' && (inheritedFlags.isInheritedValues || calculatedFlags.isCalculatedValues)) {
51
52
  _resetToInheritedOrCalculatedValue();
52
53
  return;
53
54
  }
@@ -1 +1 @@
1
- {"version":3,"file":"DSInputNumberWrapper.js","sourceRoot":"","sources":["../../../../../../../src/components/RecordEdition/EditRecordContent/uiElements/StandardField/StandardFieldValue/DSInputNumberWrapper.tsx"],"names":[],"mappings":"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","sourcesContent":["// Copyright LEAV Solutions 2017 until 2023/11/05, Copyright Aristid from 2023/11/06\n// This file is released under LGPL V3\n// License text available at https://www.gnu.org/licenses/lgpl-3.0.txt\nimport {KitInputNumber} from 'aristid-ds';\nimport {type ComponentPropsWithRef, type FocusEvent, type FunctionComponent, useRef, useState} from 'react';\nimport {Form, type GetRef} from 'antd';\nimport styled from 'styled-components';\nimport {type IStandFieldValueContentProps} from './_types';\nimport {type KitInputNumberProps} from 'aristid-ds/dist/Kit/DataEntry/InputNumber/types';\nimport {useSharedTranslation} from '_ui/hooks/useSharedTranslation';\nimport {EMPTY_INITIAL_VALUE_STRING} from '../../../antdUtils';\n\nconst KitInputNumberStyled = styled(KitInputNumber)`\n width: 100%;\n`;\n\nexport const DSInputNumberWrapper: FunctionComponent<IStandFieldValueContentProps<KitInputNumberProps>> = ({\n value,\n presentationValue,\n isLastValueOfMultivalues,\n removeLastValueOfMultivalues,\n onChange,\n attribute,\n handleSubmit,\n readonly,\n calculatedFlags,\n inheritedFlags,\n}) => {\n if (!onChange) {\n throw Error('DSInputNumberWrapper should be used inside a antd Form.Item');\n }\n\n const isNewValueOfMultivalues = isLastValueOfMultivalues && value === EMPTY_INITIAL_VALUE_STRING;\n const focusedDefaultValue = attribute.multiple_values ? isNewValueOfMultivalues : false;\n\n const [hasChanged, setHasChanged] = useState(false);\n const [isFocused, setIsFocused] = useState(focusedDefaultValue);\n const inputRef = useRef<GetRef<typeof KitInputNumberStyled>>(null);\n const {errors} = Form.Item.useStatus();\n const {t} = useSharedTranslation();\n\n const isErrors = errors.length > 0;\n\n const _resetToInheritedOrCalculatedValue = async () => {\n setHasChanged(false);\n if (inheritedFlags.isInheritedValue) {\n onChange(inheritedFlags.inheritedValue.raw_payload);\n } else if (calculatedFlags.isCalculatedValue) {\n onChange(calculatedFlags.calculatedValue.raw_payload);\n }\n await handleSubmit(null, attribute.id);\n };\n\n const _handleFocus = () => {\n setIsFocused(true);\n };\n\n const _handleOnBlur = async (event: FocusEvent<HTMLInputElement>) => {\n setHasChanged(false);\n const valueToSubmit = event.target.value;\n if (!hasChanged) {\n onChange(valueToSubmit);\n setIsFocused(false);\n\n if (isNewValueOfMultivalues) {\n removeLastValueOfMultivalues();\n }\n return;\n }\n\n if (valueToSubmit === '' && (inheritedFlags.isInheritedValue || calculatedFlags.isCalculatedValue)) {\n _resetToInheritedOrCalculatedValue();\n return;\n }\n\n onChange(valueToSubmit);\n await handleSubmit(valueToSubmit, attribute.id);\n setIsFocused(false);\n };\n\n const _handleOnChange: ComponentPropsWithRef<typeof KitInputNumberStyled>['onChange'] = inputValue => {\n setHasChanged(true);\n onChange(inputValue);\n };\n\n return (\n <KitInputNumberStyled\n ref={inputRef}\n id={attribute.id}\n autoFocus={isFocused}\n helper={isErrors ? String(errors[0]) : undefined}\n status={isErrors ? 'error' : undefined}\n value={value}\n formatter={v => (isFocused || isErrors || !presentationValue ? `${v}` : `${presentationValue}`)}\n readonly={readonly}\n onChange={_handleOnChange}\n onFocus={_handleFocus}\n onBlur={_handleOnBlur}\n placeholder={t('record_edition.placeholder.enter_a_number')}\n />\n );\n};\n"]}
1
+ {"version":3,"file":"DSInputNumberWrapper.js","sourceRoot":"","sources":["../../../../../../../src/components/RecordEdition/EditRecordContent/uiElements/StandardField/StandardFieldValue/DSInputNumberWrapper.tsx"],"names":[],"mappings":"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","sourcesContent":["// Copyright LEAV Solutions 2017 until 2023/11/05, Copyright Aristid from 2023/11/06\n// This file is released under LGPL V3\n// License text available at https://www.gnu.org/licenses/lgpl-3.0.txt\nimport {KitInputNumber} from 'aristid-ds';\nimport {type ComponentPropsWithRef, type FocusEvent, type FunctionComponent, useRef, useState} from 'react';\nimport {Form, type GetRef} from 'antd';\nimport styled from 'styled-components';\nimport {type IStandFieldValueContentProps} from './_types';\nimport {type KitInputNumberProps} from 'aristid-ds/dist/Kit/DataEntry/InputNumber/types';\nimport {useSharedTranslation} from '_ui/hooks/useSharedTranslation';\nimport {EMPTY_INITIAL_VALUE_STRING} from '../../../antdUtils';\n\nconst KitInputNumberStyled = styled(KitInputNumber)`\n width: 100%;\n`;\n\nexport const DSInputNumberWrapper: FunctionComponent<IStandFieldValueContentProps<KitInputNumberProps>> = ({\n value,\n presentationValue,\n isLastValueOfMultivalues,\n removeLastValueOfMultivalues,\n onChange,\n attribute,\n handleSubmit,\n readonly,\n calculatedFlags,\n inheritedFlags,\n}) => {\n if (!onChange) {\n throw Error('DSInputNumberWrapper should be used inside a antd Form.Item');\n }\n\n const isNewValueOfMultivalues = isLastValueOfMultivalues && value === EMPTY_INITIAL_VALUE_STRING;\n const focusedDefaultValue = attribute.multiple_values ? isNewValueOfMultivalues : false;\n\n const [hasChanged, setHasChanged] = useState(false);\n const [isFocused, setIsFocused] = useState(focusedDefaultValue);\n const inputRef = useRef<GetRef<typeof KitInputNumberStyled>>(null);\n const {errors} = Form.Item.useStatus();\n const {t} = useSharedTranslation();\n\n const isErrors = errors.length > 0;\n\n // TODO: Remove inheritedValues[0] and calculatedValues[0] when we will have a proper way to override multiple values. For now, those attributes are set in readonly mode.\n const _resetToInheritedOrCalculatedValue = async () => {\n setHasChanged(false);\n if (inheritedFlags.isInheritedValues) {\n onChange(inheritedFlags.inheritedValues[0].raw_payload);\n } else if (calculatedFlags.isCalculatedValues) {\n onChange(calculatedFlags.calculatedValues[0].raw_payload);\n }\n await handleSubmit(null, attribute.id);\n };\n\n const _handleFocus = () => {\n setIsFocused(true);\n };\n\n const _handleOnBlur = async (event: FocusEvent<HTMLInputElement>) => {\n setHasChanged(false);\n const valueToSubmit = event.target.value;\n if (!hasChanged) {\n onChange(valueToSubmit);\n setIsFocused(false);\n\n if (isNewValueOfMultivalues) {\n removeLastValueOfMultivalues();\n }\n return;\n }\n\n if (valueToSubmit === '' && (inheritedFlags.isInheritedValues || calculatedFlags.isCalculatedValues)) {\n _resetToInheritedOrCalculatedValue();\n return;\n }\n\n onChange(valueToSubmit);\n await handleSubmit(valueToSubmit, attribute.id);\n setIsFocused(false);\n };\n\n const _handleOnChange: ComponentPropsWithRef<typeof KitInputNumberStyled>['onChange'] = inputValue => {\n setHasChanged(true);\n onChange(inputValue);\n };\n\n return (\n <KitInputNumberStyled\n ref={inputRef}\n id={attribute.id}\n autoFocus={isFocused}\n helper={isErrors ? String(errors[0]) : undefined}\n status={isErrors ? 'error' : undefined}\n value={value}\n formatter={v => (isFocused || isErrors || !presentationValue ? `${v}` : `${presentationValue}`)}\n readonly={readonly}\n onChange={_handleOnChange}\n onFocus={_handleFocus}\n onBlur={_handleOnBlur}\n placeholder={t('record_edition.placeholder.enter_a_number')}\n />\n );\n};\n"]}
@@ -19,12 +19,13 @@ export const DSInputWrapper = ({ value, presentationValue, isLastValueOfMultival
19
19
  const { t } = useSharedTranslation();
20
20
  const isErrors = errors.length > 0;
21
21
  const valueToDisplay = isFocused || isErrors || !presentationValue ? value : presentationValue;
22
+ // TODO: Remove inheritedValues[0] and calculatedValues[0] when we will have a proper way to override multiple values. For now, those attributes are set in readonly mode.
22
23
  const _resetToInheritedOrCalculatedValue = async () => {
23
- if (inheritedFlags.isInheritedValue) {
24
- onChange(inheritedFlags.inheritedValue.raw_payload);
24
+ if (inheritedFlags.isInheritedValues) {
25
+ onChange(inheritedFlags.inheritedValues[0].raw_payload);
25
26
  }
26
- else if (calculatedFlags.isCalculatedValue) {
27
- onChange(calculatedFlags.calculatedValue.raw_payload);
27
+ else if (calculatedFlags.isCalculatedValues) {
28
+ onChange(calculatedFlags.calculatedValues[0].raw_payload);
28
29
  }
29
30
  await handleSubmit(null, attribute.id);
30
31
  };
@@ -42,7 +43,7 @@ export const DSInputWrapper = ({ value, presentationValue, isLastValueOfMultival
42
43
  return;
43
44
  }
44
45
  const inputValue = event.target.value;
45
- if (inputValue === '' && (inheritedFlags.isInheritedValue || calculatedFlags.isCalculatedValue)) {
46
+ if (inputValue === '' && (inheritedFlags.isInheritedValues || calculatedFlags.isCalculatedValues)) {
46
47
  _resetToInheritedOrCalculatedValue();
47
48
  return;
48
49
  }
@@ -1 +1 @@
1
- {"version":3,"file":"DSInputWrapper.js","sourceRoot":"","sources":["../../../../../../../src/components/RecordEdition/EditRecordContent/uiElements/StandardField/StandardFieldValue/DSInputWrapper.tsx"],"names":[],"mappings":"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","sourcesContent":["// Copyright LEAV Solutions 2017 until 2023/11/05, Copyright Aristid from 2023/11/06\n// This file is released under LGPL V3\n// License text available at https://www.gnu.org/licenses/lgpl-3.0.txt\nimport {KitInput} from 'aristid-ds';\nimport {type ChangeEvent, type FocusEvent, type FunctionComponent, useState} from 'react';\nimport {Form} from 'antd';\nimport {type IStandFieldValueContentProps} from './_types';\nimport {type IKitInput} from 'aristid-ds/dist/Kit/DataEntry/Input/types';\nimport {useSharedTranslation} from '_ui/hooks/useSharedTranslation';\nimport {EMPTY_INITIAL_VALUE_STRING} from '../../../antdUtils';\n\nexport const DSInputWrapper: FunctionComponent<IStandFieldValueContentProps<IKitInput>> = ({\n value,\n presentationValue,\n isLastValueOfMultivalues,\n removeLastValueOfMultivalues,\n onChange,\n attribute,\n readonly,\n handleSubmit,\n calculatedFlags,\n inheritedFlags,\n}) => {\n if (!onChange) {\n throw Error('DSInputWrapper should be used inside a antd Form.Item');\n }\n\n const isNewValueOfMultivalues = isLastValueOfMultivalues && value === EMPTY_INITIAL_VALUE_STRING;\n const focusedDefaultValue = attribute.multiple_values ? isNewValueOfMultivalues : false;\n\n const [hasChanged, setHasChanged] = useState(false);\n const [isFocused, setIsFocused] = useState(focusedDefaultValue);\n const {errors} = Form.Item.useStatus();\n const {t} = useSharedTranslation();\n\n const isErrors = errors.length > 0;\n const valueToDisplay = isFocused || isErrors || !presentationValue ? value : presentationValue;\n\n const _resetToInheritedOrCalculatedValue = async () => {\n if (inheritedFlags.isInheritedValue) {\n onChange(inheritedFlags.inheritedValue.raw_payload);\n } else if (calculatedFlags.isCalculatedValue) {\n onChange(calculatedFlags.calculatedValue.raw_payload);\n }\n await handleSubmit(null, attribute.id);\n };\n\n const _handleOnFocus = () => {\n setIsFocused(true);\n };\n\n const _handleOnBlur = async (event: FocusEvent<HTMLInputElement>) => {\n setHasChanged(false);\n if (!hasChanged) {\n onChange(event);\n setIsFocused(false);\n\n if (isNewValueOfMultivalues) {\n removeLastValueOfMultivalues();\n }\n return;\n }\n\n const inputValue = event.target.value;\n if (inputValue === '' && (inheritedFlags.isInheritedValue || calculatedFlags.isCalculatedValue)) {\n _resetToInheritedOrCalculatedValue();\n return;\n }\n\n onChange(event);\n await handleSubmit(inputValue, attribute.id);\n setIsFocused(false);\n };\n\n const _handleOnChange = async (event: ChangeEvent<HTMLInputElement>) => {\n setHasChanged(true);\n onChange(event);\n };\n\n return (\n <KitInput\n id={attribute.id}\n autoFocus={isFocused}\n readonly={readonly}\n helper={isErrors ? String(errors[0]) : undefined}\n status={isErrors ? 'error' : undefined}\n value={valueToDisplay}\n allowClear={!!value && !attribute.multiple_values}\n onChange={_handleOnChange}\n onFocus={_handleOnFocus}\n onBlur={_handleOnBlur}\n placeholder={t('record_edition.placeholder.enter_a_text')}\n maxLength={attribute.character_limit ?? undefined}\n showCount\n />\n );\n};\n"]}
1
+ {"version":3,"file":"DSInputWrapper.js","sourceRoot":"","sources":["../../../../../../../src/components/RecordEdition/EditRecordContent/uiElements/StandardField/StandardFieldValue/DSInputWrapper.tsx"],"names":[],"mappings":"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","sourcesContent":["// Copyright LEAV Solutions 2017 until 2023/11/05, Copyright Aristid from 2023/11/06\n// This file is released under LGPL V3\n// License text available at https://www.gnu.org/licenses/lgpl-3.0.txt\nimport {KitInput} from 'aristid-ds';\nimport {type ChangeEvent, type FocusEvent, type FunctionComponent, useState} from 'react';\nimport {Form} from 'antd';\nimport {type IStandFieldValueContentProps} from './_types';\nimport {type IKitInput} from 'aristid-ds/dist/Kit/DataEntry/Input/types';\nimport {useSharedTranslation} from '_ui/hooks/useSharedTranslation';\nimport {EMPTY_INITIAL_VALUE_STRING} from '../../../antdUtils';\n\nexport const DSInputWrapper: FunctionComponent<IStandFieldValueContentProps<IKitInput>> = ({\n value,\n presentationValue,\n isLastValueOfMultivalues,\n removeLastValueOfMultivalues,\n onChange,\n attribute,\n readonly,\n handleSubmit,\n calculatedFlags,\n inheritedFlags,\n}) => {\n if (!onChange) {\n throw Error('DSInputWrapper should be used inside a antd Form.Item');\n }\n\n const isNewValueOfMultivalues = isLastValueOfMultivalues && value === EMPTY_INITIAL_VALUE_STRING;\n const focusedDefaultValue = attribute.multiple_values ? isNewValueOfMultivalues : false;\n\n const [hasChanged, setHasChanged] = useState(false);\n const [isFocused, setIsFocused] = useState(focusedDefaultValue);\n const {errors} = Form.Item.useStatus();\n const {t} = useSharedTranslation();\n\n const isErrors = errors.length > 0;\n const valueToDisplay = isFocused || isErrors || !presentationValue ? value : presentationValue;\n\n // TODO: Remove inheritedValues[0] and calculatedValues[0] when we will have a proper way to override multiple values. For now, those attributes are set in readonly mode.\n const _resetToInheritedOrCalculatedValue = async () => {\n if (inheritedFlags.isInheritedValues) {\n onChange(inheritedFlags.inheritedValues[0].raw_payload);\n } else if (calculatedFlags.isCalculatedValues) {\n onChange(calculatedFlags.calculatedValues[0].raw_payload);\n }\n await handleSubmit(null, attribute.id);\n };\n\n const _handleOnFocus = () => {\n setIsFocused(true);\n };\n\n const _handleOnBlur = async (event: FocusEvent<HTMLInputElement>) => {\n setHasChanged(false);\n if (!hasChanged) {\n onChange(event);\n setIsFocused(false);\n\n if (isNewValueOfMultivalues) {\n removeLastValueOfMultivalues();\n }\n return;\n }\n\n const inputValue = event.target.value;\n if (inputValue === '' && (inheritedFlags.isInheritedValues || calculatedFlags.isCalculatedValues)) {\n _resetToInheritedOrCalculatedValue();\n return;\n }\n\n onChange(event);\n await handleSubmit(inputValue, attribute.id);\n setIsFocused(false);\n };\n\n const _handleOnChange = async (event: ChangeEvent<HTMLInputElement>) => {\n setHasChanged(true);\n onChange(event);\n };\n\n return (\n <KitInput\n id={attribute.id}\n autoFocus={isFocused}\n readonly={readonly}\n helper={isErrors ? String(errors[0]) : undefined}\n status={isErrors ? 'error' : undefined}\n value={valueToDisplay}\n allowClear={!!value && !attribute.multiple_values}\n onChange={_handleOnChange}\n onFocus={_handleOnFocus}\n onBlur={_handleOnBlur}\n placeholder={t('record_edition.placeholder.enter_a_text')}\n maxLength={attribute.character_limit ?? undefined}\n showCount\n />\n );\n};\n"]}
@@ -33,25 +33,26 @@ export const DSRangePickerWrapper = ({ value, presentationValue, isLastValueOfMu
33
33
  // we slow down the css so that presentationValue does not flash before being hidden
34
34
  const [usePresentationLayout, setUsePresentationLayout] = useState(false);
35
35
  useEffect(() => setUsePresentationLayout(!isFocused && !isErrors), [isFocused, isErrors]);
36
+ // TODO: Remove inheritedValues[0] and calculatedValues[0] when we will have a proper way to override multiple values. For now, those attributes are set in readonly mode.
36
37
  const _resetToInheritedOrCalculatedValue = async () => {
37
38
  hasChangedRef.current = false;
38
- if (inheritedFlags.isInheritedValue) {
39
+ if (inheritedFlags.isInheritedValues) {
39
40
  onChange([
40
- dayjs.unix(Number(inheritedFlags.inheritedValue.raw_payload.from)),
41
- dayjs.unix(Number(inheritedFlags.inheritedValue.raw_payload.to)),
42
- ], inheritedFlags.inheritedValue.raw_payload);
41
+ dayjs.unix(Number(inheritedFlags.inheritedValues[0].raw_payload.from)),
42
+ dayjs.unix(Number(inheritedFlags.inheritedValues[0].raw_payload.to)),
43
+ ], inheritedFlags.inheritedValues[0].raw_payload);
43
44
  }
44
- else if (calculatedFlags.isCalculatedValue) {
45
+ else if (calculatedFlags.isCalculatedValues) {
45
46
  onChange([
46
- dayjs.unix(Number(calculatedFlags.calculatedValue.raw_payload.from)),
47
- dayjs.unix(Number(calculatedFlags.calculatedValue.raw_payload.to)),
48
- ], calculatedFlags.calculatedValue.raw_payload);
47
+ dayjs.unix(Number(calculatedFlags.calculatedValues[0].raw_payload.from)),
48
+ dayjs.unix(Number(calculatedFlags.calculatedValues[0].raw_payload.to)),
49
+ ], calculatedFlags.calculatedValues[0].raw_payload);
49
50
  }
50
51
  await handleSubmit(null, attribute.id);
51
52
  };
52
53
  const _handleDateChange = async (rangePickerDates, ...antOnChangeParams) => {
53
54
  hasChangedRef.current = true;
54
- if ((inheritedFlags.isInheritedValue || calculatedFlags.isCalculatedValue) && rangePickerDates === null) {
55
+ if ((inheritedFlags.isInheritedValues || calculatedFlags.isCalculatedValues) && rangePickerDates === null) {
55
56
  _resetToInheritedOrCalculatedValue();
56
57
  return;
57
58
  }
@@ -82,7 +83,7 @@ export const DSRangePickerWrapper = ({ value, presentationValue, isLastValueOfMu
82
83
  : [t('record_edition.placeholder.enter_a_period'), ''];
83
84
  return (_jsx(KitDatePickerRangePickerStyled, { id: attribute.id, autoFocus: isFocused, open: attribute.multiple_values ? isFocused : undefined, value: value, format: !isFocused && !isErrors && !!presentationValue ? () => presentationValue : undefined, readonly: readonly, allowClear: !!value &&
84
85
  !attribute.multiple_values &&
85
- !inheritedFlags.isInheritedNotOverrideValue &&
86
- !calculatedFlags.isCalculatedNotOverrideValue, helper: isErrors ? String(errors[0]) : undefined, status: isErrors ? 'error' : undefined, onFocus: _handleOnFocus, onChange: _handleDateChange, onOpenChange: _handleOpenChange, placeholder: placeholderToDisplay, "$shouldUsePresentationLayout": usePresentationLayout }));
86
+ !inheritedFlags.isInheritedNotOverrideValues &&
87
+ !calculatedFlags.isCalculatedNotOverrideValues, helper: isErrors ? String(errors[0]) : undefined, status: isErrors ? 'error' : undefined, onFocus: _handleOnFocus, onChange: _handleDateChange, onOpenChange: _handleOpenChange, placeholder: placeholderToDisplay, "$shouldUsePresentationLayout": usePresentationLayout }));
87
88
  };
88
89
  //# sourceMappingURL=DSRangePickerWrapper.js.map