@bigbinary/neeto-fields-frontend 1.1.3 → 1.1.5
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 +9 -0
- package/dist/index.cjs.js +265 -120
- package/dist/index.cjs.js.map +1 -1
- package/dist/index.js +268 -123
- package/dist/index.js.map +1 -1
- package/package.json +1 -1
- package/types.d.ts +2 -0
package/dist/index.cjs.js
CHANGED
|
@@ -7,6 +7,7 @@ var neetoui = require('@bigbinary/neetoui');
|
|
|
7
7
|
var pure = require('@bigbinary/neeto-commons-frontend/pure');
|
|
8
8
|
var ramda = require('ramda');
|
|
9
9
|
var formik = require('formik');
|
|
10
|
+
var reactUtils = require('@bigbinary/neeto-commons-frontend/react-utils');
|
|
10
11
|
var yup = require('yup');
|
|
11
12
|
var neetoIcons = require('@bigbinary/neeto-icons');
|
|
12
13
|
var formik$1 = require('@bigbinary/neetoui/formik');
|
|
@@ -18,7 +19,6 @@ var SubHeader = require('@bigbinary/neeto-molecules/SubHeader');
|
|
|
18
19
|
var reactQuery = require('react-query');
|
|
19
20
|
var axios = require('axios');
|
|
20
21
|
var utils = require('@bigbinary/neeto-commons-frontend/utils');
|
|
21
|
-
var reactUtils = require('@bigbinary/neeto-commons-frontend/react-utils');
|
|
22
22
|
var reactRouterDom = require('react-router-dom');
|
|
23
23
|
var TableWrapper = require('@bigbinary/neeto-molecules/TableWrapper');
|
|
24
24
|
var reactDom = require('react-dom');
|
|
@@ -5341,9 +5341,12 @@ var fields = {
|
|
|
5341
5341
|
}
|
|
5342
5342
|
};
|
|
5343
5343
|
var messages = {
|
|
5344
|
-
noFields: "There are no
|
|
5344
|
+
noFields: "There are no {{title}} to show",
|
|
5345
5345
|
confirmDelete: "Are you sure want to delete the field? This action cannot be undone.",
|
|
5346
5346
|
manageFieldFor: "Manage fields for {{resource}}",
|
|
5347
|
+
manageTitleForResource: "Manage {{title}} for {{resource}}",
|
|
5348
|
+
titleForResource: "{{title}} for {{resource}}",
|
|
5349
|
+
stateTitleForResource: "{{state}} {{title}} for {{resource}}",
|
|
5347
5350
|
invalidKind: "Invalid kind",
|
|
5348
5351
|
reorderFields: "Fields are displayed from top to bottom."
|
|
5349
5352
|
};
|
|
@@ -5364,7 +5367,7 @@ var tooltips = {
|
|
|
5364
5367
|
reorder: "Fields a are displayed from top to bottom. Re-order them"
|
|
5365
5368
|
};
|
|
5366
5369
|
var helpTexts = {
|
|
5367
|
-
noData: "Here is how you can use <a>
|
|
5370
|
+
noData: "Here is how you can use <a>{{title}}.</a>"
|
|
5368
5371
|
};
|
|
5369
5372
|
var en = {
|
|
5370
5373
|
common: common,
|
|
@@ -5879,57 +5882,60 @@ var buildSchemaAllowingEmptyValue = function buildSchemaAllowingEmptyValue(schem
|
|
|
5879
5882
|
name: "validate-if-not-empty",
|
|
5880
5883
|
test: function test(value) {
|
|
5881
5884
|
if (pure.isNotEmpty(value) && ramda.isNotNil(value)) {
|
|
5882
|
-
|
|
5883
|
-
|
|
5884
|
-
|
|
5885
|
-
|
|
5886
|
-
|
|
5887
|
-
|
|
5885
|
+
schema.validateSync(value);
|
|
5886
|
+
}
|
|
5887
|
+
return true;
|
|
5888
|
+
}
|
|
5889
|
+
});
|
|
5890
|
+
};
|
|
5891
|
+
var buildSchemaForRequiredInputs = function buildSchemaForRequiredInputs(schema) {
|
|
5892
|
+
return yup__namespace.mixed().test({
|
|
5893
|
+
name: "validate-required-inputs",
|
|
5894
|
+
test: function test(value) {
|
|
5895
|
+
if (ramda.isEmpty(value) || ramda.isNil(value)) {
|
|
5896
|
+
throw new yup__namespace.ValidationError(t$1("validations.thisIsRequired"));
|
|
5888
5897
|
}
|
|
5898
|
+
schema.validateSync(value);
|
|
5889
5899
|
return true;
|
|
5890
5900
|
}
|
|
5891
5901
|
});
|
|
5892
5902
|
};
|
|
5893
|
-
var
|
|
5894
|
-
var
|
|
5895
|
-
isRequired = _ref.isRequired
|
|
5896
|
-
|
|
5903
|
+
var buildSchema = function buildSchema(_ref) {
|
|
5904
|
+
var schema = _ref.schema,
|
|
5905
|
+
isRequired = _ref.isRequired;
|
|
5906
|
+
return isRequired ? buildSchemaForRequiredInputs(schema) : buildSchemaAllowingEmptyValue(schema);
|
|
5907
|
+
};
|
|
5908
|
+
var getBasicValidationSchema = function getBasicValidationSchema(_ref2) {
|
|
5909
|
+
var kind = _ref2.kind,
|
|
5910
|
+
fieldData = _ref2.fieldData;
|
|
5897
5911
|
switch (kind) {
|
|
5898
5912
|
case KINDS.singleOption:
|
|
5899
5913
|
case KINDS.text:
|
|
5900
5914
|
{
|
|
5901
|
-
|
|
5902
|
-
return isRequired ? schema.required(t$1("validations.thisIsRequired")) : schema;
|
|
5915
|
+
return yup__namespace.string().trim().nullable();
|
|
5903
5916
|
}
|
|
5904
5917
|
case KINDS.number:
|
|
5905
5918
|
case KINDS.monetary:
|
|
5906
5919
|
case KINDS.decimal:
|
|
5907
5920
|
{
|
|
5908
|
-
|
|
5909
|
-
return isRequired ? _schema.required(t$1("validations.thisIsRequired")) : _schema;
|
|
5921
|
+
return yup__namespace.number(t$1("validations.notAValidNumber")).nullable();
|
|
5910
5922
|
}
|
|
5911
5923
|
case KINDS.integer:
|
|
5912
5924
|
{
|
|
5913
|
-
|
|
5914
|
-
return isRequired ? _schema2.required(t$1("validations.thisIsRequired")) : _schema2;
|
|
5925
|
+
return yup__namespace.number().nullable().integer(t$1("validations.notAValidInteger"));
|
|
5915
5926
|
}
|
|
5916
5927
|
case KINDS.date:
|
|
5917
5928
|
case KINDS.time:
|
|
5918
5929
|
{
|
|
5919
|
-
|
|
5920
|
-
return isRequired ? _schema3.required(t$1("validations.thisIsRequired")) : _schema3;
|
|
5930
|
+
return dateSchema;
|
|
5921
5931
|
}
|
|
5922
5932
|
case KINDS.multiOption:
|
|
5923
5933
|
{
|
|
5924
|
-
|
|
5925
|
-
return isRequired ? _schema4.min(1, t$1("validations.minOneItem")).required(t$1("validations.thisIsRequired")) : _schema4;
|
|
5934
|
+
return yup__namespace.array().of(yup__namespace.string()).nullable();
|
|
5926
5935
|
}
|
|
5927
5936
|
case KINDS.dateRange:
|
|
5928
5937
|
case KINDS.timeRange:
|
|
5929
5938
|
{
|
|
5930
|
-
if (isRequired) {
|
|
5931
|
-
return yup__namespace.array().of(dateSchema).required(t$1("validations.thisIsRequired"));
|
|
5932
|
-
}
|
|
5933
5939
|
return yup__namespace.array().of(dateSchema).nullable();
|
|
5934
5940
|
}
|
|
5935
5941
|
case KINDS.checkbox:
|
|
@@ -5937,13 +5943,25 @@ var buildFieldValidationSchema = function buildFieldValidationSchema(_ref) {
|
|
|
5937
5943
|
case KINDS.regex:
|
|
5938
5944
|
{
|
|
5939
5945
|
var regexPattern = fieldData === null || fieldData === void 0 ? void 0 : fieldData.condition;
|
|
5940
|
-
|
|
5941
|
-
return isRequired ? _schema5.required(t$1("validations.thisIsRequired")) : _schema5;
|
|
5946
|
+
return yup__namespace.string().nullable().matches(cleanedRegex(regexPattern), fieldData === null || fieldData === void 0 ? void 0 : fieldData.helpMessage);
|
|
5942
5947
|
}
|
|
5943
5948
|
default:
|
|
5944
5949
|
return yup__namespace.mixed();
|
|
5945
5950
|
}
|
|
5946
5951
|
};
|
|
5952
|
+
var buildFieldValidationSchema = function buildFieldValidationSchema(_ref3) {
|
|
5953
|
+
var kind = _ref3.kind,
|
|
5954
|
+
isRequired = _ref3.isRequired,
|
|
5955
|
+
fieldData = _ref3.fieldData;
|
|
5956
|
+
var schema = getBasicValidationSchema({
|
|
5957
|
+
kind: kind,
|
|
5958
|
+
fieldData: fieldData
|
|
5959
|
+
});
|
|
5960
|
+
return buildSchema({
|
|
5961
|
+
schema: schema,
|
|
5962
|
+
isRequired: isRequired
|
|
5963
|
+
});
|
|
5964
|
+
};
|
|
5947
5965
|
var cleanedRegex = function cleanedRegex(expression) {
|
|
5948
5966
|
if (expression.startsWith("/") && expression.endsWith("/")) {
|
|
5949
5967
|
return expression.slice(1, -1);
|
|
@@ -5952,9 +5970,9 @@ var cleanedRegex = function cleanedRegex(expression) {
|
|
|
5952
5970
|
};
|
|
5953
5971
|
var buildOptionsToLabelAndValue = function buildOptionsToLabelAndValue() {
|
|
5954
5972
|
var optionObjects = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];
|
|
5955
|
-
return optionObjects.map(function (
|
|
5956
|
-
var label =
|
|
5957
|
-
value =
|
|
5973
|
+
return optionObjects.map(function (_ref4) {
|
|
5974
|
+
var label = _ref4.label,
|
|
5975
|
+
value = _ref4.value;
|
|
5958
5976
|
return {
|
|
5959
5977
|
label: label,
|
|
5960
5978
|
value: value || label
|
|
@@ -5965,12 +5983,12 @@ var buildArrayToLabelAndValues = function buildArrayToLabelAndValues(value) {
|
|
|
5965
5983
|
return ramda.map(pure.toLabelAndValue, value || []);
|
|
5966
5984
|
};
|
|
5967
5985
|
var validateField = /*#__PURE__*/function () {
|
|
5968
|
-
var
|
|
5986
|
+
var _ref6 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee(_ref5) {
|
|
5969
5987
|
var fieldValue, fieldName, isRequired, kind, fieldData;
|
|
5970
5988
|
return _regeneratorRuntime.wrap(function _callee$(_context) {
|
|
5971
5989
|
while (1) switch (_context.prev = _context.next) {
|
|
5972
5990
|
case 0:
|
|
5973
|
-
fieldValue =
|
|
5991
|
+
fieldValue = _ref5.fieldValue, fieldName = _ref5.fieldName, isRequired = _ref5.isRequired, kind = _ref5.kind, fieldData = _ref5.fieldData;
|
|
5974
5992
|
_context.prev = 1;
|
|
5975
5993
|
_context.next = 4;
|
|
5976
5994
|
return yup__namespace.object().shape(_defineProperty({}, fieldName, buildFieldValidationSchema({
|
|
@@ -5991,7 +6009,7 @@ var validateField = /*#__PURE__*/function () {
|
|
|
5991
6009
|
}, _callee, null, [[1, 7]]);
|
|
5992
6010
|
}));
|
|
5993
6011
|
return function validateField(_x) {
|
|
5994
|
-
return
|
|
6012
|
+
return _ref6.apply(this, arguments);
|
|
5995
6013
|
};
|
|
5996
6014
|
}();
|
|
5997
6015
|
var dateTimeToString = function dateTimeToString(dateTime) {
|
|
@@ -6014,8 +6032,7 @@ var useFormikFields = function useFormikFields(_ref) {
|
|
|
6014
6032
|
isRequiredColumnName = _ref$isRequiredColumn === void 0 ? "isRequired" : _ref$isRequiredColumn,
|
|
6015
6033
|
props = _objectWithoutProperties(_ref, _excluded$3);
|
|
6016
6034
|
var formikContext = formik.useFormikContext();
|
|
6017
|
-
var
|
|
6018
|
-
submitForm = formikContext.submitForm,
|
|
6035
|
+
var submitForm = formikContext.submitForm,
|
|
6019
6036
|
dirty = formikContext.dirty,
|
|
6020
6037
|
isSubmitting = formikContext.isSubmitting;
|
|
6021
6038
|
var fieldPath = escapeString("".concat(name, "-").concat(fieldId));
|
|
@@ -6042,9 +6059,10 @@ var useFormikFields = function useFormikFields(_ref) {
|
|
|
6042
6059
|
formikFieldProps = _useField2[0],
|
|
6043
6060
|
meta = _useField2[1],
|
|
6044
6061
|
helpers = _useField2[2];
|
|
6062
|
+
var debouncedSubmitForm = reactUtils.useFuncDebounce(submitForm, 100);
|
|
6045
6063
|
var handleSubmit = function handleSubmit(value) {
|
|
6046
|
-
ramda.isNotNil(value) &&
|
|
6047
|
-
individualSubmit &&
|
|
6064
|
+
ramda.isNotNil(value) && helpers.setValue(value);
|
|
6065
|
+
individualSubmit && debouncedSubmitForm();
|
|
6048
6066
|
};
|
|
6049
6067
|
var getValueForField = function getValueForField(value) {
|
|
6050
6068
|
if (kind === KINDS.singleOption) {
|
|
@@ -6055,17 +6073,19 @@ var useFormikFields = function useFormikFields(_ref) {
|
|
|
6055
6073
|
return value || "";
|
|
6056
6074
|
};
|
|
6057
6075
|
var isDropdown = ["single_option", "multi_option"].includes(kind);
|
|
6058
|
-
|
|
6059
|
-
|
|
6060
|
-
|
|
6076
|
+
React.useEffect(function () {
|
|
6077
|
+
if (isSubmitting && !meta.touched) {
|
|
6078
|
+
helpers.setTouched(true);
|
|
6079
|
+
}
|
|
6080
|
+
}, [isSubmitting]);
|
|
6061
6081
|
return {
|
|
6082
|
+
dirty: dirty,
|
|
6062
6083
|
handleSubmit: handleSubmit,
|
|
6063
6084
|
fieldProps: _objectSpread$a(_objectSpread$a({}, formikFieldProps), {}, {
|
|
6064
6085
|
required: props[isRequiredColumnName],
|
|
6065
6086
|
error: individualSubmit ? meta.error : meta.touched && meta.error,
|
|
6066
6087
|
options: isDropdown ? buildOptionsToLabelAndValue(fieldData) : undefined,
|
|
6067
6088
|
value: getValueForField(formikFieldProps.value),
|
|
6068
|
-
dirty: dirty,
|
|
6069
6089
|
label: !individualSubmit && pure.capitalize(name),
|
|
6070
6090
|
disabled: disabled
|
|
6071
6091
|
})
|
|
@@ -6131,8 +6151,9 @@ var MultiOption = function MultiOption(props) {
|
|
|
6131
6151
|
var Number$1 = function Number(props) {
|
|
6132
6152
|
var _useFormikFields = useFormikFields(props),
|
|
6133
6153
|
handleSubmit = _useFormikFields.handleSubmit,
|
|
6134
|
-
fieldProps = _useFormikFields.fieldProps
|
|
6135
|
-
|
|
6154
|
+
fieldProps = _useFormikFields.fieldProps,
|
|
6155
|
+
dirty = _useFormikFields.dirty;
|
|
6156
|
+
var showSubmitButton = props.individualSubmit && dirty;
|
|
6136
6157
|
return /*#__PURE__*/React__default["default"].createElement(neetoui.Input, _extends({}, fieldProps, {
|
|
6137
6158
|
type: "number",
|
|
6138
6159
|
suffix: showSubmitButton && /*#__PURE__*/React__default["default"].createElement(formik$1.Button, {
|
|
@@ -6153,7 +6174,11 @@ var RangePicker = function RangePicker(props) {
|
|
|
6153
6174
|
var _ref2 = _slicedToArray(_ref, 2),
|
|
6154
6175
|
begin = _ref2[0],
|
|
6155
6176
|
end = _ref2[1];
|
|
6156
|
-
|
|
6177
|
+
if (begin && end) {
|
|
6178
|
+
handleSubmit([dateTimeToString(begin), dateTimeToString(end)]);
|
|
6179
|
+
} else {
|
|
6180
|
+
handleSubmit([]);
|
|
6181
|
+
}
|
|
6157
6182
|
};
|
|
6158
6183
|
if (props.kind === KINDS.dateRange) {
|
|
6159
6184
|
return /*#__PURE__*/React__default["default"].createElement(neetoui.DatePicker, _extends({}, fieldProps, {
|
|
@@ -6176,11 +6201,11 @@ var SingleOption = function SingleOption(props) {
|
|
|
6176
6201
|
handleSubmit = _useFormikFields.handleSubmit,
|
|
6177
6202
|
fieldProps = _useFormikFields.fieldProps;
|
|
6178
6203
|
return /*#__PURE__*/React__default["default"].createElement(neetoui.Select, _extends({
|
|
6204
|
+
isClearable: true,
|
|
6179
6205
|
isSearchable: true
|
|
6180
6206
|
}, fieldProps, {
|
|
6181
|
-
onChange: function onChange(
|
|
6182
|
-
|
|
6183
|
-
return handleSubmit(value);
|
|
6207
|
+
onChange: function onChange(option) {
|
|
6208
|
+
return handleSubmit((option === null || option === void 0 ? void 0 : option.value) || "");
|
|
6184
6209
|
}
|
|
6185
6210
|
}));
|
|
6186
6211
|
};
|
|
@@ -6188,8 +6213,9 @@ var SingleOption = function SingleOption(props) {
|
|
|
6188
6213
|
var Text = function Text(props) {
|
|
6189
6214
|
var _useFormikFields = useFormikFields(props),
|
|
6190
6215
|
handleSubmit = _useFormikFields.handleSubmit,
|
|
6191
|
-
fieldProps = _useFormikFields.fieldProps
|
|
6192
|
-
|
|
6216
|
+
fieldProps = _useFormikFields.fieldProps,
|
|
6217
|
+
dirty = _useFormikFields.dirty;
|
|
6218
|
+
var showSubmitButton = props.individualSubmit && dirty;
|
|
6193
6219
|
return /*#__PURE__*/React__default["default"].createElement(neetoui.Input, _extends({}, fieldProps, {
|
|
6194
6220
|
suffix: showSubmitButton && /*#__PURE__*/React__default["default"].createElement(formik$1.Button, {
|
|
6195
6221
|
icon: neetoIcons.Check,
|
|
@@ -6206,8 +6232,9 @@ var TextArea = function TextArea(props) {
|
|
|
6206
6232
|
t = _useTranslation.t;
|
|
6207
6233
|
var _useFormikFields = useFormikFields(props),
|
|
6208
6234
|
handleSubmit = _useFormikFields.handleSubmit,
|
|
6209
|
-
fieldProps = _useFormikFields.fieldProps
|
|
6210
|
-
|
|
6235
|
+
fieldProps = _useFormikFields.fieldProps,
|
|
6236
|
+
dirty = _useFormikFields.dirty;
|
|
6237
|
+
var showSubmitButton = props.individualSubmit && dirty;
|
|
6211
6238
|
return /*#__PURE__*/React__default["default"].createElement(React__default["default"].Fragment, null, /*#__PURE__*/React__default["default"].createElement(neetoui.Textarea, fieldProps), showSubmitButton && /*#__PURE__*/React__default["default"].createElement(formik$1.Button, {
|
|
6212
6239
|
className: "m-auto mt-2",
|
|
6213
6240
|
label: t("labels.submit"),
|
|
@@ -6274,26 +6301,46 @@ var transformValues = function transformValues(_ref2) {
|
|
|
6274
6301
|
fieldValuesAttributes: cleanedFieldValues
|
|
6275
6302
|
});
|
|
6276
6303
|
};
|
|
6277
|
-
var
|
|
6278
|
-
|
|
6304
|
+
var getDefaultInitialValue = function getDefaultInitialValue(kind) {
|
|
6305
|
+
switch (kind) {
|
|
6306
|
+
case KINDS.checkbox:
|
|
6307
|
+
return false;
|
|
6308
|
+
case KINDS.multiOption:
|
|
6309
|
+
case KINDS.dateRange:
|
|
6310
|
+
case KINDS.timeRange:
|
|
6311
|
+
return [];
|
|
6312
|
+
default:
|
|
6313
|
+
return "";
|
|
6314
|
+
}
|
|
6315
|
+
};
|
|
6316
|
+
var getInitialFieldValue = function getInitialFieldValue(_ref4) {
|
|
6317
|
+
var field = _ref4.field,
|
|
6318
|
+
_ref4$fieldValues = _ref4.fieldValues,
|
|
6319
|
+
fieldValues = _ref4$fieldValues === void 0 ? [] : _ref4$fieldValues,
|
|
6320
|
+
_ref4$isIndividualFie = _ref4.isIndividualFieldForm,
|
|
6321
|
+
isIndividualFieldForm = _ref4$isIndividualFie === void 0 ? false : _ref4$isIndividualFie;
|
|
6279
6322
|
var existingFieldValueData = pure.findBy({
|
|
6280
6323
|
fieldId: field.id
|
|
6281
6324
|
}, fieldValues);
|
|
6325
|
+
var keyInData = field.kind === KINDS.multiOption ? "values" : "value";
|
|
6282
6326
|
var newFieldValueData = {
|
|
6283
6327
|
fieldId: field.id,
|
|
6284
|
-
data: null
|
|
6328
|
+
data: isIndividualFieldForm ? _defineProperty({}, keyInData, getDefaultInitialValue(field.kind)) : null
|
|
6285
6329
|
};
|
|
6286
6330
|
return _defineProperty({}, escapeString("".concat(field.name, "-").concat(field.id)), existingFieldValueData || newFieldValueData);
|
|
6287
6331
|
};
|
|
6288
6332
|
var getAllInitialFieldValues = function getAllInitialFieldValues(fields) {
|
|
6289
6333
|
var fieldValues = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : [];
|
|
6290
6334
|
return getNonSystemFields(fields).map(function (field) {
|
|
6291
|
-
return getInitialFieldValue(
|
|
6335
|
+
return getInitialFieldValue({
|
|
6336
|
+
field: field,
|
|
6337
|
+
fieldValues: fieldValues
|
|
6338
|
+
});
|
|
6292
6339
|
});
|
|
6293
6340
|
};
|
|
6294
|
-
var mergeInitialValues = function mergeInitialValues(
|
|
6295
|
-
var initialValues =
|
|
6296
|
-
fields =
|
|
6341
|
+
var mergeInitialValues = function mergeInitialValues(_ref7) {
|
|
6342
|
+
var initialValues = _ref7.initialValues,
|
|
6343
|
+
fields = _ref7.fields;
|
|
6297
6344
|
var initialValue = ramda.mergeAll([initialValues].concat(_toConsumableArray(getAllInitialFieldValues(fields, initialValues === null || initialValues === void 0 ? void 0 : initialValues.fieldValues))));
|
|
6298
6345
|
return ramda.omit(["fieldValues"], initialValue);
|
|
6299
6346
|
};
|
|
@@ -6358,6 +6405,21 @@ var SINGULAR = {
|
|
|
6358
6405
|
var PLURAL = {
|
|
6359
6406
|
count: 2
|
|
6360
6407
|
};
|
|
6408
|
+
var INFO_ICON_SIZE = 16;
|
|
6409
|
+
|
|
6410
|
+
var TitleWithHelpLink = function TitleWithHelpLink(_ref) {
|
|
6411
|
+
var title = _ref.title,
|
|
6412
|
+
helpUrl = _ref.helpUrl;
|
|
6413
|
+
return /*#__PURE__*/React__default["default"].createElement("div", {
|
|
6414
|
+
className: "flex items-center gap-x-1"
|
|
6415
|
+
}, title, helpUrl && /*#__PURE__*/React__default["default"].createElement("a", {
|
|
6416
|
+
href: helpUrl,
|
|
6417
|
+
rel: "noreferrer",
|
|
6418
|
+
target: "_blank"
|
|
6419
|
+
}, /*#__PURE__*/React__default["default"].createElement(neetoIcons.Info, {
|
|
6420
|
+
size: INFO_ICON_SIZE
|
|
6421
|
+
})));
|
|
6422
|
+
};
|
|
6361
6423
|
|
|
6362
6424
|
var fieldUrl = function fieldUrl(fieldId) {
|
|
6363
6425
|
return utils.buildUrl(FIELD_URL, {
|
|
@@ -6599,7 +6661,7 @@ var FIELD_KINDS = {
|
|
|
6599
6661
|
single_option: {
|
|
6600
6662
|
value: "single_option",
|
|
6601
6663
|
label: t$1("fields.kinds.singleOption"),
|
|
6602
|
-
group:
|
|
6664
|
+
group: 12
|
|
6603
6665
|
},
|
|
6604
6666
|
multi_option: {
|
|
6605
6667
|
value: "multi_option",
|
|
@@ -6799,6 +6861,7 @@ var FieldForm = function FieldForm(_ref) {
|
|
|
6799
6861
|
className: "w-full space-y-4"
|
|
6800
6862
|
}, /*#__PURE__*/React__default["default"].createElement(formik$1.Input, {
|
|
6801
6863
|
required: true,
|
|
6864
|
+
"data-cy": "name-text-field",
|
|
6802
6865
|
disabled: isSystem,
|
|
6803
6866
|
label: t("labels.fieldName"),
|
|
6804
6867
|
name: "name",
|
|
@@ -6811,12 +6874,15 @@ var FieldForm = function FieldForm(_ref) {
|
|
|
6811
6874
|
options: kindSelectOptions,
|
|
6812
6875
|
onChange: handleKindChange
|
|
6813
6876
|
}), isAdditionalDataNeeded(chosenKind) && /*#__PURE__*/React__default["default"].createElement(AdditionalInputs, null), !hideRequiredSwitch && /*#__PURE__*/React__default["default"].createElement(neetoui.Label, {
|
|
6814
|
-
className: "flex items-center gap-2"
|
|
6877
|
+
className: "flex items-center gap-2",
|
|
6878
|
+
"data-cy": "is-required-switch-container"
|
|
6815
6879
|
}, /*#__PURE__*/React__default["default"].createElement(formik$1.Switch, {
|
|
6880
|
+
"data-cy": "is-required-switch",
|
|
6816
6881
|
name: "isRequired"
|
|
6817
6882
|
}), /*#__PURE__*/React__default["default"].createElement(neetoui.Typography, {
|
|
6818
6883
|
className: "leading-4",
|
|
6819
6884
|
component: "span",
|
|
6885
|
+
"data-cy": "is-required-switch-label",
|
|
6820
6886
|
style: "body2"
|
|
6821
6887
|
}, t("labels.isRequired"))), children));
|
|
6822
6888
|
};
|
|
@@ -6856,6 +6922,7 @@ var Add = function Add(_ref) {
|
|
|
6856
6922
|
});
|
|
6857
6923
|
};
|
|
6858
6924
|
return /*#__PURE__*/React__default["default"].createElement(React__default["default"].Fragment, null, /*#__PURE__*/React__default["default"].createElement(neetoui.Pane.Header, null, /*#__PURE__*/React__default["default"].createElement(neetoui.Typography, {
|
|
6925
|
+
"data-cy": "add-pane-header",
|
|
6859
6926
|
style: "h2"
|
|
6860
6927
|
}, t("titles.addField"))), /*#__PURE__*/React__default["default"].createElement(formik$1.Form, {
|
|
6861
6928
|
formikProps: {
|
|
@@ -6928,6 +6995,7 @@ var Edit = function Edit(_ref) {
|
|
|
6928
6995
|
});
|
|
6929
6996
|
};
|
|
6930
6997
|
return /*#__PURE__*/React__default["default"].createElement(React__default["default"].Fragment, null, /*#__PURE__*/React__default["default"].createElement(neetoui.Pane.Header, null, /*#__PURE__*/React__default["default"].createElement(neetoui.Typography, {
|
|
6998
|
+
"data-cy": "edit-pane-header",
|
|
6931
6999
|
style: "h2"
|
|
6932
7000
|
}, t("titles.editField"))), isLoading ? /*#__PURE__*/React__default["default"].createElement(PageLoader__default["default"], null) : /*#__PURE__*/React__default["default"].createElement(formik$1.Form, {
|
|
6933
7001
|
formikProps: {
|
|
@@ -6987,17 +7055,20 @@ var buildDefaultColumns = function buildDefaultColumns(_ref) {
|
|
|
6987
7055
|
}, /*#__PURE__*/React__default["default"].createElement(neetoui.Typography, {
|
|
6988
7056
|
style: "body2"
|
|
6989
7057
|
}, name), /*#__PURE__*/React__default["default"].createElement(neetoui.Dropdown, {
|
|
6990
|
-
buttonProps: {
|
|
6991
|
-
className: "flex-shrink-0"
|
|
6992
|
-
},
|
|
6993
7058
|
buttonStyle: "text",
|
|
6994
7059
|
icon: neetoIcons.MenuHorizontal,
|
|
6995
|
-
strategy: "fixed"
|
|
7060
|
+
strategy: "fixed",
|
|
7061
|
+
buttonProps: {
|
|
7062
|
+
className: "flex-shrink-0",
|
|
7063
|
+
"data-cy": "neeto-fields-options-dropdown"
|
|
7064
|
+
}
|
|
6996
7065
|
}, /*#__PURE__*/React__default["default"].createElement(Menu, null, /*#__PURE__*/React__default["default"].createElement(MenuItem.Button, {
|
|
7066
|
+
"data-cy": "edit-menu-item-button",
|
|
6997
7067
|
onClick: function onClick() {
|
|
6998
7068
|
return onEditClick(field);
|
|
6999
7069
|
}
|
|
7000
7070
|
}, t$1("labels.edit")), !field.isSystem && /*#__PURE__*/React__default["default"].createElement(MenuItem.Button, {
|
|
7071
|
+
"data-cy": "delete-menu-item-button",
|
|
7001
7072
|
onClick: function onClick() {
|
|
7002
7073
|
return onDeleteClick(field);
|
|
7003
7074
|
}
|
|
@@ -7024,14 +7095,18 @@ var renderMenuBarItems = function renderMenuBarItems(_ref2) {
|
|
|
7024
7095
|
isOwnerBased = _ref2.isOwnerBased,
|
|
7025
7096
|
selectedMenu = _ref2.selectedMenu,
|
|
7026
7097
|
handleBlockClick = _ref2.handleBlockClick,
|
|
7027
|
-
nameAliases = _ref2.nameAliases
|
|
7098
|
+
nameAliases = _ref2.nameAliases,
|
|
7099
|
+
title = _ref2.title;
|
|
7100
|
+
title = title.toLocaleLowerCase();
|
|
7028
7101
|
if (isOwnerBased) {
|
|
7029
7102
|
return items.map(function (item) {
|
|
7030
7103
|
return /*#__PURE__*/React__default["default"].createElement(MenuBar__default["default"].Item, {
|
|
7031
7104
|
active: selectedMenu === item.id,
|
|
7105
|
+
"data-cy": "menubar-".concat(pure.slugify(item.name), "-menu-item"),
|
|
7032
7106
|
key: item.id,
|
|
7033
7107
|
label: pure.humanize(item.name),
|
|
7034
|
-
description: t$1("messages.
|
|
7108
|
+
description: t$1("messages.manageTitleForResource", {
|
|
7109
|
+
title: title,
|
|
7035
7110
|
resource: pure.humanize(item.name).toLocaleLowerCase()
|
|
7036
7111
|
}),
|
|
7037
7112
|
onClick: handleBlockClick({
|
|
@@ -7041,11 +7116,14 @@ var renderMenuBarItems = function renderMenuBarItems(_ref2) {
|
|
|
7041
7116
|
});
|
|
7042
7117
|
}
|
|
7043
7118
|
return items.length > 1 && items.map(function (item) {
|
|
7119
|
+
var label = nameAliases[item] || pure.humanize(item);
|
|
7044
7120
|
return /*#__PURE__*/React__default["default"].createElement(MenuBar__default["default"].Item, {
|
|
7045
7121
|
active: selectedMenu === item,
|
|
7122
|
+
"data-cy": "neeto-fields-".concat(pure.slugify(label), "-menu-item"),
|
|
7046
7123
|
key: item,
|
|
7047
|
-
label:
|
|
7048
|
-
description: t$1("messages.
|
|
7124
|
+
label: label,
|
|
7125
|
+
description: t$1("messages.manageTitleForResource", {
|
|
7126
|
+
title: title,
|
|
7049
7127
|
resource: pure.humanize(item).toLocaleLowerCase()
|
|
7050
7128
|
}),
|
|
7051
7129
|
onClick: handleBlockClick({
|
|
@@ -7061,12 +7139,14 @@ var renderMenuBarFilters = function renderMenuBarFilters(_ref3) {
|
|
|
7061
7139
|
inactiveFieldsCount = _ref3.inactiveFieldsCount,
|
|
7062
7140
|
handleBlockClick = _ref3.handleBlockClick;
|
|
7063
7141
|
return /*#__PURE__*/React__default["default"].createElement(React__default["default"].Fragment, null, /*#__PURE__*/React__default["default"].createElement(MenuBar__default["default"].SubTitle, null, /*#__PURE__*/React__default["default"].createElement(neetoui.Typography, {
|
|
7142
|
+
"data-cy": "menubar-subtitle",
|
|
7064
7143
|
style: "h5",
|
|
7065
7144
|
textTransform: "uppercase",
|
|
7066
7145
|
weight: "bold"
|
|
7067
7146
|
}, t$1("titles.filters"))), /*#__PURE__*/React__default["default"].createElement(MenuBar__default["default"].Block, {
|
|
7068
7147
|
active: selectedState === FIELD_STATES.active,
|
|
7069
7148
|
count: activeFieldsCount,
|
|
7149
|
+
"data-cy": "menubar-active-block",
|
|
7070
7150
|
label: fieldStatesTaxonomy.active,
|
|
7071
7151
|
onClick: handleBlockClick({
|
|
7072
7152
|
state: FIELD_STATES.active
|
|
@@ -7074,6 +7154,7 @@ var renderMenuBarFilters = function renderMenuBarFilters(_ref3) {
|
|
|
7074
7154
|
}), /*#__PURE__*/React__default["default"].createElement(MenuBar__default["default"].Block, {
|
|
7075
7155
|
active: selectedState === FIELD_STATES.inactive,
|
|
7076
7156
|
count: inactiveFieldsCount,
|
|
7157
|
+
"data-cy": "menubar-inactive-block",
|
|
7077
7158
|
label: fieldStatesTaxonomy.inactive,
|
|
7078
7159
|
onClick: handleBlockClick({
|
|
7079
7160
|
state: FIELD_STATES.inactive
|
|
@@ -7085,19 +7166,41 @@ var getDashBoardTitle = function getDashBoardTitle(_ref4) {
|
|
|
7085
7166
|
var isOwnerBased = _ref4.isOwnerBased,
|
|
7086
7167
|
owners = _ref4.owners,
|
|
7087
7168
|
selectedVal = _ref4.selectedVal,
|
|
7088
|
-
nameAliases = _ref4.nameAliases
|
|
7089
|
-
|
|
7090
|
-
|
|
7091
|
-
|
|
7092
|
-
|
|
7093
|
-
|
|
7169
|
+
nameAliases = _ref4.nameAliases,
|
|
7170
|
+
isSingleResource = _ref4.isSingleResource,
|
|
7171
|
+
showStateFilter = _ref4.showStateFilter,
|
|
7172
|
+
selectedState = _ref4.selectedState,
|
|
7173
|
+
title = _ref4.title;
|
|
7174
|
+
var resource = isOwnerBased ? (_findBy = pure.findBy({
|
|
7175
|
+
id: selectedVal
|
|
7176
|
+
}, owners)) === null || _findBy === void 0 ? void 0 : _findBy.name : nameAliases[selectedVal] || selectedVal;
|
|
7177
|
+
var displayTitle = title;
|
|
7178
|
+
if (showStateFilter && !isSingleResource) {
|
|
7179
|
+
displayTitle = t$1("messages.stateTitleForResource", {
|
|
7180
|
+
state: selectedState,
|
|
7181
|
+
title: title,
|
|
7182
|
+
resource: resource
|
|
7183
|
+
});
|
|
7184
|
+
} else if (showStateFilter && isSingleResource) {
|
|
7185
|
+
displayTitle = "".concat(selectedState, " ").concat(title);
|
|
7186
|
+
} else if (!showStateFilter && !isSingleResource) {
|
|
7187
|
+
displayTitle = t$1("messages.titleForResource", {
|
|
7188
|
+
title: title,
|
|
7189
|
+
resource: resource
|
|
7190
|
+
});
|
|
7191
|
+
}
|
|
7192
|
+
return pure.humanize(displayTitle);
|
|
7094
7193
|
};
|
|
7095
|
-
var renderNoDataHelpText = function renderNoDataHelpText(url) {
|
|
7194
|
+
var renderNoDataHelpText = function renderNoDataHelpText(title, url) {
|
|
7096
7195
|
return /*#__PURE__*/React__default["default"].createElement(Trans, {
|
|
7097
7196
|
i18nKey: "helpTexts.noData",
|
|
7197
|
+
values: {
|
|
7198
|
+
title: title
|
|
7199
|
+
},
|
|
7098
7200
|
components: {
|
|
7099
7201
|
a: /*#__PURE__*/React__default["default"].createElement(reactRouterDom.Link, {
|
|
7100
7202
|
className: "neeto-ui-text-primary-600 underline",
|
|
7203
|
+
"data-cy": "no-data-help-text-link",
|
|
7101
7204
|
target: "_blank",
|
|
7102
7205
|
to: {
|
|
7103
7206
|
pathname: url
|
|
@@ -7126,9 +7229,12 @@ function ownKeys$2(object, enumerableOnly) { var keys = Object.keys(object); if
|
|
|
7126
7229
|
function _objectSpread$2(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys$2(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys$2(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
|
|
7127
7230
|
var useFieldsDashboard = function useFieldsDashboard(_ref) {
|
|
7128
7231
|
var buildColumnData = _ref.buildColumnData,
|
|
7129
|
-
|
|
7232
|
+
isOwnerBased = _ref.isOwnerBased,
|
|
7130
7233
|
fieldStatesTaxonomy = _ref.fieldStatesTaxonomy,
|
|
7131
|
-
nameAliases = _ref.nameAliases
|
|
7234
|
+
nameAliases = _ref.nameAliases,
|
|
7235
|
+
title = _ref.title,
|
|
7236
|
+
resources = _ref.resources,
|
|
7237
|
+
showStateFilter = _ref.showStateFilter;
|
|
7132
7238
|
var _useState = React.useState(false),
|
|
7133
7239
|
_useState2 = _slicedToArray(_useState, 2),
|
|
7134
7240
|
isPaneOpen = _useState2[0],
|
|
@@ -7153,15 +7259,17 @@ var useFieldsDashboard = function useFieldsDashboard(_ref) {
|
|
|
7153
7259
|
_useState12 = _slicedToArray(_useState11, 2),
|
|
7154
7260
|
searchTerm = _useState12[0],
|
|
7155
7261
|
setSearchTerm = _useState12[1];
|
|
7156
|
-
var _getQueryParams = utils.getQueryParams(),
|
|
7157
|
-
resource = _getQueryParams.resource,
|
|
7158
|
-
state = _getQueryParams.state;
|
|
7159
|
-
var ownerId = showOwnersInMenu ? resource : undefined;
|
|
7160
7262
|
var debouncedSearchTerm = reactUtils.useDebounce(searchTerm.trim());
|
|
7161
7263
|
var history = reactRouterDom.useHistory();
|
|
7162
7264
|
var _useTranslation = useTranslation(),
|
|
7163
7265
|
t = _useTranslation.t;
|
|
7164
|
-
var
|
|
7266
|
+
var _getQueryParams = utils.getQueryParams(),
|
|
7267
|
+
resource = _getQueryParams.resource,
|
|
7268
|
+
state = _getQueryParams.state;
|
|
7269
|
+
var ownerId = isOwnerBased ? resource : undefined;
|
|
7270
|
+
var _useFetchConfigs = useFetchConfigs({
|
|
7271
|
+
enabled: !resources
|
|
7272
|
+
}),
|
|
7165
7273
|
_useFetchConfigs$data = _useFetchConfigs.data,
|
|
7166
7274
|
_useFetchConfigs$data2 = _useFetchConfigs$data === void 0 ? {} : _useFetchConfigs$data,
|
|
7167
7275
|
_useFetchConfigs$data3 = _useFetchConfigs$data2.owners,
|
|
@@ -7170,7 +7278,7 @@ var useFieldsDashboard = function useFieldsDashboard(_ref) {
|
|
|
7170
7278
|
resourceTypes = _useFetchConfigs$data4 === void 0 ? [] : _useFetchConfigs$data4,
|
|
7171
7279
|
isConfigsLoading = _useFetchConfigs.isLoading;
|
|
7172
7280
|
var fieldParams = {
|
|
7173
|
-
resourceType: !
|
|
7281
|
+
resourceType: !isOwnerBased ? resource : undefined,
|
|
7174
7282
|
ownerId: ownerId,
|
|
7175
7283
|
state: state || FIELD_STATES.active,
|
|
7176
7284
|
searchTerm: debouncedSearchTerm
|
|
@@ -7246,14 +7354,15 @@ var useFieldsDashboard = function useFieldsDashboard(_ref) {
|
|
|
7246
7354
|
state: state
|
|
7247
7355
|
}, params)));
|
|
7248
7356
|
};
|
|
7357
|
+
var menuItems = resources || (isOwnerBased ? owners : resourceTypes);
|
|
7249
7358
|
var handleURLWithDefaultValues = function handleURLWithDefaultValues() {
|
|
7250
7359
|
var queryParams = {
|
|
7251
7360
|
resource: resource,
|
|
7252
7361
|
state: state
|
|
7253
7362
|
};
|
|
7254
7363
|
if (!isConfigsLoading && ramda.isNil(resource)) {
|
|
7255
|
-
var
|
|
7256
|
-
queryParams.resource =
|
|
7364
|
+
var _menuItems$;
|
|
7365
|
+
queryParams.resource = isOwnerBased ? menuItems === null || menuItems === void 0 ? void 0 : (_menuItems$ = menuItems[0]) === null || _menuItems$ === void 0 ? void 0 : _menuItems$.id : menuItems === null || menuItems === void 0 ? void 0 : menuItems[0];
|
|
7257
7366
|
}
|
|
7258
7367
|
if (!isConfigsLoading && ramda.isNil(state)) {
|
|
7259
7368
|
queryParams.state = FIELD_STATES.active;
|
|
@@ -7262,7 +7371,6 @@ var useFieldsDashboard = function useFieldsDashboard(_ref) {
|
|
|
7262
7371
|
history.replace(utils.buildUrl("", queryParams));
|
|
7263
7372
|
}
|
|
7264
7373
|
};
|
|
7265
|
-
var menuItems = showOwnersInMenu ? owners : resourceTypes;
|
|
7266
7374
|
var isScreenLoading = isFieldsLoading || isConfigsLoading;
|
|
7267
7375
|
var showCountSubheader = count > 0;
|
|
7268
7376
|
var searchProps = {
|
|
@@ -7272,6 +7380,20 @@ var useFieldsDashboard = function useFieldsDashboard(_ref) {
|
|
|
7272
7380
|
value: searchTerm,
|
|
7273
7381
|
placeholder: t("placeholders.searchFields")
|
|
7274
7382
|
};
|
|
7383
|
+
var isSingleResource = menuItems.length === 1;
|
|
7384
|
+
var isMenuBarNeeded = showStateFilter || !isSingleResource;
|
|
7385
|
+
var headerDisplayTitle = React.useMemo(function () {
|
|
7386
|
+
return getDashBoardTitle({
|
|
7387
|
+
isOwnerBased: isOwnerBased,
|
|
7388
|
+
owners: menuItems,
|
|
7389
|
+
selectedVal: resource,
|
|
7390
|
+
nameAliases: nameAliases,
|
|
7391
|
+
showStateFilter: showStateFilter,
|
|
7392
|
+
selectedState: state,
|
|
7393
|
+
isSingleResource: isSingleResource,
|
|
7394
|
+
title: title
|
|
7395
|
+
});
|
|
7396
|
+
}, [resource, state, isSingleResource, menuItems]);
|
|
7275
7397
|
var menuBarFilters = React.useMemo(function () {
|
|
7276
7398
|
return renderMenuBarFilters({
|
|
7277
7399
|
selectedState: state,
|
|
@@ -7280,19 +7402,20 @@ var useFieldsDashboard = function useFieldsDashboard(_ref) {
|
|
|
7280
7402
|
inactiveFieldsCount: inactiveFieldsCount,
|
|
7281
7403
|
handleBlockClick: handleBlockClick
|
|
7282
7404
|
});
|
|
7283
|
-
}, [activeFieldsCount, inactiveFieldsCount
|
|
7405
|
+
}, [activeFieldsCount, inactiveFieldsCount]);
|
|
7284
7406
|
var menuBarItems = React.useMemo(function () {
|
|
7285
7407
|
return renderMenuBarItems({
|
|
7286
|
-
isOwnerBased:
|
|
7408
|
+
isOwnerBased: isOwnerBased,
|
|
7287
7409
|
items: menuItems,
|
|
7288
7410
|
selectedMenu: resource,
|
|
7289
7411
|
handleBlockClick: handleBlockClick,
|
|
7290
|
-
nameAliases: nameAliases
|
|
7412
|
+
nameAliases: nameAliases,
|
|
7413
|
+
title: title
|
|
7291
7414
|
});
|
|
7292
7415
|
}, [menuItems, resource]);
|
|
7293
7416
|
React.useEffect(function () {
|
|
7294
7417
|
handleURLWithDefaultValues();
|
|
7295
|
-
}, [isConfigsLoading]);
|
|
7418
|
+
}, [isConfigsLoading, resources]);
|
|
7296
7419
|
return {
|
|
7297
7420
|
isPaneOpen: isPaneOpen,
|
|
7298
7421
|
setIsPaneOpen: setIsPaneOpen,
|
|
@@ -7302,9 +7425,7 @@ var useFieldsDashboard = function useFieldsDashboard(_ref) {
|
|
|
7302
7425
|
isReorderPaneOpen: isReorderPaneOpen,
|
|
7303
7426
|
setIsReorderPaneOpen: setIsReorderPaneOpen,
|
|
7304
7427
|
fields: fields,
|
|
7305
|
-
owners: owners,
|
|
7306
7428
|
count: count,
|
|
7307
|
-
menuItems: menuItems,
|
|
7308
7429
|
columnData: columnData,
|
|
7309
7430
|
selectedField: selectedField,
|
|
7310
7431
|
selectedState: state,
|
|
@@ -7315,6 +7436,7 @@ var useFieldsDashboard = function useFieldsDashboard(_ref) {
|
|
|
7315
7436
|
isDeleting: isDeleting,
|
|
7316
7437
|
isScreenLoading: isScreenLoading,
|
|
7317
7438
|
isConfigsLoading: isConfigsLoading,
|
|
7439
|
+
isMenuBarNeeded: isMenuBarNeeded,
|
|
7318
7440
|
showCountSubheader: showCountSubheader,
|
|
7319
7441
|
handleDelete: handleDelete,
|
|
7320
7442
|
handleAlertClose: handleAlertClose,
|
|
@@ -7323,7 +7445,8 @@ var useFieldsDashboard = function useFieldsDashboard(_ref) {
|
|
|
7323
7445
|
searchProps: searchProps,
|
|
7324
7446
|
menuBarFilters: menuBarFilters,
|
|
7325
7447
|
menuBarItems: menuBarItems,
|
|
7326
|
-
allFields: allFields
|
|
7448
|
+
allFields: allFields,
|
|
7449
|
+
headerDisplayTitle: headerDisplayTitle
|
|
7327
7450
|
};
|
|
7328
7451
|
};
|
|
7329
7452
|
|
|
@@ -7333,16 +7456,20 @@ var FieldsTable = function FieldsTable(_ref) {
|
|
|
7333
7456
|
rowData = _ref.rowData,
|
|
7334
7457
|
columnData = _ref.columnData,
|
|
7335
7458
|
setIsPaneOpen = _ref.setIsPaneOpen,
|
|
7336
|
-
helpDocUrl = _ref.helpDocUrl
|
|
7459
|
+
helpDocUrl = _ref.helpDocUrl,
|
|
7460
|
+
title = _ref.title;
|
|
7337
7461
|
var _useTranslation = useTranslation(),
|
|
7338
7462
|
t = _useTranslation.t;
|
|
7339
7463
|
var showNoDataScreen = !isLoading && ramda.isEmpty(rowData);
|
|
7464
|
+
title = title.toLocaleLowerCase();
|
|
7340
7465
|
return /*#__PURE__*/React__default["default"].createElement(TableWrapper__default["default"], null, showNoDataScreen ? /*#__PURE__*/React__default["default"].createElement("div", {
|
|
7341
7466
|
className: "flex h-full w-full items-center justify-center"
|
|
7342
7467
|
}, /*#__PURE__*/React__default["default"].createElement(neetoui.NoData, _extends({}, helpDocUrl && {
|
|
7343
|
-
helpText: renderNoDataHelpText(helpDocUrl)
|
|
7468
|
+
helpText: renderNoDataHelpText(title, helpDocUrl)
|
|
7344
7469
|
}, {
|
|
7345
|
-
title: t("messages.noFields"
|
|
7470
|
+
title: t("messages.noFields", {
|
|
7471
|
+
title: title
|
|
7472
|
+
}),
|
|
7346
7473
|
primaryButtonProps: {
|
|
7347
7474
|
label: t("labels.addField"),
|
|
7348
7475
|
onClick: function onClick() {
|
|
@@ -11617,12 +11744,15 @@ var FieldBlock = function FieldBlock(_ref) {
|
|
|
11617
11744
|
ref: setNodeRef,
|
|
11618
11745
|
style: style
|
|
11619
11746
|
}, attributes, listeners, {
|
|
11620
|
-
className: "neeto-ui-text-gray-800 mb-3 flex items-center space-x-4 font-medium"
|
|
11747
|
+
className: "neeto-ui-text-gray-800 mb-3 flex items-center space-x-4 font-medium",
|
|
11748
|
+
"data-cy": "reorder-field-block"
|
|
11621
11749
|
}), /*#__PURE__*/React__default["default"].createElement("div", {
|
|
11622
11750
|
className: "neeto-ui-bg-gray-100 neeto-ui-text-gray-700 neeto-ui-rounded-sm flex h-6 w-6 flex-shrink-0 items-center justify-center p-1"
|
|
11623
11751
|
}, index - systemFieldsCount + 1), /*#__PURE__*/React__default["default"].createElement("div", {
|
|
11624
11752
|
className: "neeto-ui-border-gray-400 neeto-ui-bg-white neeto-ui-rounded neeto-ui-shadow-xs flex w-96 items-center space-x-4 border border-solid p-3"
|
|
11625
|
-
}, /*#__PURE__*/React__default["default"].createElement(neetoIcons.Reorder, null), /*#__PURE__*/React__default["default"].createElement("div",
|
|
11753
|
+
}, /*#__PURE__*/React__default["default"].createElement(neetoIcons.Reorder, null), /*#__PURE__*/React__default["default"].createElement("div", {
|
|
11754
|
+
"data-cy": "reorder-field-block-name"
|
|
11755
|
+
}, field.name)));
|
|
11626
11756
|
};
|
|
11627
11757
|
var FieldBlock$1 = /*#__PURE__*/React__default["default"].memo(FieldBlock);
|
|
11628
11758
|
|
|
@@ -11673,10 +11803,12 @@ var ReorderPane = function ReorderPane(_ref) {
|
|
|
11673
11803
|
isOpen: isOpen,
|
|
11674
11804
|
onClose: onClose
|
|
11675
11805
|
}, /*#__PURE__*/React__default["default"].createElement(neetoui.Pane.Header, null, /*#__PURE__*/React__default["default"].createElement(neetoui.Typography, {
|
|
11806
|
+
"data-cy": "reorder-pane-header",
|
|
11676
11807
|
style: "h2",
|
|
11677
11808
|
weight: "semibold"
|
|
11678
11809
|
}, t("titles.reorderFields"))), /*#__PURE__*/React__default["default"].createElement(neetoui.Pane.Body, null, /*#__PURE__*/React__default["default"].createElement(neetoui.Typography, {
|
|
11679
11810
|
className: "mb-3",
|
|
11811
|
+
"data-cy": "reorder-pane-message",
|
|
11680
11812
|
style: "body2"
|
|
11681
11813
|
}, t("messages.reorderFields")), /*#__PURE__*/React__default["default"].createElement("div", {
|
|
11682
11814
|
className: "flex flex-col items-center"
|
|
@@ -11697,11 +11829,13 @@ var ReorderPane = function ReorderPane(_ref) {
|
|
|
11697
11829
|
}))))), /*#__PURE__*/React__default["default"].createElement(neetoui.Pane.Footer, {
|
|
11698
11830
|
className: "flex items-center space-x-2"
|
|
11699
11831
|
}, /*#__PURE__*/React__default["default"].createElement(neetoui.Button, {
|
|
11832
|
+
"data-cy": "save-changes-button",
|
|
11700
11833
|
disabled: initialStateRef.current === fields,
|
|
11701
11834
|
label: t("labels.saveChanges"),
|
|
11702
11835
|
loading: isSubmitting,
|
|
11703
11836
|
onClick: handleReorderSave
|
|
11704
11837
|
}), /*#__PURE__*/React__default["default"].createElement(neetoui.Button, {
|
|
11838
|
+
"data-cy": "cancel-button",
|
|
11705
11839
|
label: t("labels.cancel"),
|
|
11706
11840
|
style: "text",
|
|
11707
11841
|
onClick: onClose
|
|
@@ -11714,7 +11848,7 @@ var FieldsDashboard = function FieldsDashboard(_ref) {
|
|
|
11714
11848
|
var _ref$rowData = _ref.rowData,
|
|
11715
11849
|
rowData = _ref$rowData === void 0 ? [] : _ref$rowData,
|
|
11716
11850
|
_ref$showOwnersInMenu = _ref.showOwnersInMenu,
|
|
11717
|
-
|
|
11851
|
+
isOwnerBased = _ref$showOwnersInMenu === void 0 ? false : _ref$showOwnersInMenu,
|
|
11718
11852
|
_ref$resourceType = _ref.resourceType,
|
|
11719
11853
|
resourceType = _ref$resourceType === void 0 ? "" : _ref$resourceType,
|
|
11720
11854
|
_ref$allowedKinds = _ref.allowedKinds,
|
|
@@ -11734,14 +11868,20 @@ var FieldsDashboard = function FieldsDashboard(_ref) {
|
|
|
11734
11868
|
fieldStatesTaxonomy = _ref$fieldStatesTaxon === void 0 ? DEFAULT_FIELD_STATE_TAXONOMY : _ref$fieldStatesTaxon,
|
|
11735
11869
|
helpDocUrl = _ref.helpDocUrl,
|
|
11736
11870
|
_ref$nameAliases = _ref.nameAliases,
|
|
11737
|
-
nameAliases = _ref$nameAliases === void 0 ? {} : _ref$nameAliases
|
|
11871
|
+
nameAliases = _ref$nameAliases === void 0 ? {} : _ref$nameAliases,
|
|
11872
|
+
headerTitle = _ref.headerTitle,
|
|
11873
|
+
resources = _ref.resources;
|
|
11738
11874
|
var _useTranslation = useTranslation(),
|
|
11739
11875
|
t = _useTranslation.t;
|
|
11876
|
+
var title = pure.capitalize(headerTitle || t("titles.field", PLURAL));
|
|
11740
11877
|
var _useFieldsDashboard = useFieldsDashboard({
|
|
11741
11878
|
buildColumnData: buildColumnData,
|
|
11742
|
-
|
|
11879
|
+
isOwnerBased: isOwnerBased,
|
|
11743
11880
|
fieldStatesTaxonomy: fieldStatesTaxonomy,
|
|
11744
|
-
nameAliases: nameAliases
|
|
11881
|
+
nameAliases: nameAliases,
|
|
11882
|
+
title: title,
|
|
11883
|
+
resources: resources,
|
|
11884
|
+
showStateFilter: showStateFilter
|
|
11745
11885
|
}),
|
|
11746
11886
|
isPaneOpen = _useFieldsDashboard.isPaneOpen,
|
|
11747
11887
|
setIsPaneOpen = _useFieldsDashboard.setIsPaneOpen,
|
|
@@ -11751,9 +11891,7 @@ var FieldsDashboard = function FieldsDashboard(_ref) {
|
|
|
11751
11891
|
isReorderPaneOpen = _useFieldsDashboard.isReorderPaneOpen,
|
|
11752
11892
|
setIsReorderPaneOpen = _useFieldsDashboard.setIsReorderPaneOpen,
|
|
11753
11893
|
fields = _useFieldsDashboard.fields,
|
|
11754
|
-
owners = _useFieldsDashboard.owners,
|
|
11755
11894
|
count = _useFieldsDashboard.count,
|
|
11756
|
-
menuItems = _useFieldsDashboard.menuItems,
|
|
11757
11895
|
columnData = _useFieldsDashboard.columnData,
|
|
11758
11896
|
selectedField = _useFieldsDashboard.selectedField,
|
|
11759
11897
|
selectedState = _useFieldsDashboard.selectedState,
|
|
@@ -11763,6 +11901,7 @@ var FieldsDashboard = function FieldsDashboard(_ref) {
|
|
|
11763
11901
|
isDeleting = _useFieldsDashboard.isDeleting,
|
|
11764
11902
|
isScreenLoading = _useFieldsDashboard.isScreenLoading,
|
|
11765
11903
|
isConfigsLoading = _useFieldsDashboard.isConfigsLoading,
|
|
11904
|
+
isMenuBarNeeded = _useFieldsDashboard.isMenuBarNeeded,
|
|
11766
11905
|
showCountSubheader = _useFieldsDashboard.showCountSubheader,
|
|
11767
11906
|
handleDelete = _useFieldsDashboard.handleDelete,
|
|
11768
11907
|
handleAlertClose = _useFieldsDashboard.handleAlertClose,
|
|
@@ -11771,11 +11910,11 @@ var FieldsDashboard = function FieldsDashboard(_ref) {
|
|
|
11771
11910
|
searchProps = _useFieldsDashboard.searchProps,
|
|
11772
11911
|
menuBarFilters = _useFieldsDashboard.menuBarFilters,
|
|
11773
11912
|
menuBarItems = _useFieldsDashboard.menuBarItems,
|
|
11774
|
-
allFields = _useFieldsDashboard.allFields
|
|
11775
|
-
|
|
11913
|
+
allFields = _useFieldsDashboard.allFields,
|
|
11914
|
+
headerDisplayTitle = _useFieldsDashboard.headerDisplayTitle;
|
|
11776
11915
|
return /*#__PURE__*/React__default["default"].createElement(React__default["default"].Fragment, null, isMenuBarNeeded && /*#__PURE__*/React__default["default"].createElement(MenuBar__default["default"], {
|
|
11777
11916
|
showMenu: isMenuBarOpen,
|
|
11778
|
-
title:
|
|
11917
|
+
title: title
|
|
11779
11918
|
}, isConfigsLoading ? /*#__PURE__*/React__default["default"].createElement("div", {
|
|
11780
11919
|
className: "flex items-center justify-center"
|
|
11781
11920
|
}, /*#__PURE__*/React__default["default"].createElement(neetoui.Spinner, null)) : menuBarItems, showStateFilter && menuBarFilters), isScreenLoading && ramda.isEmpty(fields) ? /*#__PURE__*/React__default["default"].createElement("div", {
|
|
@@ -11788,6 +11927,7 @@ var FieldsDashboard = function FieldsDashboard(_ref) {
|
|
|
11788
11927
|
}
|
|
11789
11928
|
}, {
|
|
11790
11929
|
actionBlock: /*#__PURE__*/React__default["default"].createElement(React__default["default"].Fragment, null, /*#__PURE__*/React__default["default"].createElement(neetoui.Button, {
|
|
11930
|
+
"data-cy": "neeto-fields-reorder-button",
|
|
11791
11931
|
label: t("labels.reorder"),
|
|
11792
11932
|
style: "secondary",
|
|
11793
11933
|
disabled: selectedState === FIELD_STATES.inactive || !pure.existsBy({
|
|
@@ -11798,45 +11938,46 @@ var FieldsDashboard = function FieldsDashboard(_ref) {
|
|
|
11798
11938
|
return setIsReorderPaneOpen(true);
|
|
11799
11939
|
}
|
|
11800
11940
|
}), /*#__PURE__*/React__default["default"].createElement(neetoui.Button, {
|
|
11941
|
+
"data-cy": "neeto-fields-add-button",
|
|
11801
11942
|
label: t("labels.addField"),
|
|
11802
11943
|
onClick: function onClick() {
|
|
11803
11944
|
return setIsPaneOpen(true);
|
|
11804
11945
|
}
|
|
11805
11946
|
})),
|
|
11806
11947
|
searchProps: searchProps,
|
|
11807
|
-
title:
|
|
11808
|
-
|
|
11809
|
-
|
|
11810
|
-
|
|
11811
|
-
nameAliases: nameAliases
|
|
11812
|
-
}))
|
|
11948
|
+
title: /*#__PURE__*/React__default["default"].createElement(TitleWithHelpLink, {
|
|
11949
|
+
helpUrl: helpDocUrl,
|
|
11950
|
+
title: headerDisplayTitle
|
|
11951
|
+
})
|
|
11813
11952
|
})), showCountSubheader && /*#__PURE__*/React__default["default"].createElement(SubHeader__default["default"], {
|
|
11814
11953
|
leftActionBlock: /*#__PURE__*/React__default["default"].createElement(neetoui.Typography, {
|
|
11815
11954
|
className: "mr-4 font-semibold",
|
|
11955
|
+
"data-cy": "neeto-fields-subheader-text",
|
|
11816
11956
|
style: "h4"
|
|
11817
|
-
},
|
|
11957
|
+
}, "".concat(count, " "), t("titles.field", count > 1 ? PLURAL : SINGULAR).toLocaleLowerCase())
|
|
11818
11958
|
}), /*#__PURE__*/React__default["default"].createElement(FieldsTable, {
|
|
11819
11959
|
columnData: columnData,
|
|
11820
11960
|
helpDocUrl: helpDocUrl,
|
|
11821
11961
|
isLoading: isFieldsFetching || isFieldsLoading,
|
|
11822
11962
|
rowData: ramda.isEmpty(rowData) ? fields : rowData,
|
|
11823
11963
|
setIsPaneOpen: setIsPaneOpen,
|
|
11824
|
-
totalCount: count
|
|
11964
|
+
totalCount: count,
|
|
11965
|
+
title: title
|
|
11825
11966
|
}), /*#__PURE__*/React__default["default"].createElement(FieldsPane, {
|
|
11826
11967
|
additionalValidations: paneProps === null || paneProps === void 0 ? void 0 : paneProps.validations,
|
|
11827
11968
|
allowedKinds: allowedKinds,
|
|
11828
11969
|
hideRequiredSwitch: paneProps === null || paneProps === void 0 ? void 0 : paneProps.hideRequiredSwitch,
|
|
11829
11970
|
initialValues: paneProps === null || paneProps === void 0 ? void 0 : paneProps.initialValues,
|
|
11830
11971
|
isOpen: isPaneOpen,
|
|
11831
|
-
ownerId:
|
|
11832
|
-
resourceType:
|
|
11972
|
+
ownerId: isOwnerBased ? selectedMenu : "",
|
|
11973
|
+
resourceType: isOwnerBased ? resourceType : selectedMenu //Currently we support only one resource type when fields are classified based on owners
|
|
11833
11974
|
,
|
|
11834
11975
|
selectedField: selectedField,
|
|
11835
11976
|
onClose: handleClosePane,
|
|
11836
11977
|
onMutationSuccess: paneProps === null || paneProps === void 0 ? void 0 : paneProps.onMutationSuccess
|
|
11837
11978
|
}, paneProps === null || paneProps === void 0 ? void 0 : paneProps.children)), /*#__PURE__*/React__default["default"].createElement(ReorderPane, {
|
|
11838
11979
|
isOpen: isReorderPaneOpen,
|
|
11839
|
-
ownerId:
|
|
11980
|
+
ownerId: isOwnerBased ? selectedMenu : "",
|
|
11840
11981
|
onClose: handleReorderPaneClose,
|
|
11841
11982
|
allFields: allFields
|
|
11842
11983
|
}), /*#__PURE__*/React__default["default"].createElement(neetoui.Alert, {
|
|
@@ -11929,7 +12070,11 @@ var FieldValueInputWrapper = function FieldValueInputWrapper(_ref) {
|
|
|
11929
12070
|
scrollToErrorField: true,
|
|
11930
12071
|
className: classnames__default["default"]("flex w-full", className),
|
|
11931
12072
|
formikProps: {
|
|
11932
|
-
initialValues: getInitialFieldValue(
|
|
12073
|
+
initialValues: getInitialFieldValue({
|
|
12074
|
+
field: field,
|
|
12075
|
+
fieldValues: fieldValues,
|
|
12076
|
+
isIndividualFieldForm: true
|
|
12077
|
+
}),
|
|
11933
12078
|
onSubmit: onSubmit,
|
|
11934
12079
|
enableReinitialize: true
|
|
11935
12080
|
}
|