@bigbinary/neeto-tags-frontend 0.0.27 → 0.0.29

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
@@ -18,7 +18,7 @@ import _createClass$1 from '@babel/runtime/helpers/createClass';
18
18
  import _slicedToArray from '@babel/runtime/helpers/slicedToArray';
19
19
  import { useHistory, Switch, Route } from 'react-router-dom';
20
20
  import _toConsumableArray from '@babel/runtime/helpers/toConsumableArray';
21
- import { Tag, Dropdown, Button, Toastr, Pane, Typography, PageLoader, Table, Alert, Input as Input$1, Modal } from '@bigbinary/neetoui';
21
+ import { Tag, Dropdown, Toastr, Pane, Typography, Button, PageLoader, Table, Alert, Input as Input$1, Modal } from '@bigbinary/neetoui';
22
22
  import * as yup from 'yup';
23
23
  import { MenuHorizontal, Plus } from '@bigbinary/neeto-icons';
24
24
  import _inheritsLoose from '@babel/runtime/helpers/esm/inheritsLoose';
@@ -3396,11 +3396,12 @@ var plcHolder = "Type to search tag…";
3396
3396
  var manage = "Manage Tags";
3397
3397
  var remove = "Remove {{tag}} tag";
3398
3398
  var exists = "{{tag}} already exists.";
3399
+ var edit = "Edit";
3399
3400
  var addTag = "Add Tag";
3400
3401
  var selectOrCreate = "Select or Create tag";
3401
3402
  var select = "Select {{what}}";
3402
3403
  var search = "Search {{where}}";
3403
- var addNew = "Add New {{what}}";
3404
+ var addNew = "Add {{what}}";
3404
3405
  var tag = "Tag";
3405
3406
  var noTagsFound = "No Tags Found";
3406
3407
  var deleteItem = "Are you sure you want to delete {{type}}";
@@ -3408,11 +3409,17 @@ var cannotBeUndone = "This action cannot be undone.";
3408
3409
  var proceed = "Proceed";
3409
3410
  var cancel = "Cancel";
3410
3411
  var name = "Name";
3412
+ var required = "{{what}} is a required field.";
3413
+ var maxLength = "{{what}} must be less than {{length}} characters.";
3414
+ var type = "{{what}} must be a {{type}}.";
3411
3415
  var description = "Description";
3412
3416
  var editItem = "Edit {{what}}";
3413
3417
  var createSuccess = "Tag created successfully.";
3414
3418
  var updateSuccess = "Tag updated successfully.";
3415
3419
  var deleteSuccess = "Tag deleted successfully.";
3420
+ var types = {
3421
+ string: "string"
3422
+ };
3416
3423
  var merge$1 = {
3417
3424
  sourceTag: "Source Tag",
3418
3425
  destinationTag: "Destination Tag",
@@ -3432,6 +3439,8 @@ var en = {
3432
3439
  remove: remove,
3433
3440
  exists: exists,
3434
3441
  "new": "Create new tag",
3442
+ "delete": "Delete",
3443
+ edit: edit,
3435
3444
  addTag: addTag,
3436
3445
  selectOrCreate: selectOrCreate,
3437
3446
  select: select,
@@ -3444,11 +3453,15 @@ var en = {
3444
3453
  proceed: proceed,
3445
3454
  cancel: cancel,
3446
3455
  name: name,
3456
+ required: required,
3457
+ maxLength: maxLength,
3458
+ type: type,
3447
3459
  description: description,
3448
3460
  editItem: editItem,
3449
3461
  createSuccess: createSuccess,
3450
3462
  updateSuccess: updateSuccess,
3451
3463
  deleteSuccess: deleteSuccess,
3464
+ types: types,
3452
3465
  merge: merge$1
3453
3466
  };
3454
3467
 
@@ -3467,18 +3480,18 @@ instance.use(initReactI18next).init({
3467
3480
  var DEFAULT_PAGE_INDEX = 1;
3468
3481
  var DEFAULT_PAGE_SIZE = 10;
3469
3482
  var COMMON_COLUMNS = [{
3470
- title: "Name",
3483
+ title: instance.t("Name"),
3471
3484
  dataIndex: "name",
3472
3485
  key: "name",
3473
3486
  render: function render(name) {
3474
3487
  return /*#__PURE__*/React.createElement(Tag, {
3475
3488
  label: name,
3476
- color: "blue"
3489
+ style: "secondary"
3477
3490
  });
3478
3491
  },
3479
3492
  width: "30%"
3480
3493
  }, {
3481
- title: "Description",
3494
+ title: instance.t("Description"),
3482
3495
  dataIndex: "description",
3483
3496
  key: "description",
3484
3497
  render: function render(description) {
@@ -3487,8 +3500,22 @@ var COMMON_COLUMNS = [{
3487
3500
  width: "40%"
3488
3501
  }];
3489
3502
  var TAG_SCHEMA = yup.object({
3490
- name: yup.string().typeError("Name must be a string.").required("Name is a required field.").max(50, "Name should not exceed 50 characters."),
3491
- description: yup.string().typeError("Description must be a string.").nullable().max(255, "Description should not exceed 255 characters.")
3503
+ name: yup.string().typeError(instance.t("type", {
3504
+ what: instance.t("name"),
3505
+ type: instance.t("types.string")
3506
+ })).required(instance.t("required", {
3507
+ what: instance.t("name")
3508
+ })).max(50, instance.t("max", {
3509
+ what: instance.t("name"),
3510
+ max: 50
3511
+ })),
3512
+ description: yup.string().typeError(instance.t("type", {
3513
+ what: instance.t("description"),
3514
+ type: instance.t("types.string")
3515
+ })).nullable().max(100, instance.t("max", {
3516
+ what: instance.t("description"),
3517
+ max: 255
3518
+ }))
3492
3519
  });
3493
3520
  var PANE_TYPES = {
3494
3521
  CREATE: "CREATE_TAG",
@@ -3502,6 +3529,8 @@ var PLURAL = {
3502
3529
  count: 2
3503
3530
  };
3504
3531
 
3532
+ var Menu$1 = Dropdown.Menu,
3533
+ MenuItem = Dropdown.MenuItem;
3505
3534
  var renderColumnData = function renderColumnData(columns, handleEdit, handleDelete) {
3506
3535
  return [].concat(_toConsumableArray(columns), [{
3507
3536
  id: "actions",
@@ -3512,34 +3541,25 @@ var renderColumnData = function renderColumnData(columns, handleEdit, handleDele
3512
3541
  return e.stopPropagation();
3513
3542
  }
3514
3543
  }, /*#__PURE__*/React.createElement(Dropdown, {
3544
+ autoWidth: true,
3515
3545
  icon: MenuHorizontal,
3516
3546
  buttonProps: {
3517
3547
  style: "text"
3518
3548
  },
3519
3549
  position: "bottom-end",
3520
- autoWidth: true,
3521
3550
  strategy: "fixed"
3522
- }, /*#__PURE__*/React.createElement("li", {
3523
- className: "neeto-tag-dropdown__item"
3524
- }, /*#__PURE__*/React.createElement(Button, {
3551
+ }, /*#__PURE__*/React.createElement(Menu$1, null, /*#__PURE__*/React.createElement(MenuItem.Button, {
3552
+ "data-cy": "tags-edit-button",
3525
3553
  onClick: function onClick() {
3526
3554
  return handleEdit(tag);
3527
- },
3528
- label: "Edit",
3529
- style: "text",
3530
- className: "neeto-tag-dropdown__button",
3531
- "data-cy": "tags-edit-button"
3532
- })), /*#__PURE__*/React.createElement("li", {
3533
- className: "neeto-tag-dropdown__item"
3534
- }, /*#__PURE__*/React.createElement(Button, {
3535
- label: "Delete",
3555
+ }
3556
+ }, instance.t("edit")), /*#__PURE__*/React.createElement(MenuItem.Button, {
3557
+ style: "danger",
3558
+ "data-cy": "tags-delete-button",
3536
3559
  onClick: function onClick() {
3537
3560
  return handleDelete(tag);
3538
- },
3539
- style: "danger-text",
3540
- className: "neeto-tag-dropdown__button",
3541
- "data-cy": "tags-delete-button"
3542
- }))));
3561
+ }
3562
+ }, instance.t("delete")))));
3543
3563
  }
3544
3564
  }]);
3545
3565
  };
@@ -6829,11 +6849,14 @@ var refetchTags = function refetchTags() {
6829
6849
  };
6830
6850
 
6831
6851
  var useTagsForm = function useTagsForm(_ref) {
6832
- var isEdit = _ref.isEdit,
6833
- tagType = _ref.tagType,
6852
+ var createTags = _ref.createTags,
6853
+ goToFirstPage = _ref.goToFirstPage,
6854
+ isEdit = _ref.isEdit,
6834
6855
  onClose = _ref.onClose,
6835
- goToFirstPage = _ref.goToFirstPage;
6856
+ tagType = _ref.tagType,
6857
+ updateTags = _ref.updateTags;
6836
6858
  var tagModification = isEdit ? useUpdateTag : useCreateTag;
6859
+ var tagOperation = isEdit ? updateTags : createTags;
6837
6860
 
6838
6861
  var _tagModification = tagModification(),
6839
6862
  mutate = _tagModification.mutate,
@@ -6857,7 +6880,10 @@ var useTagsForm = function useTagsForm(_ref) {
6857
6880
 
6858
6881
  mutate(tagData, {
6859
6882
  onSuccess: function onSuccess() {
6883
+ var _tagOperation$onSucce;
6884
+
6860
6885
  !isEdit && goToFirstPage();
6886
+ tagOperation === null || tagOperation === void 0 ? void 0 : (_tagOperation$onSucce = tagOperation.onSuccess) === null || _tagOperation$onSucce === void 0 ? void 0 : _tagOperation$onSucce.callback();
6861
6887
  onClose();
6862
6888
  },
6863
6889
  onError: function onError() {
@@ -6873,11 +6899,13 @@ var useTagsForm = function useTagsForm(_ref) {
6873
6899
  };
6874
6900
 
6875
6901
  var ManageTags = function ManageTags(_ref) {
6876
- var tag = _ref.tag,
6877
- type = _ref.type,
6902
+ var createTags = _ref.createTags,
6903
+ goToFirstPage = _ref.goToFirstPage,
6878
6904
  onClose = _ref.onClose,
6905
+ tag = _ref.tag,
6879
6906
  tagType = _ref.tagType,
6880
- goToFirstPage = _ref.goToFirstPage;
6907
+ type = _ref.type,
6908
+ updateTags = _ref.updateTags;
6881
6909
  var isEdit = type === PANE_TYPES.EDIT;
6882
6910
  var initValues = isEdit ? tag : INITIAL_TAG_VALUES;
6883
6911
 
@@ -6885,10 +6913,12 @@ var ManageTags = function ManageTags(_ref) {
6885
6913
  t = _useTranslation.t;
6886
6914
 
6887
6915
  var _useTagsForm = useTagsForm({
6916
+ createTags: createTags,
6917
+ goToFirstPage: goToFirstPage,
6888
6918
  isEdit: isEdit,
6889
- tagType: tagType,
6890
6919
  onClose: onClose,
6891
- goToFirstPage: goToFirstPage
6920
+ tagType: tagType,
6921
+ updateTags: updateTags
6892
6922
  }),
6893
6923
  handleSubmit = _useTagsForm.handleSubmit;
6894
6924
 
@@ -6926,12 +6956,11 @@ var ManageTags = function ManageTags(_ref) {
6926
6956
  rows: 3,
6927
6957
  "data-cy": "tag-description-text-area",
6928
6958
  maxLength: 255
6929
- }))), /*#__PURE__*/React.createElement(Pane.Footer, {
6930
- className: "flex items-center space-x-2"
6931
- }, /*#__PURE__*/React.createElement(ActionBlock, {
6959
+ }))), /*#__PURE__*/React.createElement(Pane.Footer, null, /*#__PURE__*/React.createElement(ActionBlock, {
6932
6960
  className: "flex items-center space-x-2",
6933
6961
  cancelButtonProps: {
6934
- onClick: onClose
6962
+ onClick: onClose,
6963
+ disabled: false
6935
6964
  },
6936
6965
  submitButtonProps: {
6937
6966
  loading: isSubmitting
@@ -7033,6 +7062,7 @@ var EmptyState = function EmptyState(_ref) {
7033
7062
  weight: "normal",
7034
7063
  className: "mb-8 text-gray-600"
7035
7064
  }, "For more information, please visit our", " ", /*#__PURE__*/React.createElement(Button, {
7065
+ size: "small",
7036
7066
  style: "link",
7037
7067
  label: "knowledge base.",
7038
7068
  href: kbArticleUrl,
@@ -7046,15 +7076,18 @@ var EmptyState = function EmptyState(_ref) {
7046
7076
  var Dashboard = function Dashboard(_ref) {
7047
7077
  var _data$tags2, _data$tags3, _data$tags4;
7048
7078
 
7049
- var tagType = _ref.tagType,
7050
- breadcrumbs = _ref.breadcrumbs,
7079
+ var breadcrumbs = _ref.breadcrumbs,
7080
+ createTags = _ref.createTags,
7081
+ deleteTags = _ref.deleteTags,
7051
7082
  displayMenu = _ref.displayMenu,
7052
7083
  handleMenuToggle = _ref.handleMenuToggle,
7053
- tagsPath = _ref.tagsPath,
7054
7084
  kbArticleUrl = _ref.kbArticleUrl,
7055
7085
  onTagRowClick = _ref.onTagRowClick,
7056
7086
  _ref$tagsMergable = _ref.tagsMergable,
7057
- tagsMergable = _ref$tagsMergable === void 0 ? false : _ref$tagsMergable;
7087
+ tagsMergable = _ref$tagsMergable === void 0 ? false : _ref$tagsMergable,
7088
+ tagsPath = _ref.tagsPath,
7089
+ tagType = _ref.tagType,
7090
+ updateTags = _ref.updateTags;
7058
7091
 
7059
7092
  var _useState = useState(null),
7060
7093
  _useState2 = _slicedToArray(_useState, 2),
@@ -7128,7 +7161,7 @@ var Dashboard = function Dashboard(_ref) {
7128
7161
  };
7129
7162
  mutate(payload, {
7130
7163
  onSuccess: function onSuccess() {
7131
- var _data$tags;
7164
+ var _data$tags, _deleteTags$onSuccess;
7132
7165
 
7133
7166
  setIsDeleteAlertOpen(false);
7134
7167
 
@@ -7138,6 +7171,7 @@ var Dashboard = function Dashboard(_ref) {
7138
7171
  });
7139
7172
  }
7140
7173
 
7174
+ deleteTags === null || deleteTags === void 0 ? void 0 : (_deleteTags$onSuccess = deleteTags.onSuccess) === null || _deleteTags$onSuccess === void 0 ? void 0 : _deleteTags$onSuccess.callback();
7141
7175
  Toastr.success(t("deleteSuccess"));
7142
7176
  },
7143
7177
  onError: function onError(_ref2) {
@@ -7168,7 +7202,6 @@ var Dashboard = function Dashboard(_ref) {
7168
7202
  })
7169
7203
  },
7170
7204
  actionBlock: /*#__PURE__*/React.createElement(React.Fragment, null, tagsMergable && /*#__PURE__*/React.createElement(Button, {
7171
- size: "large",
7172
7205
  style: "secondary",
7173
7206
  label: t("merge.mergeTags"),
7174
7207
  onClick: function onClick() {
@@ -7177,7 +7210,6 @@ var Dashboard = function Dashboard(_ref) {
7177
7210
  disabled: (data === null || data === void 0 ? void 0 : data.tags.length) < PLURAL.count
7178
7211
  }), /*#__PURE__*/React.createElement(Button, {
7179
7212
  icon: Plus,
7180
- size: "large",
7181
7213
  label: t("addNew", {
7182
7214
  what: t("tag")
7183
7215
  }),
@@ -7193,7 +7225,6 @@ var Dashboard = function Dashboard(_ref) {
7193
7225
  kbArticleUrl: kbArticleUrl,
7194
7226
  actionBlock: /*#__PURE__*/React.createElement(Button, {
7195
7227
  icon: Plus,
7196
- size: "large",
7197
7228
  label: t("addNew", {
7198
7229
  what: t("tag")
7199
7230
  }),
@@ -7236,13 +7267,15 @@ var Dashboard = function Dashboard(_ref) {
7236
7267
  x: "100%"
7237
7268
  }
7238
7269
  })))), /*#__PURE__*/React.createElement(ManageTags, {
7239
- type: paneType,
7240
- tagType: tagType,
7241
- tag: selectedTag,
7270
+ createTags: createTags,
7271
+ goToFirstPage: goToFirstPage,
7242
7272
  onClose: function onClose() {
7243
7273
  return setPaneType(null);
7244
7274
  },
7245
- goToFirstPage: goToFirstPage
7275
+ tag: selectedTag,
7276
+ tagType: tagType,
7277
+ type: paneType,
7278
+ updateTags: updateTags
7246
7279
  }), /*#__PURE__*/React.createElement(Alert, {
7247
7280
  isOpen: isDeleteAlertOpen,
7248
7281
  title: "".concat(t("delete"), " ").concat(selectedTag === null || selectedTag === void 0 ? void 0 : selectedTag.name),
@@ -7405,7 +7438,6 @@ var MergeAlert = function MergeAlert(_ref) {
7405
7438
  }, /*#__PURE__*/React.createElement(Button, {
7406
7439
  label: t("proceed"),
7407
7440
  onClick: handleSubmit,
7408
- size: "large",
7409
7441
  loading: isSubmitting,
7410
7442
  disabled: isSubmitting
7411
7443
  }), /*#__PURE__*/React.createElement(Button, {
@@ -7413,20 +7445,20 @@ var MergeAlert = function MergeAlert(_ref) {
7413
7445
  label: t("cancel"),
7414
7446
  onClick: function onClick() {
7415
7447
  return setShowModal(false);
7416
- },
7417
- size: "large"
7448
+ }
7418
7449
  })));
7419
7450
  };
7420
7451
 
7421
7452
  var Merge = function Merge(_ref) {
7422
7453
  var _data$tags;
7423
7454
 
7424
- var tagType = _ref.tagType,
7425
- breadcrumbs = _ref.breadcrumbs,
7426
- tagsPath = _ref.tagsPath,
7427
- handleMenuToggle = _ref.handleMenuToggle,
7455
+ var breadcrumbs = _ref.breadcrumbs,
7428
7456
  displayMenu = _ref.displayMenu,
7429
- kbArticleUrl = _ref.kbArticleUrl;
7457
+ handleMenuToggle = _ref.handleMenuToggle,
7458
+ kbArticleUrl = _ref.kbArticleUrl,
7459
+ mergeTags = _ref.mergeTags,
7460
+ tagsPath = _ref.tagsPath,
7461
+ tagType = _ref.tagType;
7430
7462
 
7431
7463
  var _useState = useState({}),
7432
7464
  _useState2 = _slicedToArray(_useState, 2),
@@ -7477,8 +7509,11 @@ var Merge = function Merge(_ref) {
7477
7509
  payload: payload
7478
7510
  }, {
7479
7511
  onSuccess: function onSuccess() {
7512
+ var _mergeTags$onSuccess;
7513
+
7480
7514
  setDestinationTag("");
7481
7515
  setSourceTag("");
7516
+ mergeTags === null || mergeTags === void 0 ? void 0 : (_mergeTags$onSuccess = mergeTags.onSuccess) === null || _mergeTags$onSuccess === void 0 ? void 0 : _mergeTags$onSuccess.callback();
7482
7517
  setIsModalOpen(false);
7483
7518
  }
7484
7519
  });
@@ -7498,7 +7533,6 @@ var Merge = function Merge(_ref) {
7498
7533
  title: t("merge.mergeTags"),
7499
7534
  menuBarToggle: displayMenu ? handleMenuToggle : null,
7500
7535
  actionBlock: /*#__PURE__*/React.createElement(Button, {
7501
- size: "large",
7502
7536
  disabled: !(sourceTag !== null && sourceTag !== void 0 && sourceTag.id && destinationTag !== null && destinationTag !== void 0 && destinationTag.id),
7503
7537
  onClick: function onClick() {
7504
7538
  setIsModalOpen(true);
@@ -7510,6 +7544,7 @@ var Merge = function Merge(_ref) {
7510
7544
  title: "Tags Not Found",
7511
7545
  kbArticleUrl: kbArticleUrl,
7512
7546
  actionBlock: /*#__PURE__*/React.createElement(Button, {
7547
+ size: "small",
7513
7548
  onClick: function onClick() {
7514
7549
  return history.push(tagsPath);
7515
7550
  },