@knovator/pagecreator-admin 0.5.12 → 0.7.0
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/index.cjs +506 -538
- package/index.css +20 -10
- package/index.js +506 -538
- package/package.json +1 -1
- package/src/lib/api/list.d.ts +4 -0
- package/src/lib/components/Widget/Form/ItemsAccordian.d.ts +1 -1
- package/src/lib/components/common/Button/Button.d.ts +1 -1
- package/src/lib/components/common/ImageUpload/ImageUpload.d.ts +1 -1
- package/src/lib/components/common/Input/SrcSet.d.ts +1 -1
- package/src/lib/constants/common.d.ts +17 -1
- package/src/lib/context/ProviderContext.d.ts +1 -1
- package/src/lib/context/WidgetContext.d.ts +1 -1
- package/src/lib/helper/utils.d.ts +1 -0
- package/src/lib/hooks/useWidget.d.ts +1 -9
- package/src/lib/types/api.d.ts +1 -1
- package/src/lib/types/components.d.ts +11 -9
- package/src/lib/types/context.d.ts +0 -5
package/index.cjs
CHANGED
|
@@ -10,8 +10,8 @@ var reactHookForm = require('react-hook-form');
|
|
|
10
10
|
var reactBeautifulDnd = require('react-beautiful-dnd');
|
|
11
11
|
var CSSTransition = require('react-transition-group/CSSTransition');
|
|
12
12
|
var reactDropzone = require('react-dropzone');
|
|
13
|
-
var reactTabs = require('react-tabs');
|
|
14
13
|
var reactTinyPopover = require('react-tiny-popover');
|
|
14
|
+
var reactTabs = require('react-tabs');
|
|
15
15
|
|
|
16
16
|
function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
|
|
17
17
|
|
|
@@ -1646,6 +1646,18 @@ OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
|
|
|
1646
1646
|
PERFORMANCE OF THIS SOFTWARE.
|
|
1647
1647
|
***************************************************************************** */
|
|
1648
1648
|
|
|
1649
|
+
function __rest(s, e) {
|
|
1650
|
+
var t = {};
|
|
1651
|
+
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
|
|
1652
|
+
t[p] = s[p];
|
|
1653
|
+
if (s != null && typeof Object.getOwnPropertySymbols === "function")
|
|
1654
|
+
for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
|
|
1655
|
+
if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))
|
|
1656
|
+
t[p[i]] = s[p[i]];
|
|
1657
|
+
}
|
|
1658
|
+
return t;
|
|
1659
|
+
}
|
|
1660
|
+
|
|
1649
1661
|
function __awaiter(thisArg, _arguments, P, generator) {
|
|
1650
1662
|
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
1651
1663
|
return new (P || (P = Promise))(function (resolve, reject) {
|
|
@@ -1674,6 +1686,11 @@ var CALLBACK_CODES;
|
|
|
1674
1686
|
CALLBACK_CODES["IMAGE_REMOVE"] = "IMAGE_REMOVE";
|
|
1675
1687
|
CALLBACK_CODES["INTERNAL"] = "INTERNAL";
|
|
1676
1688
|
})(CALLBACK_CODES || (CALLBACK_CODES = {}));
|
|
1689
|
+
const CONSTANTS = {
|
|
1690
|
+
EMPTY_REGEX: / /g,
|
|
1691
|
+
SLUG_REGEX: /^[\da-z-]*$/,
|
|
1692
|
+
SLUG_REPLACE_REGEX: /[^\da-z-]/gi
|
|
1693
|
+
};
|
|
1677
1694
|
const DEFAULT_PERMISSIONS = {
|
|
1678
1695
|
list: true,
|
|
1679
1696
|
add: true,
|
|
@@ -1755,7 +1772,15 @@ const TRANSLATION_PAIRS_ITEM = {
|
|
|
1755
1772
|
'item.uploadFile': 'Upload File',
|
|
1756
1773
|
'item.dragDrop': 'or drag and drop',
|
|
1757
1774
|
'item.allowedFormat': 'PNG, JPG, SVG up to 2 MB',
|
|
1758
|
-
'item.srcset': 'Srcset'
|
|
1775
|
+
'item.srcset': 'Srcset',
|
|
1776
|
+
'item.screenSizeRequired': 'ScreenSize is required',
|
|
1777
|
+
'item.widthRequired': 'Width is required',
|
|
1778
|
+
'item.heightRequired': 'Height is required',
|
|
1779
|
+
'item.minScreenSize': 'ScreenSize should be greater than 0',
|
|
1780
|
+
'item.minWidth': 'Width should be greater than 0',
|
|
1781
|
+
'item.minHeight': 'Height should be greater than 0',
|
|
1782
|
+
'item.titleRequired': 'Title is required',
|
|
1783
|
+
'item.deleteTitle': 'Are you sure you want to delete this item?'
|
|
1759
1784
|
};
|
|
1760
1785
|
const TRANSLATION_PAIRS_PAGE = {
|
|
1761
1786
|
'page.name': 'Name',
|
|
@@ -1764,6 +1789,9 @@ const TRANSLATION_PAIRS_PAGE = {
|
|
|
1764
1789
|
'page.code': 'Code',
|
|
1765
1790
|
'page.codePlaceholder': 'Enter code',
|
|
1766
1791
|
'page.codeRequired': 'Code is required',
|
|
1792
|
+
'page.slug': 'Slug',
|
|
1793
|
+
'page.slugPlaceholder': 'Enter Slug',
|
|
1794
|
+
'page.slugRequired': 'Slug is required',
|
|
1767
1795
|
'page.addPageTitle': 'Add Page',
|
|
1768
1796
|
'page.updatePageTitle': 'Update Page',
|
|
1769
1797
|
'page.searchPages': 'Search Pages...',
|
|
@@ -1783,7 +1811,6 @@ const Provider = ({
|
|
|
1783
1811
|
onSuccess: _onSuccess = () => {},
|
|
1784
1812
|
onLogout: _onLogout = () => {},
|
|
1785
1813
|
switchClass: _switchClass = 'khb_switch',
|
|
1786
|
-
itemsRoutesPrefix: _itemsRoutesPrefix = 'items',
|
|
1787
1814
|
widgetRoutesPrefix: _widgetRoutesPrefix = 'widgets',
|
|
1788
1815
|
pageRoutesPrefix: _pageRoutesPrefix = 'pages'
|
|
1789
1816
|
}) => {
|
|
@@ -1795,7 +1822,6 @@ const Provider = ({
|
|
|
1795
1822
|
onSuccess: _onSuccess,
|
|
1796
1823
|
onLogout: _onLogout,
|
|
1797
1824
|
switchClass: _switchClass,
|
|
1798
|
-
itemsRoutesPrefix: _itemsRoutesPrefix,
|
|
1799
1825
|
widgetRoutesPrefix: _widgetRoutesPrefix,
|
|
1800
1826
|
pageRoutesPrefix: _pageRoutesPrefix
|
|
1801
1827
|
}
|
|
@@ -2494,7 +2520,11 @@ const capitalizeFirstLetter = (string = '') => {
|
|
|
2494
2520
|
};
|
|
2495
2521
|
const changeToCode = (string = '') => {
|
|
2496
2522
|
var _a, _b;
|
|
2497
|
-
return (_b = (_a = string.replace(/[^\s\w]/gi, '')) === null || _a === void 0 ? void 0 : _a.toUpperCase()) === null || _b === void 0 ? void 0 : _b.replace(
|
|
2523
|
+
return (_b = (_a = string.replace(/[^\s\w]/gi, '')) === null || _a === void 0 ? void 0 : _a.toUpperCase()) === null || _b === void 0 ? void 0 : _b.replace(CONSTANTS.EMPTY_REGEX, '_');
|
|
2524
|
+
};
|
|
2525
|
+
const changeToSlug = (string = '') => {
|
|
2526
|
+
var _a;
|
|
2527
|
+
return (_a = string === null || string === void 0 ? void 0 : string.toLowerCase()) === null || _a === void 0 ? void 0 : _a.replace(CONSTANTS.EMPTY_REGEX, '-');
|
|
2498
2528
|
};
|
|
2499
2529
|
const isObject$3 = data => {
|
|
2500
2530
|
var _a;
|
|
@@ -2596,6 +2626,13 @@ const usePagination = ({
|
|
|
2596
2626
|
};
|
|
2597
2627
|
|
|
2598
2628
|
const apiList = {
|
|
2629
|
+
GET_ONE: ({
|
|
2630
|
+
prefix,
|
|
2631
|
+
id
|
|
2632
|
+
}) => ({
|
|
2633
|
+
url: `${prefix}/${id}`,
|
|
2634
|
+
method: 'GET'
|
|
2635
|
+
}),
|
|
2599
2636
|
LIST: ({
|
|
2600
2637
|
prefix
|
|
2601
2638
|
}) => ({
|
|
@@ -3339,6 +3376,45 @@ const CustomReactSelect = ({
|
|
|
3339
3376
|
}, error));
|
|
3340
3377
|
};
|
|
3341
3378
|
|
|
3379
|
+
var call$7 = functionCall;
|
|
3380
|
+
var hasOwn$1 = hasOwnProperty_1;
|
|
3381
|
+
var isPrototypeOf$2 = objectIsPrototypeOf;
|
|
3382
|
+
var regExpFlags = regexpFlags$1;
|
|
3383
|
+
|
|
3384
|
+
var RegExpPrototype$1 = RegExp.prototype;
|
|
3385
|
+
|
|
3386
|
+
var regexpGetFlags = function (R) {
|
|
3387
|
+
var flags = R.flags;
|
|
3388
|
+
return flags === undefined && !('flags' in RegExpPrototype$1) && !hasOwn$1(R, 'flags') && isPrototypeOf$2(RegExpPrototype$1, R)
|
|
3389
|
+
? call$7(regExpFlags, R) : flags;
|
|
3390
|
+
};
|
|
3391
|
+
|
|
3392
|
+
var PROPER_FUNCTION_NAME = functionName.PROPER;
|
|
3393
|
+
var defineBuiltIn$2 = defineBuiltIn$7;
|
|
3394
|
+
var anObject$5 = anObject$e;
|
|
3395
|
+
var $toString = toString$6;
|
|
3396
|
+
var fails$3 = fails$n;
|
|
3397
|
+
var getRegExpFlags = regexpGetFlags;
|
|
3398
|
+
|
|
3399
|
+
var TO_STRING = 'toString';
|
|
3400
|
+
var RegExpPrototype = RegExp.prototype;
|
|
3401
|
+
var nativeToString = RegExpPrototype[TO_STRING];
|
|
3402
|
+
|
|
3403
|
+
var NOT_GENERIC = fails$3(function () { return nativeToString.call({ source: 'a', flags: 'b' }) != '/a/b'; });
|
|
3404
|
+
// FF44- RegExp#toString has a wrong name
|
|
3405
|
+
var INCORRECT_NAME = PROPER_FUNCTION_NAME && nativeToString.name != TO_STRING;
|
|
3406
|
+
|
|
3407
|
+
// `RegExp.prototype.toString` method
|
|
3408
|
+
// https://tc39.es/ecma262/#sec-regexp.prototype.tostring
|
|
3409
|
+
if (NOT_GENERIC || INCORRECT_NAME) {
|
|
3410
|
+
defineBuiltIn$2(RegExp.prototype, TO_STRING, function toString() {
|
|
3411
|
+
var R = anObject$5(this);
|
|
3412
|
+
var pattern = $toString(R.source);
|
|
3413
|
+
var flags = $toString(getRegExpFlags(R));
|
|
3414
|
+
return '/' + pattern + '/' + flags;
|
|
3415
|
+
}, { unsafe: true });
|
|
3416
|
+
}
|
|
3417
|
+
|
|
3342
3418
|
const Close = ({
|
|
3343
3419
|
srText,
|
|
3344
3420
|
className
|
|
@@ -3380,27 +3456,19 @@ const Plus = ({
|
|
|
3380
3456
|
const SrcSetInput = ({
|
|
3381
3457
|
size,
|
|
3382
3458
|
className,
|
|
3383
|
-
|
|
3384
|
-
|
|
3385
|
-
errors,
|
|
3386
|
-
name,
|
|
3387
|
-
inputKey,
|
|
3459
|
+
rest,
|
|
3460
|
+
error,
|
|
3388
3461
|
placeholder,
|
|
3389
3462
|
disabled: _disabled = false
|
|
3390
3463
|
}) => {
|
|
3391
|
-
var _a, _b;
|
|
3392
3464
|
return /*#__PURE__*/React__default["default"].createElement("div", null, /*#__PURE__*/React__default["default"].createElement("input", Object.assign({
|
|
3393
3465
|
className: classNames__default["default"]('khb_input', `khb_input-${size}`, className),
|
|
3394
3466
|
type: 'number',
|
|
3395
3467
|
placeholder: placeholder,
|
|
3396
|
-
name: `srcset[${index}].${inputKey}`,
|
|
3397
3468
|
disabled: _disabled
|
|
3398
|
-
},
|
|
3399
|
-
required: `${name} Size is required`,
|
|
3400
|
-
validate: value => Number(value) <= 0 ? `${inputKey} should be greater than 0` : true
|
|
3401
|
-
}))), Array.isArray(errors) && errors[index] && /*#__PURE__*/React__default["default"].createElement("p", {
|
|
3469
|
+
}, rest || {})), error && /*#__PURE__*/React__default["default"].createElement("p", {
|
|
3402
3470
|
className: "khb_input-error"
|
|
3403
|
-
},
|
|
3471
|
+
}, error));
|
|
3404
3472
|
};
|
|
3405
3473
|
const SrcSet = ({
|
|
3406
3474
|
label,
|
|
@@ -3412,7 +3480,9 @@ const SrcSet = ({
|
|
|
3412
3480
|
wrapperClassName,
|
|
3413
3481
|
control,
|
|
3414
3482
|
errors,
|
|
3415
|
-
|
|
3483
|
+
name,
|
|
3484
|
+
disabled: _disabled2 = false,
|
|
3485
|
+
t
|
|
3416
3486
|
}) => {
|
|
3417
3487
|
const {
|
|
3418
3488
|
fields,
|
|
@@ -3420,7 +3490,7 @@ const SrcSet = ({
|
|
|
3420
3490
|
remove
|
|
3421
3491
|
} = reactHookForm.useFieldArray({
|
|
3422
3492
|
control,
|
|
3423
|
-
name:
|
|
3493
|
+
name: name
|
|
3424
3494
|
});
|
|
3425
3495
|
return /*#__PURE__*/React__default["default"].createElement("div", {
|
|
3426
3496
|
className: classNames__default["default"]('khb_input-wrapper', wrapperClassName)
|
|
@@ -3430,49 +3500,55 @@ const SrcSet = ({
|
|
|
3430
3500
|
className: "khb_input-label-required"
|
|
3431
3501
|
}, "*") : null), /*#__PURE__*/React__default["default"].createElement("div", {
|
|
3432
3502
|
className: "khb_input-srcset-items"
|
|
3433
|
-
}, fields === null || fields === void 0 ? void 0 : fields.map((item, index) =>
|
|
3434
|
-
|
|
3435
|
-
|
|
3436
|
-
|
|
3437
|
-
|
|
3438
|
-
|
|
3439
|
-
|
|
3440
|
-
|
|
3441
|
-
|
|
3442
|
-
|
|
3443
|
-
|
|
3444
|
-
|
|
3445
|
-
|
|
3446
|
-
|
|
3447
|
-
|
|
3448
|
-
|
|
3449
|
-
|
|
3450
|
-
|
|
3451
|
-
|
|
3452
|
-
|
|
3453
|
-
|
|
3454
|
-
|
|
3455
|
-
|
|
3456
|
-
|
|
3457
|
-
|
|
3458
|
-
|
|
3459
|
-
|
|
3460
|
-
|
|
3461
|
-
|
|
3462
|
-
|
|
3463
|
-
|
|
3464
|
-
|
|
3465
|
-
|
|
3466
|
-
|
|
3467
|
-
|
|
3468
|
-
|
|
3469
|
-
|
|
3503
|
+
}, fields === null || fields === void 0 ? void 0 : fields.map((item, index) => {
|
|
3504
|
+
var _a, _b, _c, _d, _e, _f, _g, _h, _j;
|
|
3505
|
+
return /*#__PURE__*/React__default["default"].createElement("div", {
|
|
3506
|
+
key: index,
|
|
3507
|
+
className: "khb_input-srcset"
|
|
3508
|
+
}, /*#__PURE__*/React__default["default"].createElement(SrcSetInput, {
|
|
3509
|
+
error: (_c = (_b = (_a = errors === null || errors === void 0 ? void 0 : errors[index]) === null || _a === void 0 ? void 0 : _a['screenSize']) === null || _b === void 0 ? void 0 : _b.message) === null || _c === void 0 ? void 0 : _c.toString(),
|
|
3510
|
+
index: index,
|
|
3511
|
+
className: className,
|
|
3512
|
+
size: _size,
|
|
3513
|
+
placeholder: "Screen Size",
|
|
3514
|
+
rest: register(`${name}.${index}.screenSize`, {
|
|
3515
|
+
required: t('item.screenSizeRequired'),
|
|
3516
|
+
validate: value => Number(value) <= 0 ? t('item.minScreenSize') : true
|
|
3517
|
+
}),
|
|
3518
|
+
disabled: _disabled2
|
|
3519
|
+
}), /*#__PURE__*/React__default["default"].createElement("span", {
|
|
3520
|
+
className: "p-2"
|
|
3521
|
+
}, "="), /*#__PURE__*/React__default["default"].createElement(SrcSetInput, {
|
|
3522
|
+
error: (_f = (_e = (_d = errors === null || errors === void 0 ? void 0 : errors[index]) === null || _d === void 0 ? void 0 : _d['width']) === null || _e === void 0 ? void 0 : _e.message) === null || _f === void 0 ? void 0 : _f.toString(),
|
|
3523
|
+
index: index,
|
|
3524
|
+
rest: register(`${name}.${index}.width`, {
|
|
3525
|
+
required: t('item.widthRequired'),
|
|
3526
|
+
validate: value => Number(value) <= 0 ? t('item.minWidth') : true
|
|
3527
|
+
}),
|
|
3528
|
+
className: className,
|
|
3529
|
+
size: _size,
|
|
3530
|
+
placeholder: "Width",
|
|
3531
|
+
disabled: _disabled2
|
|
3532
|
+
}), /*#__PURE__*/React__default["default"].createElement("span", {
|
|
3533
|
+
className: "p-2"
|
|
3534
|
+
}, "x"), /*#__PURE__*/React__default["default"].createElement(SrcSetInput, {
|
|
3535
|
+
error: (_j = (_h = (_g = errors === null || errors === void 0 ? void 0 : errors[index]) === null || _g === void 0 ? void 0 : _g['height']) === null || _h === void 0 ? void 0 : _h.message) === null || _j === void 0 ? void 0 : _j.toString(),
|
|
3536
|
+
index: index,
|
|
3537
|
+
rest: register(`${name}.${index}.height`, {
|
|
3538
|
+
required: t('item.heightRequired'),
|
|
3539
|
+
validate: value => Number(value) <= 0 ? t('item.minHeight') : true
|
|
3540
|
+
}),
|
|
3541
|
+
className: className,
|
|
3542
|
+
size: _size,
|
|
3543
|
+
placeholder: "Height",
|
|
3544
|
+
disabled: _disabled2
|
|
3545
|
+
}), /*#__PURE__*/React__default["default"].createElement("button", {
|
|
3546
|
+
type: "button",
|
|
3547
|
+
className: "khb_btn khb_btn-danger khb_btn-xs",
|
|
3548
|
+
onClick: () => remove(index),
|
|
3549
|
+
disabled: _disabled2
|
|
3550
|
+
}, /*#__PURE__*/React__default["default"].createElement(Close, null)));
|
|
3470
3551
|
}), /*#__PURE__*/React__default["default"].createElement("button", {
|
|
3471
|
-
type: "button",
|
|
3472
|
-
className: "khb_btn khb_btn-danger khb_btn-xs",
|
|
3473
|
-
onClick: () => remove(index),
|
|
3474
|
-
disabled: _disabled2
|
|
3475
|
-
}, /*#__PURE__*/React__default["default"].createElement(Close, null)))), /*#__PURE__*/React__default["default"].createElement("button", {
|
|
3476
3552
|
type: "button",
|
|
3477
3553
|
disabled: _disabled2,
|
|
3478
3554
|
onClick: () => append({
|
|
@@ -3482,7 +3558,7 @@ const SrcSet = ({
|
|
|
3482
3558
|
}),
|
|
3483
3559
|
className: "khb_btn khb_btn-primary khb_btn-xs"
|
|
3484
3560
|
}, /*#__PURE__*/React__default["default"].createElement(Plus, {
|
|
3485
|
-
className: "
|
|
3561
|
+
className: "khb_srcset-remove"
|
|
3486
3562
|
}))), error && /*#__PURE__*/React__default["default"].createElement("p", {
|
|
3487
3563
|
className: "khb_input-error "
|
|
3488
3564
|
}, error));
|
|
@@ -3521,45 +3597,6 @@ const PageSearch = () => {
|
|
|
3521
3597
|
});
|
|
3522
3598
|
};
|
|
3523
3599
|
|
|
3524
|
-
var call$7 = functionCall;
|
|
3525
|
-
var hasOwn$1 = hasOwnProperty_1;
|
|
3526
|
-
var isPrototypeOf$2 = objectIsPrototypeOf;
|
|
3527
|
-
var regExpFlags = regexpFlags$1;
|
|
3528
|
-
|
|
3529
|
-
var RegExpPrototype$1 = RegExp.prototype;
|
|
3530
|
-
|
|
3531
|
-
var regexpGetFlags = function (R) {
|
|
3532
|
-
var flags = R.flags;
|
|
3533
|
-
return flags === undefined && !('flags' in RegExpPrototype$1) && !hasOwn$1(R, 'flags') && isPrototypeOf$2(RegExpPrototype$1, R)
|
|
3534
|
-
? call$7(regExpFlags, R) : flags;
|
|
3535
|
-
};
|
|
3536
|
-
|
|
3537
|
-
var PROPER_FUNCTION_NAME = functionName.PROPER;
|
|
3538
|
-
var defineBuiltIn$2 = defineBuiltIn$7;
|
|
3539
|
-
var anObject$5 = anObject$e;
|
|
3540
|
-
var $toString = toString$6;
|
|
3541
|
-
var fails$3 = fails$n;
|
|
3542
|
-
var getRegExpFlags = regexpGetFlags;
|
|
3543
|
-
|
|
3544
|
-
var TO_STRING = 'toString';
|
|
3545
|
-
var RegExpPrototype = RegExp.prototype;
|
|
3546
|
-
var nativeToString = RegExpPrototype[TO_STRING];
|
|
3547
|
-
|
|
3548
|
-
var NOT_GENERIC = fails$3(function () { return nativeToString.call({ source: 'a', flags: 'b' }) != '/a/b'; });
|
|
3549
|
-
// FF44- RegExp#toString has a wrong name
|
|
3550
|
-
var INCORRECT_NAME = PROPER_FUNCTION_NAME && nativeToString.name != TO_STRING;
|
|
3551
|
-
|
|
3552
|
-
// `RegExp.prototype.toString` method
|
|
3553
|
-
// https://tc39.es/ecma262/#sec-regexp.prototype.tostring
|
|
3554
|
-
if (NOT_GENERIC || INCORRECT_NAME) {
|
|
3555
|
-
defineBuiltIn$2(RegExp.prototype, TO_STRING, function toString() {
|
|
3556
|
-
var R = anObject$5(this);
|
|
3557
|
-
var pattern = $toString(R.source);
|
|
3558
|
-
var flags = $toString(getRegExpFlags(R));
|
|
3559
|
-
return '/' + pattern + '/' + flags;
|
|
3560
|
-
}, { unsafe: true });
|
|
3561
|
-
}
|
|
3562
|
-
|
|
3563
3600
|
var aCallable$6 = aCallable$8;
|
|
3564
3601
|
var toObject = toObject$5;
|
|
3565
3602
|
var IndexedObject = indexedObject;
|
|
@@ -4035,6 +4072,16 @@ const PageForm = ({
|
|
|
4035
4072
|
event.target.value = changeToCode(event.target.value);
|
|
4036
4073
|
return event;
|
|
4037
4074
|
}
|
|
4075
|
+
function handleSlug(event) {
|
|
4076
|
+
let slugValue = changeToSlug(event.target.value);
|
|
4077
|
+
if (!slugValue || !CONSTANTS.SLUG_REGEX.test(slugValue)) {
|
|
4078
|
+
slugValue = '';
|
|
4079
|
+
} else {
|
|
4080
|
+
slugValue = slugValue.replace(CONSTANTS.SLUG_REPLACE_REGEX, '');
|
|
4081
|
+
}
|
|
4082
|
+
event.target.value = slugValue;
|
|
4083
|
+
return event;
|
|
4084
|
+
}
|
|
4038
4085
|
function loadOptions(value, callback) {
|
|
4039
4086
|
getWidgets(widgetsData => {
|
|
4040
4087
|
if (callback) callback(widgetsData);
|
|
@@ -4071,6 +4118,17 @@ const PageForm = ({
|
|
|
4071
4118
|
validations: {
|
|
4072
4119
|
required: t('page.codeRequired')
|
|
4073
4120
|
}
|
|
4121
|
+
}, {
|
|
4122
|
+
label: `${t('page.slug')}`,
|
|
4123
|
+
accessor: 'slug',
|
|
4124
|
+
required: true,
|
|
4125
|
+
type: 'text',
|
|
4126
|
+
onInput: handleSlug,
|
|
4127
|
+
editable: false,
|
|
4128
|
+
placeholder: t('page.slugPlaceholder'),
|
|
4129
|
+
validations: {
|
|
4130
|
+
required: t('page.slugRequired')
|
|
4131
|
+
}
|
|
4074
4132
|
}, {
|
|
4075
4133
|
label: t('page.widgets'),
|
|
4076
4134
|
accessor: 'widgets',
|
|
@@ -4105,13 +4163,23 @@ const Button = ({
|
|
|
4105
4163
|
onClick,
|
|
4106
4164
|
className,
|
|
4107
4165
|
children,
|
|
4108
|
-
disabled
|
|
4166
|
+
disabled,
|
|
4167
|
+
loading
|
|
4109
4168
|
}) => {
|
|
4110
4169
|
return /*#__PURE__*/React__default["default"].createElement("button", {
|
|
4111
4170
|
className: classNames__default["default"]('khb_btn', `khb_btn-${_type}`, `khb_btn-${_size}`, className),
|
|
4112
4171
|
onClick: onClick,
|
|
4113
|
-
disabled: disabled
|
|
4114
|
-
},
|
|
4172
|
+
disabled: disabled || loading
|
|
4173
|
+
}, loading && /*#__PURE__*/React__default["default"].createElement("svg", {
|
|
4174
|
+
className: "khb_btn-loader",
|
|
4175
|
+
xmlns: "http://www.w3.org/2000/svg",
|
|
4176
|
+
width: "12",
|
|
4177
|
+
height: "13",
|
|
4178
|
+
viewBox: "0 0 12 13"
|
|
4179
|
+
}, /*#__PURE__*/React__default["default"].createElement("path", {
|
|
4180
|
+
// style={{ fill: kind }}
|
|
4181
|
+
d: "M5.5,12a1,1,0,1,1,1,1A1,1,0,0,1,5.5,12ZM1.75,10.5A1.25,1.25,0,1,1,3,11.75,1.25,1.25,0,0,1,1.75,10.5Zm7.531.031a.75.75,0,1,1,.75.75A.75.75,0,0,1,9.281,10.531ZM0,7A1.5,1.5,0,1,1,1.5,8.5,1.5,1.5,0,0,1,0,7ZM11,7a.5.5,0,1,1,.5.5A.5.5,0,0,1,11,7ZM1.875,4.637a1.62,1.62,0,0,1,0-2.275,1.582,1.582,0,0,1,2.253,0,1.62,1.62,0,0,1,0,2.275,1.582,1.582,0,0,1-2.253,0ZM4.5,2a2,2,0,1,1,2,2A2,2,0,0,1,4.5,2ZM9.75,3.5a.25.25,0,1,1,.25.25A.25.25,0,0,1,9.75,3.5Z"
|
|
4182
|
+
})), children);
|
|
4115
4183
|
};
|
|
4116
4184
|
|
|
4117
4185
|
const AddButton$1 = () => {
|
|
@@ -4414,7 +4482,7 @@ const FormActions = ({
|
|
|
4414
4482
|
onClick: onSecondaryButtonClick
|
|
4415
4483
|
}, _secondaryLabel), /*#__PURE__*/React__default["default"].createElement(Button, {
|
|
4416
4484
|
onClick: onPrimaryButtonClick,
|
|
4417
|
-
|
|
4485
|
+
loading: _loading
|
|
4418
4486
|
}, _primaryLabel));
|
|
4419
4487
|
};
|
|
4420
4488
|
|
|
@@ -4578,11 +4646,6 @@ const useWidget = ({
|
|
|
4578
4646
|
imageBaseUrl
|
|
4579
4647
|
}) => {
|
|
4580
4648
|
const [list, setList] = React.useState([]);
|
|
4581
|
-
const [itemsList, setItemsList] = React.useState({
|
|
4582
|
-
web: [],
|
|
4583
|
-
mobile: []
|
|
4584
|
-
});
|
|
4585
|
-
const [itemsLoading, setItemsLoading] = React.useState(false);
|
|
4586
4649
|
const [loading, setLoading] = React.useState(false);
|
|
4587
4650
|
const [totalPages, setTotalPages] = React.useState(0);
|
|
4588
4651
|
const [totalRecords, setTotalRecords] = React.useState(0);
|
|
@@ -4598,8 +4661,7 @@ const useWidget = ({
|
|
|
4598
4661
|
onError,
|
|
4599
4662
|
onSuccess,
|
|
4600
4663
|
onLogout,
|
|
4601
|
-
widgetRoutesPrefix
|
|
4602
|
-
itemsRoutesPrefix
|
|
4664
|
+
widgetRoutesPrefix
|
|
4603
4665
|
} = useProviderState();
|
|
4604
4666
|
const {
|
|
4605
4667
|
changeSearch,
|
|
@@ -4657,67 +4719,6 @@ const useWidget = ({
|
|
|
4657
4719
|
setLoading(false);
|
|
4658
4720
|
}
|
|
4659
4721
|
}), [baseUrl, currentPageRef, limitRef, offsetRef, handleError, routes, token, widgetRoutesPrefix]);
|
|
4660
|
-
const getItems = React.useCallback(id => __awaiter(void 0, void 0, void 0, function* () {
|
|
4661
|
-
try {
|
|
4662
|
-
setItemsLoading(true);
|
|
4663
|
-
const api = getApiType({
|
|
4664
|
-
routes,
|
|
4665
|
-
action: 'ITEM',
|
|
4666
|
-
prefix: itemsRoutesPrefix,
|
|
4667
|
-
id
|
|
4668
|
-
});
|
|
4669
|
-
const response = yield commonApi({
|
|
4670
|
-
baseUrl,
|
|
4671
|
-
token,
|
|
4672
|
-
method: api.method,
|
|
4673
|
-
url: api.url,
|
|
4674
|
-
onError: handleError(CALLBACK_CODES.GET_ALL)
|
|
4675
|
-
});
|
|
4676
|
-
if ((response === null || response === void 0 ? void 0 : response.code) === 'SUCCESS') {
|
|
4677
|
-
setItemsLoading(false);
|
|
4678
|
-
const itemsResponse = dataGatter(response).reduce((acc, itemItem) => {
|
|
4679
|
-
if (itemItem['itemType'] === 'Web') acc.web.push(itemItem);else acc.mobile.push(itemItem);
|
|
4680
|
-
return acc;
|
|
4681
|
-
}, {
|
|
4682
|
-
web: [],
|
|
4683
|
-
mobile: []
|
|
4684
|
-
});
|
|
4685
|
-
return setItemsList(itemsResponse);
|
|
4686
|
-
}
|
|
4687
|
-
setItemsLoading(false);
|
|
4688
|
-
} catch (error) {
|
|
4689
|
-
setItemsLoading(false);
|
|
4690
|
-
}
|
|
4691
|
-
}), [baseUrl, handleError, routes, itemsRoutesPrefix, token]);
|
|
4692
|
-
const onDeleteItem = id => __awaiter(void 0, void 0, void 0, function* () {
|
|
4693
|
-
try {
|
|
4694
|
-
setItemsLoading(true);
|
|
4695
|
-
const api = getApiType({
|
|
4696
|
-
routes,
|
|
4697
|
-
action: 'DELETE',
|
|
4698
|
-
prefix: itemsRoutesPrefix,
|
|
4699
|
-
id
|
|
4700
|
-
});
|
|
4701
|
-
const response = yield commonApi({
|
|
4702
|
-
baseUrl,
|
|
4703
|
-
token,
|
|
4704
|
-
method: api.method,
|
|
4705
|
-
url: api.url,
|
|
4706
|
-
onError: handleError(CALLBACK_CODES.DELETE)
|
|
4707
|
-
});
|
|
4708
|
-
if ((response === null || response === void 0 ? void 0 : response.code) === 'SUCCESS') {
|
|
4709
|
-
setItemsLoading(false);
|
|
4710
|
-
onSuccess(CALLBACK_CODES.DELETE, response === null || response === void 0 ? void 0 : response.code, response === null || response === void 0 ? void 0 : response.message);
|
|
4711
|
-
if (itemData) getItems(itemData['_id']);
|
|
4712
|
-
return;
|
|
4713
|
-
}
|
|
4714
|
-
setItemsLoading(false);
|
|
4715
|
-
onError(CALLBACK_CODES.DELETE, response === null || response === void 0 ? void 0 : response.code, response === null || response === void 0 ? void 0 : response.message);
|
|
4716
|
-
} catch (error) {
|
|
4717
|
-
setItemsLoading(false);
|
|
4718
|
-
onError(CALLBACK_CODES.DELETE, INTERNAL_ERROR_CODE, error.message);
|
|
4719
|
-
}
|
|
4720
|
-
});
|
|
4721
4722
|
const onCofirmDeleteWidget = () => __awaiter(void 0, void 0, void 0, function* () {
|
|
4722
4723
|
try {
|
|
4723
4724
|
let proceed = true;
|
|
@@ -4780,6 +4781,7 @@ const useWidget = ({
|
|
|
4780
4781
|
});
|
|
4781
4782
|
if ((response === null || response === void 0 ? void 0 : response.code) === 'SUCCESS') {
|
|
4782
4783
|
setList(oldListData => oldListData.map(item => item['_id'] === id ? response.data : item));
|
|
4784
|
+
if (response.message) onSuccess(CALLBACK_CODES.PARTIAL_UPDATE, response === null || response === void 0 ? void 0 : response.code, response === null || response === void 0 ? void 0 : response.message);
|
|
4783
4785
|
} else {
|
|
4784
4786
|
onError(CALLBACK_CODES.PARTIAL_UPDATE, response === null || response === void 0 ? void 0 : response.code, response === null || response === void 0 ? void 0 : response.message);
|
|
4785
4787
|
}
|
|
@@ -4890,7 +4892,39 @@ const useWidget = ({
|
|
|
4890
4892
|
setFormState(undefined);
|
|
4891
4893
|
setItemData(null);
|
|
4892
4894
|
};
|
|
4893
|
-
const
|
|
4895
|
+
const getAndSetWidget = id => __awaiter(void 0, void 0, void 0, function* () {
|
|
4896
|
+
try {
|
|
4897
|
+
setLoading(true);
|
|
4898
|
+
const api = getApiType({
|
|
4899
|
+
routes,
|
|
4900
|
+
action: 'GET_ONE',
|
|
4901
|
+
prefix: widgetRoutesPrefix,
|
|
4902
|
+
id
|
|
4903
|
+
});
|
|
4904
|
+
const response = yield commonApi({
|
|
4905
|
+
baseUrl,
|
|
4906
|
+
token,
|
|
4907
|
+
url: api.url,
|
|
4908
|
+
method: api.method,
|
|
4909
|
+
onError: handleError(CALLBACK_CODES.GET_SINGLE)
|
|
4910
|
+
});
|
|
4911
|
+
if ((response === null || response === void 0 ? void 0 : response.code) === 'SUCCESS') {
|
|
4912
|
+
setLoading(false);
|
|
4913
|
+
const data = response === null || response === void 0 ? void 0 : response.data;
|
|
4914
|
+
if (Array.isArray(data.items)) {
|
|
4915
|
+
const items = JSON.parse(JSON.stringify(data.items));
|
|
4916
|
+
data.webItems = items.filter(item => item.itemType === 'Web');
|
|
4917
|
+
data.mobileItems = items.filter(item => item.itemType === 'Mobile');
|
|
4918
|
+
delete data.items;
|
|
4919
|
+
}
|
|
4920
|
+
setItemData(data);
|
|
4921
|
+
}
|
|
4922
|
+
} catch (error) {
|
|
4923
|
+
setLoading(false);
|
|
4924
|
+
onError(CALLBACK_CODES.UPDATE, '', error.message);
|
|
4925
|
+
}
|
|
4926
|
+
});
|
|
4927
|
+
const onChangeFormState = (state, data) => __awaiter(void 0, void 0, void 0, function* () {
|
|
4894
4928
|
setFormState(state);
|
|
4895
4929
|
// fetch ItemsTypes & WidgetTypes if needed
|
|
4896
4930
|
if (state === 'ADD' || state === 'UPDATE') {
|
|
@@ -4899,52 +4933,14 @@ const useWidget = ({
|
|
|
4899
4933
|
}
|
|
4900
4934
|
// get Item data if widget is updating
|
|
4901
4935
|
if (state === 'UPDATE' && data) {
|
|
4902
|
-
|
|
4903
|
-
getItems(data['_id']);
|
|
4904
|
-
}
|
|
4905
|
-
setItemData(data);
|
|
4936
|
+
getAndSetWidget(data['_id']);
|
|
4906
4937
|
} else if (state === 'ADD') {
|
|
4907
4938
|
// reset Item data if widget is adding
|
|
4908
|
-
setItemsList({
|
|
4909
|
-
web: [],
|
|
4910
|
-
mobile: []
|
|
4911
|
-
});
|
|
4912
4939
|
setItemData(null);
|
|
4913
4940
|
} else if (state === 'DELETE' && data) {
|
|
4914
4941
|
setItemData(data);
|
|
4915
4942
|
setFormState(state);
|
|
4916
4943
|
}
|
|
4917
|
-
};
|
|
4918
|
-
const onItemFormSubmit = (state, data, updateId) => __awaiter(void 0, void 0, void 0, function* () {
|
|
4919
|
-
setItemsLoading(true);
|
|
4920
|
-
const code = state === 'ADD' ? CALLBACK_CODES.CREATE : CALLBACK_CODES.UPDATE;
|
|
4921
|
-
try {
|
|
4922
|
-
const api = getApiType({
|
|
4923
|
-
routes,
|
|
4924
|
-
action: state === 'ADD' ? 'CREATE' : 'UPDATE',
|
|
4925
|
-
prefix: itemsRoutesPrefix,
|
|
4926
|
-
id: updateId
|
|
4927
|
-
});
|
|
4928
|
-
const response = yield commonApi({
|
|
4929
|
-
baseUrl,
|
|
4930
|
-
token,
|
|
4931
|
-
data,
|
|
4932
|
-
url: api.url,
|
|
4933
|
-
method: api.method,
|
|
4934
|
-
onError: handleError(code)
|
|
4935
|
-
});
|
|
4936
|
-
if ((response === null || response === void 0 ? void 0 : response.code) === 'SUCCESS') {
|
|
4937
|
-
setItemsLoading(false);
|
|
4938
|
-
onSuccess(code, response === null || response === void 0 ? void 0 : response.code, response === null || response === void 0 ? void 0 : response.message);
|
|
4939
|
-
if (itemData) getItems(itemData['_id']);
|
|
4940
|
-
} else {
|
|
4941
|
-
setItemsLoading(false);
|
|
4942
|
-
onError(code, response === null || response === void 0 ? void 0 : response.code, response === null || response === void 0 ? void 0 : response.message);
|
|
4943
|
-
}
|
|
4944
|
-
} catch (error) {
|
|
4945
|
-
setItemsLoading(false);
|
|
4946
|
-
onError(code, INTERNAL_ERROR_CODE, error.message);
|
|
4947
|
-
}
|
|
4948
4944
|
});
|
|
4949
4945
|
// Image Upload operations
|
|
4950
4946
|
const onImageUpload = file => __awaiter(void 0, void 0, void 0, function* () {
|
|
@@ -5030,7 +5026,6 @@ const useWidget = ({
|
|
|
5030
5026
|
itemData,
|
|
5031
5027
|
onChangeFormState,
|
|
5032
5028
|
onCloseForm,
|
|
5033
|
-
onDeleteItem,
|
|
5034
5029
|
onWidgetFormSubmit,
|
|
5035
5030
|
onCofirmDeleteWidget,
|
|
5036
5031
|
onPartialUpdateWidget,
|
|
@@ -5041,11 +5036,7 @@ const useWidget = ({
|
|
|
5041
5036
|
changeSearch,
|
|
5042
5037
|
collectionDataLoading,
|
|
5043
5038
|
getCollectionData,
|
|
5044
|
-
collectionData
|
|
5045
|
-
// Items
|
|
5046
|
-
itemsList,
|
|
5047
|
-
itemsLoading,
|
|
5048
|
-
onItemFormSubmit
|
|
5039
|
+
collectionData
|
|
5049
5040
|
};
|
|
5050
5041
|
};
|
|
5051
5042
|
|
|
@@ -6163,11 +6154,6 @@ const WidgetContextProvider = ({
|
|
|
6163
6154
|
canDelete: _canDelete = false,
|
|
6164
6155
|
loader: _loader = /*#__PURE__*/React__default["default"].createElement("span", null),
|
|
6165
6156
|
onPartialUpdateWidget: _onPartialUpdateWidget = () => Promise.resolve(),
|
|
6166
|
-
// Item
|
|
6167
|
-
webItems: _webItems = [],
|
|
6168
|
-
mobileItems: _mobileItems = [],
|
|
6169
|
-
itemsLoading: _itemsLoading = false,
|
|
6170
|
-
onItemFormSubmit: _onItemFormSubmit = () => {},
|
|
6171
6157
|
reactSelectStyles: _reactSelectStyles = {},
|
|
6172
6158
|
// other
|
|
6173
6159
|
children
|
|
@@ -6215,12 +6201,7 @@ const WidgetContextProvider = ({
|
|
|
6215
6201
|
columns: _columns,
|
|
6216
6202
|
data: _data,
|
|
6217
6203
|
canDelete: _canDelete,
|
|
6218
|
-
loader: _loader
|
|
6219
|
-
// Item
|
|
6220
|
-
webItems: _webItems,
|
|
6221
|
-
mobileItems: _mobileItems,
|
|
6222
|
-
itemsLoading: _itemsLoading,
|
|
6223
|
-
onItemFormSubmit: _onItemFormSubmit
|
|
6204
|
+
loader: _loader
|
|
6224
6205
|
}
|
|
6225
6206
|
}, children);
|
|
6226
6207
|
};
|
|
@@ -6368,6 +6349,72 @@ $({ target: 'String', proto: true, forced: !correctIsRegExpLogic('includes') },
|
|
|
6368
6349
|
}
|
|
6369
6350
|
});
|
|
6370
6351
|
|
|
6352
|
+
const ChevronDown = ({
|
|
6353
|
+
srText,
|
|
6354
|
+
className
|
|
6355
|
+
}) => {
|
|
6356
|
+
return /*#__PURE__*/React__default["default"].createElement(React__default["default"].Fragment, null, srText ? /*#__PURE__*/React__default["default"].createElement("span", {
|
|
6357
|
+
className: "khb_sr-only"
|
|
6358
|
+
}, srText) : null, /*#__PURE__*/React__default["default"].createElement("svg", {
|
|
6359
|
+
xmlns: "http://www.w3.org/2000/svg",
|
|
6360
|
+
viewBox: "-5 -8 24 24",
|
|
6361
|
+
width: "24",
|
|
6362
|
+
fill: "currentColor",
|
|
6363
|
+
className: className
|
|
6364
|
+
}, /*#__PURE__*/React__default["default"].createElement("path", {
|
|
6365
|
+
d: "M7.071 5.314l4.95-4.95a1 1 0 1 1 1.414 1.414L7.778 7.435a1 1 0 0 1-1.414 0L.707 1.778A1 1 0 1 1 2.121.364l4.95 4.95z"
|
|
6366
|
+
})));
|
|
6367
|
+
};
|
|
6368
|
+
|
|
6369
|
+
const ChevronUp = ({
|
|
6370
|
+
srText,
|
|
6371
|
+
className
|
|
6372
|
+
}) => {
|
|
6373
|
+
return /*#__PURE__*/React__default["default"].createElement(React__default["default"].Fragment, null, srText ? /*#__PURE__*/React__default["default"].createElement("span", {
|
|
6374
|
+
className: "khb_sr-only"
|
|
6375
|
+
}, srText) : null, /*#__PURE__*/React__default["default"].createElement("svg", {
|
|
6376
|
+
xmlns: "http://www.w3.org/2000/svg",
|
|
6377
|
+
viewBox: "-5 -7.5 24 24",
|
|
6378
|
+
width: "24",
|
|
6379
|
+
fill: "currentColor",
|
|
6380
|
+
className: className
|
|
6381
|
+
}, /*#__PURE__*/React__default["default"].createElement("path", {
|
|
6382
|
+
d: "M7.071 2.828l-4.95 4.95A1 1 0 0 1 .707 6.364L6.364.707a1 1 0 0 1 1.414 0l5.657 5.657a1 1 0 0 1-1.414 1.414l-4.95-4.95z"
|
|
6383
|
+
})));
|
|
6384
|
+
};
|
|
6385
|
+
|
|
6386
|
+
const Accordian = ({
|
|
6387
|
+
id,
|
|
6388
|
+
className,
|
|
6389
|
+
children,
|
|
6390
|
+
open,
|
|
6391
|
+
onToggle,
|
|
6392
|
+
title,
|
|
6393
|
+
collapseId,
|
|
6394
|
+
footerContent
|
|
6395
|
+
}) => {
|
|
6396
|
+
return /*#__PURE__*/React__default["default"].createElement("div", null, /*#__PURE__*/React__default["default"].createElement("h2", {
|
|
6397
|
+
id: id
|
|
6398
|
+
}, /*#__PURE__*/React__default["default"].createElement("button", {
|
|
6399
|
+
type: "button",
|
|
6400
|
+
className: "khb_accordian-header",
|
|
6401
|
+
"data-accordion-target": `#${collapseId}`,
|
|
6402
|
+
"aria-expanded": "true",
|
|
6403
|
+
"aria-controls": collapseId,
|
|
6404
|
+
onClick: () => onToggle && onToggle(!open)
|
|
6405
|
+
}, /*#__PURE__*/React__default["default"].createElement("span", null, title), open ? /*#__PURE__*/React__default["default"].createElement(ChevronUp, null) : /*#__PURE__*/React__default["default"].createElement(ChevronDown, null))), /*#__PURE__*/React__default["default"].createElement("div", {
|
|
6406
|
+
id: collapseId,
|
|
6407
|
+
className: classNames__default["default"]('khb_accordian-body', {
|
|
6408
|
+
hidden: !open
|
|
6409
|
+
}),
|
|
6410
|
+
"aria-labelledby": id
|
|
6411
|
+
}, /*#__PURE__*/React__default["default"].createElement("div", {
|
|
6412
|
+
className: "khb_accordian-content"
|
|
6413
|
+
}, children), footerContent && /*#__PURE__*/React__default["default"].createElement("div", {
|
|
6414
|
+
className: "khb_accordian-footer"
|
|
6415
|
+
}, footerContent)));
|
|
6416
|
+
};
|
|
6417
|
+
|
|
6371
6418
|
const ImageUpload = ({
|
|
6372
6419
|
className,
|
|
6373
6420
|
text,
|
|
@@ -6378,6 +6425,7 @@ const ImageUpload = ({
|
|
|
6378
6425
|
imgId: _imgId = '',
|
|
6379
6426
|
onImageUpload,
|
|
6380
6427
|
onImageRemove,
|
|
6428
|
+
clearError,
|
|
6381
6429
|
baseUrl,
|
|
6382
6430
|
disabled: _disabled = false
|
|
6383
6431
|
}) => {
|
|
@@ -6396,7 +6444,7 @@ const ImageUpload = ({
|
|
|
6396
6444
|
onDrop: (acceptedFiles, rejectedFiles) => __awaiter(void 0, void 0, void 0, function* () {
|
|
6397
6445
|
var _a, _b, _c;
|
|
6398
6446
|
try {
|
|
6399
|
-
|
|
6447
|
+
if (typeof clearError === 'function') clearError();
|
|
6400
6448
|
if ((acceptedFiles === null || acceptedFiles === void 0 ? void 0 : acceptedFiles.length) > 0) {
|
|
6401
6449
|
const regex = /\.(png|jpeg|jpg|webp|svg)$/gi;
|
|
6402
6450
|
const files = acceptedFiles.filter(file => regex.test(file.name));
|
|
@@ -6442,174 +6490,127 @@ const ImageUpload = ({
|
|
|
6442
6490
|
className: "khb_img-wrapper-del"
|
|
6443
6491
|
}, /*#__PURE__*/React__default["default"].createElement(Close, null)));
|
|
6444
6492
|
};
|
|
6445
|
-
|
|
6493
|
+
if (!isEmpty(img) && isString(img) && img) {
|
|
6494
|
+
return /*#__PURE__*/React__default["default"].createElement("div", {
|
|
6495
|
+
className: "khb_img-upload-wrapper-1"
|
|
6496
|
+
}, /*#__PURE__*/React__default["default"].createElement("div", {
|
|
6497
|
+
className: "khb_img-upload-wrapper-2"
|
|
6498
|
+
}, /*#__PURE__*/React__default["default"].createElement("div", null, showImage(img))));
|
|
6499
|
+
}
|
|
6500
|
+
return /*#__PURE__*/React__default["default"].createElement(React__default["default"].Fragment, null, /*#__PURE__*/React__default["default"].createElement("div", Object.assign({}, getRootProps(), {
|
|
6446
6501
|
className: "khb_img-upload-wrapper-1"
|
|
6447
|
-
}, /*#__PURE__*/React__default["default"].createElement("
|
|
6448
|
-
className: "khb_img-upload-wrapper-2"
|
|
6449
|
-
}, !isEmpty(img) && isString(img) && img ? showImage(img) : /*#__PURE__*/React__default["default"].createElement("div", Object.assign({}, getRootProps({
|
|
6450
|
-
className
|
|
6451
|
-
})), /*#__PURE__*/React__default["default"].createElement("input", Object.assign({
|
|
6502
|
+
}), /*#__PURE__*/React__default["default"].createElement("input", Object.assign({
|
|
6452
6503
|
disabled: _disabled
|
|
6453
6504
|
}, getInputProps(), {
|
|
6454
6505
|
id: "file-upload"
|
|
6455
|
-
})),
|
|
6506
|
+
})), /*#__PURE__*/React__default["default"].createElement("label", {
|
|
6507
|
+
htmlFor: "file-upload",
|
|
6508
|
+
className: "khb_img-upload-wrapper-2"
|
|
6509
|
+
}, /*#__PURE__*/React__default["default"].createElement("div", {
|
|
6510
|
+
className: className
|
|
6511
|
+
}, text))), error && /*#__PURE__*/React__default["default"].createElement("p", {
|
|
6456
6512
|
className: "khb_input-error"
|
|
6457
6513
|
}, error));
|
|
6458
6514
|
};
|
|
6459
6515
|
var ImageUpload$1 = /*#__PURE__*/React__default["default"].memo(ImageUpload);
|
|
6460
6516
|
|
|
6461
|
-
const
|
|
6462
|
-
srText,
|
|
6463
|
-
className
|
|
6464
|
-
}) => {
|
|
6465
|
-
return /*#__PURE__*/React__default["default"].createElement(React__default["default"].Fragment, null, srText ? /*#__PURE__*/React__default["default"].createElement("span", {
|
|
6466
|
-
className: "khb_sr-only"
|
|
6467
|
-
}, srText) : null, /*#__PURE__*/React__default["default"].createElement("svg", {
|
|
6468
|
-
xmlns: "http://www.w3.org/2000/svg",
|
|
6469
|
-
viewBox: "-5 -8 24 24",
|
|
6470
|
-
width: "24",
|
|
6471
|
-
fill: "currentColor",
|
|
6472
|
-
className: className
|
|
6473
|
-
}, /*#__PURE__*/React__default["default"].createElement("path", {
|
|
6474
|
-
d: "M7.071 5.314l4.95-4.95a1 1 0 1 1 1.414 1.414L7.778 7.435a1 1 0 0 1-1.414 0L.707 1.778A1 1 0 1 1 2.121.364l4.95 4.95z"
|
|
6475
|
-
})));
|
|
6476
|
-
};
|
|
6477
|
-
|
|
6478
|
-
const ChevronUp = ({
|
|
6479
|
-
srText,
|
|
6480
|
-
className
|
|
6481
|
-
}) => {
|
|
6482
|
-
return /*#__PURE__*/React__default["default"].createElement(React__default["default"].Fragment, null, srText ? /*#__PURE__*/React__default["default"].createElement("span", {
|
|
6483
|
-
className: "khb_sr-only"
|
|
6484
|
-
}, srText) : null, /*#__PURE__*/React__default["default"].createElement("svg", {
|
|
6485
|
-
xmlns: "http://www.w3.org/2000/svg",
|
|
6486
|
-
viewBox: "-5 -7.5 24 24",
|
|
6487
|
-
width: "24",
|
|
6488
|
-
fill: "currentColor",
|
|
6489
|
-
className: className
|
|
6490
|
-
}, /*#__PURE__*/React__default["default"].createElement("path", {
|
|
6491
|
-
d: "M7.071 2.828l-4.95 4.95A1 1 0 0 1 .707 6.364L6.364.707a1 1 0 0 1 1.414 0l5.657 5.657a1 1 0 0 1-1.414 1.414l-4.95-4.95z"
|
|
6492
|
-
})));
|
|
6493
|
-
};
|
|
6494
|
-
|
|
6495
|
-
const Accordian = ({
|
|
6496
|
-
id,
|
|
6497
|
-
className,
|
|
6517
|
+
const ConfirmPopOver = ({
|
|
6498
6518
|
children,
|
|
6499
|
-
|
|
6500
|
-
onToggle,
|
|
6519
|
+
onConfirm,
|
|
6501
6520
|
title,
|
|
6502
|
-
|
|
6503
|
-
|
|
6521
|
+
confirmText: _confirmText = 'Yes',
|
|
6522
|
+
cancelText: _cancelText = 'No'
|
|
6504
6523
|
}) => {
|
|
6505
|
-
|
|
6506
|
-
|
|
6507
|
-
|
|
6508
|
-
|
|
6509
|
-
|
|
6510
|
-
|
|
6511
|
-
|
|
6512
|
-
|
|
6513
|
-
|
|
6514
|
-
|
|
6515
|
-
|
|
6516
|
-
|
|
6517
|
-
|
|
6518
|
-
|
|
6519
|
-
"
|
|
6524
|
+
const [isPopoverOpen, setIsPopoverOpen] = React.useState(false);
|
|
6525
|
+
const onConfirmClick = () => {
|
|
6526
|
+
setIsPopoverOpen(false);
|
|
6527
|
+
onConfirm();
|
|
6528
|
+
};
|
|
6529
|
+
return /*#__PURE__*/React__default["default"].createElement(reactTinyPopover.Popover, {
|
|
6530
|
+
containerClassName: "khb_confirm-popover",
|
|
6531
|
+
isOpen: isPopoverOpen,
|
|
6532
|
+
padding: 10,
|
|
6533
|
+
onClickOutside: () => setIsPopoverOpen(false),
|
|
6534
|
+
content: () => /*#__PURE__*/React__default["default"].createElement("div", {
|
|
6535
|
+
className: "khb_confirm-popover-content"
|
|
6536
|
+
}, /*#__PURE__*/React__default["default"].createElement("div", {
|
|
6537
|
+
className: "khb_confirm-popover-title"
|
|
6538
|
+
}, title), /*#__PURE__*/React__default["default"].createElement("div", {
|
|
6539
|
+
className: "khb_confirm-popover-footer"
|
|
6540
|
+
}, /*#__PURE__*/React__default["default"].createElement(Button, {
|
|
6541
|
+
type: "secondary",
|
|
6542
|
+
onClick: () => setIsPopoverOpen(false)
|
|
6543
|
+
}, _cancelText), /*#__PURE__*/React__default["default"].createElement(Button, {
|
|
6544
|
+
type: "primary",
|
|
6545
|
+
onClick: onConfirmClick
|
|
6546
|
+
}, _confirmText)))
|
|
6520
6547
|
}, /*#__PURE__*/React__default["default"].createElement("div", {
|
|
6521
|
-
|
|
6522
|
-
}, children)
|
|
6523
|
-
className: "khb_accordian-footer"
|
|
6524
|
-
}, footerContent)));
|
|
6548
|
+
onClick: () => setIsPopoverOpen(true)
|
|
6549
|
+
}, children));
|
|
6525
6550
|
};
|
|
6526
6551
|
|
|
6527
6552
|
const ItemsAccordian = ({
|
|
6528
|
-
schema,
|
|
6529
|
-
onDataSubmit,
|
|
6530
6553
|
show,
|
|
6531
6554
|
title,
|
|
6532
6555
|
id,
|
|
6533
|
-
itemsData,
|
|
6534
6556
|
collapseId,
|
|
6535
6557
|
toggleShow,
|
|
6558
|
+
loading,
|
|
6559
|
+
name,
|
|
6560
|
+
errors,
|
|
6561
|
+
control,
|
|
6562
|
+
register,
|
|
6563
|
+
setError,
|
|
6536
6564
|
itemType,
|
|
6537
|
-
|
|
6538
|
-
onDelete,
|
|
6565
|
+
clearError,
|
|
6539
6566
|
addText: _addText = 'Add',
|
|
6540
|
-
|
|
6541
|
-
cancelText: _cancelText = 'Cancel',
|
|
6542
|
-
deleteText: _deleteText = 'Delete',
|
|
6543
|
-
editText: _editText = 'Edit'
|
|
6567
|
+
deleteText: _deleteText = 'Delete'
|
|
6544
6568
|
}) => {
|
|
6545
|
-
const
|
|
6546
|
-
|
|
6569
|
+
const {
|
|
6570
|
+
baseUrl
|
|
6571
|
+
} = useProviderState();
|
|
6572
|
+
const {
|
|
6573
|
+
onImageUpload,
|
|
6574
|
+
onImageRemove,
|
|
6575
|
+
t,
|
|
6576
|
+
imageBaseUrl
|
|
6577
|
+
} = useWidgetState();
|
|
6547
6578
|
const [itemsShow, setItemsShow] = React.useState([]);
|
|
6548
|
-
const
|
|
6549
|
-
|
|
6550
|
-
|
|
6551
|
-
|
|
6552
|
-
|
|
6553
|
-
|
|
6554
|
-
|
|
6555
|
-
}
|
|
6556
|
-
const onItemFormSubmitClick = index => {
|
|
6557
|
-
var _a;
|
|
6558
|
-
(_a = formRefs.current[index]) === null || _a === void 0 ? void 0 : _a.dispatchEvent(new Event('submit', {
|
|
6559
|
-
cancelable: true,
|
|
6560
|
-
bubbles: true
|
|
6561
|
-
}));
|
|
6562
|
-
};
|
|
6563
|
-
const onItemFormSubmit = (index, formData) => {
|
|
6564
|
-
var _a;
|
|
6565
|
-
const state = index === editingItemIndex && data[index] ? 'UPDATE' : 'ADD';
|
|
6566
|
-
const finalData = Object.assign(Object.assign({}, formData), {
|
|
6567
|
-
widgetId,
|
|
6568
|
-
itemType,
|
|
6569
|
-
sequence: index
|
|
6570
|
-
});
|
|
6571
|
-
if (finalData['img'] && finalData['img']['_id']) {
|
|
6572
|
-
const id = finalData['img']['_id'];
|
|
6573
|
-
finalData['img'] = id;
|
|
6574
|
-
}
|
|
6575
|
-
onDataSubmit(state, finalData, state === 'UPDATE' ? (_a = data[index]) === null || _a === void 0 ? void 0 : _a['_id'] : undefined);
|
|
6576
|
-
setEditingItemIndex(undefined);
|
|
6577
|
-
};
|
|
6579
|
+
const {
|
|
6580
|
+
fields: items,
|
|
6581
|
+
append: appendItem,
|
|
6582
|
+
remove: removeItem
|
|
6583
|
+
} = reactHookForm.useFieldArray({
|
|
6584
|
+
name,
|
|
6585
|
+
control
|
|
6586
|
+
});
|
|
6578
6587
|
const onItemsToggleClick = (index, status) => {
|
|
6588
|
+
var _a;
|
|
6579
6589
|
const newItemsShow = [...itemsShow];
|
|
6580
|
-
const newStatus = typeof status === 'undefined' ? !newItemsShow[index] : status;
|
|
6581
|
-
newItemsShow.fill(false);
|
|
6590
|
+
const newStatus = ((_a = errors === null || errors === void 0 ? void 0 : errors[name]) === null || _a === void 0 ? void 0 : _a[index]) ? true : typeof status === 'undefined' ? !newItemsShow[index] : status;
|
|
6582
6591
|
newItemsShow[index] = newStatus;
|
|
6583
6592
|
setItemsShow(newItemsShow);
|
|
6584
6593
|
};
|
|
6585
|
-
|
|
6586
|
-
|
|
6587
|
-
|
|
6588
|
-
|
|
6589
|
-
|
|
6590
|
-
|
|
6591
|
-
const onItemAddClick = () => {
|
|
6592
|
-
const newItemsShow = [...itemsShow];
|
|
6593
|
-
newItemsShow.push(false);
|
|
6594
|
-
setItemsShow(newItemsShow);
|
|
6595
|
-
formRefs.current.push(null);
|
|
6596
|
-
onItemsToggleClick(newItemsShow.length - 1);
|
|
6597
|
-
};
|
|
6598
|
-
const onItemEditClick = index => {
|
|
6599
|
-
setEditingItemIndex(index);
|
|
6600
|
-
};
|
|
6601
|
-
const onItemCancelClick = index => {
|
|
6602
|
-
if (!data[index]) {
|
|
6603
|
-
onItemRemoveClick(index);
|
|
6604
|
-
} else {
|
|
6605
|
-
setEditingItemIndex(undefined);
|
|
6594
|
+
React.useEffect(() => {
|
|
6595
|
+
var _a, _b;
|
|
6596
|
+
if (errors && ((_a = errors === null || errors === void 0 ? void 0 : errors[name]) === null || _a === void 0 ? void 0 : _a.length) > 0) {
|
|
6597
|
+
(_b = errors === null || errors === void 0 ? void 0 : errors[name]) === null || _b === void 0 ? void 0 : _b.forEach((errorItem, index) => {
|
|
6598
|
+
if (errorItem) onItemsToggleClick(index, true);
|
|
6599
|
+
});
|
|
6606
6600
|
}
|
|
6607
|
-
|
|
6608
|
-
};
|
|
6609
|
-
const
|
|
6610
|
-
|
|
6611
|
-
|
|
6612
|
-
|
|
6601
|
+
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
6602
|
+
}, [errors, name, errors === null || errors === void 0 ? void 0 : errors[name]]);
|
|
6603
|
+
const addTab = index => {
|
|
6604
|
+
appendItem({
|
|
6605
|
+
title: '',
|
|
6606
|
+
subtitle: '',
|
|
6607
|
+
altText: '',
|
|
6608
|
+
link: '',
|
|
6609
|
+
img: '',
|
|
6610
|
+
srcset: [],
|
|
6611
|
+
itemType,
|
|
6612
|
+
sequence: index
|
|
6613
|
+
});
|
|
6613
6614
|
};
|
|
6614
6615
|
return /*#__PURE__*/React__default["default"].createElement(Accordian, {
|
|
6615
6616
|
open: show,
|
|
@@ -6619,76 +6620,107 @@ const ItemsAccordian = ({
|
|
|
6619
6620
|
id: id,
|
|
6620
6621
|
footerContent: /*#__PURE__*/React__default["default"].createElement(Button, {
|
|
6621
6622
|
size: "sm",
|
|
6622
|
-
|
|
6623
|
-
|
|
6623
|
+
disabled: loading,
|
|
6624
|
+
onClick: () => addTab(items.length)
|
|
6624
6625
|
}, _addText)
|
|
6625
6626
|
}, /*#__PURE__*/React__default["default"].createElement("div", {
|
|
6626
6627
|
className: "khb_item-items"
|
|
6627
|
-
},
|
|
6628
|
-
|
|
6629
|
-
|
|
6630
|
-
|
|
6631
|
-
|
|
6632
|
-
|
|
6633
|
-
|
|
6634
|
-
|
|
6635
|
-
|
|
6636
|
-
|
|
6637
|
-
|
|
6638
|
-
|
|
6639
|
-
|
|
6640
|
-
|
|
6641
|
-
|
|
6642
|
-
|
|
6643
|
-
|
|
6644
|
-
|
|
6645
|
-
|
|
6646
|
-
size: "sm",
|
|
6647
|
-
onClick: () => onDeleteClick(index)
|
|
6648
|
-
}, _deleteText))
|
|
6649
|
-
}, /*#__PURE__*/React__default["default"].createElement(Form, {
|
|
6650
|
-
schema: schema,
|
|
6651
|
-
data: data[index],
|
|
6652
|
-
onSubmit: data => onItemFormSubmit(index, data),
|
|
6653
|
-
ref: el => formRefs.current[index] = el,
|
|
6654
|
-
enable: editingItemIndex === index || !data[index],
|
|
6655
|
-
isUpdating: editingItemIndex === index
|
|
6656
|
-
})))));
|
|
6657
|
-
};
|
|
6658
|
-
|
|
6659
|
-
const ConfirmPopOver = ({
|
|
6660
|
-
children,
|
|
6661
|
-
onConfirm,
|
|
6662
|
-
title,
|
|
6663
|
-
confirmText: _confirmText = 'Yes',
|
|
6664
|
-
cancelText: _cancelText = 'No'
|
|
6665
|
-
}) => {
|
|
6666
|
-
const [isPopoverOpen, setIsPopoverOpen] = React.useState(false);
|
|
6667
|
-
const onConfirmClick = () => {
|
|
6668
|
-
setIsPopoverOpen(false);
|
|
6669
|
-
onConfirm();
|
|
6670
|
-
};
|
|
6671
|
-
return /*#__PURE__*/React__default["default"].createElement(reactTinyPopover.Popover, {
|
|
6672
|
-
containerClassName: "khb_confirm-popover",
|
|
6673
|
-
isOpen: isPopoverOpen,
|
|
6674
|
-
padding: 10,
|
|
6675
|
-
onClickOutside: () => setIsPopoverOpen(false),
|
|
6676
|
-
content: () => /*#__PURE__*/React__default["default"].createElement("div", {
|
|
6677
|
-
className: "khb_confirm-popover-content"
|
|
6628
|
+
}, items === null || items === void 0 ? void 0 : items.map((field, index) => {
|
|
6629
|
+
var _a, _b, _c, _d, _e, _f;
|
|
6630
|
+
return /*#__PURE__*/React__default["default"].createElement(Accordian, {
|
|
6631
|
+
key: index,
|
|
6632
|
+
open: itemsShow[index],
|
|
6633
|
+
onToggle: () => onItemsToggleClick(index),
|
|
6634
|
+
title: `Item ${index + 1}`,
|
|
6635
|
+
collapseId: `${id}-item-content-${index}`,
|
|
6636
|
+
id: `${id}-item-${index}`,
|
|
6637
|
+
footerContent: /*#__PURE__*/React__default["default"].createElement(ConfirmPopOver, {
|
|
6638
|
+
onConfirm: () => removeItem(index),
|
|
6639
|
+
title: t('item.deleteTitle'),
|
|
6640
|
+
confirmText: t('yesButtonText'),
|
|
6641
|
+
cancelText: t('cancelButtonText')
|
|
6642
|
+
}, /*#__PURE__*/React__default["default"].createElement(Button, {
|
|
6643
|
+
type: "danger",
|
|
6644
|
+
size: "sm",
|
|
6645
|
+
disabled: loading
|
|
6646
|
+
}, _deleteText))
|
|
6678
6647
|
}, /*#__PURE__*/React__default["default"].createElement("div", {
|
|
6679
|
-
className: "
|
|
6680
|
-
},
|
|
6681
|
-
|
|
6682
|
-
|
|
6683
|
-
|
|
6684
|
-
|
|
6685
|
-
|
|
6686
|
-
type:
|
|
6687
|
-
|
|
6688
|
-
|
|
6689
|
-
|
|
6690
|
-
|
|
6691
|
-
|
|
6648
|
+
className: "khb-form-items"
|
|
6649
|
+
}, /*#__PURE__*/React__default["default"].createElement(Input, {
|
|
6650
|
+
rest: register(`${name}.${index}.title`, {
|
|
6651
|
+
required: t('item.titleRequired')
|
|
6652
|
+
}),
|
|
6653
|
+
label: t('item.title'),
|
|
6654
|
+
error: (_d = (_c = (_b = (_a = errors[name]) === null || _a === void 0 ? void 0 : _a[index]) === null || _b === void 0 ? void 0 : _b['title']) === null || _c === void 0 ? void 0 : _c.message) === null || _d === void 0 ? void 0 : _d.toString(),
|
|
6655
|
+
type: 'text',
|
|
6656
|
+
className: "w-full p-2",
|
|
6657
|
+
placeholder: t('item.titlePlaceholder'),
|
|
6658
|
+
required: true
|
|
6659
|
+
}), /*#__PURE__*/React__default["default"].createElement(Input, {
|
|
6660
|
+
rest: register(`${name}.${index}.subtitle`),
|
|
6661
|
+
label: t('item.subtitle'),
|
|
6662
|
+
type: 'text',
|
|
6663
|
+
className: "w-full p-2",
|
|
6664
|
+
placeholder: t('item.subTitlePlaceholder')
|
|
6665
|
+
}), /*#__PURE__*/React__default["default"].createElement(Input, {
|
|
6666
|
+
rest: register(`${name}.${index}.altText`),
|
|
6667
|
+
label: t('item.altText'),
|
|
6668
|
+
type: 'text',
|
|
6669
|
+
className: "w-full p-2",
|
|
6670
|
+
placeholder: t('item.altTextPlaceholder')
|
|
6671
|
+
}), /*#__PURE__*/React__default["default"].createElement(Input, {
|
|
6672
|
+
rest: register(`${name}.${index}.link`),
|
|
6673
|
+
label: t('item.link'),
|
|
6674
|
+
type: 'url',
|
|
6675
|
+
className: "w-full p-2",
|
|
6676
|
+
placeholder: t('item.linkPlaceholder')
|
|
6677
|
+
}), /*#__PURE__*/React__default["default"].createElement(Input.SrcSet, {
|
|
6678
|
+
control: control,
|
|
6679
|
+
register: register,
|
|
6680
|
+
label: t(`item.srcset`),
|
|
6681
|
+
name: `${name}.${index}.srcset`,
|
|
6682
|
+
errors: (_f = (_e = errors[name]) === null || _e === void 0 ? void 0 : _e[index]) === null || _f === void 0 ? void 0 : _f['srcset'],
|
|
6683
|
+
t: t
|
|
6684
|
+
}), /*#__PURE__*/React__default["default"].createElement("div", {
|
|
6685
|
+
className: "kms_input-wrapper"
|
|
6686
|
+
}, /*#__PURE__*/React__default["default"].createElement("label", {
|
|
6687
|
+
className: "kms_input-label"
|
|
6688
|
+
}, t('item.image')), /*#__PURE__*/React__default["default"].createElement(reactHookForm.Controller, {
|
|
6689
|
+
control: control,
|
|
6690
|
+
name: `${name}.${index}.img`,
|
|
6691
|
+
render: ({
|
|
6692
|
+
field
|
|
6693
|
+
}) => {
|
|
6694
|
+
var _a, _b, _c, _d;
|
|
6695
|
+
return /*#__PURE__*/React__default["default"].createElement(ImageUpload$1, {
|
|
6696
|
+
imgId: field.value,
|
|
6697
|
+
clearError: () => clearError(`${name}.${index}.img`),
|
|
6698
|
+
maxSize: 10485760,
|
|
6699
|
+
onError: msg => setError(`${name}.${index}.img`, {
|
|
6700
|
+
type: 'custom',
|
|
6701
|
+
message: msg
|
|
6702
|
+
}),
|
|
6703
|
+
error: (_d = (_c = (_b = (_a = errors[name]) === null || _a === void 0 ? void 0 : _a[index]) === null || _b === void 0 ? void 0 : _b['img']) === null || _c === void 0 ? void 0 : _c.message) === null || _d === void 0 ? void 0 : _d.toString(),
|
|
6704
|
+
setImgId: value => {
|
|
6705
|
+
field.onChange(value);
|
|
6706
|
+
},
|
|
6707
|
+
baseUrl: imageBaseUrl ? imageBaseUrl : baseUrl,
|
|
6708
|
+
text: /*#__PURE__*/React__default["default"].createElement(React__default["default"].Fragment, null, /*#__PURE__*/React__default["default"].createElement("div", {
|
|
6709
|
+
className: "khb_img-text-wrapper"
|
|
6710
|
+
}, /*#__PURE__*/React__default["default"].createElement("div", {
|
|
6711
|
+
className: "khb_img-text-label"
|
|
6712
|
+
}, /*#__PURE__*/React__default["default"].createElement("span", null, t('item.uploadFile'))), /*#__PURE__*/React__default["default"].createElement("p", {
|
|
6713
|
+
className: "khb_img-text-1"
|
|
6714
|
+
}, t('item.dragDrop'))), /*#__PURE__*/React__default["default"].createElement("p", {
|
|
6715
|
+
className: "khb_img-text-2"
|
|
6716
|
+
}, t('item.allowedFormat'))),
|
|
6717
|
+
onImageUpload: onImageUpload,
|
|
6718
|
+
onImageRemove: onImageRemove,
|
|
6719
|
+
className: "khb_img-upload-wrapper-3"
|
|
6720
|
+
});
|
|
6721
|
+
}
|
|
6722
|
+
}))));
|
|
6723
|
+
})));
|
|
6692
6724
|
};
|
|
6693
6725
|
|
|
6694
6726
|
const TabItem = ({
|
|
@@ -6827,6 +6859,8 @@ const constants = {
|
|
|
6827
6859
|
carouselWidgetTypeValue: 'Carousel',
|
|
6828
6860
|
imageItemsTypeValue: 'Image',
|
|
6829
6861
|
tabsAccessor: 'tabs',
|
|
6862
|
+
webItems: 'webItems',
|
|
6863
|
+
mobileItems: 'mobileItems',
|
|
6830
6864
|
tabCollectionItemsAccessor: 'collectionItems'
|
|
6831
6865
|
};
|
|
6832
6866
|
const WidgetForm = ({
|
|
@@ -6843,13 +6877,13 @@ const WidgetForm = ({
|
|
|
6843
6877
|
setValue,
|
|
6844
6878
|
control,
|
|
6845
6879
|
watch,
|
|
6880
|
+
clearErrors,
|
|
6846
6881
|
setError,
|
|
6847
6882
|
getValues
|
|
6848
6883
|
} = reactHookForm.useForm({
|
|
6849
6884
|
shouldUnregister: false
|
|
6850
6885
|
});
|
|
6851
6886
|
const {
|
|
6852
|
-
baseUrl,
|
|
6853
6887
|
switchClass
|
|
6854
6888
|
} = useProviderState();
|
|
6855
6889
|
const {
|
|
@@ -6857,23 +6891,17 @@ const WidgetForm = ({
|
|
|
6857
6891
|
data,
|
|
6858
6892
|
canAdd,
|
|
6859
6893
|
canUpdate,
|
|
6860
|
-
webItems,
|
|
6861
|
-
mobileItems,
|
|
6862
6894
|
formState,
|
|
6863
6895
|
itemsTypes,
|
|
6864
6896
|
widgetTypes,
|
|
6865
|
-
|
|
6897
|
+
loading,
|
|
6866
6898
|
onWidgetFormSubmit,
|
|
6867
|
-
onDeleteItem,
|
|
6868
|
-
onImageRemove,
|
|
6869
|
-
onImageUpload,
|
|
6870
6899
|
getCollectionData,
|
|
6871
6900
|
collectionData,
|
|
6872
6901
|
collectionDataLoading,
|
|
6873
6902
|
formatListItem,
|
|
6874
6903
|
formatOptionLabel,
|
|
6875
|
-
reactSelectStyles
|
|
6876
|
-
imageBaseUrl
|
|
6904
|
+
reactSelectStyles
|
|
6877
6905
|
} = useWidgetState();
|
|
6878
6906
|
const callerRef = React.useRef(null);
|
|
6879
6907
|
const [activeTab, setActiveTab] = React.useState(0);
|
|
@@ -6914,7 +6942,7 @@ const WidgetForm = ({
|
|
|
6914
6942
|
let valueToSet = '';
|
|
6915
6943
|
if (formState === 'UPDATE') {
|
|
6916
6944
|
if (data[constants.widgetTypeAccessor] === constants.tabsWidgetTypeValue) {
|
|
6917
|
-
collectionItems = data[constants.tabsAccessor][activeTab]['collectionItems'];
|
|
6945
|
+
collectionItems = data[constants.tabsAccessor][activeTab] ? data[constants.tabsAccessor][activeTab]['collectionItems'] : [];
|
|
6918
6946
|
valueToSet = `${constants.tabsAccessor}.${activeTab}.${constants.tabCollectionItemsAccessor}`;
|
|
6919
6947
|
} else if (Array.isArray(data[constants.collectionItemsAccessor]) && data[constants.collectionItemsAccessor].length > 0) {
|
|
6920
6948
|
collectionItems = data[constants.collectionItemsAccessor];
|
|
@@ -7014,7 +7042,19 @@ const WidgetForm = ({
|
|
|
7014
7042
|
if (Array.isArray(selectedCollectionItems) && selectedCollectionItems.length > 0) {
|
|
7015
7043
|
formData['collectionItems'] = selectedCollectionItems.map(item => item.value);
|
|
7016
7044
|
}
|
|
7017
|
-
|
|
7045
|
+
let items = [...(getValues(constants.webItems) || []), ...(getValues(constants.mobileItems) || [])];
|
|
7046
|
+
items = items.map(_a => {
|
|
7047
|
+
var item = __rest(_a, ["_id", "__v", "widgetId"]);
|
|
7048
|
+
if (item['img'] && item['img']['_id']) {
|
|
7049
|
+
item['img'] = item['img']['_id'];
|
|
7050
|
+
} else if (typeof item['img'] !== 'string' || !item['img']) {
|
|
7051
|
+
delete item['img'];
|
|
7052
|
+
}
|
|
7053
|
+
return item;
|
|
7054
|
+
});
|
|
7055
|
+
onWidgetFormSubmit(Object.assign(Object.assign({}, formData), {
|
|
7056
|
+
items
|
|
7057
|
+
}));
|
|
7018
7058
|
};
|
|
7019
7059
|
const onCollectionIndexChange = result => {
|
|
7020
7060
|
const {
|
|
@@ -7177,65 +7217,6 @@ const WidgetForm = ({
|
|
|
7177
7217
|
customStyles: reactSelectStyles || {},
|
|
7178
7218
|
selectKey: selectedCollectionType === null || selectedCollectionType === void 0 ? void 0 : selectedCollectionType.value
|
|
7179
7219
|
}];
|
|
7180
|
-
const itemFormSchema = [{
|
|
7181
|
-
label: `${t('item.title')}`,
|
|
7182
|
-
required: true,
|
|
7183
|
-
accessor: 'title',
|
|
7184
|
-
type: 'text',
|
|
7185
|
-
placeholder: t('item.titlePlaceholder')
|
|
7186
|
-
}, {
|
|
7187
|
-
label: `${t('item.subtitle')}`,
|
|
7188
|
-
accessor: 'subtitle',
|
|
7189
|
-
type: 'text',
|
|
7190
|
-
placeholder: t('item.subTitlePlaceholder')
|
|
7191
|
-
}, {
|
|
7192
|
-
label: `${t('item.altText')}`,
|
|
7193
|
-
accessor: 'altText',
|
|
7194
|
-
type: 'text',
|
|
7195
|
-
placeholder: t('item.altTextPlaceholder')
|
|
7196
|
-
}, {
|
|
7197
|
-
label: `${t('item.link')}`,
|
|
7198
|
-
required: true,
|
|
7199
|
-
accessor: 'link',
|
|
7200
|
-
type: 'url',
|
|
7201
|
-
placeholder: t('item.linkPlaceholder')
|
|
7202
|
-
}, {
|
|
7203
|
-
label: `${t('item.srcset')}`,
|
|
7204
|
-
accessor: 'srcset',
|
|
7205
|
-
type: 'srcset'
|
|
7206
|
-
}, {
|
|
7207
|
-
label: t('item.image'),
|
|
7208
|
-
accessor: 'img',
|
|
7209
|
-
Input: ({
|
|
7210
|
-
field,
|
|
7211
|
-
error,
|
|
7212
|
-
setError,
|
|
7213
|
-
disabled
|
|
7214
|
-
}) => /*#__PURE__*/React__default["default"].createElement(ImageUpload$1, {
|
|
7215
|
-
imgId: field.value,
|
|
7216
|
-
maxSize: 10485760,
|
|
7217
|
-
onError: setError,
|
|
7218
|
-
error: error,
|
|
7219
|
-
setImgId: value => {
|
|
7220
|
-
field.onChange(value);
|
|
7221
|
-
},
|
|
7222
|
-
baseUrl: imageBaseUrl ? imageBaseUrl : baseUrl,
|
|
7223
|
-
disabled: disabled,
|
|
7224
|
-
text: /*#__PURE__*/React__default["default"].createElement(React__default["default"].Fragment, null, /*#__PURE__*/React__default["default"].createElement("div", {
|
|
7225
|
-
className: "khb_img-text-wrapper"
|
|
7226
|
-
}, /*#__PURE__*/React__default["default"].createElement("label", {
|
|
7227
|
-
htmlFor: "file-upload",
|
|
7228
|
-
className: "khb_img-text-label"
|
|
7229
|
-
}, /*#__PURE__*/React__default["default"].createElement("span", null, t('item.uploadFile'))), /*#__PURE__*/React__default["default"].createElement("p", {
|
|
7230
|
-
className: "khb_img-text-1"
|
|
7231
|
-
}, t('item.dragDrop'))), /*#__PURE__*/React__default["default"].createElement("p", {
|
|
7232
|
-
className: "khb_img-text-2"
|
|
7233
|
-
}, t('item.allowedFormat'))),
|
|
7234
|
-
onImageUpload: onImageUpload,
|
|
7235
|
-
onImageRemove: onImageRemove,
|
|
7236
|
-
className: "khb_img-upload-wrapper-3"
|
|
7237
|
-
})
|
|
7238
|
-
}];
|
|
7239
7220
|
if (!canAdd || !canUpdate) return null;
|
|
7240
7221
|
return /*#__PURE__*/React__default["default"].createElement("div", {
|
|
7241
7222
|
className: "khb_form"
|
|
@@ -7273,38 +7254,36 @@ const WidgetForm = ({
|
|
|
7273
7254
|
formatItem: formatListItem,
|
|
7274
7255
|
listCode: selectedCollectionType === null || selectedCollectionType === void 0 ? void 0 : selectedCollectionType.value
|
|
7275
7256
|
}), itemsEnabled && selectedWidgetType !== 'Tabs' && /*#__PURE__*/React__default["default"].createElement(React__default["default"].Fragment, null, /*#__PURE__*/React__default["default"].createElement(ItemsAccordian, {
|
|
7276
|
-
|
|
7257
|
+
clearError: clearErrors,
|
|
7258
|
+
collapseId: constants.webItems,
|
|
7277
7259
|
title: t('widget.webItems'),
|
|
7278
|
-
id:
|
|
7279
|
-
|
|
7280
|
-
show: webItemsVisible,
|
|
7281
|
-
itemsData: webItems,
|
|
7260
|
+
id: constants.webItems,
|
|
7261
|
+
setError: setError,
|
|
7262
|
+
show: webItemsVisible || !!(errors && (errors === null || errors === void 0 ? void 0 : errors[constants.webItems])),
|
|
7282
7263
|
toggleShow: setWebItemsVisible,
|
|
7283
|
-
onDataSubmit: onItemFormSubmit,
|
|
7284
7264
|
itemType: "Web",
|
|
7285
|
-
|
|
7286
|
-
|
|
7265
|
+
name: constants.webItems,
|
|
7266
|
+
errors: errors,
|
|
7267
|
+
control: control,
|
|
7268
|
+
register: register,
|
|
7269
|
+
loading: loading,
|
|
7287
7270
|
addText: t('addButtonText'),
|
|
7288
|
-
cancelText: t('cancelButtonText'),
|
|
7289
|
-
saveText: t('saveButtonText'),
|
|
7290
|
-
editText: t('editButtonText'),
|
|
7291
7271
|
deleteText: t('deleteButtonText')
|
|
7292
7272
|
}), /*#__PURE__*/React__default["default"].createElement(ItemsAccordian, {
|
|
7293
|
-
|
|
7273
|
+
clearError: clearErrors,
|
|
7274
|
+
collapseId: constants.mobileItems,
|
|
7294
7275
|
title: t('widget.mobileItems'),
|
|
7295
|
-
id:
|
|
7296
|
-
|
|
7297
|
-
|
|
7298
|
-
|
|
7276
|
+
id: constants.mobileItems,
|
|
7277
|
+
name: constants.mobileItems,
|
|
7278
|
+
setError: setError,
|
|
7279
|
+
loading: loading,
|
|
7280
|
+
show: mobileItemsVisible || !!(errors && (errors === null || errors === void 0 ? void 0 : errors[constants.mobileItems])),
|
|
7299
7281
|
toggleShow: setMobileItemsVisible,
|
|
7300
|
-
onDataSubmit: onItemFormSubmit,
|
|
7301
7282
|
itemType: "Mobile",
|
|
7302
|
-
|
|
7303
|
-
|
|
7283
|
+
errors: errors,
|
|
7284
|
+
control: control,
|
|
7285
|
+
register: register,
|
|
7304
7286
|
addText: t('addButtonText'),
|
|
7305
|
-
cancelText: t('cancelButtonText'),
|
|
7306
|
-
saveText: t('saveButtonText'),
|
|
7307
|
-
editText: t('editButtonText'),
|
|
7308
7287
|
deleteText: t('deleteButtonText')
|
|
7309
7288
|
})));
|
|
7310
7289
|
};
|
|
@@ -7450,7 +7429,6 @@ const Widget = ({
|
|
|
7450
7429
|
itemData,
|
|
7451
7430
|
getWidgets,
|
|
7452
7431
|
onCofirmDeleteWidget,
|
|
7453
|
-
onDeleteItem,
|
|
7454
7432
|
onImageRemove,
|
|
7455
7433
|
onImageUpload,
|
|
7456
7434
|
onPartialUpdateWidget,
|
|
@@ -7464,11 +7442,7 @@ const Widget = ({
|
|
|
7464
7442
|
totalRecords,
|
|
7465
7443
|
currentPage,
|
|
7466
7444
|
pageSize,
|
|
7467
|
-
setCurrentPage
|
|
7468
|
-
// Item
|
|
7469
|
-
itemsList,
|
|
7470
|
-
itemsLoading,
|
|
7471
|
-
onItemFormSubmit
|
|
7445
|
+
setCurrentPage
|
|
7472
7446
|
} = useWidget({
|
|
7473
7447
|
canList: derivedPermissions.list,
|
|
7474
7448
|
routes,
|
|
@@ -7487,7 +7461,6 @@ const Widget = ({
|
|
|
7487
7461
|
loader: loader,
|
|
7488
7462
|
onWidgetFormSubmit: onWidgetFormSubmit,
|
|
7489
7463
|
data: itemData,
|
|
7490
|
-
onDeleteItem: onDeleteItem,
|
|
7491
7464
|
getWidgets: getWidgets,
|
|
7492
7465
|
onImageRemove: onImageRemove,
|
|
7493
7466
|
onImageUpload: onImageUpload,
|
|
@@ -7505,11 +7478,6 @@ const Widget = ({
|
|
|
7505
7478
|
currentPage: currentPage,
|
|
7506
7479
|
pageSize: pageSize,
|
|
7507
7480
|
setCurrentPage: setCurrentPage,
|
|
7508
|
-
// Item
|
|
7509
|
-
webItems: itemsList.web,
|
|
7510
|
-
mobileItems: itemsList.mobile,
|
|
7511
|
-
itemsLoading: itemsLoading,
|
|
7512
|
-
onItemFormSubmit: onItemFormSubmit,
|
|
7513
7481
|
// Permissions
|
|
7514
7482
|
canAdd: derivedPermissions.add,
|
|
7515
7483
|
canDelete: derivedPermissions.delete,
|