@bigbinary/neeto-fields-frontend 1.0.8 → 1.1.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 +41 -26
- package/dist/index.cjs.js +1168 -1147
- package/dist/index.cjs.js.map +1 -1
- package/dist/index.js +1172 -1151
- package/dist/index.js.map +1 -1
- package/package.json +1 -1
- package/types.d.ts +26 -20
package/dist/index.js
CHANGED
|
@@ -1,19 +1,19 @@
|
|
|
1
1
|
import React, { useContext, useState, useRef, useEffect, useLayoutEffect, useMemo, useCallback, createContext, memo, useReducer } from 'react';
|
|
2
|
-
import {
|
|
3
|
-
import {
|
|
4
|
-
import {
|
|
5
|
-
import {
|
|
6
|
-
import axios from 'axios';
|
|
7
|
-
import { buildUrl, getQueryParams } from '@bigbinary/neeto-commons-frontend/utils';
|
|
8
|
-
import { filterBy, toLabelAndValue, isNotEmpty, capitalize as capitalize$1, findBy, humanize, countBy, existsBy } from '@bigbinary/neeto-commons-frontend/pure';
|
|
2
|
+
import { Switch, TimePicker, DatePicker, Select, Input, Textarea, Typography, Pane, Label, Button as Button$1, Dropdown, NoData, Table, Spinner, Alert } from '@bigbinary/neetoui';
|
|
3
|
+
import { toLabelAndValue, capitalize as capitalize$1, filterBy, findBy, isNotEmpty, humanize, countBy, existsBy, noop as noop$2 } from '@bigbinary/neeto-commons-frontend/pure';
|
|
4
|
+
import { values, map, isNil, isNotNil, pluck, clone as clone$1, pipe, mergeAll, omit, prop, pick, isEmpty, assoc, any, not, head } from 'ramda';
|
|
5
|
+
import { useFormikContext, useField, FieldArray } from 'formik';
|
|
9
6
|
import * as yup from 'yup';
|
|
10
|
-
import {
|
|
11
|
-
import {
|
|
7
|
+
import { Check, Delete, MenuHorizontal, Reorder } from '@bigbinary/neeto-icons';
|
|
8
|
+
import { Button, ActionBlock, Input as Input$1, Select as Select$1, Switch as Switch$1, Form } from '@bigbinary/neetoui/formik';
|
|
12
9
|
import Container from '@bigbinary/neeto-molecules/Container';
|
|
13
10
|
import Header from '@bigbinary/neeto-molecules/Header';
|
|
14
11
|
import MenuBar from '@bigbinary/neeto-molecules/MenuBar';
|
|
15
12
|
import PageLoader from '@bigbinary/neeto-molecules/PageLoader';
|
|
16
13
|
import SubHeader from '@bigbinary/neeto-molecules/SubHeader';
|
|
14
|
+
import { useQuery, useQueryClient, useMutation } from 'react-query';
|
|
15
|
+
import axios from 'axios';
|
|
16
|
+
import { buildUrl, getQueryParams } from '@bigbinary/neeto-commons-frontend/utils';
|
|
17
17
|
import { handleMetaClick } from '@bigbinary/neeto-commons-frontend/react-utils';
|
|
18
18
|
import { useHistory } from 'react-router-dom';
|
|
19
19
|
import TableWrapper from '@bigbinary/neeto-molecules/TableWrapper';
|
|
@@ -5029,6 +5029,33 @@ instance.services.formatter.addCached("boldList", function (lng, options) {
|
|
|
5029
5029
|
};
|
|
5030
5030
|
});
|
|
5031
5031
|
|
|
5032
|
+
function _extends() {
|
|
5033
|
+
_extends = Object.assign ? Object.assign.bind() : function (target) {
|
|
5034
|
+
for (var i = 1; i < arguments.length; i++) {
|
|
5035
|
+
var source = arguments[i];
|
|
5036
|
+
for (var key in source) {
|
|
5037
|
+
if (Object.prototype.hasOwnProperty.call(source, key)) {
|
|
5038
|
+
target[key] = source[key];
|
|
5039
|
+
}
|
|
5040
|
+
}
|
|
5041
|
+
}
|
|
5042
|
+
return target;
|
|
5043
|
+
};
|
|
5044
|
+
return _extends.apply(this, arguments);
|
|
5045
|
+
}
|
|
5046
|
+
|
|
5047
|
+
function _arrayWithoutHoles(arr) {
|
|
5048
|
+
if (Array.isArray(arr)) return _arrayLikeToArray(arr);
|
|
5049
|
+
}
|
|
5050
|
+
|
|
5051
|
+
function _nonIterableSpread() {
|
|
5052
|
+
throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
|
|
5053
|
+
}
|
|
5054
|
+
|
|
5055
|
+
function _toConsumableArray(arr) {
|
|
5056
|
+
return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread();
|
|
5057
|
+
}
|
|
5058
|
+
|
|
5032
5059
|
var KINDS = {
|
|
5033
5060
|
text: "text",
|
|
5034
5061
|
number: "number",
|
|
@@ -5077,708 +5104,59 @@ var DEFAULT_FIELD_STATE_TAXONOMY = {
|
|
|
5077
5104
|
};
|
|
5078
5105
|
var ALL_KINDS = values(KINDS);
|
|
5079
5106
|
|
|
5080
|
-
function
|
|
5081
|
-
|
|
5082
|
-
|
|
5083
|
-
|
|
5084
|
-
|
|
5085
|
-
|
|
5086
|
-
|
|
5087
|
-
|
|
5107
|
+
function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) {
|
|
5108
|
+
try {
|
|
5109
|
+
var info = gen[key](arg);
|
|
5110
|
+
var value = info.value;
|
|
5111
|
+
} catch (error) {
|
|
5112
|
+
reject(error);
|
|
5113
|
+
return;
|
|
5114
|
+
}
|
|
5115
|
+
if (info.done) {
|
|
5116
|
+
resolve(value);
|
|
5117
|
+
} else {
|
|
5118
|
+
Promise.resolve(value).then(_next, _throw);
|
|
5119
|
+
}
|
|
5120
|
+
}
|
|
5121
|
+
function _asyncToGenerator(fn) {
|
|
5122
|
+
return function () {
|
|
5123
|
+
var self = this,
|
|
5124
|
+
args = arguments;
|
|
5125
|
+
return new Promise(function (resolve, reject) {
|
|
5126
|
+
var gen = fn.apply(self, args);
|
|
5127
|
+
function _next(value) {
|
|
5128
|
+
asyncGeneratorStep(gen, resolve, reject, _next, _throw, "next", value);
|
|
5088
5129
|
}
|
|
5089
|
-
|
|
5090
|
-
|
|
5130
|
+
function _throw(err) {
|
|
5131
|
+
asyncGeneratorStep(gen, resolve, reject, _next, _throw, "throw", err);
|
|
5132
|
+
}
|
|
5133
|
+
_next(undefined);
|
|
5134
|
+
});
|
|
5091
5135
|
};
|
|
5092
|
-
return _extends.apply(this, arguments);
|
|
5093
5136
|
}
|
|
5094
5137
|
|
|
5095
|
-
|
|
5096
|
-
if (Array.isArray(arr)) return _arrayLikeToArray(arr);
|
|
5097
|
-
}
|
|
5138
|
+
var regeneratorRuntime$1 = {exports: {}};
|
|
5098
5139
|
|
|
5099
|
-
|
|
5100
|
-
throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
|
|
5101
|
-
}
|
|
5140
|
+
var _typeof = {exports: {}};
|
|
5102
5141
|
|
|
5103
|
-
|
|
5104
|
-
return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread();
|
|
5105
|
-
}
|
|
5142
|
+
_typeof.exports;
|
|
5106
5143
|
|
|
5107
|
-
|
|
5108
|
-
|
|
5109
|
-
|
|
5110
|
-
var FIELD_VALUE_URL = "".concat(NEETO_FIELDS_URL, "/field_values/:fieldValueId");
|
|
5111
|
-
var FIELD_URL = "".concat(NEETO_FIELDS_URL, "/fields/:fieldId");
|
|
5112
|
-
var FIELDS_REORDER_URL = "".concat(FIELDS_URL, "/reorder");
|
|
5113
|
-
var CONFIGS_URL = "".concat(NEETO_FIELDS_URL, "/configs");
|
|
5114
|
-
var SINGULAR = {
|
|
5115
|
-
count: 1
|
|
5116
|
-
};
|
|
5117
|
-
var PLURAL = {
|
|
5118
|
-
count: 2
|
|
5119
|
-
};
|
|
5144
|
+
(function (module) {
|
|
5145
|
+
function _typeof(obj) {
|
|
5146
|
+
"@babel/helpers - typeof";
|
|
5120
5147
|
|
|
5121
|
-
|
|
5122
|
-
|
|
5123
|
-
|
|
5124
|
-
|
|
5125
|
-
};
|
|
5126
|
-
|
|
5127
|
-
|
|
5128
|
-
|
|
5129
|
-
state = _ref.state;
|
|
5130
|
-
return axios.get(FIELDS_URL, {
|
|
5131
|
-
params: {
|
|
5132
|
-
resourceType: resourceType,
|
|
5133
|
-
ownerId: ownerId,
|
|
5134
|
-
state: state
|
|
5135
|
-
}
|
|
5136
|
-
});
|
|
5137
|
-
};
|
|
5138
|
-
var create$1 = function create(field) {
|
|
5139
|
-
return axios.post(FIELDS_URL, {
|
|
5140
|
-
field: field
|
|
5141
|
-
});
|
|
5142
|
-
};
|
|
5143
|
-
var show = function show(fieldId) {
|
|
5144
|
-
return axios.get(fieldUrl(fieldId));
|
|
5145
|
-
};
|
|
5146
|
-
var destroy$1 = function destroy(fieldId) {
|
|
5147
|
-
return axios["delete"](fieldUrl(fieldId));
|
|
5148
|
-
};
|
|
5149
|
-
var update$1 = function update(_ref2) {
|
|
5150
|
-
var fieldId = _ref2.fieldId,
|
|
5151
|
-
payload = _ref2.payload;
|
|
5152
|
-
return axios.put(fieldUrl(fieldId), {
|
|
5153
|
-
field: payload
|
|
5154
|
-
});
|
|
5155
|
-
};
|
|
5156
|
-
var reorder = function reorder(payload) {
|
|
5157
|
-
return axios.patch(FIELDS_REORDER_URL, payload);
|
|
5158
|
-
};
|
|
5159
|
-
var fieldsApi = {
|
|
5160
|
-
fetch: fetch$1,
|
|
5161
|
-
create: create$1,
|
|
5162
|
-
show: show,
|
|
5163
|
-
destroy: destroy$1,
|
|
5164
|
-
update: update$1,
|
|
5165
|
-
reorder: reorder
|
|
5166
|
-
};
|
|
5148
|
+
return (module.exports = _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (obj) {
|
|
5149
|
+
return typeof obj;
|
|
5150
|
+
} : function (obj) {
|
|
5151
|
+
return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj;
|
|
5152
|
+
}, module.exports.__esModule = true, module.exports["default"] = module.exports), _typeof(obj);
|
|
5153
|
+
}
|
|
5154
|
+
module.exports = _typeof, module.exports.__esModule = true, module.exports["default"] = module.exports;
|
|
5155
|
+
} (_typeof));
|
|
5167
5156
|
|
|
5168
|
-
var
|
|
5169
|
-
FIELDS: "fields",
|
|
5170
|
-
FIELD_VALUES: "field_values",
|
|
5171
|
-
CONFIGS: "configurations"
|
|
5172
|
-
};
|
|
5173
|
-
var DEFAULT_STALE_TIME = 3600000; // 1 hour
|
|
5157
|
+
var _typeofExports = _typeof.exports;
|
|
5174
5158
|
|
|
5175
|
-
|
|
5176
|
-
function _objectSpread$a(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys$a(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys$a(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
|
|
5177
|
-
var FIELDS = QUERY_KEYS.FIELDS;
|
|
5178
|
-
var useFetchFields = function useFetchFields(_ref, options) {
|
|
5179
|
-
var resourceType = _ref.resourceType,
|
|
5180
|
-
ownerId = _ref.ownerId,
|
|
5181
|
-
state = _ref.state,
|
|
5182
|
-
_ref$prefixQueryKeys = _ref.prefixQueryKeys,
|
|
5183
|
-
prefixQueryKeys = _ref$prefixQueryKeys === void 0 ? [] : _ref$prefixQueryKeys;
|
|
5184
|
-
return useQuery([FIELDS].concat(_toConsumableArray(prefixQueryKeys), [resourceType, ownerId, state]), function () {
|
|
5185
|
-
return fieldsApi.fetch({
|
|
5186
|
-
resourceType: resourceType,
|
|
5187
|
-
ownerId: ownerId,
|
|
5188
|
-
state: state
|
|
5189
|
-
});
|
|
5190
|
-
}, _objectSpread$a({
|
|
5191
|
-
staleTime: DEFAULT_STALE_TIME
|
|
5192
|
-
}, options));
|
|
5193
|
-
};
|
|
5194
|
-
var useCreateField = function useCreateField(options) {
|
|
5195
|
-
var queryClient = useQueryClient();
|
|
5196
|
-
return useMutation(fieldsApi.create, _objectSpread$a(_objectSpread$a({}, options), {}, {
|
|
5197
|
-
onSuccess: function onSuccess() {
|
|
5198
|
-
var _options$onSuccess;
|
|
5199
|
-
for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
|
|
5200
|
-
args[_key] = arguments[_key];
|
|
5201
|
-
}
|
|
5202
|
-
options === null || options === void 0 ? void 0 : (_options$onSuccess = options.onSuccess) === null || _options$onSuccess === void 0 ? void 0 : _options$onSuccess.call.apply(_options$onSuccess, [options].concat(args));
|
|
5203
|
-
queryClient.invalidateQueries(FIELDS);
|
|
5204
|
-
}
|
|
5205
|
-
}));
|
|
5206
|
-
};
|
|
5207
|
-
var useShowField = function useShowField(fieldId, options) {
|
|
5208
|
-
var queryKey = [FIELDS, fieldId];
|
|
5209
|
-
return useQuery(queryKey, function () {
|
|
5210
|
-
return fieldsApi.show(fieldId);
|
|
5211
|
-
}, options);
|
|
5212
|
-
};
|
|
5213
|
-
var useUpdateField = function useUpdateField(options) {
|
|
5214
|
-
var queryClient = useQueryClient();
|
|
5215
|
-
return useMutation(fieldsApi.update, _objectSpread$a(_objectSpread$a({}, options), {}, {
|
|
5216
|
-
onSuccess: function onSuccess() {
|
|
5217
|
-
var _options$onSuccess2;
|
|
5218
|
-
for (var _len2 = arguments.length, args = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {
|
|
5219
|
-
args[_key2] = arguments[_key2];
|
|
5220
|
-
}
|
|
5221
|
-
options === null || options === void 0 ? void 0 : (_options$onSuccess2 = options.onSuccess) === null || _options$onSuccess2 === void 0 ? void 0 : _options$onSuccess2.call.apply(_options$onSuccess2, [options].concat(args));
|
|
5222
|
-
queryClient.invalidateQueries(FIELDS);
|
|
5223
|
-
}
|
|
5224
|
-
}));
|
|
5225
|
-
};
|
|
5226
|
-
var useDestroyField = function useDestroyField(options) {
|
|
5227
|
-
var queryClient = useQueryClient();
|
|
5228
|
-
return useMutation(fieldsApi.destroy, _objectSpread$a(_objectSpread$a({}, options), {}, {
|
|
5229
|
-
onSuccess: function onSuccess() {
|
|
5230
|
-
var _options$onSuccess3;
|
|
5231
|
-
for (var _len3 = arguments.length, args = new Array(_len3), _key3 = 0; _key3 < _len3; _key3++) {
|
|
5232
|
-
args[_key3] = arguments[_key3];
|
|
5233
|
-
}
|
|
5234
|
-
options === null || options === void 0 ? void 0 : (_options$onSuccess3 = options.onSuccess) === null || _options$onSuccess3 === void 0 ? void 0 : _options$onSuccess3.call.apply(_options$onSuccess3, [options].concat(args));
|
|
5235
|
-
queryClient.invalidateQueries(FIELDS);
|
|
5236
|
-
}
|
|
5237
|
-
}));
|
|
5238
|
-
};
|
|
5239
|
-
var useReorderFields = function useReorderFields() {
|
|
5240
|
-
var queryClient = useQueryClient();
|
|
5241
|
-
return useMutation(fieldsApi.reorder, {
|
|
5242
|
-
onSuccess: function onSuccess() {
|
|
5243
|
-
queryClient.invalidateQueries(FIELDS);
|
|
5244
|
-
}
|
|
5245
|
-
});
|
|
5246
|
-
};
|
|
5247
|
-
|
|
5248
|
-
function ownKeys$9(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
|
|
5249
|
-
function _objectSpread$9(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys$9(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys$9(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
|
|
5250
|
-
var arrangeOptionsDisplayOrder = function arrangeOptionsDisplayOrder(options) {
|
|
5251
|
-
return options.map(function (option, index) {
|
|
5252
|
-
return _objectSpread$9(_objectSpread$9({}, option), {}, {
|
|
5253
|
-
displayOrder: index
|
|
5254
|
-
});
|
|
5255
|
-
});
|
|
5256
|
-
};
|
|
5257
|
-
var buildPayload = function buildPayload(_ref) {
|
|
5258
|
-
var formValues = _ref.formValues,
|
|
5259
|
-
_ref$resourceType = _ref.resourceType,
|
|
5260
|
-
resourceType = _ref$resourceType === void 0 ? "" : _ref$resourceType,
|
|
5261
|
-
_ref$ownerId = _ref.ownerId,
|
|
5262
|
-
ownerId = _ref$ownerId === void 0 ? "" : _ref$ownerId;
|
|
5263
|
-
var kind = formValues.kind.value;
|
|
5264
|
-
var name = formValues.name.trim();
|
|
5265
|
-
return _objectSpread$9(_objectSpread$9({}, omit(["createdAt", "id", "ownerId", "ownerType", "updatedAt"], formValues)), {}, {
|
|
5266
|
-
kind: kind,
|
|
5267
|
-
name: name,
|
|
5268
|
-
resourceType: isEmpty(resourceType) ? undefined : resourceType,
|
|
5269
|
-
ownerId: isEmpty(ownerId) ? undefined : ownerId,
|
|
5270
|
-
data: isDropdown(kind) ? arrangeOptionsDisplayOrder(formValues.data) : formValues.data
|
|
5271
|
-
});
|
|
5272
|
-
};
|
|
5273
|
-
var isDropdown = function isDropdown(kind) {
|
|
5274
|
-
return ["single_option", "multi_option"].includes(kind);
|
|
5275
|
-
};
|
|
5276
|
-
var isRegex = function isRegex(kind) {
|
|
5277
|
-
return kind === "regex";
|
|
5278
|
-
};
|
|
5279
|
-
var isAdditionalDataNeeded = function isAdditionalDataNeeded(kind) {
|
|
5280
|
-
return ADDITIONAL_DATA_NEEDED_FIELD_KINDS.includes(kind);
|
|
5281
|
-
};
|
|
5282
|
-
var getPermittedKinds = function getPermittedKinds(_ref2) {
|
|
5283
|
-
var allowedKinds = _ref2.allowedKinds,
|
|
5284
|
-
selectedKind = _ref2.selectedKind;
|
|
5285
|
-
var filteredKinds = pick(allowedKinds, FIELD_KINDS);
|
|
5286
|
-
var permittedKinds = filterBy({
|
|
5287
|
-
group: selectedKind === null || selectedKind === void 0 ? void 0 : selectedKind.group
|
|
5288
|
-
}, values(filteredKinds));
|
|
5289
|
-
return permittedKinds;
|
|
5290
|
-
};
|
|
5291
|
-
var generateValidationSchema = function generateValidationSchema(additionalValidations) {
|
|
5292
|
-
return yup.object().shape(_objectSpread$9(_objectSpread$9({}, BASIC_FIELD_FORM_VALIDATIONS), additionalValidations));
|
|
5293
|
-
};
|
|
5294
|
-
var renderFormFooter = function renderFormFooter(_ref3) {
|
|
5295
|
-
var onClose = _ref3.onClose,
|
|
5296
|
-
loading = _ref3.loading,
|
|
5297
|
-
_ref3$dirty = _ref3.dirty,
|
|
5298
|
-
dirty = _ref3$dirty === void 0 ? true : _ref3$dirty;
|
|
5299
|
-
return /*#__PURE__*/React.createElement(Pane.Footer, null, /*#__PURE__*/React.createElement(ActionBlock, {
|
|
5300
|
-
cancelButtonProps: {
|
|
5301
|
-
onClick: onClose,
|
|
5302
|
-
style: "text",
|
|
5303
|
-
disabled: loading
|
|
5304
|
-
},
|
|
5305
|
-
submitButtonProps: {
|
|
5306
|
-
label: t("labels.saveChanges"),
|
|
5307
|
-
className: "mr-2",
|
|
5308
|
-
type: "submit",
|
|
5309
|
-
disabled: !dirty,
|
|
5310
|
-
loading: loading
|
|
5311
|
-
}
|
|
5312
|
-
}));
|
|
5313
|
-
};
|
|
5314
|
-
|
|
5315
|
-
var regexValidationSchema = yup.object().shape({
|
|
5316
|
-
condition: yup.string().required(t("validations.regexConditionIsRequired")),
|
|
5317
|
-
helpMessage: yup.string().required(t("validations.regexHelpMessageIsRequired"))
|
|
5318
|
-
});
|
|
5319
|
-
var dropDownOptionsValidationSchema = yup.array().of(yup.object().shape({
|
|
5320
|
-
label: yup.string().trim().required(t("validations.fieldOptionIsRequired")),
|
|
5321
|
-
displayOrder: yup.number()
|
|
5322
|
-
})).min(1, t("validations.atLeastFieldOptionIsRequired"));
|
|
5323
|
-
var FIELD_KINDS = {
|
|
5324
|
-
text: {
|
|
5325
|
-
value: "text",
|
|
5326
|
-
label: t("fields.kinds.text"),
|
|
5327
|
-
group: 1
|
|
5328
|
-
},
|
|
5329
|
-
number: {
|
|
5330
|
-
value: "number",
|
|
5331
|
-
label: t("fields.kinds.number"),
|
|
5332
|
-
group: 2
|
|
5333
|
-
},
|
|
5334
|
-
monetary: {
|
|
5335
|
-
value: "monetary",
|
|
5336
|
-
label: t("fields.kinds.monetary"),
|
|
5337
|
-
group: 2
|
|
5338
|
-
},
|
|
5339
|
-
single_option: {
|
|
5340
|
-
value: "single_option",
|
|
5341
|
-
label: t("fields.kinds.singleOption"),
|
|
5342
|
-
group: 3
|
|
5343
|
-
},
|
|
5344
|
-
multi_option: {
|
|
5345
|
-
value: "multi_option",
|
|
5346
|
-
label: t("fields.kinds.multiOption"),
|
|
5347
|
-
group: 3
|
|
5348
|
-
},
|
|
5349
|
-
date: {
|
|
5350
|
-
value: "date",
|
|
5351
|
-
label: t("fields.kinds.date"),
|
|
5352
|
-
group: 4
|
|
5353
|
-
},
|
|
5354
|
-
time: {
|
|
5355
|
-
value: "time",
|
|
5356
|
-
label: t("fields.kinds.time"),
|
|
5357
|
-
group: 5
|
|
5358
|
-
},
|
|
5359
|
-
date_range: {
|
|
5360
|
-
value: "date_range",
|
|
5361
|
-
label: t("fields.kinds.dateRange"),
|
|
5362
|
-
group: 6
|
|
5363
|
-
},
|
|
5364
|
-
time_range: {
|
|
5365
|
-
value: "time_range",
|
|
5366
|
-
label: t("fields.kinds.timeRange"),
|
|
5367
|
-
group: 7
|
|
5368
|
-
},
|
|
5369
|
-
text_area: {
|
|
5370
|
-
value: "text_area",
|
|
5371
|
-
label: t("fields.kinds.textArea"),
|
|
5372
|
-
group: 1
|
|
5373
|
-
},
|
|
5374
|
-
textarea: {
|
|
5375
|
-
value: "textarea",
|
|
5376
|
-
label: t("fields.kinds.textarea"),
|
|
5377
|
-
group: 1
|
|
5378
|
-
},
|
|
5379
|
-
person: {
|
|
5380
|
-
value: "person",
|
|
5381
|
-
label: t("fields.kinds.person"),
|
|
5382
|
-
group: 8
|
|
5383
|
-
},
|
|
5384
|
-
checkbox: {
|
|
5385
|
-
value: "checkbox",
|
|
5386
|
-
label: t("fields.kinds.checkbox"),
|
|
5387
|
-
group: 9
|
|
5388
|
-
},
|
|
5389
|
-
regex: {
|
|
5390
|
-
value: "regex",
|
|
5391
|
-
label: t("fields.kinds.regex"),
|
|
5392
|
-
group: 10
|
|
5393
|
-
},
|
|
5394
|
-
integer: {
|
|
5395
|
-
value: "integer",
|
|
5396
|
-
label: t("fields.kinds.integer"),
|
|
5397
|
-
group: 2
|
|
5398
|
-
},
|
|
5399
|
-
decimal: {
|
|
5400
|
-
value: "decimal",
|
|
5401
|
-
label: t("fields.kinds.decimal"),
|
|
5402
|
-
group: 2
|
|
5403
|
-
},
|
|
5404
|
-
datetime: {
|
|
5405
|
-
value: "datetime",
|
|
5406
|
-
label: t("fields.kinds.datetime"),
|
|
5407
|
-
group: 11
|
|
5408
|
-
}
|
|
5409
|
-
};
|
|
5410
|
-
var ADDITIONAL_DATA_NEEDED_FIELD_KINDS = ["single_option", "multi_option", "regex"];
|
|
5411
|
-
var INITIAL_FIELDS = {
|
|
5412
|
-
name: "",
|
|
5413
|
-
kind: toLabelAndValue("text"),
|
|
5414
|
-
isRequired: false
|
|
5415
|
-
};
|
|
5416
|
-
var DEFAULT_OPTION = {
|
|
5417
|
-
label: "",
|
|
5418
|
-
displayOrder: 0
|
|
5419
|
-
};
|
|
5420
|
-
var DEFAULT_OPTIONS_DATA = [DEFAULT_OPTION];
|
|
5421
|
-
var DEFAULT_REGEX_DATA = {
|
|
5422
|
-
regex: "",
|
|
5423
|
-
helpMessage: ""
|
|
5424
|
-
};
|
|
5425
|
-
var BASIC_FIELD_FORM_VALIDATIONS = {
|
|
5426
|
-
name: yup.string().trim().required(t("validations.fieldNameIsRequired")),
|
|
5427
|
-
isRequired: yup["boolean"](),
|
|
5428
|
-
kind: yup.object().shape({
|
|
5429
|
-
value: yup.string().required()
|
|
5430
|
-
}).required(t("validations.kindIsRequired")),
|
|
5431
|
-
data: yup.mixed().when("kind", {
|
|
5432
|
-
is: function is(kind) {
|
|
5433
|
-
return isRegex(kind === null || kind === void 0 ? void 0 : kind.value);
|
|
5434
|
-
},
|
|
5435
|
-
then: regexValidationSchema
|
|
5436
|
-
}).when("kind", {
|
|
5437
|
-
is: function is(kind) {
|
|
5438
|
-
return isDropdown(kind === null || kind === void 0 ? void 0 : kind.value);
|
|
5439
|
-
},
|
|
5440
|
-
then: dropDownOptionsValidationSchema
|
|
5441
|
-
})
|
|
5442
|
-
};
|
|
5443
|
-
|
|
5444
|
-
var AdditionalInputs = function AdditionalInputs() {
|
|
5445
|
-
var _useTranslation = useTranslation(),
|
|
5446
|
-
t = _useTranslation.t;
|
|
5447
|
-
var _useFormikContext = useFormikContext(),
|
|
5448
|
-
_useFormikContext$val = _useFormikContext.values,
|
|
5449
|
-
kind = _useFormikContext$val.kind,
|
|
5450
|
-
options = _useFormikContext$val.data,
|
|
5451
|
-
isSystem = _useFormikContext$val.isSystem;
|
|
5452
|
-
var removeOption = function removeOption(arrayHelpers, index) {
|
|
5453
|
-
return arrayHelpers.remove(index);
|
|
5454
|
-
};
|
|
5455
|
-
var addOption = function addOption(arrayHelpers) {
|
|
5456
|
-
return arrayHelpers.push(DEFAULT_OPTION);
|
|
5457
|
-
};
|
|
5458
|
-
if (isDropdown(kind.value)) {
|
|
5459
|
-
return /*#__PURE__*/React.createElement(FieldArray, {
|
|
5460
|
-
name: "data"
|
|
5461
|
-
}, function (arrayHelpers) {
|
|
5462
|
-
return /*#__PURE__*/React.createElement("div", {
|
|
5463
|
-
className: "flex w-full flex-col gap-y-4"
|
|
5464
|
-
}, /*#__PURE__*/React.createElement(Label, {
|
|
5465
|
-
required: true
|
|
5466
|
-
}, t("titles.dropdownOptions")), isNotEmpty(options) && Array.isArray(options) && options.map(function (_, index) {
|
|
5467
|
-
return /*#__PURE__*/React.createElement("div", {
|
|
5468
|
-
className: "flex w-full space-x-3",
|
|
5469
|
-
key: index
|
|
5470
|
-
}, /*#__PURE__*/React.createElement("div", {
|
|
5471
|
-
className: "w-full"
|
|
5472
|
-
}, /*#__PURE__*/React.createElement(Input, {
|
|
5473
|
-
disabled: isSystem,
|
|
5474
|
-
name: "data.".concat(index, ".label"),
|
|
5475
|
-
placeholder: t("placeholders.enterAnOption"),
|
|
5476
|
-
suffix: options.length > 1 && /*#__PURE__*/React.createElement(Button, {
|
|
5477
|
-
icon: Delete,
|
|
5478
|
-
style: "text",
|
|
5479
|
-
onClick: function onClick() {
|
|
5480
|
-
return removeOption(arrayHelpers, index);
|
|
5481
|
-
}
|
|
5482
|
-
})
|
|
5483
|
-
})));
|
|
5484
|
-
}), /*#__PURE__*/React.createElement(Button, {
|
|
5485
|
-
fullWidth: true,
|
|
5486
|
-
className: "mb-6 border-dashed text-xs uppercase",
|
|
5487
|
-
label: t("labels.addMoreOption"),
|
|
5488
|
-
style: "secondary",
|
|
5489
|
-
onClick: function onClick() {
|
|
5490
|
-
return addOption(arrayHelpers);
|
|
5491
|
-
}
|
|
5492
|
-
}));
|
|
5493
|
-
});
|
|
5494
|
-
} else if (isRegex(kind.value)) {
|
|
5495
|
-
return /*#__PURE__*/React.createElement("div", {
|
|
5496
|
-
className: "flex w-full flex-col gap-y-4"
|
|
5497
|
-
}, /*#__PURE__*/React.createElement(Label, {
|
|
5498
|
-
required: true
|
|
5499
|
-
}, t("titles.regexOptions")), /*#__PURE__*/React.createElement(Input, {
|
|
5500
|
-
disabled: isSystem,
|
|
5501
|
-
label: t("labels.regexCondition"),
|
|
5502
|
-
name: "data.condition",
|
|
5503
|
-
placeholder: t("placeholders.regexExample")
|
|
5504
|
-
}), /*#__PURE__*/React.createElement(Input, {
|
|
5505
|
-
disabled: isSystem,
|
|
5506
|
-
label: t("labels.helpMessage"),
|
|
5507
|
-
name: "data.helpMessage",
|
|
5508
|
-
placeholder: t("placeholders.enterErrorMessage")
|
|
5509
|
-
}));
|
|
5510
|
-
}
|
|
5511
|
-
return null;
|
|
5512
|
-
};
|
|
5513
|
-
|
|
5514
|
-
/** @type {React.FC<import("types").FieldFormProps>} */
|
|
5515
|
-
|
|
5516
|
-
var FieldForm = function FieldForm(_ref) {
|
|
5517
|
-
var chosenKind = _ref.chosenKind,
|
|
5518
|
-
_ref$kindSelectOption = _ref.kindSelectOptions,
|
|
5519
|
-
kindSelectOptions = _ref$kindSelectOption === void 0 ? [] : _ref$kindSelectOption,
|
|
5520
|
-
_ref$isSystem = _ref.isSystem,
|
|
5521
|
-
isSystem = _ref$isSystem === void 0 ? false : _ref$isSystem,
|
|
5522
|
-
_ref$hideRequiredSwit = _ref.hideRequiredSwitch,
|
|
5523
|
-
hideRequiredSwitch = _ref$hideRequiredSwit === void 0 ? false : _ref$hideRequiredSwit,
|
|
5524
|
-
children = _ref.children;
|
|
5525
|
-
var _useTranslation = useTranslation(),
|
|
5526
|
-
t = _useTranslation.t;
|
|
5527
|
-
var _useFormikContext = useFormikContext(),
|
|
5528
|
-
options = _useFormikContext.values.data,
|
|
5529
|
-
setFieldValue = _useFormikContext.setFieldValue;
|
|
5530
|
-
var handleKindChange = function handleKindChange(kind) {
|
|
5531
|
-
setFieldValue("kind", kind);
|
|
5532
|
-
if (isDropdown(kind.value)) {
|
|
5533
|
-
setFieldValue("data", options !== null && options !== void 0 ? options : DEFAULT_OPTIONS_DATA);
|
|
5534
|
-
} else if (isRegex(kind.value)) {
|
|
5535
|
-
setFieldValue("data", options !== null && options !== void 0 ? options : DEFAULT_REGEX_DATA);
|
|
5536
|
-
}
|
|
5537
|
-
};
|
|
5538
|
-
return /*#__PURE__*/React.createElement(Pane.Body, null, /*#__PURE__*/React.createElement("div", {
|
|
5539
|
-
className: "w-full space-y-4"
|
|
5540
|
-
}, /*#__PURE__*/React.createElement(Input, {
|
|
5541
|
-
required: true,
|
|
5542
|
-
disabled: isSystem,
|
|
5543
|
-
label: t("labels.fieldName"),
|
|
5544
|
-
name: "name",
|
|
5545
|
-
placeholder: t("placeholders.enterFieldName")
|
|
5546
|
-
}), /*#__PURE__*/React.createElement(Select, {
|
|
5547
|
-
isSearchable: true,
|
|
5548
|
-
isDisabled: isSystem,
|
|
5549
|
-
label: t("labels.fieldKind"),
|
|
5550
|
-
name: "kind",
|
|
5551
|
-
options: kindSelectOptions,
|
|
5552
|
-
onChange: handleKindChange
|
|
5553
|
-
}), isAdditionalDataNeeded(chosenKind) && /*#__PURE__*/React.createElement(AdditionalInputs, null), !hideRequiredSwitch && /*#__PURE__*/React.createElement(Label, {
|
|
5554
|
-
className: "flex items-center gap-2"
|
|
5555
|
-
}, /*#__PURE__*/React.createElement(Switch, {
|
|
5556
|
-
name: "isRequired"
|
|
5557
|
-
}), /*#__PURE__*/React.createElement(Typography, {
|
|
5558
|
-
className: "leading-4",
|
|
5559
|
-
component: "span",
|
|
5560
|
-
style: "body2"
|
|
5561
|
-
}, t("labels.isRequired"))), children));
|
|
5562
|
-
};
|
|
5563
|
-
|
|
5564
|
-
var _excluded$3 = ["resourceType", "allowedKinds", "additionalValidations", "initialValues", "onClose"];
|
|
5565
|
-
function ownKeys$8(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
|
|
5566
|
-
function _objectSpread$8(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys$8(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys$8(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
|
|
5567
|
-
|
|
5568
|
-
/** @type {React.FC<import("types").AddProps>} */
|
|
5569
|
-
|
|
5570
|
-
var Add = function Add(_ref) {
|
|
5571
|
-
var resourceType = _ref.resourceType,
|
|
5572
|
-
allowedKinds = _ref.allowedKinds,
|
|
5573
|
-
additionalValidations = _ref.additionalValidations,
|
|
5574
|
-
initialValues = _ref.initialValues,
|
|
5575
|
-
onClose = _ref.onClose,
|
|
5576
|
-
props = _objectWithoutProperties(_ref, _excluded$3);
|
|
5577
|
-
var _useTranslation = useTranslation(),
|
|
5578
|
-
t = _useTranslation.t;
|
|
5579
|
-
var _useCreateField = useCreateField(),
|
|
5580
|
-
createField = _useCreateField.mutate,
|
|
5581
|
-
isSubmitting = _useCreateField.isLoading;
|
|
5582
|
-
var filteredKinds = values(pick(allowedKinds, FIELD_KINDS));
|
|
5583
|
-
var handleSubmit = function handleSubmit(formValues) {
|
|
5584
|
-
var payload = buildPayload({
|
|
5585
|
-
formValues: formValues,
|
|
5586
|
-
resourceType: resourceType
|
|
5587
|
-
});
|
|
5588
|
-
createField(payload, {
|
|
5589
|
-
onSuccess: onClose
|
|
5590
|
-
});
|
|
5591
|
-
};
|
|
5592
|
-
return /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(Pane.Header, null, /*#__PURE__*/React.createElement(Typography, {
|
|
5593
|
-
style: "h2"
|
|
5594
|
-
}, t("titles.addField"))), /*#__PURE__*/React.createElement(Form, {
|
|
5595
|
-
formikProps: {
|
|
5596
|
-
initialValues: _objectSpread$8(_objectSpread$8({}, initialValues), INITIAL_FIELDS),
|
|
5597
|
-
validationSchema: generateValidationSchema(additionalValidations),
|
|
5598
|
-
onSubmit: handleSubmit
|
|
5599
|
-
}
|
|
5600
|
-
}, function (_ref2) {
|
|
5601
|
-
var dirty = _ref2.dirty,
|
|
5602
|
-
kind = _ref2.values.kind;
|
|
5603
|
-
return /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(FieldForm, _extends({
|
|
5604
|
-
chosenKind: kind.value,
|
|
5605
|
-
kindSelectOptions: filteredKinds
|
|
5606
|
-
}, props)), renderFormFooter({
|
|
5607
|
-
onClose: onClose,
|
|
5608
|
-
loading: isSubmitting,
|
|
5609
|
-
dirty: dirty
|
|
5610
|
-
}));
|
|
5611
|
-
}));
|
|
5612
|
-
};
|
|
5613
|
-
|
|
5614
|
-
var _excluded$2 = ["fieldId", "allowedKinds", "additionalValidations", "initialValues", "onClose"];
|
|
5615
|
-
function ownKeys$7(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
|
|
5616
|
-
function _objectSpread$7(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys$7(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys$7(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
|
|
5617
|
-
|
|
5618
|
-
/** @type {React.FC<import("types").EditProps>} */
|
|
5619
|
-
|
|
5620
|
-
var Edit = function Edit(_ref) {
|
|
5621
|
-
var fieldId = _ref.fieldId,
|
|
5622
|
-
allowedKinds = _ref.allowedKinds,
|
|
5623
|
-
_ref$additionalValida = _ref.additionalValidations,
|
|
5624
|
-
additionalValidations = _ref$additionalValida === void 0 ? {} : _ref$additionalValida,
|
|
5625
|
-
_ref$initialValues = _ref.initialValues,
|
|
5626
|
-
initialValues = _ref$initialValues === void 0 ? {} : _ref$initialValues,
|
|
5627
|
-
onClose = _ref.onClose,
|
|
5628
|
-
props = _objectWithoutProperties(_ref, _excluded$2);
|
|
5629
|
-
var _useTranslation = useTranslation(),
|
|
5630
|
-
t = _useTranslation.t;
|
|
5631
|
-
var _useShowField = useShowField(fieldId),
|
|
5632
|
-
_useShowField$data = _useShowField.data,
|
|
5633
|
-
_useShowField$data2 = _useShowField$data === void 0 ? {} : _useShowField$data,
|
|
5634
|
-
_useShowField$data2$f = _useShowField$data2.field,
|
|
5635
|
-
field = _useShowField$data2$f === void 0 ? {} : _useShowField$data2$f;
|
|
5636
|
-
var _useUpdateField = useUpdateField(),
|
|
5637
|
-
updateField = _useUpdateField.mutate,
|
|
5638
|
-
isSubmitting = _useUpdateField.isLoading;
|
|
5639
|
-
var handleSubmit = function handleSubmit(formValues) {
|
|
5640
|
-
var payload = buildPayload({
|
|
5641
|
-
formValues: formValues
|
|
5642
|
-
});
|
|
5643
|
-
updateField({
|
|
5644
|
-
fieldId: fieldId,
|
|
5645
|
-
payload: payload
|
|
5646
|
-
}, {
|
|
5647
|
-
onSuccess: onClose
|
|
5648
|
-
});
|
|
5649
|
-
};
|
|
5650
|
-
return /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(Pane.Header, null, /*#__PURE__*/React.createElement(Typography, {
|
|
5651
|
-
style: "h2"
|
|
5652
|
-
}, t("titles.editField"))), /*#__PURE__*/React.createElement(Form, {
|
|
5653
|
-
formikProps: {
|
|
5654
|
-
initialValues: _objectSpread$7(_objectSpread$7({}, initialValues), assoc("kind", FIELD_KINDS[field.kind], field)),
|
|
5655
|
-
validationSchema: generateValidationSchema(additionalValidations),
|
|
5656
|
-
enableReinitialize: true,
|
|
5657
|
-
onSubmit: handleSubmit
|
|
5658
|
-
}
|
|
5659
|
-
}, function (_ref2) {
|
|
5660
|
-
var kind = _ref2.values.kind,
|
|
5661
|
-
dirty = _ref2.dirty;
|
|
5662
|
-
var permittedKinds = getPermittedKinds({
|
|
5663
|
-
allowedKinds: allowedKinds,
|
|
5664
|
-
selectedKind: kind
|
|
5665
|
-
});
|
|
5666
|
-
return /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(FieldForm, _extends({
|
|
5667
|
-
chosenKind: kind === null || kind === void 0 ? void 0 : kind.value,
|
|
5668
|
-
isSystem: field.isSystem,
|
|
5669
|
-
kindSelectOptions: permittedKinds
|
|
5670
|
-
}, props)), renderFormFooter({
|
|
5671
|
-
onClose: onClose,
|
|
5672
|
-
loading: isSubmitting,
|
|
5673
|
-
dirty: dirty
|
|
5674
|
-
}));
|
|
5675
|
-
}));
|
|
5676
|
-
};
|
|
5677
|
-
|
|
5678
|
-
var _excluded$1 = ["isOpen", "selectedField"];
|
|
5679
|
-
|
|
5680
|
-
/** @type {React.FC<import("types").FieldsPaneProps>} */
|
|
5681
|
-
|
|
5682
|
-
var FieldsPane = function FieldsPane(_ref) {
|
|
5683
|
-
var isOpen = _ref.isOpen,
|
|
5684
|
-
_ref$selectedField = _ref.selectedField,
|
|
5685
|
-
selectedField = _ref$selectedField === void 0 ? {} : _ref$selectedField,
|
|
5686
|
-
props = _objectWithoutProperties(_ref, _excluded$1);
|
|
5687
|
-
return /*#__PURE__*/React.createElement(Pane, {
|
|
5688
|
-
isOpen: isOpen,
|
|
5689
|
-
onClose: props.onClose
|
|
5690
|
-
}, isEmpty(selectedField) ? /*#__PURE__*/React.createElement(Add, props) : /*#__PURE__*/React.createElement(Edit, _extends({
|
|
5691
|
-
fieldId: selectedField === null || selectedField === void 0 ? void 0 : selectedField.id
|
|
5692
|
-
}, props)));
|
|
5693
|
-
};
|
|
5694
|
-
|
|
5695
|
-
/** @type {React.FC<import("types").AddFieldProps>} */
|
|
5696
|
-
|
|
5697
|
-
var AddField = function AddField(_ref) {
|
|
5698
|
-
var resourceType = _ref.resourceType,
|
|
5699
|
-
_ref$allowedKinds = _ref.allowedKinds,
|
|
5700
|
-
allowedKinds = _ref$allowedKinds === void 0 ? ALL_KINDS : _ref$allowedKinds,
|
|
5701
|
-
additionalValidations = _ref.additionalValidations,
|
|
5702
|
-
initialValues = _ref.initialValues,
|
|
5703
|
-
hideRequiredSwitch = _ref.hideRequiredSwitch,
|
|
5704
|
-
children = _ref.children;
|
|
5705
|
-
var _useState = useState(false),
|
|
5706
|
-
_useState2 = _slicedToArray(_useState, 2),
|
|
5707
|
-
isOpen = _useState2[0],
|
|
5708
|
-
setIsOpen = _useState2[1];
|
|
5709
|
-
var _useTranslation = useTranslation(),
|
|
5710
|
-
t = _useTranslation.t;
|
|
5711
|
-
return /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(Button, {
|
|
5712
|
-
label: t("labels.addField"),
|
|
5713
|
-
onClick: function onClick() {
|
|
5714
|
-
return setIsOpen(true);
|
|
5715
|
-
}
|
|
5716
|
-
}), /*#__PURE__*/React.createElement(FieldsPane, {
|
|
5717
|
-
additionalValidations: additionalValidations,
|
|
5718
|
-
allowedKinds: allowedKinds,
|
|
5719
|
-
hideRequiredSwitch: hideRequiredSwitch,
|
|
5720
|
-
initialValues: initialValues,
|
|
5721
|
-
isOpen: isOpen,
|
|
5722
|
-
resourceType: resourceType,
|
|
5723
|
-
onClose: function onClose() {
|
|
5724
|
-
return setIsOpen(false);
|
|
5725
|
-
}
|
|
5726
|
-
}, children));
|
|
5727
|
-
};
|
|
5728
|
-
|
|
5729
|
-
function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) {
|
|
5730
|
-
try {
|
|
5731
|
-
var info = gen[key](arg);
|
|
5732
|
-
var value = info.value;
|
|
5733
|
-
} catch (error) {
|
|
5734
|
-
reject(error);
|
|
5735
|
-
return;
|
|
5736
|
-
}
|
|
5737
|
-
if (info.done) {
|
|
5738
|
-
resolve(value);
|
|
5739
|
-
} else {
|
|
5740
|
-
Promise.resolve(value).then(_next, _throw);
|
|
5741
|
-
}
|
|
5742
|
-
}
|
|
5743
|
-
function _asyncToGenerator(fn) {
|
|
5744
|
-
return function () {
|
|
5745
|
-
var self = this,
|
|
5746
|
-
args = arguments;
|
|
5747
|
-
return new Promise(function (resolve, reject) {
|
|
5748
|
-
var gen = fn.apply(self, args);
|
|
5749
|
-
function _next(value) {
|
|
5750
|
-
asyncGeneratorStep(gen, resolve, reject, _next, _throw, "next", value);
|
|
5751
|
-
}
|
|
5752
|
-
function _throw(err) {
|
|
5753
|
-
asyncGeneratorStep(gen, resolve, reject, _next, _throw, "throw", err);
|
|
5754
|
-
}
|
|
5755
|
-
_next(undefined);
|
|
5756
|
-
});
|
|
5757
|
-
};
|
|
5758
|
-
}
|
|
5759
|
-
|
|
5760
|
-
var regeneratorRuntime$1 = {exports: {}};
|
|
5761
|
-
|
|
5762
|
-
var _typeof = {exports: {}};
|
|
5763
|
-
|
|
5764
|
-
_typeof.exports;
|
|
5765
|
-
|
|
5766
|
-
(function (module) {
|
|
5767
|
-
function _typeof(obj) {
|
|
5768
|
-
"@babel/helpers - typeof";
|
|
5769
|
-
|
|
5770
|
-
return (module.exports = _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (obj) {
|
|
5771
|
-
return typeof obj;
|
|
5772
|
-
} : function (obj) {
|
|
5773
|
-
return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj;
|
|
5774
|
-
}, module.exports.__esModule = true, module.exports["default"] = module.exports), _typeof(obj);
|
|
5775
|
-
}
|
|
5776
|
-
module.exports = _typeof, module.exports.__esModule = true, module.exports["default"] = module.exports;
|
|
5777
|
-
} (_typeof));
|
|
5778
|
-
|
|
5779
|
-
var _typeofExports = _typeof.exports;
|
|
5780
|
-
|
|
5781
|
-
regeneratorRuntime$1.exports;
|
|
5159
|
+
regeneratorRuntime$1.exports;
|
|
5782
5160
|
|
|
5783
5161
|
(function (module) {
|
|
5784
5162
|
var _typeof = _typeofExports["default"];
|
|
@@ -6086,481 +5464,1110 @@ regeneratorRuntime$1.exports;
|
|
|
6086
5464
|
module.exports = _regeneratorRuntime, module.exports.__esModule = true, module.exports["default"] = module.exports;
|
|
6087
5465
|
} (regeneratorRuntime$1));
|
|
6088
5466
|
|
|
6089
|
-
var regeneratorRuntimeExports = regeneratorRuntime$1.exports;
|
|
5467
|
+
var regeneratorRuntimeExports = regeneratorRuntime$1.exports;
|
|
5468
|
+
|
|
5469
|
+
// TODO(Babel 8): Remove this file.
|
|
5470
|
+
|
|
5471
|
+
var runtime = regeneratorRuntimeExports();
|
|
5472
|
+
var regenerator = runtime;
|
|
5473
|
+
|
|
5474
|
+
// Copied from https://github.com/facebook/regenerator/blob/main/packages/runtime/runtime.js#L736=
|
|
5475
|
+
try {
|
|
5476
|
+
regeneratorRuntime = runtime;
|
|
5477
|
+
} catch (accidentalStrictMode) {
|
|
5478
|
+
if (typeof globalThis === "object") {
|
|
5479
|
+
globalThis.regeneratorRuntime = runtime;
|
|
5480
|
+
} else {
|
|
5481
|
+
Function("r", "regeneratorRuntime = r")(runtime);
|
|
5482
|
+
}
|
|
5483
|
+
}
|
|
5484
|
+
|
|
5485
|
+
var _regeneratorRuntime = /*@__PURE__*/getDefaultExportFromCjs(regenerator);
|
|
5486
|
+
|
|
5487
|
+
var dayjs_min = {exports: {}};
|
|
5488
|
+
|
|
5489
|
+
dayjs_min.exports;
|
|
5490
|
+
|
|
5491
|
+
(function (module, exports) {
|
|
5492
|
+
!function(t,e){module.exports=e();}(commonjsGlobal,(function(){var t=1e3,e=6e4,n=36e5,r="millisecond",i="second",s="minute",u="hour",a="day",o="week",f="month",h="quarter",c="year",d="date",l="Invalid Date",$=/^(\d{4})[-/]?(\d{1,2})?[-/]?(\d{0,2})[Tt\s]*(\d{1,2})?:?(\d{1,2})?:?(\d{1,2})?[.:]?(\d+)?$/,y=/\[([^\]]+)]|Y{1,4}|M{1,4}|D{1,2}|d{1,4}|H{1,2}|h{1,2}|a|A|m{1,2}|s{1,2}|Z{1,2}|SSS/g,M={name:"en",weekdays:"Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday".split("_"),months:"January_February_March_April_May_June_July_August_September_October_November_December".split("_"),ordinal:function(t){var e=["th","st","nd","rd"],n=t%100;return "["+t+(e[(n-20)%10]||e[n]||e[0])+"]"}},m=function(t,e,n){var r=String(t);return !r||r.length>=e?t:""+Array(e+1-r.length).join(n)+t},v={s:m,z:function(t){var e=-t.utcOffset(),n=Math.abs(e),r=Math.floor(n/60),i=n%60;return (e<=0?"+":"-")+m(r,2,"0")+":"+m(i,2,"0")},m:function t(e,n){if(e.date()<n.date())return -t(n,e);var r=12*(n.year()-e.year())+(n.month()-e.month()),i=e.clone().add(r,f),s=n-i<0,u=e.clone().add(r+(s?-1:1),f);return +(-(r+(n-i)/(s?i-u:u-i))||0)},a:function(t){return t<0?Math.ceil(t)||0:Math.floor(t)},p:function(t){return {M:f,y:c,w:o,d:a,D:d,h:u,m:s,s:i,ms:r,Q:h}[t]||String(t||"").toLowerCase().replace(/s$/,"")},u:function(t){return void 0===t}},g="en",D={};D[g]=M;var p=function(t){return t instanceof _},S=function t(e,n,r){var i;if(!e)return g;if("string"==typeof e){var s=e.toLowerCase();D[s]&&(i=s),n&&(D[s]=n,i=s);var u=e.split("-");if(!i&&u.length>1)return t(u[0])}else {var a=e.name;D[a]=e,i=a;}return !r&&i&&(g=i),i||!r&&g},w=function(t,e){if(p(t))return t.clone();var n="object"==typeof e?e:{};return n.date=t,n.args=arguments,new _(n)},O=v;O.l=S,O.i=p,O.w=function(t,e){return w(t,{locale:e.$L,utc:e.$u,x:e.$x,$offset:e.$offset})};var _=function(){function M(t){this.$L=S(t.locale,null,!0),this.parse(t);}var m=M.prototype;return m.parse=function(t){this.$d=function(t){var e=t.date,n=t.utc;if(null===e)return new Date(NaN);if(O.u(e))return new Date;if(e instanceof Date)return new Date(e);if("string"==typeof e&&!/Z$/i.test(e)){var r=e.match($);if(r){var i=r[2]-1||0,s=(r[7]||"0").substring(0,3);return n?new Date(Date.UTC(r[1],i,r[3]||1,r[4]||0,r[5]||0,r[6]||0,s)):new Date(r[1],i,r[3]||1,r[4]||0,r[5]||0,r[6]||0,s)}}return new Date(e)}(t),this.$x=t.x||{},this.init();},m.init=function(){var t=this.$d;this.$y=t.getFullYear(),this.$M=t.getMonth(),this.$D=t.getDate(),this.$W=t.getDay(),this.$H=t.getHours(),this.$m=t.getMinutes(),this.$s=t.getSeconds(),this.$ms=t.getMilliseconds();},m.$utils=function(){return O},m.isValid=function(){return !(this.$d.toString()===l)},m.isSame=function(t,e){var n=w(t);return this.startOf(e)<=n&&n<=this.endOf(e)},m.isAfter=function(t,e){return w(t)<this.startOf(e)},m.isBefore=function(t,e){return this.endOf(e)<w(t)},m.$g=function(t,e,n){return O.u(t)?this[e]:this.set(n,t)},m.unix=function(){return Math.floor(this.valueOf()/1e3)},m.valueOf=function(){return this.$d.getTime()},m.startOf=function(t,e){var n=this,r=!!O.u(e)||e,h=O.p(t),l=function(t,e){var i=O.w(n.$u?Date.UTC(n.$y,e,t):new Date(n.$y,e,t),n);return r?i:i.endOf(a)},$=function(t,e){return O.w(n.toDate()[t].apply(n.toDate("s"),(r?[0,0,0,0]:[23,59,59,999]).slice(e)),n)},y=this.$W,M=this.$M,m=this.$D,v="set"+(this.$u?"UTC":"");switch(h){case c:return r?l(1,0):l(31,11);case f:return r?l(1,M):l(0,M+1);case o:var g=this.$locale().weekStart||0,D=(y<g?y+7:y)-g;return l(r?m-D:m+(6-D),M);case a:case d:return $(v+"Hours",0);case u:return $(v+"Minutes",1);case s:return $(v+"Seconds",2);case i:return $(v+"Milliseconds",3);default:return this.clone()}},m.endOf=function(t){return this.startOf(t,!1)},m.$set=function(t,e){var n,o=O.p(t),h="set"+(this.$u?"UTC":""),l=(n={},n[a]=h+"Date",n[d]=h+"Date",n[f]=h+"Month",n[c]=h+"FullYear",n[u]=h+"Hours",n[s]=h+"Minutes",n[i]=h+"Seconds",n[r]=h+"Milliseconds",n)[o],$=o===a?this.$D+(e-this.$W):e;if(o===f||o===c){var y=this.clone().set(d,1);y.$d[l]($),y.init(),this.$d=y.set(d,Math.min(this.$D,y.daysInMonth())).$d;}else l&&this.$d[l]($);return this.init(),this},m.set=function(t,e){return this.clone().$set(t,e)},m.get=function(t){return this[O.p(t)]()},m.add=function(r,h){var d,l=this;r=Number(r);var $=O.p(h),y=function(t){var e=w(l);return O.w(e.date(e.date()+Math.round(t*r)),l)};if($===f)return this.set(f,this.$M+r);if($===c)return this.set(c,this.$y+r);if($===a)return y(1);if($===o)return y(7);var M=(d={},d[s]=e,d[u]=n,d[i]=t,d)[$]||1,m=this.$d.getTime()+r*M;return O.w(m,this)},m.subtract=function(t,e){return this.add(-1*t,e)},m.format=function(t){var e=this,n=this.$locale();if(!this.isValid())return n.invalidDate||l;var r=t||"YYYY-MM-DDTHH:mm:ssZ",i=O.z(this),s=this.$H,u=this.$m,a=this.$M,o=n.weekdays,f=n.months,h=function(t,n,i,s){return t&&(t[n]||t(e,r))||i[n].slice(0,s)},c=function(t){return O.s(s%12||12,t,"0")},d=n.meridiem||function(t,e,n){var r=t<12?"AM":"PM";return n?r.toLowerCase():r},$={YY:String(this.$y).slice(-2),YYYY:this.$y,M:a+1,MM:O.s(a+1,2,"0"),MMM:h(n.monthsShort,a,f,3),MMMM:h(f,a),D:this.$D,DD:O.s(this.$D,2,"0"),d:String(this.$W),dd:h(n.weekdaysMin,this.$W,o,2),ddd:h(n.weekdaysShort,this.$W,o,3),dddd:o[this.$W],H:String(s),HH:O.s(s,2,"0"),h:c(1),hh:c(2),a:d(s,u,!0),A:d(s,u,!1),m:String(u),mm:O.s(u,2,"0"),s:String(this.$s),ss:O.s(this.$s,2,"0"),SSS:O.s(this.$ms,3,"0"),Z:i};return r.replace(y,(function(t,e){return e||$[t]||i.replace(":","")}))},m.utcOffset=function(){return 15*-Math.round(this.$d.getTimezoneOffset()/15)},m.diff=function(r,d,l){var $,y=O.p(d),M=w(r),m=(M.utcOffset()-this.utcOffset())*e,v=this-M,g=O.m(this,M);return g=($={},$[c]=g/12,$[f]=g,$[h]=g/3,$[o]=(v-m)/6048e5,$[a]=(v-m)/864e5,$[u]=v/n,$[s]=v/e,$[i]=v/t,$)[y]||v,l?g:O.a(g)},m.daysInMonth=function(){return this.endOf(f).$D},m.$locale=function(){return D[this.$L]},m.locale=function(t,e){if(!t)return this.$L;var n=this.clone(),r=S(t,e,!0);return r&&(n.$L=r),n},m.clone=function(){return O.w(this.$d,this)},m.toDate=function(){return new Date(this.valueOf())},m.toJSON=function(){return this.isValid()?this.toISOString():null},m.toISOString=function(){return this.$d.toISOString()},m.toString=function(){return this.$d.toUTCString()},M}(),T=_.prototype;return w.prototype=T,[["$ms",r],["$s",i],["$m",s],["$H",u],["$W",a],["$M",f],["$y",c],["$D",d]].forEach((function(t){T[t[1]]=function(e){return this.$g(e,t[0],t[1])};})),w.extend=function(t,e){return t.$i||(t(e,_,w),t.$i=!0),w},w.locale=S,w.isDayjs=p,w.unix=function(t){return w(1e3*t)},w.en=D[g],w.Ls=D,w.p={},w}));
|
|
5493
|
+
} (dayjs_min, dayjs_min.exports));
|
|
5494
|
+
|
|
5495
|
+
var dayjs_minExports = dayjs_min.exports;
|
|
5496
|
+
var dayjs = /*@__PURE__*/getDefaultExportFromCjs(dayjs_minExports);
|
|
5497
|
+
|
|
5498
|
+
var dateSchema = yup.date().nullable();
|
|
5499
|
+
var buildFieldValidationSchema = function buildFieldValidationSchema(_ref) {
|
|
5500
|
+
var kind = _ref.kind,
|
|
5501
|
+
isRequired = _ref.isRequired,
|
|
5502
|
+
fieldData = _ref.fieldData;
|
|
5503
|
+
switch (kind) {
|
|
5504
|
+
case KINDS.singleOption:
|
|
5505
|
+
case KINDS.text:
|
|
5506
|
+
{
|
|
5507
|
+
var schema = yup.string().trim().nullable();
|
|
5508
|
+
return isRequired ? schema.required(t("validations.thisIsRequired")) : schema;
|
|
5509
|
+
}
|
|
5510
|
+
case KINDS.number:
|
|
5511
|
+
case KINDS.monetary:
|
|
5512
|
+
case KINDS.decimal:
|
|
5513
|
+
{
|
|
5514
|
+
var _schema = yup.number().nullable().typeError(t("validations.notAValidNumber"));
|
|
5515
|
+
return isRequired ? _schema.required(t("validations.thisIsRequired")) : _schema;
|
|
5516
|
+
}
|
|
5517
|
+
case KINDS.integer:
|
|
5518
|
+
{
|
|
5519
|
+
var _schema2 = yup.number().nullable().integer().typeError(t("validations.notAValidInteger"));
|
|
5520
|
+
return isRequired ? _schema2.required(t("validations.thisIsRequired")) : _schema2;
|
|
5521
|
+
}
|
|
5522
|
+
case KINDS.date:
|
|
5523
|
+
case KINDS.time:
|
|
5524
|
+
return isRequired ? dateSchema.required(t("validations.thisIsRequired")) : dateSchema;
|
|
5525
|
+
case KINDS.multiOption:
|
|
5526
|
+
{
|
|
5527
|
+
var _schema3 = yup.array().of(yup.string()).nullable();
|
|
5528
|
+
return isRequired ? _schema3.min(1, t("validations.minOneItem")).required(t("validations.thisIsRequired")) : _schema3;
|
|
5529
|
+
}
|
|
5530
|
+
case KINDS.dateRange:
|
|
5531
|
+
case KINDS.timeRange:
|
|
5532
|
+
{
|
|
5533
|
+
if (isRequired) {
|
|
5534
|
+
return yup.array().of(dateSchema).required(t("validations.thisIsRequired"));
|
|
5535
|
+
}
|
|
5536
|
+
return yup.array().of(dateSchema).nullable();
|
|
5537
|
+
}
|
|
5538
|
+
case KINDS.checkbox:
|
|
5539
|
+
return yup["boolean"]().nullable();
|
|
5540
|
+
case KINDS.regex:
|
|
5541
|
+
{
|
|
5542
|
+
var regexPattern = fieldData === null || fieldData === void 0 ? void 0 : fieldData.condition;
|
|
5543
|
+
var _schema4 = yup.string().nullable().matches(cleanedRegex(regexPattern), fieldData === null || fieldData === void 0 ? void 0 : fieldData.helpMessage);
|
|
5544
|
+
return isRequired ? _schema4.required(t("validations.thisIsRequired")) : _schema4;
|
|
5545
|
+
}
|
|
5546
|
+
default:
|
|
5547
|
+
return yup.mixed();
|
|
5548
|
+
}
|
|
5549
|
+
};
|
|
5550
|
+
var cleanedRegex = function cleanedRegex(expression) {
|
|
5551
|
+
if (expression.startsWith("/") && expression.endsWith("/")) {
|
|
5552
|
+
return expression.slice(1, -1);
|
|
5553
|
+
}
|
|
5554
|
+
return expression;
|
|
5555
|
+
};
|
|
5556
|
+
var buildOptionsToLabelAndValue = function buildOptionsToLabelAndValue() {
|
|
5557
|
+
var optionObjects = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];
|
|
5558
|
+
return optionObjects.map(function (_ref2) {
|
|
5559
|
+
var label = _ref2.label,
|
|
5560
|
+
value = _ref2.value;
|
|
5561
|
+
return {
|
|
5562
|
+
label: label,
|
|
5563
|
+
value: value || label
|
|
5564
|
+
};
|
|
5565
|
+
});
|
|
5566
|
+
};
|
|
5567
|
+
var buildArrayToLabelAndValues = function buildArrayToLabelAndValues(value) {
|
|
5568
|
+
return map(toLabelAndValue, value || []);
|
|
5569
|
+
};
|
|
5570
|
+
var validateField = /*#__PURE__*/function () {
|
|
5571
|
+
var _ref4 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee(_ref3) {
|
|
5572
|
+
var fieldValue, fieldName, isRequired, kind, fieldData;
|
|
5573
|
+
return _regeneratorRuntime.wrap(function _callee$(_context) {
|
|
5574
|
+
while (1) switch (_context.prev = _context.next) {
|
|
5575
|
+
case 0:
|
|
5576
|
+
fieldValue = _ref3.fieldValue, fieldName = _ref3.fieldName, isRequired = _ref3.isRequired, kind = _ref3.kind, fieldData = _ref3.fieldData;
|
|
5577
|
+
_context.prev = 1;
|
|
5578
|
+
_context.next = 4;
|
|
5579
|
+
return yup.object().shape(_defineProperty({}, fieldName, buildFieldValidationSchema({
|
|
5580
|
+
kind: kind,
|
|
5581
|
+
isRequired: isRequired,
|
|
5582
|
+
fieldData: fieldData
|
|
5583
|
+
}))).validate(_defineProperty({}, fieldName, fieldValue));
|
|
5584
|
+
case 4:
|
|
5585
|
+
return _context.abrupt("return", false);
|
|
5586
|
+
case 7:
|
|
5587
|
+
_context.prev = 7;
|
|
5588
|
+
_context.t0 = _context["catch"](1);
|
|
5589
|
+
return _context.abrupt("return", _context.t0.errors);
|
|
5590
|
+
case 10:
|
|
5591
|
+
case "end":
|
|
5592
|
+
return _context.stop();
|
|
5593
|
+
}
|
|
5594
|
+
}, _callee, null, [[1, 7]]);
|
|
5595
|
+
}));
|
|
5596
|
+
return function validateField(_x) {
|
|
5597
|
+
return _ref4.apply(this, arguments);
|
|
5598
|
+
};
|
|
5599
|
+
}();
|
|
5600
|
+
var dateTimeToString = function dateTimeToString(dateTime) {
|
|
5601
|
+
return dayjs(dateTime).toString();
|
|
5602
|
+
};
|
|
5603
|
+
|
|
5604
|
+
var _excluded$3 = ["name", "id", "kind", "data", "individualSubmit", "formRef", "formRefs", "disabled", "isRequiredColumnName"];
|
|
5605
|
+
function ownKeys$a(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
|
|
5606
|
+
function _objectSpread$a(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys$a(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys$a(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
|
|
5607
|
+
var useFormikFields = function useFormikFields(_ref) {
|
|
5608
|
+
var name = _ref.name,
|
|
5609
|
+
fieldId = _ref.id,
|
|
5610
|
+
kind = _ref.kind,
|
|
5611
|
+
fieldData = _ref.data,
|
|
5612
|
+
individualSubmit = _ref.individualSubmit,
|
|
5613
|
+
formRef = _ref.formRef,
|
|
5614
|
+
formRefs = _ref.formRefs,
|
|
5615
|
+
disabled = _ref.disabled,
|
|
5616
|
+
_ref$isRequiredColumn = _ref.isRequiredColumnName,
|
|
5617
|
+
isRequiredColumnName = _ref$isRequiredColumn === void 0 ? "isRequired" : _ref$isRequiredColumn,
|
|
5618
|
+
props = _objectWithoutProperties(_ref, _excluded$3);
|
|
5619
|
+
var formikContext = useFormikContext();
|
|
5620
|
+
var setFieldValue = formikContext.setFieldValue,
|
|
5621
|
+
submitForm = formikContext.submitForm,
|
|
5622
|
+
dirty = formikContext.dirty,
|
|
5623
|
+
isSubmitting = formikContext.isSubmitting;
|
|
5624
|
+
var fieldPath = escapeString("".concat(name, "-").concat(fieldId));
|
|
5625
|
+
var fieldName = kind === KINDS.multiOption ? "values" : "value";
|
|
5626
|
+
var fieldValuePath = "".concat(fieldPath, ".data.").concat(fieldName);
|
|
5627
|
+
if (isNil(formRef) && isNotNil(formRefs)) {
|
|
5628
|
+
formRefs.current[fieldValuePath] = formikContext;
|
|
5629
|
+
} else if (isNil(formRefs) && isNotNil(formRef)) {
|
|
5630
|
+
formRef.current = formikContext;
|
|
5631
|
+
}
|
|
5632
|
+
var _useField = useField({
|
|
5633
|
+
name: fieldValuePath,
|
|
5634
|
+
validate: function validate(fieldValue) {
|
|
5635
|
+
return validateField({
|
|
5636
|
+
fieldValue: fieldValue,
|
|
5637
|
+
fieldName: name,
|
|
5638
|
+
isRequired: props[isRequiredColumnName],
|
|
5639
|
+
kind: kind,
|
|
5640
|
+
fieldData: fieldData
|
|
5641
|
+
});
|
|
5642
|
+
}
|
|
5643
|
+
}),
|
|
5644
|
+
_useField2 = _slicedToArray(_useField, 3),
|
|
5645
|
+
formikFieldProps = _useField2[0],
|
|
5646
|
+
meta = _useField2[1],
|
|
5647
|
+
helpers = _useField2[2];
|
|
5648
|
+
var handleSubmit = function handleSubmit(value) {
|
|
5649
|
+
isNotNil(value) && setFieldValue(fieldValuePath, value);
|
|
5650
|
+
individualSubmit && submitForm();
|
|
5651
|
+
};
|
|
5652
|
+
var getValueForField = function getValueForField(value) {
|
|
5653
|
+
if (kind === KINDS.singleOption) {
|
|
5654
|
+
value = toLabelAndValue(value);
|
|
5655
|
+
} else if (kind === KINDS.multiOption) {
|
|
5656
|
+
value = buildArrayToLabelAndValues(value);
|
|
5657
|
+
}
|
|
5658
|
+
return value;
|
|
5659
|
+
};
|
|
5660
|
+
var isDropdown = ["single_option", "multi_option"].includes(kind);
|
|
5661
|
+
if (isSubmitting && !meta.touched) {
|
|
5662
|
+
helpers.setTouched(true);
|
|
5663
|
+
}
|
|
5664
|
+
return {
|
|
5665
|
+
handleSubmit: handleSubmit,
|
|
5666
|
+
fieldProps: _objectSpread$a(_objectSpread$a({}, formikFieldProps), {}, {
|
|
5667
|
+
required: props[isRequiredColumnName],
|
|
5668
|
+
error: meta.touched && meta.error,
|
|
5669
|
+
options: isDropdown ? buildOptionsToLabelAndValue(fieldData) : undefined,
|
|
5670
|
+
value: getValueForField(formikFieldProps.value),
|
|
5671
|
+
dirty: dirty,
|
|
5672
|
+
label: !individualSubmit && capitalize$1(name),
|
|
5673
|
+
disabled: disabled
|
|
5674
|
+
})
|
|
5675
|
+
};
|
|
5676
|
+
};
|
|
6090
5677
|
|
|
6091
|
-
|
|
5678
|
+
var Checkbox = function Checkbox(props) {
|
|
5679
|
+
var _useFormikFields = useFormikFields(props),
|
|
5680
|
+
handleSubmit = _useFormikFields.handleSubmit,
|
|
5681
|
+
fieldProps = _useFormikFields.fieldProps;
|
|
5682
|
+
return /*#__PURE__*/React.createElement(Switch, _extends({}, fieldProps, {
|
|
5683
|
+
checked: fieldProps.value,
|
|
5684
|
+
onChange: function onChange(_ref) {
|
|
5685
|
+
var checked = _ref.target.checked;
|
|
5686
|
+
return handleSubmit(checked);
|
|
5687
|
+
}
|
|
5688
|
+
}));
|
|
5689
|
+
};
|
|
6092
5690
|
|
|
6093
|
-
var
|
|
6094
|
-
var
|
|
5691
|
+
var DateOrTime = function DateOrTime(props) {
|
|
5692
|
+
var _useFormikFields = useFormikFields(props),
|
|
5693
|
+
handleSubmit = _useFormikFields.handleSubmit,
|
|
5694
|
+
fieldProps = _useFormikFields.fieldProps;
|
|
5695
|
+
if (props.kind === KINDS.time) {
|
|
5696
|
+
return /*#__PURE__*/React.createElement(TimePicker, _extends({}, fieldProps, {
|
|
5697
|
+
use12Hours: true,
|
|
5698
|
+
format: "h:mm A",
|
|
5699
|
+
onChange: function onChange(dateTime) {
|
|
5700
|
+
return handleSubmit(dateTimeToString(dateTime));
|
|
5701
|
+
}
|
|
5702
|
+
}));
|
|
5703
|
+
} else if (props.kind === KINDS.date) {
|
|
5704
|
+
return /*#__PURE__*/React.createElement(DatePicker, _extends({}, fieldProps, {
|
|
5705
|
+
onChange: function onChange(dateTime) {
|
|
5706
|
+
return handleSubmit(dateTimeToString(dateTime));
|
|
5707
|
+
}
|
|
5708
|
+
}));
|
|
5709
|
+
}
|
|
5710
|
+
return /*#__PURE__*/React.createElement(DatePicker, _extends({
|
|
5711
|
+
showTime: true,
|
|
5712
|
+
timeFormat: "h:mm A"
|
|
5713
|
+
}, fieldProps, {
|
|
5714
|
+
onChange: function onChange(dateTime) {
|
|
5715
|
+
return handleSubmit(dateTimeToString(dateTime));
|
|
5716
|
+
}
|
|
5717
|
+
}));
|
|
5718
|
+
};
|
|
6095
5719
|
|
|
6096
|
-
|
|
6097
|
-
|
|
6098
|
-
|
|
6099
|
-
|
|
6100
|
-
|
|
6101
|
-
|
|
6102
|
-
|
|
6103
|
-
|
|
5720
|
+
var MultiOption = function MultiOption(props) {
|
|
5721
|
+
var _useFormikFields = useFormikFields(props),
|
|
5722
|
+
handleSubmit = _useFormikFields.handleSubmit,
|
|
5723
|
+
fieldProps = _useFormikFields.fieldProps;
|
|
5724
|
+
return /*#__PURE__*/React.createElement(Select, _extends({
|
|
5725
|
+
isMulti: true,
|
|
5726
|
+
isSearchable: true
|
|
5727
|
+
}, fieldProps, {
|
|
5728
|
+
onChange: function onChange(selectedOptions) {
|
|
5729
|
+
return handleSubmit(pluck("value", selectedOptions));
|
|
5730
|
+
}
|
|
5731
|
+
}));
|
|
5732
|
+
};
|
|
5733
|
+
|
|
5734
|
+
var Number$1 = function Number(props) {
|
|
5735
|
+
var _useFormikFields = useFormikFields(props),
|
|
5736
|
+
handleSubmit = _useFormikFields.handleSubmit,
|
|
5737
|
+
fieldProps = _useFormikFields.fieldProps;
|
|
5738
|
+
var showSubmitButton = props.individualSubmit && fieldProps.dirty;
|
|
5739
|
+
return /*#__PURE__*/React.createElement(Input, _extends({}, fieldProps, {
|
|
5740
|
+
type: "number",
|
|
5741
|
+
suffix: showSubmitButton && /*#__PURE__*/React.createElement(Button, {
|
|
5742
|
+
icon: Check,
|
|
5743
|
+
style: "text",
|
|
5744
|
+
onClick: function onClick() {
|
|
5745
|
+
return handleSubmit();
|
|
5746
|
+
}
|
|
5747
|
+
})
|
|
5748
|
+
}));
|
|
5749
|
+
};
|
|
5750
|
+
|
|
5751
|
+
var RangePicker = function RangePicker(props) {
|
|
5752
|
+
var _useFormikFields = useFormikFields(props),
|
|
5753
|
+
handleSubmit = _useFormikFields.handleSubmit,
|
|
5754
|
+
fieldProps = _useFormikFields.fieldProps;
|
|
5755
|
+
var handleChange = function handleChange(_ref) {
|
|
5756
|
+
var _ref2 = _slicedToArray(_ref, 2),
|
|
5757
|
+
begin = _ref2[0],
|
|
5758
|
+
end = _ref2[1];
|
|
5759
|
+
return handleSubmit([dateTimeToString(begin), dateTimeToString(end)]);
|
|
5760
|
+
};
|
|
5761
|
+
if (props.kind === KINDS.dateRange) {
|
|
5762
|
+
return /*#__PURE__*/React.createElement(DatePicker, _extends({}, fieldProps, {
|
|
5763
|
+
type: "range",
|
|
5764
|
+
onChange: handleChange
|
|
5765
|
+
}));
|
|
6104
5766
|
}
|
|
6105
|
-
}
|
|
6106
5767
|
|
|
6107
|
-
|
|
5768
|
+
//time_range
|
|
5769
|
+
return /*#__PURE__*/React.createElement(TimePicker, _extends({}, fieldProps, {
|
|
5770
|
+
use12Hours: true,
|
|
5771
|
+
format: "h:mm A",
|
|
5772
|
+
type: "range",
|
|
5773
|
+
onChange: handleChange
|
|
5774
|
+
}));
|
|
5775
|
+
};
|
|
5776
|
+
|
|
5777
|
+
var SingleOption = function SingleOption(props) {
|
|
5778
|
+
var _useFormikFields = useFormikFields(props),
|
|
5779
|
+
handleSubmit = _useFormikFields.handleSubmit,
|
|
5780
|
+
fieldProps = _useFormikFields.fieldProps;
|
|
5781
|
+
return /*#__PURE__*/React.createElement(Select, _extends({
|
|
5782
|
+
isSearchable: true
|
|
5783
|
+
}, fieldProps, {
|
|
5784
|
+
onChange: function onChange(_ref) {
|
|
5785
|
+
var value = _ref.value;
|
|
5786
|
+
return handleSubmit(value);
|
|
5787
|
+
}
|
|
5788
|
+
}));
|
|
5789
|
+
};
|
|
5790
|
+
|
|
5791
|
+
var Text = function Text(props) {
|
|
5792
|
+
var _useFormikFields = useFormikFields(props),
|
|
5793
|
+
handleSubmit = _useFormikFields.handleSubmit,
|
|
5794
|
+
fieldProps = _useFormikFields.fieldProps;
|
|
5795
|
+
var showSubmitButton = props.individualSubmit && fieldProps.dirty;
|
|
5796
|
+
return /*#__PURE__*/React.createElement(Input, _extends({}, fieldProps, {
|
|
5797
|
+
suffix: showSubmitButton && /*#__PURE__*/React.createElement(Button, {
|
|
5798
|
+
icon: Check,
|
|
5799
|
+
style: "text",
|
|
5800
|
+
onClick: function onClick() {
|
|
5801
|
+
return handleSubmit();
|
|
5802
|
+
}
|
|
5803
|
+
})
|
|
5804
|
+
}));
|
|
5805
|
+
};
|
|
5806
|
+
|
|
5807
|
+
var TextArea = function TextArea(props) {
|
|
5808
|
+
var _useTranslation = useTranslation(),
|
|
5809
|
+
t = _useTranslation.t;
|
|
5810
|
+
var _useFormikFields = useFormikFields(props),
|
|
5811
|
+
handleSubmit = _useFormikFields.handleSubmit,
|
|
5812
|
+
fieldProps = _useFormikFields.fieldProps;
|
|
5813
|
+
var showSubmitButton = props.individualSubmit && fieldProps.dirty;
|
|
5814
|
+
return /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(Textarea, fieldProps), showSubmitButton && /*#__PURE__*/React.createElement(Button, {
|
|
5815
|
+
className: "m-auto mt-2",
|
|
5816
|
+
label: t("labels.submit"),
|
|
5817
|
+
size: "small",
|
|
5818
|
+
onClick: function onClick() {
|
|
5819
|
+
return handleSubmit();
|
|
5820
|
+
}
|
|
5821
|
+
}));
|
|
5822
|
+
};
|
|
5823
|
+
|
|
5824
|
+
function ownKeys$9(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
|
|
5825
|
+
function _objectSpread$9(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys$9(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys$9(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
|
|
5826
|
+
var standardComponents = {
|
|
5827
|
+
text: Text,
|
|
5828
|
+
regex: Text,
|
|
5829
|
+
textarea: TextArea,
|
|
5830
|
+
text_area: TextArea,
|
|
5831
|
+
// TODO: Remove text-area after integration in all hosts.
|
|
5832
|
+
number: Number$1,
|
|
5833
|
+
monetary: Number$1,
|
|
5834
|
+
integer: Number$1,
|
|
5835
|
+
decimal: Number$1,
|
|
5836
|
+
date: DateOrTime,
|
|
5837
|
+
time: DateOrTime,
|
|
5838
|
+
datetime: DateOrTime,
|
|
5839
|
+
single_option: SingleOption,
|
|
5840
|
+
multi_option: MultiOption,
|
|
5841
|
+
date_range: RangePicker,
|
|
5842
|
+
time_range: RangePicker,
|
|
5843
|
+
checkbox: Checkbox
|
|
5844
|
+
};
|
|
5845
|
+
var getFieldInput = function getFieldInput(_ref) {
|
|
5846
|
+
var field = _ref.field,
|
|
5847
|
+
_ref$customComponents = _ref.customComponents,
|
|
5848
|
+
customComponents = _ref$customComponents === void 0 ? {} : _ref$customComponents;
|
|
5849
|
+
var Component = customComponents[field.kind] || standardComponents[field.kind];
|
|
5850
|
+
if (Component) {
|
|
5851
|
+
return Component;
|
|
5852
|
+
}
|
|
5853
|
+
return null;
|
|
5854
|
+
};
|
|
5855
|
+
var removeItemsWithNullData = function removeItemsWithNullData(fieldValues) {
|
|
5856
|
+
return fieldValues.filter(function (item) {
|
|
5857
|
+
return !isNil(prop("data", item));
|
|
5858
|
+
});
|
|
5859
|
+
};
|
|
5860
|
+
var removeNoiseFromValues = function removeNoiseFromValues(fieldValues) {
|
|
5861
|
+
return map(pick(["id", "fieldId", "data"]), fieldValues);
|
|
5862
|
+
};
|
|
5863
|
+
var transformValues = function transformValues(_ref2) {
|
|
5864
|
+
var formikValues = _ref2.values,
|
|
5865
|
+
fields = _ref2.fields;
|
|
5866
|
+
var allFieldValues = clone$1(formikValues);
|
|
5867
|
+
var neetoFieldValues = [];
|
|
5868
|
+
fields.forEach(function (_ref3) {
|
|
5869
|
+
var id = _ref3.id,
|
|
5870
|
+
name = _ref3.name;
|
|
5871
|
+
var fieldPath = escapeString("".concat(name, "-").concat(id));
|
|
5872
|
+
neetoFieldValues.push(allFieldValues[fieldPath]);
|
|
5873
|
+
delete allFieldValues[fieldPath];
|
|
5874
|
+
});
|
|
5875
|
+
var cleanedFieldValues = pipe(removeItemsWithNullData, removeNoiseFromValues)(neetoFieldValues);
|
|
5876
|
+
return _objectSpread$9(_objectSpread$9({}, allFieldValues), {}, {
|
|
5877
|
+
fieldValuesAttributes: cleanedFieldValues
|
|
5878
|
+
});
|
|
5879
|
+
};
|
|
5880
|
+
var getInitialFieldValue = function getInitialFieldValue(field) {
|
|
5881
|
+
var fieldValues = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : [];
|
|
5882
|
+
var existingFieldValueData = findBy({
|
|
5883
|
+
fieldId: field.id
|
|
5884
|
+
}, fieldValues);
|
|
5885
|
+
var newFieldValueData = {
|
|
5886
|
+
fieldId: field.id,
|
|
5887
|
+
data: null
|
|
5888
|
+
};
|
|
5889
|
+
return _defineProperty({}, escapeString("".concat(field.name, "-").concat(field.id)), existingFieldValueData || newFieldValueData);
|
|
5890
|
+
};
|
|
5891
|
+
var getAllInitialFieldValues = function getAllInitialFieldValues(fields) {
|
|
5892
|
+
var fieldValues = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : [];
|
|
5893
|
+
return getNonSystemFields(fields).map(function (field) {
|
|
5894
|
+
return getInitialFieldValue(field, fieldValues);
|
|
5895
|
+
});
|
|
5896
|
+
};
|
|
5897
|
+
var mergeInitialValues = function mergeInitialValues(_ref5) {
|
|
5898
|
+
var initialValues = _ref5.initialValues,
|
|
5899
|
+
fields = _ref5.fields;
|
|
5900
|
+
var initialValue = mergeAll([initialValues].concat(_toConsumableArray(getAllInitialFieldValues(fields, initialValues === null || initialValues === void 0 ? void 0 : initialValues.fieldValues))));
|
|
5901
|
+
return omit(["fieldValues"], initialValue);
|
|
5902
|
+
};
|
|
5903
|
+
var getNonSystemFields = function getNonSystemFields(fields) {
|
|
5904
|
+
return filterBy({
|
|
5905
|
+
isSystem: false
|
|
5906
|
+
}, fields);
|
|
5907
|
+
};
|
|
5908
|
+
var escapeString = function escapeString(string) {
|
|
5909
|
+
return string.replace(/[^a-zA-Z0-9_]/g, function (match) {
|
|
5910
|
+
var charCode = match.charCodeAt(0);
|
|
5911
|
+
return "_".concat(charCode, "_");
|
|
5912
|
+
});
|
|
5913
|
+
};
|
|
5914
|
+
var neetoFieldsUtils = {
|
|
5915
|
+
mergeInitialValues: mergeInitialValues,
|
|
5916
|
+
transformValues: transformValues
|
|
5917
|
+
};
|
|
6108
5918
|
|
|
6109
|
-
var
|
|
5919
|
+
function ownKeys$8(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
|
|
5920
|
+
function _objectSpread$8(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys$8(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys$8(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
|
|
5921
|
+
var FieldInputs = function FieldInputs(_ref) {
|
|
5922
|
+
var _ref$customComponents = _ref.customComponents,
|
|
5923
|
+
customComponents = _ref$customComponents === void 0 ? {} : _ref$customComponents,
|
|
5924
|
+
fields = _ref.fields,
|
|
5925
|
+
formRef = _ref.formRef,
|
|
5926
|
+
disabled = _ref.disabled,
|
|
5927
|
+
isRequiredColumnName = _ref.isRequiredColumnName;
|
|
5928
|
+
var _useTranslation = useTranslation(),
|
|
5929
|
+
t = _useTranslation.t;
|
|
5930
|
+
return getNonSystemFields(fields).map(function (field) {
|
|
5931
|
+
var Field = getFieldInput({
|
|
5932
|
+
field: field,
|
|
5933
|
+
customComponents: customComponents
|
|
5934
|
+
});
|
|
5935
|
+
if (Field) {
|
|
5936
|
+
return /*#__PURE__*/React.createElement(Field, _extends({
|
|
5937
|
+
key: field.id
|
|
5938
|
+
}, _objectSpread$8(_objectSpread$8({}, field), {}, {
|
|
5939
|
+
formRef: formRef,
|
|
5940
|
+
disabled: disabled,
|
|
5941
|
+
isRequiredColumnName: isRequiredColumnName
|
|
5942
|
+
})));
|
|
5943
|
+
}
|
|
5944
|
+
return /*#__PURE__*/React.createElement(Typography, {
|
|
5945
|
+
key: field.id,
|
|
5946
|
+
style: "body2"
|
|
5947
|
+
}, t("messages.invalidKind"));
|
|
5948
|
+
});
|
|
5949
|
+
};
|
|
6110
5950
|
|
|
6111
|
-
|
|
5951
|
+
var NEETO_FIELDS_URL = "/neeto_fields_engine/api/v1";
|
|
5952
|
+
var FIELDS_URL = "".concat(NEETO_FIELDS_URL, "/fields");
|
|
5953
|
+
var FIELD_VALUES_URL = "".concat(NEETO_FIELDS_URL, "/field_values");
|
|
5954
|
+
var FIELD_VALUE_URL = "".concat(NEETO_FIELDS_URL, "/field_values/:fieldValueId");
|
|
5955
|
+
var FIELD_URL = "".concat(NEETO_FIELDS_URL, "/fields/:fieldId");
|
|
5956
|
+
var FIELDS_REORDER_URL = "".concat(FIELDS_URL, "/reorder");
|
|
5957
|
+
var CONFIGS_URL = "".concat(NEETO_FIELDS_URL, "/configs");
|
|
5958
|
+
var SINGULAR = {
|
|
5959
|
+
count: 1
|
|
5960
|
+
};
|
|
5961
|
+
var PLURAL = {
|
|
5962
|
+
count: 2
|
|
5963
|
+
};
|
|
6112
5964
|
|
|
6113
|
-
|
|
6114
|
-
|
|
6115
|
-
|
|
5965
|
+
var fieldUrl = function fieldUrl(fieldId) {
|
|
5966
|
+
return buildUrl(FIELD_URL, {
|
|
5967
|
+
fieldId: fieldId
|
|
5968
|
+
});
|
|
5969
|
+
};
|
|
5970
|
+
var fetch$1 = function fetch(_ref) {
|
|
5971
|
+
var resourceType = _ref.resourceType,
|
|
5972
|
+
ownerId = _ref.ownerId,
|
|
5973
|
+
state = _ref.state;
|
|
5974
|
+
return axios.get(FIELDS_URL, {
|
|
5975
|
+
params: {
|
|
5976
|
+
resourceType: resourceType,
|
|
5977
|
+
ownerId: ownerId,
|
|
5978
|
+
state: state
|
|
5979
|
+
}
|
|
5980
|
+
});
|
|
5981
|
+
};
|
|
5982
|
+
var create$1 = function create(payload) {
|
|
5983
|
+
return axios.post(FIELDS_URL, payload);
|
|
5984
|
+
};
|
|
5985
|
+
var show = function show(_ref2) {
|
|
5986
|
+
var fieldId = _ref2.fieldId,
|
|
5987
|
+
ownerId = _ref2.ownerId;
|
|
5988
|
+
return axios.get(fieldUrl(fieldId), {
|
|
5989
|
+
params: {
|
|
5990
|
+
ownerId: ownerId
|
|
5991
|
+
}
|
|
5992
|
+
});
|
|
5993
|
+
};
|
|
5994
|
+
var destroy$1 = function destroy(_ref3) {
|
|
5995
|
+
var fieldId = _ref3.fieldId,
|
|
5996
|
+
ownerId = _ref3.ownerId;
|
|
5997
|
+
return axios["delete"](fieldUrl(fieldId), {
|
|
5998
|
+
data: {
|
|
5999
|
+
ownerId: ownerId
|
|
6000
|
+
}
|
|
6001
|
+
});
|
|
6002
|
+
};
|
|
6003
|
+
var update$1 = function update(_ref4) {
|
|
6004
|
+
var fieldId = _ref4.fieldId,
|
|
6005
|
+
payload = _ref4.payload;
|
|
6006
|
+
return axios.put(fieldUrl(fieldId), payload);
|
|
6007
|
+
};
|
|
6008
|
+
var reorder = function reorder(payload) {
|
|
6009
|
+
return axios.patch(FIELDS_REORDER_URL, payload);
|
|
6010
|
+
};
|
|
6011
|
+
var fieldsApi = {
|
|
6012
|
+
fetch: fetch$1,
|
|
6013
|
+
create: create$1,
|
|
6014
|
+
show: show,
|
|
6015
|
+
destroy: destroy$1,
|
|
6016
|
+
update: update$1,
|
|
6017
|
+
reorder: reorder
|
|
6018
|
+
};
|
|
6116
6019
|
|
|
6117
|
-
var
|
|
6118
|
-
|
|
6020
|
+
var QUERY_KEYS = {
|
|
6021
|
+
FIELDS: "fields",
|
|
6022
|
+
FIELD_VALUES: "field_values",
|
|
6023
|
+
CONFIGS: "configurations"
|
|
6024
|
+
};
|
|
6025
|
+
var DEFAULT_STALE_TIME = 3600000; // 1 hour
|
|
6119
6026
|
|
|
6120
|
-
var
|
|
6121
|
-
var
|
|
6122
|
-
|
|
6123
|
-
|
|
6124
|
-
|
|
6125
|
-
|
|
6126
|
-
|
|
6127
|
-
|
|
6128
|
-
|
|
6129
|
-
|
|
6130
|
-
|
|
6131
|
-
|
|
6132
|
-
|
|
6133
|
-
|
|
6134
|
-
|
|
6135
|
-
|
|
6136
|
-
|
|
6137
|
-
|
|
6138
|
-
}
|
|
6139
|
-
case KINDS.integer:
|
|
6140
|
-
{
|
|
6141
|
-
var _schema2 = yup.number().nullable().integer().typeError(t("validations.notAValidInteger"));
|
|
6142
|
-
return isRequired ? _schema2.required(t("validations.thisIsRequired")) : _schema2;
|
|
6143
|
-
}
|
|
6144
|
-
case KINDS.date:
|
|
6145
|
-
case KINDS.time:
|
|
6146
|
-
return isRequired ? dateSchema.required(t("validations.thisIsRequired")) : dateSchema;
|
|
6147
|
-
case KINDS.multiOption:
|
|
6148
|
-
{
|
|
6149
|
-
var _schema3 = yup.array().of(yup.string()).nullable();
|
|
6150
|
-
return isRequired ? _schema3.min(1, t("validations.minOneItem")).required(t("validations.thisIsRequired")) : _schema3;
|
|
6151
|
-
}
|
|
6152
|
-
case KINDS.dateRange:
|
|
6153
|
-
case KINDS.timeRange:
|
|
6154
|
-
{
|
|
6155
|
-
if (isRequired) {
|
|
6156
|
-
return yup.array().of(dateSchema).required(t("validations.thisIsRequired"));
|
|
6157
|
-
}
|
|
6158
|
-
return yup.array().of(dateSchema).nullable();
|
|
6159
|
-
}
|
|
6160
|
-
case KINDS.checkbox:
|
|
6161
|
-
return yup["boolean"]().nullable();
|
|
6162
|
-
case KINDS.regex:
|
|
6163
|
-
{
|
|
6164
|
-
var regexPattern = fieldData === null || fieldData === void 0 ? void 0 : fieldData.condition;
|
|
6165
|
-
var _schema4 = yup.string().nullable().matches(cleanedRegex(regexPattern), fieldData === null || fieldData === void 0 ? void 0 : fieldData.helpMessage);
|
|
6166
|
-
return isRequired ? _schema4.required(t("validations.thisIsRequired")) : _schema4;
|
|
6167
|
-
}
|
|
6168
|
-
default:
|
|
6169
|
-
return yup.mixed();
|
|
6170
|
-
}
|
|
6027
|
+
function ownKeys$7(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
|
|
6028
|
+
function _objectSpread$7(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys$7(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys$7(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
|
|
6029
|
+
var FIELDS = QUERY_KEYS.FIELDS;
|
|
6030
|
+
var useFetchFields = function useFetchFields(_ref, options) {
|
|
6031
|
+
var resourceType = _ref.resourceType,
|
|
6032
|
+
ownerId = _ref.ownerId,
|
|
6033
|
+
state = _ref.state,
|
|
6034
|
+
_ref$prefixQueryKeys = _ref.prefixQueryKeys,
|
|
6035
|
+
prefixQueryKeys = _ref$prefixQueryKeys === void 0 ? [] : _ref$prefixQueryKeys;
|
|
6036
|
+
return useQuery([FIELDS].concat(_toConsumableArray(prefixQueryKeys), [resourceType, ownerId, state]), function () {
|
|
6037
|
+
return fieldsApi.fetch({
|
|
6038
|
+
resourceType: resourceType,
|
|
6039
|
+
ownerId: ownerId,
|
|
6040
|
+
state: state
|
|
6041
|
+
});
|
|
6042
|
+
}, _objectSpread$7({
|
|
6043
|
+
staleTime: DEFAULT_STALE_TIME
|
|
6044
|
+
}, options));
|
|
6171
6045
|
};
|
|
6172
|
-
var
|
|
6173
|
-
|
|
6174
|
-
|
|
6175
|
-
|
|
6176
|
-
|
|
6046
|
+
var useCreateField = function useCreateField(options) {
|
|
6047
|
+
var queryClient = useQueryClient();
|
|
6048
|
+
return useMutation(fieldsApi.create, _objectSpread$7(_objectSpread$7({}, options), {}, {
|
|
6049
|
+
onSuccess: function onSuccess() {
|
|
6050
|
+
var _options$onSuccess;
|
|
6051
|
+
for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
|
|
6052
|
+
args[_key] = arguments[_key];
|
|
6053
|
+
}
|
|
6054
|
+
options === null || options === void 0 ? void 0 : (_options$onSuccess = options.onSuccess) === null || _options$onSuccess === void 0 ? void 0 : _options$onSuccess.call.apply(_options$onSuccess, [options].concat(args));
|
|
6055
|
+
queryClient.invalidateQueries(FIELDS);
|
|
6056
|
+
}
|
|
6057
|
+
}));
|
|
6177
6058
|
};
|
|
6178
|
-
var
|
|
6179
|
-
var
|
|
6180
|
-
|
|
6181
|
-
|
|
6182
|
-
|
|
6183
|
-
return {
|
|
6184
|
-
|
|
6185
|
-
|
|
6186
|
-
};
|
|
6187
|
-
});
|
|
6059
|
+
var useShowField = function useShowField(_ref2, options) {
|
|
6060
|
+
var fieldId = _ref2.fieldId,
|
|
6061
|
+
ownerId = _ref2.ownerId;
|
|
6062
|
+
var queryKey = [FIELDS, fieldId];
|
|
6063
|
+
return useQuery(queryKey, function () {
|
|
6064
|
+
return fieldsApi.show({
|
|
6065
|
+
fieldId: fieldId,
|
|
6066
|
+
ownerId: ownerId
|
|
6067
|
+
});
|
|
6068
|
+
}, options);
|
|
6188
6069
|
};
|
|
6189
|
-
var
|
|
6190
|
-
|
|
6070
|
+
var useUpdateField = function useUpdateField(options) {
|
|
6071
|
+
var queryClient = useQueryClient();
|
|
6072
|
+
return useMutation(fieldsApi.update, _objectSpread$7(_objectSpread$7({}, options), {}, {
|
|
6073
|
+
onSuccess: function onSuccess() {
|
|
6074
|
+
var _options$onSuccess2;
|
|
6075
|
+
for (var _len2 = arguments.length, args = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {
|
|
6076
|
+
args[_key2] = arguments[_key2];
|
|
6077
|
+
}
|
|
6078
|
+
options === null || options === void 0 ? void 0 : (_options$onSuccess2 = options.onSuccess) === null || _options$onSuccess2 === void 0 ? void 0 : _options$onSuccess2.call.apply(_options$onSuccess2, [options].concat(args));
|
|
6079
|
+
queryClient.invalidateQueries(FIELDS);
|
|
6080
|
+
}
|
|
6081
|
+
}));
|
|
6191
6082
|
};
|
|
6192
|
-
var
|
|
6193
|
-
var
|
|
6194
|
-
|
|
6195
|
-
|
|
6196
|
-
|
|
6197
|
-
|
|
6198
|
-
|
|
6199
|
-
_context.prev = 1;
|
|
6200
|
-
_context.next = 4;
|
|
6201
|
-
return yup.object().shape(_defineProperty({}, fieldName, buildFieldValidationSchema({
|
|
6202
|
-
kind: kind,
|
|
6203
|
-
isRequired: isRequired,
|
|
6204
|
-
fieldData: fieldData
|
|
6205
|
-
}))).validate(_defineProperty({}, fieldName, fieldValue));
|
|
6206
|
-
case 4:
|
|
6207
|
-
return _context.abrupt("return", false);
|
|
6208
|
-
case 7:
|
|
6209
|
-
_context.prev = 7;
|
|
6210
|
-
_context.t0 = _context["catch"](1);
|
|
6211
|
-
return _context.abrupt("return", _context.t0.errors);
|
|
6212
|
-
case 10:
|
|
6213
|
-
case "end":
|
|
6214
|
-
return _context.stop();
|
|
6083
|
+
var useDestroyField = function useDestroyField(options) {
|
|
6084
|
+
var queryClient = useQueryClient();
|
|
6085
|
+
return useMutation(fieldsApi.destroy, _objectSpread$7(_objectSpread$7({}, options), {}, {
|
|
6086
|
+
onSuccess: function onSuccess() {
|
|
6087
|
+
var _options$onSuccess3;
|
|
6088
|
+
for (var _len3 = arguments.length, args = new Array(_len3), _key3 = 0; _key3 < _len3; _key3++) {
|
|
6089
|
+
args[_key3] = arguments[_key3];
|
|
6215
6090
|
}
|
|
6216
|
-
|
|
6091
|
+
options === null || options === void 0 ? void 0 : (_options$onSuccess3 = options.onSuccess) === null || _options$onSuccess3 === void 0 ? void 0 : _options$onSuccess3.call.apply(_options$onSuccess3, [options].concat(args));
|
|
6092
|
+
queryClient.invalidateQueries(FIELDS);
|
|
6093
|
+
}
|
|
6217
6094
|
}));
|
|
6218
|
-
|
|
6219
|
-
|
|
6220
|
-
|
|
6221
|
-
|
|
6222
|
-
|
|
6223
|
-
|
|
6095
|
+
};
|
|
6096
|
+
var useReorderFields = function useReorderFields() {
|
|
6097
|
+
var queryClient = useQueryClient();
|
|
6098
|
+
return useMutation(fieldsApi.reorder, {
|
|
6099
|
+
onSuccess: function onSuccess() {
|
|
6100
|
+
queryClient.invalidateQueries(FIELDS);
|
|
6101
|
+
}
|
|
6102
|
+
});
|
|
6224
6103
|
};
|
|
6225
6104
|
|
|
6226
|
-
var _excluded = ["name", "id", "kind", "data", "individualSubmit", "formRef", "formRefs", "disabled", "isRequiredColumnName"];
|
|
6227
6105
|
function ownKeys$6(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
|
|
6228
6106
|
function _objectSpread$6(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys$6(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys$6(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
|
|
6229
|
-
var
|
|
6230
|
-
|
|
6231
|
-
|
|
6232
|
-
|
|
6233
|
-
|
|
6234
|
-
|
|
6235
|
-
|
|
6236
|
-
|
|
6237
|
-
|
|
6238
|
-
_ref$
|
|
6239
|
-
|
|
6240
|
-
|
|
6241
|
-
|
|
6242
|
-
var
|
|
6243
|
-
|
|
6244
|
-
|
|
6245
|
-
|
|
6246
|
-
|
|
6247
|
-
|
|
6248
|
-
|
|
6249
|
-
|
|
6250
|
-
|
|
6251
|
-
|
|
6252
|
-
formRef.current = formikContext;
|
|
6253
|
-
}
|
|
6254
|
-
var _useField = useField({
|
|
6255
|
-
name: fieldValuePath,
|
|
6256
|
-
validate: function validate(fieldValue) {
|
|
6257
|
-
return validateField({
|
|
6258
|
-
fieldValue: fieldValue,
|
|
6259
|
-
fieldName: name,
|
|
6260
|
-
isRequired: props[isRequiredColumnName],
|
|
6261
|
-
kind: kind,
|
|
6262
|
-
fieldData: fieldData
|
|
6263
|
-
});
|
|
6264
|
-
}
|
|
6265
|
-
}),
|
|
6266
|
-
_useField2 = _slicedToArray(_useField, 3),
|
|
6267
|
-
formikFieldProps = _useField2[0],
|
|
6268
|
-
meta = _useField2[1],
|
|
6269
|
-
helpers = _useField2[2];
|
|
6270
|
-
var handleSubmit = function handleSubmit(value) {
|
|
6271
|
-
isNotNil(value) && setFieldValue(fieldValuePath, value);
|
|
6272
|
-
individualSubmit && submitForm();
|
|
6107
|
+
var arrangeOptionsDisplayOrder = function arrangeOptionsDisplayOrder(options) {
|
|
6108
|
+
return options.map(function (option, index) {
|
|
6109
|
+
return _objectSpread$6(_objectSpread$6({}, option), {}, {
|
|
6110
|
+
displayOrder: index
|
|
6111
|
+
});
|
|
6112
|
+
});
|
|
6113
|
+
};
|
|
6114
|
+
var buildPayload = function buildPayload(_ref) {
|
|
6115
|
+
var formValues = _ref.formValues,
|
|
6116
|
+
_ref$resourceType = _ref.resourceType,
|
|
6117
|
+
resourceType = _ref$resourceType === void 0 ? "" : _ref$resourceType,
|
|
6118
|
+
_ref$ownerId = _ref.ownerId,
|
|
6119
|
+
ownerId = _ref$ownerId === void 0 ? "" : _ref$ownerId;
|
|
6120
|
+
var kind = formValues.kind.value;
|
|
6121
|
+
var name = formValues.name.trim();
|
|
6122
|
+
return {
|
|
6123
|
+
ownerId: isEmpty(ownerId) ? undefined : ownerId,
|
|
6124
|
+
field: _objectSpread$6(_objectSpread$6({}, omit(["createdAt", "id", "ownerId", "ownerType", "updatedAt"], formValues)), {}, {
|
|
6125
|
+
kind: kind,
|
|
6126
|
+
name: name,
|
|
6127
|
+
resourceType: isEmpty(resourceType) ? undefined : resourceType,
|
|
6128
|
+
data: isDropdown(kind) ? arrangeOptionsDisplayOrder(formValues.data) : formValues.data
|
|
6129
|
+
})
|
|
6273
6130
|
};
|
|
6274
|
-
|
|
6275
|
-
|
|
6276
|
-
|
|
6277
|
-
|
|
6278
|
-
|
|
6131
|
+
};
|
|
6132
|
+
var isDropdown = function isDropdown(kind) {
|
|
6133
|
+
return ["single_option", "multi_option"].includes(kind);
|
|
6134
|
+
};
|
|
6135
|
+
var isRegex = function isRegex(kind) {
|
|
6136
|
+
return kind === "regex";
|
|
6137
|
+
};
|
|
6138
|
+
var isAdditionalDataNeeded = function isAdditionalDataNeeded(kind) {
|
|
6139
|
+
return ADDITIONAL_DATA_NEEDED_FIELD_KINDS.includes(kind);
|
|
6140
|
+
};
|
|
6141
|
+
var getPermittedKinds = function getPermittedKinds(_ref2) {
|
|
6142
|
+
var allowedKinds = _ref2.allowedKinds,
|
|
6143
|
+
selectedKind = _ref2.selectedKind;
|
|
6144
|
+
var filteredKinds = pick(allowedKinds, FIELD_KINDS);
|
|
6145
|
+
var permittedKinds = filterBy({
|
|
6146
|
+
group: selectedKind === null || selectedKind === void 0 ? void 0 : selectedKind.group
|
|
6147
|
+
}, values(filteredKinds));
|
|
6148
|
+
return permittedKinds;
|
|
6149
|
+
};
|
|
6150
|
+
var generateValidationSchema = function generateValidationSchema(additionalValidations) {
|
|
6151
|
+
return yup.object().shape(_objectSpread$6(_objectSpread$6({}, BASIC_FIELD_FORM_VALIDATIONS), additionalValidations));
|
|
6152
|
+
};
|
|
6153
|
+
var renderFormFooter = function renderFormFooter(_ref3) {
|
|
6154
|
+
var onClose = _ref3.onClose,
|
|
6155
|
+
loading = _ref3.loading,
|
|
6156
|
+
_ref3$dirty = _ref3.dirty,
|
|
6157
|
+
dirty = _ref3$dirty === void 0 ? true : _ref3$dirty;
|
|
6158
|
+
return /*#__PURE__*/React.createElement(Pane.Footer, null, /*#__PURE__*/React.createElement(ActionBlock, {
|
|
6159
|
+
cancelButtonProps: {
|
|
6160
|
+
onClick: onClose,
|
|
6161
|
+
style: "text",
|
|
6162
|
+
disabled: loading
|
|
6163
|
+
},
|
|
6164
|
+
submitButtonProps: {
|
|
6165
|
+
label: t("labels.saveChanges"),
|
|
6166
|
+
className: "mr-2",
|
|
6167
|
+
type: "submit",
|
|
6168
|
+
disabled: !dirty,
|
|
6169
|
+
loading: loading
|
|
6279
6170
|
}
|
|
6280
|
-
|
|
6281
|
-
|
|
6282
|
-
|
|
6283
|
-
|
|
6284
|
-
|
|
6171
|
+
}));
|
|
6172
|
+
};
|
|
6173
|
+
|
|
6174
|
+
var regexValidationSchema = yup.object().shape({
|
|
6175
|
+
condition: yup.string().required(t("validations.regexConditionIsRequired")),
|
|
6176
|
+
helpMessage: yup.string().required(t("validations.regexHelpMessageIsRequired"))
|
|
6177
|
+
});
|
|
6178
|
+
var dropDownOptionsValidationSchema = yup.array().of(yup.object().shape({
|
|
6179
|
+
label: yup.string().trim().required(t("validations.fieldOptionIsRequired")),
|
|
6180
|
+
displayOrder: yup.number()
|
|
6181
|
+
})).min(1, t("validations.atLeastFieldOptionIsRequired"));
|
|
6182
|
+
var FIELD_KINDS = {
|
|
6183
|
+
text: {
|
|
6184
|
+
value: "text",
|
|
6185
|
+
label: t("fields.kinds.text"),
|
|
6186
|
+
group: 1
|
|
6187
|
+
},
|
|
6188
|
+
number: {
|
|
6189
|
+
value: "number",
|
|
6190
|
+
label: t("fields.kinds.number"),
|
|
6191
|
+
group: 2
|
|
6192
|
+
},
|
|
6193
|
+
monetary: {
|
|
6194
|
+
value: "monetary",
|
|
6195
|
+
label: t("fields.kinds.monetary"),
|
|
6196
|
+
group: 2
|
|
6197
|
+
},
|
|
6198
|
+
single_option: {
|
|
6199
|
+
value: "single_option",
|
|
6200
|
+
label: t("fields.kinds.singleOption"),
|
|
6201
|
+
group: 3
|
|
6202
|
+
},
|
|
6203
|
+
multi_option: {
|
|
6204
|
+
value: "multi_option",
|
|
6205
|
+
label: t("fields.kinds.multiOption"),
|
|
6206
|
+
group: 3
|
|
6207
|
+
},
|
|
6208
|
+
date: {
|
|
6209
|
+
value: "date",
|
|
6210
|
+
label: t("fields.kinds.date"),
|
|
6211
|
+
group: 4
|
|
6212
|
+
},
|
|
6213
|
+
time: {
|
|
6214
|
+
value: "time",
|
|
6215
|
+
label: t("fields.kinds.time"),
|
|
6216
|
+
group: 5
|
|
6217
|
+
},
|
|
6218
|
+
date_range: {
|
|
6219
|
+
value: "date_range",
|
|
6220
|
+
label: t("fields.kinds.dateRange"),
|
|
6221
|
+
group: 6
|
|
6222
|
+
},
|
|
6223
|
+
time_range: {
|
|
6224
|
+
value: "time_range",
|
|
6225
|
+
label: t("fields.kinds.timeRange"),
|
|
6226
|
+
group: 7
|
|
6227
|
+
},
|
|
6228
|
+
text_area: {
|
|
6229
|
+
value: "text_area",
|
|
6230
|
+
label: t("fields.kinds.textArea"),
|
|
6231
|
+
group: 1
|
|
6232
|
+
},
|
|
6233
|
+
textarea: {
|
|
6234
|
+
value: "textarea",
|
|
6235
|
+
label: t("fields.kinds.textarea"),
|
|
6236
|
+
group: 1
|
|
6237
|
+
},
|
|
6238
|
+
person: {
|
|
6239
|
+
value: "person",
|
|
6240
|
+
label: t("fields.kinds.person"),
|
|
6241
|
+
group: 8
|
|
6242
|
+
},
|
|
6243
|
+
checkbox: {
|
|
6244
|
+
value: "checkbox",
|
|
6245
|
+
label: t("fields.kinds.checkbox"),
|
|
6246
|
+
group: 9
|
|
6247
|
+
},
|
|
6248
|
+
regex: {
|
|
6249
|
+
value: "regex",
|
|
6250
|
+
label: t("fields.kinds.regex"),
|
|
6251
|
+
group: 10
|
|
6252
|
+
},
|
|
6253
|
+
integer: {
|
|
6254
|
+
value: "integer",
|
|
6255
|
+
label: t("fields.kinds.integer"),
|
|
6256
|
+
group: 2
|
|
6257
|
+
},
|
|
6258
|
+
decimal: {
|
|
6259
|
+
value: "decimal",
|
|
6260
|
+
label: t("fields.kinds.decimal"),
|
|
6261
|
+
group: 2
|
|
6262
|
+
},
|
|
6263
|
+
datetime: {
|
|
6264
|
+
value: "datetime",
|
|
6265
|
+
label: t("fields.kinds.datetime"),
|
|
6266
|
+
group: 11
|
|
6285
6267
|
}
|
|
6286
|
-
return {
|
|
6287
|
-
handleSubmit: handleSubmit,
|
|
6288
|
-
fieldProps: _objectSpread$6(_objectSpread$6({}, formikFieldProps), {}, {
|
|
6289
|
-
required: props[isRequiredColumnName],
|
|
6290
|
-
error: meta.touched && meta.error,
|
|
6291
|
-
options: isDropdown ? buildOptionsToLabelAndValue(fieldData) : undefined,
|
|
6292
|
-
value: getValueForField(formikFieldProps.value),
|
|
6293
|
-
dirty: dirty,
|
|
6294
|
-
label: !individualSubmit && capitalize$1(name),
|
|
6295
|
-
disabled: disabled
|
|
6296
|
-
})
|
|
6297
|
-
};
|
|
6298
6268
|
};
|
|
6299
|
-
|
|
6300
|
-
var
|
|
6301
|
-
|
|
6302
|
-
|
|
6303
|
-
|
|
6304
|
-
return /*#__PURE__*/React.createElement(Switch$1, _extends({}, fieldProps, {
|
|
6305
|
-
checked: fieldProps.value,
|
|
6306
|
-
onChange: function onChange(_ref) {
|
|
6307
|
-
var checked = _ref.target.checked;
|
|
6308
|
-
return handleSubmit(checked);
|
|
6309
|
-
}
|
|
6310
|
-
}));
|
|
6269
|
+
var ADDITIONAL_DATA_NEEDED_FIELD_KINDS = ["single_option", "multi_option", "regex"];
|
|
6270
|
+
var INITIAL_FIELDS = {
|
|
6271
|
+
name: "",
|
|
6272
|
+
kind: toLabelAndValue("text"),
|
|
6273
|
+
isRequired: false
|
|
6311
6274
|
};
|
|
6312
|
-
|
|
6313
|
-
|
|
6314
|
-
|
|
6315
|
-
handleSubmit = _useFormikFields.handleSubmit,
|
|
6316
|
-
fieldProps = _useFormikFields.fieldProps;
|
|
6317
|
-
if (props.kind === KINDS.time) {
|
|
6318
|
-
return /*#__PURE__*/React.createElement(TimePicker, _extends({}, fieldProps, {
|
|
6319
|
-
use12Hours: true,
|
|
6320
|
-
format: "h:mm A",
|
|
6321
|
-
onChange: function onChange(dateTime) {
|
|
6322
|
-
return handleSubmit(dateTimeToString(dateTime));
|
|
6323
|
-
}
|
|
6324
|
-
}));
|
|
6325
|
-
} else if (props.kind === KINDS.date) {
|
|
6326
|
-
return /*#__PURE__*/React.createElement(DatePicker, _extends({}, fieldProps, {
|
|
6327
|
-
onChange: function onChange(dateTime) {
|
|
6328
|
-
return handleSubmit(dateTimeToString(dateTime));
|
|
6329
|
-
}
|
|
6330
|
-
}));
|
|
6331
|
-
}
|
|
6332
|
-
return /*#__PURE__*/React.createElement(DatePicker, _extends({
|
|
6333
|
-
showTime: true,
|
|
6334
|
-
timeFormat: "h:mm A"
|
|
6335
|
-
}, fieldProps, {
|
|
6336
|
-
onChange: function onChange(dateTime) {
|
|
6337
|
-
return handleSubmit(dateTimeToString(dateTime));
|
|
6338
|
-
}
|
|
6339
|
-
}));
|
|
6275
|
+
var DEFAULT_OPTION = {
|
|
6276
|
+
label: "",
|
|
6277
|
+
displayOrder: 0
|
|
6340
6278
|
};
|
|
6341
|
-
|
|
6342
|
-
var
|
|
6343
|
-
|
|
6344
|
-
|
|
6345
|
-
fieldProps = _useFormikFields.fieldProps;
|
|
6346
|
-
return /*#__PURE__*/React.createElement(Select$1, _extends({
|
|
6347
|
-
isMulti: true,
|
|
6348
|
-
isSearchable: true
|
|
6349
|
-
}, fieldProps, {
|
|
6350
|
-
onChange: function onChange(selectedOptions) {
|
|
6351
|
-
return handleSubmit(pluck("value", selectedOptions));
|
|
6352
|
-
}
|
|
6353
|
-
}));
|
|
6279
|
+
var DEFAULT_OPTIONS_DATA = [DEFAULT_OPTION];
|
|
6280
|
+
var DEFAULT_REGEX_DATA = {
|
|
6281
|
+
regex: "",
|
|
6282
|
+
helpMessage: ""
|
|
6354
6283
|
};
|
|
6355
|
-
|
|
6356
|
-
|
|
6357
|
-
|
|
6358
|
-
|
|
6359
|
-
|
|
6360
|
-
|
|
6361
|
-
|
|
6362
|
-
|
|
6363
|
-
|
|
6364
|
-
|
|
6365
|
-
|
|
6366
|
-
|
|
6367
|
-
|
|
6368
|
-
|
|
6369
|
-
}
|
|
6370
|
-
|
|
6284
|
+
var BASIC_FIELD_FORM_VALIDATIONS = {
|
|
6285
|
+
name: yup.string().trim().required(t("validations.fieldNameIsRequired")),
|
|
6286
|
+
isRequired: yup["boolean"](),
|
|
6287
|
+
kind: yup.object().shape({
|
|
6288
|
+
value: yup.string().required()
|
|
6289
|
+
}).required(t("validations.kindIsRequired")),
|
|
6290
|
+
data: yup.mixed().when("kind", {
|
|
6291
|
+
is: function is(kind) {
|
|
6292
|
+
return isRegex(kind === null || kind === void 0 ? void 0 : kind.value);
|
|
6293
|
+
},
|
|
6294
|
+
then: regexValidationSchema
|
|
6295
|
+
}).when("kind", {
|
|
6296
|
+
is: function is(kind) {
|
|
6297
|
+
return isDropdown(kind === null || kind === void 0 ? void 0 : kind.value);
|
|
6298
|
+
},
|
|
6299
|
+
then: dropDownOptionsValidationSchema
|
|
6300
|
+
})
|
|
6371
6301
|
};
|
|
6372
6302
|
|
|
6373
|
-
var
|
|
6374
|
-
var
|
|
6375
|
-
|
|
6376
|
-
|
|
6377
|
-
|
|
6378
|
-
|
|
6379
|
-
|
|
6380
|
-
|
|
6381
|
-
|
|
6303
|
+
var AdditionalInputs = function AdditionalInputs() {
|
|
6304
|
+
var _useTranslation = useTranslation(),
|
|
6305
|
+
t = _useTranslation.t;
|
|
6306
|
+
var _useFormikContext = useFormikContext(),
|
|
6307
|
+
_useFormikContext$val = _useFormikContext.values,
|
|
6308
|
+
kind = _useFormikContext$val.kind,
|
|
6309
|
+
options = _useFormikContext$val.data,
|
|
6310
|
+
isSystem = _useFormikContext$val.isSystem;
|
|
6311
|
+
var removeOption = function removeOption(arrayHelpers, index) {
|
|
6312
|
+
return arrayHelpers.remove(index);
|
|
6382
6313
|
};
|
|
6383
|
-
|
|
6384
|
-
return
|
|
6385
|
-
|
|
6386
|
-
|
|
6314
|
+
var addOption = function addOption(arrayHelpers) {
|
|
6315
|
+
return arrayHelpers.push(DEFAULT_OPTION);
|
|
6316
|
+
};
|
|
6317
|
+
if (isDropdown(kind.value)) {
|
|
6318
|
+
return /*#__PURE__*/React.createElement(FieldArray, {
|
|
6319
|
+
name: "data"
|
|
6320
|
+
}, function (arrayHelpers) {
|
|
6321
|
+
return /*#__PURE__*/React.createElement("div", {
|
|
6322
|
+
className: "flex w-full flex-col gap-y-4"
|
|
6323
|
+
}, /*#__PURE__*/React.createElement(Label, {
|
|
6324
|
+
required: true
|
|
6325
|
+
}, t("titles.dropdownOptions")), isNotEmpty(options) && Array.isArray(options) && options.map(function (_, index) {
|
|
6326
|
+
return /*#__PURE__*/React.createElement("div", {
|
|
6327
|
+
className: "flex w-full space-x-3",
|
|
6328
|
+
key: index
|
|
6329
|
+
}, /*#__PURE__*/React.createElement("div", {
|
|
6330
|
+
className: "w-full"
|
|
6331
|
+
}, /*#__PURE__*/React.createElement(Input$1, {
|
|
6332
|
+
disabled: isSystem,
|
|
6333
|
+
name: "data.".concat(index, ".label"),
|
|
6334
|
+
placeholder: t("placeholders.enterAnOption"),
|
|
6335
|
+
suffix: options.length > 1 && /*#__PURE__*/React.createElement(Button$1, {
|
|
6336
|
+
icon: Delete,
|
|
6337
|
+
style: "text",
|
|
6338
|
+
onClick: function onClick() {
|
|
6339
|
+
return removeOption(arrayHelpers, index);
|
|
6340
|
+
}
|
|
6341
|
+
})
|
|
6342
|
+
})));
|
|
6343
|
+
}), /*#__PURE__*/React.createElement(Button$1, {
|
|
6344
|
+
fullWidth: true,
|
|
6345
|
+
className: "mb-6 border-dashed text-xs uppercase",
|
|
6346
|
+
label: t("labels.addMoreOption"),
|
|
6347
|
+
style: "secondary",
|
|
6348
|
+
onClick: function onClick() {
|
|
6349
|
+
return addOption(arrayHelpers);
|
|
6350
|
+
}
|
|
6351
|
+
}));
|
|
6352
|
+
});
|
|
6353
|
+
} else if (isRegex(kind.value)) {
|
|
6354
|
+
return /*#__PURE__*/React.createElement("div", {
|
|
6355
|
+
className: "flex w-full flex-col gap-y-4"
|
|
6356
|
+
}, /*#__PURE__*/React.createElement(Label, {
|
|
6357
|
+
required: true
|
|
6358
|
+
}, t("titles.regexOptions")), /*#__PURE__*/React.createElement(Input$1, {
|
|
6359
|
+
disabled: isSystem,
|
|
6360
|
+
label: t("labels.regexCondition"),
|
|
6361
|
+
name: "data.condition",
|
|
6362
|
+
placeholder: t("placeholders.regexExample")
|
|
6363
|
+
}), /*#__PURE__*/React.createElement(Input$1, {
|
|
6364
|
+
disabled: isSystem,
|
|
6365
|
+
label: t("labels.helpMessage"),
|
|
6366
|
+
name: "data.helpMessage",
|
|
6367
|
+
placeholder: t("placeholders.enterErrorMessage")
|
|
6387
6368
|
}));
|
|
6388
6369
|
}
|
|
6389
|
-
|
|
6390
|
-
//time_range
|
|
6391
|
-
return /*#__PURE__*/React.createElement(TimePicker, _extends({}, fieldProps, {
|
|
6392
|
-
use12Hours: true,
|
|
6393
|
-
format: "h:mm A",
|
|
6394
|
-
type: "range",
|
|
6395
|
-
onChange: handleChange
|
|
6396
|
-
}));
|
|
6370
|
+
return null;
|
|
6397
6371
|
};
|
|
6398
6372
|
|
|
6399
|
-
|
|
6400
|
-
var _useFormikFields = useFormikFields(props),
|
|
6401
|
-
handleSubmit = _useFormikFields.handleSubmit,
|
|
6402
|
-
fieldProps = _useFormikFields.fieldProps;
|
|
6403
|
-
return /*#__PURE__*/React.createElement(Select$1, _extends({
|
|
6404
|
-
isSearchable: true
|
|
6405
|
-
}, fieldProps, {
|
|
6406
|
-
onChange: function onChange(_ref) {
|
|
6407
|
-
var value = _ref.value;
|
|
6408
|
-
return handleSubmit(value);
|
|
6409
|
-
}
|
|
6410
|
-
}));
|
|
6411
|
-
};
|
|
6373
|
+
/** @type {React.FC<import("types").FieldFormProps>} */
|
|
6412
6374
|
|
|
6413
|
-
var
|
|
6414
|
-
var
|
|
6415
|
-
|
|
6416
|
-
|
|
6417
|
-
|
|
6418
|
-
|
|
6419
|
-
|
|
6420
|
-
|
|
6421
|
-
|
|
6422
|
-
|
|
6423
|
-
|
|
6424
|
-
|
|
6425
|
-
|
|
6426
|
-
|
|
6375
|
+
var FieldForm = function FieldForm(_ref) {
|
|
6376
|
+
var chosenKind = _ref.chosenKind,
|
|
6377
|
+
_ref$kindSelectOption = _ref.kindSelectOptions,
|
|
6378
|
+
kindSelectOptions = _ref$kindSelectOption === void 0 ? [] : _ref$kindSelectOption,
|
|
6379
|
+
_ref$isSystem = _ref.isSystem,
|
|
6380
|
+
isSystem = _ref$isSystem === void 0 ? false : _ref$isSystem,
|
|
6381
|
+
_ref$hideRequiredSwit = _ref.hideRequiredSwitch,
|
|
6382
|
+
hideRequiredSwitch = _ref$hideRequiredSwit === void 0 ? false : _ref$hideRequiredSwit,
|
|
6383
|
+
children = _ref.children;
|
|
6384
|
+
var _useTranslation = useTranslation(),
|
|
6385
|
+
t = _useTranslation.t;
|
|
6386
|
+
var _useFormikContext = useFormikContext(),
|
|
6387
|
+
options = _useFormikContext.values.data,
|
|
6388
|
+
setFieldValue = _useFormikContext.setFieldValue;
|
|
6389
|
+
var handleKindChange = function handleKindChange(kind) {
|
|
6390
|
+
setFieldValue("kind", kind);
|
|
6391
|
+
if (isDropdown(kind.value)) {
|
|
6392
|
+
setFieldValue("data", options !== null && options !== void 0 ? options : DEFAULT_OPTIONS_DATA);
|
|
6393
|
+
} else if (isRegex(kind.value)) {
|
|
6394
|
+
setFieldValue("data", options !== null && options !== void 0 ? options : DEFAULT_REGEX_DATA);
|
|
6395
|
+
}
|
|
6396
|
+
};
|
|
6397
|
+
return /*#__PURE__*/React.createElement(Pane.Body, null, /*#__PURE__*/React.createElement("div", {
|
|
6398
|
+
className: "w-full space-y-4"
|
|
6399
|
+
}, /*#__PURE__*/React.createElement(Input$1, {
|
|
6400
|
+
required: true,
|
|
6401
|
+
disabled: isSystem,
|
|
6402
|
+
label: t("labels.fieldName"),
|
|
6403
|
+
name: "name",
|
|
6404
|
+
placeholder: t("placeholders.enterFieldName")
|
|
6405
|
+
}), /*#__PURE__*/React.createElement(Select$1, {
|
|
6406
|
+
isSearchable: true,
|
|
6407
|
+
isDisabled: isSystem,
|
|
6408
|
+
label: t("labels.fieldKind"),
|
|
6409
|
+
name: "kind",
|
|
6410
|
+
options: kindSelectOptions,
|
|
6411
|
+
onChange: handleKindChange
|
|
6412
|
+
}), isAdditionalDataNeeded(chosenKind) && /*#__PURE__*/React.createElement(AdditionalInputs, null), !hideRequiredSwitch && /*#__PURE__*/React.createElement(Label, {
|
|
6413
|
+
className: "flex items-center gap-2"
|
|
6414
|
+
}, /*#__PURE__*/React.createElement(Switch$1, {
|
|
6415
|
+
name: "isRequired"
|
|
6416
|
+
}), /*#__PURE__*/React.createElement(Typography, {
|
|
6417
|
+
className: "leading-4",
|
|
6418
|
+
component: "span",
|
|
6419
|
+
style: "body2"
|
|
6420
|
+
}, t("labels.isRequired"))), children));
|
|
6427
6421
|
};
|
|
6428
6422
|
|
|
6429
|
-
var
|
|
6423
|
+
var _excluded$2 = ["resourceType", "allowedKinds", "ownerId", "additionalValidations", "initialValues", "onClose", "onMutationSuccess"];
|
|
6424
|
+
function ownKeys$5(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
|
|
6425
|
+
function _objectSpread$5(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys$5(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys$5(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
|
|
6426
|
+
|
|
6427
|
+
/** @type {React.FC<import("types").AddProps>} */
|
|
6428
|
+
|
|
6429
|
+
var Add = function Add(_ref) {
|
|
6430
|
+
var resourceType = _ref.resourceType,
|
|
6431
|
+
_ref$allowedKinds = _ref.allowedKinds,
|
|
6432
|
+
allowedKinds = _ref$allowedKinds === void 0 ? ALL_KINDS : _ref$allowedKinds,
|
|
6433
|
+
ownerId = _ref.ownerId,
|
|
6434
|
+
additionalValidations = _ref.additionalValidations,
|
|
6435
|
+
initialValues = _ref.initialValues,
|
|
6436
|
+
onClose = _ref.onClose,
|
|
6437
|
+
onMutationSuccess = _ref.onMutationSuccess,
|
|
6438
|
+
props = _objectWithoutProperties(_ref, _excluded$2);
|
|
6430
6439
|
var _useTranslation = useTranslation(),
|
|
6431
6440
|
t = _useTranslation.t;
|
|
6432
|
-
var
|
|
6433
|
-
|
|
6434
|
-
|
|
6435
|
-
|
|
6436
|
-
|
|
6437
|
-
|
|
6438
|
-
|
|
6439
|
-
|
|
6440
|
-
|
|
6441
|
-
|
|
6441
|
+
var _useCreateField = useCreateField({
|
|
6442
|
+
onSuccess: onMutationSuccess
|
|
6443
|
+
}),
|
|
6444
|
+
createField = _useCreateField.mutate,
|
|
6445
|
+
isSubmitting = _useCreateField.isLoading;
|
|
6446
|
+
var filteredKinds = values(pick(allowedKinds, FIELD_KINDS));
|
|
6447
|
+
var handleSubmit = function handleSubmit(formValues) {
|
|
6448
|
+
var payload = buildPayload({
|
|
6449
|
+
formValues: formValues,
|
|
6450
|
+
resourceType: resourceType,
|
|
6451
|
+
ownerId: ownerId
|
|
6452
|
+
});
|
|
6453
|
+
createField(payload, {
|
|
6454
|
+
onSuccess: onClose
|
|
6455
|
+
});
|
|
6456
|
+
};
|
|
6457
|
+
return /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(Pane.Header, null, /*#__PURE__*/React.createElement(Typography, {
|
|
6458
|
+
style: "h2"
|
|
6459
|
+
}, t("titles.addField"))), /*#__PURE__*/React.createElement(Form, {
|
|
6460
|
+
formikProps: {
|
|
6461
|
+
initialValues: _objectSpread$5(_objectSpread$5({}, initialValues), INITIAL_FIELDS),
|
|
6462
|
+
validationSchema: generateValidationSchema(additionalValidations),
|
|
6463
|
+
onSubmit: handleSubmit
|
|
6442
6464
|
}
|
|
6465
|
+
}, function (_ref2) {
|
|
6466
|
+
var dirty = _ref2.dirty,
|
|
6467
|
+
kind = _ref2.values.kind;
|
|
6468
|
+
return /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(FieldForm, _extends({
|
|
6469
|
+
chosenKind: kind.value,
|
|
6470
|
+
kindSelectOptions: filteredKinds
|
|
6471
|
+
}, props)), renderFormFooter({
|
|
6472
|
+
onClose: onClose,
|
|
6473
|
+
loading: isSubmitting,
|
|
6474
|
+
dirty: dirty
|
|
6475
|
+
}));
|
|
6443
6476
|
}));
|
|
6444
6477
|
};
|
|
6445
6478
|
|
|
6446
|
-
|
|
6447
|
-
function _objectSpread$5(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys$5(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys$5(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
|
|
6448
|
-
var standardComponents = {
|
|
6449
|
-
text: Text,
|
|
6450
|
-
regex: Text,
|
|
6451
|
-
textarea: TextArea,
|
|
6452
|
-
text_area: TextArea,
|
|
6453
|
-
// TODO: Remove text-area after integration in all hosts.
|
|
6454
|
-
number: Number$1,
|
|
6455
|
-
monetary: Number$1,
|
|
6456
|
-
integer: Number$1,
|
|
6457
|
-
decimal: Number$1,
|
|
6458
|
-
date: DateOrTime,
|
|
6459
|
-
time: DateOrTime,
|
|
6460
|
-
datetime: DateOrTime,
|
|
6461
|
-
single_option: SingleOption,
|
|
6462
|
-
multi_option: MultiOption,
|
|
6463
|
-
date_range: RangePicker,
|
|
6464
|
-
time_range: RangePicker,
|
|
6465
|
-
checkbox: Checkbox
|
|
6466
|
-
};
|
|
6467
|
-
var getFieldInput = function getFieldInput(_ref) {
|
|
6468
|
-
var field = _ref.field,
|
|
6469
|
-
_ref$customComponents = _ref.customComponents,
|
|
6470
|
-
customComponents = _ref$customComponents === void 0 ? {} : _ref$customComponents;
|
|
6471
|
-
var Component = customComponents[field.kind] || standardComponents[field.kind];
|
|
6472
|
-
if (Component) {
|
|
6473
|
-
return Component;
|
|
6474
|
-
}
|
|
6475
|
-
return null;
|
|
6476
|
-
};
|
|
6477
|
-
var removeItemsWithNullData = function removeItemsWithNullData(fieldValues) {
|
|
6478
|
-
return fieldValues.filter(function (item) {
|
|
6479
|
-
return !isNil(prop("data", item));
|
|
6480
|
-
});
|
|
6481
|
-
};
|
|
6482
|
-
var removeNoiseFromValues = function removeNoiseFromValues(fieldValues) {
|
|
6483
|
-
return map(pick(["id", "fieldId", "data"]), fieldValues);
|
|
6484
|
-
};
|
|
6485
|
-
var transformValues = function transformValues(_ref2) {
|
|
6486
|
-
var formikValues = _ref2.values,
|
|
6487
|
-
fields = _ref2.fields;
|
|
6488
|
-
var allFieldValues = clone$1(formikValues);
|
|
6489
|
-
var neetoFieldValues = [];
|
|
6490
|
-
fields.forEach(function (_ref3) {
|
|
6491
|
-
var id = _ref3.id,
|
|
6492
|
-
name = _ref3.name;
|
|
6493
|
-
neetoFieldValues.push(allFieldValues["".concat(name, "-").concat(id)]);
|
|
6494
|
-
delete allFieldValues["".concat(name, "-").concat(id)];
|
|
6495
|
-
});
|
|
6496
|
-
var cleanedFieldValues = pipe(removeItemsWithNullData, removeNoiseFromValues)(neetoFieldValues);
|
|
6497
|
-
return _objectSpread$5(_objectSpread$5({}, allFieldValues), {}, {
|
|
6498
|
-
fieldValuesAttributes: cleanedFieldValues
|
|
6499
|
-
});
|
|
6500
|
-
};
|
|
6501
|
-
var getInitialFieldValue = function getInitialFieldValue(field) {
|
|
6502
|
-
var fieldValues = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : [];
|
|
6503
|
-
var existingFieldValueData = findBy({
|
|
6504
|
-
fieldId: field.id
|
|
6505
|
-
}, fieldValues);
|
|
6506
|
-
var newFieldValueData = {
|
|
6507
|
-
fieldId: field.id,
|
|
6508
|
-
data: null
|
|
6509
|
-
};
|
|
6510
|
-
return _defineProperty({}, "".concat(field.name, "-").concat(field.id), existingFieldValueData || newFieldValueData);
|
|
6511
|
-
};
|
|
6512
|
-
var getAllInitialFieldValues = function getAllInitialFieldValues(fields) {
|
|
6513
|
-
var fieldValues = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : [];
|
|
6514
|
-
return getNonSystemFields(fields).map(function (field) {
|
|
6515
|
-
return getInitialFieldValue(field, fieldValues);
|
|
6516
|
-
});
|
|
6517
|
-
};
|
|
6518
|
-
var mergeInitialValues = function mergeInitialValues(_ref5) {
|
|
6519
|
-
var initialValues = _ref5.initialValues,
|
|
6520
|
-
fields = _ref5.fields;
|
|
6521
|
-
var initialValue = mergeAll([initialValues].concat(_toConsumableArray(getAllInitialFieldValues(fields, initialValues === null || initialValues === void 0 ? void 0 : initialValues.fieldValues))));
|
|
6522
|
-
return omit(["fieldValues"], initialValue);
|
|
6523
|
-
};
|
|
6524
|
-
var getNonSystemFields = function getNonSystemFields(fields) {
|
|
6525
|
-
return filterBy({
|
|
6526
|
-
isSystem: false
|
|
6527
|
-
}, fields);
|
|
6528
|
-
};
|
|
6529
|
-
var neetoFieldsUtils = {
|
|
6530
|
-
mergeInitialValues: mergeInitialValues,
|
|
6531
|
-
transformValues: transformValues
|
|
6532
|
-
};
|
|
6533
|
-
|
|
6479
|
+
var _excluded$1 = ["fieldId", "allowedKinds", "ownerId", "additionalValidations", "initialValues", "onClose", "onMutationSuccess"];
|
|
6534
6480
|
function ownKeys$4(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
|
|
6535
6481
|
function _objectSpread$4(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys$4(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys$4(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
|
|
6536
|
-
|
|
6537
|
-
|
|
6538
|
-
|
|
6539
|
-
|
|
6540
|
-
|
|
6541
|
-
|
|
6542
|
-
|
|
6482
|
+
|
|
6483
|
+
/** @type {React.FC<import("types").EditProps>} */
|
|
6484
|
+
|
|
6485
|
+
var Edit = function Edit(_ref) {
|
|
6486
|
+
var fieldId = _ref.fieldId,
|
|
6487
|
+
_ref$allowedKinds = _ref.allowedKinds,
|
|
6488
|
+
allowedKinds = _ref$allowedKinds === void 0 ? ALL_KINDS : _ref$allowedKinds,
|
|
6489
|
+
ownerId = _ref.ownerId,
|
|
6490
|
+
_ref$additionalValida = _ref.additionalValidations,
|
|
6491
|
+
additionalValidations = _ref$additionalValida === void 0 ? {} : _ref$additionalValida,
|
|
6492
|
+
_ref$initialValues = _ref.initialValues,
|
|
6493
|
+
initialValues = _ref$initialValues === void 0 ? {} : _ref$initialValues,
|
|
6494
|
+
onClose = _ref.onClose,
|
|
6495
|
+
onMutationSuccess = _ref.onMutationSuccess,
|
|
6496
|
+
props = _objectWithoutProperties(_ref, _excluded$1);
|
|
6543
6497
|
var _useTranslation = useTranslation(),
|
|
6544
6498
|
t = _useTranslation.t;
|
|
6545
|
-
|
|
6546
|
-
|
|
6547
|
-
|
|
6548
|
-
|
|
6499
|
+
var _useShowField = useShowField({
|
|
6500
|
+
fieldId: fieldId,
|
|
6501
|
+
ownerId: ownerId
|
|
6502
|
+
}),
|
|
6503
|
+
_useShowField$data = _useShowField.data,
|
|
6504
|
+
_useShowField$data2 = _useShowField$data === void 0 ? {} : _useShowField$data,
|
|
6505
|
+
_useShowField$data2$f = _useShowField$data2.field,
|
|
6506
|
+
field = _useShowField$data2$f === void 0 ? {} : _useShowField$data2$f;
|
|
6507
|
+
var _useUpdateField = useUpdateField({
|
|
6508
|
+
onSuccess: function onSuccess() {
|
|
6509
|
+
for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
|
|
6510
|
+
args[_key] = arguments[_key];
|
|
6511
|
+
}
|
|
6512
|
+
onMutationSuccess === null || onMutationSuccess === void 0 ? void 0 : onMutationSuccess.apply(void 0, args);
|
|
6513
|
+
onClose();
|
|
6514
|
+
}
|
|
6515
|
+
}),
|
|
6516
|
+
updateField = _useUpdateField.mutate,
|
|
6517
|
+
isSubmitting = _useUpdateField.isLoading;
|
|
6518
|
+
var handleSubmit = function handleSubmit(formValues) {
|
|
6519
|
+
var payload = buildPayload({
|
|
6520
|
+
formValues: formValues,
|
|
6521
|
+
ownerId: ownerId
|
|
6549
6522
|
});
|
|
6550
|
-
|
|
6551
|
-
|
|
6552
|
-
|
|
6553
|
-
|
|
6554
|
-
|
|
6555
|
-
|
|
6556
|
-
|
|
6557
|
-
|
|
6523
|
+
updateField({
|
|
6524
|
+
fieldId: fieldId,
|
|
6525
|
+
payload: payload
|
|
6526
|
+
});
|
|
6527
|
+
};
|
|
6528
|
+
return /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(Pane.Header, null, /*#__PURE__*/React.createElement(Typography, {
|
|
6529
|
+
style: "h2"
|
|
6530
|
+
}, t("titles.editField"))), /*#__PURE__*/React.createElement(Form, {
|
|
6531
|
+
formikProps: {
|
|
6532
|
+
initialValues: _objectSpread$4(_objectSpread$4({}, initialValues), assoc("kind", FIELD_KINDS[field.kind], field)),
|
|
6533
|
+
validationSchema: generateValidationSchema(additionalValidations),
|
|
6534
|
+
enableReinitialize: true,
|
|
6535
|
+
onSubmit: handleSubmit
|
|
6558
6536
|
}
|
|
6559
|
-
|
|
6560
|
-
|
|
6561
|
-
|
|
6562
|
-
|
|
6563
|
-
|
|
6537
|
+
}, function (_ref2) {
|
|
6538
|
+
var kind = _ref2.values.kind,
|
|
6539
|
+
dirty = _ref2.dirty;
|
|
6540
|
+
var permittedKinds = getPermittedKinds({
|
|
6541
|
+
allowedKinds: allowedKinds,
|
|
6542
|
+
selectedKind: kind
|
|
6543
|
+
});
|
|
6544
|
+
return /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(FieldForm, _extends({
|
|
6545
|
+
chosenKind: kind === null || kind === void 0 ? void 0 : kind.value,
|
|
6546
|
+
isSystem: field.isSystem,
|
|
6547
|
+
kindSelectOptions: permittedKinds
|
|
6548
|
+
}, props)), renderFormFooter({
|
|
6549
|
+
onClose: onClose,
|
|
6550
|
+
loading: isSubmitting,
|
|
6551
|
+
dirty: dirty
|
|
6552
|
+
}));
|
|
6553
|
+
}));
|
|
6554
|
+
};
|
|
6555
|
+
|
|
6556
|
+
var _excluded = ["isOpen", "selectedField"];
|
|
6557
|
+
|
|
6558
|
+
/** @type {React.FC<import("types").FieldsPaneProps>} */
|
|
6559
|
+
|
|
6560
|
+
var FieldsPane = function FieldsPane(_ref) {
|
|
6561
|
+
var isOpen = _ref.isOpen,
|
|
6562
|
+
_ref$selectedField = _ref.selectedField,
|
|
6563
|
+
selectedField = _ref$selectedField === void 0 ? {} : _ref$selectedField,
|
|
6564
|
+
props = _objectWithoutProperties(_ref, _excluded);
|
|
6565
|
+
return /*#__PURE__*/React.createElement(Pane, {
|
|
6566
|
+
isOpen: isOpen,
|
|
6567
|
+
onClose: props.onClose
|
|
6568
|
+
}, isEmpty(selectedField) ? /*#__PURE__*/React.createElement(Add, props) : /*#__PURE__*/React.createElement(Edit, _extends({
|
|
6569
|
+
fieldId: selectedField === null || selectedField === void 0 ? void 0 : selectedField.id
|
|
6570
|
+
}, props)));
|
|
6564
6571
|
};
|
|
6565
6572
|
|
|
6566
6573
|
var Menu = Dropdown.Menu,
|
|
@@ -6725,6 +6732,7 @@ var useFieldsDashboard = function useFieldsDashboard(_ref) {
|
|
|
6725
6732
|
var _getQueryParams = getQueryParams(),
|
|
6726
6733
|
resource = _getQueryParams.resource,
|
|
6727
6734
|
state = _getQueryParams.state;
|
|
6735
|
+
var ownerId = showOwnersInMenu ? resource : undefined;
|
|
6728
6736
|
var history = useHistory();
|
|
6729
6737
|
var _useFetchConfigs = useFetchConfigs(),
|
|
6730
6738
|
_useFetchConfigs$data = _useFetchConfigs.data,
|
|
@@ -6736,7 +6744,7 @@ var useFieldsDashboard = function useFieldsDashboard(_ref) {
|
|
|
6736
6744
|
isConfigsLoading = _useFetchConfigs.isLoading;
|
|
6737
6745
|
var fieldParams = {
|
|
6738
6746
|
resourceType: !showOwnersInMenu ? resource : undefined,
|
|
6739
|
-
ownerId:
|
|
6747
|
+
ownerId: ownerId,
|
|
6740
6748
|
state: state || FIELD_STATES.active
|
|
6741
6749
|
};
|
|
6742
6750
|
var _useFetchFields = useFetchFields(fieldParams, {
|
|
@@ -6751,15 +6759,18 @@ var useFieldsDashboard = function useFieldsDashboard(_ref) {
|
|
|
6751
6759
|
inactiveFieldsCount = _useFetchFields$data2.inactiveFieldsCount,
|
|
6752
6760
|
isFieldsLoading = _useFetchFields.isLoading,
|
|
6753
6761
|
isFieldsFetching = _useFetchFields.isFetching;
|
|
6754
|
-
var _useDestroyField = useDestroyField(
|
|
6755
|
-
deleteField = _useDestroyField.mutate,
|
|
6756
|
-
isDeleting = _useDestroyField.isLoading;
|
|
6757
|
-
var handleDelete = function handleDelete() {
|
|
6758
|
-
deleteField(selectedField.id, {
|
|
6762
|
+
var _useDestroyField = useDestroyField({
|
|
6759
6763
|
onSuccess: function onSuccess() {
|
|
6760
6764
|
setIsDeleteAlertOpen(false);
|
|
6761
6765
|
setSelectedField({});
|
|
6762
6766
|
}
|
|
6767
|
+
}),
|
|
6768
|
+
deleteField = _useDestroyField.mutate,
|
|
6769
|
+
isDeleting = _useDestroyField.isLoading;
|
|
6770
|
+
var handleDelete = function handleDelete() {
|
|
6771
|
+
deleteField({
|
|
6772
|
+
fieldId: selectedField.id,
|
|
6773
|
+
ownerId: ownerId
|
|
6763
6774
|
});
|
|
6764
6775
|
};
|
|
6765
6776
|
var handleClosePane = function handleClosePane() {
|
|
@@ -6836,6 +6847,7 @@ var useFieldsDashboard = function useFieldsDashboard(_ref) {
|
|
|
6836
6847
|
selectedField: selectedField,
|
|
6837
6848
|
selectedState: state,
|
|
6838
6849
|
selectedMenu: resource,
|
|
6850
|
+
// resource will be ownerId if showOwnersInMenu is true, else it will be resourceType
|
|
6839
6851
|
isFieldsFetching: isFieldsFetching,
|
|
6840
6852
|
isFieldsLoading: isFieldsLoading,
|
|
6841
6853
|
isDeleting: isDeleting,
|
|
@@ -11149,7 +11161,8 @@ var FieldBlock$1 = /*#__PURE__*/React.memo(FieldBlock);
|
|
|
11149
11161
|
var ReorderPane = function ReorderPane(_ref) {
|
|
11150
11162
|
var isOpen = _ref.isOpen,
|
|
11151
11163
|
onClose = _ref.onClose,
|
|
11152
|
-
allFields = _ref.allFields
|
|
11164
|
+
allFields = _ref.allFields,
|
|
11165
|
+
ownerId = _ref.ownerId;
|
|
11153
11166
|
var _useState = useState([]),
|
|
11154
11167
|
_useState2 = _slicedToArray(_useState, 2),
|
|
11155
11168
|
fields = _useState2[0],
|
|
@@ -11174,10 +11187,11 @@ var ReorderPane = function ReorderPane(_ref) {
|
|
|
11174
11187
|
fields.map(function (field, index) {
|
|
11175
11188
|
return field.id !== allFields[index].id && params.push({
|
|
11176
11189
|
id: field.id,
|
|
11177
|
-
displayOrder: index
|
|
11190
|
+
displayOrder: index + 1
|
|
11178
11191
|
});
|
|
11179
11192
|
});
|
|
11180
11193
|
reorderField({
|
|
11194
|
+
ownerId: isEmpty(ownerId) ? undefined : ownerId,
|
|
11181
11195
|
fields: params
|
|
11182
11196
|
}, {
|
|
11183
11197
|
onSuccess: onClose
|
|
@@ -11214,12 +11228,12 @@ var ReorderPane = function ReorderPane(_ref) {
|
|
|
11214
11228
|
});
|
|
11215
11229
|
}))))), /*#__PURE__*/React.createElement(Pane.Footer, {
|
|
11216
11230
|
className: "flex items-center space-x-2"
|
|
11217
|
-
}, /*#__PURE__*/React.createElement(Button, {
|
|
11231
|
+
}, /*#__PURE__*/React.createElement(Button$1, {
|
|
11218
11232
|
disabled: initialStateRef.current === fields,
|
|
11219
11233
|
label: t("labels.saveChanges"),
|
|
11220
11234
|
loading: isSubmitting,
|
|
11221
11235
|
onClick: handleReorderSave
|
|
11222
|
-
}), /*#__PURE__*/React.createElement(Button, {
|
|
11236
|
+
}), /*#__PURE__*/React.createElement(Button$1, {
|
|
11223
11237
|
label: t("labels.cancel"),
|
|
11224
11238
|
style: "text",
|
|
11225
11239
|
onClick: onClose
|
|
@@ -11307,7 +11321,7 @@ var FieldsDashboard = function FieldsDashboard(_ref) {
|
|
|
11307
11321
|
menuBarToggle: function menuBarToggle() {
|
|
11308
11322
|
return setIsMenuBarOpen(not);
|
|
11309
11323
|
},
|
|
11310
|
-
actionBlock: /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(Button, {
|
|
11324
|
+
actionBlock: /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(Button$1, {
|
|
11311
11325
|
label: t("labels.reorder"),
|
|
11312
11326
|
style: "secondary",
|
|
11313
11327
|
disabled: !existsBy({
|
|
@@ -11317,7 +11331,7 @@ var FieldsDashboard = function FieldsDashboard(_ref) {
|
|
|
11317
11331
|
onClick: function onClick() {
|
|
11318
11332
|
return setIsReorderPaneOpen(true);
|
|
11319
11333
|
}
|
|
11320
|
-
}), /*#__PURE__*/React.createElement(Button, {
|
|
11334
|
+
}), /*#__PURE__*/React.createElement(Button$1, {
|
|
11321
11335
|
label: t("labels.addField"),
|
|
11322
11336
|
onClick: function onClick() {
|
|
11323
11337
|
return setIsPaneOpen(true);
|
|
@@ -11328,9 +11342,12 @@ var FieldsDashboard = function FieldsDashboard(_ref) {
|
|
|
11328
11342
|
hideRequiredSwitch: paneProps === null || paneProps === void 0 ? void 0 : paneProps.hideRequiredSwitch,
|
|
11329
11343
|
initialValues: paneProps === null || paneProps === void 0 ? void 0 : paneProps.initialValues,
|
|
11330
11344
|
isOpen: isPaneOpen,
|
|
11331
|
-
|
|
11345
|
+
ownerId: showOwnersInMenu ? selectedMenu : "",
|
|
11346
|
+
resourceType: showOwnersInMenu ? resourceType : selectedMenu //Currently we support only one resource type when fields are classified based on owners
|
|
11347
|
+
,
|
|
11332
11348
|
selectedField: selectedField,
|
|
11333
|
-
onClose: handleClosePane
|
|
11349
|
+
onClose: handleClosePane,
|
|
11350
|
+
onMutationSuccess: paneProps === null || paneProps === void 0 ? void 0 : paneProps.onMutationSuccess
|
|
11334
11351
|
}, paneProps === null || paneProps === void 0 ? void 0 : paneProps.children)),
|
|
11335
11352
|
title: humanize(getDashBoardTitle({
|
|
11336
11353
|
isOwnerBased: showOwnersInMenu,
|
|
@@ -11351,6 +11368,7 @@ var FieldsDashboard = function FieldsDashboard(_ref) {
|
|
|
11351
11368
|
})), /*#__PURE__*/React.createElement(ReorderPane, {
|
|
11352
11369
|
allFields: fields,
|
|
11353
11370
|
isOpen: isReorderPaneOpen,
|
|
11371
|
+
ownerId: showOwnersInMenu ? selectedMenu : "",
|
|
11354
11372
|
onClose: handleReorderPaneClose
|
|
11355
11373
|
}), /*#__PURE__*/React.createElement(Alert, {
|
|
11356
11374
|
isOpen: isDeleteAlertOpen,
|
|
@@ -11396,8 +11414,11 @@ var useCreateFieldValue = function useCreateFieldValue(options) {
|
|
|
11396
11414
|
var queryClient = useQueryClient();
|
|
11397
11415
|
return useMutation(fieldValuesApi.create, _objectSpread$1(_objectSpread$1({}, options), {}, {
|
|
11398
11416
|
onSuccess: function onSuccess() {
|
|
11417
|
+
for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
|
|
11418
|
+
args[_key] = arguments[_key];
|
|
11419
|
+
}
|
|
11420
|
+
options === null || options === void 0 ? void 0 : options.onSuccess.apply(options, args);
|
|
11399
11421
|
queryClient.invalidateQueries([QUERY_KEYS.FIELD_VALUES]);
|
|
11400
|
-
options === null || options === void 0 ? void 0 : options.onSuccess();
|
|
11401
11422
|
}
|
|
11402
11423
|
}));
|
|
11403
11424
|
};
|
|
@@ -11405,8 +11426,11 @@ var useUpdateFieldValue = function useUpdateFieldValue(options) {
|
|
|
11405
11426
|
var queryClient = useQueryClient();
|
|
11406
11427
|
return useMutation(fieldValuesApi.update, _objectSpread$1(_objectSpread$1({}, options), {}, {
|
|
11407
11428
|
onSuccess: function onSuccess() {
|
|
11429
|
+
for (var _len2 = arguments.length, args = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {
|
|
11430
|
+
args[_key2] = arguments[_key2];
|
|
11431
|
+
}
|
|
11432
|
+
options === null || options === void 0 ? void 0 : options.onSuccess.apply(options, args);
|
|
11408
11433
|
queryClient.invalidateQueries([QUERY_KEYS.FIELD_VALUES]);
|
|
11409
|
-
options === null || options === void 0 ? void 0 : options.onSuccess();
|
|
11410
11434
|
}
|
|
11411
11435
|
}));
|
|
11412
11436
|
};
|
|
@@ -11438,8 +11462,6 @@ var FieldValuesContainer = function FieldValuesContainer(_ref) {
|
|
|
11438
11462
|
_ref$ownerId = _ref.ownerId,
|
|
11439
11463
|
ownerId = _ref$ownerId === void 0 ? "" : _ref$ownerId,
|
|
11440
11464
|
resourceId = _ref.resourceId,
|
|
11441
|
-
_ref$queryKeysToBeInv = _ref.queryKeysToBeInvalidatedOnSuccess,
|
|
11442
|
-
queryKeysToBeInvalidatedOnSuccess = _ref$queryKeysToBeInv === void 0 ? [] : _ref$queryKeysToBeInv,
|
|
11443
11465
|
_ref$customComponents = _ref.customComponents,
|
|
11444
11466
|
customComponents = _ref$customComponents === void 0 ? {} : _ref$customComponents,
|
|
11445
11467
|
_ref$className = _ref.className,
|
|
@@ -11452,14 +11474,13 @@ var FieldValuesContainer = function FieldValuesContainer(_ref) {
|
|
|
11452
11474
|
isRequiredColumnName = _ref.isRequiredColumnName,
|
|
11453
11475
|
fieldContainerClassName = _ref.fieldContainerClassName,
|
|
11454
11476
|
fieldClassName = _ref.fieldClassName,
|
|
11455
|
-
labelClassName = _ref.labelClassName
|
|
11456
|
-
|
|
11477
|
+
labelClassName = _ref.labelClassName,
|
|
11478
|
+
_ref$onMutationSucces = _ref.onMutationSuccess,
|
|
11479
|
+
onMutationSuccess = _ref$onMutationSucces === void 0 ? noop$2 : _ref$onMutationSucces;
|
|
11457
11480
|
var _useTranslation = useTranslation(),
|
|
11458
11481
|
t = _useTranslation.t;
|
|
11459
11482
|
var queryOptions = {
|
|
11460
|
-
onSuccess:
|
|
11461
|
-
queryClient.invalidateQueries(queryKeysToBeInvalidatedOnSuccess);
|
|
11462
|
-
}
|
|
11483
|
+
onSuccess: onMutationSuccess
|
|
11463
11484
|
};
|
|
11464
11485
|
var _useFetchFields = useFetchFields({
|
|
11465
11486
|
resourceType: isEmpty(resourceType) ? undefined : resourceType,
|
|
@@ -11530,5 +11551,5 @@ var FieldValuesContainer = function FieldValuesContainer(_ref) {
|
|
|
11530
11551
|
}));
|
|
11531
11552
|
};
|
|
11532
11553
|
|
|
11533
|
-
export {
|
|
11554
|
+
export { FieldInputs, FieldValuesContainer, FieldsDashboard, FieldsPane, neetoFieldsUtils, useCreateField, useDestroyField, useFetchFields, useShowField, useUpdateField };
|
|
11534
11555
|
//# sourceMappingURL=index.js.map
|