@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 CHANGED
@@ -5359,6 +5359,7 @@ var validations = {
5359
5359
  fieldOptionIsRequired: "Field option is required",
5360
5360
  kindIsRequired: "Kind is required",
5361
5361
  invalidRegexPattern: "Invalid regex pattern",
5362
+ advancedRegexAssertionsNotSupported: "Advanced regex assertions are not supported",
5362
5363
  notAValidNumber: "Entered number is not valid",
5363
5364
  notAValidInteger: "Entered number is not a valid integer",
5364
5365
  notAValid: "Entered number is not valid",
@@ -6668,9 +6669,17 @@ var renderFormFooter = function renderFormFooter(_ref3) {
6668
6669
  }));
6669
6670
  };
6670
6671
 
6672
+ var PERMITTED_REGEX_PATTERN = /^\/.*\/[igmsyu]*$/;
6673
+ var ADVANCED_REGEX_ASSERTION_PATTERN = /\(\?=[^)]*\)|\(\?![^)]*\)|\(\?<=[^)]*\)|\(\?<![^)]*\)/;
6671
6674
  var regexValidationSchema = yup__namespace.object().shape({
6672
- condition: yup__namespace.string().required(t$1("validations.regexConditionIsRequired")).matches(/^\/.*\/[igmsyu]*$/, t$1("validations.invalidRegexPattern")).test({
6673
- name: "regex",
6675
+ condition: yup__namespace.string().required(t$1("validations.regexConditionIsRequired")).matches(PERMITTED_REGEX_PATTERN, t$1("validations.invalidRegexPattern")).test({
6676
+ name: "test-regex-is-advanced",
6677
+ message: t$1("validations.advancedRegexAssertionsNotSupported") || "",
6678
+ test: function test(value) {
6679
+ return !ADVANCED_REGEX_ASSERTION_PATTERN.test(value);
6680
+ }
6681
+ }).test({
6682
+ name: "test-regex-condition-pattern",
6674
6683
  message: t$1("validations.invalidRegexPattern") || "",
6675
6684
  test: function test(value) {
6676
6685
  try {
@@ -7692,34 +7701,27 @@ var renderMenuBarItems = function renderMenuBarItems(_ref2) {
7692
7701
  });
7693
7702
  });
7694
7703
  };
7695
- var renderMenuBarFilters = function renderMenuBarFilters(_ref3) {
7704
+ var renderStateFilterTabs = function renderStateFilterTabs(_ref3) {
7696
7705
  var selectedState = _ref3.selectedState,
7697
7706
  fieldStatesTaxonomy = _ref3.fieldStatesTaxonomy,
7698
7707
  activeFieldsCount = _ref3.activeFieldsCount,
7699
7708
  inactiveFieldsCount = _ref3.inactiveFieldsCount,
7700
7709
  handleBlockClick = _ref3.handleBlockClick;
7701
- 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, {
7702
- "data-cy": "menubar-subtitle",
7703
- style: "h5",
7704
- textTransform: "uppercase",
7705
- weight: "bold"
7706
- }, t$1("titles.filters"))), /*#__PURE__*/React__default["default"].createElement(MenuBar__default["default"].Block, {
7710
+ return /*#__PURE__*/React__default["default"].createElement(neetoui.Tab, {
7711
+ className: "mb-4"
7712
+ }, /*#__PURE__*/React__default["default"].createElement(neetoui.Tab.Item, {
7707
7713
  active: selectedState === FIELD_STATES.active,
7708
- count: activeFieldsCount,
7709
7714
  "data-cy": "menubar-active-block",
7710
- label: fieldStatesTaxonomy.active,
7711
7715
  onClick: handleBlockClick({
7712
7716
  state: FIELD_STATES.active
7713
7717
  })
7714
- }), /*#__PURE__*/React__default["default"].createElement(MenuBar__default["default"].Block, {
7718
+ }, fieldStatesTaxonomy.active, "(", activeFieldsCount, ")"), /*#__PURE__*/React__default["default"].createElement(neetoui.Tab.Item, {
7715
7719
  active: selectedState === FIELD_STATES.inactive,
7716
- count: inactiveFieldsCount,
7717
7720
  "data-cy": "menubar-inactive-block",
7718
- label: fieldStatesTaxonomy.inactive,
7719
7721
  onClick: handleBlockClick({
7720
7722
  state: FIELD_STATES.inactive
7721
7723
  })
7722
- }));
7724
+ }, fieldStatesTaxonomy.inactive, "(", inactiveFieldsCount, ")"));
7723
7725
  };
7724
7726
  var getResourceName = function getResourceName(_ref4) {
7725
7727
  var isOwnerBased = _ref4.isOwnerBased,
@@ -7737,24 +7739,11 @@ var getResourceName = function getResourceName(_ref4) {
7737
7739
  var getDashBoardTitle = function getDashBoardTitle(_ref5) {
7738
7740
  var resourceName = _ref5.resourceName,
7739
7741
  isSingleResource = _ref5.isSingleResource,
7740
- showStateFilter = _ref5.showStateFilter,
7741
- selectedState = _ref5.selectedState,
7742
7742
  title = _ref5.title;
7743
- var displayTitle = title;
7744
- if (showStateFilter && !isSingleResource) {
7745
- displayTitle = t$1("messages.stateTitleForResource", {
7746
- state: selectedState,
7747
- title: title,
7748
- resource: resourceName
7749
- });
7750
- } else if (showStateFilter && isSingleResource) {
7751
- displayTitle = "".concat(selectedState, " ").concat(title);
7752
- } else if (!showStateFilter && !isSingleResource) {
7753
- displayTitle = t$1("messages.titleForResource", {
7754
- title: title,
7755
- resource: resourceName
7756
- });
7757
- }
7743
+ var displayTitle = isSingleResource ? title : t$1("messages.titleForResource", {
7744
+ title: title,
7745
+ resource: resourceName
7746
+ });
7758
7747
  return pure.humanize(displayTitle);
7759
7748
  };
7760
7749
  var renderNoDataHelpText = function renderNoDataHelpText(title, url) {
@@ -7956,7 +7945,7 @@ var useFieldsDashboard = function useFieldsDashboard(_ref) {
7956
7945
  }
7957
7946
  };
7958
7947
  var isScreenLoading = isFieldsLoading || isConfigsLoading;
7959
- var showCountSubheader = count > 0;
7948
+ var showCountSubheader = count > 0 && !showStateFilter;
7960
7949
  var searchProps = {
7961
7950
  onChange: function onChange(e) {
7962
7951
  return setSearchTerm(e.target.value);
@@ -7966,7 +7955,7 @@ var useFieldsDashboard = function useFieldsDashboard(_ref) {
7966
7955
  className: "w-44"
7967
7956
  };
7968
7957
  var isSingleResource = menuItems.length === 1;
7969
- var isMenuBarNeeded = showStateFilter || !isSingleResource;
7958
+ var isMenuBarNeeded = !isSingleResource && !isConfigsLoading;
7970
7959
  var resourceName = React.useMemo(function () {
7971
7960
  return getResourceName({
7972
7961
  isOwnerBased: isOwnerBased,
@@ -7978,14 +7967,12 @@ var useFieldsDashboard = function useFieldsDashboard(_ref) {
7978
7967
  var headerDisplayTitle = React.useMemo(function () {
7979
7968
  return getDashBoardTitle({
7980
7969
  resourceName: resourceName,
7981
- showStateFilter: showStateFilter,
7982
- selectedState: state,
7983
7970
  isSingleResource: isSingleResource,
7984
7971
  title: title
7985
7972
  });
7986
7973
  }, [state, isSingleResource, resourceName]);
7987
- var menuBarFilters = React.useMemo(function () {
7988
- return renderMenuBarFilters({
7974
+ var stateFilterTabs = React.useMemo(function () {
7975
+ return renderStateFilterTabs({
7989
7976
  selectedState: state,
7990
7977
  fieldStatesTaxonomy: fieldStatesTaxonomy,
7991
7978
  activeFieldsCount: activeFieldsCount,
@@ -8034,7 +8021,7 @@ var useFieldsDashboard = function useFieldsDashboard(_ref) {
8034
8021
  handleClosePane: handleClosePane,
8035
8022
  handleReorderPaneClose: handleReorderPaneClose,
8036
8023
  searchProps: searchProps,
8037
- menuBarFilters: menuBarFilters,
8024
+ stateFilterTabs: stateFilterTabs,
8038
8025
  menuBarItems: menuBarItems,
8039
8026
  allFields: allFields,
8040
8027
  headerDisplayTitle: headerDisplayTitle
@@ -12538,7 +12525,7 @@ var FieldsDashboard = function FieldsDashboard(_ref) {
12538
12525
  handleClosePane = _useFieldsDashboard.handleClosePane,
12539
12526
  handleReorderPaneClose = _useFieldsDashboard.handleReorderPaneClose,
12540
12527
  searchProps = _useFieldsDashboard.searchProps,
12541
- menuBarFilters = _useFieldsDashboard.menuBarFilters,
12528
+ stateFilterTabs = _useFieldsDashboard.stateFilterTabs,
12542
12529
  menuBarItems = _useFieldsDashboard.menuBarItems,
12543
12530
  allFields = _useFieldsDashboard.allFields,
12544
12531
  headerDisplayTitle = _useFieldsDashboard.headerDisplayTitle;
@@ -12547,8 +12534,8 @@ var FieldsDashboard = function FieldsDashboard(_ref) {
12547
12534
  title: title
12548
12535
  }, isConfigsLoading ? /*#__PURE__*/React__default["default"].createElement("div", {
12549
12536
  className: "flex items-center justify-center"
12550
- }, /*#__PURE__*/React__default["default"].createElement(neetoui.Spinner, null)) : menuBarItems, showStateFilter && menuBarFilters), isScreenLoading && ramda.isEmpty(fields) ? /*#__PURE__*/React__default["default"].createElement("div", {
12551
- className: "flex w-full flex-grow items-center justify-center"
12537
+ }, /*#__PURE__*/React__default["default"].createElement(neetoui.Spinner, null)) : menuBarItems), isScreenLoading && ramda.isEmpty(fields) ? /*#__PURE__*/React__default["default"].createElement("div", {
12538
+ className: "flex h-screen w-full flex-grow items-center justify-center"
12552
12539
  }, /*#__PURE__*/React__default["default"].createElement(PageLoader__default["default"], null)) : /*#__PURE__*/React__default["default"].createElement(Container__default["default"], null, /*#__PURE__*/React__default["default"].createElement(Header__default["default"], _extends({}, _objectSpread$2(_objectSpread$2({
12553
12540
  breadcrumbs: breadcrumbs
12554
12541
  }, isMenuBarNeeded && {
@@ -12586,7 +12573,7 @@ var FieldsDashboard = function FieldsDashboard(_ref) {
12586
12573
  "data-cy": "neeto-fields-subheader-text",
12587
12574
  style: "h4"
12588
12575
  }, "".concat(count, " "), t("titles.field", count > 1 ? PLURAL : SINGULAR).toLocaleLowerCase())
12589
- }), /*#__PURE__*/React__default["default"].createElement(FieldsTable, {
12576
+ }), showStateFilter && stateFilterTabs, /*#__PURE__*/React__default["default"].createElement(FieldsTable, {
12590
12577
  isLoading: isFieldsFetching || isFieldsLoading,
12591
12578
  rowData: ramda.isEmpty(rowData) ? fields : rowData,
12592
12579
  totalCount: count,