@bigbinary/neeto-fields-frontend 1.1.9 → 1.1.10
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/dist/index.cjs.js +30 -43
- package/dist/index.cjs.js.map +1 -1
- package/dist/index.js +31 -44
- package/dist/index.js.map +1 -1
- package/package.json +1 -1
package/dist/index.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import React, { useContext, useState, useRef, useEffect, useMemo, useLayoutEffect, useCallback, createContext, memo, useReducer } from 'react';
|
|
2
|
-
import { Checkbox as Checkbox$1, TimePicker, DatePicker, Select, Input, Textarea, Typography, Pane, Label, Button as Button$1, Dropdown, Alert, NoData, Table, Spinner } from '@bigbinary/neetoui';
|
|
2
|
+
import { Checkbox as Checkbox$1, TimePicker, DatePicker, Select, Input, Textarea, Typography, Pane, Label, Button as Button$1, Dropdown, Tab, Alert, NoData, Table, Spinner } from '@bigbinary/neetoui';
|
|
3
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, isEmpty, isNil, pluck, clone as clone$1, pipe, mergeAll, omit, prop, pick, assoc, any, not, head } from 'ramda';
|
|
5
5
|
import { useFormikContext, useField, FieldArray } from 'formik';
|
|
@@ -5324,6 +5324,7 @@ var validations = {
|
|
|
5324
5324
|
fieldOptionIsRequired: "Field option is required",
|
|
5325
5325
|
kindIsRequired: "Kind is required",
|
|
5326
5326
|
invalidRegexPattern: "Invalid regex pattern",
|
|
5327
|
+
advancedRegexAssertionsNotSupported: "Advanced regex assertions are not supported",
|
|
5327
5328
|
notAValidNumber: "Entered number is not valid",
|
|
5328
5329
|
notAValidInteger: "Entered number is not a valid integer",
|
|
5329
5330
|
notAValid: "Entered number is not valid",
|
|
@@ -6633,9 +6634,17 @@ var renderFormFooter = function renderFormFooter(_ref3) {
|
|
|
6633
6634
|
}));
|
|
6634
6635
|
};
|
|
6635
6636
|
|
|
6637
|
+
var PERMITTED_REGEX_PATTERN = /^\/.*\/[igmsyu]*$/;
|
|
6638
|
+
var ADVANCED_REGEX_ASSERTION_PATTERN = /\(\?=[^)]*\)|\(\?![^)]*\)|\(\?<=[^)]*\)|\(\?<![^)]*\)/;
|
|
6636
6639
|
var regexValidationSchema = yup.object().shape({
|
|
6637
|
-
condition: yup.string().required(t$1("validations.regexConditionIsRequired")).matches(
|
|
6638
|
-
name: "regex",
|
|
6640
|
+
condition: yup.string().required(t$1("validations.regexConditionIsRequired")).matches(PERMITTED_REGEX_PATTERN, t$1("validations.invalidRegexPattern")).test({
|
|
6641
|
+
name: "test-regex-is-advanced",
|
|
6642
|
+
message: t$1("validations.advancedRegexAssertionsNotSupported") || "",
|
|
6643
|
+
test: function test(value) {
|
|
6644
|
+
return !ADVANCED_REGEX_ASSERTION_PATTERN.test(value);
|
|
6645
|
+
}
|
|
6646
|
+
}).test({
|
|
6647
|
+
name: "test-regex-condition-pattern",
|
|
6639
6648
|
message: t$1("validations.invalidRegexPattern") || "",
|
|
6640
6649
|
test: function test(value) {
|
|
6641
6650
|
try {
|
|
@@ -7657,34 +7666,27 @@ var renderMenuBarItems = function renderMenuBarItems(_ref2) {
|
|
|
7657
7666
|
});
|
|
7658
7667
|
});
|
|
7659
7668
|
};
|
|
7660
|
-
var
|
|
7669
|
+
var renderStateFilterTabs = function renderStateFilterTabs(_ref3) {
|
|
7661
7670
|
var selectedState = _ref3.selectedState,
|
|
7662
7671
|
fieldStatesTaxonomy = _ref3.fieldStatesTaxonomy,
|
|
7663
7672
|
activeFieldsCount = _ref3.activeFieldsCount,
|
|
7664
7673
|
inactiveFieldsCount = _ref3.inactiveFieldsCount,
|
|
7665
7674
|
handleBlockClick = _ref3.handleBlockClick;
|
|
7666
|
-
return /*#__PURE__*/React.createElement(
|
|
7667
|
-
|
|
7668
|
-
|
|
7669
|
-
textTransform: "uppercase",
|
|
7670
|
-
weight: "bold"
|
|
7671
|
-
}, t$1("titles.filters"))), /*#__PURE__*/React.createElement(MenuBar.Block, {
|
|
7675
|
+
return /*#__PURE__*/React.createElement(Tab, {
|
|
7676
|
+
className: "mb-4"
|
|
7677
|
+
}, /*#__PURE__*/React.createElement(Tab.Item, {
|
|
7672
7678
|
active: selectedState === FIELD_STATES.active,
|
|
7673
|
-
count: activeFieldsCount,
|
|
7674
7679
|
"data-cy": "menubar-active-block",
|
|
7675
|
-
label: fieldStatesTaxonomy.active,
|
|
7676
7680
|
onClick: handleBlockClick({
|
|
7677
7681
|
state: FIELD_STATES.active
|
|
7678
7682
|
})
|
|
7679
|
-
}), /*#__PURE__*/React.createElement(
|
|
7683
|
+
}, fieldStatesTaxonomy.active, "(", activeFieldsCount, ")"), /*#__PURE__*/React.createElement(Tab.Item, {
|
|
7680
7684
|
active: selectedState === FIELD_STATES.inactive,
|
|
7681
|
-
count: inactiveFieldsCount,
|
|
7682
7685
|
"data-cy": "menubar-inactive-block",
|
|
7683
|
-
label: fieldStatesTaxonomy.inactive,
|
|
7684
7686
|
onClick: handleBlockClick({
|
|
7685
7687
|
state: FIELD_STATES.inactive
|
|
7686
7688
|
})
|
|
7687
|
-
}));
|
|
7689
|
+
}, fieldStatesTaxonomy.inactive, "(", inactiveFieldsCount, ")"));
|
|
7688
7690
|
};
|
|
7689
7691
|
var getResourceName = function getResourceName(_ref4) {
|
|
7690
7692
|
var isOwnerBased = _ref4.isOwnerBased,
|
|
@@ -7702,24 +7704,11 @@ var getResourceName = function getResourceName(_ref4) {
|
|
|
7702
7704
|
var getDashBoardTitle = function getDashBoardTitle(_ref5) {
|
|
7703
7705
|
var resourceName = _ref5.resourceName,
|
|
7704
7706
|
isSingleResource = _ref5.isSingleResource,
|
|
7705
|
-
showStateFilter = _ref5.showStateFilter,
|
|
7706
|
-
selectedState = _ref5.selectedState,
|
|
7707
7707
|
title = _ref5.title;
|
|
7708
|
-
var displayTitle = title
|
|
7709
|
-
|
|
7710
|
-
|
|
7711
|
-
|
|
7712
|
-
title: title,
|
|
7713
|
-
resource: resourceName
|
|
7714
|
-
});
|
|
7715
|
-
} else if (showStateFilter && isSingleResource) {
|
|
7716
|
-
displayTitle = "".concat(selectedState, " ").concat(title);
|
|
7717
|
-
} else if (!showStateFilter && !isSingleResource) {
|
|
7718
|
-
displayTitle = t$1("messages.titleForResource", {
|
|
7719
|
-
title: title,
|
|
7720
|
-
resource: resourceName
|
|
7721
|
-
});
|
|
7722
|
-
}
|
|
7708
|
+
var displayTitle = isSingleResource ? title : t$1("messages.titleForResource", {
|
|
7709
|
+
title: title,
|
|
7710
|
+
resource: resourceName
|
|
7711
|
+
});
|
|
7723
7712
|
return humanize(displayTitle);
|
|
7724
7713
|
};
|
|
7725
7714
|
var renderNoDataHelpText = function renderNoDataHelpText(title, url) {
|
|
@@ -7921,7 +7910,7 @@ var useFieldsDashboard = function useFieldsDashboard(_ref) {
|
|
|
7921
7910
|
}
|
|
7922
7911
|
};
|
|
7923
7912
|
var isScreenLoading = isFieldsLoading || isConfigsLoading;
|
|
7924
|
-
var showCountSubheader = count > 0;
|
|
7913
|
+
var showCountSubheader = count > 0 && !showStateFilter;
|
|
7925
7914
|
var searchProps = {
|
|
7926
7915
|
onChange: function onChange(e) {
|
|
7927
7916
|
return setSearchTerm(e.target.value);
|
|
@@ -7931,7 +7920,7 @@ var useFieldsDashboard = function useFieldsDashboard(_ref) {
|
|
|
7931
7920
|
className: "w-44"
|
|
7932
7921
|
};
|
|
7933
7922
|
var isSingleResource = menuItems.length === 1;
|
|
7934
|
-
var isMenuBarNeeded =
|
|
7923
|
+
var isMenuBarNeeded = !isSingleResource && !isConfigsLoading;
|
|
7935
7924
|
var resourceName = useMemo(function () {
|
|
7936
7925
|
return getResourceName({
|
|
7937
7926
|
isOwnerBased: isOwnerBased,
|
|
@@ -7943,14 +7932,12 @@ var useFieldsDashboard = function useFieldsDashboard(_ref) {
|
|
|
7943
7932
|
var headerDisplayTitle = useMemo(function () {
|
|
7944
7933
|
return getDashBoardTitle({
|
|
7945
7934
|
resourceName: resourceName,
|
|
7946
|
-
showStateFilter: showStateFilter,
|
|
7947
|
-
selectedState: state,
|
|
7948
7935
|
isSingleResource: isSingleResource,
|
|
7949
7936
|
title: title
|
|
7950
7937
|
});
|
|
7951
7938
|
}, [state, isSingleResource, resourceName]);
|
|
7952
|
-
var
|
|
7953
|
-
return
|
|
7939
|
+
var stateFilterTabs = useMemo(function () {
|
|
7940
|
+
return renderStateFilterTabs({
|
|
7954
7941
|
selectedState: state,
|
|
7955
7942
|
fieldStatesTaxonomy: fieldStatesTaxonomy,
|
|
7956
7943
|
activeFieldsCount: activeFieldsCount,
|
|
@@ -7999,7 +7986,7 @@ var useFieldsDashboard = function useFieldsDashboard(_ref) {
|
|
|
7999
7986
|
handleClosePane: handleClosePane,
|
|
8000
7987
|
handleReorderPaneClose: handleReorderPaneClose,
|
|
8001
7988
|
searchProps: searchProps,
|
|
8002
|
-
|
|
7989
|
+
stateFilterTabs: stateFilterTabs,
|
|
8003
7990
|
menuBarItems: menuBarItems,
|
|
8004
7991
|
allFields: allFields,
|
|
8005
7992
|
headerDisplayTitle: headerDisplayTitle
|
|
@@ -12503,7 +12490,7 @@ var FieldsDashboard = function FieldsDashboard(_ref) {
|
|
|
12503
12490
|
handleClosePane = _useFieldsDashboard.handleClosePane,
|
|
12504
12491
|
handleReorderPaneClose = _useFieldsDashboard.handleReorderPaneClose,
|
|
12505
12492
|
searchProps = _useFieldsDashboard.searchProps,
|
|
12506
|
-
|
|
12493
|
+
stateFilterTabs = _useFieldsDashboard.stateFilterTabs,
|
|
12507
12494
|
menuBarItems = _useFieldsDashboard.menuBarItems,
|
|
12508
12495
|
allFields = _useFieldsDashboard.allFields,
|
|
12509
12496
|
headerDisplayTitle = _useFieldsDashboard.headerDisplayTitle;
|
|
@@ -12512,8 +12499,8 @@ var FieldsDashboard = function FieldsDashboard(_ref) {
|
|
|
12512
12499
|
title: title
|
|
12513
12500
|
}, isConfigsLoading ? /*#__PURE__*/React.createElement("div", {
|
|
12514
12501
|
className: "flex items-center justify-center"
|
|
12515
|
-
}, /*#__PURE__*/React.createElement(Spinner, null)) : menuBarItems
|
|
12516
|
-
className: "flex w-full flex-grow items-center justify-center"
|
|
12502
|
+
}, /*#__PURE__*/React.createElement(Spinner, null)) : menuBarItems), isScreenLoading && isEmpty(fields) ? /*#__PURE__*/React.createElement("div", {
|
|
12503
|
+
className: "flex h-screen w-full flex-grow items-center justify-center"
|
|
12517
12504
|
}, /*#__PURE__*/React.createElement(PageLoader, null)) : /*#__PURE__*/React.createElement(Container, null, /*#__PURE__*/React.createElement(Header, _extends({}, _objectSpread$2(_objectSpread$2({
|
|
12518
12505
|
breadcrumbs: breadcrumbs
|
|
12519
12506
|
}, isMenuBarNeeded && {
|
|
@@ -12551,7 +12538,7 @@ var FieldsDashboard = function FieldsDashboard(_ref) {
|
|
|
12551
12538
|
"data-cy": "neeto-fields-subheader-text",
|
|
12552
12539
|
style: "h4"
|
|
12553
12540
|
}, "".concat(count, " "), t("titles.field", count > 1 ? PLURAL : SINGULAR).toLocaleLowerCase())
|
|
12554
|
-
}), /*#__PURE__*/React.createElement(FieldsTable, {
|
|
12541
|
+
}), showStateFilter && stateFilterTabs, /*#__PURE__*/React.createElement(FieldsTable, {
|
|
12555
12542
|
isLoading: isFieldsFetching || isFieldsLoading,
|
|
12556
12543
|
rowData: isEmpty(rowData) ? fields : rowData,
|
|
12557
12544
|
totalCount: count,
|