@bigbinary/neeto-templates-frontend 1.1.2 → 1.1.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 +1273 -61
- package/dist/index.cjs.js.map +1 -1
- package/dist/index.js +1311 -119
- package/dist/index.js.map +1 -1
- package/package.json +4 -1
package/dist/index.js
CHANGED
|
@@ -1,25 +1,35 @@
|
|
|
1
|
-
import
|
|
2
|
-
import {
|
|
3
|
-
import {
|
|
4
|
-
import {
|
|
5
|
-
import {
|
|
1
|
+
import * as React from 'react';
|
|
2
|
+
import React__default, { useState, useRef, useCallback, useEffect, useMemo, memo } from 'react';
|
|
3
|
+
import { noop, removeBy, renameKeys } from '@bigbinary/neeto-cist';
|
|
4
|
+
import { Typography, Dropdown, Input, Spinner, Button, Modal, Toastr, Tag, Select, Label } from '@bigbinary/neetoui';
|
|
5
|
+
import { useDebounce, withT } from '@bigbinary/neeto-commons-frontend/react-utils';
|
|
6
|
+
import { MenuHorizontal, Search, LeftArrow, Plus, Check, Settings, Delete } from '@bigbinary/neeto-icons';
|
|
6
7
|
import PageLoader from '@bigbinary/neeto-molecules/PageLoader';
|
|
7
8
|
import Scrollable from '@bigbinary/neeto-molecules/Scrollable';
|
|
8
|
-
import { useTranslation } from 'react-i18next';
|
|
9
|
-
import { prop } from 'ramda';
|
|
10
|
-
import { QueryClient,
|
|
9
|
+
import { useTranslation, Trans } from 'react-i18next';
|
|
10
|
+
import { prop, pluck, not } from 'ramda';
|
|
11
|
+
import { QueryClient, useQuery, useMutation, useInfiniteQuery, QueryCache, useQueryClient } from 'react-query';
|
|
11
12
|
import axios from 'axios';
|
|
12
13
|
import require$$0 from 'util';
|
|
13
|
-
import { DEFAULT_STALE_TIME } from '@bigbinary/neeto-commons-frontend/constants';
|
|
14
|
-
import CustomSVG from 'images/dashboard/custom';
|
|
14
|
+
import { DEFAULT_STALE_TIME, SINGULAR, PLURAL } from '@bigbinary/neeto-commons-frontend/constants';
|
|
15
15
|
import classnames from 'classnames';
|
|
16
16
|
import { joinHyphenCase, buildUrl } from '@bigbinary/neeto-commons-frontend/utils';
|
|
17
|
-
|
|
18
|
-
|
|
17
|
+
import { Form } from '@bigbinary/neetoui/formik';
|
|
18
|
+
import { useParams } from 'react-router-dom';
|
|
19
|
+
import { isNotEmpty } from '@bigbinary/neeto-commons-frontend/pure';
|
|
20
|
+
import '@bigbinary/neeto-molecules/Container';
|
|
21
|
+
import '@bigbinary/neeto-molecules/SubHeader';
|
|
22
|
+
import '@bigbinary/neeto-molecules/TableWrapper';
|
|
23
|
+
import { t as t$1 } from 'i18next';
|
|
24
|
+
import * as yup from 'yup';
|
|
25
|
+
import NeetoHeader from '@bigbinary/neeto-molecules/Header';
|
|
26
|
+
import 'react-query/devtools';
|
|
27
|
+
|
|
28
|
+
function _arrayWithHoles$1(arr) {
|
|
19
29
|
if (Array.isArray(arr)) return arr;
|
|
20
30
|
}
|
|
21
31
|
|
|
22
|
-
function _iterableToArrayLimit(arr, i) {
|
|
32
|
+
function _iterableToArrayLimit$1(arr, i) {
|
|
23
33
|
var _i = null == arr ? null : "undefined" != typeof Symbol && arr[Symbol.iterator] || arr["@@iterator"];
|
|
24
34
|
if (null != _i) {
|
|
25
35
|
var _s,
|
|
@@ -47,27 +57,27 @@ function _iterableToArrayLimit(arr, i) {
|
|
|
47
57
|
}
|
|
48
58
|
}
|
|
49
59
|
|
|
50
|
-
function _arrayLikeToArray(arr, len) {
|
|
60
|
+
function _arrayLikeToArray$1(arr, len) {
|
|
51
61
|
if (len == null || len > arr.length) len = arr.length;
|
|
52
62
|
for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i];
|
|
53
63
|
return arr2;
|
|
54
64
|
}
|
|
55
65
|
|
|
56
|
-
function _unsupportedIterableToArray(o, minLen) {
|
|
66
|
+
function _unsupportedIterableToArray$1(o, minLen) {
|
|
57
67
|
if (!o) return;
|
|
58
|
-
if (typeof o === "string") return _arrayLikeToArray(o, minLen);
|
|
68
|
+
if (typeof o === "string") return _arrayLikeToArray$1(o, minLen);
|
|
59
69
|
var n = Object.prototype.toString.call(o).slice(8, -1);
|
|
60
70
|
if (n === "Object" && o.constructor) n = o.constructor.name;
|
|
61
71
|
if (n === "Map" || n === "Set") return Array.from(o);
|
|
62
|
-
if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen);
|
|
72
|
+
if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray$1(o, minLen);
|
|
63
73
|
}
|
|
64
74
|
|
|
65
|
-
function _nonIterableRest() {
|
|
75
|
+
function _nonIterableRest$1() {
|
|
66
76
|
throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
|
|
67
77
|
}
|
|
68
78
|
|
|
69
|
-
function _slicedToArray(arr, i) {
|
|
70
|
-
return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest();
|
|
79
|
+
function _slicedToArray$1(arr, i) {
|
|
80
|
+
return _arrayWithHoles$1(arr) || _iterableToArrayLimit$1(arr, i) || _unsupportedIterableToArray$1(arr, i) || _nonIterableRest$1();
|
|
71
81
|
}
|
|
72
82
|
|
|
73
83
|
var TEMPLATE_SCREENS = {
|
|
@@ -123,7 +133,7 @@ function _defineProperty(obj, key, value) {
|
|
|
123
133
|
}
|
|
124
134
|
|
|
125
135
|
function _arrayWithoutHoles(arr) {
|
|
126
|
-
if (Array.isArray(arr)) return _arrayLikeToArray(arr);
|
|
136
|
+
if (Array.isArray(arr)) return _arrayLikeToArray$1(arr);
|
|
127
137
|
}
|
|
128
138
|
|
|
129
139
|
function _iterableToArray(iter) {
|
|
@@ -135,7 +145,7 @@ function _nonIterableSpread() {
|
|
|
135
145
|
}
|
|
136
146
|
|
|
137
147
|
function _toConsumableArray(arr) {
|
|
138
|
-
return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread();
|
|
148
|
+
return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray$1(arr) || _nonIterableSpread();
|
|
139
149
|
}
|
|
140
150
|
|
|
141
151
|
function createObserverCache() {
|
|
@@ -266,8 +276,8 @@ function useIntersectionObserver(args) {
|
|
|
266
276
|
}];
|
|
267
277
|
}
|
|
268
278
|
|
|
269
|
-
function _extends() {
|
|
270
|
-
_extends = Object.assign || function (target) {
|
|
279
|
+
function _extends$2() {
|
|
280
|
+
_extends$2 = Object.assign || function (target) {
|
|
271
281
|
for (var i = 1; i < arguments.length; i++) {
|
|
272
282
|
var source = arguments[i];
|
|
273
283
|
|
|
@@ -281,7 +291,7 @@ function _extends() {
|
|
|
281
291
|
return target;
|
|
282
292
|
};
|
|
283
293
|
|
|
284
|
-
return _extends.apply(this, arguments);
|
|
294
|
+
return _extends$2.apply(this, arguments);
|
|
285
295
|
}
|
|
286
296
|
|
|
287
297
|
function useTrackVisibility(args) {
|
|
@@ -301,7 +311,7 @@ function useTrackVisibility(args) {
|
|
|
301
311
|
setWasEverVisible(true);
|
|
302
312
|
}
|
|
303
313
|
|
|
304
|
-
return [ref, _extends({}, result, {
|
|
314
|
+
return [ref, _extends$2({}, result, {
|
|
305
315
|
isVisible: isVisible,
|
|
306
316
|
wasEverVisible: wasEverVisible
|
|
307
317
|
})];
|
|
@@ -349,6 +359,27 @@ function useInfiniteScroll(_ref) {
|
|
|
349
359
|
}];
|
|
350
360
|
}
|
|
351
361
|
|
|
362
|
+
var _rect, _path;
|
|
363
|
+
function _extends$1() { _extends$1 = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends$1.apply(this, arguments); }
|
|
364
|
+
const SvgCustom = props => /*#__PURE__*/React.createElement("svg", _extends$1({
|
|
365
|
+
xmlns: "http://www.w3.org/2000/svg",
|
|
366
|
+
width: 46,
|
|
367
|
+
height: 46,
|
|
368
|
+
fill: "none"
|
|
369
|
+
}, props), _rect || (_rect = /*#__PURE__*/React.createElement("rect", {
|
|
370
|
+
width: 40,
|
|
371
|
+
height: 40,
|
|
372
|
+
x: 3,
|
|
373
|
+
y: 2,
|
|
374
|
+
fill: "#4558F9",
|
|
375
|
+
rx: 2
|
|
376
|
+
})), _path || (_path = /*#__PURE__*/React.createElement("path", {
|
|
377
|
+
fill: "#fff",
|
|
378
|
+
fillRule: "evenodd",
|
|
379
|
+
d: "M23.75 16a.75.75 0 0 0-1.5 0v5.25H17a.75.75 0 0 0 0 1.5h5.25V28a.75.75 0 0 0 1.5 0v-5.25H29a.75.75 0 0 0 0-1.5h-5.25V16Z",
|
|
380
|
+
clipRule: "evenodd"
|
|
381
|
+
})));
|
|
382
|
+
|
|
352
383
|
function _objectWithoutPropertiesLoose(source, excluded) {
|
|
353
384
|
if (source == null) return {};
|
|
354
385
|
var target = {};
|
|
@@ -2431,17 +2462,8 @@ var lib = {
|
|
|
2431
2462
|
stringify: stringify
|
|
2432
2463
|
};
|
|
2433
2464
|
|
|
2434
|
-
var generatePath = function generatePath(path, params) {
|
|
2435
|
-
return Object.entries(params).reduce(function (acc, _ref) {
|
|
2436
|
-
var _ref2 = _slicedToArray(_ref, 2),
|
|
2437
|
-
name = _ref2[0],
|
|
2438
|
-
value = _ref2[1];
|
|
2439
|
-
return acc.replace(":".concat(name), value);
|
|
2440
|
-
}, path);
|
|
2441
|
-
};
|
|
2442
|
-
|
|
2443
2465
|
var _excluded = ["url"];
|
|
2444
|
-
var list = function list(_ref) {
|
|
2466
|
+
var list$1 = function list(_ref) {
|
|
2445
2467
|
var url = _ref.url,
|
|
2446
2468
|
params = _objectWithoutProperties(_ref, _excluded);
|
|
2447
2469
|
return axios.get(url, {
|
|
@@ -2453,31 +2475,33 @@ var list = function list(_ref) {
|
|
|
2453
2475
|
}
|
|
2454
2476
|
});
|
|
2455
2477
|
};
|
|
2456
|
-
var create = function create(_ref2) {
|
|
2478
|
+
var create$1 = function create(_ref2) {
|
|
2457
2479
|
var id = _ref2.id,
|
|
2458
2480
|
url = _ref2.url;
|
|
2459
2481
|
return axios.post(url, {
|
|
2460
|
-
|
|
2482
|
+
template: {
|
|
2461
2483
|
id: id
|
|
2462
2484
|
}
|
|
2485
|
+
}, {
|
|
2486
|
+
showToastr: false
|
|
2463
2487
|
});
|
|
2464
2488
|
};
|
|
2465
|
-
var fetch = function fetch(
|
|
2466
|
-
|
|
2467
|
-
resourceId: resourceId
|
|
2468
|
-
}));
|
|
2469
|
-
};
|
|
2470
|
-
var update = function update(_ref3) {
|
|
2471
|
-
var resourceId = _ref3.resourceId,
|
|
2472
|
-
payload = _ref3.payload,
|
|
2489
|
+
var fetch = function fetch(_ref3) {
|
|
2490
|
+
var templateId = _ref3.templateId,
|
|
2473
2491
|
url = _ref3.url;
|
|
2474
|
-
return axios.
|
|
2475
|
-
|
|
2476
|
-
})
|
|
2492
|
+
return axios.get("".concat(url, "/").concat(templateId), {
|
|
2493
|
+
showToastr: false
|
|
2494
|
+
});
|
|
2495
|
+
};
|
|
2496
|
+
var update = function update(_ref4) {
|
|
2497
|
+
var resourceId = _ref4.resourceId,
|
|
2498
|
+
payload = _ref4.payload,
|
|
2499
|
+
url = _ref4.url;
|
|
2500
|
+
return axios.put("".concat(url, "/").concat(resourceId), payload);
|
|
2477
2501
|
};
|
|
2478
2502
|
var templatesApi = {
|
|
2479
|
-
list: list,
|
|
2480
|
-
create: create,
|
|
2503
|
+
list: list$1,
|
|
2504
|
+
create: create$1,
|
|
2481
2505
|
update: update,
|
|
2482
2506
|
fetch: fetch
|
|
2483
2507
|
};
|
|
@@ -2487,7 +2511,7 @@ var QUERY_KEYS = {
|
|
|
2487
2511
|
TEMPLATE_TAGS: "template-tags"
|
|
2488
2512
|
};
|
|
2489
2513
|
|
|
2490
|
-
var queryClient = new QueryClient({
|
|
2514
|
+
var queryClient$1 = new QueryClient({
|
|
2491
2515
|
defaultOptions: {
|
|
2492
2516
|
queries: {
|
|
2493
2517
|
staleTime: DEFAULT_STALE_TIME
|
|
@@ -2495,8 +2519,8 @@ var queryClient = new QueryClient({
|
|
|
2495
2519
|
}
|
|
2496
2520
|
});
|
|
2497
2521
|
|
|
2498
|
-
function ownKeys$
|
|
2499
|
-
function _objectSpread$
|
|
2522
|
+
function ownKeys$3(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; }
|
|
2523
|
+
function _objectSpread$3(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys$3(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys$3(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
|
|
2500
2524
|
var useFetchTemplates = function useFetchTemplates(_ref) {
|
|
2501
2525
|
var url = _ref.url,
|
|
2502
2526
|
searchTerm = _ref.searchTerm,
|
|
@@ -2529,9 +2553,9 @@ var useFetchTemplates = function useFetchTemplates(_ref) {
|
|
|
2529
2553
|
};
|
|
2530
2554
|
var useCreateTemplate = function useCreateTemplate(_ref3, options) {
|
|
2531
2555
|
var resourceQueryKey = _ref3.resourceQueryKey;
|
|
2532
|
-
return useMutation(templatesApi.create, _objectSpread$
|
|
2556
|
+
return useMutation(templatesApi.create, _objectSpread$3(_objectSpread$3({}, options), {}, {
|
|
2533
2557
|
onSuccess: function onSuccess() {
|
|
2534
|
-
queryClient.invalidateQueries([resourceQueryKey]);
|
|
2558
|
+
queryClient$1.invalidateQueries([resourceQueryKey]);
|
|
2535
2559
|
for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
|
|
2536
2560
|
args[_key] = arguments[_key];
|
|
2537
2561
|
}
|
|
@@ -2539,6 +2563,34 @@ var useCreateTemplate = function useCreateTemplate(_ref3, options) {
|
|
|
2539
2563
|
}
|
|
2540
2564
|
}));
|
|
2541
2565
|
};
|
|
2566
|
+
var useFetchTemplate = function useFetchTemplate(_ref4, options) {
|
|
2567
|
+
var resourceId = _ref4.resourceId,
|
|
2568
|
+
url = _ref4.url;
|
|
2569
|
+
return useQuery([QUERY_KEYS.TEMPLATES, resourceId], function () {
|
|
2570
|
+
return templatesApi.fetch({
|
|
2571
|
+
templateId: resourceId,
|
|
2572
|
+
url: url
|
|
2573
|
+
});
|
|
2574
|
+
}, options);
|
|
2575
|
+
};
|
|
2576
|
+
var useUpdateTemplate = function useUpdateTemplate(_ref5) {
|
|
2577
|
+
var resourceId = _ref5.resourceId,
|
|
2578
|
+
url = _ref5.url;
|
|
2579
|
+
return useMutation(function (_ref6) {
|
|
2580
|
+
var template = _ref6.template;
|
|
2581
|
+
return templatesApi.update({
|
|
2582
|
+
resourceId: resourceId,
|
|
2583
|
+
url: url,
|
|
2584
|
+
payload: {
|
|
2585
|
+
template: template
|
|
2586
|
+
}
|
|
2587
|
+
});
|
|
2588
|
+
}, {
|
|
2589
|
+
onSuccess: function onSuccess() {
|
|
2590
|
+
queryClient$1.invalidateQueries([QUERY_KEYS.TEMPLATES]);
|
|
2591
|
+
}
|
|
2592
|
+
});
|
|
2593
|
+
};
|
|
2542
2594
|
|
|
2543
2595
|
var BlankCard = function BlankCard(_ref) {
|
|
2544
2596
|
var Icon = _ref.icon,
|
|
@@ -2548,21 +2600,21 @@ var BlankCard = function BlankCard(_ref) {
|
|
|
2548
2600
|
onClick = _ref$onClick === void 0 ? noop : _ref$onClick,
|
|
2549
2601
|
_ref$disabled = _ref.disabled,
|
|
2550
2602
|
disabled = _ref$disabled === void 0 ? false : _ref$disabled;
|
|
2551
|
-
return /*#__PURE__*/
|
|
2603
|
+
return /*#__PURE__*/React__default.createElement("div", {
|
|
2552
2604
|
className: "neeto-ui-rounded-lg neeto-ui-bg-white hover:neeto-ui-bg-white neeto-ui-border-primary-500 outline-none flex cursor-pointer flex-col items-center justify-center border border-dashed p-6 transition-all duration-300 ease-in-out hover:border-solid focus:border-solid",
|
|
2553
2605
|
"data-cy": "start-from-scratch-button",
|
|
2554
2606
|
tabIndex: 0,
|
|
2555
2607
|
onClick: !disabled ? onClick : noop
|
|
2556
|
-
}, /*#__PURE__*/
|
|
2608
|
+
}, /*#__PURE__*/React__default.createElement("div", {
|
|
2557
2609
|
className: "neeto-ui-text-primary-500 mb-4"
|
|
2558
|
-
}, /*#__PURE__*/
|
|
2610
|
+
}, /*#__PURE__*/React__default.createElement(Icon, {
|
|
2559
2611
|
size: 40
|
|
2560
|
-
})), /*#__PURE__*/
|
|
2612
|
+
})), /*#__PURE__*/React__default.createElement(Typography, {
|
|
2561
2613
|
className: "text-center",
|
|
2562
2614
|
lineHeight: "normal",
|
|
2563
2615
|
style: "h5",
|
|
2564
2616
|
weight: "semibold"
|
|
2565
|
-
}, title), /*#__PURE__*/
|
|
2617
|
+
}, title), /*#__PURE__*/React__default.createElement(Typography, {
|
|
2566
2618
|
className: "neeto-ui-text-gray-600 text-center",
|
|
2567
2619
|
lineHeight: "leading-4",
|
|
2568
2620
|
style: "body3"
|
|
@@ -2570,18 +2622,18 @@ var BlankCard = function BlankCard(_ref) {
|
|
|
2570
2622
|
};
|
|
2571
2623
|
|
|
2572
2624
|
var ButtonLoader = function ButtonLoader() {
|
|
2573
|
-
return /*#__PURE__*/
|
|
2625
|
+
return /*#__PURE__*/React__default.createElement("div", {
|
|
2574
2626
|
role: "status"
|
|
2575
|
-
}, /*#__PURE__*/
|
|
2627
|
+
}, /*#__PURE__*/React__default.createElement("svg", {
|
|
2576
2628
|
"aria-hidden": "true",
|
|
2577
2629
|
className: "neeto-ui-text-gray-400 inline h-5 w-5 animate-spin",
|
|
2578
2630
|
fill: "none",
|
|
2579
2631
|
viewBox: "0 0 100 101",
|
|
2580
2632
|
xmlns: "http://www.w3.org/2000/svg"
|
|
2581
|
-
}, /*#__PURE__*/
|
|
2633
|
+
}, /*#__PURE__*/React__default.createElement("path", {
|
|
2582
2634
|
d: "M100 50.59c0 27.615-22.386 50.001-50 50.001s-50-22.386-50-50 22.386-50 50-50 50 22.386 50 50zm-90.919 0c0 22.6 18.32 40.92 40.919 40.92 22.599 0 40.919-18.32 40.919-40.92 0-22.598-18.32-40.918-40.919-40.918-22.599 0-40.919 18.32-40.919 40.919z",
|
|
2583
2635
|
fill: "currentColor"
|
|
2584
|
-
}), /*#__PURE__*/
|
|
2636
|
+
}), /*#__PURE__*/React__default.createElement("path", {
|
|
2585
2637
|
d: "M93.968 39.04c2.425-.636 3.894-3.128 3.04-5.486A50 50 0 0041.735 1.279c-2.474.414-3.922 2.919-3.285 5.344.637 2.426 3.12 3.849 5.6 3.484a40.916 40.916 0 0144.131 25.769c.902 2.34 3.361 3.802 5.787 3.165z",
|
|
2586
2638
|
fill: "#3642df"
|
|
2587
2639
|
})));
|
|
@@ -2613,25 +2665,25 @@ var Card = function Card(_ref) {
|
|
|
2613
2665
|
}
|
|
2614
2666
|
});
|
|
2615
2667
|
};
|
|
2616
|
-
return /*#__PURE__*/
|
|
2668
|
+
return /*#__PURE__*/React__default.createElement("div", {
|
|
2617
2669
|
className: "neeto-template neeto-ui-bg-white outline-none neeto-ui-shadow-sm hover:neeto-ui-border-gray-400 focus:neeto-ui-border-gray-500 neeto-ui-rounded-lg flex cursor-pointer flex-col overflow-hidden border transition-colors duration-300 ease-in-out",
|
|
2618
2670
|
"data-cy": "template-card",
|
|
2619
2671
|
tabIndex: 0,
|
|
2620
2672
|
onClick: onClick
|
|
2621
|
-
}, /*#__PURE__*/
|
|
2673
|
+
}, /*#__PURE__*/React__default.createElement("div", {
|
|
2622
2674
|
className: "neeto-template__header"
|
|
2623
|
-
}, /*#__PURE__*/
|
|
2675
|
+
}, /*#__PURE__*/React__default.createElement("img", {
|
|
2624
2676
|
className: "neeto-template__image",
|
|
2625
2677
|
"data-cy": "template-thumbnail-image",
|
|
2626
2678
|
src: template.imageUrl || "https://d2v7kzglnr2dnh.cloudfront.net/images/neetoForm/default-form-template.svg"
|
|
2627
|
-
})), /*#__PURE__*/
|
|
2679
|
+
})), /*#__PURE__*/React__default.createElement("div", {
|
|
2628
2680
|
className: "neeto-template__description neeto-ui-bg-white flex items-center justify-between gap-2 rounded-b-lg p-2 py-1.5"
|
|
2629
|
-
}, /*#__PURE__*/
|
|
2681
|
+
}, /*#__PURE__*/React__default.createElement(Typography, {
|
|
2630
2682
|
className: "neeto-ui-text-gray-800 line-clamp-2",
|
|
2631
2683
|
"data-cy": "template-card-title",
|
|
2632
2684
|
lineHeight: "normal",
|
|
2633
2685
|
style: "body2"
|
|
2634
|
-
}, template.title), /*#__PURE__*/
|
|
2686
|
+
}, template.title), /*#__PURE__*/React__default.createElement(Dropdown, {
|
|
2635
2687
|
buttonProps: {
|
|
2636
2688
|
className: "flex-shrink-0",
|
|
2637
2689
|
size: "small"
|
|
@@ -2641,12 +2693,12 @@ var Card = function Card(_ref) {
|
|
|
2641
2693
|
onClick: function onClick(e) {
|
|
2642
2694
|
return e.stopPropagation();
|
|
2643
2695
|
}
|
|
2644
|
-
}, /*#__PURE__*/
|
|
2696
|
+
}, /*#__PURE__*/React__default.createElement(Menu, null, /*#__PURE__*/React__default.createElement(MenuItem.Button, {
|
|
2645
2697
|
"data-cy": "use-this-template-button",
|
|
2646
2698
|
onClick: function onClick(e) {
|
|
2647
2699
|
return handleCreateTemplate(e, template.id);
|
|
2648
2700
|
}
|
|
2649
|
-
}, t("neetoTemplate.templates.editTemplate"), isCreating && /*#__PURE__*/
|
|
2701
|
+
}, t("neetoTemplate.templates.editTemplate"), isCreating && /*#__PURE__*/React__default.createElement(ButtonLoader, null)), /*#__PURE__*/React__default.createElement(MenuItem.Button, {
|
|
2650
2702
|
"data-cy": "template-preview-button"
|
|
2651
2703
|
}, t("neetoTemplate.templates.preview"))))));
|
|
2652
2704
|
};
|
|
@@ -2656,7 +2708,7 @@ var CategoryItem = function CategoryItem(_ref) {
|
|
|
2656
2708
|
count = _ref.count,
|
|
2657
2709
|
isActive = _ref.isActive,
|
|
2658
2710
|
setCurrentCategory = _ref.setCurrentCategory;
|
|
2659
|
-
return /*#__PURE__*/
|
|
2711
|
+
return /*#__PURE__*/React__default.createElement("button", {
|
|
2660
2712
|
"data-cy": "category-".concat(joinHyphenCase(label)),
|
|
2661
2713
|
tabIndex: 0,
|
|
2662
2714
|
className: classnames("neeto-ui-rounded-lg outline-none flex w-full items-center justify-between gap-2 border border-solid px-3 py-2 text-sm font-medium leading-4 transition-all duration-300 ease-in-out", {
|
|
@@ -2664,11 +2716,11 @@ var CategoryItem = function CategoryItem(_ref) {
|
|
|
2664
2716
|
"neeto-ui-text-gray-800 neeto-ui-bg-white neeto-ui-border-gray-300 focus:neeto-ui-border-gray-500": isActive
|
|
2665
2717
|
}),
|
|
2666
2718
|
onClick: setCurrentCategory
|
|
2667
|
-
}, /*#__PURE__*/
|
|
2719
|
+
}, /*#__PURE__*/React__default.createElement("span", null, label), /*#__PURE__*/React__default.createElement("span", null, count));
|
|
2668
2720
|
};
|
|
2669
2721
|
|
|
2670
|
-
function ownKeys(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; }
|
|
2671
|
-
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
|
|
2722
|
+
function ownKeys$2(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; }
|
|
2723
|
+
function _objectSpread$2(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys$2(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys$2(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
|
|
2672
2724
|
var List = function List(_ref) {
|
|
2673
2725
|
var setCurrentScreen = _ref.setCurrentScreen,
|
|
2674
2726
|
setSelectedTemplate = _ref.setSelectedTemplate,
|
|
@@ -2681,11 +2733,11 @@ var List = function List(_ref) {
|
|
|
2681
2733
|
var _useTranslation = useTranslation(),
|
|
2682
2734
|
t = _useTranslation.t;
|
|
2683
2735
|
var _useState = useState(DEFAULT_CATEGORY),
|
|
2684
|
-
_useState2 = _slicedToArray(_useState, 2),
|
|
2736
|
+
_useState2 = _slicedToArray$1(_useState, 2),
|
|
2685
2737
|
currentCategory = _useState2[0],
|
|
2686
2738
|
_setCurrentCategory = _useState2[1];
|
|
2687
2739
|
var _useState3 = useState(""),
|
|
2688
|
-
_useState4 = _slicedToArray(_useState3, 2),
|
|
2740
|
+
_useState4 = _slicedToArray$1(_useState3, 2),
|
|
2689
2741
|
searchTerm = _useState4[0],
|
|
2690
2742
|
setSearchTerm = _useState4[1];
|
|
2691
2743
|
var debouncedSearch = useDebounce(searchTerm).trim();
|
|
@@ -2706,7 +2758,7 @@ var List = function List(_ref) {
|
|
|
2706
2758
|
rootMargin: "0px 0px 700px 0px",
|
|
2707
2759
|
delayInMs: INFINITE_SCROLL_DELAY
|
|
2708
2760
|
}),
|
|
2709
|
-
_useInfiniteScroll2 = _slicedToArray(_useInfiniteScroll, 2),
|
|
2761
|
+
_useInfiniteScroll2 = _slicedToArray$1(_useInfiniteScroll, 2),
|
|
2710
2762
|
sentryRef = _useInfiniteScroll2[0],
|
|
2711
2763
|
rootRef = _useInfiniteScroll2[1].rootRef;
|
|
2712
2764
|
var handleCardClick = function handleCardClick(template) {
|
|
@@ -2714,53 +2766,53 @@ var List = function List(_ref) {
|
|
|
2714
2766
|
setSelectedTemplate(template);
|
|
2715
2767
|
};
|
|
2716
2768
|
if (isTemplatesLoading) {
|
|
2717
|
-
return /*#__PURE__*/
|
|
2769
|
+
return /*#__PURE__*/React__default.createElement(PageLoader, null);
|
|
2718
2770
|
}
|
|
2719
2771
|
var tags = data.tags,
|
|
2720
2772
|
templates = data.templates,
|
|
2721
2773
|
templatesCount = data.templatesCount;
|
|
2722
|
-
var categories = [_objectSpread(_objectSpread({}, DEFAULT_CATEGORY), {}, {
|
|
2774
|
+
var categories = [_objectSpread$2(_objectSpread$2({}, DEFAULT_CATEGORY), {}, {
|
|
2723
2775
|
count: templatesCount
|
|
2724
2776
|
})].concat(_toConsumableArray(tags));
|
|
2725
|
-
return /*#__PURE__*/
|
|
2777
|
+
return /*#__PURE__*/React__default.createElement("div", {
|
|
2726
2778
|
className: "neeto-ui-bg-gray-100 gap-18 relative flex min-h-full items-start p-16"
|
|
2727
|
-
}, /*#__PURE__*/
|
|
2779
|
+
}, /*#__PURE__*/React__default.createElement("div", {
|
|
2728
2780
|
className: "top-18 sticky left-0 w-80 flex-shrink-0 space-y-8"
|
|
2729
|
-
}, /*#__PURE__*/
|
|
2781
|
+
}, /*#__PURE__*/React__default.createElement("div", {
|
|
2730
2782
|
className: "space-y-4"
|
|
2731
|
-
}, /*#__PURE__*/
|
|
2783
|
+
}, /*#__PURE__*/React__default.createElement("div", {
|
|
2732
2784
|
className: "space-y-1"
|
|
2733
|
-
}, /*#__PURE__*/
|
|
2785
|
+
}, /*#__PURE__*/React__default.createElement(Typography, {
|
|
2734
2786
|
"data-cy": "create-new-form-title",
|
|
2735
2787
|
style: "h2",
|
|
2736
2788
|
weight: "semibold"
|
|
2737
2789
|
}, t("neetoTemplate.templates.createNewEntity", {
|
|
2738
2790
|
entity: entity
|
|
2739
|
-
})), /*#__PURE__*/
|
|
2791
|
+
})), /*#__PURE__*/React__default.createElement(Typography, {
|
|
2740
2792
|
lineHeight: "normal",
|
|
2741
2793
|
style: "body2"
|
|
2742
|
-
}, t("neetoTemplate.templates.description"))), /*#__PURE__*/
|
|
2794
|
+
}, t("neetoTemplate.templates.description"))), /*#__PURE__*/React__default.createElement(Input, {
|
|
2743
2795
|
placeholder: t("neetoTemplate.templates.search"),
|
|
2744
|
-
prefix: /*#__PURE__*/
|
|
2796
|
+
prefix: /*#__PURE__*/React__default.createElement(Search, null),
|
|
2745
2797
|
type: "search",
|
|
2746
2798
|
value: searchTerm,
|
|
2747
2799
|
onChange: function onChange(_ref2) {
|
|
2748
2800
|
var value = _ref2.target.value;
|
|
2749
2801
|
return setSearchTerm(value);
|
|
2750
2802
|
}
|
|
2751
|
-
})), /*#__PURE__*/
|
|
2803
|
+
})), /*#__PURE__*/React__default.createElement("div", {
|
|
2752
2804
|
className: "space-y-3"
|
|
2753
|
-
}, /*#__PURE__*/
|
|
2805
|
+
}, /*#__PURE__*/React__default.createElement(Typography, {
|
|
2754
2806
|
className: "uppercase",
|
|
2755
2807
|
"data-cy": "template-categories-label",
|
|
2756
2808
|
style: "h6"
|
|
2757
|
-
}, t("neetoTemplate.templates.categories")), /*#__PURE__*/
|
|
2809
|
+
}, t("neetoTemplate.templates.categories")), /*#__PURE__*/React__default.createElement("div", {
|
|
2758
2810
|
className: "space-y-2"
|
|
2759
2811
|
}, categories.map(function (_ref3) {
|
|
2760
2812
|
var id = _ref3.id,
|
|
2761
2813
|
name = _ref3.name,
|
|
2762
2814
|
count = _ref3.count;
|
|
2763
|
-
return /*#__PURE__*/
|
|
2815
|
+
return /*#__PURE__*/React__default.createElement(CategoryItem, {
|
|
2764
2816
|
count: count,
|
|
2765
2817
|
isActive: currentCategory.id === id,
|
|
2766
2818
|
key: id,
|
|
@@ -2772,20 +2824,20 @@ var List = function List(_ref) {
|
|
|
2772
2824
|
});
|
|
2773
2825
|
}
|
|
2774
2826
|
});
|
|
2775
|
-
})))), /*#__PURE__*/
|
|
2827
|
+
})))), /*#__PURE__*/React__default.createElement(Scrollable, {
|
|
2776
2828
|
ref: rootRef
|
|
2777
|
-
}, /*#__PURE__*/
|
|
2829
|
+
}, /*#__PURE__*/React__default.createElement("div", {
|
|
2778
2830
|
className: "flex-grow space-y-6"
|
|
2779
|
-
}, /*#__PURE__*/
|
|
2831
|
+
}, /*#__PURE__*/React__default.createElement("div", {
|
|
2780
2832
|
className: "grid grid-cols-2 gap-6 md:grid-cols-3 2xl:grid-cols-4"
|
|
2781
|
-
}, /*#__PURE__*/
|
|
2833
|
+
}, /*#__PURE__*/React__default.createElement(BlankCard, {
|
|
2782
2834
|
description: t("neetoTemplate.templates.blankCard.description"),
|
|
2783
2835
|
disabled: isCreating,
|
|
2784
|
-
icon: isCreating ? Spinner :
|
|
2836
|
+
icon: isCreating ? Spinner : SvgCustom,
|
|
2785
2837
|
title: t("neetoTemplate.templates.blankCard.title"),
|
|
2786
2838
|
onClick: onCreate
|
|
2787
2839
|
}), templates === null || templates === void 0 ? void 0 : templates.map(function (template, index) {
|
|
2788
|
-
return /*#__PURE__*/
|
|
2840
|
+
return /*#__PURE__*/React__default.createElement(Card, {
|
|
2789
2841
|
key: index,
|
|
2790
2842
|
template: template,
|
|
2791
2843
|
afterCreate: afterCreate,
|
|
@@ -2795,13 +2847,13 @@ var List = function List(_ref) {
|
|
|
2795
2847
|
return handleCardClick(template);
|
|
2796
2848
|
}
|
|
2797
2849
|
});
|
|
2798
|
-
})), hasNextPage && /*#__PURE__*/
|
|
2850
|
+
})), hasNextPage && /*#__PURE__*/React__default.createElement("div", {
|
|
2799
2851
|
className: "my-10 text-center",
|
|
2800
2852
|
ref: sentryRef
|
|
2801
|
-
}, /*#__PURE__*/
|
|
2853
|
+
}, /*#__PURE__*/React__default.createElement(Spinner, null)))));
|
|
2802
2854
|
};
|
|
2803
2855
|
|
|
2804
|
-
var Preview = function Preview(_ref) {
|
|
2856
|
+
var Preview$1 = function Preview(_ref) {
|
|
2805
2857
|
var selectedTemplate = _ref.selectedTemplate,
|
|
2806
2858
|
setCurrentScreen = _ref.setCurrentScreen,
|
|
2807
2859
|
afterCreate = _ref.afterCreate,
|
|
@@ -2826,32 +2878,32 @@ var Preview = function Preview(_ref) {
|
|
|
2826
2878
|
};
|
|
2827
2879
|
var title = selectedTemplate.title,
|
|
2828
2880
|
publicLinkId = selectedTemplate.publicLinkId;
|
|
2829
|
-
return /*#__PURE__*/
|
|
2881
|
+
return /*#__PURE__*/React__default.createElement("div", {
|
|
2830
2882
|
className: "m-auto flex h-full w-full max-w-5xl flex-col space-y-8 py-20"
|
|
2831
|
-
}, /*#__PURE__*/
|
|
2883
|
+
}, /*#__PURE__*/React__default.createElement("div", {
|
|
2832
2884
|
className: "flex items-center justify-between gap-6"
|
|
2833
|
-
}, /*#__PURE__*/
|
|
2885
|
+
}, /*#__PURE__*/React__default.createElement("div", {
|
|
2834
2886
|
className: "flex items-center gap-2"
|
|
2835
|
-
}, /*#__PURE__*/
|
|
2887
|
+
}, /*#__PURE__*/React__default.createElement(Button, {
|
|
2836
2888
|
"data-cy": "preview-template-back-button",
|
|
2837
2889
|
icon: LeftArrow,
|
|
2838
2890
|
style: "text",
|
|
2839
2891
|
onClick: function onClick() {
|
|
2840
2892
|
return setCurrentScreen(TEMPLATE_SCREENS.LIST);
|
|
2841
2893
|
}
|
|
2842
|
-
}), /*#__PURE__*/
|
|
2894
|
+
}), /*#__PURE__*/React__default.createElement(Typography, {
|
|
2843
2895
|
className: "leading-none",
|
|
2844
2896
|
"data-cy": "preview-template-title",
|
|
2845
2897
|
style: "h2",
|
|
2846
2898
|
weight: "semibold"
|
|
2847
|
-
}, title)), /*#__PURE__*/
|
|
2899
|
+
}, title)), /*#__PURE__*/React__default.createElement(Button, {
|
|
2848
2900
|
"data-cy": "preview-use-template-button",
|
|
2849
|
-
label: t("neetoTemplate.
|
|
2901
|
+
label: t("neetoTemplate.templates.editTemplate"),
|
|
2850
2902
|
loading: isCreating,
|
|
2851
2903
|
onClick: handleCreateTemplate
|
|
2852
|
-
})), /*#__PURE__*/
|
|
2853
|
-
className: "
|
|
2854
|
-
}, /*#__PURE__*/
|
|
2904
|
+
})), /*#__PURE__*/React__default.createElement("div", {
|
|
2905
|
+
className: "neeto-templates-share-preview neeto-ui-rounded-sm sticky top-10"
|
|
2906
|
+
}, /*#__PURE__*/React__default.createElement("iframe", {
|
|
2855
2907
|
className: "w-full flex-1 shadow-inner",
|
|
2856
2908
|
"data-cy": "iframe-id",
|
|
2857
2909
|
src: buildUrl(PREVIEW_URL, {
|
|
@@ -2873,11 +2925,11 @@ var CreateTemplateModal = function CreateTemplateModal(_ref) {
|
|
|
2873
2925
|
_ref$url = _ref.url,
|
|
2874
2926
|
url = _ref$url === void 0 ? "" : _ref$url;
|
|
2875
2927
|
var _useState = useState(TEMPLATE_SCREENS.LIST),
|
|
2876
|
-
_useState2 = _slicedToArray(_useState, 2),
|
|
2928
|
+
_useState2 = _slicedToArray$1(_useState, 2),
|
|
2877
2929
|
currentScreen = _useState2[0],
|
|
2878
2930
|
setCurrentScreen = _useState2[1];
|
|
2879
2931
|
var _useState3 = useState({}),
|
|
2880
|
-
_useState4 = _slicedToArray(_useState3, 2),
|
|
2932
|
+
_useState4 = _slicedToArray$1(_useState3, 2),
|
|
2881
2933
|
selectedTemplate = _useState4[0],
|
|
2882
2934
|
setSelectedTemplate = _useState4[1];
|
|
2883
2935
|
var onModalClose = function onModalClose() {
|
|
@@ -2887,12 +2939,12 @@ var CreateTemplateModal = function CreateTemplateModal(_ref) {
|
|
|
2887
2939
|
}, 300); //To accommodate the animation duration.
|
|
2888
2940
|
};
|
|
2889
2941
|
|
|
2890
|
-
return /*#__PURE__*/
|
|
2942
|
+
return /*#__PURE__*/React__default.createElement(Modal, {
|
|
2891
2943
|
className: "h-screen w-screen overflow-y-auto",
|
|
2892
2944
|
isOpen: isOpen,
|
|
2893
2945
|
size: "fullScreen",
|
|
2894
2946
|
onClose: onModalClose
|
|
2895
|
-
}, currentScreen === TEMPLATE_SCREENS.LIST ? /*#__PURE__*/
|
|
2947
|
+
}, currentScreen === TEMPLATE_SCREENS.LIST ? /*#__PURE__*/React__default.createElement(List, {
|
|
2896
2948
|
setCurrentScreen: setCurrentScreen,
|
|
2897
2949
|
setSelectedTemplate: setSelectedTemplate,
|
|
2898
2950
|
isCreating: isCreating,
|
|
@@ -2901,7 +2953,7 @@ var CreateTemplateModal = function CreateTemplateModal(_ref) {
|
|
|
2901
2953
|
entity: entity,
|
|
2902
2954
|
resourceQueryKey: resourceQueryKey,
|
|
2903
2955
|
url: url
|
|
2904
|
-
}) : /*#__PURE__*/
|
|
2956
|
+
}) : /*#__PURE__*/React__default.createElement(Preview$1, {
|
|
2905
2957
|
selectedTemplate: selectedTemplate,
|
|
2906
2958
|
setCurrentScreen: setCurrentScreen,
|
|
2907
2959
|
afterCreate: afterCreate,
|
|
@@ -2910,5 +2962,1145 @@ var CreateTemplateModal = function CreateTemplateModal(_ref) {
|
|
|
2910
2962
|
}));
|
|
2911
2963
|
};
|
|
2912
2964
|
|
|
2913
|
-
|
|
2965
|
+
function _extends() {
|
|
2966
|
+
_extends = Object.assign ? Object.assign.bind() : function (target) {
|
|
2967
|
+
for (var i = 1; i < arguments.length; i++) {
|
|
2968
|
+
var source = arguments[i];
|
|
2969
|
+
for (var key in source) {
|
|
2970
|
+
if (Object.prototype.hasOwnProperty.call(source, key)) {
|
|
2971
|
+
target[key] = source[key];
|
|
2972
|
+
}
|
|
2973
|
+
}
|
|
2974
|
+
}
|
|
2975
|
+
return target;
|
|
2976
|
+
};
|
|
2977
|
+
return _extends.apply(this, arguments);
|
|
2978
|
+
}
|
|
2979
|
+
|
|
2980
|
+
function _arrayWithHoles(arr) {
|
|
2981
|
+
if (Array.isArray(arr)) return arr;
|
|
2982
|
+
}
|
|
2983
|
+
|
|
2984
|
+
function _iterableToArrayLimit(arr, i) {
|
|
2985
|
+
var _i = null == arr ? null : "undefined" != typeof Symbol && arr[Symbol.iterator] || arr["@@iterator"];
|
|
2986
|
+
if (null != _i) {
|
|
2987
|
+
var _s,
|
|
2988
|
+
_e,
|
|
2989
|
+
_x,
|
|
2990
|
+
_r,
|
|
2991
|
+
_arr = [],
|
|
2992
|
+
_n = !0,
|
|
2993
|
+
_d = !1;
|
|
2994
|
+
try {
|
|
2995
|
+
if (_x = (_i = _i.call(arr)).next, 0 === i) {
|
|
2996
|
+
if (Object(_i) !== _i) return;
|
|
2997
|
+
_n = !1;
|
|
2998
|
+
} else for (; !(_n = (_s = _x.call(_i)).done) && (_arr.push(_s.value), _arr.length !== i); _n = !0);
|
|
2999
|
+
} catch (err) {
|
|
3000
|
+
_d = !0, _e = err;
|
|
3001
|
+
} finally {
|
|
3002
|
+
try {
|
|
3003
|
+
if (!_n && null != _i["return"] && (_r = _i["return"](), Object(_r) !== _r)) return;
|
|
3004
|
+
} finally {
|
|
3005
|
+
if (_d) throw _e;
|
|
3006
|
+
}
|
|
3007
|
+
}
|
|
3008
|
+
return _arr;
|
|
3009
|
+
}
|
|
3010
|
+
}
|
|
3011
|
+
|
|
3012
|
+
function _arrayLikeToArray(arr, len) {
|
|
3013
|
+
if (len == null || len > arr.length) len = arr.length;
|
|
3014
|
+
for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i];
|
|
3015
|
+
return arr2;
|
|
3016
|
+
}
|
|
3017
|
+
|
|
3018
|
+
function _unsupportedIterableToArray(o, minLen) {
|
|
3019
|
+
if (!o) return;
|
|
3020
|
+
if (typeof o === "string") return _arrayLikeToArray(o, minLen);
|
|
3021
|
+
var n = Object.prototype.toString.call(o).slice(8, -1);
|
|
3022
|
+
if (n === "Object" && o.constructor) n = o.constructor.name;
|
|
3023
|
+
if (n === "Map" || n === "Set") return Array.from(o);
|
|
3024
|
+
if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen);
|
|
3025
|
+
}
|
|
3026
|
+
|
|
3027
|
+
function _nonIterableRest() {
|
|
3028
|
+
throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
|
|
3029
|
+
}
|
|
3030
|
+
|
|
3031
|
+
function _slicedToArray(arr, i) {
|
|
3032
|
+
return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest();
|
|
3033
|
+
}
|
|
3034
|
+
|
|
3035
|
+
var e=[],t=[];function n(n,r){if(n&&"undefined"!=typeof document){var a,s=!0===r.prepend?"prepend":"append",d=!0===r.singleTag,i="string"==typeof r.container?document.querySelector(r.container):document.getElementsByTagName("head")[0];if(d){var u=e.indexOf(i);-1===u&&(u=e.push(i)-1,t[u]={}),a=t[u]&&t[u][s]?t[u][s]:t[u][s]=c();}else a=c();65279===n.charCodeAt(0)&&(n=n.substring(1)),a.styleSheet?a.styleSheet.cssText+=n:a.appendChild(document.createTextNode(n));}function c(){var e=document.createElement("style");if(e.setAttribute("type","text/css"),r.attributes)for(var t=Object.keys(r.attributes),n=0;n<t.length;n++)e.setAttribute(t[n],r.attributes[t[n]]);var a="prepend"===s?"afterbegin":"beforeend";return i.insertAdjacentElement(a,e),e}}
|
|
3036
|
+
|
|
3037
|
+
var css$1 = ".neeto-chat__metadata-card__spinner{scale:.6}";
|
|
3038
|
+
n(css$1,{});
|
|
3039
|
+
|
|
3040
|
+
var Title = function Title(_ref) {
|
|
3041
|
+
var _ref$titleProps = _ref.titleProps,
|
|
3042
|
+
titleProps = _ref$titleProps === void 0 ? {} : _ref$titleProps,
|
|
3043
|
+
title = _ref.title,
|
|
3044
|
+
isUpdating = _ref.isUpdating,
|
|
3045
|
+
setIsTagsDropdownVisible = _ref.setIsTagsDropdownVisible,
|
|
3046
|
+
showAddTagsOnTitle = _ref.showAddTagsOnTitle;
|
|
3047
|
+
var _useTranslation = useTranslation(),
|
|
3048
|
+
t = _useTranslation.t;
|
|
3049
|
+
var tagsTitle = title || t("neetoTags.common.tag", PLURAL);
|
|
3050
|
+
var _useState = useState(false),
|
|
3051
|
+
_useState2 = _slicedToArray(_useState, 2),
|
|
3052
|
+
didStartUpdate = _useState2[0],
|
|
3053
|
+
setDidStartUpdate = _useState2[1];
|
|
3054
|
+
var _useState3 = useState(false),
|
|
3055
|
+
_useState4 = _slicedToArray(_useState3, 2),
|
|
3056
|
+
isCheckIconVisible = _useState4[0],
|
|
3057
|
+
setIsCheckIconVisible = _useState4[1];
|
|
3058
|
+
useEffect(function () {
|
|
3059
|
+
if (!isUpdating) return;
|
|
3060
|
+
setDidStartUpdate(true);
|
|
3061
|
+
}, [isUpdating]);
|
|
3062
|
+
useEffect(function () {
|
|
3063
|
+
if (isUpdating || !didStartUpdate) return;
|
|
3064
|
+
setIsCheckIconVisible(true);
|
|
3065
|
+
setDidStartUpdate(false);
|
|
3066
|
+
setTimeout(function () {
|
|
3067
|
+
setIsCheckIconVisible(false);
|
|
3068
|
+
}, 5000);
|
|
3069
|
+
}, [didStartUpdate, isUpdating]);
|
|
3070
|
+
return /*#__PURE__*/React__default.createElement("div", {
|
|
3071
|
+
className: "mb-2 flex w-full items-center justify-between gap-2"
|
|
3072
|
+
}, /*#__PURE__*/React__default.createElement("div", {
|
|
3073
|
+
className: "flex items-center gap-2"
|
|
3074
|
+
}, /*#__PURE__*/React__default.createElement(Typography, _extends({
|
|
3075
|
+
className: "neeto-ui-text-gray-700",
|
|
3076
|
+
style: "h5",
|
|
3077
|
+
weight: "bold"
|
|
3078
|
+
}, titleProps), tagsTitle), /*#__PURE__*/React__default.createElement("div", {
|
|
3079
|
+
className: "inline-flex h-6 items-center"
|
|
3080
|
+
}, isUpdating && /*#__PURE__*/React__default.createElement(Spinner, {
|
|
3081
|
+
className: "neeto-chat__metadata-card__spinner"
|
|
3082
|
+
}), !isUpdating && isCheckIconVisible && /*#__PURE__*/React__default.createElement(Check, {
|
|
3083
|
+
className: "neeto-ui-text-success-500",
|
|
3084
|
+
size: 20
|
|
3085
|
+
}))), showAddTagsOnTitle && /*#__PURE__*/React__default.createElement(Button, {
|
|
3086
|
+
icon: Settings,
|
|
3087
|
+
size: "15",
|
|
3088
|
+
style: "icon",
|
|
3089
|
+
onClick: function onClick() {
|
|
3090
|
+
return setIsTagsDropdownVisible(function (addTag) {
|
|
3091
|
+
return not(addTag);
|
|
3092
|
+
});
|
|
3093
|
+
}
|
|
3094
|
+
}));
|
|
3095
|
+
};
|
|
3096
|
+
|
|
3097
|
+
/**
|
|
3098
|
+
* A component that helps to manage tags.
|
|
3099
|
+
* Renders selected tags, has dropdown to list down available tags
|
|
3100
|
+
* and allows user to remove tags from the list.
|
|
3101
|
+
*/
|
|
3102
|
+
var Tags$2 = function Tags(_ref) {
|
|
3103
|
+
var _ref$title = _ref.title,
|
|
3104
|
+
title = _ref$title === void 0 ? "" : _ref$title,
|
|
3105
|
+
allTags = _ref.allTags,
|
|
3106
|
+
selectedTags = _ref.selectedTags,
|
|
3107
|
+
onTagSelect = _ref.onTagSelect,
|
|
3108
|
+
onTagCreate = _ref.onTagCreate,
|
|
3109
|
+
onTagDelete = _ref.onTagDelete,
|
|
3110
|
+
tagProps = _ref.tagProps,
|
|
3111
|
+
selectProps = _ref.selectProps,
|
|
3112
|
+
buttonProps = _ref.buttonProps,
|
|
3113
|
+
_ref$showSuccessToast = _ref.showSuccessToastr,
|
|
3114
|
+
showSuccessToastr = _ref$showSuccessToast === void 0 ? false : _ref$showSuccessToast,
|
|
3115
|
+
titleProps = _ref.titleProps,
|
|
3116
|
+
_ref$containerProps = _ref.containerProps,
|
|
3117
|
+
containerProps = _ref$containerProps === void 0 ? {} : _ref$containerProps,
|
|
3118
|
+
_ref$isUpdating = _ref.isUpdating,
|
|
3119
|
+
isUpdating = _ref$isUpdating === void 0 ? false : _ref$isUpdating,
|
|
3120
|
+
_ref$showAddTagsOnTit = _ref.showAddTagsOnTitle,
|
|
3121
|
+
showAddTagsOnTitle = _ref$showAddTagsOnTit === void 0 ? true : _ref$showAddTagsOnTit,
|
|
3122
|
+
_ref$showTitleBar = _ref.showTitleBar,
|
|
3123
|
+
showTitleBar = _ref$showTitleBar === void 0 ? true : _ref$showTitleBar,
|
|
3124
|
+
_ref$bodyProps = _ref.bodyProps,
|
|
3125
|
+
bodyProps = _ref$bodyProps === void 0 ? {} : _ref$bodyProps;
|
|
3126
|
+
var _useTranslation = useTranslation(),
|
|
3127
|
+
t = _useTranslation.t;
|
|
3128
|
+
var _useState = useState(false),
|
|
3129
|
+
_useState2 = _slicedToArray(_useState, 2),
|
|
3130
|
+
isTagsDropdownVisible = _useState2[0],
|
|
3131
|
+
setIsTagsDropdownVisible = _useState2[1];
|
|
3132
|
+
var tags = useMemo(function () {
|
|
3133
|
+
if (!allTags) return [];
|
|
3134
|
+
if (!selectedTags) return allTags;
|
|
3135
|
+
var selectedTagValues = pluck("value", selectedTags);
|
|
3136
|
+
return allTags.filter(function (_ref2) {
|
|
3137
|
+
var value = _ref2.value;
|
|
3138
|
+
return !selectedTagValues.includes(value);
|
|
3139
|
+
});
|
|
3140
|
+
}, [allTags, selectedTags]);
|
|
3141
|
+
var handleAddExistingTag = function handleAddExistingTag(event) {
|
|
3142
|
+
setIsTagsDropdownVisible(false);
|
|
3143
|
+
onTagSelect(event);
|
|
3144
|
+
// @ts-ignore
|
|
3145
|
+
showSuccessToastr && Toastr.success("", {
|
|
3146
|
+
icon: "👍",
|
|
3147
|
+
className: "w-20"
|
|
3148
|
+
});
|
|
3149
|
+
};
|
|
3150
|
+
var handleDeleteTag = function handleDeleteTag(tag) {
|
|
3151
|
+
onTagDelete(tag);
|
|
3152
|
+
// @ts-ignore
|
|
3153
|
+
showSuccessToastr && Toastr.success("", {
|
|
3154
|
+
icon: "👍",
|
|
3155
|
+
className: "w-20"
|
|
3156
|
+
});
|
|
3157
|
+
};
|
|
3158
|
+
var isAddTagsButtonVisible = !showAddTagsOnTitle && !isTagsDropdownVisible;
|
|
3159
|
+
var isTagsBodyVisible = isNotEmpty(selectedTags) || isTagsDropdownVisible || isAddTagsButtonVisible;
|
|
3160
|
+
return /*#__PURE__*/React__default.createElement("div", _extends({
|
|
3161
|
+
className: "neeto-ui-tags-wrapper flex w-full flex-col items-start"
|
|
3162
|
+
}, containerProps), showTitleBar && /*#__PURE__*/React__default.createElement(Title, {
|
|
3163
|
+
isUpdating: isUpdating,
|
|
3164
|
+
setIsTagsDropdownVisible: setIsTagsDropdownVisible,
|
|
3165
|
+
showAddTagsOnTitle: showAddTagsOnTitle,
|
|
3166
|
+
title: title,
|
|
3167
|
+
titleProps: titleProps
|
|
3168
|
+
}), isTagsBodyVisible && /*#__PURE__*/React__default.createElement("div", _extends({
|
|
3169
|
+
className: "neeto-ui-bg-white neeto-ui-border-gray-300 neeto-ui-rounded-lg w-full border p-4"
|
|
3170
|
+
}, bodyProps), isNotEmpty(selectedTags) && /*#__PURE__*/React__default.createElement("div", {
|
|
3171
|
+
className: "neeto-ui-flex neeto-ui-flex-row neeto-ui-flex-wrap neeto-ui-items-start neeto-ui-justify-start gap-2 break-all"
|
|
3172
|
+
}, selectedTags === null || selectedTags === void 0 ? void 0 : selectedTags.map(function (tag, index) {
|
|
3173
|
+
return /*#__PURE__*/React__default.createElement(Tag, _extends({
|
|
3174
|
+
key: "".concat(index, "-").concat(tag.label),
|
|
3175
|
+
label: tag.label,
|
|
3176
|
+
style: "primary",
|
|
3177
|
+
onClose: function onClose() {
|
|
3178
|
+
return handleDeleteTag(tag);
|
|
3179
|
+
}
|
|
3180
|
+
}, tagProps));
|
|
3181
|
+
})), isTagsDropdownVisible && /*#__PURE__*/React__default.createElement(Select, _extends({
|
|
3182
|
+
autoFocus: true,
|
|
3183
|
+
isCreateable: true,
|
|
3184
|
+
className: "neeto-ui-mt-4",
|
|
3185
|
+
maxLength: 50,
|
|
3186
|
+
options: tags,
|
|
3187
|
+
placeholder: t("neetoTags.placeholder.selectOrCreateTag"),
|
|
3188
|
+
onChange: function onChange(event) {
|
|
3189
|
+
return handleAddExistingTag(event);
|
|
3190
|
+
},
|
|
3191
|
+
onCreateOption: function onCreateOption(event) {
|
|
3192
|
+
setIsTagsDropdownVisible(false);
|
|
3193
|
+
onTagCreate(event);
|
|
3194
|
+
}
|
|
3195
|
+
}, selectProps)), isAddTagsButtonVisible && /*#__PURE__*/React__default.createElement(Button, _extends({
|
|
3196
|
+
icon: Plus,
|
|
3197
|
+
label: t("neetoTags.button.addTag", SINGULAR),
|
|
3198
|
+
size: "small",
|
|
3199
|
+
style: "link",
|
|
3200
|
+
onClick: function onClick() {
|
|
3201
|
+
return setIsTagsDropdownVisible(true);
|
|
3202
|
+
}
|
|
3203
|
+
}, buttonProps))));
|
|
3204
|
+
};
|
|
3205
|
+
|
|
3206
|
+
var queryClient = new QueryClient({
|
|
3207
|
+
queryCache: new QueryCache({
|
|
3208
|
+
onError: function onError(error) {
|
|
3209
|
+
return Toastr.error(error);
|
|
3210
|
+
}
|
|
3211
|
+
})
|
|
3212
|
+
});
|
|
3213
|
+
|
|
3214
|
+
var TAG_KEY = "tag-key";
|
|
3215
|
+
var refetchTags = function refetchTags() {
|
|
3216
|
+
return queryClient.invalidateQueries([TAG_KEY]);
|
|
3217
|
+
};
|
|
3218
|
+
|
|
3219
|
+
({
|
|
3220
|
+
"data-cy": "add-new-tag-button",
|
|
3221
|
+
label: t$1("neetoTags.common.addNewTag", SINGULAR)
|
|
3222
|
+
});
|
|
3223
|
+
var TAG_NAME_MAX_LENGTH = 50;
|
|
3224
|
+
var TAG_DESCRIPTION_MAX_LENGTH = 255;
|
|
3225
|
+
yup.object().shape({
|
|
3226
|
+
name: yup.string().typeError(t$1("neetoTags.validation.nameMustBeString")).required(t$1("neetoTags.validation.nameRequired")).max(TAG_NAME_MAX_LENGTH, t$1("neetoTags.validation.nameMaxLength", {
|
|
3227
|
+
length: TAG_NAME_MAX_LENGTH
|
|
3228
|
+
})),
|
|
3229
|
+
description: yup.string().typeError(t$1("neetoTags.validation.descriptionMustBeString")).nullable().max(TAG_DESCRIPTION_MAX_LENGTH, t$1("neetoTags.validation.descriptionMaxLength", {
|
|
3230
|
+
length: TAG_DESCRIPTION_MAX_LENGTH
|
|
3231
|
+
}))
|
|
3232
|
+
});
|
|
3233
|
+
|
|
3234
|
+
Dropdown.Menu;
|
|
3235
|
+
Dropdown.MenuItem;
|
|
3236
|
+
|
|
3237
|
+
({
|
|
3238
|
+
"data-cy": "neeto-tags-go-back-button",
|
|
3239
|
+
size: "small",
|
|
3240
|
+
label: t$1("neetoTags.button.goBack")
|
|
3241
|
+
});
|
|
3242
|
+
|
|
3243
|
+
var commonjsGlobal = typeof globalThis !== 'undefined' ? globalThis : typeof window !== 'undefined' ? window : typeof global !== 'undefined' ? global : typeof self !== 'undefined' ? self : {};
|
|
3244
|
+
|
|
3245
|
+
function getDefaultExportFromCjs (x) {
|
|
3246
|
+
return x && x.__esModule && Object.prototype.hasOwnProperty.call(x, 'default') ? x['default'] : x;
|
|
3247
|
+
}
|
|
3248
|
+
|
|
3249
|
+
function commonjsRequire(path) {
|
|
3250
|
+
throw new Error('Could not dynamically require "' + path + '". Please configure the dynamicRequireTargets or/and ignoreDynamicRequires option of @rollup/plugin-commonjs appropriately for this require call to work.');
|
|
3251
|
+
}
|
|
3252
|
+
|
|
3253
|
+
var pluralize$1 = {exports: {}};
|
|
3254
|
+
|
|
3255
|
+
/* global define */
|
|
3256
|
+
pluralize$1.exports;
|
|
3257
|
+
|
|
3258
|
+
(function (module, exports) {
|
|
3259
|
+
(function (root, pluralize) {
|
|
3260
|
+
/* istanbul ignore else */
|
|
3261
|
+
if (typeof commonjsRequire === 'function' && 'object' === 'object' && 'object' === 'object') {
|
|
3262
|
+
// Node.
|
|
3263
|
+
module.exports = pluralize();
|
|
3264
|
+
} else {
|
|
3265
|
+
// Browser global.
|
|
3266
|
+
root.pluralize = pluralize();
|
|
3267
|
+
}
|
|
3268
|
+
})(commonjsGlobal, function () {
|
|
3269
|
+
// Rule storage - pluralize and singularize need to be run sequentially,
|
|
3270
|
+
// while other rules can be optimized using an object for instant lookups.
|
|
3271
|
+
var pluralRules = [];
|
|
3272
|
+
var singularRules = [];
|
|
3273
|
+
var uncountables = {};
|
|
3274
|
+
var irregularPlurals = {};
|
|
3275
|
+
var irregularSingles = {};
|
|
3276
|
+
|
|
3277
|
+
/**
|
|
3278
|
+
* Sanitize a pluralization rule to a usable regular expression.
|
|
3279
|
+
*
|
|
3280
|
+
* @param {(RegExp|string)} rule
|
|
3281
|
+
* @return {RegExp}
|
|
3282
|
+
*/
|
|
3283
|
+
function sanitizeRule (rule) {
|
|
3284
|
+
if (typeof rule === 'string') {
|
|
3285
|
+
return new RegExp('^' + rule + '$', 'i');
|
|
3286
|
+
}
|
|
3287
|
+
|
|
3288
|
+
return rule;
|
|
3289
|
+
}
|
|
3290
|
+
|
|
3291
|
+
/**
|
|
3292
|
+
* Pass in a word token to produce a function that can replicate the case on
|
|
3293
|
+
* another word.
|
|
3294
|
+
*
|
|
3295
|
+
* @param {string} word
|
|
3296
|
+
* @param {string} token
|
|
3297
|
+
* @return {Function}
|
|
3298
|
+
*/
|
|
3299
|
+
function restoreCase (word, token) {
|
|
3300
|
+
// Tokens are an exact match.
|
|
3301
|
+
if (word === token) return token;
|
|
3302
|
+
|
|
3303
|
+
// Lower cased words. E.g. "hello".
|
|
3304
|
+
if (word === word.toLowerCase()) return token.toLowerCase();
|
|
3305
|
+
|
|
3306
|
+
// Upper cased words. E.g. "WHISKY".
|
|
3307
|
+
if (word === word.toUpperCase()) return token.toUpperCase();
|
|
3308
|
+
|
|
3309
|
+
// Title cased words. E.g. "Title".
|
|
3310
|
+
if (word[0] === word[0].toUpperCase()) {
|
|
3311
|
+
return token.charAt(0).toUpperCase() + token.substr(1).toLowerCase();
|
|
3312
|
+
}
|
|
3313
|
+
|
|
3314
|
+
// Lower cased words. E.g. "test".
|
|
3315
|
+
return token.toLowerCase();
|
|
3316
|
+
}
|
|
3317
|
+
|
|
3318
|
+
/**
|
|
3319
|
+
* Interpolate a regexp string.
|
|
3320
|
+
*
|
|
3321
|
+
* @param {string} str
|
|
3322
|
+
* @param {Array} args
|
|
3323
|
+
* @return {string}
|
|
3324
|
+
*/
|
|
3325
|
+
function interpolate (str, args) {
|
|
3326
|
+
return str.replace(/\$(\d{1,2})/g, function (match, index) {
|
|
3327
|
+
return args[index] || '';
|
|
3328
|
+
});
|
|
3329
|
+
}
|
|
3330
|
+
|
|
3331
|
+
/**
|
|
3332
|
+
* Replace a word using a rule.
|
|
3333
|
+
*
|
|
3334
|
+
* @param {string} word
|
|
3335
|
+
* @param {Array} rule
|
|
3336
|
+
* @return {string}
|
|
3337
|
+
*/
|
|
3338
|
+
function replace (word, rule) {
|
|
3339
|
+
return word.replace(rule[0], function (match, index) {
|
|
3340
|
+
var result = interpolate(rule[1], arguments);
|
|
3341
|
+
|
|
3342
|
+
if (match === '') {
|
|
3343
|
+
return restoreCase(word[index - 1], result);
|
|
3344
|
+
}
|
|
3345
|
+
|
|
3346
|
+
return restoreCase(match, result);
|
|
3347
|
+
});
|
|
3348
|
+
}
|
|
3349
|
+
|
|
3350
|
+
/**
|
|
3351
|
+
* Sanitize a word by passing in the word and sanitization rules.
|
|
3352
|
+
*
|
|
3353
|
+
* @param {string} token
|
|
3354
|
+
* @param {string} word
|
|
3355
|
+
* @param {Array} rules
|
|
3356
|
+
* @return {string}
|
|
3357
|
+
*/
|
|
3358
|
+
function sanitizeWord (token, word, rules) {
|
|
3359
|
+
// Empty string or doesn't need fixing.
|
|
3360
|
+
if (!token.length || uncountables.hasOwnProperty(token)) {
|
|
3361
|
+
return word;
|
|
3362
|
+
}
|
|
3363
|
+
|
|
3364
|
+
var len = rules.length;
|
|
3365
|
+
|
|
3366
|
+
// Iterate over the sanitization rules and use the first one to match.
|
|
3367
|
+
while (len--) {
|
|
3368
|
+
var rule = rules[len];
|
|
3369
|
+
|
|
3370
|
+
if (rule[0].test(word)) return replace(word, rule);
|
|
3371
|
+
}
|
|
3372
|
+
|
|
3373
|
+
return word;
|
|
3374
|
+
}
|
|
3375
|
+
|
|
3376
|
+
/**
|
|
3377
|
+
* Replace a word with the updated word.
|
|
3378
|
+
*
|
|
3379
|
+
* @param {Object} replaceMap
|
|
3380
|
+
* @param {Object} keepMap
|
|
3381
|
+
* @param {Array} rules
|
|
3382
|
+
* @return {Function}
|
|
3383
|
+
*/
|
|
3384
|
+
function replaceWord (replaceMap, keepMap, rules) {
|
|
3385
|
+
return function (word) {
|
|
3386
|
+
// Get the correct token and case restoration functions.
|
|
3387
|
+
var token = word.toLowerCase();
|
|
3388
|
+
|
|
3389
|
+
// Check against the keep object map.
|
|
3390
|
+
if (keepMap.hasOwnProperty(token)) {
|
|
3391
|
+
return restoreCase(word, token);
|
|
3392
|
+
}
|
|
3393
|
+
|
|
3394
|
+
// Check against the replacement map for a direct word replacement.
|
|
3395
|
+
if (replaceMap.hasOwnProperty(token)) {
|
|
3396
|
+
return restoreCase(word, replaceMap[token]);
|
|
3397
|
+
}
|
|
3398
|
+
|
|
3399
|
+
// Run all the rules against the word.
|
|
3400
|
+
return sanitizeWord(token, word, rules);
|
|
3401
|
+
};
|
|
3402
|
+
}
|
|
3403
|
+
|
|
3404
|
+
/**
|
|
3405
|
+
* Check if a word is part of the map.
|
|
3406
|
+
*/
|
|
3407
|
+
function checkWord (replaceMap, keepMap, rules, bool) {
|
|
3408
|
+
return function (word) {
|
|
3409
|
+
var token = word.toLowerCase();
|
|
3410
|
+
|
|
3411
|
+
if (keepMap.hasOwnProperty(token)) return true;
|
|
3412
|
+
if (replaceMap.hasOwnProperty(token)) return false;
|
|
3413
|
+
|
|
3414
|
+
return sanitizeWord(token, token, rules) === token;
|
|
3415
|
+
};
|
|
3416
|
+
}
|
|
3417
|
+
|
|
3418
|
+
/**
|
|
3419
|
+
* Pluralize or singularize a word based on the passed in count.
|
|
3420
|
+
*
|
|
3421
|
+
* @param {string} word The word to pluralize
|
|
3422
|
+
* @param {number} count How many of the word exist
|
|
3423
|
+
* @param {boolean} inclusive Whether to prefix with the number (e.g. 3 ducks)
|
|
3424
|
+
* @return {string}
|
|
3425
|
+
*/
|
|
3426
|
+
function pluralize (word, count, inclusive) {
|
|
3427
|
+
var pluralized = count === 1
|
|
3428
|
+
? pluralize.singular(word) : pluralize.plural(word);
|
|
3429
|
+
|
|
3430
|
+
return (inclusive ? count + ' ' : '') + pluralized;
|
|
3431
|
+
}
|
|
3432
|
+
|
|
3433
|
+
/**
|
|
3434
|
+
* Pluralize a word.
|
|
3435
|
+
*
|
|
3436
|
+
* @type {Function}
|
|
3437
|
+
*/
|
|
3438
|
+
pluralize.plural = replaceWord(
|
|
3439
|
+
irregularSingles, irregularPlurals, pluralRules
|
|
3440
|
+
);
|
|
3441
|
+
|
|
3442
|
+
/**
|
|
3443
|
+
* Check if a word is plural.
|
|
3444
|
+
*
|
|
3445
|
+
* @type {Function}
|
|
3446
|
+
*/
|
|
3447
|
+
pluralize.isPlural = checkWord(
|
|
3448
|
+
irregularSingles, irregularPlurals, pluralRules
|
|
3449
|
+
);
|
|
3450
|
+
|
|
3451
|
+
/**
|
|
3452
|
+
* Singularize a word.
|
|
3453
|
+
*
|
|
3454
|
+
* @type {Function}
|
|
3455
|
+
*/
|
|
3456
|
+
pluralize.singular = replaceWord(
|
|
3457
|
+
irregularPlurals, irregularSingles, singularRules
|
|
3458
|
+
);
|
|
3459
|
+
|
|
3460
|
+
/**
|
|
3461
|
+
* Check if a word is singular.
|
|
3462
|
+
*
|
|
3463
|
+
* @type {Function}
|
|
3464
|
+
*/
|
|
3465
|
+
pluralize.isSingular = checkWord(
|
|
3466
|
+
irregularPlurals, irregularSingles, singularRules
|
|
3467
|
+
);
|
|
3468
|
+
|
|
3469
|
+
/**
|
|
3470
|
+
* Add a pluralization rule to the collection.
|
|
3471
|
+
*
|
|
3472
|
+
* @param {(string|RegExp)} rule
|
|
3473
|
+
* @param {string} replacement
|
|
3474
|
+
*/
|
|
3475
|
+
pluralize.addPluralRule = function (rule, replacement) {
|
|
3476
|
+
pluralRules.push([sanitizeRule(rule), replacement]);
|
|
3477
|
+
};
|
|
3478
|
+
|
|
3479
|
+
/**
|
|
3480
|
+
* Add a singularization rule to the collection.
|
|
3481
|
+
*
|
|
3482
|
+
* @param {(string|RegExp)} rule
|
|
3483
|
+
* @param {string} replacement
|
|
3484
|
+
*/
|
|
3485
|
+
pluralize.addSingularRule = function (rule, replacement) {
|
|
3486
|
+
singularRules.push([sanitizeRule(rule), replacement]);
|
|
3487
|
+
};
|
|
3488
|
+
|
|
3489
|
+
/**
|
|
3490
|
+
* Add an uncountable word rule.
|
|
3491
|
+
*
|
|
3492
|
+
* @param {(string|RegExp)} word
|
|
3493
|
+
*/
|
|
3494
|
+
pluralize.addUncountableRule = function (word) {
|
|
3495
|
+
if (typeof word === 'string') {
|
|
3496
|
+
uncountables[word.toLowerCase()] = true;
|
|
3497
|
+
return;
|
|
3498
|
+
}
|
|
3499
|
+
|
|
3500
|
+
// Set singular and plural references for the word.
|
|
3501
|
+
pluralize.addPluralRule(word, '$0');
|
|
3502
|
+
pluralize.addSingularRule(word, '$0');
|
|
3503
|
+
};
|
|
3504
|
+
|
|
3505
|
+
/**
|
|
3506
|
+
* Add an irregular word definition.
|
|
3507
|
+
*
|
|
3508
|
+
* @param {string} single
|
|
3509
|
+
* @param {string} plural
|
|
3510
|
+
*/
|
|
3511
|
+
pluralize.addIrregularRule = function (single, plural) {
|
|
3512
|
+
plural = plural.toLowerCase();
|
|
3513
|
+
single = single.toLowerCase();
|
|
3514
|
+
|
|
3515
|
+
irregularSingles[single] = plural;
|
|
3516
|
+
irregularPlurals[plural] = single;
|
|
3517
|
+
};
|
|
3518
|
+
|
|
3519
|
+
/**
|
|
3520
|
+
* Irregular rules.
|
|
3521
|
+
*/
|
|
3522
|
+
[
|
|
3523
|
+
// Pronouns.
|
|
3524
|
+
['I', 'we'],
|
|
3525
|
+
['me', 'us'],
|
|
3526
|
+
['he', 'they'],
|
|
3527
|
+
['she', 'they'],
|
|
3528
|
+
['them', 'them'],
|
|
3529
|
+
['myself', 'ourselves'],
|
|
3530
|
+
['yourself', 'yourselves'],
|
|
3531
|
+
['itself', 'themselves'],
|
|
3532
|
+
['herself', 'themselves'],
|
|
3533
|
+
['himself', 'themselves'],
|
|
3534
|
+
['themself', 'themselves'],
|
|
3535
|
+
['is', 'are'],
|
|
3536
|
+
['was', 'were'],
|
|
3537
|
+
['has', 'have'],
|
|
3538
|
+
['this', 'these'],
|
|
3539
|
+
['that', 'those'],
|
|
3540
|
+
// Words ending in with a consonant and `o`.
|
|
3541
|
+
['echo', 'echoes'],
|
|
3542
|
+
['dingo', 'dingoes'],
|
|
3543
|
+
['volcano', 'volcanoes'],
|
|
3544
|
+
['tornado', 'tornadoes'],
|
|
3545
|
+
['torpedo', 'torpedoes'],
|
|
3546
|
+
// Ends with `us`.
|
|
3547
|
+
['genus', 'genera'],
|
|
3548
|
+
['viscus', 'viscera'],
|
|
3549
|
+
// Ends with `ma`.
|
|
3550
|
+
['stigma', 'stigmata'],
|
|
3551
|
+
['stoma', 'stomata'],
|
|
3552
|
+
['dogma', 'dogmata'],
|
|
3553
|
+
['lemma', 'lemmata'],
|
|
3554
|
+
['schema', 'schemata'],
|
|
3555
|
+
['anathema', 'anathemata'],
|
|
3556
|
+
// Other irregular rules.
|
|
3557
|
+
['ox', 'oxen'],
|
|
3558
|
+
['axe', 'axes'],
|
|
3559
|
+
['die', 'dice'],
|
|
3560
|
+
['yes', 'yeses'],
|
|
3561
|
+
['foot', 'feet'],
|
|
3562
|
+
['eave', 'eaves'],
|
|
3563
|
+
['goose', 'geese'],
|
|
3564
|
+
['tooth', 'teeth'],
|
|
3565
|
+
['quiz', 'quizzes'],
|
|
3566
|
+
['human', 'humans'],
|
|
3567
|
+
['proof', 'proofs'],
|
|
3568
|
+
['carve', 'carves'],
|
|
3569
|
+
['valve', 'valves'],
|
|
3570
|
+
['looey', 'looies'],
|
|
3571
|
+
['thief', 'thieves'],
|
|
3572
|
+
['groove', 'grooves'],
|
|
3573
|
+
['pickaxe', 'pickaxes'],
|
|
3574
|
+
['passerby', 'passersby']
|
|
3575
|
+
].forEach(function (rule) {
|
|
3576
|
+
return pluralize.addIrregularRule(rule[0], rule[1]);
|
|
3577
|
+
});
|
|
3578
|
+
|
|
3579
|
+
/**
|
|
3580
|
+
* Pluralization rules.
|
|
3581
|
+
*/
|
|
3582
|
+
[
|
|
3583
|
+
[/s?$/i, 's'],
|
|
3584
|
+
[/[^\u0000-\u007F]$/i, '$0'],
|
|
3585
|
+
[/([^aeiou]ese)$/i, '$1'],
|
|
3586
|
+
[/(ax|test)is$/i, '$1es'],
|
|
3587
|
+
[/(alias|[^aou]us|t[lm]as|gas|ris)$/i, '$1es'],
|
|
3588
|
+
[/(e[mn]u)s?$/i, '$1s'],
|
|
3589
|
+
[/([^l]ias|[aeiou]las|[ejzr]as|[iu]am)$/i, '$1'],
|
|
3590
|
+
[/(alumn|syllab|vir|radi|nucle|fung|cact|stimul|termin|bacill|foc|uter|loc|strat)(?:us|i)$/i, '$1i'],
|
|
3591
|
+
[/(alumn|alg|vertebr)(?:a|ae)$/i, '$1ae'],
|
|
3592
|
+
[/(seraph|cherub)(?:im)?$/i, '$1im'],
|
|
3593
|
+
[/(her|at|gr)o$/i, '$1oes'],
|
|
3594
|
+
[/(agend|addend|millenni|dat|extrem|bacteri|desiderat|strat|candelabr|errat|ov|symposi|curricul|automat|quor)(?:a|um)$/i, '$1a'],
|
|
3595
|
+
[/(apheli|hyperbat|periheli|asyndet|noumen|phenomen|criteri|organ|prolegomen|hedr|automat)(?:a|on)$/i, '$1a'],
|
|
3596
|
+
[/sis$/i, 'ses'],
|
|
3597
|
+
[/(?:(kni|wi|li)fe|(ar|l|ea|eo|oa|hoo)f)$/i, '$1$2ves'],
|
|
3598
|
+
[/([^aeiouy]|qu)y$/i, '$1ies'],
|
|
3599
|
+
[/([^ch][ieo][ln])ey$/i, '$1ies'],
|
|
3600
|
+
[/(x|ch|ss|sh|zz)$/i, '$1es'],
|
|
3601
|
+
[/(matr|cod|mur|sil|vert|ind|append)(?:ix|ex)$/i, '$1ices'],
|
|
3602
|
+
[/\b((?:tit)?m|l)(?:ice|ouse)$/i, '$1ice'],
|
|
3603
|
+
[/(pe)(?:rson|ople)$/i, '$1ople'],
|
|
3604
|
+
[/(child)(?:ren)?$/i, '$1ren'],
|
|
3605
|
+
[/eaux$/i, '$0'],
|
|
3606
|
+
[/m[ae]n$/i, 'men'],
|
|
3607
|
+
['thou', 'you']
|
|
3608
|
+
].forEach(function (rule) {
|
|
3609
|
+
return pluralize.addPluralRule(rule[0], rule[1]);
|
|
3610
|
+
});
|
|
3611
|
+
|
|
3612
|
+
/**
|
|
3613
|
+
* Singularization rules.
|
|
3614
|
+
*/
|
|
3615
|
+
[
|
|
3616
|
+
[/s$/i, ''],
|
|
3617
|
+
[/(ss)$/i, '$1'],
|
|
3618
|
+
[/(wi|kni|(?:after|half|high|low|mid|non|night|[^\w]|^)li)ves$/i, '$1fe'],
|
|
3619
|
+
[/(ar|(?:wo|[ae])l|[eo][ao])ves$/i, '$1f'],
|
|
3620
|
+
[/ies$/i, 'y'],
|
|
3621
|
+
[/\b([pl]|zomb|(?:neck|cross)?t|coll|faer|food|gen|goon|group|lass|talk|goal|cut)ies$/i, '$1ie'],
|
|
3622
|
+
[/\b(mon|smil)ies$/i, '$1ey'],
|
|
3623
|
+
[/\b((?:tit)?m|l)ice$/i, '$1ouse'],
|
|
3624
|
+
[/(seraph|cherub)im$/i, '$1'],
|
|
3625
|
+
[/(x|ch|ss|sh|zz|tto|go|cho|alias|[^aou]us|t[lm]as|gas|(?:her|at|gr)o|[aeiou]ris)(?:es)?$/i, '$1'],
|
|
3626
|
+
[/(analy|diagno|parenthe|progno|synop|the|empha|cri|ne)(?:sis|ses)$/i, '$1sis'],
|
|
3627
|
+
[/(movie|twelve|abuse|e[mn]u)s$/i, '$1'],
|
|
3628
|
+
[/(test)(?:is|es)$/i, '$1is'],
|
|
3629
|
+
[/(alumn|syllab|vir|radi|nucle|fung|cact|stimul|termin|bacill|foc|uter|loc|strat)(?:us|i)$/i, '$1us'],
|
|
3630
|
+
[/(agend|addend|millenni|dat|extrem|bacteri|desiderat|strat|candelabr|errat|ov|symposi|curricul|quor)a$/i, '$1um'],
|
|
3631
|
+
[/(apheli|hyperbat|periheli|asyndet|noumen|phenomen|criteri|organ|prolegomen|hedr|automat)a$/i, '$1on'],
|
|
3632
|
+
[/(alumn|alg|vertebr)ae$/i, '$1a'],
|
|
3633
|
+
[/(cod|mur|sil|vert|ind)ices$/i, '$1ex'],
|
|
3634
|
+
[/(matr|append)ices$/i, '$1ix'],
|
|
3635
|
+
[/(pe)(rson|ople)$/i, '$1rson'],
|
|
3636
|
+
[/(child)ren$/i, '$1'],
|
|
3637
|
+
[/(eau)x?$/i, '$1'],
|
|
3638
|
+
[/men$/i, 'man']
|
|
3639
|
+
].forEach(function (rule) {
|
|
3640
|
+
return pluralize.addSingularRule(rule[0], rule[1]);
|
|
3641
|
+
});
|
|
3642
|
+
|
|
3643
|
+
/**
|
|
3644
|
+
* Uncountable rules.
|
|
3645
|
+
*/
|
|
3646
|
+
[
|
|
3647
|
+
// Singular words with no plurals.
|
|
3648
|
+
'adulthood',
|
|
3649
|
+
'advice',
|
|
3650
|
+
'agenda',
|
|
3651
|
+
'aid',
|
|
3652
|
+
'aircraft',
|
|
3653
|
+
'alcohol',
|
|
3654
|
+
'ammo',
|
|
3655
|
+
'analytics',
|
|
3656
|
+
'anime',
|
|
3657
|
+
'athletics',
|
|
3658
|
+
'audio',
|
|
3659
|
+
'bison',
|
|
3660
|
+
'blood',
|
|
3661
|
+
'bream',
|
|
3662
|
+
'buffalo',
|
|
3663
|
+
'butter',
|
|
3664
|
+
'carp',
|
|
3665
|
+
'cash',
|
|
3666
|
+
'chassis',
|
|
3667
|
+
'chess',
|
|
3668
|
+
'clothing',
|
|
3669
|
+
'cod',
|
|
3670
|
+
'commerce',
|
|
3671
|
+
'cooperation',
|
|
3672
|
+
'corps',
|
|
3673
|
+
'debris',
|
|
3674
|
+
'diabetes',
|
|
3675
|
+
'digestion',
|
|
3676
|
+
'elk',
|
|
3677
|
+
'energy',
|
|
3678
|
+
'equipment',
|
|
3679
|
+
'excretion',
|
|
3680
|
+
'expertise',
|
|
3681
|
+
'firmware',
|
|
3682
|
+
'flounder',
|
|
3683
|
+
'fun',
|
|
3684
|
+
'gallows',
|
|
3685
|
+
'garbage',
|
|
3686
|
+
'graffiti',
|
|
3687
|
+
'hardware',
|
|
3688
|
+
'headquarters',
|
|
3689
|
+
'health',
|
|
3690
|
+
'herpes',
|
|
3691
|
+
'highjinks',
|
|
3692
|
+
'homework',
|
|
3693
|
+
'housework',
|
|
3694
|
+
'information',
|
|
3695
|
+
'jeans',
|
|
3696
|
+
'justice',
|
|
3697
|
+
'kudos',
|
|
3698
|
+
'labour',
|
|
3699
|
+
'literature',
|
|
3700
|
+
'machinery',
|
|
3701
|
+
'mackerel',
|
|
3702
|
+
'mail',
|
|
3703
|
+
'media',
|
|
3704
|
+
'mews',
|
|
3705
|
+
'moose',
|
|
3706
|
+
'music',
|
|
3707
|
+
'mud',
|
|
3708
|
+
'manga',
|
|
3709
|
+
'news',
|
|
3710
|
+
'only',
|
|
3711
|
+
'personnel',
|
|
3712
|
+
'pike',
|
|
3713
|
+
'plankton',
|
|
3714
|
+
'pliers',
|
|
3715
|
+
'police',
|
|
3716
|
+
'pollution',
|
|
3717
|
+
'premises',
|
|
3718
|
+
'rain',
|
|
3719
|
+
'research',
|
|
3720
|
+
'rice',
|
|
3721
|
+
'salmon',
|
|
3722
|
+
'scissors',
|
|
3723
|
+
'series',
|
|
3724
|
+
'sewage',
|
|
3725
|
+
'shambles',
|
|
3726
|
+
'shrimp',
|
|
3727
|
+
'software',
|
|
3728
|
+
'species',
|
|
3729
|
+
'staff',
|
|
3730
|
+
'swine',
|
|
3731
|
+
'tennis',
|
|
3732
|
+
'traffic',
|
|
3733
|
+
'transportation',
|
|
3734
|
+
'trout',
|
|
3735
|
+
'tuna',
|
|
3736
|
+
'wealth',
|
|
3737
|
+
'welfare',
|
|
3738
|
+
'whiting',
|
|
3739
|
+
'wildebeest',
|
|
3740
|
+
'wildlife',
|
|
3741
|
+
'you',
|
|
3742
|
+
/pok[eé]mon$/i,
|
|
3743
|
+
// Regexes.
|
|
3744
|
+
/[^aeiou]ese$/i, // "chinese", "japanese"
|
|
3745
|
+
/deer$/i, // "deer", "reindeer"
|
|
3746
|
+
/fish$/i, // "fish", "blowfish", "angelfish"
|
|
3747
|
+
/measles$/i,
|
|
3748
|
+
/o[iu]s$/i, // "carnivorous"
|
|
3749
|
+
/pox$/i, // "chickpox", "smallpox"
|
|
3750
|
+
/sheep$/i
|
|
3751
|
+
].forEach(pluralize.addUncountableRule);
|
|
3752
|
+
|
|
3753
|
+
return pluralize;
|
|
3754
|
+
});
|
|
3755
|
+
} (pluralize$1, pluralize$1.exports));
|
|
3756
|
+
|
|
3757
|
+
var pluralizeExports = pluralize$1.exports;
|
|
3758
|
+
var pluralize = /*@__PURE__*/getDefaultExportFromCjs(pluralizeExports);
|
|
3759
|
+
|
|
3760
|
+
withT(function (_ref) {
|
|
3761
|
+
var t = _ref.t,
|
|
3762
|
+
_ref$destinationTags = _ref.destinationTags,
|
|
3763
|
+
destinationTags = _ref$destinationTags === void 0 ? [] : _ref$destinationTags,
|
|
3764
|
+
handleSubmit = _ref.handleSubmit,
|
|
3765
|
+
_ref$isSubmitting = _ref.isSubmitting,
|
|
3766
|
+
isSubmitting = _ref$isSubmitting === void 0 ? false : _ref$isSubmitting,
|
|
3767
|
+
setShowModal = _ref.setShowModal,
|
|
3768
|
+
_ref$showModal = _ref.showModal,
|
|
3769
|
+
showModal = _ref$showModal === void 0 ? false : _ref$showModal,
|
|
3770
|
+
_ref$sourceTags = _ref.sourceTags,
|
|
3771
|
+
sourceTags = _ref$sourceTags === void 0 ? [] : _ref$sourceTags,
|
|
3772
|
+
_ref$tagType = _ref.tagType,
|
|
3773
|
+
tagType = _ref$tagType === void 0 ? "" : _ref$tagType;
|
|
3774
|
+
return /*#__PURE__*/React__default.createElement(Modal, {
|
|
3775
|
+
isOpen: showModal,
|
|
3776
|
+
onClose: function onClose() {
|
|
3777
|
+
return setShowModal(false);
|
|
3778
|
+
}
|
|
3779
|
+
}, /*#__PURE__*/React__default.createElement(Modal.Header, null, /*#__PURE__*/React__default.createElement(Typography, {
|
|
3780
|
+
id: "dialog1Title",
|
|
3781
|
+
style: "h2"
|
|
3782
|
+
}, t("neetoTags.common.mergeTag", PLURAL))), /*#__PURE__*/React__default.createElement(Modal.Body, null, /*#__PURE__*/React__default.createElement(Typography, {
|
|
3783
|
+
lineHeight: "normal",
|
|
3784
|
+
style: "body2"
|
|
3785
|
+
}, /*#__PURE__*/React__default.createElement(Trans, {
|
|
3786
|
+
i18nKey: "neetoTags.helper.mergeTagsMessage",
|
|
3787
|
+
values: {
|
|
3788
|
+
count: sourceTags.length,
|
|
3789
|
+
sourceTags: pluck("name", sourceTags),
|
|
3790
|
+
destinationTag: pluck("name", destinationTags),
|
|
3791
|
+
entities: pluralize(tagType.label.toLowerCase())
|
|
3792
|
+
}
|
|
3793
|
+
}))), /*#__PURE__*/React__default.createElement(Modal.Footer, {
|
|
3794
|
+
className: "space-x-2"
|
|
3795
|
+
}, /*#__PURE__*/React__default.createElement(Button, {
|
|
3796
|
+
"data-cy": "neeto-tags-merge-proceed-button",
|
|
3797
|
+
disabled: isSubmitting,
|
|
3798
|
+
label: t("neetoTags.button.proceed"),
|
|
3799
|
+
loading: isSubmitting,
|
|
3800
|
+
onClick: handleSubmit
|
|
3801
|
+
}), /*#__PURE__*/React__default.createElement(Button, {
|
|
3802
|
+
"data-cy": "neeto-tags-merge-cancel-button",
|
|
3803
|
+
label: t("neetoTags.button.cancel"),
|
|
3804
|
+
style: "text",
|
|
3805
|
+
onClick: function onClick() {
|
|
3806
|
+
return setShowModal(false);
|
|
3807
|
+
}
|
|
3808
|
+
})));
|
|
3809
|
+
});
|
|
3810
|
+
|
|
3811
|
+
var css = ".neeto-tags-border{border-width:thin}.ntm-empty-state{height:100%;margin:auto;width:100%}.ntm-empty-state,.ntm-empty-state__image{align-items:center;display:flex;justify-content:center}.ntm-empty-state__image{margin-left:0 auto 4rem auto}.ntm-empty-state__title{font-size:1.25rem;line-height:1.75rem;margin-bottom:1rem;text-align:center}.ntm-empty-state__description{margin-bottom:1.5rem;text-align:center}.ntm-empty-state__action-block{display:flex;justify-content:center}.neeto-tags-table__wrapper{height:calc(100vh - var(--neeto-molecules-main-header-with-breadcrumbs-height) - var(--neeto-molecules-sub-header-height) - var(--neeto-molecules-sub-header-bottom-margin));padding:0 24px;width:100%}.neeto-tags-table__column{align-items:center;display:flex;gap:.5rem;justify-content:space-between}.neeto-tags-merge__wrapper{height:calc(100vh - var(--neeto-molecules-main-header-with-breadcrumbs-height));margin:0 auto;max-width:1200px;padding:0 24px 24px;width:100%}.neeto-tags-merge__wrapper .neeto-tags-merge__container{display:flex;flex-direction:row;height:100%;justify-content:space-between;width:100%}.neeto-tags-merge__wrapper .neeto-tags-merge__container .neeto-tags-merge__list{width:48%}.neeto-tags-merge__wrapper .neeto-tags-merge__container .neeto-tags-merge__list .neeto-tags-merge__items{height:calc(100vh - var(--neeto-molecules-main-header-height) - 120px);overflow-y:auto;padding-top:16px}";
|
|
3812
|
+
n(css,{});
|
|
3813
|
+
|
|
3814
|
+
var NEETO_TEMPLATES_URL = "/neeto_templates_engine/api/v1";
|
|
3815
|
+
var TEMPLATE_TAGS_URL = "".concat(NEETO_TEMPLATES_URL, "/tags/template_tags");
|
|
3816
|
+
|
|
3817
|
+
var create = function create(payload) {
|
|
3818
|
+
return axios.post(TEMPLATE_TAGS_URL, {
|
|
3819
|
+
tag: payload
|
|
3820
|
+
});
|
|
3821
|
+
};
|
|
3822
|
+
var list = function list() {
|
|
3823
|
+
return axios.get(TEMPLATE_TAGS_URL);
|
|
3824
|
+
};
|
|
3825
|
+
var templateTagsApi = {
|
|
3826
|
+
create: create,
|
|
3827
|
+
list: list
|
|
3828
|
+
};
|
|
3829
|
+
|
|
3830
|
+
function ownKeys$1(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; }
|
|
3831
|
+
function _objectSpread$1(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys$1(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys$1(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
|
|
3832
|
+
var useCreateTemplateTag = function useCreateTemplateTag(options) {
|
|
3833
|
+
var queryClient = useQueryClient();
|
|
3834
|
+
return useMutation(templateTagsApi.create, _objectSpread$1(_objectSpread$1({}, options), {}, {
|
|
3835
|
+
onSuccess: function onSuccess() {
|
|
3836
|
+
var _options$onSuccess;
|
|
3837
|
+
refetchTags();
|
|
3838
|
+
queryClient.invalidateQueries(QUERY_KEYS.TEMPLATE_TAGS);
|
|
3839
|
+
options === null || options === void 0 || (_options$onSuccess = options.onSuccess) === null || _options$onSuccess === void 0 ? void 0 : _options$onSuccess.call(options);
|
|
3840
|
+
}
|
|
3841
|
+
}));
|
|
3842
|
+
};
|
|
3843
|
+
var useFetchTemplateTags = function useFetchTemplateTags() {
|
|
3844
|
+
return useQuery([QUERY_KEYS.TEMPLATE_TAGS], templateTagsApi.list);
|
|
3845
|
+
};
|
|
3846
|
+
|
|
3847
|
+
var PageWrapper = function PageWrapper(_ref) {
|
|
3848
|
+
var children = _ref.children;
|
|
3849
|
+
return /*#__PURE__*/React__default.createElement("div", {
|
|
3850
|
+
className: "nf-form-settings__wrapper w-full flex-col"
|
|
3851
|
+
}, children);
|
|
3852
|
+
};
|
|
3853
|
+
var PageHeader = function PageHeader(_ref2) {
|
|
3854
|
+
var title = _ref2.title,
|
|
3855
|
+
breadcrumbs = _ref2.breadcrumbs;
|
|
3856
|
+
return /*#__PURE__*/React__default.createElement("div", {
|
|
3857
|
+
className: "w-full px-6"
|
|
3858
|
+
}, /*#__PURE__*/React__default.createElement(NeetoHeader, {
|
|
3859
|
+
breadcrumbs: breadcrumbs,
|
|
3860
|
+
size: "small",
|
|
3861
|
+
title: title
|
|
3862
|
+
}));
|
|
3863
|
+
};
|
|
3864
|
+
var customPropEqualityCheck = function customPropEqualityCheck(prevProps, nextProps) {
|
|
3865
|
+
return prevProps.title === nextProps.title && prevProps.breadcrumbs === nextProps.breadcrumbs;
|
|
3866
|
+
};
|
|
3867
|
+
var MemoizedPageHeader = /*#__PURE__*/memo(PageHeader, customPropEqualityCheck);
|
|
3868
|
+
var PageContent = function PageContent(_ref3) {
|
|
3869
|
+
var children = _ref3.children,
|
|
3870
|
+
_ref3$className = _ref3.className,
|
|
3871
|
+
className = _ref3$className === void 0 ? "" : _ref3$className;
|
|
3872
|
+
return /*#__PURE__*/React__default.createElement(Scrollable, {
|
|
3873
|
+
className: "w-full px-6 pb-6"
|
|
3874
|
+
}, /*#__PURE__*/React__default.createElement("div", {
|
|
3875
|
+
className: classnames(["mx-auto max-w-7xl", className])
|
|
3876
|
+
}, children));
|
|
3877
|
+
};
|
|
3878
|
+
|
|
3879
|
+
var Tags = function Tags(_ref) {
|
|
3880
|
+
var allTags = _ref.allTags,
|
|
3881
|
+
selectedTags = _ref.selectedTags,
|
|
3882
|
+
onUpdate = _ref.onUpdate,
|
|
3883
|
+
onCreate = _ref.onCreate,
|
|
3884
|
+
isLoading = _ref.isLoading,
|
|
3885
|
+
className = _ref.className,
|
|
3886
|
+
_ref$labelProps = _ref.labelProps,
|
|
3887
|
+
labelProps = _ref$labelProps === void 0 ? {} : _ref$labelProps;
|
|
3888
|
+
var handleTagSelect = function handleTagSelect(newTag) {
|
|
3889
|
+
return onUpdate([].concat(_toConsumableArray(selectedTags), [newTag]));
|
|
3890
|
+
};
|
|
3891
|
+
var handleTagRemove = function handleTagRemove(removedTag) {
|
|
3892
|
+
var updatedTags = removeBy({
|
|
3893
|
+
value: removedTag.value
|
|
3894
|
+
}, selectedTags);
|
|
3895
|
+
onUpdate(updatedTags);
|
|
3896
|
+
};
|
|
3897
|
+
var handleTagCreate = function handleTagCreate(tagName) {
|
|
3898
|
+
onCreate({
|
|
3899
|
+
name: tagName
|
|
3900
|
+
}, {
|
|
3901
|
+
onSuccess: function onSuccess(_ref2) {
|
|
3902
|
+
var tag = _ref2.tag;
|
|
3903
|
+
return handleTagSelect({
|
|
3904
|
+
value: tag.id,
|
|
3905
|
+
label: tag.name
|
|
3906
|
+
});
|
|
3907
|
+
}
|
|
3908
|
+
});
|
|
3909
|
+
};
|
|
3910
|
+
return /*#__PURE__*/React__default.createElement("div", {
|
|
3911
|
+
className: className
|
|
3912
|
+
}, labelProps.label && /*#__PURE__*/React__default.createElement(Label, labelProps, labelProps.label), /*#__PURE__*/React__default.createElement("div", {
|
|
3913
|
+
className: "neeto-ui-border-gray-300 neeto-ui-rounded-lg neeto-ui-bg-white border p-4"
|
|
3914
|
+
}, /*#__PURE__*/React__default.createElement(Tags$2, {
|
|
3915
|
+
allTags: allTags,
|
|
3916
|
+
selectedTags: selectedTags,
|
|
3917
|
+
buttonProps: {
|
|
3918
|
+
loading: isLoading,
|
|
3919
|
+
disabled: isLoading,
|
|
3920
|
+
iconPosition: "left"
|
|
3921
|
+
},
|
|
3922
|
+
onTagCreate: handleTagCreate,
|
|
3923
|
+
onTagDelete: handleTagRemove,
|
|
3924
|
+
onTagSelect: handleTagSelect
|
|
3925
|
+
})));
|
|
3926
|
+
};
|
|
3927
|
+
|
|
3928
|
+
var Preview = function Preview(_ref) {
|
|
3929
|
+
var template = _ref.template,
|
|
3930
|
+
imageUrl = _ref.imageUrl;
|
|
3931
|
+
return /*#__PURE__*/React__default.createElement("div", {
|
|
3932
|
+
className: "neeto-template neeto-ui-bg-white outline-none neeto-ui-shadow-sm hover:neeto-ui-border-gray-400 focus:neeto-ui-border-gray-500 neeto-ui-rounded-lg flex cursor-pointer flex-col overflow-hidden border transition-colors duration-300 ease-in-out",
|
|
3933
|
+
tabIndex: 0
|
|
3934
|
+
}, /*#__PURE__*/React__default.createElement("div", {
|
|
3935
|
+
className: "neeto-template__header"
|
|
3936
|
+
}, /*#__PURE__*/React__default.createElement("img", {
|
|
3937
|
+
className: "neeto-template__image",
|
|
3938
|
+
src: imageUrl || "https://d2v7kzglnr2dnh.cloudfront.net/images/neetoForm/default-form-template.svg"
|
|
3939
|
+
})), /*#__PURE__*/React__default.createElement("div", {
|
|
3940
|
+
className: "neeto-ui-bg-white flex items-center justify-between gap-2 rounded-b-lg px-2 py-1.5"
|
|
3941
|
+
}, /*#__PURE__*/React__default.createElement(Typography, {
|
|
3942
|
+
className: "neeto-ui-text-gray-800",
|
|
3943
|
+
lineHeight: "normal",
|
|
3944
|
+
style: "body2"
|
|
3945
|
+
}, template.title)));
|
|
3946
|
+
};
|
|
3947
|
+
|
|
3948
|
+
var buildSelectOptionsBy = function buildSelectOptionsBy(labelField, options) {
|
|
3949
|
+
var valueField = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : "id";
|
|
3950
|
+
return options.map(function (option) {
|
|
3951
|
+
return {
|
|
3952
|
+
value: option[valueField],
|
|
3953
|
+
label: option[labelField]
|
|
3954
|
+
};
|
|
3955
|
+
});
|
|
3956
|
+
};
|
|
3957
|
+
var buildTagOptions = function buildTagOptions() {
|
|
3958
|
+
var tags = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];
|
|
3959
|
+
return renameKeys({
|
|
3960
|
+
id: "value",
|
|
3961
|
+
name: "label"
|
|
3962
|
+
}, tags);
|
|
3963
|
+
};
|
|
3964
|
+
var buildTemplateUpdatePayload = function buildTemplateUpdatePayload(values) {
|
|
3965
|
+
return {
|
|
3966
|
+
image: values.imageSignedId,
|
|
3967
|
+
tagIds: pluck("value", values === null || values === void 0 ? void 0 : values.tags)
|
|
3968
|
+
};
|
|
3969
|
+
};
|
|
3970
|
+
|
|
3971
|
+
function ownKeys(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; }
|
|
3972
|
+
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
|
|
3973
|
+
var TemplateSettings = function TemplateSettings(_ref) {
|
|
3974
|
+
var _ref$onCancelTemplate = _ref.onCancelTemplatePreview,
|
|
3975
|
+
onCancelTemplatePreview = _ref$onCancelTemplate === void 0 ? "" : _ref$onCancelTemplate,
|
|
3976
|
+
_ref$breadcrumbs = _ref.breadcrumbs,
|
|
3977
|
+
breadcrumbs = _ref$breadcrumbs === void 0 ? [] : _ref$breadcrumbs,
|
|
3978
|
+
resourceType = _ref.resourceType,
|
|
3979
|
+
_ref$url = _ref.url,
|
|
3980
|
+
url = _ref$url === void 0 ? "" : _ref$url;
|
|
3981
|
+
var _useParams = useParams(),
|
|
3982
|
+
resourceId = _useParams["".concat(resourceType, "Id")];
|
|
3983
|
+
var _useTranslation = useTranslation(),
|
|
3984
|
+
t = _useTranslation.t;
|
|
3985
|
+
var _useFetchTemplate = useFetchTemplate({
|
|
3986
|
+
resourceId: resourceId,
|
|
3987
|
+
url: url
|
|
3988
|
+
}),
|
|
3989
|
+
data = _useFetchTemplate.data,
|
|
3990
|
+
isFetchingTemplate = _useFetchTemplate.isLoading;
|
|
3991
|
+
var _useUpdateTemplate = useUpdateTemplate({
|
|
3992
|
+
resourceId: resourceId,
|
|
3993
|
+
url: url
|
|
3994
|
+
}),
|
|
3995
|
+
updateTemplate = _useUpdateTemplate.mutate,
|
|
3996
|
+
isUpdatingTemplate = _useUpdateTemplate.isLoading;
|
|
3997
|
+
var _useCreateTemplateTag = useCreateTemplateTag(),
|
|
3998
|
+
createTemplateTag = _useCreateTemplateTag.mutate,
|
|
3999
|
+
isCreatingTags = _useCreateTemplateTag.isLoading;
|
|
4000
|
+
var _useFetchTemplateTags = useFetchTemplateTags(),
|
|
4001
|
+
_useFetchTemplateTags2 = _useFetchTemplateTags.data,
|
|
4002
|
+
templateTags = _useFetchTemplateTags2 === void 0 ? {} : _useFetchTemplateTags2,
|
|
4003
|
+
isTagsLoading = _useFetchTemplateTags.isLoading;
|
|
4004
|
+
var handleSubmit = function handleSubmit(values) {
|
|
4005
|
+
updateTemplate({
|
|
4006
|
+
template: buildTemplateUpdatePayload(values)
|
|
4007
|
+
});
|
|
4008
|
+
};
|
|
4009
|
+
var handleRemoveImage = function handleRemoveImage(setFieldValue) {
|
|
4010
|
+
setFieldValue("imageUrl", "");
|
|
4011
|
+
setFieldValue("imageSignedId", null);
|
|
4012
|
+
};
|
|
4013
|
+
var isLoading = isFetchingTemplate || isTagsLoading;
|
|
4014
|
+
var tags = buildTagOptions(data === null || data === void 0 ? void 0 : data.tags);
|
|
4015
|
+
var formInitialValues = _objectSpread(_objectSpread({
|
|
4016
|
+
imageUrl: null
|
|
4017
|
+
}, data), {}, {
|
|
4018
|
+
tags: tags
|
|
4019
|
+
});
|
|
4020
|
+
return /*#__PURE__*/React__default.createElement(PageWrapper, null, /*#__PURE__*/React__default.createElement(MemoizedPageHeader, {
|
|
4021
|
+
breadcrumbs: breadcrumbs,
|
|
4022
|
+
title: t("neetoTemplate.templateSettings.title")
|
|
4023
|
+
}), /*#__PURE__*/React__default.createElement(PageContent, {
|
|
4024
|
+
className: "h-full"
|
|
4025
|
+
}, isLoading ? /*#__PURE__*/React__default.createElement(PageLoader, null) : /*#__PURE__*/React__default.createElement(React__default.Fragment, null, /*#__PURE__*/React__default.createElement(Typography, {
|
|
4026
|
+
className: "mb-1",
|
|
4027
|
+
"data-cy": "thank-you-action-text",
|
|
4028
|
+
style: "h2",
|
|
4029
|
+
weight: "semibold"
|
|
4030
|
+
}, t("neetoTemplate.templateSettings.configureTemplates")), /*#__PURE__*/React__default.createElement(Typography, {
|
|
4031
|
+
className: "mb-2",
|
|
4032
|
+
"data-cy": "thank-you-description-label",
|
|
4033
|
+
style: "body2"
|
|
4034
|
+
}, t("neetoTemplate.templateSettings.subText")), /*#__PURE__*/React__default.createElement(Form, {
|
|
4035
|
+
formikProps: {
|
|
4036
|
+
enableReinitialize: true,
|
|
4037
|
+
initialValues: formInitialValues,
|
|
4038
|
+
onSubmit: handleSubmit
|
|
4039
|
+
}
|
|
4040
|
+
}, function (_ref2) {
|
|
4041
|
+
var values = _ref2.values,
|
|
4042
|
+
setFieldValue = _ref2.setFieldValue,
|
|
4043
|
+
dirty = _ref2.dirty;
|
|
4044
|
+
return /*#__PURE__*/React__default.createElement(React__default.Fragment, null, /*#__PURE__*/React__default.createElement("div", {
|
|
4045
|
+
className: "grid grid-cols-2 gap-8 pt-6"
|
|
4046
|
+
}, /*#__PURE__*/React__default.createElement("div", {
|
|
4047
|
+
className: "space-y-4"
|
|
4048
|
+
}, /*#__PURE__*/React__default.createElement(Typography, {
|
|
4049
|
+
className: "mb-3",
|
|
4050
|
+
style: "h4",
|
|
4051
|
+
weight: "semibold"
|
|
4052
|
+
}, t("neetoTemplate.templateSettings.imageLabel")), values.imageUrl && /*#__PURE__*/React__default.createElement("div", {
|
|
4053
|
+
className: "w-100 mb-6 flex flex-row justify-center"
|
|
4054
|
+
}, /*#__PURE__*/React__default.createElement("div", {
|
|
4055
|
+
className: "neeto-ui-bg-gray-100 relative flex h-80 w-96 flex-row items-center justify-center p-4"
|
|
4056
|
+
}, /*#__PURE__*/React__default.createElement(Button, {
|
|
4057
|
+
className: "neeto-ui-rounded-full absolute right-0 top-0",
|
|
4058
|
+
"data-cy": "remove-image",
|
|
4059
|
+
icon: Delete,
|
|
4060
|
+
size: "small",
|
|
4061
|
+
style: "danger-text",
|
|
4062
|
+
tooltipProps: {
|
|
4063
|
+
content: t("neetoTemplate.templateSettings.removeImage")
|
|
4064
|
+
},
|
|
4065
|
+
onClick: function onClick() {
|
|
4066
|
+
return handleRemoveImage(setFieldValue);
|
|
4067
|
+
}
|
|
4068
|
+
}))), /*#__PURE__*/React__default.createElement(Tags, {
|
|
4069
|
+
className: "space-y-2",
|
|
4070
|
+
isLoading: isCreatingTags,
|
|
4071
|
+
selectedTags: values.tags,
|
|
4072
|
+
allTags: buildSelectOptionsBy("name", templateTags.tags),
|
|
4073
|
+
labelProps: {
|
|
4074
|
+
label: t("neetoTemplate.templateSettings.categoryLabel")
|
|
4075
|
+
},
|
|
4076
|
+
onCreate: createTemplateTag,
|
|
4077
|
+
onUpdate: function onUpdate(tags) {
|
|
4078
|
+
return setFieldValue("tags", tags);
|
|
4079
|
+
}
|
|
4080
|
+
})), /*#__PURE__*/React__default.createElement("div", null, /*#__PURE__*/React__default.createElement(Typography, {
|
|
4081
|
+
className: "mb-3",
|
|
4082
|
+
style: "h4",
|
|
4083
|
+
weight: "semibold"
|
|
4084
|
+
}, t("neetoTemplate.templateSettings.previewLabel")), /*#__PURE__*/React__default.createElement(Preview, {
|
|
4085
|
+
imageUrl: values.imageUrl,
|
|
4086
|
+
template: data
|
|
4087
|
+
}))), /*#__PURE__*/React__default.createElement("div", {
|
|
4088
|
+
className: "mt-6 flex flex-row items-center justify-start"
|
|
4089
|
+
}, /*#__PURE__*/React__default.createElement(Button, {
|
|
4090
|
+
className: "mr-3",
|
|
4091
|
+
"data-cy": "save-changes-button",
|
|
4092
|
+
disabled: !dirty,
|
|
4093
|
+
loading: isUpdatingTemplate,
|
|
4094
|
+
type: "submit",
|
|
4095
|
+
label: t("neetoTemplate.templateSettings.button.saveChanges")
|
|
4096
|
+
}), /*#__PURE__*/React__default.createElement(Button, {
|
|
4097
|
+
"data-cy": "reset-changes-button",
|
|
4098
|
+
label: t("neetoTemplate.templateSettings.button.cancel"),
|
|
4099
|
+
style: "text",
|
|
4100
|
+
to: onCancelTemplatePreview
|
|
4101
|
+
})));
|
|
4102
|
+
}))));
|
|
4103
|
+
};
|
|
4104
|
+
|
|
4105
|
+
export { CreateTemplateModal, TemplateSettings };
|
|
2914
4106
|
//# sourceMappingURL=index.js.map
|