@leav/ui 1.5.1 → 1.5.2-861351df
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/__mocks__/common/attribute.js +1 -0
- package/dist/__mocks__/common/attribute.js.map +1 -1
- package/dist/_gqlTypes/index.d.ts +117 -18
- package/dist/_gqlTypes/index.js +88 -0
- package/dist/_gqlTypes/index.js.map +1 -1
- package/dist/_queries/attributes/attributeDetailsFragment.js +1 -0
- package/dist/_queries/attributes/attributeDetailsFragment.js.map +1 -1
- package/dist/components/Explorer/Explorer.d.ts +1 -1
- package/dist/components/Explorer/Explorer.js +15 -3
- package/dist/components/Explorer/Explorer.js.map +1 -1
- package/dist/components/Explorer/_queries/useExplorerData.js +13 -2
- package/dist/components/Explorer/_queries/useExplorerData.js.map +1 -1
- package/dist/components/Explorer/actions-mass/edit-attribute/EditAttributeMassActionModal.d.ts +13 -0
- package/dist/components/Explorer/actions-mass/edit-attribute/EditAttributeMassActionModal.js +20 -0
- package/dist/components/Explorer/actions-mass/edit-attribute/EditAttributeMassActionModal.js.map +1 -0
- package/dist/components/Explorer/actions-mass/edit-attribute/EditTreeAttributeValueLine.d.ts +10 -0
- package/dist/components/Explorer/actions-mass/edit-attribute/EditTreeAttributeValueLine.js +38 -0
- package/dist/components/Explorer/actions-mass/edit-attribute/EditTreeAttributeValueLine.js.map +1 -0
- package/dist/components/Explorer/actions-mass/edit-attribute/EditTreeAttributeValuesMapping.d.ts +8 -0
- package/dist/components/Explorer/actions-mass/edit-attribute/EditTreeAttributeValuesMapping.js +16 -0
- package/dist/components/Explorer/actions-mass/edit-attribute/EditTreeAttributeValuesMapping.js.map +1 -0
- package/dist/components/Explorer/actions-mass/edit-attribute/useCountValuesOccurrencesHook.d.ts +10 -0
- package/dist/components/Explorer/actions-mass/edit-attribute/useCountValuesOccurrencesHook.js +28 -0
- package/dist/components/Explorer/actions-mass/edit-attribute/useCountValuesOccurrencesHook.js.map +1 -0
- package/dist/components/Explorer/actions-mass/edit-attribute/useListEditableAttributeHook.d.ts +5 -0
- package/dist/components/Explorer/actions-mass/edit-attribute/useListEditableAttributeHook.js +12 -0
- package/dist/components/Explorer/actions-mass/edit-attribute/useListEditableAttributeHook.js.map +1 -0
- package/dist/components/Explorer/actions-mass/edit-attribute/useListTreeAttributeValuesHook.d.ts +5 -0
- package/dist/components/Explorer/actions-mass/edit-attribute/useListTreeAttributeValuesHook.js +20 -0
- package/dist/components/Explorer/actions-mass/edit-attribute/useListTreeAttributeValuesHook.js.map +1 -0
- package/dist/components/Explorer/actions-mass/useEditAttributeMassAction.d.ts +11 -0
- package/dist/components/Explorer/actions-mass/useEditAttributeMassAction.js +106 -0
- package/dist/components/Explorer/actions-mass/useEditAttributeMassAction.js.map +1 -0
- package/dist/components/Explorer/actions-mass/useExportMassAction.js +11 -13
- package/dist/components/Explorer/actions-mass/useExportMassAction.js.map +1 -1
- package/dist/components/Filters/context/filtersReducer.js +0 -1
- package/dist/components/Filters/context/filtersReducer.js.map +1 -1
- package/dist/components/Filters/filter-items/filter-type/TextAttributeDropDown.js +24 -7
- package/dist/components/Filters/filter-items/filter-type/TextAttributeDropDown.js.map +1 -1
- package/dist/components/Filters/filter-items/filter-type/TreeAttributeDropDown.js +15 -17
- package/dist/components/Filters/filter-items/filter-type/TreeAttributeDropDown.js.map +1 -1
- package/dist/components/Filters/prepareFiltersForRequest.js +1 -1
- package/dist/components/Filters/prepareFiltersForRequest.js.map +1 -1
- package/dist/components/RecordEdition/EditRecordContent/antdUtils.js +12 -3
- package/dist/components/RecordEdition/EditRecordContent/antdUtils.js.map +1 -1
- package/dist/components/RecordEdition/EditRecordContent/uiElements/LinkField/LinkField.js +4 -1
- package/dist/components/RecordEdition/EditRecordContent/uiElements/LinkField/LinkField.js.map +1 -1
- package/dist/components/RecordEdition/EditRecordContent/uiElements/StandardField/StandardField.js +6 -3
- package/dist/components/RecordEdition/EditRecordContent/uiElements/StandardField/StandardField.js.map +1 -1
- package/dist/components/RecordEdition/EditRecordContent/uiElements/StandardField/StandardFieldValue/DSBooleanWrapper.js +6 -5
- package/dist/components/RecordEdition/EditRecordContent/uiElements/StandardField/StandardFieldValue/DSBooleanWrapper.js.map +1 -1
- package/dist/components/RecordEdition/EditRecordContent/uiElements/StandardField/StandardFieldValue/DSColorPickerWrapper.js +9 -8
- package/dist/components/RecordEdition/EditRecordContent/uiElements/StandardField/StandardFieldValue/DSColorPickerWrapper.js.map +1 -1
- package/dist/components/RecordEdition/EditRecordContent/uiElements/StandardField/StandardFieldValue/DSDatePickerWrapper.js +8 -7
- package/dist/components/RecordEdition/EditRecordContent/uiElements/StandardField/StandardFieldValue/DSDatePickerWrapper.js.map +1 -1
- package/dist/components/RecordEdition/EditRecordContent/uiElements/StandardField/StandardFieldValue/DSInputNumberWrapper.js +6 -5
- package/dist/components/RecordEdition/EditRecordContent/uiElements/StandardField/StandardFieldValue/DSInputNumberWrapper.js.map +1 -1
- package/dist/components/RecordEdition/EditRecordContent/uiElements/StandardField/StandardFieldValue/DSInputWrapper.js +6 -5
- package/dist/components/RecordEdition/EditRecordContent/uiElements/StandardField/StandardFieldValue/DSInputWrapper.js.map +1 -1
- package/dist/components/RecordEdition/EditRecordContent/uiElements/StandardField/StandardFieldValue/DSRangePickerWrapper.js +12 -11
- package/dist/components/RecordEdition/EditRecordContent/uiElements/StandardField/StandardFieldValue/DSRangePickerWrapper.js.map +1 -1
- package/dist/components/RecordEdition/EditRecordContent/uiElements/StandardField/StandardFieldValue/DSRichTextWrapper.js +16 -7
- package/dist/components/RecordEdition/EditRecordContent/uiElements/StandardField/StandardFieldValue/DSRichTextWrapper.js.map +1 -1
- package/dist/components/RecordEdition/EditRecordContent/uiElements/StandardField/StandardFieldValue/ValuesList/DSListSelect.js +6 -5
- package/dist/components/RecordEdition/EditRecordContent/uiElements/StandardField/StandardFieldValue/ValuesList/DSListSelect.js.map +1 -1
- package/dist/components/RecordEdition/EditRecordContent/uiElements/StandardField/useGetPresentationValues.d.ts +3 -3
- package/dist/components/RecordEdition/EditRecordContent/uiElements/StandardField/useGetPresentationValues.js +10 -4
- package/dist/components/RecordEdition/EditRecordContent/uiElements/StandardField/useGetPresentationValues.js.map +1 -1
- package/dist/components/RecordEdition/EditRecordContent/uiElements/TreeField/TreeField.js +4 -1
- package/dist/components/RecordEdition/EditRecordContent/uiElements/TreeField/TreeField.js.map +1 -1
- package/dist/components/RecordEdition/EditRecordContent/uiElements/shared/ComputeIndicator.js +2 -2
- package/dist/components/RecordEdition/EditRecordContent/uiElements/shared/ComputeIndicator.js.map +1 -1
- package/dist/components/RecordEdition/EditRecordContent/uiElements/shared/calculatedInheritedFlags.d.ts +24 -24
- package/dist/components/RecordEdition/EditRecordContent/uiElements/shared/calculatedInheritedFlags.js +34 -35
- package/dist/components/RecordEdition/EditRecordContent/uiElements/shared/calculatedInheritedFlags.js.map +1 -1
- package/dist/components/RecordEdition/EditRecordSidebar/EditRecordSidebar.js +1 -1
- package/dist/components/RecordEdition/EditRecordSidebar/EditRecordSidebar.js.map +1 -1
- package/dist/components/RecordEdition/EditRecordSidebar/ValuesSummary/ValuesSummary.d.ts +1 -1
- package/dist/components/RecordEdition/EditRecordSidebar/ValuesSummary/ValuesSummary.js +15 -10
- package/dist/components/RecordEdition/EditRecordSidebar/ValuesSummary/ValuesSummary.js.map +1 -1
- package/dist/components/RecordEdition/editRecordReducer/editRecordReducer.d.ts +1 -1
- package/dist/components/RecordEdition/editRecordReducer/editRecordReducer.js +4 -3
- package/dist/components/RecordEdition/editRecordReducer/editRecordReducer.js.map +1 -1
- package/dist/components/SelectTreeNode/SelectTreeNodeContent.js +3 -0
- package/dist/components/SelectTreeNode/SelectTreeNodeContent.js.map +1 -1
- package/dist/constants.d.ts +1 -0
- package/dist/constants.js +1 -0
- package/dist/constants.js.map +1 -1
- package/dist/hooks/useIFrameMessenger/schema.d.ts +43 -4
- package/dist/hooks/useIFrameMessenger/schema.js +11 -5
- package/dist/hooks/useIFrameMessenger/schema.js.map +1 -1
- package/dist/hooks/useIFrameMessenger/types.d.ts +2 -1
- package/dist/hooks/useIFrameMessenger/types.js.map +1 -1
- package/dist/locales/en/shared.json +20 -7
- package/dist/locales/fr/shared.json +20 -7
- package/package.json +4 -4
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"prepareFiltersForRequest.js","sourceRoot":"","sources":["../../../src/components/Filters/prepareFiltersForRequest.ts"],"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 dayjs from 'dayjs';\nimport {AttributeFormat, RecordFilterCondition, type RecordFilterInput, RecordFilterOperator} from '_ui/_gqlTypes';\nimport {interleaveElement} from '_ui/_utils/interleaveElement';\nimport {AttributeConditionFilter} from '_ui/types';\nimport {\n type UIFilter,\n type IUIFilterStandard,\n type IUIFilterTree,\n isUIFilterStandard,\n isUIFilterThrough,\n isUIFilterTree,\n isUIFilterValueList,\n type IUIFilterValueList,\n type FiltersOperator,\n isUIFilterLinkWithValueList,\n} from './_types';\nimport {nullValueConditions} from './conditionsHelper';\n\nexport const dateValuesSeparator = '\\n';\n\nconst _getDateAtNoon = (date: number): string => dayjs.unix(Number(date)).add(12, 'hour').unix().toString();\n\nconst _getDateRequestFilters = ({field, condition, value}: IUIFilterStandard): RecordFilterInput[] => {\n switch (condition) {\n case RecordFilterCondition.BETWEEN:\n const [from, to] = value!.split(dateValuesSeparator);\n return [\n {\n field,\n condition,\n value: JSON.stringify({\n from,\n to,\n }),\n },\n ];\n case RecordFilterCondition.NOT_EQUAL:\n return [\n {\n field,\n condition: RecordFilterCondition.NOT_EQUAL,\n value: _getDateAtNoon(Number(value)),\n },\n ];\n case RecordFilterCondition.EQUAL:\n return [\n {\n field,\n condition,\n value: _getDateAtNoon(Number(value)),\n },\n ];\n default:\n return [\n {\n field,\n condition,\n value,\n },\n ];\n }\n};\n\nconst _getBooleanRequestFilters = (filter: IUIFilterStandard): RecordFilterInput[] => {\n if (filter.value === 'false') {\n return [\n {\n field: filter.field,\n condition: AttributeConditionFilter.NOT_EQUAL,\n value: 'true',\n },\n ];\n }\n\n return [{field: filter.field, condition: filter.condition, value: filter.value}];\n};\n\nconst _addValuesListForFilters = (valuesList: string[]): RecordFilterInput[] => [\n {operator: RecordFilterOperator.OPEN_BRACKET},\n ...(interleaveElement(\n {operator: RecordFilterOperator.OR},\n valuesList.map(value => [\n {\n field: 'id',\n condition: AttributeConditionFilter.EQUAL,\n value,\n },\n ]),\n ) as RecordFilterInput[]),\n {operator: RecordFilterOperator.CLOSE_BRACKET},\n];\n\nconst _generateConditionsFromMultipleValues = (filter: IUIFilterTree | IUIFilterValueList): RecordFilterInput[] => {\n if (!filter.value || filter.value.length === 0) {\n return [];\n }\n const filtersWithOperators: RecordFilterInput[] = [];\n filter.value.forEach((recordId, idx) => {\n if (idx === 0 && filter.value && filter.value.length > 1) {\n filtersWithOperators.push({operator: RecordFilterOperator.OPEN_BRACKET});\n }\n if (isUIFilterTree(filter) && filter.nodes && filter.nodes.length > 0) {\n filtersWithOperators.push({\n value: recordId,\n condition: filter.condition,\n field: `${filter.attribute.id}.${filter.nodes[idx].libraryId}.id`,\n });\n } else {\n filtersWithOperators.push({\n value: recordId,\n condition: filter.condition,\n field: Array.isArray(filter.field) ? filter.field[idx] : filter.field,\n });\n }\n if (filter.value && idx < filter.value.length - 1) {\n filtersWithOperators.push({\n operator:\n filter.condition === RecordFilterCondition.NOT_EQUAL\n ? RecordFilterOperator.AND\n : RecordFilterOperator.OR,\n });\n }\n if (filter.value && filter.value.length > 1 && idx >= filter.value.length - 1) {\n filtersWithOperators.push({operator: RecordFilterOperator.CLOSE_BRACKET});\n }\n });\n return filtersWithOperators;\n};\n\nexport const prepareFiltersForRequest = (\n filters: UIFilter[],\n filtersOperator?: FiltersOperator,\n valuesList?: string[],\n): RecordFilterInput[] => {\n const interleaveFilter = interleaveElement(\n {operator: filtersOperator === 'OR' ? RecordFilterOperator.OR : RecordFilterOperator.AND},\n filters\n .filter(filter => {\n if (isUIFilterThrough(filter)) {\n return (\n filter.subField &&\n filter.subCondition &&\n (filter.value !== null || nullValueConditions.includes(filter.subCondition))\n );\n }\n\n if (isUIFilterValueList(filter)) {\n return (\n (!!filter.condition && filter.value?.length) ||\n (filter.condition && nullValueConditions.includes(filter.condition))\n );\n }\n\n return filter.value !== null || (filter.condition && nullValueConditions.includes(filter.condition));\n })\n .map(filter => {\n if (isUIFilterTree(filter)) {\n return filter;\n }\n const condition =\n filter.condition === AttributeConditionFilter.THROUGH ? filter.subCondition : filter.condition;\n let field =\n filter.condition === AttributeConditionFilter.THROUGH\n ? `${filter.field}.${filter.subField}`\n : filter.field;\n\n // When a link attribute has a values list, we must filter on the linked record id\n if (isUIFilterLinkWithValueList(filter) && typeof field === 'string' && !field.endsWith('.id')) {\n field = `${field}.id`;\n }\n\n return {...filter, condition, field};\n })\n .map(filter => {\n //@ts-ignore typscript does not recognize filter as a UIFilter\n if (isUIFilterValueList(filter) || isUIFilterTree(filter)) {\n if (filter.condition && nullValueConditions.includes(filter.condition)) {\n return [\n {\n field: Array.isArray(filter.field) ? filter.field[0] : filter.field,\n condition: filter.condition,\n value: null,\n },\n ];\n }\n return _generateConditionsFromMultipleValues(filter as IUIFilterTree | IUIFilterValueList);\n }\n\n if (isUIFilterStandard(filter as UIFilter)) {\n switch (filter.attribute.format) {\n case AttributeFormat.date:\n return _getDateRequestFilters(filter as IUIFilterStandard);\n case AttributeFormat.boolean:\n return _getBooleanRequestFilters(filter as IUIFilterStandard);\n default:\n break;\n }\n }\n return [\n {\n field: filter.field as string,\n condition: filter.condition,\n value: filter.value,\n },\n ];\n }),\n );\n\n return [\n ...interleaveFilter,\n ...(interleaveFilter.length > 0 && valuesList ? [{operator: RecordFilterOperator.AND}] : []),\n ...(valuesList ? _addValuesListForFilters(valuesList) : []),\n ];\n};\n"]}
|
|
1
|
+
{"version":3,"file":"prepareFiltersForRequest.js","sourceRoot":"","sources":["../../../src/components/Filters/prepareFiltersForRequest.ts"],"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 dayjs from 'dayjs';\nimport {AttributeFormat, RecordFilterCondition, type RecordFilterInput, RecordFilterOperator} from '_ui/_gqlTypes';\nimport {interleaveElement} from '_ui/_utils/interleaveElement';\nimport {AttributeConditionFilter} from '_ui/types';\nimport {\n type UIFilter,\n type IUIFilterStandard,\n type IUIFilterTree,\n isUIFilterStandard,\n isUIFilterThrough,\n isUIFilterTree,\n isUIFilterValueList,\n type IUIFilterValueList,\n type FiltersOperator,\n isUIFilterLinkWithValueList,\n} from './_types';\nimport {nullValueConditions} from './conditionsHelper';\n\nexport const dateValuesSeparator = '\\n';\n\nconst _getDateAtNoon = (date: number): string => dayjs.unix(Number(date)).add(12, 'hour').unix().toString();\n\nconst _getDateRequestFilters = ({field, condition, value}: IUIFilterStandard): RecordFilterInput[] => {\n switch (condition) {\n case RecordFilterCondition.BETWEEN:\n const [from, to] = value!.split(dateValuesSeparator);\n return [\n {\n field,\n condition,\n value: JSON.stringify({\n from,\n to,\n }),\n },\n ];\n case RecordFilterCondition.NOT_EQUAL:\n return [\n {\n field,\n condition: RecordFilterCondition.NOT_EQUAL,\n value: _getDateAtNoon(Number(value)),\n },\n ];\n case RecordFilterCondition.EQUAL:\n return [\n {\n field,\n condition,\n value: _getDateAtNoon(Number(value)),\n },\n ];\n default:\n return [\n {\n field,\n condition,\n value,\n },\n ];\n }\n};\n\nconst _getBooleanRequestFilters = (filter: IUIFilterStandard): RecordFilterInput[] => {\n if (filter.value === 'false') {\n return [\n {\n field: filter.field,\n condition: AttributeConditionFilter.NOT_EQUAL,\n value: 'true',\n },\n ];\n }\n\n return [{field: filter.field, condition: filter.condition, value: filter.value}];\n};\n\nconst _addValuesListForFilters = (valuesList: string[]): RecordFilterInput[] => [\n {operator: RecordFilterOperator.OPEN_BRACKET},\n ...(interleaveElement(\n {operator: RecordFilterOperator.OR},\n valuesList.map(value => [\n {\n field: 'id',\n condition: AttributeConditionFilter.EQUAL,\n value,\n },\n ]),\n ) as RecordFilterInput[]),\n {operator: RecordFilterOperator.CLOSE_BRACKET},\n];\n\nconst _generateConditionsFromMultipleValues = (filter: IUIFilterTree | IUIFilterValueList): RecordFilterInput[] => {\n if (!filter.value || filter.value.length === 0) {\n return [];\n }\n const filtersWithOperators: RecordFilterInput[] = [];\n filter.value.forEach((recordId, idx) => {\n if (idx === 0 && filter.value && filter.value.length > 1) {\n filtersWithOperators.push({operator: RecordFilterOperator.OPEN_BRACKET});\n }\n if (isUIFilterTree(filter) && filter.nodes && filter.nodes.length > 0) {\n filtersWithOperators.push({\n value: recordId,\n condition: filter.condition,\n field: `${filter.attribute.id}.${filter.nodes[0].libraryId}.id`,\n });\n } else {\n filtersWithOperators.push({\n value: recordId,\n condition: filter.condition,\n field: Array.isArray(filter.field) ? filter.field[idx] : filter.field,\n });\n }\n if (filter.value && idx < filter.value.length - 1) {\n filtersWithOperators.push({\n operator:\n filter.condition === RecordFilterCondition.NOT_EQUAL\n ? RecordFilterOperator.AND\n : RecordFilterOperator.OR,\n });\n }\n if (filter.value && filter.value.length > 1 && idx >= filter.value.length - 1) {\n filtersWithOperators.push({operator: RecordFilterOperator.CLOSE_BRACKET});\n }\n });\n return filtersWithOperators;\n};\n\nexport const prepareFiltersForRequest = (\n filters: UIFilter[],\n filtersOperator?: FiltersOperator,\n valuesList?: string[],\n): RecordFilterInput[] => {\n const interleaveFilter = interleaveElement(\n {operator: filtersOperator === 'OR' ? RecordFilterOperator.OR : RecordFilterOperator.AND},\n filters\n .filter(filter => {\n if (isUIFilterThrough(filter)) {\n return (\n filter.subField &&\n filter.subCondition &&\n (filter.value !== null || nullValueConditions.includes(filter.subCondition))\n );\n }\n\n if (isUIFilterValueList(filter)) {\n return (\n (!!filter.condition && filter.value?.length) ||\n (filter.condition && nullValueConditions.includes(filter.condition))\n );\n }\n\n return filter.value !== null || (filter.condition && nullValueConditions.includes(filter.condition));\n })\n .map(filter => {\n if (isUIFilterTree(filter)) {\n return filter;\n }\n const condition =\n filter.condition === AttributeConditionFilter.THROUGH ? filter.subCondition : filter.condition;\n let field =\n filter.condition === AttributeConditionFilter.THROUGH\n ? `${filter.field}.${filter.subField}`\n : filter.field;\n\n // When a link attribute has a values list, we must filter on the linked record id\n if (isUIFilterLinkWithValueList(filter) && typeof field === 'string' && !field.endsWith('.id')) {\n field = `${field}.id`;\n }\n\n return {...filter, condition, field};\n })\n .map(filter => {\n //@ts-ignore typscript does not recognize filter as a UIFilter\n if (isUIFilterValueList(filter) || isUIFilterTree(filter)) {\n if (filter.condition && nullValueConditions.includes(filter.condition)) {\n return [\n {\n field: Array.isArray(filter.field) ? filter.field[0] : filter.field,\n condition: filter.condition,\n value: null,\n },\n ];\n }\n return _generateConditionsFromMultipleValues(filter as IUIFilterTree | IUIFilterValueList);\n }\n\n if (isUIFilterStandard(filter as UIFilter)) {\n switch (filter.attribute.format) {\n case AttributeFormat.date:\n return _getDateRequestFilters(filter as IUIFilterStandard);\n case AttributeFormat.boolean:\n return _getBooleanRequestFilters(filter as IUIFilterStandard);\n default:\n break;\n }\n }\n return [\n {\n field: filter.field as string,\n condition: filter.condition,\n value: filter.value,\n },\n ];\n }),\n );\n\n return [\n ...interleaveFilter,\n ...(interleaveFilter.length > 0 && valuesList ? [{operator: RecordFilterOperator.AND}] : []),\n ...(valuesList ? _addValuesListForFilters(valuesList) : []),\n ];\n};\n"]}
|
|
@@ -58,11 +58,20 @@ export const getAntdFormInitialValues = (recordForm) => recordForm.elements.redu
|
|
|
58
58
|
return acc;
|
|
59
59
|
}
|
|
60
60
|
if (isRecordFormElementsMultipleValues(attribute)) {
|
|
61
|
-
const
|
|
61
|
+
const userInputValues = values.filter(val => val.id_value);
|
|
62
|
+
const calculatedValues = values.filter(val => val.isCalculated);
|
|
63
|
+
const inheritedValues = values.filter(val => val.isInherited);
|
|
64
|
+
const effectiveValues = userInputValues.length > 0
|
|
65
|
+
? userInputValues
|
|
66
|
+
: calculatedValues.length > 0
|
|
67
|
+
? calculatedValues
|
|
68
|
+
: inheritedValues.length > 0
|
|
69
|
+
? inheritedValues
|
|
70
|
+
: [];
|
|
62
71
|
acc[attribute.id] =
|
|
63
|
-
|
|
72
|
+
effectiveValues.length === 0
|
|
64
73
|
? [getEmptyInitialValue(attribute)]
|
|
65
|
-
:
|
|
74
|
+
: effectiveValues
|
|
66
75
|
.sort((a, b) => Number(a.id_value) - Number(b.id_value))
|
|
67
76
|
.map(val => formatStandardInitialValue(val, attribute));
|
|
68
77
|
return acc;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"antdUtils.js","sourceRoot":"","sources":["../../../../src/components/RecordEdition/EditRecordContent/antdUtils.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 {\n type IRecordForm,\n type RecordFormElementAttribute,\n type RecordFormElementsValue,\n type RecordFormElementsValueLinkValue,\n type RecordFormElementsValueStandardValue,\n} from '_ui/hooks/useGetRecordForm';\nimport {AttributeFormat, AttributeType} from '_ui/_gqlTypes';\nimport {type IDateRangeValue} from '@leav/utils';\nimport {type Store} from 'antd/lib/form/interface';\nimport dayjs from 'dayjs';\n\nconst hasDateRangeValues = (dateRange: unknown): dateRange is IDateRangeValue =>\n (dateRange as IDateRangeValue).from !== undefined && (dateRange as IDateRangeValue).to !== undefined;\n\nconst getCalculatedValue = values => values.find(value => value.isCalculated);\n\nconst getInheritedValue = values => values.find(value => value.isInherited);\n\nconst getUserInputValue = values =>\n values.find(value => !value.isInherited && !value.isCalculated && value.raw_payload !== null);\n\nconst isRecordFormElementsValueLinkValue = (\n value: RecordFormElementsValue,\n attribute: RecordFormElementAttribute,\n): value is RecordFormElementsValueLinkValue =>\n attribute.type === AttributeType.simple_link ||\n (attribute.type === AttributeType.advanced_link && attribute.multiple_values === false);\n\nconst isRecordFormElementsValueLinkValues = (\n values: RecordFormElementsValue[],\n attribute: RecordFormElementAttribute,\n): values is RecordFormElementsValueLinkValue[] =>\n attribute.type === AttributeType.advanced_link && attribute.multiple_values === true;\n\nconst isRecordFormElementsMultipleValues = (attribute: RecordFormElementAttribute) =>\n attribute.type === AttributeType.advanced && attribute.multiple_values === true;\n\nconst formatStandardInitialValue = (\n standardValue: RecordFormElementsValueStandardValue,\n attribute: RecordFormElementAttribute,\n) => {\n if (!standardValue?.raw_payload) {\n return getEmptyInitialValue(attribute);\n }\n\n switch (attribute.format) {\n case AttributeFormat.color:\n case AttributeFormat.text:\n case AttributeFormat.rich_text:\n case AttributeFormat.boolean:\n return standardValue.raw_payload;\n case AttributeFormat.numeric:\n return Number(standardValue.raw_payload);\n case AttributeFormat.date:\n return dayjs.unix(Number(standardValue.raw_payload));\n case AttributeFormat.date_range:\n if (hasDateRangeValues(standardValue.raw_payload)) {\n return [\n dayjs.unix(Number(standardValue.raw_payload.from)),\n dayjs.unix(Number(standardValue.raw_payload.to)),\n ];\n } else if (typeof standardValue.raw_payload === 'string') {\n const convertedFieldValue = JSON.parse(standardValue.raw_payload) as any;\n return [dayjs.unix(Number(convertedFieldValue.from)), dayjs.unix(Number(convertedFieldValue.to))];\n }\n }\n};\n\nexport const EMPTY_INITIAL_VALUE_STRING = '';\nexport const EMPTY_INITIAL_VALUE_UNDEFINED = undefined;\n\nexport const getEmptyInitialValue = (attribute: RecordFormElementAttribute) => {\n if ([AttributeFormat.date_range, AttributeFormat.color].includes(attribute.format)) {\n return EMPTY_INITIAL_VALUE_UNDEFINED;\n }\n return EMPTY_INITIAL_VALUE_STRING;\n};\n\nexport const getAntdDisplayedValue = (\n values: RecordFormElementsValueStandardValue[],\n attribute: RecordFormElementAttribute,\n) =>\n formatStandardInitialValue(\n getUserInputValue(values) ?? getInheritedValue(values) ?? getCalculatedValue(values) ?? null,\n attribute,\n );\n\nexport const getAntdFormInitialValues = (recordForm: IRecordForm) =>\n recordForm.elements.reduce<Store>((acc, {attribute, values}) => {\n if (!attribute) {\n return acc;\n }\n\n const value = getUserInputValue(values) ?? getInheritedValue(values) ?? getCalculatedValue(values) ?? null;\n\n if (isRecordFormElementsValueLinkValue(value, attribute)) {\n acc[attribute.id] = value?.linkValue?.id;\n return acc;\n }\n\n if (isRecordFormElementsValueLinkValues(values, attribute)) {\n acc[attribute.id] = values.map(val => val?.linkValue?.id ?? undefined);\n return acc;\n }\n\n if (isRecordFormElementsMultipleValues(attribute)) {\n const valuesWithoutCalculatedOrInherited = values.filter(val => val.id_value);\n acc[attribute.id] =\n valuesWithoutCalculatedOrInherited.length === 0\n ? [getEmptyInitialValue(attribute)]\n : valuesWithoutCalculatedOrInherited\n .sort((a, b) => Number(a.id_value) - Number(b.id_value))\n .map(val => formatStandardInitialValue(val, attribute));\n return acc;\n }\n\n const standardValue = value as RecordFormElementsValueStandardValue;\n\n acc[attribute.id] = formatStandardInitialValue(standardValue, attribute);\n\n return acc;\n }, {});\n"]}
|
|
1
|
+
{"version":3,"file":"antdUtils.js","sourceRoot":"","sources":["../../../../src/components/RecordEdition/EditRecordContent/antdUtils.tsx"],"names":[],"mappings":"AAUA,OAAO,EAAC,eAAe,EAAE,aAAa,EAAC,MAAM,eAAe,CAAC;AAG7D,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,MAAM,kBAAkB,GAAG,CAAC,SAAkB,EAAgC,EAAE,CAC3E,SAA6B,CAAC,IAAI,KAAK,SAAS,IAAK,SAA6B,CAAC,EAAE,KAAK,SAAS,CAAC;AAEzG,MAAM,kBAAkB,GAAG,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC;AAE9E,MAAM,iBAAiB,GAAG,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC;AAE5E,MAAM,iBAAiB,GAAG,MAAM,CAAC,EAAE,CAC/B,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,WAAW,IAAI,CAAC,KAAK,CAAC,YAAY,IAAI,KAAK,CAAC,WAAW,KAAK,IAAI,CAAC,CAAC;AAElG,MAAM,kCAAkC,GAAG,CACvC,KAA8B,EAC9B,SAAqC,EACI,EAAE,CAC3C,SAAS,CAAC,IAAI,KAAK,aAAa,CAAC,WAAW;IAC5C,CAAC,SAAS,CAAC,IAAI,KAAK,aAAa,CAAC,aAAa,IAAI,SAAS,CAAC,eAAe,KAAK,KAAK,CAAC,CAAC;AAE5F,MAAM,mCAAmC,GAAG,CACxC,MAAiC,EACjC,SAAqC,EACO,EAAE,CAC9C,SAAS,CAAC,IAAI,KAAK,aAAa,CAAC,aAAa,IAAI,SAAS,CAAC,eAAe,KAAK,IAAI,CAAC;AAEzF,MAAM,kCAAkC,GAAG,CAAC,SAAqC,EAAE,EAAE,CACjF,SAAS,CAAC,IAAI,KAAK,aAAa,CAAC,QAAQ,IAAI,SAAS,CAAC,eAAe,KAAK,IAAI,CAAC;AAEpF,MAAM,0BAA0B,GAAG,CAC/B,aAAmD,EACnD,SAAqC,EACvC,EAAE;IACA,IAAI,CAAC,aAAa,EAAE,WAAW,EAAE,CAAC;QAC9B,OAAO,oBAAoB,CAAC,SAAS,CAAC,CAAC;IAC3C,CAAC;IAED,QAAQ,SAAS,CAAC,MAAM,EAAE,CAAC;QACvB,KAAK,eAAe,CAAC,KAAK,CAAC;QAC3B,KAAK,eAAe,CAAC,IAAI,CAAC;QAC1B,KAAK,eAAe,CAAC,SAAS,CAAC;QAC/B,KAAK,eAAe,CAAC,OAAO;YACxB,OAAO,aAAa,CAAC,WAAW,CAAC;QACrC,KAAK,eAAe,CAAC,OAAO;YACxB,OAAO,MAAM,CAAC,aAAa,CAAC,WAAW,CAAC,CAAC;QAC7C,KAAK,eAAe,CAAC,IAAI;YACrB,OAAO,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,WAAW,CAAC,CAAC,CAAC;QACzD,KAAK,eAAe,CAAC,UAAU;YAC3B,IAAI,kBAAkB,CAAC,aAAa,CAAC,WAAW,CAAC,EAAE,CAAC;gBAChD,OAAO;oBACH,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;oBAClD,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC;iBACnD,CAAC;YACN,CAAC;iBAAM,IAAI,OAAO,aAAa,CAAC,WAAW,KAAK,QAAQ,EAAE,CAAC;gBACvD,MAAM,mBAAmB,GAAG,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC,WAAW,CAAQ,CAAC;gBACzE,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,mBAAmB,CAAC,IAAI,CAAC,CAAC,EAAE,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,mBAAmB,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;YACtG,CAAC;IACT,CAAC;AACL,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,0BAA0B,GAAG,EAAE,CAAC;AAC7C,MAAM,CAAC,MAAM,6BAA6B,GAAG,SAAS,CAAC;AAEvD,MAAM,CAAC,MAAM,oBAAoB,GAAG,CAAC,SAAqC,EAAE,EAAE;IAC1E,IAAI,CAAC,eAAe,CAAC,UAAU,EAAE,eAAe,CAAC,KAAK,CAAC,CAAC,QAAQ,CAAC,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC;QACjF,OAAO,6BAA6B,CAAC;IACzC,CAAC;IACD,OAAO,0BAA0B,CAAC;AACtC,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,qBAAqB,GAAG,CACjC,MAA8C,EAC9C,SAAqC,EACvC,EAAE,CACA,0BAA0B,CACtB,iBAAiB,CAAC,MAAM,CAAC,IAAI,iBAAiB,CAAC,MAAM,CAAC,IAAI,kBAAkB,CAAC,MAAM,CAAC,IAAI,IAAI,EAC5F,SAAS,CACZ,CAAC;AAEN,MAAM,CAAC,MAAM,wBAAwB,GAAG,CAAC,UAAuB,EAAE,EAAE,CAChE,UAAU,CAAC,QAAQ,CAAC,MAAM,CAAQ,CAAC,GAAG,EAAE,EAAC,SAAS,EAAE,MAAM,EAAC,EAAE,EAAE;IAC3D,IAAI,CAAC,SAAS,EAAE,CAAC;QACb,OAAO,GAAG,CAAC;IACf,CAAC;IAED,MAAM,KAAK,GAAG,iBAAiB,CAAC,MAAM,CAAC,IAAI,iBAAiB,CAAC,MAAM,CAAC,IAAI,kBAAkB,CAAC,MAAM,CAAC,IAAI,IAAI,CAAC;IAE3G,IAAI,kCAAkC,CAAC,KAAK,EAAE,SAAS,CAAC,EAAE,CAAC;QACvD,GAAG,CAAC,SAAS,CAAC,EAAE,CAAC,GAAG,KAAK,EAAE,SAAS,EAAE,EAAE,CAAC;QACzC,OAAO,GAAG,CAAC;IACf,CAAC;IAED,IAAI,mCAAmC,CAAC,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC;QACzD,GAAG,CAAC,SAAS,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,EAAE,SAAS,EAAE,EAAE,IAAI,SAAS,CAAC,CAAC;QACvE,OAAO,GAAG,CAAC;IACf,CAAC;IAED,IAAI,kCAAkC,CAAC,SAAS,CAAC,EAAE,CAAC;QAChD,MAAM,eAAe,GAAG,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QAC3D,MAAM,gBAAgB,GAAG,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;QAChE,MAAM,eAAe,GAAG,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;QAE9D,MAAM,eAAe,GACjB,eAAe,CAAC,MAAM,GAAG,CAAC;YACtB,CAAC,CAAC,eAAe;YACjB,CAAC,CAAC,gBAAgB,CAAC,MAAM,GAAG,CAAC;gBAC3B,CAAC,CAAC,gBAAgB;gBAClB,CAAC,CAAC,eAAe,CAAC,MAAM,GAAG,CAAC;oBAC1B,CAAC,CAAC,eAAe;oBACjB,CAAC,CAAC,EAAE,CAAC;QAEjB,GAAG,CAAC,SAAS,CAAC,EAAE,CAAC;YACb,eAAe,CAAC,MAAM,KAAK,CAAC;gBACxB,CAAC,CAAC,CAAC,oBAAoB,CAAC,SAAS,CAAC,CAAC;gBACnC,CAAC,CAAC,eAAe;qBACV,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,QAAQ,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC;qBACvD,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,0BAA0B,CAAC,GAAG,EAAE,SAAS,CAAC,CAAC,CAAC;QACtE,OAAO,GAAG,CAAC;IACf,CAAC;IAED,MAAM,aAAa,GAAG,KAA6C,CAAC;IAEpE,GAAG,CAAC,SAAS,CAAC,EAAE,CAAC,GAAG,0BAA0B,CAAC,aAAa,EAAE,SAAS,CAAC,CAAC;IAEzE,OAAO,GAAG,CAAC;AACf,CAAC,EAAE,EAAE,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 {\n type IRecordForm,\n type RecordFormElementAttribute,\n type RecordFormElementsValue,\n type RecordFormElementsValueLinkValue,\n type RecordFormElementsValueStandardValue,\n} from '_ui/hooks/useGetRecordForm';\nimport {AttributeFormat, AttributeType} from '_ui/_gqlTypes';\nimport {type IDateRangeValue} from '@leav/utils';\nimport {type Store} from 'antd/lib/form/interface';\nimport dayjs from 'dayjs';\n\nconst hasDateRangeValues = (dateRange: unknown): dateRange is IDateRangeValue =>\n (dateRange as IDateRangeValue).from !== undefined && (dateRange as IDateRangeValue).to !== undefined;\n\nconst getCalculatedValue = values => values.find(value => value.isCalculated);\n\nconst getInheritedValue = values => values.find(value => value.isInherited);\n\nconst getUserInputValue = values =>\n values.find(value => !value.isInherited && !value.isCalculated && value.raw_payload !== null);\n\nconst isRecordFormElementsValueLinkValue = (\n value: RecordFormElementsValue,\n attribute: RecordFormElementAttribute,\n): value is RecordFormElementsValueLinkValue =>\n attribute.type === AttributeType.simple_link ||\n (attribute.type === AttributeType.advanced_link && attribute.multiple_values === false);\n\nconst isRecordFormElementsValueLinkValues = (\n values: RecordFormElementsValue[],\n attribute: RecordFormElementAttribute,\n): values is RecordFormElementsValueLinkValue[] =>\n attribute.type === AttributeType.advanced_link && attribute.multiple_values === true;\n\nconst isRecordFormElementsMultipleValues = (attribute: RecordFormElementAttribute) =>\n attribute.type === AttributeType.advanced && attribute.multiple_values === true;\n\nconst formatStandardInitialValue = (\n standardValue: RecordFormElementsValueStandardValue,\n attribute: RecordFormElementAttribute,\n) => {\n if (!standardValue?.raw_payload) {\n return getEmptyInitialValue(attribute);\n }\n\n switch (attribute.format) {\n case AttributeFormat.color:\n case AttributeFormat.text:\n case AttributeFormat.rich_text:\n case AttributeFormat.boolean:\n return standardValue.raw_payload;\n case AttributeFormat.numeric:\n return Number(standardValue.raw_payload);\n case AttributeFormat.date:\n return dayjs.unix(Number(standardValue.raw_payload));\n case AttributeFormat.date_range:\n if (hasDateRangeValues(standardValue.raw_payload)) {\n return [\n dayjs.unix(Number(standardValue.raw_payload.from)),\n dayjs.unix(Number(standardValue.raw_payload.to)),\n ];\n } else if (typeof standardValue.raw_payload === 'string') {\n const convertedFieldValue = JSON.parse(standardValue.raw_payload) as any;\n return [dayjs.unix(Number(convertedFieldValue.from)), dayjs.unix(Number(convertedFieldValue.to))];\n }\n }\n};\n\nexport const EMPTY_INITIAL_VALUE_STRING = '';\nexport const EMPTY_INITIAL_VALUE_UNDEFINED = undefined;\n\nexport const getEmptyInitialValue = (attribute: RecordFormElementAttribute) => {\n if ([AttributeFormat.date_range, AttributeFormat.color].includes(attribute.format)) {\n return EMPTY_INITIAL_VALUE_UNDEFINED;\n }\n return EMPTY_INITIAL_VALUE_STRING;\n};\n\nexport const getAntdDisplayedValue = (\n values: RecordFormElementsValueStandardValue[],\n attribute: RecordFormElementAttribute,\n) =>\n formatStandardInitialValue(\n getUserInputValue(values) ?? getInheritedValue(values) ?? getCalculatedValue(values) ?? null,\n attribute,\n );\n\nexport const getAntdFormInitialValues = (recordForm: IRecordForm) =>\n recordForm.elements.reduce<Store>((acc, {attribute, values}) => {\n if (!attribute) {\n return acc;\n }\n\n const value = getUserInputValue(values) ?? getInheritedValue(values) ?? getCalculatedValue(values) ?? null;\n\n if (isRecordFormElementsValueLinkValue(value, attribute)) {\n acc[attribute.id] = value?.linkValue?.id;\n return acc;\n }\n\n if (isRecordFormElementsValueLinkValues(values, attribute)) {\n acc[attribute.id] = values.map(val => val?.linkValue?.id ?? undefined);\n return acc;\n }\n\n if (isRecordFormElementsMultipleValues(attribute)) {\n const userInputValues = values.filter(val => val.id_value);\n const calculatedValues = values.filter(val => val.isCalculated);\n const inheritedValues = values.filter(val => val.isInherited);\n\n const effectiveValues =\n userInputValues.length > 0\n ? userInputValues\n : calculatedValues.length > 0\n ? calculatedValues\n : inheritedValues.length > 0\n ? inheritedValues\n : [];\n\n acc[attribute.id] =\n effectiveValues.length === 0\n ? [getEmptyInitialValue(attribute)]\n : effectiveValues\n .sort((a, b) => Number(a.id_value) - Number(b.id_value))\n .map(val => formatStandardInitialValue(val, attribute));\n return acc;\n }\n\n const standardValue = value as RecordFormElementsValueStandardValue;\n\n acc[attribute.id] = formatStandardInitialValue(standardValue, attribute);\n\n return acc;\n }, {});\n"]}
|
|
@@ -56,8 +56,11 @@ const LinkField = ({ element, readonly, isFormCreationMode, onDeleteMultipleValu
|
|
|
56
56
|
const form = AntForm.useFormInstance();
|
|
57
57
|
const label = localizedTranslation(settings.label, lang);
|
|
58
58
|
const fieldErrors = form.getFieldError(attribute.id);
|
|
59
|
+
// TODO: Temporary const that should be removed (and all it's usages) when we will have a proper way to override multiple values
|
|
60
|
+
const tmpCantOverrideValues = attribute.multiple_values &&
|
|
61
|
+
(calculatedFlags.calculatedValues?.length > 1 || inheritedFlags.inheritedValues?.length > 1);
|
|
59
62
|
const columnsToDisplay = settings.columns?.map(({ id }) => id);
|
|
60
|
-
const isReadOnly = attribute.readonly || !attribute.permissions.edit_value || readonly;
|
|
63
|
+
const isReadOnly = attribute.readonly || !attribute.permissions.edit_value || readonly || tmpCantOverrideValues;
|
|
61
64
|
const isFieldInError = fieldErrors.length > 0;
|
|
62
65
|
useOutsideInteractionDetector({
|
|
63
66
|
attribute,
|
package/dist/components/RecordEdition/EditRecordContent/uiElements/LinkField/LinkField.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"LinkField.js","sourceRoot":"","sources":["../../../../../../src/components/RecordEdition/EditRecordContent/uiElements/LinkField/LinkField.tsx"],"names":[],"mappings":";AAAA,oFAAoF;AACpF,sCAAsC;AACtC,sEAAsE;AACtE,OAAO,EAAC,oBAAoB,EAAC,MAAM,aAAa,CAAC;AACjD,OAAO,EAAoC,QAAQ,EAAC,MAAM,OAAO,CAAC;AAClE,OAAO,EAAC,oBAAoB,EAAC,MAAM,qEAAqE,CAAC;AAKzG,OAAO,EAAC,OAAO,EAAE,eAAe,EAAC,MAAM,YAAY,CAAC;AACpD,OAAO,EAAC,OAAO,EAAC,MAAM,WAAW,CAAC;AAClC,OAAO,MAAM,EAAE,EAAC,GAAG,EAAC,MAAM,mBAAmB,CAAC;AAC9C,OAAO,EAAC,oBAAoB,EAAC,MAAM,eAAe,CAAC;AACnD,OAAO,EAAC,sBAAsB,EAAE,qBAAqB,EAAC,MAAM,oCAAoC,CAAC;AACjG,OAAO,EAAC,gBAAgB,EAAC,MAAM,4BAA4B,CAAC;AAC5D,OAAO,EAAC,6BAA6B,EAAC,MAAM,yCAAyC,CAAC;AACtF,OAAO,EAAC,cAAc,EAAC,MAAM,8BAA8B,CAAC;AAC5D,OAAO,EACH,6BAA6B,EAC7B,2BAA2B,EAC3B,4BAA4B,GAC/B,MAAM,oCAAoC,CAAC;AAK5C,MAAM,OAAO,GAAG,MAAM,CAAC,GAAG,CAA0B;qBAC/B,KAAK,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC;CAChE,CAAC;AAEF,MAAM,sBAAsB,GAAG,MAAM,CAAC,GAAG,CAAA;;;CAGxC,CAAC;AAEF,MAAM,qBAAqB,GAAG,MAAM,CAAC,eAAe,CAAC,CAAgC;MAC/E,KAAK,CAAC,EAAE,CACN,KAAK,CAAC,mBAAmB;IACzB,GAAG,CAAA;;;;SAIF;;;;;;;;;;;;;;;;;;CAkBR,CAAC;AAWF,MAAM,SAAS,GAAsC,CAAC,EAClD,OAAO,EACP,QAAQ,EACR,kBAAkB,EAClB,sBAAsB,EACtB,YAAY,GAAG,KAAK,GACvB,EAAE,EAAE;IACD,MAAM,EAAC,KAAK,EAAE,QAAQ,EAAC,GAAG,oBAAoB,EAAE,CAAC;IACjD,MAAM,EAAC,IAAI,EAAC,GAAG,OAAO,EAAE,CAAC;IACzB,MAAM,EACF,QAAQ,EACR,SAAS,EACT,kBAAkB,GACrB,GAIG,OAAO,CAAC;IAEZ,MAAM,CAAC,aAAa,EAAE,gBAAgB,CAAC,GAAG,QAAQ,CAAqC,OAAO,CAAC,MAAM,CAAC,CAAC;IAEvG,MAAM,eAAe,GAAG,sBAAsB,CAAC,aAAa,CAAC,CAAC;IAC9D,MAAM,cAAc,GAAG,qBAAqB,CAAC,aAAa,CAAC,CAAC;IAC5D,MAAM,IAAI,GAAG,OAAO,CAAC,eAAe,EAAE,CAAC;IACvC,MAAM,KAAK,GAAG,oBAAoB,CAAC,QAAQ,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;IACzD,MAAM,WAAW,GAAG,IAAI,CAAC,aAAa,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC;IAErD,MAAM,gBAAgB,GAAG,QAAQ,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC,EAAC,EAAE,EAAC,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC;IAC7D,MAAM,UAAU,GAAG,SAAS,CAAC,QAAQ,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC,UAAU,IAAI,QAAQ,CAAC;
|
|
1
|
+
{"version":3,"file":"LinkField.js","sourceRoot":"","sources":["../../../../../../src/components/RecordEdition/EditRecordContent/uiElements/LinkField/LinkField.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 {localizedTranslation} from '@leav/utils';\nimport {type FunctionComponent, useEffect, useState} from 'react';\nimport {useEditRecordReducer} from '_ui/components/RecordEdition/editRecordReducer/useEditRecordReducer';\nimport {type RecordFormElementsValueLinkValue} from '_ui/hooks/useGetRecordForm/useGetRecordForm';\nimport {type JoinLibraryContextFragment, type RecordFormAttributeLinkAttributeFragment} from '_ui/_gqlTypes';\nimport {type ILinkFieldState} from '../../reducers/linkFieldReducer/linkFieldReducer';\nimport {type IFormElementProps} from '../../_types';\nimport {AntForm, KitInputWrapper} from 'aristid-ds';\nimport {useLang} from '_ui/hooks';\nimport styled, {css} from 'styled-components';\nimport {LINK_FIELD_ID_PREFIX} from '_ui/constants';\nimport {computeCalculatedFlags, computeInheritedFlags} from '../shared/calculatedInheritedFlags';\nimport {ComputeIndicator} from '../shared/ComputeIndicator';\nimport {useOutsideInteractionDetector} from '../shared/useOutsideInteractionDetector';\nimport {useLinkRecords} from './link-record/useLinkRecords';\nimport {\n CREATE_RECORD_MODAL_CLASSNAME,\n EDIT_RECORD_MODAL_CLASSNAME,\n LINK_RECORDS_MODAL_CLASSNAME,\n} from '_ui/components/Explorer/_constants';\nimport {type IFormLinkFieldSettings} from '@leav/utils/src/types/forms';\n\nexport type LinkFieldReducerState = ILinkFieldState<RecordFormElementsValueLinkValue>;\n\nconst Wrapper = styled.div<{$metadataEdit: boolean}>`\n margin-bottom: ${props => (props.$metadataEdit ? 0 : '1.5em')};\n`;\n\nconst KitInputExtraAlignLeft = styled.div`\n margin-right: auto;\n line-height: 12px;\n`;\n\nconst KitInputWrapperStyled = styled(KitInputWrapper)<{$readonlyBackground: boolean}>`\n ${props =>\n props.$readonlyBackground &&\n css`\n .kit-input-wrapper-content {\n background-color: var(--general-utilities-neutral-light);\n }\n `}\n\n &.disabled {\n .kit-input-wrapper-content {\n background-color: var(--general-utilities-neutral-light);\n }\n }\n\n &.error:not(.disabled) {\n .kit-input-wrapper-content {\n background-color: var(--general-utilities-error-light);\n }\n }\n\n .ant-empty-image,\n .ant-empty-description {\n display: none;\n }\n`;\n\ntype LinkFieldProps = IFormElementProps<\n IFormLinkFieldSettings & {\n columns?: Array<{\n id: string;\n label: Record<string, string>;\n }>;\n }\n>;\n\nconst LinkField: FunctionComponent<LinkFieldProps> = ({\n element,\n readonly,\n isFormCreationMode,\n onDeleteMultipleValues,\n metadataEdit = false,\n}) => {\n const {state, dispatch} = useEditRecordReducer();\n const {lang} = useLang();\n const {\n settings,\n attribute,\n joinLibraryContext,\n }: {\n settings: typeof element.settings;\n attribute?: RecordFormAttributeLinkAttributeFragment;\n joinLibraryContext?: JoinLibraryContextFragment;\n } = element;\n\n const [backendValues, setBackendValues] = useState<RecordFormElementsValueLinkValue[]>(element.values);\n\n const calculatedFlags = computeCalculatedFlags(backendValues);\n const inheritedFlags = computeInheritedFlags(backendValues);\n const form = AntForm.useFormInstance();\n const label = localizedTranslation(settings.label, lang);\n const fieldErrors = form.getFieldError(attribute.id);\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 columnsToDisplay = settings.columns?.map(({id}) => id);\n const isReadOnly = attribute.readonly || !attribute.permissions.edit_value || readonly || tmpCantOverrideValues;\n const isFieldInError = fieldErrors.length > 0;\n\n useOutsideInteractionDetector({\n attribute,\n activeAttribute: state.activeAttribute,\n attributePrefix: LINK_FIELD_ID_PREFIX,\n dispatch,\n backendValues,\n allowedSelectors: [\n 'div[role=\"status\"]:has(.kit-snackbar-message)',\n '.kit-modal-wrapper',\n `.${CREATE_RECORD_MODAL_CLASSNAME}`,\n `.${LINK_RECORDS_MODAL_CLASSNAME}`,\n `.${EDIT_RECORD_MODAL_CLASSNAME}`,\n '.kit-select-dropdown-content',\n ],\n });\n\n const editionFormId = settings.editFormId ? settings.editFormId : 'edition';\n\n const {UnlinkAllRecords, LinkRecordsExplorer} = useLinkRecords({\n libraryId: state.libraryId,\n recordId: state.record?.id,\n editionFormId,\n isFormCreationMode,\n attribute,\n joinLibraryContext,\n columnsToDisplay,\n backendValues,\n setBackendValues,\n isReadOnly,\n isFieldInError,\n hasNoValue: backendValues.length === 0,\n onDeleteMultipleValues,\n });\n\n return (\n <Wrapper $metadataEdit={metadataEdit}>\n <AntForm.Item name={attribute.id} noStyle>\n <KitInputWrapperStyled\n id={LINK_FIELD_ID_PREFIX + attribute.id}\n data-testid=\"link-field\"\n label={label}\n required={attribute.required}\n bordered\n status={isFieldInError ? 'error' : undefined}\n helper={isFieldInError ? String(fieldErrors[0]) : undefined}\n extra={\n <>\n <KitInputExtraAlignLeft>\n <ComputeIndicator calculatedFlags={calculatedFlags} inheritedFlags={inheritedFlags} />\n </KitInputExtraAlignLeft>\n {UnlinkAllRecords}\n </>\n }\n $readonlyBackground={isReadOnly}\n >\n {LinkRecordsExplorer}\n </KitInputWrapperStyled>\n </AntForm.Item>\n </Wrapper>\n );\n};\n\nexport default LinkField;\n"]}
|
package/dist/components/RecordEdition/EditRecordContent/uiElements/StandardField/StandardField.js
CHANGED
|
@@ -112,8 +112,8 @@ const StandardField = ({ element, computedValues, isFormCreationMode, antdForm,
|
|
|
112
112
|
//TODO fix type
|
|
113
113
|
values: backendWithoutCalculatedOrInheritedValues,
|
|
114
114
|
format: attribute.format,
|
|
115
|
-
|
|
116
|
-
|
|
115
|
+
calculatedValues: calculatedFlags.calculatedValues,
|
|
116
|
+
inheritedValues: inheritedFlags.inheritedValues,
|
|
117
117
|
});
|
|
118
118
|
const _handleSubmit = (idValue, fieldName, submittedFieldIndex) => async (valueToSave) => {
|
|
119
119
|
const shouldSpecifyFieldName = attribute.multiple_values && fieldName !== undefined;
|
|
@@ -229,8 +229,11 @@ const StandardField = ({ element, computedValues, isFormCreationMode, antdForm,
|
|
|
229
229
|
!isFieldInError &&
|
|
230
230
|
attribute.format !== AttributeFormat.boolean &&
|
|
231
231
|
attribute.format !== AttributeFormat.encrypted;
|
|
232
|
+
// TODO: Temporary const that should be removed (and all it's usages) when we will have a proper way to override multiple values
|
|
233
|
+
const tmpCantOverrideValues = attribute.multiple_values &&
|
|
234
|
+
(calculatedFlags.calculatedValues?.length > 1 || inheritedFlags.inheritedValues?.length > 1);
|
|
232
235
|
const label = localizedTranslation(element.settings.label, lang);
|
|
233
|
-
const isReadOnly = attribute.readonly || !attribute.permissions.edit_value || readonly;
|
|
236
|
+
const isReadOnly = attribute.readonly || !attribute.permissions.edit_value || readonly || tmpCantOverrideValues;
|
|
234
237
|
const canDeleteAllValues = !isReadOnly && !attribute.required && hasValue && backendValues.length > 1;
|
|
235
238
|
const canDeleteSingleValue = !isReadOnly &&
|
|
236
239
|
(!attribute.required || (attribute.required && backendWithoutCalculatedOrInheritedValues.length > 1));
|
|
@@ -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.
|
|
28
|
-
onChange(inheritedFlags.
|
|
28
|
+
if (inheritedFlags.isInheritedValues) {
|
|
29
|
+
onChange(inheritedFlags.inheritedValues[0].raw_payload, undefined);
|
|
29
30
|
}
|
|
30
|
-
else if (calculatedFlags.
|
|
31
|
-
onChange(calculatedFlags.
|
|
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.
|
|
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,
|
|
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.
|
|
83
|
+
if (inheritedFlags.isInheritedValues) {
|
|
83
84
|
setKey(prevKey => prevKey + 1);
|
|
84
|
-
const inheritedColor = new AggregationColor(inheritedFlags.
|
|
85
|
-
onChange(inheritedColor, inheritedFlags.
|
|
85
|
+
const inheritedColor = new AggregationColor(inheritedFlags.inheritedValues[0].raw_payload);
|
|
86
|
+
onChange(inheritedColor, inheritedFlags.inheritedValues[0].raw_payload);
|
|
86
87
|
}
|
|
87
|
-
else if (calculatedFlags.
|
|
88
|
+
else if (calculatedFlags.isCalculatedValues) {
|
|
88
89
|
setKey(prevKey => prevKey + 1);
|
|
89
|
-
const calculatedColor = new AggregationColor(calculatedFlags.
|
|
90
|
-
onChange(calculatedColor, calculatedFlags.
|
|
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.
|
|
108
|
-
!calculatedFlags.
|
|
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":";AAAA,oFAAoF;AACpF,sCAAsC;AACtC,sEAAsE;AACtE,OAAO,EAAC,cAAc,EAAC,MAAM,YAAY,CAAC;AAC1C,OAAO,EAAyB,QAAQ,EAAC,MAAM,OAAO,CAAC;AACvD,OAAO,MAAM,MAAM,mBAAmB,CAAC;AAGvC,OAAO,EAAC,gBAAgB,EAAC,MAAM,4BAA4B,CAAC;AAC5D,OAAO,EAAC,6BAA6B,EAAC,MAAM,oBAAoB,CAAC;AAEjE,OAAO,EAAC,IAAI,EAAC,MAAM,MAAM,CAAC;AAE1B,MAAM,oBAAoB,GAAG,MAAM,CAAC,cAAc,CAAC,CAAA;;;;;;;;CAQlD,CAAC;AAEF,MAAM,uBAAuB,GAAG,CAAC,KAAqB,EAAiC,EAAE;IACrF,IAAI,CAAC,KAAK,EAAE,CAAC;QACT,OAAO,KAAK,CAAC;IACjB,CAAC;IAED,MAAM,WAAW,GAAG,KAAK,CAAC,QAAQ,EAAE,CAAC,WAAW,EAAE,CAAC;IAEnD,IAAI,WAAW,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;QAC9B,OAAO,KAAK,CAAC;IACjB,CAAC;SAAM,IAAI,WAAW,CAAC,UAAU,CAAC,KAAK,CAAC,EAAE,CAAC;QACvC,OAAO,KAAK,CAAC;IACjB,CAAC;SAAM,IAAI,WAAW,CAAC,UAAU,CAAC,KAAK,CAAC,EAAE,CAAC;QACvC,OAAO,KAAK,CAAC;IACjB,CAAC;IAED,OAAO,KAAK,CAAC;AACjB,CAAC,CAAC;AAEF,MAAM,gBAAgB,GAAG,CAAC,KAAmC,EAAE,MAAqC,EAAE,EAAE;IACpG,KAAK,GAAG,IAAI,gBAAgB,CAAC,KAAK,CAAC,CAAC;IAEpC,QAAQ,MAAM,EAAE,CAAC;QACb,KAAK,KAAK;YACN,OAAO,KAAK,CAAC,WAAW,EAAE,CAAC;QAC/B,KAAK,KAAK;YACN,OAAO,KAAK,CAAC,WAAW,EAAE,CAAC;QAC/B,KAAK,KAAK;YACN,OAAO,KAAK,CAAC,WAAW,EAAE,CAAC;IACnC,CAAC;AACL,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,oBAAoB,GAAyE,CAAC,EACvG,KAAK,EACL,iBAAiB,EACjB,wBAAwB,EACxB,4BAA4B,EAC5B,QAAQ,EACR,SAAS,EACT,KAAK,EACL,QAAQ,EACR,YAAY,EACZ,eAAe,EACf,cAAc,GACjB,EAAE,EAAE;IACD,IAAI,CAAC,QAAQ,EAAE,CAAC;QACZ,MAAM,KAAK,CAAC,6DAA6D,CAAC,CAAC;IAC/E,CAAC;IAED,MAAM,uBAAuB,GAAG,wBAAwB,IAAI,KAAK,KAAK,6BAA6B,CAAC;IACpG,MAAM,mBAAmB,GAAG,SAAS,CAAC,eAAe,CAAC,CAAC,CAAC,uBAAuB,CAAC,CAAC,CAAC,KAAK,CAAC;IACxF,MAAM,EAAC,MAAM,EAAC,GAAG,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,CAAC;IAEvC,MAAM,CAAC,UAAU,EAAE,aAAa,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;IACpD,MAAM,CAAC,SAAS,EAAE,YAAY,CAAC,GAAG,QAAQ,CAAC,mBAAmB,CAAC,CAAC;IAChE,MAAM,CAAC,GAAG,EAAE,MAAM,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC;IAClC,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,GAAG,QAAQ,CAAgC,uBAAuB,CAAC,KAAK,CAAC,CAAC,CAAC;IAEpG,MAAM,QAAQ,GAAG,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC;IAEnC,MAAM,mBAAmB,GAAG,KAAK,EAAE,IAAa,EAAE,EAAE;QAChD,IAAI,CAAC,IAAI,EAAE,CAAC;YACR,IAAI,CAAC,UAAU,EAAE,CAAC;gBACd,YAAY,CAAC,KAAK,CAAC,CAAC;gBAEpB,IAAI,uBAAuB,EAAE,CAAC;oBAC1B,4BAA4B,EAAE,CAAC;gBACnC,CAAC;gBACD,OAAO;YACX,CAAC;YAED,MAAM,YAAY,CAAC,gBAAgB,CAAC,KAAK,EAAE,MAAM,CAAC,EAAE,SAAS,CAAC,EAAE,CAAC,CAAC;YAClE,YAAY,CAAC,KAAK,CAAC,CAAC;YACpB,aAAa,CAAC,KAAK,CAAC,CAAC;QACzB,CAAC;aAAM,CAAC;YACJ,YAAY,CAAC,IAAI,CAAC,CAAC;QACvB,CAAC;IACL,CAAC,CAAC;IAEF,MAAM,eAAe,GAAG,CACpB,KAAqD,EACrD,GAAmD,EACrD,EAAE;QACA,aAAa,CAAC,IAAI,CAAC,CAAC;QACpB,QAAQ,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;IACzB,CAAC,CAAC;IAEF,MAAM,cAAc,GAAG,KAAK,IAAI,EAAE;QAC9B,aAAa,CAAC,KAAK,CAAC,CAAC;QAErB,IAAI,cAAc,CAAC,gBAAgB,EAAE,CAAC;YAClC,MAAM,CAAC,OAAO,CAAC,EAAE,CAAC,OAAO,GAAG,CAAC,CAAC,CAAC;YAE/B,MAAM,cAAc,GAAG,IAAI,gBAAgB,CAAC,cAAc,CAAC,cAAc,CAAC,WAAW,CAAC,CAAC;YACvF,QAAQ,CAAC,cAAc,EAAE,cAAc,CAAC,cAAc,CAAC,WAAW,CAAC,CAAC;QACxE,CAAC;aAAM,IAAI,eAAe,CAAC,iBAAiB,EAAE,CAAC;YAC3C,MAAM,CAAC,OAAO,CAAC,EAAE,CAAC,OAAO,GAAG,CAAC,CAAC,CAAC;YAE/B,MAAM,eAAe,GAAG,IAAI,gBAAgB,CAAC,eAAe,CAAC,eAAe,CAAC,WAAW,CAAC,CAAC;YAC1F,QAAQ,CAAC,eAAe,EAAE,eAAe,CAAC,eAAe,CAAC,WAAW,CAAC,CAAC;QAC3E,CAAC;aAAM,CAAC;YACJ,QAAQ,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC;QACnC,CAAC;QAED,MAAM,YAAY,CAAC,IAAI,EAAE,SAAS,CAAC,EAAE,CAAC,CAAC;QACvC,YAAY,CAAC,KAAK,CAAC,CAAC;IACxB,CAAC,CAAC;IAEF,MAAM,mBAAmB,GAAG,CAAC,SAAwC,EAAE,EAAE;QACrE,aAAa,CAAC,IAAI,CAAC,CAAC;QACpB,SAAS,CAAC,SAAS,CAAC,CAAC;IACzB,CAAC,CAAC;IAEF,OAAO,CACH,KAAC,oBAAoB;IACjB,oGAAoG;IACpG,6FAA6F;QAE7F,EAAE,EAAE,SAAS,CAAC,EAAE,EAChB,SAAS,EAAE,SAAS,EACpB,IAAI,EAAE,SAAS,CAAC,eAAe,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS,iBAC1C,SAAS,CAAC,EAAE,EACzB,KAAK,EAAE,KAAK,EACZ,MAAM,EAAE,MAAM,EACd,QAAQ,EAAE,SAAS,IAAI,QAAQ,IAAI,CAAC,iBAAiB,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,GAAG,iBAAiB,EAAE,EAC3F,MAAM,EAAE,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,gBACpC,KAAK,EACjB,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,YAAY,EAAE,mBAAmB,EACjC,QAAQ,EAAE,eAAe,EACzB,OAAO,EAAE,cAAc,EACvB,cAAc,EAAE,mBAAmB,IApB9B,GAAG,CAqBV,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 {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.
|
|
30
|
-
onChange(dayjs.unix(Number(inheritedFlags.
|
|
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.
|
|
33
|
-
onChange(dayjs.unix(Number(calculatedFlags.
|
|
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.
|
|
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.
|
|
67
|
-
!calculatedFlags.
|
|
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
|