@bigbinary/neeto-fields-frontend 2.4.8 → 3.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +43 -6
- package/app/javascript/src/translations/ar.json +1 -1
- package/app/javascript/src/translations/bg.json +1 -1
- package/app/javascript/src/translations/ca.json +1 -1
- package/app/javascript/src/translations/cs.json +1 -1
- package/app/javascript/src/translations/da.json +1 -1
- package/app/javascript/src/translations/es-MX.json +1 -1
- package/app/javascript/src/translations/et.json +1 -1
- package/app/javascript/src/translations/fi.json +1 -1
- package/app/javascript/src/translations/fil.json +1 -1
- package/app/javascript/src/translations/hi.json +1 -1
- package/app/javascript/src/translations/hr.json +1 -1
- package/app/javascript/src/translations/id.json +1 -1
- package/app/javascript/src/translations/it.json +1 -1
- package/app/javascript/src/translations/ja.json +1 -1
- package/app/javascript/src/translations/ko.json +1 -1
- package/app/javascript/src/translations/nl.json +1 -1
- package/app/javascript/src/translations/pl.json +1 -1
- package/app/javascript/src/translations/pt-BR.json +1 -1
- package/app/javascript/src/translations/pt.json +1 -1
- package/app/javascript/src/translations/ro.json +1 -1
- package/app/javascript/src/translations/ru.json +1 -1
- package/app/javascript/src/translations/sk.json +1 -1
- package/app/javascript/src/translations/sl.json +1 -1
- package/app/javascript/src/translations/sv.json +1 -1
- package/app/javascript/src/translations/th.json +1 -1
- package/app/javascript/src/translations/tr.json +1 -1
- package/app/javascript/src/translations/uk.json +1 -1
- package/app/javascript/src/translations/vi.json +1 -1
- package/app/javascript/src/translations/zh-CN.json +1 -1
- package/app/javascript/src/translations/zh-TW.json +1 -1
- package/dist/{DeleteAlert-DE15i_yx.js → DeleteAlert-BWq3eZio.js} +5 -4
- package/dist/DeleteAlert-BWq3eZio.js.map +1 -0
- package/dist/{DeleteAlert-BQqfe0QG.js → DeleteAlert-BcSFSbN1.js} +5 -4
- package/dist/DeleteAlert-BcSFSbN1.js.map +1 -0
- package/dist/FieldDeleteAlert.js +2 -2
- package/dist/FieldValuesContainer.js +7 -4
- package/dist/FieldValuesContainer.js.map +1 -1
- package/dist/FieldsDashboard.js +21 -12
- package/dist/FieldsDashboard.js.map +1 -1
- package/dist/FieldsPane.js +1 -1
- package/dist/InlineFieldValueInput.js +4 -4
- package/dist/InlineFieldValueInput.js.map +1 -1
- package/dist/cjs/FieldDeleteAlert.js +2 -2
- package/dist/cjs/FieldValuesContainer.js +10 -7
- package/dist/cjs/FieldValuesContainer.js.map +1 -1
- package/dist/cjs/FieldsDashboard.js +21 -12
- package/dist/cjs/FieldsDashboard.js.map +1 -1
- package/dist/cjs/FieldsPane.js +1 -1
- package/dist/cjs/InlineFieldValueInput.js +3 -3
- package/dist/cjs/InlineFieldValueInput.js.map +1 -1
- package/dist/cjs/hooks.js +1 -1
- package/dist/cjs/index.js +3 -3
- package/dist/hooks.js +1 -1
- package/dist/index.js +3 -3
- package/dist/{useFieldsApi-j7CdIR66.js → useFieldsApi-CH-3Pwp9.js} +4 -2
- package/dist/useFieldsApi-CH-3Pwp9.js.map +1 -0
- package/dist/{useFieldsApi-BW5VaJf3.js → useFieldsApi-CLKUViDe.js} +4 -2
- package/dist/useFieldsApi-CLKUViDe.js.map +1 -0
- package/package.json +6 -6
- package/types.d.ts +2 -0
- package/dist/DeleteAlert-BQqfe0QG.js.map +0 -1
- package/dist/DeleteAlert-DE15i_yx.js.map +0 -1
- package/dist/useFieldsApi-BW5VaJf3.js.map +0 -1
- package/dist/useFieldsApi-j7CdIR66.js.map +0 -1
|
@@ -3,7 +3,7 @@ import _slicedToArray from '@babel/runtime/helpers/slicedToArray';
|
|
|
3
3
|
import { useState } from 'react';
|
|
4
4
|
import classnames from 'classnames';
|
|
5
5
|
import { findBy, isNotEmpty, noop } from '@bigbinary/neeto-cist';
|
|
6
|
-
import { dateFormat, hyphenize } from '@bigbinary/neeto-commons-frontend/utils';
|
|
6
|
+
import { dateFormat, hasPermission, hyphenize } from '@bigbinary/neeto-commons-frontend/utils';
|
|
7
7
|
import { u as useFieldValues, F as FieldValueInputWrapper } from './FieldValueInputWrapper-D_HtxLWU.js';
|
|
8
8
|
import { b as getValueFromBool, a as getFieldInput, D as DIRECT_EDIT_INPUT_FIELDS, M as MISSING_VALUE_PLACEHOLDER, c as DISPLAY_COMPONENT_MAP } from './utils-BBFK9qDC.js';
|
|
9
9
|
import Typography from '@bigbinary/neetoui/Typography';
|
|
@@ -101,8 +101,7 @@ var InlineFieldValueInput = function InlineFieldValueInput(_ref) {
|
|
|
101
101
|
_onMutate = _ref$onMutate === void 0 ? noop : _ref$onMutate,
|
|
102
102
|
_ref$customDisplayCom = _ref.customDisplayComponents,
|
|
103
103
|
customDisplayComponents = _ref$customDisplayCom === void 0 ? {} : _ref$customDisplayCom,
|
|
104
|
-
|
|
105
|
-
canManageFieldValues = _ref$canManageFieldVa === void 0 ? true : _ref$canManageFieldVa;
|
|
104
|
+
canManageFieldValues = _ref.canManageFieldValues;
|
|
106
105
|
var _useState = useState(false),
|
|
107
106
|
_useState2 = _slicedToArray(_useState, 2),
|
|
108
107
|
editMode = _useState2[0],
|
|
@@ -127,7 +126,8 @@ var InlineFieldValueInput = function InlineFieldValueInput(_ref) {
|
|
|
127
126
|
field: field
|
|
128
127
|
});
|
|
129
128
|
var fieldKind = field.kind;
|
|
130
|
-
var
|
|
129
|
+
var isAllowedToManageFieldValues = canManageFieldValues !== null && canManageFieldValues !== void 0 ? canManageFieldValues : hasPermission("neeto_fields_engine.manage_field_values");
|
|
130
|
+
var isManageable = !field.isSystem && isAllowedToManageFieldValues;
|
|
131
131
|
var isEditable = isManageable && (editMode || DIRECT_EDIT_INPUT_FIELDS.includes(fieldKind));
|
|
132
132
|
var displayValue = renderDataAsText(field, fieldValues) || MISSING_VALUE_PLACEHOLDER;
|
|
133
133
|
var _ref2 = customDisplayComponents[fieldKind] || {},
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"InlineFieldValueInput.js","sources":["../app/javascript/src/components/InlineFieldValueInput/components/Text.jsx","../app/javascript/src/components/InlineFieldValueInput/utils.js","../app/javascript/src/components/InlineFieldValueInput/index.jsx"],"sourcesContent":["import { Typography } from \"neetoui\";\n\nconst Text = ({ value }) => (\n <Typography className=\"text-wrap\" style=\"body2\">\n {value}\n </Typography>\n);\n\nexport default Text;\n","import { findBy, isNotEmpty } from \"neetocist\";\nimport { dateFormat } from \"neetocommons/utils\";\n\nimport { KINDS } from \"components/FieldsDashBoard/constants\";\n\nimport { getValueFromBool } from \"../commons/FieldInputs/utils\";\n\nexport const renderDataAsText = (field, fieldValues) => {\n let fieldValueData = findBy({ fieldId: field.id }, fieldValues)?.data?.value;\n\n switch (field.kind) {\n case KINDS.date:\n return fieldValueData && dateFormat.date(fieldValueData);\n case KINDS.time:\n return fieldValueData && dateFormat.time(fieldValueData);\n case KINDS.datetime:\n return fieldValueData && dateFormat.dateTime(fieldValueData);\n case KINDS.dateRange:\n return (\n fieldValueData &&\n isNotEmpty(fieldValueData) &&\n `${dateFormat.date(fieldValueData[0])} - ${dateFormat.date(\n fieldValueData[1]\n )}`\n );\n case KINDS.timeRange:\n return (\n fieldValueData &&\n `${dateFormat.time(fieldValueData[0])} - ${dateFormat.time(\n fieldValueData[1]\n )}`\n );\n case KINDS.singleOption:\n return findBy({ id: fieldValueData }, field.data)?.label;\n case KINDS.multiOption:\n fieldValueData = findBy({ fieldId: field.id }, fieldValues)?.data?.values;\n\n return (\n fieldValueData &&\n fieldValueData\n .map(optionId => findBy({ id: optionId }, field.data)?.label)\n .join(\", \")\n );\n\n case KINDS.checkbox:\n return getValueFromBool(fieldValueData);\n\n default:\n return fieldValueData;\n }\n};\n","import { useState } from \"react\";\n\nimport classnames from \"classnames\";\nimport { noop } from \"neetocist\";\nimport { hyphenize } from \"neetocommons/utils\";\n\nimport FieldValueInputWrapper from \"components/FieldValuesContainer/FieldValueInputWrapper\";\nimport { getFieldInput } from \"components/utils\";\nimport useFieldValues from \"hooks/useFieldValues\";\n\nimport TextDisplayComponent from \"./components/Text\";\nimport {\n DIRECT_EDIT_INPUT_FIELDS,\n DISPLAY_COMPONENT_MAP,\n MISSING_VALUE_PLACEHOLDER,\n} from \"./constants\";\nimport { renderDataAsText } from \"./utils\";\n\nconst InlineFieldValueInput = ({\n field,\n fieldValues,\n resourceType,\n resourceId,\n ownerId = \"\",\n onMutationSuccess = noop,\n onMutate = noop,\n customDisplayComponents = {},\n canManageFieldValues = true,\n}) => {\n const [editMode, setEditMode] = useState(false);\n\n const queryOptions = {\n onMutate: variables => onMutate(variables.payload || variables),\n onSuccess: (...params) => {\n setEditMode(false);\n onMutationSuccess(...params);\n },\n };\n\n const { handleSubmit } = useFieldValues({\n resourceId,\n resourceType,\n ownerId,\n queryOptions,\n });\n\n const Field = getFieldInput({ field });\n\n const fieldKind = field.kind;\n const isManageable = !field.isSystem && canManageFieldValues;\n const isEditable =\n isManageable && (editMode || DIRECT_EDIT_INPUT_FIELDS.includes(fieldKind));\n\n const displayValue =\n renderDataAsText(field, fieldValues) || MISSING_VALUE_PLACEHOLDER;\n\n const {\n props: customDisplayComponentProps = {},\n component: CustomDisplayComponent = null,\n } = customDisplayComponents[fieldKind] || {};\n\n const DefaultDisplayComponent =\n DISPLAY_COMPONENT_MAP[fieldKind] || TextDisplayComponent;\n const DisplayComponent = CustomDisplayComponent || DefaultDisplayComponent;\n\n return isEditable ? (\n <div data-cy={`inline-field-value-input-${hyphenize(field.name)}`}>\n <FieldValueInputWrapper\n {...{ field, fieldValues }}\n onSubmit={values => handleSubmit(field, values)}\n >\n <Field\n {...{ ...field }}\n individualSubmit\n isInline\n onBlur={() => setEditMode(false)}\n />\n </FieldValueInputWrapper>\n </div>\n ) : (\n <div\n className={classnames({ \"cursor-pointer\": isManageable })}\n onClick={() => isManageable && setEditMode(true)}\n >\n <DisplayComponent\n {...{ resourceId }}\n value={displayValue}\n {...customDisplayComponentProps}\n />\n </div>\n );\n};\n\nexport default InlineFieldValueInput;\n"],"names":["Text","_ref","value","_jsx","Typography","className","style","children","renderDataAsText","field","fieldValues","_findBy","_findBy2","_findBy3","fieldValueData","findBy","fieldId","id","data","kind","KINDS","date","dateFormat","time","datetime","dateTime","dateRange","isNotEmpty","concat","timeRange","singleOption","label","multiOption","values","map","optionId","_findBy4","join","checkbox","getValueFromBool","InlineFieldValueInput","resourceType","resourceId","_ref$ownerId","ownerId","_ref$onMutationSucces","onMutationSuccess","noop","_ref$onMutate","onMutate","_ref$customDisplayCom","customDisplayComponents","_ref$canManageFieldVa","canManageFieldValues","_useState","useState","_useState2","_slicedToArray","editMode","setEditMode","queryOptions","variables","payload","onSuccess","apply","arguments","_useFieldValues","useFieldValues","handleSubmit","Field","getFieldInput","fieldKind","isManageable","isSystem","isEditable","DIRECT_EDIT_INPUT_FIELDS","includes","displayValue","MISSING_VALUE_PLACEHOLDER","_ref2","_ref2$props","props","customDisplayComponentProps","_ref2$component","component","CustomDisplayComponent","DefaultDisplayComponent","DISPLAY_COMPONENT_MAP","TextDisplayComponent","DisplayComponent","hyphenize","name","FieldValueInputWrapper","onSubmit","_objectSpread","individualSubmit","isInline","onBlur","classnames","onClick"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"InlineFieldValueInput.js","sources":["../app/javascript/src/components/InlineFieldValueInput/components/Text.jsx","../app/javascript/src/components/InlineFieldValueInput/utils.js","../app/javascript/src/components/InlineFieldValueInput/index.jsx"],"sourcesContent":["import { Typography } from \"neetoui\";\n\nconst Text = ({ value }) => (\n <Typography className=\"text-wrap\" style=\"body2\">\n {value}\n </Typography>\n);\n\nexport default Text;\n","import { findBy, isNotEmpty } from \"neetocist\";\nimport { dateFormat } from \"neetocommons/utils\";\n\nimport { KINDS } from \"components/FieldsDashBoard/constants\";\n\nimport { getValueFromBool } from \"../commons/FieldInputs/utils\";\n\nexport const renderDataAsText = (field, fieldValues) => {\n let fieldValueData = findBy({ fieldId: field.id }, fieldValues)?.data?.value;\n\n switch (field.kind) {\n case KINDS.date:\n return fieldValueData && dateFormat.date(fieldValueData);\n case KINDS.time:\n return fieldValueData && dateFormat.time(fieldValueData);\n case KINDS.datetime:\n return fieldValueData && dateFormat.dateTime(fieldValueData);\n case KINDS.dateRange:\n return (\n fieldValueData &&\n isNotEmpty(fieldValueData) &&\n `${dateFormat.date(fieldValueData[0])} - ${dateFormat.date(\n fieldValueData[1]\n )}`\n );\n case KINDS.timeRange:\n return (\n fieldValueData &&\n `${dateFormat.time(fieldValueData[0])} - ${dateFormat.time(\n fieldValueData[1]\n )}`\n );\n case KINDS.singleOption:\n return findBy({ id: fieldValueData }, field.data)?.label;\n case KINDS.multiOption:\n fieldValueData = findBy({ fieldId: field.id }, fieldValues)?.data?.values;\n\n return (\n fieldValueData &&\n fieldValueData\n .map(optionId => findBy({ id: optionId }, field.data)?.label)\n .join(\", \")\n );\n\n case KINDS.checkbox:\n return getValueFromBool(fieldValueData);\n\n default:\n return fieldValueData;\n }\n};\n","import { useState } from \"react\";\n\nimport classnames from \"classnames\";\nimport { noop } from \"neetocist\";\nimport { hyphenize, hasPermission } from \"neetocommons/utils\";\n\nimport FieldValueInputWrapper from \"components/FieldValuesContainer/FieldValueInputWrapper\";\nimport { getFieldInput } from \"components/utils\";\nimport useFieldValues from \"hooks/useFieldValues\";\n\nimport TextDisplayComponent from \"./components/Text\";\nimport {\n DIRECT_EDIT_INPUT_FIELDS,\n DISPLAY_COMPONENT_MAP,\n MISSING_VALUE_PLACEHOLDER,\n} from \"./constants\";\nimport { renderDataAsText } from \"./utils\";\n\nconst InlineFieldValueInput = ({\n field,\n fieldValues,\n resourceType,\n resourceId,\n ownerId = \"\",\n onMutationSuccess = noop,\n onMutate = noop,\n customDisplayComponents = {},\n canManageFieldValues,\n}) => {\n const [editMode, setEditMode] = useState(false);\n\n const queryOptions = {\n onMutate: variables => onMutate(variables.payload || variables),\n onSuccess: (...params) => {\n setEditMode(false);\n onMutationSuccess(...params);\n },\n };\n\n const { handleSubmit } = useFieldValues({\n resourceId,\n resourceType,\n ownerId,\n queryOptions,\n });\n\n const Field = getFieldInput({ field });\n\n const fieldKind = field.kind;\n const isAllowedToManageFieldValues =\n canManageFieldValues ??\n hasPermission(\"neeto_fields_engine.manage_field_values\");\n const isManageable = !field.isSystem && isAllowedToManageFieldValues;\n const isEditable =\n isManageable && (editMode || DIRECT_EDIT_INPUT_FIELDS.includes(fieldKind));\n\n const displayValue =\n renderDataAsText(field, fieldValues) || MISSING_VALUE_PLACEHOLDER;\n\n const {\n props: customDisplayComponentProps = {},\n component: CustomDisplayComponent = null,\n } = customDisplayComponents[fieldKind] || {};\n\n const DefaultDisplayComponent =\n DISPLAY_COMPONENT_MAP[fieldKind] || TextDisplayComponent;\n const DisplayComponent = CustomDisplayComponent || DefaultDisplayComponent;\n\n return isEditable ? (\n <div data-cy={`inline-field-value-input-${hyphenize(field.name)}`}>\n <FieldValueInputWrapper\n {...{ field, fieldValues }}\n onSubmit={values => handleSubmit(field, values)}\n >\n <Field\n {...{ ...field }}\n individualSubmit\n isInline\n onBlur={() => setEditMode(false)}\n />\n </FieldValueInputWrapper>\n </div>\n ) : (\n <div\n className={classnames({ \"cursor-pointer\": isManageable })}\n onClick={() => isManageable && setEditMode(true)}\n >\n <DisplayComponent\n {...{ resourceId }}\n value={displayValue}\n {...customDisplayComponentProps}\n />\n </div>\n );\n};\n\nexport default InlineFieldValueInput;\n"],"names":["Text","_ref","value","_jsx","Typography","className","style","children","renderDataAsText","field","fieldValues","_findBy","_findBy2","_findBy3","fieldValueData","findBy","fieldId","id","data","kind","KINDS","date","dateFormat","time","datetime","dateTime","dateRange","isNotEmpty","concat","timeRange","singleOption","label","multiOption","values","map","optionId","_findBy4","join","checkbox","getValueFromBool","InlineFieldValueInput","resourceType","resourceId","_ref$ownerId","ownerId","_ref$onMutationSucces","onMutationSuccess","noop","_ref$onMutate","onMutate","_ref$customDisplayCom","customDisplayComponents","canManageFieldValues","_useState","useState","_useState2","_slicedToArray","editMode","setEditMode","queryOptions","variables","payload","onSuccess","apply","arguments","_useFieldValues","useFieldValues","handleSubmit","Field","getFieldInput","fieldKind","isAllowedToManageFieldValues","hasPermission","isManageable","isSystem","isEditable","DIRECT_EDIT_INPUT_FIELDS","includes","displayValue","MISSING_VALUE_PLACEHOLDER","_ref2","_ref2$props","props","customDisplayComponentProps","_ref2$component","component","CustomDisplayComponent","DefaultDisplayComponent","DISPLAY_COMPONENT_MAP","TextDisplayComponent","DisplayComponent","hyphenize","name","FieldValueInputWrapper","onSubmit","_objectSpread","individualSubmit","isInline","onBlur","classnames","onClick"],"mappings":"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"}
|
|
@@ -3,8 +3,8 @@
|
|
|
3
3
|
require('@bigbinary/neeto-cist');
|
|
4
4
|
require('@bigbinary/neetoui/Alert');
|
|
5
5
|
require('react-i18next');
|
|
6
|
-
require('../useFieldsApi-
|
|
7
|
-
var FieldDeleteAlert = require('../DeleteAlert-
|
|
6
|
+
require('../useFieldsApi-CH-3Pwp9.js');
|
|
7
|
+
var FieldDeleteAlert = require('../DeleteAlert-BcSFSbN1.js');
|
|
8
8
|
require('react/jsx-runtime');
|
|
9
9
|
require('@babel/runtime/helpers/toConsumableArray');
|
|
10
10
|
require('@babel/runtime/helpers/defineProperty');
|
|
@@ -3,13 +3,14 @@
|
|
|
3
3
|
var _defineProperty = require('@babel/runtime/helpers/defineProperty');
|
|
4
4
|
var classnames = require('classnames');
|
|
5
5
|
var neetoCist = require('@bigbinary/neeto-cist');
|
|
6
|
+
var utils = require('@bigbinary/neeto-commons-frontend/utils');
|
|
6
7
|
var Spinner = require('@bigbinary/neetoui/Spinner');
|
|
7
8
|
var Typography = require('@bigbinary/neetoui/Typography');
|
|
8
9
|
var ramda = require('ramda');
|
|
9
10
|
var reactI18next = require('react-i18next');
|
|
10
|
-
var utils = require('../utils-CY-OOclj.js');
|
|
11
|
+
var utils$1 = require('../utils-CY-OOclj.js');
|
|
11
12
|
var FieldValueInputWrapper = require('../FieldValueInputWrapper-CCQZHCjA.js');
|
|
12
|
-
var useFieldsApi = require('../useFieldsApi-
|
|
13
|
+
var useFieldsApi = require('../useFieldsApi-CH-3Pwp9.js');
|
|
13
14
|
var formik = require('formik');
|
|
14
15
|
var Alert = require('@bigbinary/neetoui/Alert');
|
|
15
16
|
var react = require('react');
|
|
@@ -17,7 +18,6 @@ var reactRouterDom = require('react-router-dom');
|
|
|
17
18
|
var i18next = require('i18next');
|
|
18
19
|
var jsxRuntime = require('react/jsx-runtime');
|
|
19
20
|
require('@babel/runtime/helpers/toConsumableArray');
|
|
20
|
-
require('@bigbinary/neeto-commons-frontend/utils');
|
|
21
21
|
require('../constants-C4kiF-ZI.js');
|
|
22
22
|
require('@bigbinary/neeto-molecules/CopyToClipboardButton');
|
|
23
23
|
require('@bigbinary/neeto-icons/Redirect');
|
|
@@ -157,9 +157,11 @@ var FieldValuesContainer = function FieldValuesContainer(_ref) {
|
|
|
157
157
|
_ref$blockNavigation = _ref.blockNavigation,
|
|
158
158
|
blockNavigation = _ref$blockNavigation === void 0 ? false : _ref$blockNavigation,
|
|
159
159
|
_ref$blockNavigationA = _ref.blockNavigationAlertProps,
|
|
160
|
-
blockNavigationAlertProps = _ref$blockNavigationA === void 0 ? {} : _ref$blockNavigationA
|
|
160
|
+
blockNavigationAlertProps = _ref$blockNavigationA === void 0 ? {} : _ref$blockNavigationA,
|
|
161
|
+
canManageFieldValues = _ref.canManageFieldValues;
|
|
161
162
|
var _useTranslation = reactI18next.useTranslation(),
|
|
162
163
|
t = _useTranslation.t;
|
|
164
|
+
var isAllowedToManageFieldValues = canManageFieldValues !== null && canManageFieldValues !== void 0 ? canManageFieldValues : utils.hasPermission("neeto_fields_engine.manage_field_values");
|
|
163
165
|
var queryOptions = {
|
|
164
166
|
onMutate: function onMutate(variables) {
|
|
165
167
|
return _onMutate(variables.payload || variables);
|
|
@@ -187,6 +189,7 @@ var FieldValuesContainer = function FieldValuesContainer(_ref) {
|
|
|
187
189
|
handleSubmit = _useFieldValues.handleSubmit,
|
|
188
190
|
submittingFieldDetails = _useFieldValues.submittingFieldDetails;
|
|
189
191
|
var fields = propFields || fetchedFields;
|
|
192
|
+
var isFieldsDisabled = disabled || !isAllowedToManageFieldValues;
|
|
190
193
|
return /*#__PURE__*/jsxRuntime.jsx("div", {
|
|
191
194
|
className: classnames("space-y-3 py-3", {
|
|
192
195
|
"neeto-ui-border-gray-300 neeto-ui-rounded-lg neeto-ui-bg-white border px-4 py-2": showBorder
|
|
@@ -194,8 +197,8 @@ var FieldValuesContainer = function FieldValuesContainer(_ref) {
|
|
|
194
197
|
children: isFieldsLoading ? /*#__PURE__*/jsxRuntime.jsx("div", {
|
|
195
198
|
className: "flex items-center justify-center",
|
|
196
199
|
children: /*#__PURE__*/jsxRuntime.jsx(Spinner, {})
|
|
197
|
-
}) : utils.getNonSystemFields(fields).map(function (field) {
|
|
198
|
-
var Field = utils.getFieldInput({
|
|
200
|
+
}) : utils$1.getNonSystemFields(fields).map(function (field) {
|
|
201
|
+
var Field = utils$1.getFieldInput({
|
|
199
202
|
field: field,
|
|
200
203
|
customComponents: customComponents
|
|
201
204
|
});
|
|
@@ -213,11 +216,11 @@ var FieldValuesContainer = function FieldValuesContainer(_ref) {
|
|
|
213
216
|
children: /*#__PURE__*/jsxRuntime.jsxs("div", {
|
|
214
217
|
className: "w-full",
|
|
215
218
|
children: [/*#__PURE__*/jsxRuntime.jsx(Field, _objectSpread(_objectSpread({}, _objectSpread(_objectSpread({}, field), {}, {
|
|
216
|
-
disabled: disabled,
|
|
217
219
|
formRefs: formRefs,
|
|
218
220
|
isRequiredColumnName: isRequiredColumnName
|
|
219
221
|
})), {}, {
|
|
220
222
|
individualSubmit: true,
|
|
223
|
+
disabled: isFieldsDisabled,
|
|
221
224
|
submissionStatus: (_submittingFieldDetai = submittingFieldDetails[field.id]) === null || _submittingFieldDetai === void 0 ? void 0 : _submittingFieldDetai.status
|
|
222
225
|
})), /*#__PURE__*/jsxRuntime.jsx(BlockNavigation, {
|
|
223
226
|
blockNavigation: blockNavigation,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"FieldValuesContainer.js","sources":["../../node_modules/react-router-nav-prompt/dist/useNavPrompt.js","../../app/javascript/src/components/FieldValuesContainer/constants.js","../../app/javascript/src/components/FieldValuesContainer/BlockNavigation.jsx","../../app/javascript/src/components/FieldValuesContainer/index.jsx"],"sourcesContent":["import { useState, useRef, useEffect } from 'react';\nimport { useHistory } from 'react-router-dom';\n\nconst useNavPrompt = ({\n shouldBlock\n}) => {\n const history = useHistory();\n\n const _unblock = useRef(null);\n\n const _navPath = useRef(null);\n\n const [blocked, setBlocked] = useState(false);\n useEffect(() => {\n if (shouldBlock) {\n _unblock.current = history.block(location => {\n // need to use ref?\n setBlocked(true);\n _navPath.current = location.pathname + location.search; // $FlowFixMe - See https://github.com/ReactTraining/history/issues/728\n\n return false;\n });\n return () => {\n if (_unblock.current) {\n _unblock.current();\n }\n };\n }\n }, [shouldBlock]);\n\n const navigate = () => {\n if (_unblock.current) {\n _unblock.current();\n\n setBlocked(false);\n\n if (_navPath.current) {\n history.push(_navPath.current);\n }\n }\n };\n\n const hidePrompt = () => {\n setBlocked(false);\n };\n\n return {\n blocked,\n navigate,\n hidePrompt\n };\n};\n\nexport default useNavPrompt;","import { t } from \"i18next\";\n\nexport const DEAFULT_BLOCK_NAVIGATION_ALERT_PROPS = {\n title: t(\"neetoFields.messages.blockNavigationAlert.title\"),\n message: t(\"neetoFields.messages.blockNavigationAlert.message\"),\n submitButtonLabel: t(\n \"neetoFields.messages.blockNavigationAlert.submitButtonLabel\"\n ),\n cancelButtonLabel: t(\n \"neetoFields.messages.blockNavigationAlert.cancelButtonLabel\"\n ),\n};\n","import { useFormikContext } from \"formik\";\nimport { Alert } from \"neetoui\";\nimport { useNavPrompt } from \"react-router-nav-prompt\";\n\nimport { DEAFULT_BLOCK_NAVIGATION_ALERT_PROPS } from \"./constants\";\n\nconst BlockNavigation = ({ blockNavigation, blockNavigationAlertProps }) => {\n const { dirty } = useFormikContext();\n const { blocked, hidePrompt, navigate } = useNavPrompt({\n shouldBlock: blockNavigation && dirty,\n });\n\n const alertProps = {\n ...DEAFULT_BLOCK_NAVIGATION_ALERT_PROPS,\n ...blockNavigationAlertProps,\n };\n\n return (\n <Alert\n cancelButtonLabel={alertProps[\"cancelButtonLabel\"]}\n isOpen={blocked}\n message={alertProps[\"message\"]}\n submitButtonLabel={alertProps[\"submitButtonLabel\"]}\n title={alertProps[\"title\"]}\n onClose={hidePrompt}\n onSubmit={navigate}\n />\n );\n};\n\nexport default BlockNavigation;\n","import classnames from \"classnames\";\nimport { noop } from \"neetocist\";\nimport { Spinner, Typography } from \"neetoui\";\nimport { isEmpty, isNil } from \"ramda\";\nimport { useTranslation } from \"react-i18next\";\n\nimport { getFieldInput, getNonSystemFields } from \"components/utils\";\nimport useFieldValues from \"hooks/useFieldValues\";\nimport { useFetchFields } from \"src/hooks/reactQuery/useFieldsApi\";\n\nimport BlockNavigationAlert from \"./BlockNavigation\";\nimport FieldValueInputWrapper from \"./FieldValueInputWrapper\";\n\nconst FieldValuesContainer = ({\n resourceType = \"\",\n fieldValues = [],\n fields: propFields,\n ownerId = \"\",\n resourceId,\n customComponents = {},\n className = \"\",\n showBorder = true,\n formRefs,\n disabled = false,\n isRequiredColumnName,\n fieldClassName,\n onMutate = noop,\n onMutationSuccess = noop,\n blockNavigation = false,\n blockNavigationAlertProps = {},\n}) => {\n const { t } = useTranslation();\n\n const queryOptions = {\n onMutate: variables => onMutate(variables.payload || variables),\n onSuccess: onMutationSuccess,\n };\n\n const {\n data: { fields: fetchedFields = [] } = {},\n isLoading: isFieldsLoading,\n } = useFetchFields(\n {\n resourceType: isEmpty(resourceType) ? undefined : resourceType,\n ownerId: isEmpty(ownerId) ? undefined : ownerId,\n state: \"active\",\n },\n { enabled: isNil(propFields) }\n );\n\n const { handleSubmit, submittingFieldDetails } = useFieldValues({\n resourceId,\n resourceType,\n ownerId,\n queryOptions,\n });\n\n const fields = propFields || fetchedFields;\n\n return (\n <div\n className={classnames(\n \"space-y-3 py-3\",\n {\n \"neeto-ui-border-gray-300 neeto-ui-rounded-lg neeto-ui-bg-white border px-4 py-2\":\n showBorder,\n },\n className\n )}\n >\n {isFieldsLoading ? (\n <div className=\"flex items-center justify-center\">\n <Spinner />\n </div>\n ) : (\n getNonSystemFields(fields).map(field => {\n const Field = getFieldInput({ field, customComponents });\n\n if (Field) {\n return (\n <div\n className={classnames(fieldClassName, \"space-y-1\")}\n key={field.id}\n >\n <FieldValueInputWrapper\n {...{ field, fieldValues }}\n className={fieldClassName}\n onSubmit={values => handleSubmit(field, values)}\n >\n <div className=\"w-full\">\n <Field\n {...{\n ...field,\n disabled,\n formRefs,\n isRequiredColumnName,\n }}\n individualSubmit\n submissionStatus={\n submittingFieldDetails[field.id]?.status\n }\n />\n <BlockNavigationAlert\n {...{ blockNavigation, blockNavigationAlertProps }}\n />\n </div>\n </FieldValueInputWrapper>\n </div>\n );\n }\n\n return (\n <Typography key={field.id} style=\"body2\">\n {t(\"neetoFields.messages.invalidKind\")}\n </Typography>\n );\n })\n )}\n </div>\n );\n};\n\nexport default FieldValuesContainer;\n"],"names":["useHistory","useRef","useState","useEffect","DEAFULT_BLOCK_NAVIGATION_ALERT_PROPS","title","t","message","submitButtonLabel","cancelButtonLabel","BlockNavigation","_ref","blockNavigation","blockNavigationAlertProps","_useFormikContext","useFormikContext","dirty","_useNavPrompt","useNavPrompt","shouldBlock","blocked","hidePrompt","navigate","alertProps","_objectSpread","_jsx","Alert","isOpen","onClose","onSubmit","FieldValuesContainer","_ref$resourceType","resourceType","_ref$fieldValues","fieldValues","propFields","fields","_ref$ownerId","ownerId","resourceId","_ref$customComponents","customComponents","_ref$className","className","_ref$showBorder","showBorder","formRefs","_ref$disabled","disabled","isRequiredColumnName","fieldClassName","_ref$onMutate","onMutate","noop","_ref$onMutationSucces","onMutationSuccess","_ref$blockNavigation","_ref$blockNavigationA","_useTranslation","useTranslation","queryOptions","variables","payload","onSuccess","_useFetchFields","useFetchFields","isEmpty","undefined","state","enabled","isNil","_useFetchFields$data","data","_useFetchFields$data2","_useFetchFields$data3","fetchedFields","isFieldsLoading","isLoading","_useFieldValues","useFieldValues","handleSubmit","submittingFieldDetails","classnames","children","Spinner","getNonSystemFields","map","field","Field","getFieldInput","_submittingFieldDetai","FieldValueInputWrapper","values","_jsxs","individualSubmit","submissionStatus","id","status","BlockNavigationAlert","Typography","style"],"mappings":"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","x_google_ignoreList":[0]}
|
|
1
|
+
{"version":3,"file":"FieldValuesContainer.js","sources":["../../node_modules/react-router-nav-prompt/dist/useNavPrompt.js","../../app/javascript/src/components/FieldValuesContainer/constants.js","../../app/javascript/src/components/FieldValuesContainer/BlockNavigation.jsx","../../app/javascript/src/components/FieldValuesContainer/index.jsx"],"sourcesContent":["import { useState, useRef, useEffect } from 'react';\nimport { useHistory } from 'react-router-dom';\n\nconst useNavPrompt = ({\n shouldBlock\n}) => {\n const history = useHistory();\n\n const _unblock = useRef(null);\n\n const _navPath = useRef(null);\n\n const [blocked, setBlocked] = useState(false);\n useEffect(() => {\n if (shouldBlock) {\n _unblock.current = history.block(location => {\n // need to use ref?\n setBlocked(true);\n _navPath.current = location.pathname + location.search; // $FlowFixMe - See https://github.com/ReactTraining/history/issues/728\n\n return false;\n });\n return () => {\n if (_unblock.current) {\n _unblock.current();\n }\n };\n }\n }, [shouldBlock]);\n\n const navigate = () => {\n if (_unblock.current) {\n _unblock.current();\n\n setBlocked(false);\n\n if (_navPath.current) {\n history.push(_navPath.current);\n }\n }\n };\n\n const hidePrompt = () => {\n setBlocked(false);\n };\n\n return {\n blocked,\n navigate,\n hidePrompt\n };\n};\n\nexport default useNavPrompt;","import { t } from \"i18next\";\n\nexport const DEAFULT_BLOCK_NAVIGATION_ALERT_PROPS = {\n title: t(\"neetoFields.messages.blockNavigationAlert.title\"),\n message: t(\"neetoFields.messages.blockNavigationAlert.message\"),\n submitButtonLabel: t(\n \"neetoFields.messages.blockNavigationAlert.submitButtonLabel\"\n ),\n cancelButtonLabel: t(\n \"neetoFields.messages.blockNavigationAlert.cancelButtonLabel\"\n ),\n};\n","import { useFormikContext } from \"formik\";\nimport { Alert } from \"neetoui\";\nimport { useNavPrompt } from \"react-router-nav-prompt\";\n\nimport { DEAFULT_BLOCK_NAVIGATION_ALERT_PROPS } from \"./constants\";\n\nconst BlockNavigation = ({ blockNavigation, blockNavigationAlertProps }) => {\n const { dirty } = useFormikContext();\n const { blocked, hidePrompt, navigate } = useNavPrompt({\n shouldBlock: blockNavigation && dirty,\n });\n\n const alertProps = {\n ...DEAFULT_BLOCK_NAVIGATION_ALERT_PROPS,\n ...blockNavigationAlertProps,\n };\n\n return (\n <Alert\n cancelButtonLabel={alertProps[\"cancelButtonLabel\"]}\n isOpen={blocked}\n message={alertProps[\"message\"]}\n submitButtonLabel={alertProps[\"submitButtonLabel\"]}\n title={alertProps[\"title\"]}\n onClose={hidePrompt}\n onSubmit={navigate}\n />\n );\n};\n\nexport default BlockNavigation;\n","import classnames from \"classnames\";\nimport { noop } from \"neetocist\";\nimport { hasPermission } from \"neetocommons/utils\";\nimport { Spinner, Typography } from \"neetoui\";\nimport { isEmpty, isNil } from \"ramda\";\nimport { useTranslation } from \"react-i18next\";\n\nimport { getFieldInput, getNonSystemFields } from \"components/utils\";\nimport useFieldValues from \"hooks/useFieldValues\";\nimport { useFetchFields } from \"src/hooks/reactQuery/useFieldsApi\";\n\nimport BlockNavigationAlert from \"./BlockNavigation\";\nimport FieldValueInputWrapper from \"./FieldValueInputWrapper\";\n\nconst FieldValuesContainer = ({\n resourceType = \"\",\n fieldValues = [],\n fields: propFields,\n ownerId = \"\",\n resourceId,\n customComponents = {},\n className = \"\",\n showBorder = true,\n formRefs,\n disabled = false,\n isRequiredColumnName,\n fieldClassName,\n onMutate = noop,\n onMutationSuccess = noop,\n blockNavigation = false,\n blockNavigationAlertProps = {},\n canManageFieldValues,\n}) => {\n const { t } = useTranslation();\n\n const isAllowedToManageFieldValues =\n canManageFieldValues ??\n hasPermission(\"neeto_fields_engine.manage_field_values\");\n\n const queryOptions = {\n onMutate: variables => onMutate(variables.payload || variables),\n onSuccess: onMutationSuccess,\n };\n\n const {\n data: { fields: fetchedFields = [] } = {},\n isLoading: isFieldsLoading,\n } = useFetchFields(\n {\n resourceType: isEmpty(resourceType) ? undefined : resourceType,\n ownerId: isEmpty(ownerId) ? undefined : ownerId,\n state: \"active\",\n },\n { enabled: isNil(propFields) }\n );\n\n const { handleSubmit, submittingFieldDetails } = useFieldValues({\n resourceId,\n resourceType,\n ownerId,\n queryOptions,\n });\n\n const fields = propFields || fetchedFields;\n\n const isFieldsDisabled = disabled || !isAllowedToManageFieldValues;\n\n return (\n <div\n className={classnames(\n \"space-y-3 py-3\",\n {\n \"neeto-ui-border-gray-300 neeto-ui-rounded-lg neeto-ui-bg-white border px-4 py-2\":\n showBorder,\n },\n className\n )}\n >\n {isFieldsLoading ? (\n <div className=\"flex items-center justify-center\">\n <Spinner />\n </div>\n ) : (\n getNonSystemFields(fields).map(field => {\n const Field = getFieldInput({ field, customComponents });\n\n if (Field) {\n return (\n <div\n className={classnames(fieldClassName, \"space-y-1\")}\n key={field.id}\n >\n <FieldValueInputWrapper\n {...{ field, fieldValues }}\n className={fieldClassName}\n onSubmit={values => handleSubmit(field, values)}\n >\n <div className=\"w-full\">\n <Field\n {...{\n ...field,\n formRefs,\n isRequiredColumnName,\n }}\n individualSubmit\n disabled={isFieldsDisabled}\n submissionStatus={\n submittingFieldDetails[field.id]?.status\n }\n />\n <BlockNavigationAlert\n {...{ blockNavigation, blockNavigationAlertProps }}\n />\n </div>\n </FieldValueInputWrapper>\n </div>\n );\n }\n\n return (\n <Typography key={field.id} style=\"body2\">\n {t(\"neetoFields.messages.invalidKind\")}\n </Typography>\n );\n })\n )}\n </div>\n );\n};\n\nexport default FieldValuesContainer;\n"],"names":["useHistory","useRef","useState","useEffect","DEAFULT_BLOCK_NAVIGATION_ALERT_PROPS","title","t","message","submitButtonLabel","cancelButtonLabel","BlockNavigation","_ref","blockNavigation","blockNavigationAlertProps","_useFormikContext","useFormikContext","dirty","_useNavPrompt","useNavPrompt","shouldBlock","blocked","hidePrompt","navigate","alertProps","_objectSpread","_jsx","Alert","isOpen","onClose","onSubmit","FieldValuesContainer","_ref$resourceType","resourceType","_ref$fieldValues","fieldValues","propFields","fields","_ref$ownerId","ownerId","resourceId","_ref$customComponents","customComponents","_ref$className","className","_ref$showBorder","showBorder","formRefs","_ref$disabled","disabled","isRequiredColumnName","fieldClassName","_ref$onMutate","onMutate","noop","_ref$onMutationSucces","onMutationSuccess","_ref$blockNavigation","_ref$blockNavigationA","canManageFieldValues","_useTranslation","useTranslation","isAllowedToManageFieldValues","hasPermission","queryOptions","variables","payload","onSuccess","_useFetchFields","useFetchFields","isEmpty","undefined","state","enabled","isNil","_useFetchFields$data","data","_useFetchFields$data2","_useFetchFields$data3","fetchedFields","isFieldsLoading","isLoading","_useFieldValues","useFieldValues","handleSubmit","submittingFieldDetails","isFieldsDisabled","classnames","children","Spinner","getNonSystemFields","map","field","Field","getFieldInput","_submittingFieldDetai","FieldValueInputWrapper","values","_jsxs","individualSubmit","submissionStatus","id","status","BlockNavigationAlert","Typography","style"],"mappings":"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","x_google_ignoreList":[0]}
|
|
@@ -3,6 +3,7 @@
|
|
|
3
3
|
var _defineProperty = require('@babel/runtime/helpers/defineProperty');
|
|
4
4
|
var neetoCist = require('@bigbinary/neeto-cist');
|
|
5
5
|
var constants = require('@bigbinary/neeto-commons-frontend/constants');
|
|
6
|
+
var utils$1 = require('@bigbinary/neeto-commons-frontend/utils');
|
|
6
7
|
var Container = require('@bigbinary/neeto-molecules/Container');
|
|
7
8
|
var Spinner = require('@bigbinary/neetoui/Spinner');
|
|
8
9
|
var ramda = require('ramda');
|
|
@@ -12,15 +13,14 @@ var _slicedToArray = require('@babel/runtime/helpers/slicedToArray');
|
|
|
12
13
|
var react = require('react');
|
|
13
14
|
var reactQuery = require('@tanstack/react-query');
|
|
14
15
|
var reactUtils = require('@bigbinary/neeto-commons-frontend/react-utils');
|
|
15
|
-
var utils$1 = require('@bigbinary/neeto-commons-frontend/utils');
|
|
16
16
|
var utils = require('@bigbinary/neeto-filters-frontend/utils');
|
|
17
17
|
var reactRouterDom = require('react-router-dom');
|
|
18
18
|
var constants$1 = require('../constants-C4kiF-ZI.js');
|
|
19
|
-
var FieldDeleteAlert = require('../DeleteAlert-
|
|
19
|
+
var FieldDeleteAlert = require('../DeleteAlert-BcSFSbN1.js');
|
|
20
20
|
var axios = require('axios');
|
|
21
21
|
var index = require('../index-Ck5frOOX.js');
|
|
22
22
|
var query = require('../query-DXkir3SS.js');
|
|
23
|
-
var useFieldsApi = require('../useFieldsApi-
|
|
23
|
+
var useFieldsApi = require('../useFieldsApi-CH-3Pwp9.js');
|
|
24
24
|
var TableWrapper = require('@bigbinary/neeto-molecules/TableWrapper');
|
|
25
25
|
var NoData = require('@bigbinary/neetoui/NoData');
|
|
26
26
|
var Table = require('@bigbinary/neetoui/Table');
|
|
@@ -80,6 +80,7 @@ var useFieldsDashboard = function useFieldsDashboard(_ref) {
|
|
|
80
80
|
title = _ref.title,
|
|
81
81
|
resources = _ref.resources,
|
|
82
82
|
showStateFilter = _ref.showStateFilter,
|
|
83
|
+
canManageFields = _ref.canManageFields,
|
|
83
84
|
_ref$onDeleteSuccess = _ref.onDeleteSuccess,
|
|
84
85
|
onDeleteSuccess = _ref$onDeleteSuccess === void 0 ? neetoCist.noop : _ref$onDeleteSuccess;
|
|
85
86
|
var _useState = react.useState(false),
|
|
@@ -189,7 +190,8 @@ var useFieldsDashboard = function useFieldsDashboard(_ref) {
|
|
|
189
190
|
};
|
|
190
191
|
var defaultColumns = FieldDeleteAlert.buildDefaultColumns({
|
|
191
192
|
onDeleteClick: handleDeleteButtonClick,
|
|
192
|
-
onEditClick: handleEditButtonClick
|
|
193
|
+
onEditClick: handleEditButtonClick,
|
|
194
|
+
canManageFields: canManageFields
|
|
193
195
|
});
|
|
194
196
|
var columnData = buildColumnData({
|
|
195
197
|
onEditClick: handleEditButtonClick,
|
|
@@ -318,7 +320,8 @@ var FieldsTable = function FieldsTable(_ref) {
|
|
|
318
320
|
title = _ref.title,
|
|
319
321
|
pageProps = _ref.pageProps,
|
|
320
322
|
setPageProps = _ref.setPageProps,
|
|
321
|
-
showStateFilter = _ref.showStateFilter
|
|
323
|
+
showStateFilter = _ref.showStateFilter,
|
|
324
|
+
canManageFields = _ref.canManageFields;
|
|
322
325
|
var _useTranslation = reactI18next.useTranslation(),
|
|
323
326
|
t = _useTranslation.t;
|
|
324
327
|
var showNoDataScreen = isFetched && ramda.isEmpty(rowData);
|
|
@@ -337,7 +340,7 @@ var FieldsTable = function FieldsTable(_ref) {
|
|
|
337
340
|
if (helpDocUrl) {
|
|
338
341
|
noDataProps.helpText = FieldDeleteAlert.renderNoDataHelpText(title, helpDocUrl);
|
|
339
342
|
}
|
|
340
|
-
if (constants$1.FIELD_STATES.active === state) {
|
|
343
|
+
if (constants$1.FIELD_STATES.active === state && canManageFields) {
|
|
341
344
|
noDataProps.primaryButtonProps = {
|
|
342
345
|
label: t("neetoFields.labels.addField"),
|
|
343
346
|
onClick: function onClick() {
|
|
@@ -385,13 +388,14 @@ var Header = reactUtils.withT(function (_ref) {
|
|
|
385
388
|
helpDescription = _ref.helpDescription,
|
|
386
389
|
size = _ref.size,
|
|
387
390
|
setIsPaneOpen = _ref.setIsPaneOpen,
|
|
388
|
-
t = _ref.t
|
|
391
|
+
t = _ref.t,
|
|
392
|
+
canManageFields = _ref.canManageFields;
|
|
389
393
|
return /*#__PURE__*/jsxRuntime.jsx(NeetoUIHeader, {
|
|
390
394
|
breadcrumbs: breadcrumbs,
|
|
391
395
|
size: size,
|
|
392
396
|
title: title,
|
|
393
397
|
searchProps: searchInputProps,
|
|
394
|
-
actionBlock: /*#__PURE__*/jsxRuntime.jsx(Button, {
|
|
398
|
+
actionBlock: canManageFields && /*#__PURE__*/jsxRuntime.jsx(Button, {
|
|
395
399
|
"data-cy": "neeto-fields-add-button",
|
|
396
400
|
label: t("neetoFields.labels.addField"),
|
|
397
401
|
onClick: function onClick() {
|
|
@@ -696,12 +700,14 @@ var FieldsDashboard = function FieldsDashboard(_ref) {
|
|
|
696
700
|
resources = _ref.resources,
|
|
697
701
|
_ref$headerSize = _ref.headerSize,
|
|
698
702
|
headerSize = _ref$headerSize === void 0 ? "small" : _ref$headerSize,
|
|
703
|
+
canManageFields = _ref.canManageFields,
|
|
699
704
|
_ref$onDeleteSuccess = _ref.onDeleteSuccess,
|
|
700
705
|
onDeleteSuccess = _ref$onDeleteSuccess === void 0 ? neetoCist.noop : _ref$onDeleteSuccess,
|
|
701
706
|
_ref$onReorderSuccess = _ref.onReorderSuccess,
|
|
702
707
|
onReorderSuccess = _ref$onReorderSuccess === void 0 ? neetoCist.noop : _ref$onReorderSuccess;
|
|
703
708
|
var _useTranslation = reactI18next.useTranslation(),
|
|
704
709
|
t = _useTranslation.t;
|
|
710
|
+
var isAllowedToManageFields = canManageFields !== null && canManageFields !== void 0 ? canManageFields : utils$1.hasPermission("neeto_fields_engine.manage_fields");
|
|
705
711
|
var title = neetoCist.capitalize(headerTitle || t("neetoFields.titles.field", constants.PLURAL));
|
|
706
712
|
var _useFieldsDashboard = useFieldsDashboard({
|
|
707
713
|
buildColumnData: buildColumnData,
|
|
@@ -711,7 +717,8 @@ var FieldsDashboard = function FieldsDashboard(_ref) {
|
|
|
711
717
|
title: title,
|
|
712
718
|
resources: resources,
|
|
713
719
|
onDeleteSuccess: onDeleteSuccess,
|
|
714
|
-
showStateFilter: showStateFilter
|
|
720
|
+
showStateFilter: showStateFilter,
|
|
721
|
+
canManageFields: isAllowedToManageFields
|
|
715
722
|
}),
|
|
716
723
|
isPaneOpen = _useFieldsDashboard.isPaneOpen,
|
|
717
724
|
setIsPaneOpen = _useFieldsDashboard.setIsPaneOpen,
|
|
@@ -749,7 +756,8 @@ var FieldsDashboard = function FieldsDashboard(_ref) {
|
|
|
749
756
|
searchInputProps: searchInputProps,
|
|
750
757
|
setIsPaneOpen: setIsPaneOpen,
|
|
751
758
|
title: headerDisplayTitle,
|
|
752
|
-
size: headerSize
|
|
759
|
+
size: headerSize,
|
|
760
|
+
canManageFields: isAllowedToManageFields
|
|
753
761
|
};
|
|
754
762
|
var showSubheader = showCountSubheader || neetoCist.isPresent(searchKeywordProps.value);
|
|
755
763
|
return /*#__PURE__*/jsxRuntime.jsxs(jsxRuntime.Fragment, {
|
|
@@ -759,10 +767,10 @@ var FieldsDashboard = function FieldsDashboard(_ref) {
|
|
|
759
767
|
}), /*#__PURE__*/jsxRuntime.jsxs(Container, {
|
|
760
768
|
children: [/*#__PURE__*/jsxRuntime.jsx(Header, _objectSpread({}, headerProps)), showStateFilter && stateFilterTabs, /*#__PURE__*/jsxRuntime.jsx(Subheader, {
|
|
761
769
|
count: count,
|
|
762
|
-
reorderable: reorderable,
|
|
763
770
|
searchKeywordProps: searchKeywordProps,
|
|
764
771
|
setIsReorderPaneOpen: setIsReorderPaneOpen,
|
|
765
|
-
showSubheader: showSubheader
|
|
772
|
+
showSubheader: showSubheader,
|
|
773
|
+
reorderable: reorderable && isAllowedToManageFields
|
|
766
774
|
}), isScreenLoading ? /*#__PURE__*/jsxRuntime.jsx("div", {
|
|
767
775
|
className: "flex h-full w-full items-center justify-center",
|
|
768
776
|
children: /*#__PURE__*/jsxRuntime.jsx(Spinner, {})
|
|
@@ -775,6 +783,7 @@ var FieldsDashboard = function FieldsDashboard(_ref) {
|
|
|
775
783
|
setPageProps: setPageProps,
|
|
776
784
|
showStateFilter: showStateFilter,
|
|
777
785
|
title: title,
|
|
786
|
+
canManageFields: isAllowedToManageFields,
|
|
778
787
|
isFetched: isFieldsFetched,
|
|
779
788
|
isFetching: isFieldsFetching,
|
|
780
789
|
rowData: ramda.isEmpty(rowData) ? fields : rowData,
|