@bigbinary/neeto-api-keys-frontend 1.0.9 → 1.0.11

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
@@ -5,7 +5,7 @@ Object.defineProperty(exports, '__esModule', { value: true });
5
5
  var React = require('react');
6
6
  var i18next = require('i18next');
7
7
  var constants = require('@bigbinary/neeto-commons-frontend/constants');
8
- var neetoCist = require('@bigbinary/neeto-cist');
8
+ var neetocist = require('neetocist');
9
9
  var reactUtils = require('@bigbinary/neeto-commons-frontend/react-utils');
10
10
  var Header = require('@bigbinary/neeto-molecules/Header');
11
11
  var neetoui = require('@bigbinary/neetoui');
@@ -17,6 +17,7 @@ var formik = require('formik');
17
17
  var ramda = require('ramda');
18
18
  var utils = require('@bigbinary/neeto-commons-frontend/utils');
19
19
  var neetoIcons = require('@bigbinary/neeto-icons');
20
+ var MoreDropdown = require('@bigbinary/neeto-molecules/MoreDropdown');
20
21
  var yup = require('yup');
21
22
  var PageLoader = require('@bigbinary/neeto-molecules/PageLoader');
22
23
  var TableWrapper = require('@bigbinary/neeto-molecules/TableWrapper');
@@ -45,6 +46,7 @@ function _interopNamespace(e) {
45
46
  var React__default = /*#__PURE__*/_interopDefaultLegacy(React);
46
47
  var Header__default = /*#__PURE__*/_interopDefaultLegacy(Header);
47
48
  var axios__default = /*#__PURE__*/_interopDefaultLegacy(axios);
49
+ var MoreDropdown__default = /*#__PURE__*/_interopDefaultLegacy(MoreDropdown);
48
50
  var yup__namespace = /*#__PURE__*/_interopNamespace(yup);
49
51
  var PageLoader__default = /*#__PURE__*/_interopDefaultLegacy(PageLoader);
50
52
  var TableWrapper__default = /*#__PURE__*/_interopDefaultLegacy(TableWrapper);
@@ -202,23 +204,27 @@ dayjs_min.exports;
202
204
  var dayjs_minExports = dayjs_min.exports;
203
205
  var dayjs = /*@__PURE__*/getDefaultExportFromCjs(dayjs_minExports);
204
206
 
205
- var Menu = neetoui.Dropdown.Menu,
206
- MenuItem = neetoui.Dropdown.MenuItem;
207
- var ActionDropdown = function ActionDropdown(_ref) {
208
- var handleEdit = _ref.handleEdit,
209
- handleDelete = _ref.handleDelete;
210
- var _useTranslation = reactI18next.useTranslation(),
211
- t = _useTranslation.t;
212
- return /*#__PURE__*/React__default["default"].createElement(neetoui.Dropdown, {
213
- buttonStyle: "text",
214
- icon: neetoIcons.MenuHorizontal,
215
- strategy: "fixed"
216
- }, /*#__PURE__*/React__default["default"].createElement(Menu, null, /*#__PURE__*/React__default["default"].createElement(MenuItem.Button, {
217
- onClick: handleEdit
218
- }, t("neetoApiKeys.buttons.edit")), /*#__PURE__*/React__default["default"].createElement(MenuItem.Button, {
219
- style: "danger",
220
- onClick: handleDelete
221
- }, t("neetoApiKeys.buttons.delete"))));
207
+ var INITIAL_VALUES = {
208
+ expiresAt: null,
209
+ label: "",
210
+ hasNoExpiry: true
211
+ };
212
+ var NEXT_DAY = dayjs().add(1, "day").startOf("day");
213
+ var VALIDATION_SCHEMA = yup__namespace.object({
214
+ expiresAt: yup__namespace.date().when("hasNoExpiry", function (hasNoExpiry, field) {
215
+ return hasNoExpiry ? field.nullable() : field.nullable().required(i18next.t("neetoApiKeys.validations.required", {
216
+ entity: i18next.t("neetoApiKeys.fields.expiryDate")
217
+ })).min(NEXT_DAY, i18next.t("neetoApiKeys.validations.expiry", {
218
+ date: utils.dateFormat.date(NEXT_DAY)
219
+ }));
220
+ }),
221
+ label: yup__namespace.string().required(i18next.t("neetoApiKeys.validations.required", {
222
+ entity: i18next.t("neetoApiKeys.fields.label")
223
+ }))
224
+ });
225
+ var MENU_ITEMS = {
226
+ EDIT: "edit",
227
+ DELETE: "delete"
222
228
  };
223
229
 
224
230
  var isInPast = function isInPast(date) {
@@ -230,9 +236,22 @@ var partlyHideToken = function partlyHideToken(key) {
230
236
  var formatExpiry = function formatExpiry(date) {
231
237
  return dayjs(date).diff(dayjs(), "day") <= 2 ? utils.dateFormat.fromNow(date) : utils.dateFormat.date(date);
232
238
  };
233
- var buildColumnData = function buildColumnData(_ref) {
234
- var _handleDelete = _ref.handleDelete,
235
- _handleEdit = _ref.handleEdit;
239
+ var getMenuItems = function getMenuItems(_ref) {
240
+ var onEdit = _ref.onEdit,
241
+ onDelete = _ref.onDelete;
242
+ return [{
243
+ key: MENU_ITEMS.EDIT,
244
+ label: i18next.t("neetoApiKeys.buttons.edit"),
245
+ onClick: onEdit
246
+ }, {
247
+ key: MENU_ITEMS.DELETE,
248
+ label: i18next.t("neetoApiKeys.buttons.delete"),
249
+ onClick: onDelete
250
+ }];
251
+ };
252
+ var buildColumnData = function buildColumnData(_ref2) {
253
+ var handleDelete = _ref2.handleDelete,
254
+ handleEdit = _ref2.handleEdit;
236
255
  return [{
237
256
  title: i18next.t("neetoApiKeys.table.headers.label"),
238
257
  key: "label",
@@ -269,9 +288,9 @@ var buildColumnData = function buildColumnData(_ref) {
269
288
  title: i18next.t("neetoApiKeys.table.headers.status"),
270
289
  key: "status",
271
290
  width: "15%",
272
- render: function render(_, _ref2) {
273
- var expiresAt = _ref2.expiresAt;
274
- return neetoCist.isPresent(expiresAt) && isInPast(expiresAt) ? /*#__PURE__*/React__default["default"].createElement(neetoui.Tag, {
291
+ render: function render(_, _ref3) {
292
+ var expiresAt = _ref3.expiresAt;
293
+ return neetocist.isPresent(expiresAt) && isInPast(expiresAt) ? /*#__PURE__*/React__default["default"].createElement(neetoui.Tag, {
275
294
  style: "warning"
276
295
  }, i18next.t("neetoApiKeys.tags.expired")) : /*#__PURE__*/React__default["default"].createElement(neetoui.Tag, {
277
296
  style: "success"
@@ -283,7 +302,7 @@ var buildColumnData = function buildColumnData(_ref) {
283
302
  dataIndex: "expiresAt",
284
303
  width: "15%",
285
304
  render: function render(expiresAt) {
286
- return neetoCist.isPresent(expiresAt) ? formatExpiry(expiresAt) : /*#__PURE__*/React__default["default"].createElement(neetoui.Typography, {
305
+ return neetocist.isPresent(expiresAt) ? formatExpiry(expiresAt) : /*#__PURE__*/React__default["default"].createElement(neetoui.Typography, {
287
306
  style: "body2"
288
307
  }, i18next.t("neetoApiKeys.common.never"));
289
308
  }
@@ -293,20 +312,25 @@ var buildColumnData = function buildColumnData(_ref) {
293
312
  dataIndex: "createdAt",
294
313
  width: "15%",
295
314
  render: function render(createdAt) {
296
- return neetoCist.isPresent(createdAt) ? utils.dateFormat.dateTime(createdAt) : /*#__PURE__*/React__default["default"].createElement(neetoui.Typography, {
315
+ return neetocist.isPresent(createdAt) ? utils.dateFormat.dateTime(createdAt) : /*#__PURE__*/React__default["default"].createElement(neetoui.Typography, {
297
316
  style: "body2"
298
317
  }, i18next.t("neetoApiKeys.common.never"));
299
318
  }
300
319
  }, {
301
320
  key: "opitons",
302
321
  render: function render(_, apiKey) {
303
- return /*#__PURE__*/React__default["default"].createElement(ActionDropdown, {
304
- handleDelete: function handleDelete() {
305
- return _handleDelete(apiKey);
322
+ return /*#__PURE__*/React__default["default"].createElement(MoreDropdown__default["default"], {
323
+ dropdownProps: {
324
+ strategy: "fixed"
306
325
  },
307
- handleEdit: function handleEdit() {
308
- return _handleEdit(apiKey);
309
- }
326
+ menuItems: getMenuItems({
327
+ onEdit: function onEdit() {
328
+ return handleEdit(apiKey);
329
+ },
330
+ onDelete: function onDelete() {
331
+ return handleDelete(apiKey);
332
+ }
333
+ })
310
334
  });
311
335
  },
312
336
  width: "40%"
@@ -351,26 +375,6 @@ var DatePicker = function DatePicker(_ref) {
351
375
  });
352
376
  };
353
377
 
354
- var INITIAL_VALUES = {
355
- expiresAt: null,
356
- label: "",
357
- hasNoExpiry: true
358
- };
359
- var NEXT_DAY = dayjs().add(1, "day").startOf("day");
360
- var VALIDATION_SCHEMA = yup__namespace.object({
361
- expiresAt: yup__namespace.date().when("hasNoExpiry", function (hasNoExpiry, field) {
362
- return hasNoExpiry ? field.nullable() : field.nullable().required(i18next.t("neetoApiKeys.validations.required", {
363
- entity: i18next.t("neetoApiKeys.fields.expiryDate")
364
- })).min(NEXT_DAY, i18next.t("neetoApiKeys.validations.expiry", {
365
- date: utils.dateFormat.date(NEXT_DAY)
366
- }));
367
- }),
368
- label: yup__namespace.string().required(i18next.t("neetoApiKeys.validations.required", {
369
- entity: i18next.t("neetoApiKeys.fields.label")
370
- }))
371
- });
372
- var DEFAULT_PAGE_SIZE = 15;
373
-
374
378
  var Form = function Form(_ref) {
375
379
  var _ref$initialValues = _ref.initialValues,
376
380
  initialValues = _ref$initialValues === void 0 ? INITIAL_VALUES : _ref$initialValues,
@@ -517,12 +521,12 @@ var Update = function Update(_ref) {
517
521
  });
518
522
  };
519
523
  var initialValues = _objectSpread(_objectSpread({}, apiKey), {}, {
520
- hasNoExpiry: neetoCist.isNotPresent(apiKey.expiresAt)
524
+ hasNoExpiry: neetocist.isNotPresent(apiKey.expiresAt)
521
525
  });
522
526
  return /*#__PURE__*/React__default["default"].createElement(neetoui.Pane, {
523
527
  initialFocusRef: initialFocusRef,
524
528
  onClose: onClose,
525
- isOpen: neetoCist.isNotEmpty(apiKey)
529
+ isOpen: neetocist.isNotEmpty(apiKey)
526
530
  }, /*#__PURE__*/React__default["default"].createElement(neetoui.Pane.Header, null, /*#__PURE__*/React__default["default"].createElement(neetoui.Typography, {
527
531
  style: "h2"
528
532
  }, t("neetoApiKeys.headers.updateApiKey"))), /*#__PURE__*/React__default["default"].createElement(Form, {
@@ -561,7 +565,7 @@ var usePagination = function usePagination(_ref) {
561
565
  handlePageChange(getPageFromSearchParams());
562
566
  }, []);
563
567
  React.useEffect(function () {
564
- if (neetoCist.isNotEmpty(searchTerm) && currentPage !== constants.DEFAULT_PAGE_INDEX) {
568
+ if (neetocist.isNotEmpty(searchTerm) && currentPage !== constants.DEFAULT_PAGE_INDEX) {
565
569
  handlePageChange(constants.DEFAULT_PAGE_INDEX);
566
570
  }
567
571
  }, [searchTerm]);
@@ -604,7 +608,7 @@ var Table = function Table(_ref) {
604
608
  var queryParams = {
605
609
  searchTerm: debouncedSearchTerm,
606
610
  page: currentPage,
607
- pageSize: DEFAULT_PAGE_SIZE
611
+ pageSize: constants.DEFAULT_PAGE_SIZE
608
612
  };
609
613
  var _useFetchApiKeys = useFetchApiKeys({
610
614
  params: queryParams,
@@ -629,7 +633,7 @@ var Table = function Table(_ref) {
629
633
  }, noDataProps)), ";");
630
634
  }
631
635
  return /*#__PURE__*/React__default["default"].createElement(TableWrapper__default["default"], {
632
- hasPagination: totalCount > DEFAULT_PAGE_SIZE
636
+ hasPagination: totalCount > constants.DEFAULT_PAGE_SIZE
633
637
  }, /*#__PURE__*/React__default["default"].createElement(neetoui.Table, {
634
638
  fixedHeight: true,
635
639
  columnData: buildColumnData({
@@ -637,7 +641,7 @@ var Table = function Table(_ref) {
637
641
  handleEdit: handleEdit
638
642
  }),
639
643
  currentPageNumber: currentPage,
640
- defaultPageSize: DEFAULT_PAGE_SIZE,
644
+ defaultPageSize: constants.DEFAULT_PAGE_SIZE,
641
645
  handlePageChange: handlePageChange,
642
646
  loading: isFetching,
643
647
  rowData: apiKeys,
@@ -648,24 +652,23 @@ var Table = function Table(_ref) {
648
652
  var ApiKeys = function ApiKeys(_ref) {
649
653
  var noDataProps = _ref.noDataProps,
650
654
  headerProps = _ref.headerProps;
651
- var _useState = React.useState(""),
655
+ var _useState = React.useState({}),
652
656
  _useState2 = _slicedToArray(_useState, 2),
653
- searchTerm = _useState2[0],
654
- setSearchTerm = _useState2[1];
657
+ apiKeyToBeDeleted = _useState2[0],
658
+ setApiKeyToBeDeleted = _useState2[1];
655
659
  var _useState3 = React.useState({}),
656
660
  _useState4 = _slicedToArray(_useState3, 2),
657
- apiKeyToBeDeleted = _useState4[0],
658
- setApiKeyToBeDeleted = _useState4[1];
659
- var _useState5 = React.useState({}),
661
+ apiKeyToBeEdited = _useState4[0],
662
+ setApiKeyToBeEdited = _useState4[1];
663
+ var _useState5 = React.useState(false),
660
664
  _useState6 = _slicedToArray(_useState5, 2),
661
- apiKeyToBeEdited = _useState6[0],
662
- setApiKeyToBeEdited = _useState6[1];
663
- var _useState7 = React.useState(false),
664
- _useState8 = _slicedToArray(_useState7, 2),
665
- isCreatePaneOpen = _useState8[0],
666
- setIsCreatePaneOpen = _useState8[1];
665
+ isCreatePaneOpen = _useState6[0],
666
+ setIsCreatePaneOpen = _useState6[1];
667
667
  var _useTranslation = reactI18next.useTranslation(),
668
668
  t = _useTranslation.t;
669
+ var _useQueryParams = reactUtils.useQueryParams(),
670
+ _useQueryParams$searc = _useQueryParams.search_term,
671
+ searchTerm = _useQueryParams$searc === void 0 ? "" : _useQueryParams$searc;
669
672
  var _useDeleteApiKey = useDeleteApiKey(function () {
670
673
  return setApiKeyToBeDeleted({});
671
674
  }),
@@ -682,11 +685,6 @@ var ApiKeys = function ApiKeys(_ref) {
682
685
  }
683
686
  }),
684
687
  searchProps: {
685
- value: searchTerm,
686
- onChange: function onChange(_ref2) {
687
- var value = _ref2.target.value;
688
- return setSearchTerm(value);
689
- },
690
688
  placeholder: t("neetoApiKeys.placeholders.search")
691
689
  }
692
690
  }, headerProps)), /*#__PURE__*/React__default["default"].createElement(Table, {
@@ -695,7 +693,7 @@ var ApiKeys = function ApiKeys(_ref) {
695
693
  searchTerm: searchTerm,
696
694
  noDataProps: noDataProps
697
695
  }), /*#__PURE__*/React__default["default"].createElement(neetoui.Alert, {
698
- isOpen: neetoCist.isNotEmpty(apiKeyToBeDeleted),
696
+ isOpen: neetocist.isNotEmpty(apiKeyToBeDeleted),
699
697
  isSubmitting: isDeleting,
700
698
  submitButtonLabel: t("neetoApiKeys.buttons.delete"),
701
699
  title: t("neetoApiKeys.alert.titles.deleteApiKey"),