@bigbinary/neeto-tags-frontend 1.6.0 → 1.6.2
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 +45 -15
- package/dist/index.cjs.js.map +1 -1
- package/dist/index.js +45 -16
- package/dist/index.js.map +1 -1
- package/package.json +12 -10
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 neetoCist = require('@bigbinary/neeto-cist');
|
|
7
7
|
var constants = require('@bigbinary/neeto-commons-frontend/constants');
|
|
8
|
-
var
|
|
8
|
+
var useHotkeys = require('@bigbinary/neeto-hotkeys');
|
|
9
9
|
var neetoIcons = require('@bigbinary/neeto-icons');
|
|
10
10
|
var neetoui = require('@bigbinary/neetoui');
|
|
11
11
|
var ramda = require('ramda');
|
|
@@ -14,6 +14,7 @@ var i18next = require('i18next');
|
|
|
14
14
|
var classNames = require('classnames');
|
|
15
15
|
var Metadata = require('@bigbinary/neeto-molecules/Metadata');
|
|
16
16
|
var reactRouterDom = require('react-router-dom');
|
|
17
|
+
var reactUtils = require('@bigbinary/neeto-commons-frontend/react-utils');
|
|
17
18
|
var neetoFiltersFrontend = require('@bigbinary/neeto-filters-frontend');
|
|
18
19
|
var Container$1 = require('@bigbinary/neeto-molecules/Container');
|
|
19
20
|
var SubHeader = require('@bigbinary/neeto-molecules/SubHeader');
|
|
@@ -48,6 +49,7 @@ function _interopNamespace(e) {
|
|
|
48
49
|
}
|
|
49
50
|
|
|
50
51
|
var React__default = /*#__PURE__*/_interopDefaultLegacy(React);
|
|
52
|
+
var useHotkeys__default = /*#__PURE__*/_interopDefaultLegacy(useHotkeys);
|
|
51
53
|
var classNames__default = /*#__PURE__*/_interopDefaultLegacy(classNames);
|
|
52
54
|
var Metadata__default = /*#__PURE__*/_interopDefaultLegacy(Metadata);
|
|
53
55
|
var Container__default = /*#__PURE__*/_interopDefaultLegacy(Container$1);
|
|
@@ -248,13 +250,37 @@ var TagsList = function TagsList(_ref) {
|
|
|
248
250
|
}));
|
|
249
251
|
};
|
|
250
252
|
|
|
251
|
-
var TagsSelector =
|
|
252
|
-
var
|
|
253
|
-
defaultMenuIsOpen = _ref.defaultMenuIsOpen,
|
|
253
|
+
var TagsSelector = function TagsSelector(_ref) {
|
|
254
|
+
var defaultMenuIsOpen = _ref.defaultMenuIsOpen,
|
|
254
255
|
tags = _ref.tags,
|
|
255
256
|
onChange = _ref.onChange,
|
|
256
257
|
onCreateOption = _ref.onCreateOption,
|
|
257
258
|
selectProps = _ref.selectProps;
|
|
259
|
+
var _useState = React.useState(""),
|
|
260
|
+
_useState2 = _slicedToArray(_useState, 2),
|
|
261
|
+
inputValue = _useState2[0],
|
|
262
|
+
setInputValue = _useState2[1];
|
|
263
|
+
var isMenuOpen = React.useRef(defaultMenuIsOpen);
|
|
264
|
+
var _useTranslation = reactI18next.useTranslation(),
|
|
265
|
+
t = _useTranslation.t;
|
|
266
|
+
var handleMenuOpen = function handleMenuOpen() {
|
|
267
|
+
var _selectProps$onMenuOp;
|
|
268
|
+
isMenuOpen.current = true;
|
|
269
|
+
(_selectProps$onMenuOp = selectProps.onMenuOpen) === null || _selectProps$onMenuOp === void 0 || _selectProps$onMenuOp.call(selectProps);
|
|
270
|
+
};
|
|
271
|
+
var handleMenuClose = function handleMenuClose() {
|
|
272
|
+
var _selectProps$onMenuCl;
|
|
273
|
+
isMenuOpen.current = false;
|
|
274
|
+
(_selectProps$onMenuCl = selectProps.onMenuClose) === null || _selectProps$onMenuCl === void 0 || _selectProps$onMenuCl.call(selectProps);
|
|
275
|
+
};
|
|
276
|
+
var handleKeyDown = function handleKeyDown(event) {
|
|
277
|
+
var _selectProps$onKeyDow;
|
|
278
|
+
if (!inputValue) return;
|
|
279
|
+
if (event.key === "Enter" && isMenuOpen.current) {
|
|
280
|
+
event.stopPropagation();
|
|
281
|
+
}
|
|
282
|
+
(_selectProps$onKeyDow = selectProps.onKeyDown) === null || _selectProps$onKeyDow === void 0 || _selectProps$onKeyDow.call(selectProps, event);
|
|
283
|
+
};
|
|
258
284
|
return /*#__PURE__*/React__default["default"].createElement(neetoui.Select, _extends({
|
|
259
285
|
defaultMenuIsOpen: defaultMenuIsOpen,
|
|
260
286
|
onChange: onChange,
|
|
@@ -264,8 +290,13 @@ var TagsSelector = reactUtils.withT(function (_ref) {
|
|
|
264
290
|
maxLength: 50,
|
|
265
291
|
options: tags,
|
|
266
292
|
placeholder: t("neetoTags.placeholder.selectOrCreateTag")
|
|
267
|
-
}, selectProps
|
|
268
|
-
|
|
293
|
+
}, selectProps, {
|
|
294
|
+
onInputChange: setInputValue,
|
|
295
|
+
onKeyDown: handleKeyDown,
|
|
296
|
+
onMenuClose: handleMenuClose,
|
|
297
|
+
onMenuOpen: handleMenuOpen
|
|
298
|
+
}));
|
|
299
|
+
};
|
|
269
300
|
|
|
270
301
|
/**
|
|
271
302
|
* A component that helps to manage tags.
|
|
@@ -281,7 +312,8 @@ var Tags$2 = function Tags(_ref) {
|
|
|
281
312
|
onTagCreate = _ref.onTagCreate,
|
|
282
313
|
onTagDelete = _ref.onTagDelete,
|
|
283
314
|
tagProps = _ref.tagProps,
|
|
284
|
-
selectProps = _ref.selectProps,
|
|
315
|
+
_ref$selectProps = _ref.selectProps,
|
|
316
|
+
selectProps = _ref$selectProps === void 0 ? {} : _ref$selectProps,
|
|
285
317
|
buttonProps = _ref.buttonProps,
|
|
286
318
|
_ref$showSuccessToast = _ref.showSuccessToastr,
|
|
287
319
|
showSuccessToastr = _ref$showSuccessToast === void 0 ? false : _ref$showSuccessToast,
|
|
@@ -308,7 +340,7 @@ var Tags$2 = function Tags(_ref) {
|
|
|
308
340
|
_useState2 = _slicedToArray(_useState, 2),
|
|
309
341
|
isTagsDropdownVisible = _useState2[0],
|
|
310
342
|
setIsTagsDropdownVisible = _useState2[1];
|
|
311
|
-
|
|
343
|
+
useHotkeys__default["default"](KEYBOARD_SHORTCUTS.addTag.sequence, function (event) {
|
|
312
344
|
event.preventDefault();
|
|
313
345
|
setIsTagsDropdownVisible(true);
|
|
314
346
|
});
|
|
@@ -321,9 +353,9 @@ var Tags$2 = function Tags(_ref) {
|
|
|
321
353
|
return !selectedTagValues.includes(value);
|
|
322
354
|
});
|
|
323
355
|
}, [allTags, selectedTags]);
|
|
324
|
-
var handleAddExistingTag = function handleAddExistingTag(
|
|
356
|
+
var handleAddExistingTag = function handleAddExistingTag(tag) {
|
|
325
357
|
setIsTagsDropdownVisible(false);
|
|
326
|
-
onTagSelect(
|
|
358
|
+
onTagSelect(tag);
|
|
327
359
|
// @ts-ignore
|
|
328
360
|
showSuccessToastr && neetoui.Toastr.success("", {
|
|
329
361
|
icon: "👍",
|
|
@@ -361,12 +393,10 @@ var Tags$2 = function Tags(_ref) {
|
|
|
361
393
|
var tagsSelectorProps = {
|
|
362
394
|
defaultMenuIsOpen: showAddTagsOnTitle,
|
|
363
395
|
tags: tags,
|
|
364
|
-
onChange:
|
|
365
|
-
|
|
366
|
-
},
|
|
367
|
-
onCreateOption: function onCreateOption(event) {
|
|
396
|
+
onChange: handleAddExistingTag,
|
|
397
|
+
onCreateOption: function onCreateOption(tagName) {
|
|
368
398
|
setIsTagsDropdownVisible(false);
|
|
369
|
-
onTagCreate(
|
|
399
|
+
onTagCreate(tagName);
|
|
370
400
|
},
|
|
371
401
|
selectProps: selectProps
|
|
372
402
|
};
|