@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.cjs.js CHANGED
@@ -17,6 +17,7 @@ var Container = require('@bigbinary/neeto-molecules/Container');
17
17
  var Header = require('@bigbinary/neeto-molecules/Header');
18
18
  var MenuBar = require('@bigbinary/neeto-molecules/MenuBar');
19
19
  var PageLoader = require('@bigbinary/neeto-molecules/PageLoader');
20
+ var SubHeader = require('@bigbinary/neeto-molecules/SubHeader');
20
21
  var TableWrapper = require('@bigbinary/neeto-molecules/TableWrapper');
21
22
  var classnames = require('classnames');
22
23
 
@@ -47,6 +48,7 @@ var Container__default = /*#__PURE__*/_interopDefaultLegacy(Container);
47
48
  var Header__default = /*#__PURE__*/_interopDefaultLegacy(Header);
48
49
  var MenuBar__default = /*#__PURE__*/_interopDefaultLegacy(MenuBar);
49
50
  var PageLoader__default = /*#__PURE__*/_interopDefaultLegacy(PageLoader);
51
+ var SubHeader__default = /*#__PURE__*/_interopDefaultLegacy(SubHeader);
50
52
  var TableWrapper__default = /*#__PURE__*/_interopDefaultLegacy(TableWrapper);
51
53
  var classnames__default = /*#__PURE__*/_interopDefaultLegacy(classnames);
52
54
 
@@ -4938,7 +4940,8 @@ var common = {
4938
4940
  no: "No"
4939
4941
  };
4940
4942
  var titles = {
4941
- fields: "Fields",
4943
+ field_one: "Field",
4944
+ field_other: "Fields",
4942
4945
  addField: "Add new field",
4943
4946
  editField: "Edit field",
4944
4947
  deleteField: "Delete field ?",
@@ -4946,7 +4949,8 @@ var titles = {
4946
4949
  kind: "Kind",
4947
4950
  required: "Required",
4948
4951
  dropdownOptions: "Dropdown options",
4949
- regexOptions: "Regex options"
4952
+ regexOptions: "Regex options",
4953
+ filters: "Filters"
4950
4954
  };
4951
4955
  var labels = {
4952
4956
  addField: "Add new field",
@@ -4959,7 +4963,7 @@ var labels = {
4959
4963
  addMoreOption: "Add more option",
4960
4964
  regex: "Regex",
4961
4965
  regexCondition: "Condition",
4962
- errorMessage: "Error message",
4966
+ helpMessage: "Help message",
4963
4967
  isRequired: "Is required",
4964
4968
  submit: "Submit"
4965
4969
  };
@@ -5085,6 +5089,14 @@ var DISPLAY_KINDS = {
5085
5089
  decimal: t("fields.kinds.decimal"),
5086
5090
  datetime: t("fields.kinds.datetime")
5087
5091
  };
5092
+ var FIELD_STATES = {
5093
+ active: "active",
5094
+ inactive: "inactive"
5095
+ };
5096
+ var DEFAULT_FIELD_STATE_TAXONOMY = {
5097
+ active: "Active",
5098
+ inactive: "Inactive"
5099
+ };
5088
5100
  var ALL_KINDS = ramda.values(KINDS);
5089
5101
 
5090
5102
  function _extends() {
@@ -5108,6 +5120,12 @@ var FIELD_VALUES_URL = "".concat(NEETO_FIELDS_URL, "/field_values");
5108
5120
  var FIELD_VALUE_URL = "".concat(NEETO_FIELDS_URL, "/field_values/:fieldValueId");
5109
5121
  var FIELD_URL = "".concat(NEETO_FIELDS_URL, "/fields/:fieldId");
5110
5122
  var CONFIGS_URL = "".concat(NEETO_FIELDS_URL, "/configs");
5123
+ var SINGULAR = {
5124
+ count: 1
5125
+ };
5126
+ var PLURAL = {
5127
+ count: 2
5128
+ };
5111
5129
 
5112
5130
  var fieldUrl = function fieldUrl(fieldId) {
5113
5131
  return utils.buildUrl(FIELD_URL, {
@@ -5118,13 +5136,15 @@ var fetch$1 = function fetch(_ref) {
5118
5136
  var pageSize = _ref.pageSize,
5119
5137
  pageIndex = _ref.pageIndex,
5120
5138
  resourceType = _ref.resourceType,
5121
- ownerId = _ref.ownerId;
5139
+ ownerId = _ref.ownerId,
5140
+ state = _ref.state;
5122
5141
  return axios__default["default"].get(FIELDS_URL, {
5123
5142
  params: {
5124
5143
  pageSize: pageSize,
5125
5144
  pageIndex: pageIndex,
5126
5145
  resourceType: resourceType,
5127
- ownerId: ownerId
5146
+ ownerId: ownerId,
5147
+ state: state
5128
5148
  }
5129
5149
  });
5130
5150
  };
@@ -5165,13 +5185,15 @@ var useFetchFields = function useFetchFields(_ref, options) {
5165
5185
  var pageSize = _ref.pageSize,
5166
5186
  pageIndex = _ref.pageIndex,
5167
5187
  resourceType = _ref.resourceType,
5168
- ownerId = _ref.ownerId;
5169
- return reactQuery.useQuery([FIELDS, pageSize, pageIndex, resourceType, ownerId], function () {
5188
+ ownerId = _ref.ownerId,
5189
+ state = _ref.state;
5190
+ return reactQuery.useQuery([FIELDS, pageSize, pageIndex, resourceType, ownerId, state], function () {
5170
5191
  return fieldsApi.fetch({
5171
5192
  pageSize: pageSize,
5172
5193
  pageIndex: pageIndex,
5173
5194
  resourceType: resourceType,
5174
- ownerId: ownerId
5195
+ ownerId: ownerId,
5196
+ state: state
5175
5197
  });
5176
5198
  }, options);
5177
5199
  };
@@ -5208,6 +5230,13 @@ var useDestroyField = function useDestroyField() {
5208
5230
 
5209
5231
  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; }
5210
5232
  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; }
5233
+ var arrangeOptionsDisplayOrder = function arrangeOptionsDisplayOrder(options) {
5234
+ return options.map(function (option, index) {
5235
+ return _objectSpread$4(_objectSpread$4({}, option), {}, {
5236
+ displayOrder: index
5237
+ });
5238
+ });
5239
+ };
5211
5240
  var buildPayload = function buildPayload(_ref) {
5212
5241
  var formValues = _ref.formValues,
5213
5242
  _ref$resourceType = _ref.resourceType,
@@ -5215,10 +5244,11 @@ var buildPayload = function buildPayload(_ref) {
5215
5244
  _ref$ownerId = _ref.ownerId,
5216
5245
  ownerId = _ref$ownerId === void 0 ? "" : _ref$ownerId;
5217
5246
  var kind = formValues.kind.value;
5218
- return _objectSpread$4(_objectSpread$4({}, ramda.pick(["name", "isRequired", "data"], formValues)), {}, {
5247
+ return _objectSpread$4(_objectSpread$4({}, ramda.pick(["name", "isRequired"], formValues)), {}, {
5219
5248
  kind: kind,
5220
5249
  resourceType: ramda.isEmpty(resourceType) ? undefined : resourceType,
5221
- ownerId: ramda.isEmpty(ownerId) ? undefined : ownerId
5250
+ ownerId: ramda.isEmpty(ownerId) ? undefined : ownerId,
5251
+ data: isDropdown(kind) ? arrangeOptionsDisplayOrder(formValues.data) : formValues.data
5222
5252
  });
5223
5253
  };
5224
5254
  var isDropdown = function isDropdown(kind) {
@@ -5247,7 +5277,10 @@ var regexValidationSchema = yup__namespace.object().shape({
5247
5277
  condition: yup__namespace.string().required(t("validations.regexConditionIsRequired")),
5248
5278
  helpMessage: yup__namespace.string().required(t("validations.regexHelpMessageIsRequired"))
5249
5279
  });
5250
- var dropDownOptionsValidationSchema = yup__namespace.array().of(yup__namespace.string().trim().required(t("validations.fieldOptionIsRequired"))).min(1, t("validations.atLeastFieldOptionIsRequired"));
5280
+ var dropDownOptionsValidationSchema = yup__namespace.array().of(yup__namespace.object().shape({
5281
+ label: yup__namespace.string().trim().required(t("validations.fieldOptionIsRequired")),
5282
+ displayOrder: yup__namespace.number()
5283
+ })).min(1, t("validations.atLeastFieldOptionIsRequired"));
5251
5284
  var FIELD_KINDS = {
5252
5285
  text: {
5253
5286
  value: "text",
@@ -5336,7 +5369,11 @@ var INITIAL_FIELDS = {
5336
5369
  kind: pure.toLabelAndValue("text"),
5337
5370
  isRequired: false
5338
5371
  };
5339
- var DEFAULT_OPTIONS_DATA = [""];
5372
+ var DEFAULT_OPTION = {
5373
+ label: "",
5374
+ displayOrder: 0
5375
+ };
5376
+ var DEFAULT_OPTIONS_DATA = [DEFAULT_OPTION];
5340
5377
  var DEFAULT_REGEX_DATA = {
5341
5378
  regex: "",
5342
5379
  helpMessage: ""
@@ -5366,12 +5403,13 @@ var AdditionalInputs = function AdditionalInputs() {
5366
5403
  var _useFormikContext = formik.useFormikContext(),
5367
5404
  _useFormikContext$val = _useFormikContext.values,
5368
5405
  kind = _useFormikContext$val.kind,
5369
- options = _useFormikContext$val.data;
5406
+ options = _useFormikContext$val.data,
5407
+ isSystem = _useFormikContext$val.isSystem;
5370
5408
  var removeOption = function removeOption(arrayHelpers, index) {
5371
5409
  return arrayHelpers.remove(index);
5372
5410
  };
5373
5411
  var addOption = function addOption(arrayHelpers) {
5374
- return arrayHelpers.push("");
5412
+ return arrayHelpers.push(DEFAULT_OPTION);
5375
5413
  };
5376
5414
  if (isDropdown(kind.value)) {
5377
5415
  return /*#__PURE__*/React__default["default"].createElement(formik.FieldArray, {
@@ -5388,7 +5426,8 @@ var AdditionalInputs = function AdditionalInputs() {
5388
5426
  }, /*#__PURE__*/React__default["default"].createElement("div", {
5389
5427
  className: "w-full"
5390
5428
  }, /*#__PURE__*/React__default["default"].createElement(formik$1.Input, {
5391
- name: "data.".concat(index),
5429
+ disabled: isSystem,
5430
+ name: "data.".concat(index, ".label"),
5392
5431
  placeholder: t("placeholders.enterAnOption"),
5393
5432
  suffix: options.length > 1 && /*#__PURE__*/React__default["default"].createElement(neetoui.Button, {
5394
5433
  icon: neetoIcons.Delete,
@@ -5414,11 +5453,13 @@ var AdditionalInputs = function AdditionalInputs() {
5414
5453
  }, /*#__PURE__*/React__default["default"].createElement(neetoui.Label, {
5415
5454
  required: true
5416
5455
  }, t("titles.regexOptions")), /*#__PURE__*/React__default["default"].createElement(formik$1.Input, {
5456
+ disabled: isSystem,
5417
5457
  label: t("labels.regexCondition"),
5418
5458
  name: "data.condition",
5419
5459
  placeholder: t("placeholders.regexExample")
5420
5460
  }), /*#__PURE__*/React__default["default"].createElement(formik$1.Input, {
5421
- label: t("labels.errorMessage"),
5461
+ disabled: isSystem,
5462
+ label: t("labels.helpMessage"),
5422
5463
  name: "data.helpMessage",
5423
5464
  placeholder: t("placeholders.enterErrorMessage")
5424
5465
  }));
@@ -5432,6 +5473,8 @@ var FieldForm = function FieldForm(_ref) {
5432
5473
  var chosenKind = _ref.chosenKind,
5433
5474
  _ref$kindSelectOption = _ref.kindSelectOptions,
5434
5475
  kindSelectOptions = _ref$kindSelectOption === void 0 ? [] : _ref$kindSelectOption,
5476
+ _ref$isSystem = _ref.isSystem,
5477
+ isSystem = _ref$isSystem === void 0 ? false : _ref$isSystem,
5435
5478
  children = _ref.children;
5436
5479
  var _useTranslation = useTranslation(),
5437
5480
  t = _useTranslation.t;
@@ -5450,11 +5493,13 @@ var FieldForm = function FieldForm(_ref) {
5450
5493
  className: "w-full space-y-4"
5451
5494
  }, /*#__PURE__*/React__default["default"].createElement(formik$1.Input, {
5452
5495
  required: true,
5496
+ disabled: isSystem,
5453
5497
  label: t("labels.fieldName"),
5454
5498
  name: "name",
5455
5499
  placeholder: t("placeholders.enterFieldName")
5456
5500
  }), /*#__PURE__*/React__default["default"].createElement(formik$1.Select, {
5457
5501
  isSearchable: true,
5502
+ isDisabled: isSystem,
5458
5503
  label: t("labels.fieldKind"),
5459
5504
  name: "kind",
5460
5505
  options: kindSelectOptions,
@@ -5575,6 +5620,7 @@ var Edit = function Edit(_ref) {
5575
5620
  });
5576
5621
  return /*#__PURE__*/React__default["default"].createElement(React__default["default"].Fragment, null, /*#__PURE__*/React__default["default"].createElement(FieldForm, _extends({
5577
5622
  chosenKind: kind === null || kind === void 0 ? void 0 : kind.value,
5623
+ isSystem: field.isSystem,
5578
5624
  kindSelectOptions: permittedKinds
5579
5625
  }, props)), /*#__PURE__*/React__default["default"].createElement(neetoui.Pane.Footer, null, /*#__PURE__*/React__default["default"].createElement(formik$1.ActionBlock, {
5580
5626
  cancelButtonProps: {
@@ -6100,16 +6146,27 @@ var cleanedRegex = function cleanedRegex(expression) {
6100
6146
  }
6101
6147
  return expression;
6102
6148
  };
6149
+ var buildOptionsToLabelAndValue = function buildOptionsToLabelAndValue() {
6150
+ var optionObjects = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];
6151
+ return optionObjects.map(function (_ref2) {
6152
+ var label = _ref2.label,
6153
+ value = _ref2.value;
6154
+ return {
6155
+ label: label,
6156
+ value: value || label
6157
+ };
6158
+ });
6159
+ };
6103
6160
  var buildArrayToLabelAndValues = function buildArrayToLabelAndValues(value) {
6104
6161
  return ramda.map(pure.toLabelAndValue, value || []);
6105
6162
  };
6106
6163
  var validateField = /*#__PURE__*/function () {
6107
- var _ref3 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee(_ref2) {
6164
+ var _ref4 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee(_ref3) {
6108
6165
  var fieldValue, fieldName, isRequired, kind, fieldData;
6109
6166
  return _regeneratorRuntime.wrap(function _callee$(_context) {
6110
6167
  while (1) switch (_context.prev = _context.next) {
6111
6168
  case 0:
6112
- fieldValue = _ref2.fieldValue, fieldName = _ref2.fieldName, isRequired = _ref2.isRequired, kind = _ref2.kind, fieldData = _ref2.fieldData;
6169
+ fieldValue = _ref3.fieldValue, fieldName = _ref3.fieldName, isRequired = _ref3.isRequired, kind = _ref3.kind, fieldData = _ref3.fieldData;
6113
6170
  _context.prev = 1;
6114
6171
  _context.next = 4;
6115
6172
  return yup__namespace.object().shape(_defineProperty({}, fieldName, buildFieldValidationSchema({
@@ -6130,7 +6187,7 @@ var validateField = /*#__PURE__*/function () {
6130
6187
  }, _callee, null, [[1, 7]]);
6131
6188
  }));
6132
6189
  return function validateField(_x) {
6133
- return _ref3.apply(this, arguments);
6190
+ return _ref4.apply(this, arguments);
6134
6191
  };
6135
6192
  }();
6136
6193
  var dateTimeToString = function dateTimeToString(dateTime) {
@@ -6180,12 +6237,13 @@ var useFormikFields = function useFormikFields(_ref) {
6180
6237
  }
6181
6238
  return value;
6182
6239
  };
6240
+ var isDropdown = ["single_option", "multi_option"].includes(kind);
6183
6241
  return {
6184
6242
  handleSubmit: handleSubmit,
6185
6243
  fieldProps: _objectSpread$3(_objectSpread$3({}, formikFieldProps), {}, {
6186
6244
  required: isRequired,
6187
6245
  error: meta.error,
6188
- options: fieldData && buildArrayToLabelAndValues(fieldData),
6246
+ options: isDropdown && buildOptionsToLabelAndValue(fieldData),
6189
6247
  value: getValueForField(formikFieldProps.value),
6190
6248
  dirty: dirty,
6191
6249
  label: !individualSubmit && name
@@ -6244,7 +6302,7 @@ var MultiOption = function MultiOption(props) {
6244
6302
  isSearchable: true
6245
6303
  }, fieldProps, {
6246
6304
  onChange: function onChange(selectedOptions) {
6247
- handleSubmit(ramda.pluck("value", selectedOptions));
6305
+ return handleSubmit(ramda.pluck("value", selectedOptions));
6248
6306
  }
6249
6307
  }));
6250
6308
  };
@@ -6411,7 +6469,7 @@ var getInitialFieldValue = function getInitialFieldValue(field) {
6411
6469
  };
6412
6470
  var getAllInitialFieldValues = function getAllInitialFieldValues(fields) {
6413
6471
  var fieldValues = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : [];
6414
- return fields.map(function (field) {
6472
+ return getNonSystemFields(fields).map(function (field) {
6415
6473
  return getInitialFieldValue(field, fieldValues);
6416
6474
  });
6417
6475
  };
@@ -6421,6 +6479,11 @@ var mergeInitialValues = function mergeInitialValues(_ref5) {
6421
6479
  var initialValue = ramda.mergeAll([initialValues].concat(_toConsumableArray(getAllInitialFieldValues(fields, initialValues === null || initialValues === void 0 ? void 0 : initialValues.fieldValues))));
6422
6480
  return ramda.omit(["fieldValues"], initialValue);
6423
6481
  };
6482
+ var getNonSystemFields = function getNonSystemFields(fields) {
6483
+ return pure.filterBy({
6484
+ isSystem: false
6485
+ }, fields);
6486
+ };
6424
6487
  var neetoFieldsUtils = {
6425
6488
  mergeInitialValues: mergeInitialValues,
6426
6489
  transformValues: transformValues
@@ -6430,7 +6493,7 @@ var FieldInputs = function FieldInputs(_ref) {
6430
6493
  var _ref$customComponents = _ref.customComponents,
6431
6494
  customComponents = _ref$customComponents === void 0 ? {} : _ref$customComponents,
6432
6495
  fields = _ref.fields;
6433
- return fields.map(function (field) {
6496
+ return getNonSystemFields(fields).map(function (field) {
6434
6497
  return renderFieldInput({
6435
6498
  field: field,
6436
6499
  customComponents: customComponents
@@ -6494,11 +6557,9 @@ var FieldsTable = function FieldsTable(_ref) {
6494
6557
 
6495
6558
  var Menu = neetoui.Dropdown.Menu,
6496
6559
  MenuItem = neetoui.Dropdown.MenuItem;
6497
- var buildColumns = function buildColumns(_ref) {
6560
+ var buildDefaultColumns = function buildDefaultColumns(_ref) {
6498
6561
  var onDeleteClick = _ref.onDeleteClick,
6499
- onEditClick = _ref.onEditClick,
6500
- _ref$additionalColumn = _ref.additionalColumnData,
6501
- additionalColumnData = _ref$additionalColumn === void 0 ? [] : _ref$additionalColumn;
6562
+ onEditClick = _ref.onEditClick;
6502
6563
  return [{
6503
6564
  key: "name",
6504
6565
  dataIndex: "name",
@@ -6519,7 +6580,7 @@ var buildColumns = function buildColumns(_ref) {
6519
6580
  onClick: function onClick() {
6520
6581
  return onEditClick(field);
6521
6582
  }
6522
- }, t("labels.edit")), /*#__PURE__*/React__default["default"].createElement(MenuItem.Button, {
6583
+ }, t("labels.edit")), !field.isSystem && /*#__PURE__*/React__default["default"].createElement(MenuItem.Button, {
6523
6584
  onClick: function onClick() {
6524
6585
  return onDeleteClick(field);
6525
6586
  }
@@ -6539,7 +6600,7 @@ var buildColumns = function buildColumns(_ref) {
6539
6600
  render: function render(boolVal) {
6540
6601
  return boolVal ? t("common.yes") : t("common.no");
6541
6602
  }
6542
- }].concat(_toConsumableArray(additionalColumnData));
6603
+ }];
6543
6604
  };
6544
6605
  var renderMenuBarItems = function renderMenuBarItems(_ref2) {
6545
6606
  var items = _ref2.items,
@@ -6575,11 +6636,37 @@ var renderMenuBarItems = function renderMenuBarItems(_ref2) {
6575
6636
  });
6576
6637
  });
6577
6638
  };
6578
- var getDashBoardTitle = function getDashBoardTitle(_ref3) {
6639
+ var renderMenuBarFilters = function renderMenuBarFilters(_ref3) {
6640
+ var selectedState = _ref3.selectedState,
6641
+ setSelectedState = _ref3.setSelectedState,
6642
+ fieldStatesTaxonomy = _ref3.fieldStatesTaxonomy,
6643
+ activeFieldsCount = _ref3.activeFieldsCount,
6644
+ inactiveFieldsCount = _ref3.inactiveFieldsCount;
6645
+ 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, {
6646
+ style: "h5",
6647
+ textTransform: "uppercase",
6648
+ weight: "bold"
6649
+ }, t("titles.filters"))), /*#__PURE__*/React__default["default"].createElement(MenuBar__default["default"].Block, {
6650
+ active: selectedState === FIELD_STATES.active,
6651
+ count: activeFieldsCount,
6652
+ label: fieldStatesTaxonomy.active,
6653
+ onClick: function onClick() {
6654
+ return setSelectedState(FIELD_STATES.active);
6655
+ }
6656
+ }), /*#__PURE__*/React__default["default"].createElement(MenuBar__default["default"].Block, {
6657
+ active: selectedState === FIELD_STATES.inactive,
6658
+ count: inactiveFieldsCount,
6659
+ label: fieldStatesTaxonomy.inactive,
6660
+ onClick: function onClick() {
6661
+ return setSelectedState(FIELD_STATES.inactive);
6662
+ }
6663
+ }));
6664
+ };
6665
+ var getDashBoardTitle = function getDashBoardTitle(_ref4) {
6579
6666
  var _findBy;
6580
- var isOwnerBased = _ref3.isOwnerBased,
6581
- owners = _ref3.owners,
6582
- selectedVal = _ref3.selectedVal;
6667
+ var isOwnerBased = _ref4.isOwnerBased,
6668
+ owners = _ref4.owners,
6669
+ selectedVal = _ref4.selectedVal;
6583
6670
  return t("messages.manageFieldFor", {
6584
6671
  resource: isOwnerBased ? (_findBy = pure.findBy({
6585
6672
  id: selectedVal
@@ -6595,15 +6682,25 @@ function _objectSpread$1(target) { for (var i = 1; i < arguments.length; i++) {
6595
6682
  var FieldsDashboard = function FieldsDashboard(_ref) {
6596
6683
  var _ref$rowData = _ref.rowData,
6597
6684
  rowData = _ref$rowData === void 0 ? [] : _ref$rowData,
6598
- _ref$additionalColumn = _ref.additionalColumnData,
6599
- additionalColumnData = _ref$additionalColumn === void 0 ? [] : _ref$additionalColumn,
6600
6685
  _ref$showOwnersInMenu = _ref.showOwnersInMenu,
6601
6686
  showOwnersInMenu = _ref$showOwnersInMenu === void 0 ? false : _ref$showOwnersInMenu,
6602
6687
  _ref$resourceType = _ref.resourceType,
6603
6688
  resourceType = _ref$resourceType === void 0 ? "" : _ref$resourceType,
6604
6689
  _ref$allowedKinds = _ref.allowedKinds,
6605
6690
  allowedKinds = _ref$allowedKinds === void 0 ? ALL_KINDS : _ref$allowedKinds,
6606
- paneProps = _ref.paneProps;
6691
+ paneProps = _ref.paneProps,
6692
+ _ref$buildColumnData = _ref.buildColumnData,
6693
+ buildColumnData = _ref$buildColumnData === void 0 ? function (_ref2) {
6694
+ var _ref2$defaultColumns = _ref2.defaultColumns,
6695
+ defaultColumns = _ref2$defaultColumns === void 0 ? [] : _ref2$defaultColumns;
6696
+ return defaultColumns;
6697
+ } : _ref$buildColumnData,
6698
+ _ref$breadcrumbs = _ref.breadcrumbs,
6699
+ breadcrumbs = _ref$breadcrumbs === void 0 ? [] : _ref$breadcrumbs,
6700
+ _ref$showStateFilter = _ref.showStateFilter,
6701
+ showStateFilter = _ref$showStateFilter === void 0 ? true : _ref$showStateFilter,
6702
+ _ref$fieldStatesTaxon = _ref.fieldStatesTaxonomy,
6703
+ fieldStatesTaxonomy = _ref$fieldStatesTaxon === void 0 ? DEFAULT_FIELD_STATE_TAXONOMY : _ref$fieldStatesTaxon;
6607
6704
  var _useState = React.useState(false),
6608
6705
  _useState2 = _slicedToArray(_useState, 2),
6609
6706
  isPaneOpen = _useState2[0],
@@ -6624,13 +6721,17 @@ var FieldsDashboard = function FieldsDashboard(_ref) {
6624
6721
  _useState10 = _slicedToArray(_useState9, 2),
6625
6722
  selectedField = _useState10[0],
6626
6723
  setSelectedField = _useState10[1];
6627
- var _useState11 = React.useState({
6724
+ var _useState11 = React.useState(FIELD_STATES.active),
6725
+ _useState12 = _slicedToArray(_useState11, 2),
6726
+ selectedState = _useState12[0],
6727
+ setSelectedState = _useState12[1];
6728
+ var _useState13 = React.useState({
6628
6729
  pageIndex: DEFAULT_PAGE_INDEX,
6629
6730
  pageSize: DEFAULT_PAGE_SIZE
6630
6731
  }),
6631
- _useState12 = _slicedToArray(_useState11, 2),
6632
- pageProps = _useState12[0],
6633
- setPageProps = _useState12[1];
6732
+ _useState14 = _slicedToArray(_useState13, 2),
6733
+ pageProps = _useState14[0],
6734
+ setPageProps = _useState14[1];
6634
6735
  var _useTranslation = useTranslation(),
6635
6736
  t = _useTranslation.t;
6636
6737
  var _useFetchConfigs = useFetchConfigs(),
@@ -6643,7 +6744,8 @@ var FieldsDashboard = function FieldsDashboard(_ref) {
6643
6744
  isConfigsLoading = _useFetchConfigs.isLoading;
6644
6745
  var _useFetchFields = useFetchFields(_objectSpread$1({
6645
6746
  resourceType: !showOwnersInMenu ? selectedMenu : undefined,
6646
- ownerId: showOwnersInMenu ? selectedMenu : undefined
6747
+ ownerId: showOwnersInMenu ? selectedMenu : undefined,
6748
+ state: selectedState
6647
6749
  }, pageProps), {
6648
6750
  enabled: !!selectedMenu
6649
6751
  }),
@@ -6652,6 +6754,8 @@ var FieldsDashboard = function FieldsDashboard(_ref) {
6652
6754
  _useFetchFields$data3 = _useFetchFields$data2.fields,
6653
6755
  fields = _useFetchFields$data3 === void 0 ? [] : _useFetchFields$data3,
6654
6756
  count = _useFetchFields$data2.count,
6757
+ activeFieldsCount = _useFetchFields$data2.activeFieldsCount,
6758
+ inactiveFieldsCount = _useFetchFields$data2.inactiveFieldsCount,
6655
6759
  isFieldsLoading = _useFetchFields.isLoading,
6656
6760
  isFieldsFetching = _useFetchFields.isFetching;
6657
6761
  var _useDestroyField = useDestroyField(),
@@ -6681,15 +6785,27 @@ var FieldsDashboard = function FieldsDashboard(_ref) {
6681
6785
  setIsDeleteAlertOpen(false);
6682
6786
  setSelectedField({});
6683
6787
  };
6788
+ var defaultColumns = buildDefaultColumns({
6789
+ onDeleteClick: handleDeleteButtonClick,
6790
+ onEditClick: handleEditButtonClick
6791
+ });
6792
+ var columnData = buildColumnData({
6793
+ onEditClick: handleEditButtonClick,
6794
+ onDeleteClick: handleDeleteButtonClick,
6795
+ defaultColumns: defaultColumns
6796
+ });
6684
6797
  var menuItems = showOwnersInMenu ? owners : resourceTypes;
6685
6798
  var isScreenLoading = isFieldsLoading || isConfigsLoading;
6799
+ var showCountSubheader = count > 0;
6686
6800
  React.useEffect(function () {
6687
6801
  var _owners$;
6688
6802
  showOwnersInMenu ? setSelectedMenu((_owners$ = owners[0]) === null || _owners$ === void 0 ? void 0 : _owners$.id) : setSelectedMenu(resourceTypes[0]);
6689
6803
  }, [isConfigsLoading]);
6690
- return /*#__PURE__*/React__default["default"].createElement(React__default["default"].Fragment, null, /*#__PURE__*/React__default["default"].createElement(MenuBar__default["default"], {
6804
+ return /*#__PURE__*/React__default["default"].createElement("div", {
6805
+ className: "flex flex-grow"
6806
+ }, /*#__PURE__*/React__default["default"].createElement(MenuBar__default["default"], {
6691
6807
  showMenu: isMenuBarOpen,
6692
- title: t("titles.fields")
6808
+ title: t("titles.field", SINGULAR)
6693
6809
  }, isConfigsLoading ? /*#__PURE__*/React__default["default"].createElement("div", {
6694
6810
  className: "flex items-center justify-center"
6695
6811
  }, /*#__PURE__*/React__default["default"].createElement(neetoui.Spinner, null)) : renderMenuBarItems({
@@ -6697,9 +6813,16 @@ var FieldsDashboard = function FieldsDashboard(_ref) {
6697
6813
  items: menuItems,
6698
6814
  selectedMenu: selectedMenu,
6699
6815
  setSelectedMenu: setSelectedMenu
6816
+ }), showStateFilter && renderMenuBarFilters({
6817
+ selectedState: selectedState,
6818
+ setSelectedState: setSelectedState,
6819
+ fieldStatesTaxonomy: fieldStatesTaxonomy,
6820
+ activeFieldsCount: activeFieldsCount,
6821
+ inactiveFieldsCount: inactiveFieldsCount
6700
6822
  })), isScreenLoading ? /*#__PURE__*/React__default["default"].createElement("div", {
6701
6823
  className: "flex w-full flex-grow items-center justify-center"
6702
6824
  }, /*#__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"], {
6825
+ breadcrumbs: breadcrumbs,
6703
6826
  menuBarToggle: function menuBarToggle() {
6704
6827
  return setIsMenuBarOpen(ramda.not);
6705
6828
  },
@@ -6721,18 +6844,19 @@ var FieldsDashboard = function FieldsDashboard(_ref) {
6721
6844
  owners: owners,
6722
6845
  selectedVal: selectedMenu
6723
6846
  })
6847
+ }), showCountSubheader && /*#__PURE__*/React__default["default"].createElement(SubHeader__default["default"], {
6848
+ leftActionBlock: /*#__PURE__*/React__default["default"].createElement(neetoui.Typography, {
6849
+ className: "mr-4 font-semibold",
6850
+ style: "h4"
6851
+ }, count, t("titles.field", count > 1 ? PLURAL : SINGULAR).toLocaleLowerCase())
6724
6852
  }), /*#__PURE__*/React__default["default"].createElement(FieldsTable, {
6853
+ columnData: columnData,
6725
6854
  isLoading: isFieldsFetching || isFieldsLoading,
6726
6855
  pageProps: pageProps,
6727
6856
  rowData: ramda.isEmpty(rowData) ? fields : rowData,
6728
6857
  setIsPaneOpen: setIsPaneOpen,
6729
6858
  setPageProps: setPageProps,
6730
- totalCount: count,
6731
- columnData: buildColumns({
6732
- onDeleteClick: handleDeleteButtonClick,
6733
- onEditClick: handleEditButtonClick,
6734
- additionalColumnData: additionalColumnData
6735
- })
6859
+ totalCount: count
6736
6860
  })), /*#__PURE__*/React__default["default"].createElement(neetoui.Alert, {
6737
6861
  isOpen: isDeleteAlertOpen,
6738
6862
  isSubmitting: isDeleting,
@@ -6863,7 +6987,7 @@ var FieldValuesContainer = function FieldValuesContainer(_ref) {
6863
6987
  isFieldsLoading = _useFetchFields.isLoading;
6864
6988
  return /*#__PURE__*/React__default["default"].createElement("div", {
6865
6989
  className: classnames__default["default"](className, "neeto-ui-border-gray-300 m-3 space-y-3 rounded-lg border bg-white px-4 py-2")
6866
- }, isFieldsLoading ? /*#__PURE__*/React__default["default"].createElement(neetoui.Spinner, null) : fields.map(function (field) {
6990
+ }, isFieldsLoading ? /*#__PURE__*/React__default["default"].createElement(neetoui.Spinner, null) : getNonSystemFields(fields).map(function (field) {
6867
6991
  return /*#__PURE__*/React__default["default"].createElement(React__default["default"].Fragment, {
6868
6992
  key: field.id
6869
6993
  }, /*#__PURE__*/React__default["default"].createElement(neetoui.Typography, {