@knovator/pagecreator-admin 0.6.0 → 0.7.1
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 +487 -540
- package/index.css +20 -10
- package/index.js +487 -540
- 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 +8 -0
- package/src/lib/context/ProviderContext.d.ts +1 -1
- package/src/lib/context/WidgetContext.d.ts +1 -1
- 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) {
|
|
@@ -1760,7 +1772,15 @@ const TRANSLATION_PAIRS_ITEM = {
|
|
|
1760
1772
|
'item.uploadFile': 'Upload File',
|
|
1761
1773
|
'item.dragDrop': 'or drag and drop',
|
|
1762
1774
|
'item.allowedFormat': 'PNG, JPG, SVG up to 2 MB',
|
|
1763
|
-
'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?'
|
|
1764
1784
|
};
|
|
1765
1785
|
const TRANSLATION_PAIRS_PAGE = {
|
|
1766
1786
|
'page.name': 'Name',
|
|
@@ -1791,7 +1811,6 @@ const Provider = ({
|
|
|
1791
1811
|
onSuccess: _onSuccess = () => {},
|
|
1792
1812
|
onLogout: _onLogout = () => {},
|
|
1793
1813
|
switchClass: _switchClass = 'khb_switch',
|
|
1794
|
-
itemsRoutesPrefix: _itemsRoutesPrefix = 'items',
|
|
1795
1814
|
widgetRoutesPrefix: _widgetRoutesPrefix = 'widgets',
|
|
1796
1815
|
pageRoutesPrefix: _pageRoutesPrefix = 'pages'
|
|
1797
1816
|
}) => {
|
|
@@ -1803,7 +1822,6 @@ const Provider = ({
|
|
|
1803
1822
|
onSuccess: _onSuccess,
|
|
1804
1823
|
onLogout: _onLogout,
|
|
1805
1824
|
switchClass: _switchClass,
|
|
1806
|
-
itemsRoutesPrefix: _itemsRoutesPrefix,
|
|
1807
1825
|
widgetRoutesPrefix: _widgetRoutesPrefix,
|
|
1808
1826
|
pageRoutesPrefix: _pageRoutesPrefix
|
|
1809
1827
|
}
|
|
@@ -2608,6 +2626,13 @@ const usePagination = ({
|
|
|
2608
2626
|
};
|
|
2609
2627
|
|
|
2610
2628
|
const apiList = {
|
|
2629
|
+
GET_ONE: ({
|
|
2630
|
+
prefix,
|
|
2631
|
+
id
|
|
2632
|
+
}) => ({
|
|
2633
|
+
url: `${prefix}/${id}`,
|
|
2634
|
+
method: 'GET'
|
|
2635
|
+
}),
|
|
2611
2636
|
LIST: ({
|
|
2612
2637
|
prefix
|
|
2613
2638
|
}) => ({
|
|
@@ -3351,6 +3376,45 @@ const CustomReactSelect = ({
|
|
|
3351
3376
|
}, error));
|
|
3352
3377
|
};
|
|
3353
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
|
+
|
|
3354
3418
|
const Close = ({
|
|
3355
3419
|
srText,
|
|
3356
3420
|
className
|
|
@@ -3392,27 +3456,19 @@ const Plus = ({
|
|
|
3392
3456
|
const SrcSetInput = ({
|
|
3393
3457
|
size,
|
|
3394
3458
|
className,
|
|
3395
|
-
|
|
3396
|
-
|
|
3397
|
-
errors,
|
|
3398
|
-
name,
|
|
3399
|
-
inputKey,
|
|
3459
|
+
rest,
|
|
3460
|
+
error,
|
|
3400
3461
|
placeholder,
|
|
3401
3462
|
disabled: _disabled = false
|
|
3402
3463
|
}) => {
|
|
3403
|
-
var _a, _b;
|
|
3404
3464
|
return /*#__PURE__*/React__default["default"].createElement("div", null, /*#__PURE__*/React__default["default"].createElement("input", Object.assign({
|
|
3405
3465
|
className: classNames__default["default"]('khb_input', `khb_input-${size}`, className),
|
|
3406
3466
|
type: 'number',
|
|
3407
3467
|
placeholder: placeholder,
|
|
3408
|
-
name: `srcset[${index}].${inputKey}`,
|
|
3409
3468
|
disabled: _disabled
|
|
3410
|
-
},
|
|
3411
|
-
required: `${name} Size is required`,
|
|
3412
|
-
validate: value => Number(value) <= 0 ? `${inputKey} should be greater than 0` : true
|
|
3413
|
-
}))), Array.isArray(errors) && errors[index] && /*#__PURE__*/React__default["default"].createElement("p", {
|
|
3469
|
+
}, rest || {})), error && /*#__PURE__*/React__default["default"].createElement("p", {
|
|
3414
3470
|
className: "khb_input-error"
|
|
3415
|
-
},
|
|
3471
|
+
}, error));
|
|
3416
3472
|
};
|
|
3417
3473
|
const SrcSet = ({
|
|
3418
3474
|
label,
|
|
@@ -3424,7 +3480,9 @@ const SrcSet = ({
|
|
|
3424
3480
|
wrapperClassName,
|
|
3425
3481
|
control,
|
|
3426
3482
|
errors,
|
|
3427
|
-
|
|
3483
|
+
name,
|
|
3484
|
+
disabled: _disabled2 = false,
|
|
3485
|
+
t
|
|
3428
3486
|
}) => {
|
|
3429
3487
|
const {
|
|
3430
3488
|
fields,
|
|
@@ -3432,7 +3490,7 @@ const SrcSet = ({
|
|
|
3432
3490
|
remove
|
|
3433
3491
|
} = reactHookForm.useFieldArray({
|
|
3434
3492
|
control,
|
|
3435
|
-
name:
|
|
3493
|
+
name: name
|
|
3436
3494
|
});
|
|
3437
3495
|
return /*#__PURE__*/React__default["default"].createElement("div", {
|
|
3438
3496
|
className: classNames__default["default"]('khb_input-wrapper', wrapperClassName)
|
|
@@ -3442,49 +3500,55 @@ const SrcSet = ({
|
|
|
3442
3500
|
className: "khb_input-label-required"
|
|
3443
3501
|
}, "*") : null), /*#__PURE__*/React__default["default"].createElement("div", {
|
|
3444
3502
|
className: "khb_input-srcset-items"
|
|
3445
|
-
}, fields === null || fields === void 0 ? void 0 : fields.map((item, index) =>
|
|
3446
|
-
|
|
3447
|
-
|
|
3448
|
-
|
|
3449
|
-
|
|
3450
|
-
|
|
3451
|
-
|
|
3452
|
-
|
|
3453
|
-
|
|
3454
|
-
|
|
3455
|
-
|
|
3456
|
-
|
|
3457
|
-
|
|
3458
|
-
|
|
3459
|
-
|
|
3460
|
-
|
|
3461
|
-
|
|
3462
|
-
|
|
3463
|
-
|
|
3464
|
-
|
|
3465
|
-
|
|
3466
|
-
|
|
3467
|
-
|
|
3468
|
-
|
|
3469
|
-
|
|
3470
|
-
|
|
3471
|
-
|
|
3472
|
-
|
|
3473
|
-
|
|
3474
|
-
|
|
3475
|
-
|
|
3476
|
-
|
|
3477
|
-
|
|
3478
|
-
|
|
3479
|
-
|
|
3480
|
-
|
|
3481
|
-
|
|
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)));
|
|
3482
3551
|
}), /*#__PURE__*/React__default["default"].createElement("button", {
|
|
3483
|
-
type: "button",
|
|
3484
|
-
className: "khb_btn khb_btn-danger khb_btn-xs",
|
|
3485
|
-
onClick: () => remove(index),
|
|
3486
|
-
disabled: _disabled2
|
|
3487
|
-
}, /*#__PURE__*/React__default["default"].createElement(Close, null)))), /*#__PURE__*/React__default["default"].createElement("button", {
|
|
3488
3552
|
type: "button",
|
|
3489
3553
|
disabled: _disabled2,
|
|
3490
3554
|
onClick: () => append({
|
|
@@ -3494,7 +3558,7 @@ const SrcSet = ({
|
|
|
3494
3558
|
}),
|
|
3495
3559
|
className: "khb_btn khb_btn-primary khb_btn-xs"
|
|
3496
3560
|
}, /*#__PURE__*/React__default["default"].createElement(Plus, {
|
|
3497
|
-
className: "
|
|
3561
|
+
className: "khb_srcset-remove"
|
|
3498
3562
|
}))), error && /*#__PURE__*/React__default["default"].createElement("p", {
|
|
3499
3563
|
className: "khb_input-error "
|
|
3500
3564
|
}, error));
|
|
@@ -3533,45 +3597,6 @@ const PageSearch = () => {
|
|
|
3533
3597
|
});
|
|
3534
3598
|
};
|
|
3535
3599
|
|
|
3536
|
-
var call$7 = functionCall;
|
|
3537
|
-
var hasOwn$1 = hasOwnProperty_1;
|
|
3538
|
-
var isPrototypeOf$2 = objectIsPrototypeOf;
|
|
3539
|
-
var regExpFlags = regexpFlags$1;
|
|
3540
|
-
|
|
3541
|
-
var RegExpPrototype$1 = RegExp.prototype;
|
|
3542
|
-
|
|
3543
|
-
var regexpGetFlags = function (R) {
|
|
3544
|
-
var flags = R.flags;
|
|
3545
|
-
return flags === undefined && !('flags' in RegExpPrototype$1) && !hasOwn$1(R, 'flags') && isPrototypeOf$2(RegExpPrototype$1, R)
|
|
3546
|
-
? call$7(regExpFlags, R) : flags;
|
|
3547
|
-
};
|
|
3548
|
-
|
|
3549
|
-
var PROPER_FUNCTION_NAME = functionName.PROPER;
|
|
3550
|
-
var defineBuiltIn$2 = defineBuiltIn$7;
|
|
3551
|
-
var anObject$5 = anObject$e;
|
|
3552
|
-
var $toString = toString$6;
|
|
3553
|
-
var fails$3 = fails$n;
|
|
3554
|
-
var getRegExpFlags = regexpGetFlags;
|
|
3555
|
-
|
|
3556
|
-
var TO_STRING = 'toString';
|
|
3557
|
-
var RegExpPrototype = RegExp.prototype;
|
|
3558
|
-
var nativeToString = RegExpPrototype[TO_STRING];
|
|
3559
|
-
|
|
3560
|
-
var NOT_GENERIC = fails$3(function () { return nativeToString.call({ source: 'a', flags: 'b' }) != '/a/b'; });
|
|
3561
|
-
// FF44- RegExp#toString has a wrong name
|
|
3562
|
-
var INCORRECT_NAME = PROPER_FUNCTION_NAME && nativeToString.name != TO_STRING;
|
|
3563
|
-
|
|
3564
|
-
// `RegExp.prototype.toString` method
|
|
3565
|
-
// https://tc39.es/ecma262/#sec-regexp.prototype.tostring
|
|
3566
|
-
if (NOT_GENERIC || INCORRECT_NAME) {
|
|
3567
|
-
defineBuiltIn$2(RegExp.prototype, TO_STRING, function toString() {
|
|
3568
|
-
var R = anObject$5(this);
|
|
3569
|
-
var pattern = $toString(R.source);
|
|
3570
|
-
var flags = $toString(getRegExpFlags(R));
|
|
3571
|
-
return '/' + pattern + '/' + flags;
|
|
3572
|
-
}, { unsafe: true });
|
|
3573
|
-
}
|
|
3574
|
-
|
|
3575
3600
|
var aCallable$6 = aCallable$8;
|
|
3576
3601
|
var toObject = toObject$5;
|
|
3577
3602
|
var IndexedObject = indexedObject;
|
|
@@ -4138,13 +4163,23 @@ const Button = ({
|
|
|
4138
4163
|
onClick,
|
|
4139
4164
|
className,
|
|
4140
4165
|
children,
|
|
4141
|
-
disabled
|
|
4166
|
+
disabled,
|
|
4167
|
+
loading
|
|
4142
4168
|
}) => {
|
|
4143
4169
|
return /*#__PURE__*/React__default["default"].createElement("button", {
|
|
4144
4170
|
className: classNames__default["default"]('khb_btn', `khb_btn-${_type}`, `khb_btn-${_size}`, className),
|
|
4145
4171
|
onClick: onClick,
|
|
4146
|
-
disabled: disabled
|
|
4147
|
-
},
|
|
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);
|
|
4148
4183
|
};
|
|
4149
4184
|
|
|
4150
4185
|
const AddButton$1 = () => {
|
|
@@ -4447,7 +4482,7 @@ const FormActions = ({
|
|
|
4447
4482
|
onClick: onSecondaryButtonClick
|
|
4448
4483
|
}, _secondaryLabel), /*#__PURE__*/React__default["default"].createElement(Button, {
|
|
4449
4484
|
onClick: onPrimaryButtonClick,
|
|
4450
|
-
|
|
4485
|
+
loading: _loading
|
|
4451
4486
|
}, _primaryLabel));
|
|
4452
4487
|
};
|
|
4453
4488
|
|
|
@@ -4611,11 +4646,6 @@ const useWidget = ({
|
|
|
4611
4646
|
imageBaseUrl
|
|
4612
4647
|
}) => {
|
|
4613
4648
|
const [list, setList] = React.useState([]);
|
|
4614
|
-
const [itemsList, setItemsList] = React.useState({
|
|
4615
|
-
web: [],
|
|
4616
|
-
mobile: []
|
|
4617
|
-
});
|
|
4618
|
-
const [itemsLoading, setItemsLoading] = React.useState(false);
|
|
4619
4649
|
const [loading, setLoading] = React.useState(false);
|
|
4620
4650
|
const [totalPages, setTotalPages] = React.useState(0);
|
|
4621
4651
|
const [totalRecords, setTotalRecords] = React.useState(0);
|
|
@@ -4631,8 +4661,7 @@ const useWidget = ({
|
|
|
4631
4661
|
onError,
|
|
4632
4662
|
onSuccess,
|
|
4633
4663
|
onLogout,
|
|
4634
|
-
widgetRoutesPrefix
|
|
4635
|
-
itemsRoutesPrefix
|
|
4664
|
+
widgetRoutesPrefix
|
|
4636
4665
|
} = useProviderState();
|
|
4637
4666
|
const {
|
|
4638
4667
|
changeSearch,
|
|
@@ -4690,67 +4719,6 @@ const useWidget = ({
|
|
|
4690
4719
|
setLoading(false);
|
|
4691
4720
|
}
|
|
4692
4721
|
}), [baseUrl, currentPageRef, limitRef, offsetRef, handleError, routes, token, widgetRoutesPrefix]);
|
|
4693
|
-
const getItems = React.useCallback(id => __awaiter(void 0, void 0, void 0, function* () {
|
|
4694
|
-
try {
|
|
4695
|
-
setItemsLoading(true);
|
|
4696
|
-
const api = getApiType({
|
|
4697
|
-
routes,
|
|
4698
|
-
action: 'ITEM',
|
|
4699
|
-
prefix: itemsRoutesPrefix,
|
|
4700
|
-
id
|
|
4701
|
-
});
|
|
4702
|
-
const response = yield commonApi({
|
|
4703
|
-
baseUrl,
|
|
4704
|
-
token,
|
|
4705
|
-
method: api.method,
|
|
4706
|
-
url: api.url,
|
|
4707
|
-
onError: handleError(CALLBACK_CODES.GET_ALL)
|
|
4708
|
-
});
|
|
4709
|
-
if ((response === null || response === void 0 ? void 0 : response.code) === 'SUCCESS') {
|
|
4710
|
-
setItemsLoading(false);
|
|
4711
|
-
const itemsResponse = dataGatter(response).reduce((acc, itemItem) => {
|
|
4712
|
-
if (itemItem['itemType'] === 'Web') acc.web.push(itemItem);else acc.mobile.push(itemItem);
|
|
4713
|
-
return acc;
|
|
4714
|
-
}, {
|
|
4715
|
-
web: [],
|
|
4716
|
-
mobile: []
|
|
4717
|
-
});
|
|
4718
|
-
return setItemsList(itemsResponse);
|
|
4719
|
-
}
|
|
4720
|
-
setItemsLoading(false);
|
|
4721
|
-
} catch (error) {
|
|
4722
|
-
setItemsLoading(false);
|
|
4723
|
-
}
|
|
4724
|
-
}), [baseUrl, handleError, routes, itemsRoutesPrefix, token]);
|
|
4725
|
-
const onDeleteItem = id => __awaiter(void 0, void 0, void 0, function* () {
|
|
4726
|
-
try {
|
|
4727
|
-
setItemsLoading(true);
|
|
4728
|
-
const api = getApiType({
|
|
4729
|
-
routes,
|
|
4730
|
-
action: 'DELETE',
|
|
4731
|
-
prefix: itemsRoutesPrefix,
|
|
4732
|
-
id
|
|
4733
|
-
});
|
|
4734
|
-
const response = yield commonApi({
|
|
4735
|
-
baseUrl,
|
|
4736
|
-
token,
|
|
4737
|
-
method: api.method,
|
|
4738
|
-
url: api.url,
|
|
4739
|
-
onError: handleError(CALLBACK_CODES.DELETE)
|
|
4740
|
-
});
|
|
4741
|
-
if ((response === null || response === void 0 ? void 0 : response.code) === 'SUCCESS') {
|
|
4742
|
-
setItemsLoading(false);
|
|
4743
|
-
onSuccess(CALLBACK_CODES.DELETE, response === null || response === void 0 ? void 0 : response.code, response === null || response === void 0 ? void 0 : response.message);
|
|
4744
|
-
if (itemData) getItems(itemData['_id']);
|
|
4745
|
-
return;
|
|
4746
|
-
}
|
|
4747
|
-
setItemsLoading(false);
|
|
4748
|
-
onError(CALLBACK_CODES.DELETE, response === null || response === void 0 ? void 0 : response.code, response === null || response === void 0 ? void 0 : response.message);
|
|
4749
|
-
} catch (error) {
|
|
4750
|
-
setItemsLoading(false);
|
|
4751
|
-
onError(CALLBACK_CODES.DELETE, INTERNAL_ERROR_CODE, error.message);
|
|
4752
|
-
}
|
|
4753
|
-
});
|
|
4754
4722
|
const onCofirmDeleteWidget = () => __awaiter(void 0, void 0, void 0, function* () {
|
|
4755
4723
|
try {
|
|
4756
4724
|
let proceed = true;
|
|
@@ -4813,6 +4781,7 @@ const useWidget = ({
|
|
|
4813
4781
|
});
|
|
4814
4782
|
if ((response === null || response === void 0 ? void 0 : response.code) === 'SUCCESS') {
|
|
4815
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);
|
|
4816
4785
|
} else {
|
|
4817
4786
|
onError(CALLBACK_CODES.PARTIAL_UPDATE, response === null || response === void 0 ? void 0 : response.code, response === null || response === void 0 ? void 0 : response.message);
|
|
4818
4787
|
}
|
|
@@ -4923,7 +4892,39 @@ const useWidget = ({
|
|
|
4923
4892
|
setFormState(undefined);
|
|
4924
4893
|
setItemData(null);
|
|
4925
4894
|
};
|
|
4926
|
-
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* () {
|
|
4927
4928
|
setFormState(state);
|
|
4928
4929
|
// fetch ItemsTypes & WidgetTypes if needed
|
|
4929
4930
|
if (state === 'ADD' || state === 'UPDATE') {
|
|
@@ -4932,52 +4933,14 @@ const useWidget = ({
|
|
|
4932
4933
|
}
|
|
4933
4934
|
// get Item data if widget is updating
|
|
4934
4935
|
if (state === 'UPDATE' && data) {
|
|
4935
|
-
|
|
4936
|
-
getItems(data['_id']);
|
|
4937
|
-
}
|
|
4938
|
-
setItemData(data);
|
|
4936
|
+
getAndSetWidget(data['_id']);
|
|
4939
4937
|
} else if (state === 'ADD') {
|
|
4940
4938
|
// reset Item data if widget is adding
|
|
4941
|
-
setItemsList({
|
|
4942
|
-
web: [],
|
|
4943
|
-
mobile: []
|
|
4944
|
-
});
|
|
4945
4939
|
setItemData(null);
|
|
4946
4940
|
} else if (state === 'DELETE' && data) {
|
|
4947
4941
|
setItemData(data);
|
|
4948
4942
|
setFormState(state);
|
|
4949
4943
|
}
|
|
4950
|
-
};
|
|
4951
|
-
const onItemFormSubmit = (state, data, updateId) => __awaiter(void 0, void 0, void 0, function* () {
|
|
4952
|
-
setItemsLoading(true);
|
|
4953
|
-
const code = state === 'ADD' ? CALLBACK_CODES.CREATE : CALLBACK_CODES.UPDATE;
|
|
4954
|
-
try {
|
|
4955
|
-
const api = getApiType({
|
|
4956
|
-
routes,
|
|
4957
|
-
action: state === 'ADD' ? 'CREATE' : 'UPDATE',
|
|
4958
|
-
prefix: itemsRoutesPrefix,
|
|
4959
|
-
id: updateId
|
|
4960
|
-
});
|
|
4961
|
-
const response = yield commonApi({
|
|
4962
|
-
baseUrl,
|
|
4963
|
-
token,
|
|
4964
|
-
data,
|
|
4965
|
-
url: api.url,
|
|
4966
|
-
method: api.method,
|
|
4967
|
-
onError: handleError(code)
|
|
4968
|
-
});
|
|
4969
|
-
if ((response === null || response === void 0 ? void 0 : response.code) === 'SUCCESS') {
|
|
4970
|
-
setItemsLoading(false);
|
|
4971
|
-
onSuccess(code, response === null || response === void 0 ? void 0 : response.code, response === null || response === void 0 ? void 0 : response.message);
|
|
4972
|
-
if (itemData) getItems(itemData['_id']);
|
|
4973
|
-
} else {
|
|
4974
|
-
setItemsLoading(false);
|
|
4975
|
-
onError(code, response === null || response === void 0 ? void 0 : response.code, response === null || response === void 0 ? void 0 : response.message);
|
|
4976
|
-
}
|
|
4977
|
-
} catch (error) {
|
|
4978
|
-
setItemsLoading(false);
|
|
4979
|
-
onError(code, INTERNAL_ERROR_CODE, error.message);
|
|
4980
|
-
}
|
|
4981
4944
|
});
|
|
4982
4945
|
// Image Upload operations
|
|
4983
4946
|
const onImageUpload = file => __awaiter(void 0, void 0, void 0, function* () {
|
|
@@ -5063,7 +5026,6 @@ const useWidget = ({
|
|
|
5063
5026
|
itemData,
|
|
5064
5027
|
onChangeFormState,
|
|
5065
5028
|
onCloseForm,
|
|
5066
|
-
onDeleteItem,
|
|
5067
5029
|
onWidgetFormSubmit,
|
|
5068
5030
|
onCofirmDeleteWidget,
|
|
5069
5031
|
onPartialUpdateWidget,
|
|
@@ -5074,11 +5036,7 @@ const useWidget = ({
|
|
|
5074
5036
|
changeSearch,
|
|
5075
5037
|
collectionDataLoading,
|
|
5076
5038
|
getCollectionData,
|
|
5077
|
-
collectionData
|
|
5078
|
-
// Items
|
|
5079
|
-
itemsList,
|
|
5080
|
-
itemsLoading,
|
|
5081
|
-
onItemFormSubmit
|
|
5039
|
+
collectionData
|
|
5082
5040
|
};
|
|
5083
5041
|
};
|
|
5084
5042
|
|
|
@@ -6196,11 +6154,6 @@ const WidgetContextProvider = ({
|
|
|
6196
6154
|
canDelete: _canDelete = false,
|
|
6197
6155
|
loader: _loader = /*#__PURE__*/React__default["default"].createElement("span", null),
|
|
6198
6156
|
onPartialUpdateWidget: _onPartialUpdateWidget = () => Promise.resolve(),
|
|
6199
|
-
// Item
|
|
6200
|
-
webItems: _webItems = [],
|
|
6201
|
-
mobileItems: _mobileItems = [],
|
|
6202
|
-
itemsLoading: _itemsLoading = false,
|
|
6203
|
-
onItemFormSubmit: _onItemFormSubmit = () => {},
|
|
6204
6157
|
reactSelectStyles: _reactSelectStyles = {},
|
|
6205
6158
|
// other
|
|
6206
6159
|
children
|
|
@@ -6248,12 +6201,7 @@ const WidgetContextProvider = ({
|
|
|
6248
6201
|
columns: _columns,
|
|
6249
6202
|
data: _data,
|
|
6250
6203
|
canDelete: _canDelete,
|
|
6251
|
-
loader: _loader
|
|
6252
|
-
// Item
|
|
6253
|
-
webItems: _webItems,
|
|
6254
|
-
mobileItems: _mobileItems,
|
|
6255
|
-
itemsLoading: _itemsLoading,
|
|
6256
|
-
onItemFormSubmit: _onItemFormSubmit
|
|
6204
|
+
loader: _loader
|
|
6257
6205
|
}
|
|
6258
6206
|
}, children);
|
|
6259
6207
|
};
|
|
@@ -6401,6 +6349,72 @@ $({ target: 'String', proto: true, forced: !correctIsRegExpLogic('includes') },
|
|
|
6401
6349
|
}
|
|
6402
6350
|
});
|
|
6403
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
|
+
|
|
6404
6418
|
const ImageUpload = ({
|
|
6405
6419
|
className,
|
|
6406
6420
|
text,
|
|
@@ -6411,6 +6425,7 @@ const ImageUpload = ({
|
|
|
6411
6425
|
imgId: _imgId = '',
|
|
6412
6426
|
onImageUpload,
|
|
6413
6427
|
onImageRemove,
|
|
6428
|
+
clearError,
|
|
6414
6429
|
baseUrl,
|
|
6415
6430
|
disabled: _disabled = false
|
|
6416
6431
|
}) => {
|
|
@@ -6429,7 +6444,7 @@ const ImageUpload = ({
|
|
|
6429
6444
|
onDrop: (acceptedFiles, rejectedFiles) => __awaiter(void 0, void 0, void 0, function* () {
|
|
6430
6445
|
var _a, _b, _c;
|
|
6431
6446
|
try {
|
|
6432
|
-
|
|
6447
|
+
if (typeof clearError === 'function') clearError();
|
|
6433
6448
|
if ((acceptedFiles === null || acceptedFiles === void 0 ? void 0 : acceptedFiles.length) > 0) {
|
|
6434
6449
|
const regex = /\.(png|jpeg|jpg|webp|svg)$/gi;
|
|
6435
6450
|
const files = acceptedFiles.filter(file => regex.test(file.name));
|
|
@@ -6475,174 +6490,127 @@ const ImageUpload = ({
|
|
|
6475
6490
|
className: "khb_img-wrapper-del"
|
|
6476
6491
|
}, /*#__PURE__*/React__default["default"].createElement(Close, null)));
|
|
6477
6492
|
};
|
|
6478
|
-
|
|
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(), {
|
|
6479
6501
|
className: "khb_img-upload-wrapper-1"
|
|
6480
|
-
}, /*#__PURE__*/React__default["default"].createElement("
|
|
6481
|
-
className: "khb_img-upload-wrapper-2"
|
|
6482
|
-
}, !isEmpty(img) && isString(img) && img ? showImage(img) : /*#__PURE__*/React__default["default"].createElement("div", Object.assign({}, getRootProps({
|
|
6483
|
-
className
|
|
6484
|
-
})), /*#__PURE__*/React__default["default"].createElement("input", Object.assign({
|
|
6502
|
+
}), /*#__PURE__*/React__default["default"].createElement("input", Object.assign({
|
|
6485
6503
|
disabled: _disabled
|
|
6486
6504
|
}, getInputProps(), {
|
|
6487
6505
|
id: "file-upload"
|
|
6488
|
-
})),
|
|
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", {
|
|
6489
6512
|
className: "khb_input-error"
|
|
6490
6513
|
}, error));
|
|
6491
6514
|
};
|
|
6492
6515
|
var ImageUpload$1 = /*#__PURE__*/React__default["default"].memo(ImageUpload);
|
|
6493
6516
|
|
|
6494
|
-
const
|
|
6495
|
-
srText,
|
|
6496
|
-
className
|
|
6497
|
-
}) => {
|
|
6498
|
-
return /*#__PURE__*/React__default["default"].createElement(React__default["default"].Fragment, null, srText ? /*#__PURE__*/React__default["default"].createElement("span", {
|
|
6499
|
-
className: "khb_sr-only"
|
|
6500
|
-
}, srText) : null, /*#__PURE__*/React__default["default"].createElement("svg", {
|
|
6501
|
-
xmlns: "http://www.w3.org/2000/svg",
|
|
6502
|
-
viewBox: "-5 -8 24 24",
|
|
6503
|
-
width: "24",
|
|
6504
|
-
fill: "currentColor",
|
|
6505
|
-
className: className
|
|
6506
|
-
}, /*#__PURE__*/React__default["default"].createElement("path", {
|
|
6507
|
-
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"
|
|
6508
|
-
})));
|
|
6509
|
-
};
|
|
6510
|
-
|
|
6511
|
-
const ChevronUp = ({
|
|
6512
|
-
srText,
|
|
6513
|
-
className
|
|
6514
|
-
}) => {
|
|
6515
|
-
return /*#__PURE__*/React__default["default"].createElement(React__default["default"].Fragment, null, srText ? /*#__PURE__*/React__default["default"].createElement("span", {
|
|
6516
|
-
className: "khb_sr-only"
|
|
6517
|
-
}, srText) : null, /*#__PURE__*/React__default["default"].createElement("svg", {
|
|
6518
|
-
xmlns: "http://www.w3.org/2000/svg",
|
|
6519
|
-
viewBox: "-5 -7.5 24 24",
|
|
6520
|
-
width: "24",
|
|
6521
|
-
fill: "currentColor",
|
|
6522
|
-
className: className
|
|
6523
|
-
}, /*#__PURE__*/React__default["default"].createElement("path", {
|
|
6524
|
-
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"
|
|
6525
|
-
})));
|
|
6526
|
-
};
|
|
6527
|
-
|
|
6528
|
-
const Accordian = ({
|
|
6529
|
-
id,
|
|
6530
|
-
className,
|
|
6517
|
+
const ConfirmPopOver = ({
|
|
6531
6518
|
children,
|
|
6532
|
-
|
|
6533
|
-
onToggle,
|
|
6519
|
+
onConfirm,
|
|
6534
6520
|
title,
|
|
6535
|
-
|
|
6536
|
-
|
|
6521
|
+
confirmText: _confirmText = 'Yes',
|
|
6522
|
+
cancelText: _cancelText = 'No'
|
|
6537
6523
|
}) => {
|
|
6538
|
-
|
|
6539
|
-
|
|
6540
|
-
|
|
6541
|
-
|
|
6542
|
-
|
|
6543
|
-
|
|
6544
|
-
|
|
6545
|
-
|
|
6546
|
-
|
|
6547
|
-
|
|
6548
|
-
|
|
6549
|
-
|
|
6550
|
-
|
|
6551
|
-
|
|
6552
|
-
"
|
|
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)))
|
|
6553
6547
|
}, /*#__PURE__*/React__default["default"].createElement("div", {
|
|
6554
|
-
|
|
6555
|
-
}, children)
|
|
6556
|
-
className: "khb_accordian-footer"
|
|
6557
|
-
}, footerContent)));
|
|
6548
|
+
onClick: () => setIsPopoverOpen(true)
|
|
6549
|
+
}, children));
|
|
6558
6550
|
};
|
|
6559
6551
|
|
|
6560
6552
|
const ItemsAccordian = ({
|
|
6561
|
-
schema,
|
|
6562
|
-
onDataSubmit,
|
|
6563
6553
|
show,
|
|
6564
6554
|
title,
|
|
6565
6555
|
id,
|
|
6566
|
-
itemsData,
|
|
6567
6556
|
collapseId,
|
|
6568
6557
|
toggleShow,
|
|
6558
|
+
loading,
|
|
6559
|
+
name,
|
|
6560
|
+
errors,
|
|
6561
|
+
control,
|
|
6562
|
+
register,
|
|
6563
|
+
setError,
|
|
6569
6564
|
itemType,
|
|
6570
|
-
|
|
6571
|
-
onDelete,
|
|
6565
|
+
clearError,
|
|
6572
6566
|
addText: _addText = 'Add',
|
|
6573
|
-
|
|
6574
|
-
cancelText: _cancelText = 'Cancel',
|
|
6575
|
-
deleteText: _deleteText = 'Delete',
|
|
6576
|
-
editText: _editText = 'Edit'
|
|
6567
|
+
deleteText: _deleteText = 'Delete'
|
|
6577
6568
|
}) => {
|
|
6578
|
-
const
|
|
6579
|
-
|
|
6569
|
+
const {
|
|
6570
|
+
baseUrl
|
|
6571
|
+
} = useProviderState();
|
|
6572
|
+
const {
|
|
6573
|
+
onImageUpload,
|
|
6574
|
+
onImageRemove,
|
|
6575
|
+
t,
|
|
6576
|
+
imageBaseUrl
|
|
6577
|
+
} = useWidgetState();
|
|
6580
6578
|
const [itemsShow, setItemsShow] = React.useState([]);
|
|
6581
|
-
const
|
|
6582
|
-
|
|
6583
|
-
|
|
6584
|
-
|
|
6585
|
-
|
|
6586
|
-
|
|
6587
|
-
|
|
6588
|
-
}
|
|
6589
|
-
const onItemFormSubmitClick = index => {
|
|
6590
|
-
var _a;
|
|
6591
|
-
(_a = formRefs.current[index]) === null || _a === void 0 ? void 0 : _a.dispatchEvent(new Event('submit', {
|
|
6592
|
-
cancelable: true,
|
|
6593
|
-
bubbles: true
|
|
6594
|
-
}));
|
|
6595
|
-
};
|
|
6596
|
-
const onItemFormSubmit = (index, formData) => {
|
|
6597
|
-
var _a;
|
|
6598
|
-
const state = index === editingItemIndex && data[index] ? 'UPDATE' : 'ADD';
|
|
6599
|
-
const finalData = Object.assign(Object.assign({}, formData), {
|
|
6600
|
-
widgetId,
|
|
6601
|
-
itemType,
|
|
6602
|
-
sequence: index
|
|
6603
|
-
});
|
|
6604
|
-
if (finalData['img'] && finalData['img']['_id']) {
|
|
6605
|
-
const id = finalData['img']['_id'];
|
|
6606
|
-
finalData['img'] = id;
|
|
6607
|
-
}
|
|
6608
|
-
onDataSubmit(state, finalData, state === 'UPDATE' ? (_a = data[index]) === null || _a === void 0 ? void 0 : _a['_id'] : undefined);
|
|
6609
|
-
setEditingItemIndex(undefined);
|
|
6610
|
-
};
|
|
6579
|
+
const {
|
|
6580
|
+
fields: items,
|
|
6581
|
+
append: appendItem,
|
|
6582
|
+
remove: removeItem
|
|
6583
|
+
} = reactHookForm.useFieldArray({
|
|
6584
|
+
name,
|
|
6585
|
+
control
|
|
6586
|
+
});
|
|
6611
6587
|
const onItemsToggleClick = (index, status) => {
|
|
6588
|
+
var _a;
|
|
6612
6589
|
const newItemsShow = [...itemsShow];
|
|
6613
|
-
const newStatus = typeof status === 'undefined' ? !newItemsShow[index] : status;
|
|
6614
|
-
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;
|
|
6615
6591
|
newItemsShow[index] = newStatus;
|
|
6616
6592
|
setItemsShow(newItemsShow);
|
|
6617
6593
|
};
|
|
6618
|
-
|
|
6619
|
-
|
|
6620
|
-
|
|
6621
|
-
|
|
6622
|
-
|
|
6623
|
-
|
|
6624
|
-
const onItemAddClick = () => {
|
|
6625
|
-
const newItemsShow = [...itemsShow];
|
|
6626
|
-
newItemsShow.push(false);
|
|
6627
|
-
setItemsShow(newItemsShow);
|
|
6628
|
-
formRefs.current.push(null);
|
|
6629
|
-
onItemsToggleClick(newItemsShow.length - 1);
|
|
6630
|
-
};
|
|
6631
|
-
const onItemEditClick = index => {
|
|
6632
|
-
setEditingItemIndex(index);
|
|
6633
|
-
};
|
|
6634
|
-
const onItemCancelClick = index => {
|
|
6635
|
-
if (!data[index]) {
|
|
6636
|
-
onItemRemoveClick(index);
|
|
6637
|
-
} else {
|
|
6638
|
-
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
|
+
});
|
|
6639
6600
|
}
|
|
6640
|
-
|
|
6641
|
-
};
|
|
6642
|
-
const
|
|
6643
|
-
|
|
6644
|
-
|
|
6645
|
-
|
|
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
|
+
});
|
|
6646
6614
|
};
|
|
6647
6615
|
return /*#__PURE__*/React__default["default"].createElement(Accordian, {
|
|
6648
6616
|
open: show,
|
|
@@ -6652,76 +6620,107 @@ const ItemsAccordian = ({
|
|
|
6652
6620
|
id: id,
|
|
6653
6621
|
footerContent: /*#__PURE__*/React__default["default"].createElement(Button, {
|
|
6654
6622
|
size: "sm",
|
|
6655
|
-
|
|
6656
|
-
|
|
6623
|
+
disabled: loading,
|
|
6624
|
+
onClick: () => addTab(items.length)
|
|
6657
6625
|
}, _addText)
|
|
6658
6626
|
}, /*#__PURE__*/React__default["default"].createElement("div", {
|
|
6659
6627
|
className: "khb_item-items"
|
|
6660
|
-
},
|
|
6661
|
-
|
|
6662
|
-
|
|
6663
|
-
|
|
6664
|
-
|
|
6665
|
-
|
|
6666
|
-
|
|
6667
|
-
|
|
6668
|
-
|
|
6669
|
-
|
|
6670
|
-
|
|
6671
|
-
|
|
6672
|
-
|
|
6673
|
-
|
|
6674
|
-
|
|
6675
|
-
|
|
6676
|
-
|
|
6677
|
-
|
|
6678
|
-
|
|
6679
|
-
size: "sm",
|
|
6680
|
-
onClick: () => onDeleteClick(index)
|
|
6681
|
-
}, _deleteText))
|
|
6682
|
-
}, /*#__PURE__*/React__default["default"].createElement(Form, {
|
|
6683
|
-
schema: schema,
|
|
6684
|
-
data: data[index],
|
|
6685
|
-
onSubmit: data => onItemFormSubmit(index, data),
|
|
6686
|
-
ref: el => formRefs.current[index] = el,
|
|
6687
|
-
enable: editingItemIndex === index || !data[index],
|
|
6688
|
-
isUpdating: editingItemIndex === index
|
|
6689
|
-
})))));
|
|
6690
|
-
};
|
|
6691
|
-
|
|
6692
|
-
const ConfirmPopOver = ({
|
|
6693
|
-
children,
|
|
6694
|
-
onConfirm,
|
|
6695
|
-
title,
|
|
6696
|
-
confirmText: _confirmText = 'Yes',
|
|
6697
|
-
cancelText: _cancelText = 'No'
|
|
6698
|
-
}) => {
|
|
6699
|
-
const [isPopoverOpen, setIsPopoverOpen] = React.useState(false);
|
|
6700
|
-
const onConfirmClick = () => {
|
|
6701
|
-
setIsPopoverOpen(false);
|
|
6702
|
-
onConfirm();
|
|
6703
|
-
};
|
|
6704
|
-
return /*#__PURE__*/React__default["default"].createElement(reactTinyPopover.Popover, {
|
|
6705
|
-
containerClassName: "khb_confirm-popover",
|
|
6706
|
-
isOpen: isPopoverOpen,
|
|
6707
|
-
padding: 10,
|
|
6708
|
-
onClickOutside: () => setIsPopoverOpen(false),
|
|
6709
|
-
content: () => /*#__PURE__*/React__default["default"].createElement("div", {
|
|
6710
|
-
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))
|
|
6711
6647
|
}, /*#__PURE__*/React__default["default"].createElement("div", {
|
|
6712
|
-
className: "
|
|
6713
|
-
},
|
|
6714
|
-
|
|
6715
|
-
|
|
6716
|
-
|
|
6717
|
-
|
|
6718
|
-
|
|
6719
|
-
type:
|
|
6720
|
-
|
|
6721
|
-
|
|
6722
|
-
|
|
6723
|
-
|
|
6724
|
-
|
|
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
|
+
})));
|
|
6725
6724
|
};
|
|
6726
6725
|
|
|
6727
6726
|
const TabItem = ({
|
|
@@ -6860,6 +6859,8 @@ const constants = {
|
|
|
6860
6859
|
carouselWidgetTypeValue: 'Carousel',
|
|
6861
6860
|
imageItemsTypeValue: 'Image',
|
|
6862
6861
|
tabsAccessor: 'tabs',
|
|
6862
|
+
webItems: 'webItems',
|
|
6863
|
+
mobileItems: 'mobileItems',
|
|
6863
6864
|
tabCollectionItemsAccessor: 'collectionItems'
|
|
6864
6865
|
};
|
|
6865
6866
|
const WidgetForm = ({
|
|
@@ -6876,13 +6877,13 @@ const WidgetForm = ({
|
|
|
6876
6877
|
setValue,
|
|
6877
6878
|
control,
|
|
6878
6879
|
watch,
|
|
6880
|
+
clearErrors,
|
|
6879
6881
|
setError,
|
|
6880
6882
|
getValues
|
|
6881
6883
|
} = reactHookForm.useForm({
|
|
6882
6884
|
shouldUnregister: false
|
|
6883
6885
|
});
|
|
6884
6886
|
const {
|
|
6885
|
-
baseUrl,
|
|
6886
6887
|
switchClass
|
|
6887
6888
|
} = useProviderState();
|
|
6888
6889
|
const {
|
|
@@ -6890,23 +6891,17 @@ const WidgetForm = ({
|
|
|
6890
6891
|
data,
|
|
6891
6892
|
canAdd,
|
|
6892
6893
|
canUpdate,
|
|
6893
|
-
webItems,
|
|
6894
|
-
mobileItems,
|
|
6895
6894
|
formState,
|
|
6896
6895
|
itemsTypes,
|
|
6897
6896
|
widgetTypes,
|
|
6898
|
-
|
|
6897
|
+
loading,
|
|
6899
6898
|
onWidgetFormSubmit,
|
|
6900
|
-
onDeleteItem,
|
|
6901
|
-
onImageRemove,
|
|
6902
|
-
onImageUpload,
|
|
6903
6899
|
getCollectionData,
|
|
6904
6900
|
collectionData,
|
|
6905
6901
|
collectionDataLoading,
|
|
6906
6902
|
formatListItem,
|
|
6907
6903
|
formatOptionLabel,
|
|
6908
|
-
reactSelectStyles
|
|
6909
|
-
imageBaseUrl
|
|
6904
|
+
reactSelectStyles
|
|
6910
6905
|
} = useWidgetState();
|
|
6911
6906
|
const callerRef = React.useRef(null);
|
|
6912
6907
|
const [activeTab, setActiveTab] = React.useState(0);
|
|
@@ -6917,6 +6912,8 @@ const WidgetForm = ({
|
|
|
6917
6912
|
const [selectedCollectionItems, setSelectedCollectionItems] = React.useState([]);
|
|
6918
6913
|
const [tabCollectionItems, setTabCollectionItems] = React.useState([]);
|
|
6919
6914
|
const [selectedCollectionType, setSelectedCollectionType] = React.useState();
|
|
6915
|
+
const [collectionItemsUpdated, setCollectionItemsUpdated] = React.useState(false);
|
|
6916
|
+
const [tabCollectionItemsUpdated, setTabCollectionItemsUpdated] = React.useState([]);
|
|
6920
6917
|
React.useEffect(() => {
|
|
6921
6918
|
if (data && formState === 'UPDATE') {
|
|
6922
6919
|
setSelectedWidgetType(data === null || data === void 0 ? void 0 : data.widgetType);
|
|
@@ -6929,7 +6926,7 @@ const WidgetForm = ({
|
|
|
6929
6926
|
setSelectedCollectionType(itemsTypes.find(item => item.value === (data === null || data === void 0 ? void 0 : data.collectionName)));
|
|
6930
6927
|
}
|
|
6931
6928
|
}
|
|
6932
|
-
}, [data, formState,
|
|
6929
|
+
}, [data, formState, itemsTypes]);
|
|
6933
6930
|
React.useEffect(() => {
|
|
6934
6931
|
if (formState === 'ADD') {
|
|
6935
6932
|
setSelectedCollectionItems([]);
|
|
@@ -6947,10 +6944,13 @@ const WidgetForm = ({
|
|
|
6947
6944
|
let valueToSet = '';
|
|
6948
6945
|
if (formState === 'UPDATE') {
|
|
6949
6946
|
if (data[constants.widgetTypeAccessor] === constants.tabsWidgetTypeValue) {
|
|
6950
|
-
collectionItems = data[constants.tabsAccessor][activeTab]['collectionItems'];
|
|
6947
|
+
collectionItems = data[constants.tabsAccessor][activeTab] ? data[constants.tabsAccessor][activeTab]['collectionItems'] : [];
|
|
6951
6948
|
valueToSet = `${constants.tabsAccessor}.${activeTab}.${constants.tabCollectionItemsAccessor}`;
|
|
6952
6949
|
} else if (Array.isArray(data[constants.collectionItemsAccessor]) && data[constants.collectionItemsAccessor].length > 0) {
|
|
6953
|
-
collectionItems =
|
|
6950
|
+
if (collectionItemsUpdated) collectionItems = selectedCollectionItems.map(
|
|
6951
|
+
// eslint-disable-next-line @typescript-eslint/ban-ts-comment
|
|
6952
|
+
// @ts-ignore
|
|
6953
|
+
collectionItem => collectionItem._id);else collectionItems = data[constants.collectionItemsAccessor];
|
|
6954
6954
|
// valueToSet = constants.collectionItemsAccessor;
|
|
6955
6955
|
}
|
|
6956
6956
|
}
|
|
@@ -6973,9 +6973,16 @@ const WidgetForm = ({
|
|
|
6973
6973
|
})) || [];
|
|
6974
6974
|
selectedOptions = selectedOptions.filter(obj => !!obj.value);
|
|
6975
6975
|
if (valueToSet) {
|
|
6976
|
-
|
|
6976
|
+
// only set tabcollection items, when they are not set
|
|
6977
|
+
if (!tabCollectionItemsUpdated[activeTab]) {
|
|
6978
|
+
const updatedArr = tabCollectionItemsUpdated;
|
|
6979
|
+
updatedArr[activeTab] = true;
|
|
6980
|
+
setTabCollectionItemsUpdated(updatedArr);
|
|
6981
|
+
setValue(valueToSet, selectedOptions);
|
|
6982
|
+
}
|
|
6977
6983
|
} else {
|
|
6978
6984
|
setSelectedCollectionItems(selectedOptions);
|
|
6985
|
+
setCollectionItemsUpdated(true);
|
|
6979
6986
|
}
|
|
6980
6987
|
}
|
|
6981
6988
|
}, collectionItems);
|
|
@@ -7047,7 +7054,19 @@ const WidgetForm = ({
|
|
|
7047
7054
|
if (Array.isArray(selectedCollectionItems) && selectedCollectionItems.length > 0) {
|
|
7048
7055
|
formData['collectionItems'] = selectedCollectionItems.map(item => item.value);
|
|
7049
7056
|
}
|
|
7050
|
-
|
|
7057
|
+
let items = [...(getValues(constants.webItems) || []), ...(getValues(constants.mobileItems) || [])];
|
|
7058
|
+
items = items.map(_a => {
|
|
7059
|
+
var item = __rest(_a, ["_id", "__v", "widgetId"]);
|
|
7060
|
+
if (item['img'] && item['img']['_id']) {
|
|
7061
|
+
item['img'] = item['img']['_id'];
|
|
7062
|
+
} else if (typeof item['img'] !== 'string' || !item['img']) {
|
|
7063
|
+
delete item['img'];
|
|
7064
|
+
}
|
|
7065
|
+
return item;
|
|
7066
|
+
});
|
|
7067
|
+
onWidgetFormSubmit(Object.assign(Object.assign({}, formData), {
|
|
7068
|
+
items
|
|
7069
|
+
}));
|
|
7051
7070
|
};
|
|
7052
7071
|
const onCollectionIndexChange = result => {
|
|
7053
7072
|
const {
|
|
@@ -7210,65 +7229,6 @@ const WidgetForm = ({
|
|
|
7210
7229
|
customStyles: reactSelectStyles || {},
|
|
7211
7230
|
selectKey: selectedCollectionType === null || selectedCollectionType === void 0 ? void 0 : selectedCollectionType.value
|
|
7212
7231
|
}];
|
|
7213
|
-
const itemFormSchema = [{
|
|
7214
|
-
label: `${t('item.title')}`,
|
|
7215
|
-
required: true,
|
|
7216
|
-
accessor: 'title',
|
|
7217
|
-
type: 'text',
|
|
7218
|
-
placeholder: t('item.titlePlaceholder')
|
|
7219
|
-
}, {
|
|
7220
|
-
label: `${t('item.subtitle')}`,
|
|
7221
|
-
accessor: 'subtitle',
|
|
7222
|
-
type: 'text',
|
|
7223
|
-
placeholder: t('item.subTitlePlaceholder')
|
|
7224
|
-
}, {
|
|
7225
|
-
label: `${t('item.altText')}`,
|
|
7226
|
-
accessor: 'altText',
|
|
7227
|
-
type: 'text',
|
|
7228
|
-
placeholder: t('item.altTextPlaceholder')
|
|
7229
|
-
}, {
|
|
7230
|
-
label: `${t('item.link')}`,
|
|
7231
|
-
required: true,
|
|
7232
|
-
accessor: 'link',
|
|
7233
|
-
type: 'url',
|
|
7234
|
-
placeholder: t('item.linkPlaceholder')
|
|
7235
|
-
}, {
|
|
7236
|
-
label: `${t('item.srcset')}`,
|
|
7237
|
-
accessor: 'srcset',
|
|
7238
|
-
type: 'srcset'
|
|
7239
|
-
}, {
|
|
7240
|
-
label: t('item.image'),
|
|
7241
|
-
accessor: 'img',
|
|
7242
|
-
Input: ({
|
|
7243
|
-
field,
|
|
7244
|
-
error,
|
|
7245
|
-
setError,
|
|
7246
|
-
disabled
|
|
7247
|
-
}) => /*#__PURE__*/React__default["default"].createElement(ImageUpload$1, {
|
|
7248
|
-
imgId: field.value,
|
|
7249
|
-
maxSize: 10485760,
|
|
7250
|
-
onError: setError,
|
|
7251
|
-
error: error,
|
|
7252
|
-
setImgId: value => {
|
|
7253
|
-
field.onChange(value);
|
|
7254
|
-
},
|
|
7255
|
-
baseUrl: imageBaseUrl ? imageBaseUrl : baseUrl,
|
|
7256
|
-
disabled: disabled,
|
|
7257
|
-
text: /*#__PURE__*/React__default["default"].createElement(React__default["default"].Fragment, null, /*#__PURE__*/React__default["default"].createElement("div", {
|
|
7258
|
-
className: "khb_img-text-wrapper"
|
|
7259
|
-
}, /*#__PURE__*/React__default["default"].createElement("label", {
|
|
7260
|
-
htmlFor: "file-upload",
|
|
7261
|
-
className: "khb_img-text-label"
|
|
7262
|
-
}, /*#__PURE__*/React__default["default"].createElement("span", null, t('item.uploadFile'))), /*#__PURE__*/React__default["default"].createElement("p", {
|
|
7263
|
-
className: "khb_img-text-1"
|
|
7264
|
-
}, t('item.dragDrop'))), /*#__PURE__*/React__default["default"].createElement("p", {
|
|
7265
|
-
className: "khb_img-text-2"
|
|
7266
|
-
}, t('item.allowedFormat'))),
|
|
7267
|
-
onImageUpload: onImageUpload,
|
|
7268
|
-
onImageRemove: onImageRemove,
|
|
7269
|
-
className: "khb_img-upload-wrapper-3"
|
|
7270
|
-
})
|
|
7271
|
-
}];
|
|
7272
7232
|
if (!canAdd || !canUpdate) return null;
|
|
7273
7233
|
return /*#__PURE__*/React__default["default"].createElement("div", {
|
|
7274
7234
|
className: "khb_form"
|
|
@@ -7306,38 +7266,36 @@ const WidgetForm = ({
|
|
|
7306
7266
|
formatItem: formatListItem,
|
|
7307
7267
|
listCode: selectedCollectionType === null || selectedCollectionType === void 0 ? void 0 : selectedCollectionType.value
|
|
7308
7268
|
}), itemsEnabled && selectedWidgetType !== 'Tabs' && /*#__PURE__*/React__default["default"].createElement(React__default["default"].Fragment, null, /*#__PURE__*/React__default["default"].createElement(ItemsAccordian, {
|
|
7309
|
-
|
|
7269
|
+
clearError: clearErrors,
|
|
7270
|
+
collapseId: constants.webItems,
|
|
7310
7271
|
title: t('widget.webItems'),
|
|
7311
|
-
id:
|
|
7312
|
-
|
|
7313
|
-
show: webItemsVisible,
|
|
7314
|
-
itemsData: webItems,
|
|
7272
|
+
id: constants.webItems,
|
|
7273
|
+
setError: setError,
|
|
7274
|
+
show: webItemsVisible || !!(errors && (errors === null || errors === void 0 ? void 0 : errors[constants.webItems])),
|
|
7315
7275
|
toggleShow: setWebItemsVisible,
|
|
7316
|
-
onDataSubmit: onItemFormSubmit,
|
|
7317
7276
|
itemType: "Web",
|
|
7318
|
-
|
|
7319
|
-
|
|
7277
|
+
name: constants.webItems,
|
|
7278
|
+
errors: errors,
|
|
7279
|
+
control: control,
|
|
7280
|
+
register: register,
|
|
7281
|
+
loading: loading,
|
|
7320
7282
|
addText: t('addButtonText'),
|
|
7321
|
-
cancelText: t('cancelButtonText'),
|
|
7322
|
-
saveText: t('saveButtonText'),
|
|
7323
|
-
editText: t('editButtonText'),
|
|
7324
7283
|
deleteText: t('deleteButtonText')
|
|
7325
7284
|
}), /*#__PURE__*/React__default["default"].createElement(ItemsAccordian, {
|
|
7326
|
-
|
|
7285
|
+
clearError: clearErrors,
|
|
7286
|
+
collapseId: constants.mobileItems,
|
|
7327
7287
|
title: t('widget.mobileItems'),
|
|
7328
|
-
id:
|
|
7329
|
-
|
|
7330
|
-
|
|
7331
|
-
|
|
7288
|
+
id: constants.mobileItems,
|
|
7289
|
+
name: constants.mobileItems,
|
|
7290
|
+
setError: setError,
|
|
7291
|
+
loading: loading,
|
|
7292
|
+
show: mobileItemsVisible || !!(errors && (errors === null || errors === void 0 ? void 0 : errors[constants.mobileItems])),
|
|
7332
7293
|
toggleShow: setMobileItemsVisible,
|
|
7333
|
-
onDataSubmit: onItemFormSubmit,
|
|
7334
7294
|
itemType: "Mobile",
|
|
7335
|
-
|
|
7336
|
-
|
|
7295
|
+
errors: errors,
|
|
7296
|
+
control: control,
|
|
7297
|
+
register: register,
|
|
7337
7298
|
addText: t('addButtonText'),
|
|
7338
|
-
cancelText: t('cancelButtonText'),
|
|
7339
|
-
saveText: t('saveButtonText'),
|
|
7340
|
-
editText: t('editButtonText'),
|
|
7341
7299
|
deleteText: t('deleteButtonText')
|
|
7342
7300
|
})));
|
|
7343
7301
|
};
|
|
@@ -7483,7 +7441,6 @@ const Widget = ({
|
|
|
7483
7441
|
itemData,
|
|
7484
7442
|
getWidgets,
|
|
7485
7443
|
onCofirmDeleteWidget,
|
|
7486
|
-
onDeleteItem,
|
|
7487
7444
|
onImageRemove,
|
|
7488
7445
|
onImageUpload,
|
|
7489
7446
|
onPartialUpdateWidget,
|
|
@@ -7497,11 +7454,7 @@ const Widget = ({
|
|
|
7497
7454
|
totalRecords,
|
|
7498
7455
|
currentPage,
|
|
7499
7456
|
pageSize,
|
|
7500
|
-
setCurrentPage
|
|
7501
|
-
// Item
|
|
7502
|
-
itemsList,
|
|
7503
|
-
itemsLoading,
|
|
7504
|
-
onItemFormSubmit
|
|
7457
|
+
setCurrentPage
|
|
7505
7458
|
} = useWidget({
|
|
7506
7459
|
canList: derivedPermissions.list,
|
|
7507
7460
|
routes,
|
|
@@ -7520,7 +7473,6 @@ const Widget = ({
|
|
|
7520
7473
|
loader: loader,
|
|
7521
7474
|
onWidgetFormSubmit: onWidgetFormSubmit,
|
|
7522
7475
|
data: itemData,
|
|
7523
|
-
onDeleteItem: onDeleteItem,
|
|
7524
7476
|
getWidgets: getWidgets,
|
|
7525
7477
|
onImageRemove: onImageRemove,
|
|
7526
7478
|
onImageUpload: onImageUpload,
|
|
@@ -7538,11 +7490,6 @@ const Widget = ({
|
|
|
7538
7490
|
currentPage: currentPage,
|
|
7539
7491
|
pageSize: pageSize,
|
|
7540
7492
|
setCurrentPage: setCurrentPage,
|
|
7541
|
-
// Item
|
|
7542
|
-
webItems: itemsList.web,
|
|
7543
|
-
mobileItems: itemsList.mobile,
|
|
7544
|
-
itemsLoading: itemsLoading,
|
|
7545
|
-
onItemFormSubmit: onItemFormSubmit,
|
|
7546
7493
|
// Permissions
|
|
7547
7494
|
canAdd: derivedPermissions.add,
|
|
7548
7495
|
canDelete: derivedPermissions.delete,
|