@bigbinary/neeto-fields-frontend 1.0.2 → 1.0.3

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.js CHANGED
@@ -13,6 +13,7 @@ import Container from '@bigbinary/neeto-molecules/Container';
13
13
  import Header from '@bigbinary/neeto-molecules/Header';
14
14
  import MenuBar from '@bigbinary/neeto-molecules/MenuBar';
15
15
  import PageLoader from '@bigbinary/neeto-molecules/PageLoader';
16
+ import SubHeader from '@bigbinary/neeto-molecules/SubHeader';
16
17
  import TableWrapper from '@bigbinary/neeto-molecules/TableWrapper';
17
18
  import classnames from 'classnames';
18
19
 
@@ -4904,7 +4905,8 @@ var common = {
4904
4905
  no: "No"
4905
4906
  };
4906
4907
  var titles = {
4907
- fields: "Fields",
4908
+ field_one: "Field",
4909
+ field_other: "Fields",
4908
4910
  addField: "Add new field",
4909
4911
  editField: "Edit field",
4910
4912
  deleteField: "Delete field ?",
@@ -4912,7 +4914,8 @@ var titles = {
4912
4914
  kind: "Kind",
4913
4915
  required: "Required",
4914
4916
  dropdownOptions: "Dropdown options",
4915
- regexOptions: "Regex options"
4917
+ regexOptions: "Regex options",
4918
+ filters: "Filters"
4916
4919
  };
4917
4920
  var labels = {
4918
4921
  addField: "Add new field",
@@ -4925,7 +4928,7 @@ var labels = {
4925
4928
  addMoreOption: "Add more option",
4926
4929
  regex: "Regex",
4927
4930
  regexCondition: "Condition",
4928
- errorMessage: "Error message",
4931
+ helpMessage: "Help message",
4929
4932
  isRequired: "Is required",
4930
4933
  submit: "Submit"
4931
4934
  };
@@ -5051,6 +5054,14 @@ var DISPLAY_KINDS = {
5051
5054
  decimal: t("fields.kinds.decimal"),
5052
5055
  datetime: t("fields.kinds.datetime")
5053
5056
  };
5057
+ var FIELD_STATES = {
5058
+ active: "active",
5059
+ inactive: "inactive"
5060
+ };
5061
+ var DEFAULT_FIELD_STATE_TAXONOMY = {
5062
+ active: "Active",
5063
+ inactive: "Inactive"
5064
+ };
5054
5065
  var ALL_KINDS = values(KINDS);
5055
5066
 
5056
5067
  function _extends() {
@@ -5074,6 +5085,12 @@ var FIELD_VALUES_URL = "".concat(NEETO_FIELDS_URL, "/field_values");
5074
5085
  var FIELD_VALUE_URL = "".concat(NEETO_FIELDS_URL, "/field_values/:fieldValueId");
5075
5086
  var FIELD_URL = "".concat(NEETO_FIELDS_URL, "/fields/:fieldId");
5076
5087
  var CONFIGS_URL = "".concat(NEETO_FIELDS_URL, "/configs");
5088
+ var SINGULAR = {
5089
+ count: 1
5090
+ };
5091
+ var PLURAL = {
5092
+ count: 2
5093
+ };
5077
5094
 
5078
5095
  var fieldUrl = function fieldUrl(fieldId) {
5079
5096
  return buildUrl(FIELD_URL, {
@@ -5084,13 +5101,15 @@ var fetch$1 = function fetch(_ref) {
5084
5101
  var pageSize = _ref.pageSize,
5085
5102
  pageIndex = _ref.pageIndex,
5086
5103
  resourceType = _ref.resourceType,
5087
- ownerId = _ref.ownerId;
5104
+ ownerId = _ref.ownerId,
5105
+ state = _ref.state;
5088
5106
  return axios.get(FIELDS_URL, {
5089
5107
  params: {
5090
5108
  pageSize: pageSize,
5091
5109
  pageIndex: pageIndex,
5092
5110
  resourceType: resourceType,
5093
- ownerId: ownerId
5111
+ ownerId: ownerId,
5112
+ state: state
5094
5113
  }
5095
5114
  });
5096
5115
  };
@@ -5131,13 +5150,15 @@ var useFetchFields = function useFetchFields(_ref, options) {
5131
5150
  var pageSize = _ref.pageSize,
5132
5151
  pageIndex = _ref.pageIndex,
5133
5152
  resourceType = _ref.resourceType,
5134
- ownerId = _ref.ownerId;
5135
- return useQuery([FIELDS, pageSize, pageIndex, resourceType, ownerId], function () {
5153
+ ownerId = _ref.ownerId,
5154
+ state = _ref.state;
5155
+ return useQuery([FIELDS, pageSize, pageIndex, resourceType, ownerId, state], function () {
5136
5156
  return fieldsApi.fetch({
5137
5157
  pageSize: pageSize,
5138
5158
  pageIndex: pageIndex,
5139
5159
  resourceType: resourceType,
5140
- ownerId: ownerId
5160
+ ownerId: ownerId,
5161
+ state: state
5141
5162
  });
5142
5163
  }, options);
5143
5164
  };
@@ -5174,6 +5195,13 @@ var useDestroyField = function useDestroyField() {
5174
5195
 
5175
5196
  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; }
5176
5197
  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; }
5198
+ var arrangeOptionsDisplayOrder = function arrangeOptionsDisplayOrder(options) {
5199
+ return options.map(function (option, index) {
5200
+ return _objectSpread$4(_objectSpread$4({}, option), {}, {
5201
+ displayOrder: index
5202
+ });
5203
+ });
5204
+ };
5177
5205
  var buildPayload = function buildPayload(_ref) {
5178
5206
  var formValues = _ref.formValues,
5179
5207
  _ref$resourceType = _ref.resourceType,
@@ -5181,10 +5209,11 @@ var buildPayload = function buildPayload(_ref) {
5181
5209
  _ref$ownerId = _ref.ownerId,
5182
5210
  ownerId = _ref$ownerId === void 0 ? "" : _ref$ownerId;
5183
5211
  var kind = formValues.kind.value;
5184
- return _objectSpread$4(_objectSpread$4({}, pick(["name", "isRequired", "data"], formValues)), {}, {
5212
+ return _objectSpread$4(_objectSpread$4({}, pick(["name", "isRequired"], formValues)), {}, {
5185
5213
  kind: kind,
5186
5214
  resourceType: isEmpty(resourceType) ? undefined : resourceType,
5187
- ownerId: isEmpty(ownerId) ? undefined : ownerId
5215
+ ownerId: isEmpty(ownerId) ? undefined : ownerId,
5216
+ data: isDropdown(kind) ? arrangeOptionsDisplayOrder(formValues.data) : formValues.data
5188
5217
  });
5189
5218
  };
5190
5219
  var isDropdown = function isDropdown(kind) {
@@ -5213,7 +5242,10 @@ var regexValidationSchema = yup.object().shape({
5213
5242
  condition: yup.string().required(t("validations.regexConditionIsRequired")),
5214
5243
  helpMessage: yup.string().required(t("validations.regexHelpMessageIsRequired"))
5215
5244
  });
5216
- var dropDownOptionsValidationSchema = yup.array().of(yup.string().trim().required(t("validations.fieldOptionIsRequired"))).min(1, t("validations.atLeastFieldOptionIsRequired"));
5245
+ var dropDownOptionsValidationSchema = yup.array().of(yup.object().shape({
5246
+ label: yup.string().trim().required(t("validations.fieldOptionIsRequired")),
5247
+ displayOrder: yup.number()
5248
+ })).min(1, t("validations.atLeastFieldOptionIsRequired"));
5217
5249
  var FIELD_KINDS = {
5218
5250
  text: {
5219
5251
  value: "text",
@@ -5302,7 +5334,11 @@ var INITIAL_FIELDS = {
5302
5334
  kind: toLabelAndValue("text"),
5303
5335
  isRequired: false
5304
5336
  };
5305
- var DEFAULT_OPTIONS_DATA = [""];
5337
+ var DEFAULT_OPTION = {
5338
+ label: "",
5339
+ displayOrder: 0
5340
+ };
5341
+ var DEFAULT_OPTIONS_DATA = [DEFAULT_OPTION];
5306
5342
  var DEFAULT_REGEX_DATA = {
5307
5343
  regex: "",
5308
5344
  helpMessage: ""
@@ -5332,12 +5368,13 @@ var AdditionalInputs = function AdditionalInputs() {
5332
5368
  var _useFormikContext = useFormikContext(),
5333
5369
  _useFormikContext$val = _useFormikContext.values,
5334
5370
  kind = _useFormikContext$val.kind,
5335
- options = _useFormikContext$val.data;
5371
+ options = _useFormikContext$val.data,
5372
+ isSystem = _useFormikContext$val.isSystem;
5336
5373
  var removeOption = function removeOption(arrayHelpers, index) {
5337
5374
  return arrayHelpers.remove(index);
5338
5375
  };
5339
5376
  var addOption = function addOption(arrayHelpers) {
5340
- return arrayHelpers.push("");
5377
+ return arrayHelpers.push(DEFAULT_OPTION);
5341
5378
  };
5342
5379
  if (isDropdown(kind.value)) {
5343
5380
  return /*#__PURE__*/React.createElement(FieldArray, {
@@ -5354,7 +5391,8 @@ var AdditionalInputs = function AdditionalInputs() {
5354
5391
  }, /*#__PURE__*/React.createElement("div", {
5355
5392
  className: "w-full"
5356
5393
  }, /*#__PURE__*/React.createElement(Input, {
5357
- name: "data.".concat(index),
5394
+ disabled: isSystem,
5395
+ name: "data.".concat(index, ".label"),
5358
5396
  placeholder: t("placeholders.enterAnOption"),
5359
5397
  suffix: options.length > 1 && /*#__PURE__*/React.createElement(Button, {
5360
5398
  icon: Delete,
@@ -5380,11 +5418,13 @@ var AdditionalInputs = function AdditionalInputs() {
5380
5418
  }, /*#__PURE__*/React.createElement(Label, {
5381
5419
  required: true
5382
5420
  }, t("titles.regexOptions")), /*#__PURE__*/React.createElement(Input, {
5421
+ disabled: isSystem,
5383
5422
  label: t("labels.regexCondition"),
5384
5423
  name: "data.condition",
5385
5424
  placeholder: t("placeholders.regexExample")
5386
5425
  }), /*#__PURE__*/React.createElement(Input, {
5387
- label: t("labels.errorMessage"),
5426
+ disabled: isSystem,
5427
+ label: t("labels.helpMessage"),
5388
5428
  name: "data.helpMessage",
5389
5429
  placeholder: t("placeholders.enterErrorMessage")
5390
5430
  }));
@@ -5398,6 +5438,8 @@ var FieldForm = function FieldForm(_ref) {
5398
5438
  var chosenKind = _ref.chosenKind,
5399
5439
  _ref$kindSelectOption = _ref.kindSelectOptions,
5400
5440
  kindSelectOptions = _ref$kindSelectOption === void 0 ? [] : _ref$kindSelectOption,
5441
+ _ref$isSystem = _ref.isSystem,
5442
+ isSystem = _ref$isSystem === void 0 ? false : _ref$isSystem,
5401
5443
  children = _ref.children;
5402
5444
  var _useTranslation = useTranslation(),
5403
5445
  t = _useTranslation.t;
@@ -5416,11 +5458,13 @@ var FieldForm = function FieldForm(_ref) {
5416
5458
  className: "w-full space-y-4"
5417
5459
  }, /*#__PURE__*/React.createElement(Input, {
5418
5460
  required: true,
5461
+ disabled: isSystem,
5419
5462
  label: t("labels.fieldName"),
5420
5463
  name: "name",
5421
5464
  placeholder: t("placeholders.enterFieldName")
5422
5465
  }), /*#__PURE__*/React.createElement(Select, {
5423
5466
  isSearchable: true,
5467
+ isDisabled: isSystem,
5424
5468
  label: t("labels.fieldKind"),
5425
5469
  name: "kind",
5426
5470
  options: kindSelectOptions,
@@ -5541,6 +5585,7 @@ var Edit = function Edit(_ref) {
5541
5585
  });
5542
5586
  return /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(FieldForm, _extends({
5543
5587
  chosenKind: kind === null || kind === void 0 ? void 0 : kind.value,
5588
+ isSystem: field.isSystem,
5544
5589
  kindSelectOptions: permittedKinds
5545
5590
  }, props)), /*#__PURE__*/React.createElement(Pane.Footer, null, /*#__PURE__*/React.createElement(ActionBlock, {
5546
5591
  cancelButtonProps: {
@@ -6066,16 +6111,27 @@ var cleanedRegex = function cleanedRegex(expression) {
6066
6111
  }
6067
6112
  return expression;
6068
6113
  };
6114
+ var buildOptionsToLabelAndValue = function buildOptionsToLabelAndValue() {
6115
+ var optionObjects = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];
6116
+ return optionObjects.map(function (_ref2) {
6117
+ var label = _ref2.label,
6118
+ value = _ref2.value;
6119
+ return {
6120
+ label: label,
6121
+ value: value || label
6122
+ };
6123
+ });
6124
+ };
6069
6125
  var buildArrayToLabelAndValues = function buildArrayToLabelAndValues(value) {
6070
6126
  return map(toLabelAndValue, value || []);
6071
6127
  };
6072
6128
  var validateField = /*#__PURE__*/function () {
6073
- var _ref3 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee(_ref2) {
6129
+ var _ref4 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee(_ref3) {
6074
6130
  var fieldValue, fieldName, isRequired, kind, fieldData;
6075
6131
  return _regeneratorRuntime.wrap(function _callee$(_context) {
6076
6132
  while (1) switch (_context.prev = _context.next) {
6077
6133
  case 0:
6078
- fieldValue = _ref2.fieldValue, fieldName = _ref2.fieldName, isRequired = _ref2.isRequired, kind = _ref2.kind, fieldData = _ref2.fieldData;
6134
+ fieldValue = _ref3.fieldValue, fieldName = _ref3.fieldName, isRequired = _ref3.isRequired, kind = _ref3.kind, fieldData = _ref3.fieldData;
6079
6135
  _context.prev = 1;
6080
6136
  _context.next = 4;
6081
6137
  return yup.object().shape(_defineProperty({}, fieldName, buildFieldValidationSchema({
@@ -6096,7 +6152,7 @@ var validateField = /*#__PURE__*/function () {
6096
6152
  }, _callee, null, [[1, 7]]);
6097
6153
  }));
6098
6154
  return function validateField(_x) {
6099
- return _ref3.apply(this, arguments);
6155
+ return _ref4.apply(this, arguments);
6100
6156
  };
6101
6157
  }();
6102
6158
  var dateTimeToString = function dateTimeToString(dateTime) {
@@ -6146,12 +6202,13 @@ var useFormikFields = function useFormikFields(_ref) {
6146
6202
  }
6147
6203
  return value;
6148
6204
  };
6205
+ var isDropdown = ["single_option", "multi_option"].includes(kind);
6149
6206
  return {
6150
6207
  handleSubmit: handleSubmit,
6151
6208
  fieldProps: _objectSpread$3(_objectSpread$3({}, formikFieldProps), {}, {
6152
6209
  required: isRequired,
6153
6210
  error: meta.error,
6154
- options: fieldData && buildArrayToLabelAndValues(fieldData),
6211
+ options: isDropdown && buildOptionsToLabelAndValue(fieldData),
6155
6212
  value: getValueForField(formikFieldProps.value),
6156
6213
  dirty: dirty,
6157
6214
  label: !individualSubmit && name
@@ -6210,7 +6267,7 @@ var MultiOption = function MultiOption(props) {
6210
6267
  isSearchable: true
6211
6268
  }, fieldProps, {
6212
6269
  onChange: function onChange(selectedOptions) {
6213
- handleSubmit(pluck("value", selectedOptions));
6270
+ return handleSubmit(pluck("value", selectedOptions));
6214
6271
  }
6215
6272
  }));
6216
6273
  };
@@ -6377,7 +6434,7 @@ var getInitialFieldValue = function getInitialFieldValue(field) {
6377
6434
  };
6378
6435
  var getAllInitialFieldValues = function getAllInitialFieldValues(fields) {
6379
6436
  var fieldValues = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : [];
6380
- return fields.map(function (field) {
6437
+ return getNonSystemFields(fields).map(function (field) {
6381
6438
  return getInitialFieldValue(field, fieldValues);
6382
6439
  });
6383
6440
  };
@@ -6387,6 +6444,11 @@ var mergeInitialValues = function mergeInitialValues(_ref5) {
6387
6444
  var initialValue = mergeAll([initialValues].concat(_toConsumableArray(getAllInitialFieldValues(fields, initialValues === null || initialValues === void 0 ? void 0 : initialValues.fieldValues))));
6388
6445
  return omit(["fieldValues"], initialValue);
6389
6446
  };
6447
+ var getNonSystemFields = function getNonSystemFields(fields) {
6448
+ return filterBy({
6449
+ isSystem: false
6450
+ }, fields);
6451
+ };
6390
6452
  var neetoFieldsUtils = {
6391
6453
  mergeInitialValues: mergeInitialValues,
6392
6454
  transformValues: transformValues
@@ -6396,7 +6458,7 @@ var FieldInputs = function FieldInputs(_ref) {
6396
6458
  var _ref$customComponents = _ref.customComponents,
6397
6459
  customComponents = _ref$customComponents === void 0 ? {} : _ref$customComponents,
6398
6460
  fields = _ref.fields;
6399
- return fields.map(function (field) {
6461
+ return getNonSystemFields(fields).map(function (field) {
6400
6462
  return renderFieldInput({
6401
6463
  field: field,
6402
6464
  customComponents: customComponents
@@ -6460,11 +6522,9 @@ var FieldsTable = function FieldsTable(_ref) {
6460
6522
 
6461
6523
  var Menu = Dropdown.Menu,
6462
6524
  MenuItem = Dropdown.MenuItem;
6463
- var buildColumns = function buildColumns(_ref) {
6525
+ var buildDefaultColumns = function buildDefaultColumns(_ref) {
6464
6526
  var onDeleteClick = _ref.onDeleteClick,
6465
- onEditClick = _ref.onEditClick,
6466
- _ref$additionalColumn = _ref.additionalColumnData,
6467
- additionalColumnData = _ref$additionalColumn === void 0 ? [] : _ref$additionalColumn;
6527
+ onEditClick = _ref.onEditClick;
6468
6528
  return [{
6469
6529
  key: "name",
6470
6530
  dataIndex: "name",
@@ -6485,7 +6545,7 @@ var buildColumns = function buildColumns(_ref) {
6485
6545
  onClick: function onClick() {
6486
6546
  return onEditClick(field);
6487
6547
  }
6488
- }, t("labels.edit")), /*#__PURE__*/React.createElement(MenuItem.Button, {
6548
+ }, t("labels.edit")), !field.isSystem && /*#__PURE__*/React.createElement(MenuItem.Button, {
6489
6549
  onClick: function onClick() {
6490
6550
  return onDeleteClick(field);
6491
6551
  }
@@ -6505,7 +6565,7 @@ var buildColumns = function buildColumns(_ref) {
6505
6565
  render: function render(boolVal) {
6506
6566
  return boolVal ? t("common.yes") : t("common.no");
6507
6567
  }
6508
- }].concat(_toConsumableArray(additionalColumnData));
6568
+ }];
6509
6569
  };
6510
6570
  var renderMenuBarItems = function renderMenuBarItems(_ref2) {
6511
6571
  var items = _ref2.items,
@@ -6541,11 +6601,37 @@ var renderMenuBarItems = function renderMenuBarItems(_ref2) {
6541
6601
  });
6542
6602
  });
6543
6603
  };
6544
- var getDashBoardTitle = function getDashBoardTitle(_ref3) {
6604
+ var renderMenuBarFilters = function renderMenuBarFilters(_ref3) {
6605
+ var selectedState = _ref3.selectedState,
6606
+ setSelectedState = _ref3.setSelectedState,
6607
+ fieldStatesTaxonomy = _ref3.fieldStatesTaxonomy,
6608
+ activeFieldsCount = _ref3.activeFieldsCount,
6609
+ inactiveFieldsCount = _ref3.inactiveFieldsCount;
6610
+ return /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(MenuBar.SubTitle, null, /*#__PURE__*/React.createElement(Typography, {
6611
+ style: "h5",
6612
+ textTransform: "uppercase",
6613
+ weight: "bold"
6614
+ }, t("titles.filters"))), /*#__PURE__*/React.createElement(MenuBar.Block, {
6615
+ active: selectedState === FIELD_STATES.active,
6616
+ count: activeFieldsCount,
6617
+ label: fieldStatesTaxonomy.active,
6618
+ onClick: function onClick() {
6619
+ return setSelectedState(FIELD_STATES.active);
6620
+ }
6621
+ }), /*#__PURE__*/React.createElement(MenuBar.Block, {
6622
+ active: selectedState === FIELD_STATES.inactive,
6623
+ count: inactiveFieldsCount,
6624
+ label: fieldStatesTaxonomy.inactive,
6625
+ onClick: function onClick() {
6626
+ return setSelectedState(FIELD_STATES.inactive);
6627
+ }
6628
+ }));
6629
+ };
6630
+ var getDashBoardTitle = function getDashBoardTitle(_ref4) {
6545
6631
  var _findBy;
6546
- var isOwnerBased = _ref3.isOwnerBased,
6547
- owners = _ref3.owners,
6548
- selectedVal = _ref3.selectedVal;
6632
+ var isOwnerBased = _ref4.isOwnerBased,
6633
+ owners = _ref4.owners,
6634
+ selectedVal = _ref4.selectedVal;
6549
6635
  return t("messages.manageFieldFor", {
6550
6636
  resource: isOwnerBased ? (_findBy = findBy({
6551
6637
  id: selectedVal
@@ -6561,15 +6647,25 @@ function _objectSpread$1(target) { for (var i = 1; i < arguments.length; i++) {
6561
6647
  var FieldsDashboard = function FieldsDashboard(_ref) {
6562
6648
  var _ref$rowData = _ref.rowData,
6563
6649
  rowData = _ref$rowData === void 0 ? [] : _ref$rowData,
6564
- _ref$additionalColumn = _ref.additionalColumnData,
6565
- additionalColumnData = _ref$additionalColumn === void 0 ? [] : _ref$additionalColumn,
6566
6650
  _ref$showOwnersInMenu = _ref.showOwnersInMenu,
6567
6651
  showOwnersInMenu = _ref$showOwnersInMenu === void 0 ? false : _ref$showOwnersInMenu,
6568
6652
  _ref$resourceType = _ref.resourceType,
6569
6653
  resourceType = _ref$resourceType === void 0 ? "" : _ref$resourceType,
6570
6654
  _ref$allowedKinds = _ref.allowedKinds,
6571
6655
  allowedKinds = _ref$allowedKinds === void 0 ? ALL_KINDS : _ref$allowedKinds,
6572
- paneProps = _ref.paneProps;
6656
+ paneProps = _ref.paneProps,
6657
+ _ref$buildColumnData = _ref.buildColumnData,
6658
+ buildColumnData = _ref$buildColumnData === void 0 ? function (_ref2) {
6659
+ var _ref2$defaultColumns = _ref2.defaultColumns,
6660
+ defaultColumns = _ref2$defaultColumns === void 0 ? [] : _ref2$defaultColumns;
6661
+ return defaultColumns;
6662
+ } : _ref$buildColumnData,
6663
+ _ref$breadcrumbs = _ref.breadcrumbs,
6664
+ breadcrumbs = _ref$breadcrumbs === void 0 ? [] : _ref$breadcrumbs,
6665
+ _ref$showStateFilter = _ref.showStateFilter,
6666
+ showStateFilter = _ref$showStateFilter === void 0 ? true : _ref$showStateFilter,
6667
+ _ref$fieldStatesTaxon = _ref.fieldStatesTaxonomy,
6668
+ fieldStatesTaxonomy = _ref$fieldStatesTaxon === void 0 ? DEFAULT_FIELD_STATE_TAXONOMY : _ref$fieldStatesTaxon;
6573
6669
  var _useState = useState(false),
6574
6670
  _useState2 = _slicedToArray(_useState, 2),
6575
6671
  isPaneOpen = _useState2[0],
@@ -6590,13 +6686,17 @@ var FieldsDashboard = function FieldsDashboard(_ref) {
6590
6686
  _useState10 = _slicedToArray(_useState9, 2),
6591
6687
  selectedField = _useState10[0],
6592
6688
  setSelectedField = _useState10[1];
6593
- var _useState11 = useState({
6689
+ var _useState11 = useState(FIELD_STATES.active),
6690
+ _useState12 = _slicedToArray(_useState11, 2),
6691
+ selectedState = _useState12[0],
6692
+ setSelectedState = _useState12[1];
6693
+ var _useState13 = useState({
6594
6694
  pageIndex: DEFAULT_PAGE_INDEX,
6595
6695
  pageSize: DEFAULT_PAGE_SIZE
6596
6696
  }),
6597
- _useState12 = _slicedToArray(_useState11, 2),
6598
- pageProps = _useState12[0],
6599
- setPageProps = _useState12[1];
6697
+ _useState14 = _slicedToArray(_useState13, 2),
6698
+ pageProps = _useState14[0],
6699
+ setPageProps = _useState14[1];
6600
6700
  var _useTranslation = useTranslation(),
6601
6701
  t = _useTranslation.t;
6602
6702
  var _useFetchConfigs = useFetchConfigs(),
@@ -6609,7 +6709,8 @@ var FieldsDashboard = function FieldsDashboard(_ref) {
6609
6709
  isConfigsLoading = _useFetchConfigs.isLoading;
6610
6710
  var _useFetchFields = useFetchFields(_objectSpread$1({
6611
6711
  resourceType: !showOwnersInMenu ? selectedMenu : undefined,
6612
- ownerId: showOwnersInMenu ? selectedMenu : undefined
6712
+ ownerId: showOwnersInMenu ? selectedMenu : undefined,
6713
+ state: selectedState
6613
6714
  }, pageProps), {
6614
6715
  enabled: !!selectedMenu
6615
6716
  }),
@@ -6618,6 +6719,8 @@ var FieldsDashboard = function FieldsDashboard(_ref) {
6618
6719
  _useFetchFields$data3 = _useFetchFields$data2.fields,
6619
6720
  fields = _useFetchFields$data3 === void 0 ? [] : _useFetchFields$data3,
6620
6721
  count = _useFetchFields$data2.count,
6722
+ activeFieldsCount = _useFetchFields$data2.activeFieldsCount,
6723
+ inactiveFieldsCount = _useFetchFields$data2.inactiveFieldsCount,
6621
6724
  isFieldsLoading = _useFetchFields.isLoading,
6622
6725
  isFieldsFetching = _useFetchFields.isFetching;
6623
6726
  var _useDestroyField = useDestroyField(),
@@ -6647,15 +6750,27 @@ var FieldsDashboard = function FieldsDashboard(_ref) {
6647
6750
  setIsDeleteAlertOpen(false);
6648
6751
  setSelectedField({});
6649
6752
  };
6753
+ var defaultColumns = buildDefaultColumns({
6754
+ onDeleteClick: handleDeleteButtonClick,
6755
+ onEditClick: handleEditButtonClick
6756
+ });
6757
+ var columnData = buildColumnData({
6758
+ onEditClick: handleEditButtonClick,
6759
+ onDeleteClick: handleDeleteButtonClick,
6760
+ defaultColumns: defaultColumns
6761
+ });
6650
6762
  var menuItems = showOwnersInMenu ? owners : resourceTypes;
6651
6763
  var isScreenLoading = isFieldsLoading || isConfigsLoading;
6764
+ var showCountSubheader = count > 0;
6652
6765
  useEffect(function () {
6653
6766
  var _owners$;
6654
6767
  showOwnersInMenu ? setSelectedMenu((_owners$ = owners[0]) === null || _owners$ === void 0 ? void 0 : _owners$.id) : setSelectedMenu(resourceTypes[0]);
6655
6768
  }, [isConfigsLoading]);
6656
- return /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(MenuBar, {
6769
+ return /*#__PURE__*/React.createElement("div", {
6770
+ className: "flex flex-grow"
6771
+ }, /*#__PURE__*/React.createElement(MenuBar, {
6657
6772
  showMenu: isMenuBarOpen,
6658
- title: t("titles.fields")
6773
+ title: t("titles.field", SINGULAR)
6659
6774
  }, isConfigsLoading ? /*#__PURE__*/React.createElement("div", {
6660
6775
  className: "flex items-center justify-center"
6661
6776
  }, /*#__PURE__*/React.createElement(Spinner, null)) : renderMenuBarItems({
@@ -6663,9 +6778,16 @@ var FieldsDashboard = function FieldsDashboard(_ref) {
6663
6778
  items: menuItems,
6664
6779
  selectedMenu: selectedMenu,
6665
6780
  setSelectedMenu: setSelectedMenu
6781
+ }), showStateFilter && renderMenuBarFilters({
6782
+ selectedState: selectedState,
6783
+ setSelectedState: setSelectedState,
6784
+ fieldStatesTaxonomy: fieldStatesTaxonomy,
6785
+ activeFieldsCount: activeFieldsCount,
6786
+ inactiveFieldsCount: inactiveFieldsCount
6666
6787
  })), isScreenLoading ? /*#__PURE__*/React.createElement("div", {
6667
6788
  className: "flex w-full flex-grow items-center justify-center"
6668
6789
  }, /*#__PURE__*/React.createElement(PageLoader, null)) : /*#__PURE__*/React.createElement(Container, null, /*#__PURE__*/React.createElement(Header, {
6790
+ breadcrumbs: breadcrumbs,
6669
6791
  menuBarToggle: function menuBarToggle() {
6670
6792
  return setIsMenuBarOpen(not);
6671
6793
  },
@@ -6687,18 +6809,19 @@ var FieldsDashboard = function FieldsDashboard(_ref) {
6687
6809
  owners: owners,
6688
6810
  selectedVal: selectedMenu
6689
6811
  })
6812
+ }), showCountSubheader && /*#__PURE__*/React.createElement(SubHeader, {
6813
+ leftActionBlock: /*#__PURE__*/React.createElement(Typography, {
6814
+ className: "mr-4 font-semibold",
6815
+ style: "h4"
6816
+ }, count, t("titles.field", count > 1 ? PLURAL : SINGULAR).toLocaleLowerCase())
6690
6817
  }), /*#__PURE__*/React.createElement(FieldsTable, {
6818
+ columnData: columnData,
6691
6819
  isLoading: isFieldsFetching || isFieldsLoading,
6692
6820
  pageProps: pageProps,
6693
6821
  rowData: isEmpty(rowData) ? fields : rowData,
6694
6822
  setIsPaneOpen: setIsPaneOpen,
6695
6823
  setPageProps: setPageProps,
6696
- totalCount: count,
6697
- columnData: buildColumns({
6698
- onDeleteClick: handleDeleteButtonClick,
6699
- onEditClick: handleEditButtonClick,
6700
- additionalColumnData: additionalColumnData
6701
- })
6824
+ totalCount: count
6702
6825
  })), /*#__PURE__*/React.createElement(Alert, {
6703
6826
  isOpen: isDeleteAlertOpen,
6704
6827
  isSubmitting: isDeleting,
@@ -6829,7 +6952,7 @@ var FieldValuesContainer = function FieldValuesContainer(_ref) {
6829
6952
  isFieldsLoading = _useFetchFields.isLoading;
6830
6953
  return /*#__PURE__*/React.createElement("div", {
6831
6954
  className: classnames(className, "neeto-ui-border-gray-300 m-3 space-y-3 rounded-lg border bg-white px-4 py-2")
6832
- }, isFieldsLoading ? /*#__PURE__*/React.createElement(Spinner, null) : fields.map(function (field) {
6955
+ }, isFieldsLoading ? /*#__PURE__*/React.createElement(Spinner, null) : getNonSystemFields(fields).map(function (field) {
6833
6956
  return /*#__PURE__*/React.createElement(React.Fragment, {
6834
6957
  key: field.id
6835
6958
  }, /*#__PURE__*/React.createElement(Typography, {