@bigbinary/neeto-fields-frontend 1.1.3 → 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 +9 -0
- package/dist/index.cjs.js +158 -61
- package/dist/index.cjs.js.map +1 -1
- package/dist/index.js +160 -63
- package/dist/index.js.map +1 -1
- package/package.json +1 -1
- package/types.d.ts +2 -0
package/README.md
CHANGED
|
@@ -186,6 +186,15 @@ default, but you can customize its behavior by passing optional props.
|
|
|
186
186
|
URL will be shown in the `NoData` screen.
|
|
187
187
|
11. `nameAliases`: This property accepts alias names as key-value pairs to be
|
|
188
188
|
displayed for the names of resource types in header and menubar.
|
|
189
|
+
12. `headerTitle`: Specify the header title explicitly. Default is 'fields'
|
|
190
|
+
13. `resources`: For owner-based field categorization, provide an array of
|
|
191
|
+
objects with `id` and `name` properties for each owner. For resource
|
|
192
|
+
type-based categorization, use an array of strings representing resource
|
|
193
|
+
types.
|
|
194
|
+
|
|
195
|
+
> If no resources are provided, for resource type-based categorization, the
|
|
196
|
+
> menu bar will fetch all resource types. For owner-based categorization, it
|
|
197
|
+
> will fetch and list all owners in the organization.
|
|
189
198
|
|
|
190
199
|
#### Usage:
|
|
191
200
|
|
package/dist/index.cjs.js
CHANGED
|
@@ -5341,9 +5341,12 @@ var fields = {
|
|
|
5341
5341
|
}
|
|
5342
5342
|
};
|
|
5343
5343
|
var messages = {
|
|
5344
|
-
noFields: "There are no
|
|
5344
|
+
noFields: "There are no {{title}} to show",
|
|
5345
5345
|
confirmDelete: "Are you sure want to delete the field? This action cannot be undone.",
|
|
5346
5346
|
manageFieldFor: "Manage fields for {{resource}}",
|
|
5347
|
+
manageTitleForResource: "Manage {{title}} for {{resource}}",
|
|
5348
|
+
titleForResource: "{{title}} for {{resource}}",
|
|
5349
|
+
stateTitleForResource: "{{state}} {{title}} for {{resource}}",
|
|
5347
5350
|
invalidKind: "Invalid kind",
|
|
5348
5351
|
reorderFields: "Fields are displayed from top to bottom."
|
|
5349
5352
|
};
|
|
@@ -5364,7 +5367,7 @@ var tooltips = {
|
|
|
5364
5367
|
reorder: "Fields a are displayed from top to bottom. Re-order them"
|
|
5365
5368
|
};
|
|
5366
5369
|
var helpTexts = {
|
|
5367
|
-
noData: "Here is how you can use <a>
|
|
5370
|
+
noData: "Here is how you can use <a>{{title}}.</a>"
|
|
5368
5371
|
};
|
|
5369
5372
|
var en = {
|
|
5370
5373
|
common: common,
|
|
@@ -6358,6 +6361,21 @@ var SINGULAR = {
|
|
|
6358
6361
|
var PLURAL = {
|
|
6359
6362
|
count: 2
|
|
6360
6363
|
};
|
|
6364
|
+
var INFO_ICON_SIZE = 16;
|
|
6365
|
+
|
|
6366
|
+
var TitleWithHelpLink = function TitleWithHelpLink(_ref) {
|
|
6367
|
+
var title = _ref.title,
|
|
6368
|
+
helpUrl = _ref.helpUrl;
|
|
6369
|
+
return /*#__PURE__*/React__default["default"].createElement("div", {
|
|
6370
|
+
className: "flex items-center gap-x-1"
|
|
6371
|
+
}, title, helpUrl && /*#__PURE__*/React__default["default"].createElement("a", {
|
|
6372
|
+
href: helpUrl,
|
|
6373
|
+
rel: "noreferrer",
|
|
6374
|
+
target: "_blank"
|
|
6375
|
+
}, /*#__PURE__*/React__default["default"].createElement(neetoIcons.Info, {
|
|
6376
|
+
size: INFO_ICON_SIZE
|
|
6377
|
+
})));
|
|
6378
|
+
};
|
|
6361
6379
|
|
|
6362
6380
|
var fieldUrl = function fieldUrl(fieldId) {
|
|
6363
6381
|
return utils.buildUrl(FIELD_URL, {
|
|
@@ -6799,6 +6817,7 @@ var FieldForm = function FieldForm(_ref) {
|
|
|
6799
6817
|
className: "w-full space-y-4"
|
|
6800
6818
|
}, /*#__PURE__*/React__default["default"].createElement(formik$1.Input, {
|
|
6801
6819
|
required: true,
|
|
6820
|
+
"data-cy": "name-text-field",
|
|
6802
6821
|
disabled: isSystem,
|
|
6803
6822
|
label: t("labels.fieldName"),
|
|
6804
6823
|
name: "name",
|
|
@@ -6811,12 +6830,15 @@ var FieldForm = function FieldForm(_ref) {
|
|
|
6811
6830
|
options: kindSelectOptions,
|
|
6812
6831
|
onChange: handleKindChange
|
|
6813
6832
|
}), isAdditionalDataNeeded(chosenKind) && /*#__PURE__*/React__default["default"].createElement(AdditionalInputs, null), !hideRequiredSwitch && /*#__PURE__*/React__default["default"].createElement(neetoui.Label, {
|
|
6814
|
-
className: "flex items-center gap-2"
|
|
6833
|
+
className: "flex items-center gap-2",
|
|
6834
|
+
"data-cy": "is-required-switch-container"
|
|
6815
6835
|
}, /*#__PURE__*/React__default["default"].createElement(formik$1.Switch, {
|
|
6836
|
+
"data-cy": "is-required-switch",
|
|
6816
6837
|
name: "isRequired"
|
|
6817
6838
|
}), /*#__PURE__*/React__default["default"].createElement(neetoui.Typography, {
|
|
6818
6839
|
className: "leading-4",
|
|
6819
6840
|
component: "span",
|
|
6841
|
+
"data-cy": "is-required-switch-label",
|
|
6820
6842
|
style: "body2"
|
|
6821
6843
|
}, t("labels.isRequired"))), children));
|
|
6822
6844
|
};
|
|
@@ -6856,6 +6878,7 @@ var Add = function Add(_ref) {
|
|
|
6856
6878
|
});
|
|
6857
6879
|
};
|
|
6858
6880
|
return /*#__PURE__*/React__default["default"].createElement(React__default["default"].Fragment, null, /*#__PURE__*/React__default["default"].createElement(neetoui.Pane.Header, null, /*#__PURE__*/React__default["default"].createElement(neetoui.Typography, {
|
|
6881
|
+
"data-cy": "add-pane-header",
|
|
6859
6882
|
style: "h2"
|
|
6860
6883
|
}, t("titles.addField"))), /*#__PURE__*/React__default["default"].createElement(formik$1.Form, {
|
|
6861
6884
|
formikProps: {
|
|
@@ -6928,6 +6951,7 @@ var Edit = function Edit(_ref) {
|
|
|
6928
6951
|
});
|
|
6929
6952
|
};
|
|
6930
6953
|
return /*#__PURE__*/React__default["default"].createElement(React__default["default"].Fragment, null, /*#__PURE__*/React__default["default"].createElement(neetoui.Pane.Header, null, /*#__PURE__*/React__default["default"].createElement(neetoui.Typography, {
|
|
6954
|
+
"data-cy": "edit-pane-header",
|
|
6931
6955
|
style: "h2"
|
|
6932
6956
|
}, t("titles.editField"))), isLoading ? /*#__PURE__*/React__default["default"].createElement(PageLoader__default["default"], null) : /*#__PURE__*/React__default["default"].createElement(formik$1.Form, {
|
|
6933
6957
|
formikProps: {
|
|
@@ -6987,17 +7011,20 @@ var buildDefaultColumns = function buildDefaultColumns(_ref) {
|
|
|
6987
7011
|
}, /*#__PURE__*/React__default["default"].createElement(neetoui.Typography, {
|
|
6988
7012
|
style: "body2"
|
|
6989
7013
|
}, name), /*#__PURE__*/React__default["default"].createElement(neetoui.Dropdown, {
|
|
6990
|
-
buttonProps: {
|
|
6991
|
-
className: "flex-shrink-0"
|
|
6992
|
-
},
|
|
6993
7014
|
buttonStyle: "text",
|
|
6994
7015
|
icon: neetoIcons.MenuHorizontal,
|
|
6995
|
-
strategy: "fixed"
|
|
7016
|
+
strategy: "fixed",
|
|
7017
|
+
buttonProps: {
|
|
7018
|
+
className: "flex-shrink-0",
|
|
7019
|
+
"data-cy": "neeto-fields-options-dropdown"
|
|
7020
|
+
}
|
|
6996
7021
|
}, /*#__PURE__*/React__default["default"].createElement(Menu, null, /*#__PURE__*/React__default["default"].createElement(MenuItem.Button, {
|
|
7022
|
+
"data-cy": "edit-menu-item-button",
|
|
6997
7023
|
onClick: function onClick() {
|
|
6998
7024
|
return onEditClick(field);
|
|
6999
7025
|
}
|
|
7000
7026
|
}, t$1("labels.edit")), !field.isSystem && /*#__PURE__*/React__default["default"].createElement(MenuItem.Button, {
|
|
7027
|
+
"data-cy": "delete-menu-item-button",
|
|
7001
7028
|
onClick: function onClick() {
|
|
7002
7029
|
return onDeleteClick(field);
|
|
7003
7030
|
}
|
|
@@ -7024,14 +7051,18 @@ var renderMenuBarItems = function renderMenuBarItems(_ref2) {
|
|
|
7024
7051
|
isOwnerBased = _ref2.isOwnerBased,
|
|
7025
7052
|
selectedMenu = _ref2.selectedMenu,
|
|
7026
7053
|
handleBlockClick = _ref2.handleBlockClick,
|
|
7027
|
-
nameAliases = _ref2.nameAliases
|
|
7054
|
+
nameAliases = _ref2.nameAliases,
|
|
7055
|
+
title = _ref2.title;
|
|
7056
|
+
title = title.toLocaleLowerCase();
|
|
7028
7057
|
if (isOwnerBased) {
|
|
7029
7058
|
return items.map(function (item) {
|
|
7030
7059
|
return /*#__PURE__*/React__default["default"].createElement(MenuBar__default["default"].Item, {
|
|
7031
7060
|
active: selectedMenu === item.id,
|
|
7061
|
+
"data-cy": "menubar-".concat(pure.slugify(item.name), "-menu-item"),
|
|
7032
7062
|
key: item.id,
|
|
7033
7063
|
label: pure.humanize(item.name),
|
|
7034
|
-
description: t$1("messages.
|
|
7064
|
+
description: t$1("messages.manageTitleForResource", {
|
|
7065
|
+
title: title,
|
|
7035
7066
|
resource: pure.humanize(item.name).toLocaleLowerCase()
|
|
7036
7067
|
}),
|
|
7037
7068
|
onClick: handleBlockClick({
|
|
@@ -7041,11 +7072,14 @@ var renderMenuBarItems = function renderMenuBarItems(_ref2) {
|
|
|
7041
7072
|
});
|
|
7042
7073
|
}
|
|
7043
7074
|
return items.length > 1 && items.map(function (item) {
|
|
7075
|
+
var label = nameAliases[item] || pure.humanize(item);
|
|
7044
7076
|
return /*#__PURE__*/React__default["default"].createElement(MenuBar__default["default"].Item, {
|
|
7045
7077
|
active: selectedMenu === item,
|
|
7078
|
+
"data-cy": "neeto-fields-".concat(pure.slugify(label), "-menu-item"),
|
|
7046
7079
|
key: item,
|
|
7047
|
-
label:
|
|
7048
|
-
description: t$1("messages.
|
|
7080
|
+
label: label,
|
|
7081
|
+
description: t$1("messages.manageTitleForResource", {
|
|
7082
|
+
title: title,
|
|
7049
7083
|
resource: pure.humanize(item).toLocaleLowerCase()
|
|
7050
7084
|
}),
|
|
7051
7085
|
onClick: handleBlockClick({
|
|
@@ -7061,12 +7095,14 @@ var renderMenuBarFilters = function renderMenuBarFilters(_ref3) {
|
|
|
7061
7095
|
inactiveFieldsCount = _ref3.inactiveFieldsCount,
|
|
7062
7096
|
handleBlockClick = _ref3.handleBlockClick;
|
|
7063
7097
|
return /*#__PURE__*/React__default["default"].createElement(React__default["default"].Fragment, null, /*#__PURE__*/React__default["default"].createElement(MenuBar__default["default"].SubTitle, null, /*#__PURE__*/React__default["default"].createElement(neetoui.Typography, {
|
|
7098
|
+
"data-cy": "menubar-subtitle",
|
|
7064
7099
|
style: "h5",
|
|
7065
7100
|
textTransform: "uppercase",
|
|
7066
7101
|
weight: "bold"
|
|
7067
7102
|
}, t$1("titles.filters"))), /*#__PURE__*/React__default["default"].createElement(MenuBar__default["default"].Block, {
|
|
7068
7103
|
active: selectedState === FIELD_STATES.active,
|
|
7069
7104
|
count: activeFieldsCount,
|
|
7105
|
+
"data-cy": "menubar-active-block",
|
|
7070
7106
|
label: fieldStatesTaxonomy.active,
|
|
7071
7107
|
onClick: handleBlockClick({
|
|
7072
7108
|
state: FIELD_STATES.active
|
|
@@ -7074,6 +7110,7 @@ var renderMenuBarFilters = function renderMenuBarFilters(_ref3) {
|
|
|
7074
7110
|
}), /*#__PURE__*/React__default["default"].createElement(MenuBar__default["default"].Block, {
|
|
7075
7111
|
active: selectedState === FIELD_STATES.inactive,
|
|
7076
7112
|
count: inactiveFieldsCount,
|
|
7113
|
+
"data-cy": "menubar-inactive-block",
|
|
7077
7114
|
label: fieldStatesTaxonomy.inactive,
|
|
7078
7115
|
onClick: handleBlockClick({
|
|
7079
7116
|
state: FIELD_STATES.inactive
|
|
@@ -7085,19 +7122,41 @@ var getDashBoardTitle = function getDashBoardTitle(_ref4) {
|
|
|
7085
7122
|
var isOwnerBased = _ref4.isOwnerBased,
|
|
7086
7123
|
owners = _ref4.owners,
|
|
7087
7124
|
selectedVal = _ref4.selectedVal,
|
|
7088
|
-
nameAliases = _ref4.nameAliases
|
|
7089
|
-
|
|
7090
|
-
|
|
7091
|
-
|
|
7092
|
-
|
|
7093
|
-
|
|
7125
|
+
nameAliases = _ref4.nameAliases,
|
|
7126
|
+
isSingleResource = _ref4.isSingleResource,
|
|
7127
|
+
showStateFilter = _ref4.showStateFilter,
|
|
7128
|
+
selectedState = _ref4.selectedState,
|
|
7129
|
+
title = _ref4.title;
|
|
7130
|
+
var resource = isOwnerBased ? (_findBy = pure.findBy({
|
|
7131
|
+
id: selectedVal
|
|
7132
|
+
}, owners)) === null || _findBy === void 0 ? void 0 : _findBy.name : nameAliases[selectedVal] || selectedVal;
|
|
7133
|
+
var displayTitle = title;
|
|
7134
|
+
if (showStateFilter && !isSingleResource) {
|
|
7135
|
+
displayTitle = t$1("messages.stateTitleForResource", {
|
|
7136
|
+
state: selectedState,
|
|
7137
|
+
title: title,
|
|
7138
|
+
resource: resource
|
|
7139
|
+
});
|
|
7140
|
+
} else if (showStateFilter && isSingleResource) {
|
|
7141
|
+
displayTitle = "".concat(selectedState, " ").concat(title);
|
|
7142
|
+
} else if (!showStateFilter && !isSingleResource) {
|
|
7143
|
+
displayTitle = t$1("messages.titleForResource", {
|
|
7144
|
+
title: title,
|
|
7145
|
+
resource: resource
|
|
7146
|
+
});
|
|
7147
|
+
}
|
|
7148
|
+
return pure.humanize(displayTitle);
|
|
7094
7149
|
};
|
|
7095
|
-
var renderNoDataHelpText = function renderNoDataHelpText(url) {
|
|
7150
|
+
var renderNoDataHelpText = function renderNoDataHelpText(title, url) {
|
|
7096
7151
|
return /*#__PURE__*/React__default["default"].createElement(Trans, {
|
|
7097
7152
|
i18nKey: "helpTexts.noData",
|
|
7153
|
+
values: {
|
|
7154
|
+
title: title
|
|
7155
|
+
},
|
|
7098
7156
|
components: {
|
|
7099
7157
|
a: /*#__PURE__*/React__default["default"].createElement(reactRouterDom.Link, {
|
|
7100
7158
|
className: "neeto-ui-text-primary-600 underline",
|
|
7159
|
+
"data-cy": "no-data-help-text-link",
|
|
7101
7160
|
target: "_blank",
|
|
7102
7161
|
to: {
|
|
7103
7162
|
pathname: url
|
|
@@ -7126,9 +7185,12 @@ function ownKeys$2(object, enumerableOnly) { var keys = Object.keys(object); if
|
|
|
7126
7185
|
function _objectSpread$2(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys$2(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys$2(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
|
|
7127
7186
|
var useFieldsDashboard = function useFieldsDashboard(_ref) {
|
|
7128
7187
|
var buildColumnData = _ref.buildColumnData,
|
|
7129
|
-
|
|
7188
|
+
isOwnerBased = _ref.isOwnerBased,
|
|
7130
7189
|
fieldStatesTaxonomy = _ref.fieldStatesTaxonomy,
|
|
7131
|
-
nameAliases = _ref.nameAliases
|
|
7190
|
+
nameAliases = _ref.nameAliases,
|
|
7191
|
+
title = _ref.title,
|
|
7192
|
+
resources = _ref.resources,
|
|
7193
|
+
showStateFilter = _ref.showStateFilter;
|
|
7132
7194
|
var _useState = React.useState(false),
|
|
7133
7195
|
_useState2 = _slicedToArray(_useState, 2),
|
|
7134
7196
|
isPaneOpen = _useState2[0],
|
|
@@ -7153,15 +7215,17 @@ var useFieldsDashboard = function useFieldsDashboard(_ref) {
|
|
|
7153
7215
|
_useState12 = _slicedToArray(_useState11, 2),
|
|
7154
7216
|
searchTerm = _useState12[0],
|
|
7155
7217
|
setSearchTerm = _useState12[1];
|
|
7156
|
-
var _getQueryParams = utils.getQueryParams(),
|
|
7157
|
-
resource = _getQueryParams.resource,
|
|
7158
|
-
state = _getQueryParams.state;
|
|
7159
|
-
var ownerId = showOwnersInMenu ? resource : undefined;
|
|
7160
7218
|
var debouncedSearchTerm = reactUtils.useDebounce(searchTerm.trim());
|
|
7161
7219
|
var history = reactRouterDom.useHistory();
|
|
7162
7220
|
var _useTranslation = useTranslation(),
|
|
7163
7221
|
t = _useTranslation.t;
|
|
7164
|
-
var
|
|
7222
|
+
var _getQueryParams = utils.getQueryParams(),
|
|
7223
|
+
resource = _getQueryParams.resource,
|
|
7224
|
+
state = _getQueryParams.state;
|
|
7225
|
+
var ownerId = isOwnerBased ? resource : undefined;
|
|
7226
|
+
var _useFetchConfigs = useFetchConfigs({
|
|
7227
|
+
enabled: !resources
|
|
7228
|
+
}),
|
|
7165
7229
|
_useFetchConfigs$data = _useFetchConfigs.data,
|
|
7166
7230
|
_useFetchConfigs$data2 = _useFetchConfigs$data === void 0 ? {} : _useFetchConfigs$data,
|
|
7167
7231
|
_useFetchConfigs$data3 = _useFetchConfigs$data2.owners,
|
|
@@ -7170,7 +7234,7 @@ var useFieldsDashboard = function useFieldsDashboard(_ref) {
|
|
|
7170
7234
|
resourceTypes = _useFetchConfigs$data4 === void 0 ? [] : _useFetchConfigs$data4,
|
|
7171
7235
|
isConfigsLoading = _useFetchConfigs.isLoading;
|
|
7172
7236
|
var fieldParams = {
|
|
7173
|
-
resourceType: !
|
|
7237
|
+
resourceType: !isOwnerBased ? resource : undefined,
|
|
7174
7238
|
ownerId: ownerId,
|
|
7175
7239
|
state: state || FIELD_STATES.active,
|
|
7176
7240
|
searchTerm: debouncedSearchTerm
|
|
@@ -7246,14 +7310,15 @@ var useFieldsDashboard = function useFieldsDashboard(_ref) {
|
|
|
7246
7310
|
state: state
|
|
7247
7311
|
}, params)));
|
|
7248
7312
|
};
|
|
7313
|
+
var menuItems = resources || (isOwnerBased ? owners : resourceTypes);
|
|
7249
7314
|
var handleURLWithDefaultValues = function handleURLWithDefaultValues() {
|
|
7250
7315
|
var queryParams = {
|
|
7251
7316
|
resource: resource,
|
|
7252
7317
|
state: state
|
|
7253
7318
|
};
|
|
7254
7319
|
if (!isConfigsLoading && ramda.isNil(resource)) {
|
|
7255
|
-
var
|
|
7256
|
-
queryParams.resource =
|
|
7320
|
+
var _menuItems$;
|
|
7321
|
+
queryParams.resource = isOwnerBased ? menuItems === null || menuItems === void 0 ? void 0 : (_menuItems$ = menuItems[0]) === null || _menuItems$ === void 0 ? void 0 : _menuItems$.id : menuItems === null || menuItems === void 0 ? void 0 : menuItems[0];
|
|
7257
7322
|
}
|
|
7258
7323
|
if (!isConfigsLoading && ramda.isNil(state)) {
|
|
7259
7324
|
queryParams.state = FIELD_STATES.active;
|
|
@@ -7262,7 +7327,6 @@ var useFieldsDashboard = function useFieldsDashboard(_ref) {
|
|
|
7262
7327
|
history.replace(utils.buildUrl("", queryParams));
|
|
7263
7328
|
}
|
|
7264
7329
|
};
|
|
7265
|
-
var menuItems = showOwnersInMenu ? owners : resourceTypes;
|
|
7266
7330
|
var isScreenLoading = isFieldsLoading || isConfigsLoading;
|
|
7267
7331
|
var showCountSubheader = count > 0;
|
|
7268
7332
|
var searchProps = {
|
|
@@ -7272,6 +7336,20 @@ var useFieldsDashboard = function useFieldsDashboard(_ref) {
|
|
|
7272
7336
|
value: searchTerm,
|
|
7273
7337
|
placeholder: t("placeholders.searchFields")
|
|
7274
7338
|
};
|
|
7339
|
+
var isSingleResource = menuItems.length === 1;
|
|
7340
|
+
var isMenuBarNeeded = showStateFilter || !isSingleResource;
|
|
7341
|
+
var headerDisplayTitle = React.useMemo(function () {
|
|
7342
|
+
return getDashBoardTitle({
|
|
7343
|
+
isOwnerBased: isOwnerBased,
|
|
7344
|
+
owners: menuItems,
|
|
7345
|
+
selectedVal: resource,
|
|
7346
|
+
nameAliases: nameAliases,
|
|
7347
|
+
showStateFilter: showStateFilter,
|
|
7348
|
+
selectedState: state,
|
|
7349
|
+
isSingleResource: isSingleResource,
|
|
7350
|
+
title: title
|
|
7351
|
+
});
|
|
7352
|
+
}, [resource, state, isSingleResource, menuItems]);
|
|
7275
7353
|
var menuBarFilters = React.useMemo(function () {
|
|
7276
7354
|
return renderMenuBarFilters({
|
|
7277
7355
|
selectedState: state,
|
|
@@ -7280,19 +7358,20 @@ var useFieldsDashboard = function useFieldsDashboard(_ref) {
|
|
|
7280
7358
|
inactiveFieldsCount: inactiveFieldsCount,
|
|
7281
7359
|
handleBlockClick: handleBlockClick
|
|
7282
7360
|
});
|
|
7283
|
-
}, [activeFieldsCount, inactiveFieldsCount
|
|
7361
|
+
}, [activeFieldsCount, inactiveFieldsCount]);
|
|
7284
7362
|
var menuBarItems = React.useMemo(function () {
|
|
7285
7363
|
return renderMenuBarItems({
|
|
7286
|
-
isOwnerBased:
|
|
7364
|
+
isOwnerBased: isOwnerBased,
|
|
7287
7365
|
items: menuItems,
|
|
7288
7366
|
selectedMenu: resource,
|
|
7289
7367
|
handleBlockClick: handleBlockClick,
|
|
7290
|
-
nameAliases: nameAliases
|
|
7368
|
+
nameAliases: nameAliases,
|
|
7369
|
+
title: title
|
|
7291
7370
|
});
|
|
7292
7371
|
}, [menuItems, resource]);
|
|
7293
7372
|
React.useEffect(function () {
|
|
7294
7373
|
handleURLWithDefaultValues();
|
|
7295
|
-
}, [isConfigsLoading]);
|
|
7374
|
+
}, [isConfigsLoading, resources]);
|
|
7296
7375
|
return {
|
|
7297
7376
|
isPaneOpen: isPaneOpen,
|
|
7298
7377
|
setIsPaneOpen: setIsPaneOpen,
|
|
@@ -7302,9 +7381,7 @@ var useFieldsDashboard = function useFieldsDashboard(_ref) {
|
|
|
7302
7381
|
isReorderPaneOpen: isReorderPaneOpen,
|
|
7303
7382
|
setIsReorderPaneOpen: setIsReorderPaneOpen,
|
|
7304
7383
|
fields: fields,
|
|
7305
|
-
owners: owners,
|
|
7306
7384
|
count: count,
|
|
7307
|
-
menuItems: menuItems,
|
|
7308
7385
|
columnData: columnData,
|
|
7309
7386
|
selectedField: selectedField,
|
|
7310
7387
|
selectedState: state,
|
|
@@ -7315,6 +7392,7 @@ var useFieldsDashboard = function useFieldsDashboard(_ref) {
|
|
|
7315
7392
|
isDeleting: isDeleting,
|
|
7316
7393
|
isScreenLoading: isScreenLoading,
|
|
7317
7394
|
isConfigsLoading: isConfigsLoading,
|
|
7395
|
+
isMenuBarNeeded: isMenuBarNeeded,
|
|
7318
7396
|
showCountSubheader: showCountSubheader,
|
|
7319
7397
|
handleDelete: handleDelete,
|
|
7320
7398
|
handleAlertClose: handleAlertClose,
|
|
@@ -7323,7 +7401,8 @@ var useFieldsDashboard = function useFieldsDashboard(_ref) {
|
|
|
7323
7401
|
searchProps: searchProps,
|
|
7324
7402
|
menuBarFilters: menuBarFilters,
|
|
7325
7403
|
menuBarItems: menuBarItems,
|
|
7326
|
-
allFields: allFields
|
|
7404
|
+
allFields: allFields,
|
|
7405
|
+
headerDisplayTitle: headerDisplayTitle
|
|
7327
7406
|
};
|
|
7328
7407
|
};
|
|
7329
7408
|
|
|
@@ -7333,16 +7412,20 @@ var FieldsTable = function FieldsTable(_ref) {
|
|
|
7333
7412
|
rowData = _ref.rowData,
|
|
7334
7413
|
columnData = _ref.columnData,
|
|
7335
7414
|
setIsPaneOpen = _ref.setIsPaneOpen,
|
|
7336
|
-
helpDocUrl = _ref.helpDocUrl
|
|
7415
|
+
helpDocUrl = _ref.helpDocUrl,
|
|
7416
|
+
title = _ref.title;
|
|
7337
7417
|
var _useTranslation = useTranslation(),
|
|
7338
7418
|
t = _useTranslation.t;
|
|
7339
7419
|
var showNoDataScreen = !isLoading && ramda.isEmpty(rowData);
|
|
7420
|
+
title = title.toLocaleLowerCase();
|
|
7340
7421
|
return /*#__PURE__*/React__default["default"].createElement(TableWrapper__default["default"], null, showNoDataScreen ? /*#__PURE__*/React__default["default"].createElement("div", {
|
|
7341
7422
|
className: "flex h-full w-full items-center justify-center"
|
|
7342
7423
|
}, /*#__PURE__*/React__default["default"].createElement(neetoui.NoData, _extends({}, helpDocUrl && {
|
|
7343
|
-
helpText: renderNoDataHelpText(helpDocUrl)
|
|
7424
|
+
helpText: renderNoDataHelpText(title, helpDocUrl)
|
|
7344
7425
|
}, {
|
|
7345
|
-
title: t("messages.noFields"
|
|
7426
|
+
title: t("messages.noFields", {
|
|
7427
|
+
title: title
|
|
7428
|
+
}),
|
|
7346
7429
|
primaryButtonProps: {
|
|
7347
7430
|
label: t("labels.addField"),
|
|
7348
7431
|
onClick: function onClick() {
|
|
@@ -11617,12 +11700,15 @@ var FieldBlock = function FieldBlock(_ref) {
|
|
|
11617
11700
|
ref: setNodeRef,
|
|
11618
11701
|
style: style
|
|
11619
11702
|
}, attributes, listeners, {
|
|
11620
|
-
className: "neeto-ui-text-gray-800 mb-3 flex items-center space-x-4 font-medium"
|
|
11703
|
+
className: "neeto-ui-text-gray-800 mb-3 flex items-center space-x-4 font-medium",
|
|
11704
|
+
"data-cy": "reorder-field-block"
|
|
11621
11705
|
}), /*#__PURE__*/React__default["default"].createElement("div", {
|
|
11622
11706
|
className: "neeto-ui-bg-gray-100 neeto-ui-text-gray-700 neeto-ui-rounded-sm flex h-6 w-6 flex-shrink-0 items-center justify-center p-1"
|
|
11623
11707
|
}, index - systemFieldsCount + 1), /*#__PURE__*/React__default["default"].createElement("div", {
|
|
11624
11708
|
className: "neeto-ui-border-gray-400 neeto-ui-bg-white neeto-ui-rounded neeto-ui-shadow-xs flex w-96 items-center space-x-4 border border-solid p-3"
|
|
11625
|
-
}, /*#__PURE__*/React__default["default"].createElement(neetoIcons.Reorder, null), /*#__PURE__*/React__default["default"].createElement("div",
|
|
11709
|
+
}, /*#__PURE__*/React__default["default"].createElement(neetoIcons.Reorder, null), /*#__PURE__*/React__default["default"].createElement("div", {
|
|
11710
|
+
"data-cy": "reorder-field-block-name"
|
|
11711
|
+
}, field.name)));
|
|
11626
11712
|
};
|
|
11627
11713
|
var FieldBlock$1 = /*#__PURE__*/React__default["default"].memo(FieldBlock);
|
|
11628
11714
|
|
|
@@ -11673,10 +11759,12 @@ var ReorderPane = function ReorderPane(_ref) {
|
|
|
11673
11759
|
isOpen: isOpen,
|
|
11674
11760
|
onClose: onClose
|
|
11675
11761
|
}, /*#__PURE__*/React__default["default"].createElement(neetoui.Pane.Header, null, /*#__PURE__*/React__default["default"].createElement(neetoui.Typography, {
|
|
11762
|
+
"data-cy": "reorder-pane-header",
|
|
11676
11763
|
style: "h2",
|
|
11677
11764
|
weight: "semibold"
|
|
11678
11765
|
}, t("titles.reorderFields"))), /*#__PURE__*/React__default["default"].createElement(neetoui.Pane.Body, null, /*#__PURE__*/React__default["default"].createElement(neetoui.Typography, {
|
|
11679
11766
|
className: "mb-3",
|
|
11767
|
+
"data-cy": "reorder-pane-message",
|
|
11680
11768
|
style: "body2"
|
|
11681
11769
|
}, t("messages.reorderFields")), /*#__PURE__*/React__default["default"].createElement("div", {
|
|
11682
11770
|
className: "flex flex-col items-center"
|
|
@@ -11697,11 +11785,13 @@ var ReorderPane = function ReorderPane(_ref) {
|
|
|
11697
11785
|
}))))), /*#__PURE__*/React__default["default"].createElement(neetoui.Pane.Footer, {
|
|
11698
11786
|
className: "flex items-center space-x-2"
|
|
11699
11787
|
}, /*#__PURE__*/React__default["default"].createElement(neetoui.Button, {
|
|
11788
|
+
"data-cy": "save-changes-button",
|
|
11700
11789
|
disabled: initialStateRef.current === fields,
|
|
11701
11790
|
label: t("labels.saveChanges"),
|
|
11702
11791
|
loading: isSubmitting,
|
|
11703
11792
|
onClick: handleReorderSave
|
|
11704
11793
|
}), /*#__PURE__*/React__default["default"].createElement(neetoui.Button, {
|
|
11794
|
+
"data-cy": "cancel-button",
|
|
11705
11795
|
label: t("labels.cancel"),
|
|
11706
11796
|
style: "text",
|
|
11707
11797
|
onClick: onClose
|
|
@@ -11714,7 +11804,7 @@ var FieldsDashboard = function FieldsDashboard(_ref) {
|
|
|
11714
11804
|
var _ref$rowData = _ref.rowData,
|
|
11715
11805
|
rowData = _ref$rowData === void 0 ? [] : _ref$rowData,
|
|
11716
11806
|
_ref$showOwnersInMenu = _ref.showOwnersInMenu,
|
|
11717
|
-
|
|
11807
|
+
isOwnerBased = _ref$showOwnersInMenu === void 0 ? false : _ref$showOwnersInMenu,
|
|
11718
11808
|
_ref$resourceType = _ref.resourceType,
|
|
11719
11809
|
resourceType = _ref$resourceType === void 0 ? "" : _ref$resourceType,
|
|
11720
11810
|
_ref$allowedKinds = _ref.allowedKinds,
|
|
@@ -11734,14 +11824,20 @@ var FieldsDashboard = function FieldsDashboard(_ref) {
|
|
|
11734
11824
|
fieldStatesTaxonomy = _ref$fieldStatesTaxon === void 0 ? DEFAULT_FIELD_STATE_TAXONOMY : _ref$fieldStatesTaxon,
|
|
11735
11825
|
helpDocUrl = _ref.helpDocUrl,
|
|
11736
11826
|
_ref$nameAliases = _ref.nameAliases,
|
|
11737
|
-
nameAliases = _ref$nameAliases === void 0 ? {} : _ref$nameAliases
|
|
11827
|
+
nameAliases = _ref$nameAliases === void 0 ? {} : _ref$nameAliases,
|
|
11828
|
+
headerTitle = _ref.headerTitle,
|
|
11829
|
+
resources = _ref.resources;
|
|
11738
11830
|
var _useTranslation = useTranslation(),
|
|
11739
11831
|
t = _useTranslation.t;
|
|
11832
|
+
var title = pure.capitalize(headerTitle || t("titles.field", PLURAL));
|
|
11740
11833
|
var _useFieldsDashboard = useFieldsDashboard({
|
|
11741
11834
|
buildColumnData: buildColumnData,
|
|
11742
|
-
|
|
11835
|
+
isOwnerBased: isOwnerBased,
|
|
11743
11836
|
fieldStatesTaxonomy: fieldStatesTaxonomy,
|
|
11744
|
-
nameAliases: nameAliases
|
|
11837
|
+
nameAliases: nameAliases,
|
|
11838
|
+
title: title,
|
|
11839
|
+
resources: resources,
|
|
11840
|
+
showStateFilter: showStateFilter
|
|
11745
11841
|
}),
|
|
11746
11842
|
isPaneOpen = _useFieldsDashboard.isPaneOpen,
|
|
11747
11843
|
setIsPaneOpen = _useFieldsDashboard.setIsPaneOpen,
|
|
@@ -11751,9 +11847,7 @@ var FieldsDashboard = function FieldsDashboard(_ref) {
|
|
|
11751
11847
|
isReorderPaneOpen = _useFieldsDashboard.isReorderPaneOpen,
|
|
11752
11848
|
setIsReorderPaneOpen = _useFieldsDashboard.setIsReorderPaneOpen,
|
|
11753
11849
|
fields = _useFieldsDashboard.fields,
|
|
11754
|
-
owners = _useFieldsDashboard.owners,
|
|
11755
11850
|
count = _useFieldsDashboard.count,
|
|
11756
|
-
menuItems = _useFieldsDashboard.menuItems,
|
|
11757
11851
|
columnData = _useFieldsDashboard.columnData,
|
|
11758
11852
|
selectedField = _useFieldsDashboard.selectedField,
|
|
11759
11853
|
selectedState = _useFieldsDashboard.selectedState,
|
|
@@ -11763,6 +11857,7 @@ var FieldsDashboard = function FieldsDashboard(_ref) {
|
|
|
11763
11857
|
isDeleting = _useFieldsDashboard.isDeleting,
|
|
11764
11858
|
isScreenLoading = _useFieldsDashboard.isScreenLoading,
|
|
11765
11859
|
isConfigsLoading = _useFieldsDashboard.isConfigsLoading,
|
|
11860
|
+
isMenuBarNeeded = _useFieldsDashboard.isMenuBarNeeded,
|
|
11766
11861
|
showCountSubheader = _useFieldsDashboard.showCountSubheader,
|
|
11767
11862
|
handleDelete = _useFieldsDashboard.handleDelete,
|
|
11768
11863
|
handleAlertClose = _useFieldsDashboard.handleAlertClose,
|
|
@@ -11771,11 +11866,11 @@ var FieldsDashboard = function FieldsDashboard(_ref) {
|
|
|
11771
11866
|
searchProps = _useFieldsDashboard.searchProps,
|
|
11772
11867
|
menuBarFilters = _useFieldsDashboard.menuBarFilters,
|
|
11773
11868
|
menuBarItems = _useFieldsDashboard.menuBarItems,
|
|
11774
|
-
allFields = _useFieldsDashboard.allFields
|
|
11775
|
-
|
|
11869
|
+
allFields = _useFieldsDashboard.allFields,
|
|
11870
|
+
headerDisplayTitle = _useFieldsDashboard.headerDisplayTitle;
|
|
11776
11871
|
return /*#__PURE__*/React__default["default"].createElement(React__default["default"].Fragment, null, isMenuBarNeeded && /*#__PURE__*/React__default["default"].createElement(MenuBar__default["default"], {
|
|
11777
11872
|
showMenu: isMenuBarOpen,
|
|
11778
|
-
title:
|
|
11873
|
+
title: title
|
|
11779
11874
|
}, isConfigsLoading ? /*#__PURE__*/React__default["default"].createElement("div", {
|
|
11780
11875
|
className: "flex items-center justify-center"
|
|
11781
11876
|
}, /*#__PURE__*/React__default["default"].createElement(neetoui.Spinner, null)) : menuBarItems, showStateFilter && menuBarFilters), isScreenLoading && ramda.isEmpty(fields) ? /*#__PURE__*/React__default["default"].createElement("div", {
|
|
@@ -11788,6 +11883,7 @@ var FieldsDashboard = function FieldsDashboard(_ref) {
|
|
|
11788
11883
|
}
|
|
11789
11884
|
}, {
|
|
11790
11885
|
actionBlock: /*#__PURE__*/React__default["default"].createElement(React__default["default"].Fragment, null, /*#__PURE__*/React__default["default"].createElement(neetoui.Button, {
|
|
11886
|
+
"data-cy": "neeto-fields-reorder-button",
|
|
11791
11887
|
label: t("labels.reorder"),
|
|
11792
11888
|
style: "secondary",
|
|
11793
11889
|
disabled: selectedState === FIELD_STATES.inactive || !pure.existsBy({
|
|
@@ -11798,45 +11894,46 @@ var FieldsDashboard = function FieldsDashboard(_ref) {
|
|
|
11798
11894
|
return setIsReorderPaneOpen(true);
|
|
11799
11895
|
}
|
|
11800
11896
|
}), /*#__PURE__*/React__default["default"].createElement(neetoui.Button, {
|
|
11897
|
+
"data-cy": "neeto-fields-add-button",
|
|
11801
11898
|
label: t("labels.addField"),
|
|
11802
11899
|
onClick: function onClick() {
|
|
11803
11900
|
return setIsPaneOpen(true);
|
|
11804
11901
|
}
|
|
11805
11902
|
})),
|
|
11806
11903
|
searchProps: searchProps,
|
|
11807
|
-
title:
|
|
11808
|
-
|
|
11809
|
-
|
|
11810
|
-
|
|
11811
|
-
nameAliases: nameAliases
|
|
11812
|
-
}))
|
|
11904
|
+
title: /*#__PURE__*/React__default["default"].createElement(TitleWithHelpLink, {
|
|
11905
|
+
helpUrl: helpDocUrl,
|
|
11906
|
+
title: headerDisplayTitle
|
|
11907
|
+
})
|
|
11813
11908
|
})), showCountSubheader && /*#__PURE__*/React__default["default"].createElement(SubHeader__default["default"], {
|
|
11814
11909
|
leftActionBlock: /*#__PURE__*/React__default["default"].createElement(neetoui.Typography, {
|
|
11815
11910
|
className: "mr-4 font-semibold",
|
|
11911
|
+
"data-cy": "neeto-fields-subheader-text",
|
|
11816
11912
|
style: "h4"
|
|
11817
|
-
},
|
|
11913
|
+
}, "".concat(count, " "), t("titles.field", count > 1 ? PLURAL : SINGULAR).toLocaleLowerCase())
|
|
11818
11914
|
}), /*#__PURE__*/React__default["default"].createElement(FieldsTable, {
|
|
11819
11915
|
columnData: columnData,
|
|
11820
11916
|
helpDocUrl: helpDocUrl,
|
|
11821
11917
|
isLoading: isFieldsFetching || isFieldsLoading,
|
|
11822
11918
|
rowData: ramda.isEmpty(rowData) ? fields : rowData,
|
|
11823
11919
|
setIsPaneOpen: setIsPaneOpen,
|
|
11824
|
-
totalCount: count
|
|
11920
|
+
totalCount: count,
|
|
11921
|
+
title: title
|
|
11825
11922
|
}), /*#__PURE__*/React__default["default"].createElement(FieldsPane, {
|
|
11826
11923
|
additionalValidations: paneProps === null || paneProps === void 0 ? void 0 : paneProps.validations,
|
|
11827
11924
|
allowedKinds: allowedKinds,
|
|
11828
11925
|
hideRequiredSwitch: paneProps === null || paneProps === void 0 ? void 0 : paneProps.hideRequiredSwitch,
|
|
11829
11926
|
initialValues: paneProps === null || paneProps === void 0 ? void 0 : paneProps.initialValues,
|
|
11830
11927
|
isOpen: isPaneOpen,
|
|
11831
|
-
ownerId:
|
|
11832
|
-
resourceType:
|
|
11928
|
+
ownerId: isOwnerBased ? selectedMenu : "",
|
|
11929
|
+
resourceType: isOwnerBased ? resourceType : selectedMenu //Currently we support only one resource type when fields are classified based on owners
|
|
11833
11930
|
,
|
|
11834
11931
|
selectedField: selectedField,
|
|
11835
11932
|
onClose: handleClosePane,
|
|
11836
11933
|
onMutationSuccess: paneProps === null || paneProps === void 0 ? void 0 : paneProps.onMutationSuccess
|
|
11837
11934
|
}, paneProps === null || paneProps === void 0 ? void 0 : paneProps.children)), /*#__PURE__*/React__default["default"].createElement(ReorderPane, {
|
|
11838
11935
|
isOpen: isReorderPaneOpen,
|
|
11839
|
-
ownerId:
|
|
11936
|
+
ownerId: isOwnerBased ? selectedMenu : "",
|
|
11840
11937
|
onClose: handleReorderPaneClose,
|
|
11841
11938
|
allFields: allFields
|
|
11842
11939
|
}), /*#__PURE__*/React__default["default"].createElement(neetoui.Alert, {
|