@bigbinary/neeto-fields-frontend 1.3.16 → 1.3.18

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
@@ -1,14 +1,13 @@
1
1
  import React, { useEffect, useRef, useState, useMemo, useLayoutEffect, useCallback, createContext, memo, useReducer, useContext } from 'react';
2
2
  import { useFuncDebounce, useOnClickOutside, withT, useMutationWithInvalidation, useQueryParams, handleMetaClick } from '@bigbinary/neeto-commons-frontend/react-utils';
3
- 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
+ import { Checkbox as Checkbox$1, TimePicker, DatePicker, Select, Input, Textarea, Typography, Pane, Label, Button as Button$1, Tab, Alert, NoData, Table, Spinner } from '@bigbinary/neetoui';
4
4
  import { isNotEmpty, renameKeys, capitalize, findBy, noop as noop$1, filterBy, toLabelAndValue, slugify, humanize, countBy } from '@bigbinary/neeto-cist';
5
- import { values, isNotNil, isNil, isEmpty, prop, pluck, clone, pipe, mergeAll, omit, map, pick, assoc, any, head } from 'ramda';
6
- import classnames from 'classnames';
5
+ import { values, isNotNil, isNil, isEmpty, prop, pluck, clone, pipe, mergeAll, omit, map, pick, assoc, not, any, head } from 'ramda';
7
6
  import { useFormikContext, useField, FieldArray } from 'formik';
8
7
  import { t } from 'i18next';
9
8
  import * as yup from 'yup';
10
9
  import { joinHyphenCase, buildUrl, getQueryParams, dateFormat } from '@bigbinary/neeto-commons-frontend/utils';
11
- import { Check, Delete, MenuHorizontal, Info, Reorder } from '@bigbinary/neeto-icons';
10
+ import { Check, Delete, Info, Reorder } from '@bigbinary/neeto-icons';
12
11
  import { Button, ActionBlock as ActionBlock$1, Input as Input$1, Select as Select$1, Switch, Form } from '@bigbinary/neetoui/formik';
13
12
  import { useTranslation, Trans } from 'react-i18next';
14
13
  import { DEFAULT_PAGE_INDEX, DEFAULT_PAGE_SIZE, PLURAL } from '@bigbinary/neeto-commons-frontend/constants';
@@ -19,10 +18,12 @@ import axios from 'axios';
19
18
  import { v4 } from 'uuid';
20
19
  import { Link, useHistory } from 'react-router-dom';
21
20
  import MenuBar from '@bigbinary/neeto-molecules/MenuBar';
21
+ import MoreDropdown from '@bigbinary/neeto-molecules/MoreDropdown';
22
22
  import TableWrapper from '@bigbinary/neeto-molecules/TableWrapper';
23
23
  import NeetoUIHeader from '@bigbinary/neeto-molecules/Header';
24
24
  import { unstable_batchedUpdates, createPortal } from 'react-dom';
25
25
  import NeetoUISubHeader from '@bigbinary/neeto-molecules/SubHeader';
26
+ import classnames from 'classnames';
26
27
 
27
28
  function _extends() {
28
29
  _extends = Object.assign ? Object.assign.bind() : function (target) {
@@ -613,6 +614,10 @@ var DEFAULT_FIELD_STATE_TAXONOMY = {
613
614
  inactive: "Inactive"
614
615
  };
615
616
  var ALL_KINDS = values(KINDS);
617
+ var MENU_ITEMS = {
618
+ EDIT: "edit",
619
+ DELETE: "delete"
620
+ };
616
621
 
617
622
  var DIRECT_EDIT_INPUT_FIELDS = [KINDS.checkbox];
618
623
 
@@ -893,9 +898,6 @@ var useFormikFields = function useFormikFields(_ref) {
893
898
  dirty: dirty,
894
899
  handleSubmit: handleSubmit,
895
900
  fieldProps: _objectSpread$g(_objectSpread$g({}, formikFieldProps), {}, {
896
- className: classnames({
897
- "items-center": isInline
898
- }),
899
901
  error: individualSubmit ? meta.error : meta.touched && meta.error,
900
902
  value: getValueForField(formikFieldProps.value),
901
903
  label: !isInline && capitalize(name),
@@ -2413,11 +2415,30 @@ pluralize$1.exports;
2413
2415
  var pluralizeExports = pluralize$1.exports;
2414
2416
  var pluralize = /*@__PURE__*/getDefaultExportFromCjs(pluralizeExports);
2415
2417
 
2416
- var Menu = Dropdown.Menu,
2417
- MenuItem = Dropdown.MenuItem;
2418
- var buildDefaultColumns = function buildDefaultColumns(_ref) {
2419
- var onDeleteClick = _ref.onDeleteClick,
2418
+ var getMenuItems = function getMenuItems(_ref) {
2419
+ var field = _ref.field,
2420
+ onDeleteClick = _ref.onDeleteClick,
2420
2421
  onEditClick = _ref.onEditClick;
2422
+ return [{
2423
+ key: MENU_ITEMS.EDIT,
2424
+ "data-cy": "edit-menu-item-button",
2425
+ label: t("neetoFields.labels.edit"),
2426
+ onClick: function onClick() {
2427
+ return onEditClick(field);
2428
+ }
2429
+ }, {
2430
+ key: MENU_ITEMS.DELETE,
2431
+ "data-cy": "delete-menu-item-button",
2432
+ label: t("neetoFields.labels.delete"),
2433
+ isVisible: not(field.isSystem),
2434
+ onClick: function onClick() {
2435
+ return onDeleteClick(field);
2436
+ }
2437
+ }];
2438
+ };
2439
+ var buildDefaultColumns = function buildDefaultColumns(_ref2) {
2440
+ var onDeleteClick = _ref2.onDeleteClick,
2441
+ onEditClick = _ref2.onEditClick;
2421
2442
  return [{
2422
2443
  key: "name",
2423
2444
  dataIndex: "name",
@@ -2428,25 +2449,20 @@ var buildDefaultColumns = function buildDefaultColumns(_ref) {
2428
2449
  className: "flex items-center justify-between gap-x-3"
2429
2450
  }, /*#__PURE__*/React.createElement(Typography, {
2430
2451
  style: "body2"
2431
- }, name), /*#__PURE__*/React.createElement(Dropdown, {
2432
- buttonStyle: "text",
2433
- icon: MenuHorizontal,
2434
- strategy: "fixed",
2435
- buttonProps: {
2452
+ }, name), /*#__PURE__*/React.createElement(MoreDropdown, {
2453
+ dropdownProps: {
2454
+ strategy: "fixed"
2455
+ },
2456
+ menuItems: getMenuItems({
2457
+ field: field,
2458
+ onDeleteClick: onDeleteClick,
2459
+ onEditClick: onEditClick
2460
+ }),
2461
+ dropdownButtonProps: {
2436
2462
  className: "flex-shrink-0",
2437
2463
  "data-cy": "neeto-fields-options-dropdown"
2438
2464
  }
2439
- }, /*#__PURE__*/React.createElement(Menu, null, /*#__PURE__*/React.createElement(MenuItem.Button, {
2440
- "data-cy": "edit-menu-item-button",
2441
- onClick: function onClick() {
2442
- return onEditClick(field);
2443
- }
2444
- }, t("neetoFields.labels.edit")), !field.isSystem && /*#__PURE__*/React.createElement(MenuItem.Button, {
2445
- "data-cy": "delete-menu-item-button",
2446
- onClick: function onClick() {
2447
- return onDeleteClick(field);
2448
- }
2449
- }, t("neetoFields.labels.delete")))));
2465
+ }));
2450
2466
  }
2451
2467
  }, {
2452
2468
  key: "kind",
@@ -2465,13 +2481,13 @@ var buildDefaultColumns = function buildDefaultColumns(_ref) {
2465
2481
  }
2466
2482
  }];
2467
2483
  };
2468
- var renderMenuBarItems = function renderMenuBarItems(_ref2) {
2469
- var items = _ref2.items,
2470
- isOwnerBased = _ref2.isOwnerBased,
2471
- selectedMenu = _ref2.selectedMenu,
2472
- handleBlockClick = _ref2.handleBlockClick,
2473
- nameAliases = _ref2.nameAliases,
2474
- title = _ref2.title;
2484
+ var renderMenuBarItems = function renderMenuBarItems(_ref3) {
2485
+ var items = _ref3.items,
2486
+ isOwnerBased = _ref3.isOwnerBased,
2487
+ selectedMenu = _ref3.selectedMenu,
2488
+ handleBlockClick = _ref3.handleBlockClick,
2489
+ nameAliases = _ref3.nameAliases,
2490
+ title = _ref3.title;
2475
2491
  title = title.toLocaleLowerCase();
2476
2492
  if (isOwnerBased) {
2477
2493
  return items.map(function (item) {
@@ -2507,12 +2523,12 @@ var renderMenuBarItems = function renderMenuBarItems(_ref2) {
2507
2523
  });
2508
2524
  });
2509
2525
  };
2510
- var renderStateFilterTabs = function renderStateFilterTabs(_ref3) {
2511
- var selectedState = _ref3.selectedState,
2512
- fieldStatesTaxonomy = _ref3.fieldStatesTaxonomy,
2513
- activeFieldsCount = _ref3.activeFieldsCount,
2514
- inactiveFieldsCount = _ref3.inactiveFieldsCount,
2515
- handleBlockClick = _ref3.handleBlockClick;
2526
+ var renderStateFilterTabs = function renderStateFilterTabs(_ref4) {
2527
+ var selectedState = _ref4.selectedState,
2528
+ fieldStatesTaxonomy = _ref4.fieldStatesTaxonomy,
2529
+ activeFieldsCount = _ref4.activeFieldsCount,
2530
+ inactiveFieldsCount = _ref4.inactiveFieldsCount,
2531
+ handleBlockClick = _ref4.handleBlockClick;
2516
2532
  return /*#__PURE__*/React.createElement(Tab, {
2517
2533
  className: "mb-4"
2518
2534
  }, /*#__PURE__*/React.createElement(Tab.Item, {
@@ -2529,11 +2545,11 @@ var renderStateFilterTabs = function renderStateFilterTabs(_ref3) {
2529
2545
  })
2530
2546
  }, fieldStatesTaxonomy.inactive, "(", inactiveFieldsCount, ")"));
2531
2547
  };
2532
- var getResourceName = function getResourceName(_ref4) {
2533
- var isOwnerBased = _ref4.isOwnerBased,
2534
- owners = _ref4.owners,
2535
- selectedVal = _ref4.selectedVal,
2536
- nameAliases = _ref4.nameAliases;
2548
+ var getResourceName = function getResourceName(_ref5) {
2549
+ var isOwnerBased = _ref5.isOwnerBased,
2550
+ owners = _ref5.owners,
2551
+ selectedVal = _ref5.selectedVal,
2552
+ nameAliases = _ref5.nameAliases;
2537
2553
  if (isOwnerBased) {
2538
2554
  var _findBy;
2539
2555
  return (_findBy = findBy({
@@ -2542,10 +2558,10 @@ var getResourceName = function getResourceName(_ref4) {
2542
2558
  }
2543
2559
  return nameAliases[selectedVal] || selectedVal;
2544
2560
  };
2545
- var getDashBoardTitle = function getDashBoardTitle(_ref5) {
2546
- var resourceName = _ref5.resourceName,
2547
- isSingleResource = _ref5.isSingleResource,
2548
- title = _ref5.title;
2561
+ var getDashBoardTitle = function getDashBoardTitle(_ref6) {
2562
+ var resourceName = _ref6.resourceName,
2563
+ isSingleResource = _ref6.isSingleResource,
2564
+ title = _ref6.title;
2549
2565
  var displayTitle = isSingleResource ? title : t("neetoFields.messages.titleForResource", {
2550
2566
  title: title,
2551
2567
  resource: resourceName
@@ -2570,10 +2586,10 @@ var renderNoDataHelpText = function renderNoDataHelpText(title, url) {
2570
2586
  }
2571
2587
  });
2572
2588
  };
2573
- var getDeletionConfirmationMessage = function getDeletionConfirmationMessage(_ref6) {
2574
- var resource = _ref6.resource,
2575
- fieldName = _ref6.fieldName,
2576
- affectedResourcesCount = _ref6.affectedResourcesCount;
2589
+ var getDeletionConfirmationMessage = function getDeletionConfirmationMessage(_ref7) {
2590
+ var resource = _ref7.resource,
2591
+ fieldName = _ref7.fieldName,
2592
+ affectedResourcesCount = _ref7.affectedResourcesCount;
2577
2593
  return affectedResourcesCount > 0 ? /*#__PURE__*/React.createElement(Trans, {
2578
2594
  i18nKey: "neetoFields.messages.confirmDeleteWithCount",
2579
2595
  values: {
@@ -7883,7 +7899,7 @@ var InlineFieldValueInput = function InlineFieldValueInput(_ref) {
7883
7899
  return setEditMode(false);
7884
7900
  }
7885
7901
  })))) : /*#__PURE__*/React.createElement("div", {
7886
- className: classnames("text-center", {
7902
+ className: classnames({
7887
7903
  "cursor-pointer": !field.isSystem
7888
7904
  }),
7889
7905
  onClick: function onClick() {