@bigbinary/neeto-fields-frontend 1.1.2 → 1.1.4
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 +28 -11
- package/dist/index.cjs.js +173 -75
- package/dist/index.cjs.js.map +1 -1
- package/dist/index.js +175 -77
- package/dist/index.js.map +1 -1
- package/package.json +1 -1
- package/types.d.ts +2 -0
package/dist/index.js
CHANGED
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
import React, { useContext, useState, useRef, useEffect, useMemo, useLayoutEffect, useCallback, createContext, memo, useReducer } from 'react';
|
|
2
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, isNotEmpty, capitalize as capitalize$1, filterBy, findBy, humanize, countBy, existsBy, noop as noop$2 } from '@bigbinary/neeto-commons-frontend/pure';
|
|
3
|
+
import { toLabelAndValue, isNotEmpty, capitalize as capitalize$1, filterBy, findBy, slugify, humanize, countBy, existsBy, noop as noop$2 } from '@bigbinary/neeto-commons-frontend/pure';
|
|
4
4
|
import { values, map, isNotNil, isNil, pluck, clone as clone$1, pipe, mergeAll, omit, prop, pick, isEmpty, assoc, any, not, head } from 'ramda';
|
|
5
5
|
import { useFormikContext, useField, FieldArray } from 'formik';
|
|
6
6
|
import * as yup from 'yup';
|
|
7
|
-
import { Check, Delete, MenuHorizontal, Reorder } from '@bigbinary/neeto-icons';
|
|
7
|
+
import { Check, Info, Delete, MenuHorizontal, Reorder } from '@bigbinary/neeto-icons';
|
|
8
8
|
import { Button, ActionBlock, Input as Input$1, Select as Select$1, Switch as Switch$1, Form } from '@bigbinary/neetoui/formik';
|
|
9
9
|
import Container from '@bigbinary/neeto-molecules/Container';
|
|
10
10
|
import Header from '@bigbinary/neeto-molecules/Header';
|
|
@@ -5306,9 +5306,12 @@ var fields = {
|
|
|
5306
5306
|
}
|
|
5307
5307
|
};
|
|
5308
5308
|
var messages = {
|
|
5309
|
-
noFields: "There are no
|
|
5309
|
+
noFields: "There are no {{title}} to show",
|
|
5310
5310
|
confirmDelete: "Are you sure want to delete the field? This action cannot be undone.",
|
|
5311
5311
|
manageFieldFor: "Manage fields for {{resource}}",
|
|
5312
|
+
manageTitleForResource: "Manage {{title}} for {{resource}}",
|
|
5313
|
+
titleForResource: "{{title}} for {{resource}}",
|
|
5314
|
+
stateTitleForResource: "{{state}} {{title}} for {{resource}}",
|
|
5312
5315
|
invalidKind: "Invalid kind",
|
|
5313
5316
|
reorderFields: "Fields are displayed from top to bottom."
|
|
5314
5317
|
};
|
|
@@ -5329,7 +5332,7 @@ var tooltips = {
|
|
|
5329
5332
|
reorder: "Fields a are displayed from top to bottom. Re-order them"
|
|
5330
5333
|
};
|
|
5331
5334
|
var helpTexts = {
|
|
5332
|
-
noData: "Here is how you can use <a>
|
|
5335
|
+
noData: "Here is how you can use <a>{{title}}.</a>"
|
|
5333
5336
|
};
|
|
5334
5337
|
var en = {
|
|
5335
5338
|
common: common,
|
|
@@ -6323,6 +6326,21 @@ var SINGULAR = {
|
|
|
6323
6326
|
var PLURAL = {
|
|
6324
6327
|
count: 2
|
|
6325
6328
|
};
|
|
6329
|
+
var INFO_ICON_SIZE = 16;
|
|
6330
|
+
|
|
6331
|
+
var TitleWithHelpLink = function TitleWithHelpLink(_ref) {
|
|
6332
|
+
var title = _ref.title,
|
|
6333
|
+
helpUrl = _ref.helpUrl;
|
|
6334
|
+
return /*#__PURE__*/React.createElement("div", {
|
|
6335
|
+
className: "flex items-center gap-x-1"
|
|
6336
|
+
}, title, helpUrl && /*#__PURE__*/React.createElement("a", {
|
|
6337
|
+
href: helpUrl,
|
|
6338
|
+
rel: "noreferrer",
|
|
6339
|
+
target: "_blank"
|
|
6340
|
+
}, /*#__PURE__*/React.createElement(Info, {
|
|
6341
|
+
size: INFO_ICON_SIZE
|
|
6342
|
+
})));
|
|
6343
|
+
};
|
|
6326
6344
|
|
|
6327
6345
|
var fieldUrl = function fieldUrl(fieldId) {
|
|
6328
6346
|
return buildUrl(FIELD_URL, {
|
|
@@ -6764,6 +6782,7 @@ var FieldForm = function FieldForm(_ref) {
|
|
|
6764
6782
|
className: "w-full space-y-4"
|
|
6765
6783
|
}, /*#__PURE__*/React.createElement(Input$1, {
|
|
6766
6784
|
required: true,
|
|
6785
|
+
"data-cy": "name-text-field",
|
|
6767
6786
|
disabled: isSystem,
|
|
6768
6787
|
label: t("labels.fieldName"),
|
|
6769
6788
|
name: "name",
|
|
@@ -6776,12 +6795,15 @@ var FieldForm = function FieldForm(_ref) {
|
|
|
6776
6795
|
options: kindSelectOptions,
|
|
6777
6796
|
onChange: handleKindChange
|
|
6778
6797
|
}), isAdditionalDataNeeded(chosenKind) && /*#__PURE__*/React.createElement(AdditionalInputs, null), !hideRequiredSwitch && /*#__PURE__*/React.createElement(Label, {
|
|
6779
|
-
className: "flex items-center gap-2"
|
|
6798
|
+
className: "flex items-center gap-2",
|
|
6799
|
+
"data-cy": "is-required-switch-container"
|
|
6780
6800
|
}, /*#__PURE__*/React.createElement(Switch$1, {
|
|
6801
|
+
"data-cy": "is-required-switch",
|
|
6781
6802
|
name: "isRequired"
|
|
6782
6803
|
}), /*#__PURE__*/React.createElement(Typography, {
|
|
6783
6804
|
className: "leading-4",
|
|
6784
6805
|
component: "span",
|
|
6806
|
+
"data-cy": "is-required-switch-label",
|
|
6785
6807
|
style: "body2"
|
|
6786
6808
|
}, t("labels.isRequired"))), children));
|
|
6787
6809
|
};
|
|
@@ -6821,6 +6843,7 @@ var Add = function Add(_ref) {
|
|
|
6821
6843
|
});
|
|
6822
6844
|
};
|
|
6823
6845
|
return /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(Pane.Header, null, /*#__PURE__*/React.createElement(Typography, {
|
|
6846
|
+
"data-cy": "add-pane-header",
|
|
6824
6847
|
style: "h2"
|
|
6825
6848
|
}, t("titles.addField"))), /*#__PURE__*/React.createElement(Form, {
|
|
6826
6849
|
formikProps: {
|
|
@@ -6869,7 +6892,8 @@ var Edit = function Edit(_ref) {
|
|
|
6869
6892
|
_useShowField$data = _useShowField.data,
|
|
6870
6893
|
_useShowField$data2 = _useShowField$data === void 0 ? {} : _useShowField$data,
|
|
6871
6894
|
_useShowField$data2$f = _useShowField$data2.field,
|
|
6872
|
-
field = _useShowField$data2$f === void 0 ? {} : _useShowField$data2$f
|
|
6895
|
+
field = _useShowField$data2$f === void 0 ? {} : _useShowField$data2$f,
|
|
6896
|
+
isLoading = _useShowField.isLoading;
|
|
6873
6897
|
var _useUpdateField = useUpdateField({
|
|
6874
6898
|
onSuccess: function onSuccess() {
|
|
6875
6899
|
for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
|
|
@@ -6892,8 +6916,9 @@ var Edit = function Edit(_ref) {
|
|
|
6892
6916
|
});
|
|
6893
6917
|
};
|
|
6894
6918
|
return /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(Pane.Header, null, /*#__PURE__*/React.createElement(Typography, {
|
|
6919
|
+
"data-cy": "edit-pane-header",
|
|
6895
6920
|
style: "h2"
|
|
6896
|
-
}, t("titles.editField"))), /*#__PURE__*/React.createElement(Form, {
|
|
6921
|
+
}, t("titles.editField"))), isLoading ? /*#__PURE__*/React.createElement(PageLoader, null) : /*#__PURE__*/React.createElement(Form, {
|
|
6897
6922
|
formikProps: {
|
|
6898
6923
|
initialValues: _objectSpread$4(_objectSpread$4({}, initialValues), assoc("kind", FIELD_KINDS[field.kind], field)),
|
|
6899
6924
|
validationSchema: generateValidationSchema(additionalValidations),
|
|
@@ -6951,17 +6976,20 @@ var buildDefaultColumns = function buildDefaultColumns(_ref) {
|
|
|
6951
6976
|
}, /*#__PURE__*/React.createElement(Typography, {
|
|
6952
6977
|
style: "body2"
|
|
6953
6978
|
}, name), /*#__PURE__*/React.createElement(Dropdown, {
|
|
6954
|
-
buttonProps: {
|
|
6955
|
-
className: "flex-shrink-0"
|
|
6956
|
-
},
|
|
6957
6979
|
buttonStyle: "text",
|
|
6958
6980
|
icon: MenuHorizontal,
|
|
6959
|
-
strategy: "fixed"
|
|
6981
|
+
strategy: "fixed",
|
|
6982
|
+
buttonProps: {
|
|
6983
|
+
className: "flex-shrink-0",
|
|
6984
|
+
"data-cy": "neeto-fields-options-dropdown"
|
|
6985
|
+
}
|
|
6960
6986
|
}, /*#__PURE__*/React.createElement(Menu, null, /*#__PURE__*/React.createElement(MenuItem.Button, {
|
|
6987
|
+
"data-cy": "edit-menu-item-button",
|
|
6961
6988
|
onClick: function onClick() {
|
|
6962
6989
|
return onEditClick(field);
|
|
6963
6990
|
}
|
|
6964
6991
|
}, t$1("labels.edit")), !field.isSystem && /*#__PURE__*/React.createElement(MenuItem.Button, {
|
|
6992
|
+
"data-cy": "delete-menu-item-button",
|
|
6965
6993
|
onClick: function onClick() {
|
|
6966
6994
|
return onDeleteClick(field);
|
|
6967
6995
|
}
|
|
@@ -6988,14 +7016,18 @@ var renderMenuBarItems = function renderMenuBarItems(_ref2) {
|
|
|
6988
7016
|
isOwnerBased = _ref2.isOwnerBased,
|
|
6989
7017
|
selectedMenu = _ref2.selectedMenu,
|
|
6990
7018
|
handleBlockClick = _ref2.handleBlockClick,
|
|
6991
|
-
nameAliases = _ref2.nameAliases
|
|
7019
|
+
nameAliases = _ref2.nameAliases,
|
|
7020
|
+
title = _ref2.title;
|
|
7021
|
+
title = title.toLocaleLowerCase();
|
|
6992
7022
|
if (isOwnerBased) {
|
|
6993
7023
|
return items.map(function (item) {
|
|
6994
7024
|
return /*#__PURE__*/React.createElement(MenuBar.Item, {
|
|
6995
7025
|
active: selectedMenu === item.id,
|
|
7026
|
+
"data-cy": "menubar-".concat(slugify(item.name), "-menu-item"),
|
|
6996
7027
|
key: item.id,
|
|
6997
7028
|
label: humanize(item.name),
|
|
6998
|
-
description: t$1("messages.
|
|
7029
|
+
description: t$1("messages.manageTitleForResource", {
|
|
7030
|
+
title: title,
|
|
6999
7031
|
resource: humanize(item.name).toLocaleLowerCase()
|
|
7000
7032
|
}),
|
|
7001
7033
|
onClick: handleBlockClick({
|
|
@@ -7005,11 +7037,14 @@ var renderMenuBarItems = function renderMenuBarItems(_ref2) {
|
|
|
7005
7037
|
});
|
|
7006
7038
|
}
|
|
7007
7039
|
return items.length > 1 && items.map(function (item) {
|
|
7040
|
+
var label = nameAliases[item] || humanize(item);
|
|
7008
7041
|
return /*#__PURE__*/React.createElement(MenuBar.Item, {
|
|
7009
7042
|
active: selectedMenu === item,
|
|
7043
|
+
"data-cy": "neeto-fields-".concat(slugify(label), "-menu-item"),
|
|
7010
7044
|
key: item,
|
|
7011
|
-
label:
|
|
7012
|
-
description: t$1("messages.
|
|
7045
|
+
label: label,
|
|
7046
|
+
description: t$1("messages.manageTitleForResource", {
|
|
7047
|
+
title: title,
|
|
7013
7048
|
resource: humanize(item).toLocaleLowerCase()
|
|
7014
7049
|
}),
|
|
7015
7050
|
onClick: handleBlockClick({
|
|
@@ -7025,12 +7060,14 @@ var renderMenuBarFilters = function renderMenuBarFilters(_ref3) {
|
|
|
7025
7060
|
inactiveFieldsCount = _ref3.inactiveFieldsCount,
|
|
7026
7061
|
handleBlockClick = _ref3.handleBlockClick;
|
|
7027
7062
|
return /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(MenuBar.SubTitle, null, /*#__PURE__*/React.createElement(Typography, {
|
|
7063
|
+
"data-cy": "menubar-subtitle",
|
|
7028
7064
|
style: "h5",
|
|
7029
7065
|
textTransform: "uppercase",
|
|
7030
7066
|
weight: "bold"
|
|
7031
7067
|
}, t$1("titles.filters"))), /*#__PURE__*/React.createElement(MenuBar.Block, {
|
|
7032
7068
|
active: selectedState === FIELD_STATES.active,
|
|
7033
7069
|
count: activeFieldsCount,
|
|
7070
|
+
"data-cy": "menubar-active-block",
|
|
7034
7071
|
label: fieldStatesTaxonomy.active,
|
|
7035
7072
|
onClick: handleBlockClick({
|
|
7036
7073
|
state: FIELD_STATES.active
|
|
@@ -7038,6 +7075,7 @@ var renderMenuBarFilters = function renderMenuBarFilters(_ref3) {
|
|
|
7038
7075
|
}), /*#__PURE__*/React.createElement(MenuBar.Block, {
|
|
7039
7076
|
active: selectedState === FIELD_STATES.inactive,
|
|
7040
7077
|
count: inactiveFieldsCount,
|
|
7078
|
+
"data-cy": "menubar-inactive-block",
|
|
7041
7079
|
label: fieldStatesTaxonomy.inactive,
|
|
7042
7080
|
onClick: handleBlockClick({
|
|
7043
7081
|
state: FIELD_STATES.inactive
|
|
@@ -7049,19 +7087,41 @@ var getDashBoardTitle = function getDashBoardTitle(_ref4) {
|
|
|
7049
7087
|
var isOwnerBased = _ref4.isOwnerBased,
|
|
7050
7088
|
owners = _ref4.owners,
|
|
7051
7089
|
selectedVal = _ref4.selectedVal,
|
|
7052
|
-
nameAliases = _ref4.nameAliases
|
|
7053
|
-
|
|
7054
|
-
|
|
7055
|
-
|
|
7056
|
-
|
|
7057
|
-
|
|
7090
|
+
nameAliases = _ref4.nameAliases,
|
|
7091
|
+
isSingleResource = _ref4.isSingleResource,
|
|
7092
|
+
showStateFilter = _ref4.showStateFilter,
|
|
7093
|
+
selectedState = _ref4.selectedState,
|
|
7094
|
+
title = _ref4.title;
|
|
7095
|
+
var resource = isOwnerBased ? (_findBy = findBy({
|
|
7096
|
+
id: selectedVal
|
|
7097
|
+
}, owners)) === null || _findBy === void 0 ? void 0 : _findBy.name : nameAliases[selectedVal] || selectedVal;
|
|
7098
|
+
var displayTitle = title;
|
|
7099
|
+
if (showStateFilter && !isSingleResource) {
|
|
7100
|
+
displayTitle = t$1("messages.stateTitleForResource", {
|
|
7101
|
+
state: selectedState,
|
|
7102
|
+
title: title,
|
|
7103
|
+
resource: resource
|
|
7104
|
+
});
|
|
7105
|
+
} else if (showStateFilter && isSingleResource) {
|
|
7106
|
+
displayTitle = "".concat(selectedState, " ").concat(title);
|
|
7107
|
+
} else if (!showStateFilter && !isSingleResource) {
|
|
7108
|
+
displayTitle = t$1("messages.titleForResource", {
|
|
7109
|
+
title: title,
|
|
7110
|
+
resource: resource
|
|
7111
|
+
});
|
|
7112
|
+
}
|
|
7113
|
+
return humanize(displayTitle);
|
|
7058
7114
|
};
|
|
7059
|
-
var renderNoDataHelpText = function renderNoDataHelpText(url) {
|
|
7115
|
+
var renderNoDataHelpText = function renderNoDataHelpText(title, url) {
|
|
7060
7116
|
return /*#__PURE__*/React.createElement(Trans, {
|
|
7061
7117
|
i18nKey: "helpTexts.noData",
|
|
7118
|
+
values: {
|
|
7119
|
+
title: title
|
|
7120
|
+
},
|
|
7062
7121
|
components: {
|
|
7063
7122
|
a: /*#__PURE__*/React.createElement(Link, {
|
|
7064
7123
|
className: "neeto-ui-text-primary-600 underline",
|
|
7124
|
+
"data-cy": "no-data-help-text-link",
|
|
7065
7125
|
target: "_blank",
|
|
7066
7126
|
to: {
|
|
7067
7127
|
pathname: url
|
|
@@ -7090,9 +7150,12 @@ function ownKeys$2(object, enumerableOnly) { var keys = Object.keys(object); if
|
|
|
7090
7150
|
function _objectSpread$2(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys$2(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys$2(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
|
|
7091
7151
|
var useFieldsDashboard = function useFieldsDashboard(_ref) {
|
|
7092
7152
|
var buildColumnData = _ref.buildColumnData,
|
|
7093
|
-
|
|
7153
|
+
isOwnerBased = _ref.isOwnerBased,
|
|
7094
7154
|
fieldStatesTaxonomy = _ref.fieldStatesTaxonomy,
|
|
7095
|
-
nameAliases = _ref.nameAliases
|
|
7155
|
+
nameAliases = _ref.nameAliases,
|
|
7156
|
+
title = _ref.title,
|
|
7157
|
+
resources = _ref.resources,
|
|
7158
|
+
showStateFilter = _ref.showStateFilter;
|
|
7096
7159
|
var _useState = useState(false),
|
|
7097
7160
|
_useState2 = _slicedToArray(_useState, 2),
|
|
7098
7161
|
isPaneOpen = _useState2[0],
|
|
@@ -7117,15 +7180,17 @@ var useFieldsDashboard = function useFieldsDashboard(_ref) {
|
|
|
7117
7180
|
_useState12 = _slicedToArray(_useState11, 2),
|
|
7118
7181
|
searchTerm = _useState12[0],
|
|
7119
7182
|
setSearchTerm = _useState12[1];
|
|
7120
|
-
var _getQueryParams = getQueryParams(),
|
|
7121
|
-
resource = _getQueryParams.resource,
|
|
7122
|
-
state = _getQueryParams.state;
|
|
7123
|
-
var ownerId = showOwnersInMenu ? resource : undefined;
|
|
7124
7183
|
var debouncedSearchTerm = useDebounce(searchTerm.trim());
|
|
7125
7184
|
var history = useHistory();
|
|
7126
7185
|
var _useTranslation = useTranslation(),
|
|
7127
7186
|
t = _useTranslation.t;
|
|
7128
|
-
var
|
|
7187
|
+
var _getQueryParams = getQueryParams(),
|
|
7188
|
+
resource = _getQueryParams.resource,
|
|
7189
|
+
state = _getQueryParams.state;
|
|
7190
|
+
var ownerId = isOwnerBased ? resource : undefined;
|
|
7191
|
+
var _useFetchConfigs = useFetchConfigs({
|
|
7192
|
+
enabled: !resources
|
|
7193
|
+
}),
|
|
7129
7194
|
_useFetchConfigs$data = _useFetchConfigs.data,
|
|
7130
7195
|
_useFetchConfigs$data2 = _useFetchConfigs$data === void 0 ? {} : _useFetchConfigs$data,
|
|
7131
7196
|
_useFetchConfigs$data3 = _useFetchConfigs$data2.owners,
|
|
@@ -7134,7 +7199,7 @@ var useFieldsDashboard = function useFieldsDashboard(_ref) {
|
|
|
7134
7199
|
resourceTypes = _useFetchConfigs$data4 === void 0 ? [] : _useFetchConfigs$data4,
|
|
7135
7200
|
isConfigsLoading = _useFetchConfigs.isLoading;
|
|
7136
7201
|
var fieldParams = {
|
|
7137
|
-
resourceType: !
|
|
7202
|
+
resourceType: !isOwnerBased ? resource : undefined,
|
|
7138
7203
|
ownerId: ownerId,
|
|
7139
7204
|
state: state || FIELD_STATES.active,
|
|
7140
7205
|
searchTerm: debouncedSearchTerm
|
|
@@ -7210,14 +7275,15 @@ var useFieldsDashboard = function useFieldsDashboard(_ref) {
|
|
|
7210
7275
|
state: state
|
|
7211
7276
|
}, params)));
|
|
7212
7277
|
};
|
|
7278
|
+
var menuItems = resources || (isOwnerBased ? owners : resourceTypes);
|
|
7213
7279
|
var handleURLWithDefaultValues = function handleURLWithDefaultValues() {
|
|
7214
7280
|
var queryParams = {
|
|
7215
7281
|
resource: resource,
|
|
7216
7282
|
state: state
|
|
7217
7283
|
};
|
|
7218
7284
|
if (!isConfigsLoading && isNil(resource)) {
|
|
7219
|
-
var
|
|
7220
|
-
queryParams.resource =
|
|
7285
|
+
var _menuItems$;
|
|
7286
|
+
queryParams.resource = isOwnerBased ? menuItems === null || menuItems === void 0 ? void 0 : (_menuItems$ = menuItems[0]) === null || _menuItems$ === void 0 ? void 0 : _menuItems$.id : menuItems === null || menuItems === void 0 ? void 0 : menuItems[0];
|
|
7221
7287
|
}
|
|
7222
7288
|
if (!isConfigsLoading && isNil(state)) {
|
|
7223
7289
|
queryParams.state = FIELD_STATES.active;
|
|
@@ -7226,7 +7292,6 @@ var useFieldsDashboard = function useFieldsDashboard(_ref) {
|
|
|
7226
7292
|
history.replace(buildUrl("", queryParams));
|
|
7227
7293
|
}
|
|
7228
7294
|
};
|
|
7229
|
-
var menuItems = showOwnersInMenu ? owners : resourceTypes;
|
|
7230
7295
|
var isScreenLoading = isFieldsLoading || isConfigsLoading;
|
|
7231
7296
|
var showCountSubheader = count > 0;
|
|
7232
7297
|
var searchProps = {
|
|
@@ -7236,6 +7301,20 @@ var useFieldsDashboard = function useFieldsDashboard(_ref) {
|
|
|
7236
7301
|
value: searchTerm,
|
|
7237
7302
|
placeholder: t("placeholders.searchFields")
|
|
7238
7303
|
};
|
|
7304
|
+
var isSingleResource = menuItems.length === 1;
|
|
7305
|
+
var isMenuBarNeeded = showStateFilter || !isSingleResource;
|
|
7306
|
+
var headerDisplayTitle = useMemo(function () {
|
|
7307
|
+
return getDashBoardTitle({
|
|
7308
|
+
isOwnerBased: isOwnerBased,
|
|
7309
|
+
owners: menuItems,
|
|
7310
|
+
selectedVal: resource,
|
|
7311
|
+
nameAliases: nameAliases,
|
|
7312
|
+
showStateFilter: showStateFilter,
|
|
7313
|
+
selectedState: state,
|
|
7314
|
+
isSingleResource: isSingleResource,
|
|
7315
|
+
title: title
|
|
7316
|
+
});
|
|
7317
|
+
}, [resource, state, isSingleResource, menuItems]);
|
|
7239
7318
|
var menuBarFilters = useMemo(function () {
|
|
7240
7319
|
return renderMenuBarFilters({
|
|
7241
7320
|
selectedState: state,
|
|
@@ -7244,19 +7323,20 @@ var useFieldsDashboard = function useFieldsDashboard(_ref) {
|
|
|
7244
7323
|
inactiveFieldsCount: inactiveFieldsCount,
|
|
7245
7324
|
handleBlockClick: handleBlockClick
|
|
7246
7325
|
});
|
|
7247
|
-
}, [activeFieldsCount, inactiveFieldsCount
|
|
7326
|
+
}, [activeFieldsCount, inactiveFieldsCount]);
|
|
7248
7327
|
var menuBarItems = useMemo(function () {
|
|
7249
7328
|
return renderMenuBarItems({
|
|
7250
|
-
isOwnerBased:
|
|
7329
|
+
isOwnerBased: isOwnerBased,
|
|
7251
7330
|
items: menuItems,
|
|
7252
7331
|
selectedMenu: resource,
|
|
7253
7332
|
handleBlockClick: handleBlockClick,
|
|
7254
|
-
nameAliases: nameAliases
|
|
7333
|
+
nameAliases: nameAliases,
|
|
7334
|
+
title: title
|
|
7255
7335
|
});
|
|
7256
7336
|
}, [menuItems, resource]);
|
|
7257
7337
|
useEffect(function () {
|
|
7258
7338
|
handleURLWithDefaultValues();
|
|
7259
|
-
}, [isConfigsLoading]);
|
|
7339
|
+
}, [isConfigsLoading, resources]);
|
|
7260
7340
|
return {
|
|
7261
7341
|
isPaneOpen: isPaneOpen,
|
|
7262
7342
|
setIsPaneOpen: setIsPaneOpen,
|
|
@@ -7266,9 +7346,7 @@ var useFieldsDashboard = function useFieldsDashboard(_ref) {
|
|
|
7266
7346
|
isReorderPaneOpen: isReorderPaneOpen,
|
|
7267
7347
|
setIsReorderPaneOpen: setIsReorderPaneOpen,
|
|
7268
7348
|
fields: fields,
|
|
7269
|
-
owners: owners,
|
|
7270
7349
|
count: count,
|
|
7271
|
-
menuItems: menuItems,
|
|
7272
7350
|
columnData: columnData,
|
|
7273
7351
|
selectedField: selectedField,
|
|
7274
7352
|
selectedState: state,
|
|
@@ -7279,6 +7357,7 @@ var useFieldsDashboard = function useFieldsDashboard(_ref) {
|
|
|
7279
7357
|
isDeleting: isDeleting,
|
|
7280
7358
|
isScreenLoading: isScreenLoading,
|
|
7281
7359
|
isConfigsLoading: isConfigsLoading,
|
|
7360
|
+
isMenuBarNeeded: isMenuBarNeeded,
|
|
7282
7361
|
showCountSubheader: showCountSubheader,
|
|
7283
7362
|
handleDelete: handleDelete,
|
|
7284
7363
|
handleAlertClose: handleAlertClose,
|
|
@@ -7287,7 +7366,8 @@ var useFieldsDashboard = function useFieldsDashboard(_ref) {
|
|
|
7287
7366
|
searchProps: searchProps,
|
|
7288
7367
|
menuBarFilters: menuBarFilters,
|
|
7289
7368
|
menuBarItems: menuBarItems,
|
|
7290
|
-
allFields: allFields
|
|
7369
|
+
allFields: allFields,
|
|
7370
|
+
headerDisplayTitle: headerDisplayTitle
|
|
7291
7371
|
};
|
|
7292
7372
|
};
|
|
7293
7373
|
|
|
@@ -7297,16 +7377,20 @@ var FieldsTable = function FieldsTable(_ref) {
|
|
|
7297
7377
|
rowData = _ref.rowData,
|
|
7298
7378
|
columnData = _ref.columnData,
|
|
7299
7379
|
setIsPaneOpen = _ref.setIsPaneOpen,
|
|
7300
|
-
helpDocUrl = _ref.helpDocUrl
|
|
7380
|
+
helpDocUrl = _ref.helpDocUrl,
|
|
7381
|
+
title = _ref.title;
|
|
7301
7382
|
var _useTranslation = useTranslation(),
|
|
7302
7383
|
t = _useTranslation.t;
|
|
7303
7384
|
var showNoDataScreen = !isLoading && isEmpty(rowData);
|
|
7385
|
+
title = title.toLocaleLowerCase();
|
|
7304
7386
|
return /*#__PURE__*/React.createElement(TableWrapper, null, showNoDataScreen ? /*#__PURE__*/React.createElement("div", {
|
|
7305
7387
|
className: "flex h-full w-full items-center justify-center"
|
|
7306
7388
|
}, /*#__PURE__*/React.createElement(NoData, _extends({}, helpDocUrl && {
|
|
7307
|
-
helpText: renderNoDataHelpText(helpDocUrl)
|
|
7389
|
+
helpText: renderNoDataHelpText(title, helpDocUrl)
|
|
7308
7390
|
}, {
|
|
7309
|
-
title: t("messages.noFields"
|
|
7391
|
+
title: t("messages.noFields", {
|
|
7392
|
+
title: title
|
|
7393
|
+
}),
|
|
7310
7394
|
primaryButtonProps: {
|
|
7311
7395
|
label: t("labels.addField"),
|
|
7312
7396
|
onClick: function onClick() {
|
|
@@ -11581,12 +11665,15 @@ var FieldBlock = function FieldBlock(_ref) {
|
|
|
11581
11665
|
ref: setNodeRef,
|
|
11582
11666
|
style: style
|
|
11583
11667
|
}, attributes, listeners, {
|
|
11584
|
-
className: "neeto-ui-text-gray-800 mb-3 flex items-center space-x-4 font-medium"
|
|
11668
|
+
className: "neeto-ui-text-gray-800 mb-3 flex items-center space-x-4 font-medium",
|
|
11669
|
+
"data-cy": "reorder-field-block"
|
|
11585
11670
|
}), /*#__PURE__*/React.createElement("div", {
|
|
11586
11671
|
className: "neeto-ui-bg-gray-100 neeto-ui-text-gray-700 neeto-ui-rounded-sm flex h-6 w-6 flex-shrink-0 items-center justify-center p-1"
|
|
11587
11672
|
}, index - systemFieldsCount + 1), /*#__PURE__*/React.createElement("div", {
|
|
11588
11673
|
className: "neeto-ui-border-gray-400 neeto-ui-bg-white neeto-ui-rounded neeto-ui-shadow-xs flex w-96 items-center space-x-4 border border-solid p-3"
|
|
11589
|
-
}, /*#__PURE__*/React.createElement(Reorder, null), /*#__PURE__*/React.createElement("div",
|
|
11674
|
+
}, /*#__PURE__*/React.createElement(Reorder, null), /*#__PURE__*/React.createElement("div", {
|
|
11675
|
+
"data-cy": "reorder-field-block-name"
|
|
11676
|
+
}, field.name)));
|
|
11590
11677
|
};
|
|
11591
11678
|
var FieldBlock$1 = /*#__PURE__*/React.memo(FieldBlock);
|
|
11592
11679
|
|
|
@@ -11637,10 +11724,12 @@ var ReorderPane = function ReorderPane(_ref) {
|
|
|
11637
11724
|
isOpen: isOpen,
|
|
11638
11725
|
onClose: onClose
|
|
11639
11726
|
}, /*#__PURE__*/React.createElement(Pane.Header, null, /*#__PURE__*/React.createElement(Typography, {
|
|
11727
|
+
"data-cy": "reorder-pane-header",
|
|
11640
11728
|
style: "h2",
|
|
11641
11729
|
weight: "semibold"
|
|
11642
11730
|
}, t("titles.reorderFields"))), /*#__PURE__*/React.createElement(Pane.Body, null, /*#__PURE__*/React.createElement(Typography, {
|
|
11643
11731
|
className: "mb-3",
|
|
11732
|
+
"data-cy": "reorder-pane-message",
|
|
11644
11733
|
style: "body2"
|
|
11645
11734
|
}, t("messages.reorderFields")), /*#__PURE__*/React.createElement("div", {
|
|
11646
11735
|
className: "flex flex-col items-center"
|
|
@@ -11661,11 +11750,13 @@ var ReorderPane = function ReorderPane(_ref) {
|
|
|
11661
11750
|
}))))), /*#__PURE__*/React.createElement(Pane.Footer, {
|
|
11662
11751
|
className: "flex items-center space-x-2"
|
|
11663
11752
|
}, /*#__PURE__*/React.createElement(Button$1, {
|
|
11753
|
+
"data-cy": "save-changes-button",
|
|
11664
11754
|
disabled: initialStateRef.current === fields,
|
|
11665
11755
|
label: t("labels.saveChanges"),
|
|
11666
11756
|
loading: isSubmitting,
|
|
11667
11757
|
onClick: handleReorderSave
|
|
11668
11758
|
}), /*#__PURE__*/React.createElement(Button$1, {
|
|
11759
|
+
"data-cy": "cancel-button",
|
|
11669
11760
|
label: t("labels.cancel"),
|
|
11670
11761
|
style: "text",
|
|
11671
11762
|
onClick: onClose
|
|
@@ -11678,7 +11769,7 @@ var FieldsDashboard = function FieldsDashboard(_ref) {
|
|
|
11678
11769
|
var _ref$rowData = _ref.rowData,
|
|
11679
11770
|
rowData = _ref$rowData === void 0 ? [] : _ref$rowData,
|
|
11680
11771
|
_ref$showOwnersInMenu = _ref.showOwnersInMenu,
|
|
11681
|
-
|
|
11772
|
+
isOwnerBased = _ref$showOwnersInMenu === void 0 ? false : _ref$showOwnersInMenu,
|
|
11682
11773
|
_ref$resourceType = _ref.resourceType,
|
|
11683
11774
|
resourceType = _ref$resourceType === void 0 ? "" : _ref$resourceType,
|
|
11684
11775
|
_ref$allowedKinds = _ref.allowedKinds,
|
|
@@ -11698,14 +11789,20 @@ var FieldsDashboard = function FieldsDashboard(_ref) {
|
|
|
11698
11789
|
fieldStatesTaxonomy = _ref$fieldStatesTaxon === void 0 ? DEFAULT_FIELD_STATE_TAXONOMY : _ref$fieldStatesTaxon,
|
|
11699
11790
|
helpDocUrl = _ref.helpDocUrl,
|
|
11700
11791
|
_ref$nameAliases = _ref.nameAliases,
|
|
11701
|
-
nameAliases = _ref$nameAliases === void 0 ? {} : _ref$nameAliases
|
|
11792
|
+
nameAliases = _ref$nameAliases === void 0 ? {} : _ref$nameAliases,
|
|
11793
|
+
headerTitle = _ref.headerTitle,
|
|
11794
|
+
resources = _ref.resources;
|
|
11702
11795
|
var _useTranslation = useTranslation(),
|
|
11703
11796
|
t = _useTranslation.t;
|
|
11797
|
+
var title = capitalize$1(headerTitle || t("titles.field", PLURAL));
|
|
11704
11798
|
var _useFieldsDashboard = useFieldsDashboard({
|
|
11705
11799
|
buildColumnData: buildColumnData,
|
|
11706
|
-
|
|
11800
|
+
isOwnerBased: isOwnerBased,
|
|
11707
11801
|
fieldStatesTaxonomy: fieldStatesTaxonomy,
|
|
11708
|
-
nameAliases: nameAliases
|
|
11802
|
+
nameAliases: nameAliases,
|
|
11803
|
+
title: title,
|
|
11804
|
+
resources: resources,
|
|
11805
|
+
showStateFilter: showStateFilter
|
|
11709
11806
|
}),
|
|
11710
11807
|
isPaneOpen = _useFieldsDashboard.isPaneOpen,
|
|
11711
11808
|
setIsPaneOpen = _useFieldsDashboard.setIsPaneOpen,
|
|
@@ -11715,9 +11812,7 @@ var FieldsDashboard = function FieldsDashboard(_ref) {
|
|
|
11715
11812
|
isReorderPaneOpen = _useFieldsDashboard.isReorderPaneOpen,
|
|
11716
11813
|
setIsReorderPaneOpen = _useFieldsDashboard.setIsReorderPaneOpen,
|
|
11717
11814
|
fields = _useFieldsDashboard.fields,
|
|
11718
|
-
owners = _useFieldsDashboard.owners,
|
|
11719
11815
|
count = _useFieldsDashboard.count,
|
|
11720
|
-
menuItems = _useFieldsDashboard.menuItems,
|
|
11721
11816
|
columnData = _useFieldsDashboard.columnData,
|
|
11722
11817
|
selectedField = _useFieldsDashboard.selectedField,
|
|
11723
11818
|
selectedState = _useFieldsDashboard.selectedState,
|
|
@@ -11727,6 +11822,7 @@ var FieldsDashboard = function FieldsDashboard(_ref) {
|
|
|
11727
11822
|
isDeleting = _useFieldsDashboard.isDeleting,
|
|
11728
11823
|
isScreenLoading = _useFieldsDashboard.isScreenLoading,
|
|
11729
11824
|
isConfigsLoading = _useFieldsDashboard.isConfigsLoading,
|
|
11825
|
+
isMenuBarNeeded = _useFieldsDashboard.isMenuBarNeeded,
|
|
11730
11826
|
showCountSubheader = _useFieldsDashboard.showCountSubheader,
|
|
11731
11827
|
handleDelete = _useFieldsDashboard.handleDelete,
|
|
11732
11828
|
handleAlertClose = _useFieldsDashboard.handleAlertClose,
|
|
@@ -11735,11 +11831,11 @@ var FieldsDashboard = function FieldsDashboard(_ref) {
|
|
|
11735
11831
|
searchProps = _useFieldsDashboard.searchProps,
|
|
11736
11832
|
menuBarFilters = _useFieldsDashboard.menuBarFilters,
|
|
11737
11833
|
menuBarItems = _useFieldsDashboard.menuBarItems,
|
|
11738
|
-
allFields = _useFieldsDashboard.allFields
|
|
11739
|
-
|
|
11834
|
+
allFields = _useFieldsDashboard.allFields,
|
|
11835
|
+
headerDisplayTitle = _useFieldsDashboard.headerDisplayTitle;
|
|
11740
11836
|
return /*#__PURE__*/React.createElement(React.Fragment, null, isMenuBarNeeded && /*#__PURE__*/React.createElement(MenuBar, {
|
|
11741
11837
|
showMenu: isMenuBarOpen,
|
|
11742
|
-
title:
|
|
11838
|
+
title: title
|
|
11743
11839
|
}, isConfigsLoading ? /*#__PURE__*/React.createElement("div", {
|
|
11744
11840
|
className: "flex items-center justify-center"
|
|
11745
11841
|
}, /*#__PURE__*/React.createElement(Spinner, null)) : menuBarItems, showStateFilter && menuBarFilters), isScreenLoading && isEmpty(fields) ? /*#__PURE__*/React.createElement("div", {
|
|
@@ -11752,6 +11848,7 @@ var FieldsDashboard = function FieldsDashboard(_ref) {
|
|
|
11752
11848
|
}
|
|
11753
11849
|
}, {
|
|
11754
11850
|
actionBlock: /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(Button$1, {
|
|
11851
|
+
"data-cy": "neeto-fields-reorder-button",
|
|
11755
11852
|
label: t("labels.reorder"),
|
|
11756
11853
|
style: "secondary",
|
|
11757
11854
|
disabled: selectedState === FIELD_STATES.inactive || !existsBy({
|
|
@@ -11762,45 +11859,46 @@ var FieldsDashboard = function FieldsDashboard(_ref) {
|
|
|
11762
11859
|
return setIsReorderPaneOpen(true);
|
|
11763
11860
|
}
|
|
11764
11861
|
}), /*#__PURE__*/React.createElement(Button$1, {
|
|
11862
|
+
"data-cy": "neeto-fields-add-button",
|
|
11765
11863
|
label: t("labels.addField"),
|
|
11766
11864
|
onClick: function onClick() {
|
|
11767
11865
|
return setIsPaneOpen(true);
|
|
11768
11866
|
}
|
|
11769
|
-
}),
|
|
11770
|
-
additionalValidations: paneProps === null || paneProps === void 0 ? void 0 : paneProps.validations,
|
|
11771
|
-
allowedKinds: allowedKinds,
|
|
11772
|
-
hideRequiredSwitch: paneProps === null || paneProps === void 0 ? void 0 : paneProps.hideRequiredSwitch,
|
|
11773
|
-
initialValues: paneProps === null || paneProps === void 0 ? void 0 : paneProps.initialValues,
|
|
11774
|
-
isOpen: isPaneOpen,
|
|
11775
|
-
ownerId: showOwnersInMenu ? selectedMenu : "",
|
|
11776
|
-
resourceType: showOwnersInMenu ? resourceType : selectedMenu //Currently we support only one resource type when fields are classified based on owners
|
|
11777
|
-
,
|
|
11778
|
-
selectedField: selectedField,
|
|
11779
|
-
onClose: handleClosePane,
|
|
11780
|
-
onMutationSuccess: paneProps === null || paneProps === void 0 ? void 0 : paneProps.onMutationSuccess
|
|
11781
|
-
}, paneProps === null || paneProps === void 0 ? void 0 : paneProps.children)),
|
|
11867
|
+
})),
|
|
11782
11868
|
searchProps: searchProps,
|
|
11783
|
-
title:
|
|
11784
|
-
|
|
11785
|
-
|
|
11786
|
-
|
|
11787
|
-
nameAliases: nameAliases
|
|
11788
|
-
}))
|
|
11869
|
+
title: /*#__PURE__*/React.createElement(TitleWithHelpLink, {
|
|
11870
|
+
helpUrl: helpDocUrl,
|
|
11871
|
+
title: headerDisplayTitle
|
|
11872
|
+
})
|
|
11789
11873
|
})), showCountSubheader && /*#__PURE__*/React.createElement(SubHeader, {
|
|
11790
11874
|
leftActionBlock: /*#__PURE__*/React.createElement(Typography, {
|
|
11791
11875
|
className: "mr-4 font-semibold",
|
|
11876
|
+
"data-cy": "neeto-fields-subheader-text",
|
|
11792
11877
|
style: "h4"
|
|
11793
|
-
},
|
|
11878
|
+
}, "".concat(count, " "), t("titles.field", count > 1 ? PLURAL : SINGULAR).toLocaleLowerCase())
|
|
11794
11879
|
}), /*#__PURE__*/React.createElement(FieldsTable, {
|
|
11795
11880
|
columnData: columnData,
|
|
11796
11881
|
helpDocUrl: helpDocUrl,
|
|
11797
11882
|
isLoading: isFieldsFetching || isFieldsLoading,
|
|
11798
11883
|
rowData: isEmpty(rowData) ? fields : rowData,
|
|
11799
11884
|
setIsPaneOpen: setIsPaneOpen,
|
|
11800
|
-
totalCount: count
|
|
11801
|
-
|
|
11885
|
+
totalCount: count,
|
|
11886
|
+
title: title
|
|
11887
|
+
}), /*#__PURE__*/React.createElement(FieldsPane, {
|
|
11888
|
+
additionalValidations: paneProps === null || paneProps === void 0 ? void 0 : paneProps.validations,
|
|
11889
|
+
allowedKinds: allowedKinds,
|
|
11890
|
+
hideRequiredSwitch: paneProps === null || paneProps === void 0 ? void 0 : paneProps.hideRequiredSwitch,
|
|
11891
|
+
initialValues: paneProps === null || paneProps === void 0 ? void 0 : paneProps.initialValues,
|
|
11892
|
+
isOpen: isPaneOpen,
|
|
11893
|
+
ownerId: isOwnerBased ? selectedMenu : "",
|
|
11894
|
+
resourceType: isOwnerBased ? resourceType : selectedMenu //Currently we support only one resource type when fields are classified based on owners
|
|
11895
|
+
,
|
|
11896
|
+
selectedField: selectedField,
|
|
11897
|
+
onClose: handleClosePane,
|
|
11898
|
+
onMutationSuccess: paneProps === null || paneProps === void 0 ? void 0 : paneProps.onMutationSuccess
|
|
11899
|
+
}, paneProps === null || paneProps === void 0 ? void 0 : paneProps.children)), /*#__PURE__*/React.createElement(ReorderPane, {
|
|
11802
11900
|
isOpen: isReorderPaneOpen,
|
|
11803
|
-
ownerId:
|
|
11901
|
+
ownerId: isOwnerBased ? selectedMenu : "",
|
|
11804
11902
|
onClose: handleReorderPaneClose,
|
|
11805
11903
|
allFields: allFields
|
|
11806
11904
|
}), /*#__PURE__*/React.createElement(Alert, {
|