@knovator/pagecreator-admin 0.7.2 → 0.7.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/index.cjs CHANGED
@@ -2806,7 +2806,7 @@ const usePage = ({
2806
2806
  }
2807
2807
  onError(code, 'error', data === null || data === void 0 ? void 0 : data.message);
2808
2808
  }, [onError, onLogout]);
2809
- const getWidgets = React.useCallback((search, callback) => __awaiter(void 0, void 0, void 0, function* () {
2809
+ const getWidgets = React.useCallback((search, collectionItems, callback) => __awaiter(void 0, void 0, void 0, function* () {
2810
2810
  try {
2811
2811
  setWidgetsLoading(true);
2812
2812
  const api = getApiType({
@@ -2821,6 +2821,7 @@ const usePage = ({
2821
2821
  url: api.url,
2822
2822
  onError: handleError(CALLBACK_CODES.GET_ALL),
2823
2823
  data: {
2824
+ collectionItems: collectionItems || [],
2824
2825
  search: search || '',
2825
2826
  all: true,
2826
2827
  isActive: true
@@ -3685,193 +3686,6 @@ $$7({ global: true, forced: parseInt != $parseInt }, {
3685
3686
  parseInt: $parseInt
3686
3687
  });
3687
3688
 
3688
- const Form = /*#__PURE__*/React.forwardRef(({
3689
- schema,
3690
- onSubmit,
3691
- data,
3692
- isUpdating: _isUpdating = false,
3693
- enable: _enable = true,
3694
- updates,
3695
- watcher
3696
- }, ref) => {
3697
- const {
3698
- register,
3699
- formState: {
3700
- errors
3701
- },
3702
- handleSubmit,
3703
- reset,
3704
- setValue,
3705
- control,
3706
- setError,
3707
- watch
3708
- } = reactHookForm.useForm();
3709
- // setting update data in form
3710
- React.useEffect(() => {
3711
- if (!isEmpty(data)) {
3712
- reset(data);
3713
- }
3714
- }, [data, reset]);
3715
- // setting subscriber if watcher is provided
3716
- React.useEffect(() => {
3717
- if (watcher) {
3718
- const subscription = watch((value, {
3719
- name,
3720
- type
3721
- }) => watcher(value, name, type));
3722
- return () => subscription.unsubscribe();
3723
- // eslint-disable-next-line @typescript-eslint/no-empty-function
3724
- } else return () => {};
3725
- }, [watch, watcher]);
3726
- // setting values if updates are provided
3727
- React.useEffect(() => {
3728
- if (updates) {
3729
- Object.keys(updates).forEach(key => {
3730
- setValue(key, updates[key]);
3731
- });
3732
- }
3733
- }, [setValue, updates]);
3734
- const inputRenderer = schema => {
3735
- var _a, _b, _c, _d, _e, _f;
3736
- let input;
3737
- if (typeof schema.show !== 'undefined' && !schema.show) return null;
3738
- if (schema.type) {
3739
- switch (schema.type) {
3740
- case 'ReactSelect':
3741
- input = /*#__PURE__*/React__default["default"].createElement(CustomReactSelect, {
3742
- disabled: !_enable,
3743
- label: schema.label,
3744
- error: (_b = (_a = errors[schema.accessor]) === null || _a === void 0 ? void 0 : _a.message) === null || _b === void 0 ? void 0 : _b.toString(),
3745
- onChange: value => {
3746
- if (value) {
3747
- setValue(schema.accessor, Array.isArray(value) ? value.map(item => item.value) : value.value);
3748
- if (schema.onChange) schema.onChange(value);
3749
- }
3750
- },
3751
- selectedOptions: schema.selectedOptions,
3752
- required: schema.required,
3753
- isMulti: schema.isMulti,
3754
- isSearchable: schema.isSearchable,
3755
- isLoading: schema.isLoading,
3756
- placeholder: schema.placeholder,
3757
- wrapperClassName: schema.wrapperClassName,
3758
- formatOptionLabel: schema.formatOptionLabel,
3759
- selectKey: schema.selectKey,
3760
- loadOptions: schema.loadOptions
3761
- });
3762
- break;
3763
- case 'checkbox':
3764
- input = /*#__PURE__*/React__default["default"].createElement(Input.Checkbox, {
3765
- error: (_d = (_c = errors[schema.accessor]) === null || _c === void 0 ? void 0 : _c.message) === null || _d === void 0 ? void 0 : _d.toString(),
3766
- switchClass: schema.switchClass,
3767
- label: schema.label,
3768
- rest: register(schema.accessor, schema.validations || {}),
3769
- className: "block",
3770
- disabled: _isUpdating && typeof schema.editable !== 'undefined' && !schema.editable,
3771
- wrapperClassName: schema.wrapperClassName
3772
- });
3773
- break;
3774
- case 'select':
3775
- input = /*#__PURE__*/React__default["default"].createElement(reactHookForm.Controller, {
3776
- control: control,
3777
- name: schema.accessor,
3778
- render: ({
3779
- field
3780
- }) => {
3781
- var _a, _b;
3782
- return /*#__PURE__*/React__default["default"].createElement(Input.Select, {
3783
- options: schema.options,
3784
- label: schema.label,
3785
- error: (_b = (_a = errors[schema.accessor]) === null || _a === void 0 ? void 0 : _a.message) === null || _b === void 0 ? void 0 : _b.toString(),
3786
- onChange: e => field.onChange(e.target.value),
3787
- value: field.value,
3788
- className: "w-full",
3789
- disabled: _isUpdating && typeof schema.editable !== 'undefined' && !schema.editable || !_enable,
3790
- required: schema.required,
3791
- wrapperClassName: schema.wrapperClassName
3792
- });
3793
- }
3794
- });
3795
- break;
3796
- case 'srcset':
3797
- input = /*#__PURE__*/React__default["default"].createElement(Input.SrcSet, {
3798
- control: control,
3799
- register: register,
3800
- label: schema.label,
3801
- required: schema.required,
3802
- errors: errors[schema.accessor],
3803
- disabled: _isUpdating && typeof schema.editable !== 'undefined' && !schema.editable || !_enable
3804
- });
3805
- break;
3806
- case 'text':
3807
- case 'number':
3808
- case 'url':
3809
- default:
3810
- input = /*#__PURE__*/React__default["default"].createElement(Input, {
3811
- rest: register(schema.accessor, schema.validations || {}),
3812
- label: schema.label,
3813
- error: (_f = (_e = errors[schema.accessor]) === null || _e === void 0 ? void 0 : _e.message) === null || _f === void 0 ? void 0 : _f.toString(),
3814
- type: schema.type,
3815
- className: "w-full p-2",
3816
- placeholder: schema.placeholder,
3817
- disabled: _isUpdating && typeof schema.editable !== 'undefined' && !schema.editable || !_enable,
3818
- required: schema.required,
3819
- onInput: schema.onInput,
3820
- wrapperClassName: schema.wrapperClassName
3821
- });
3822
- break;
3823
- }
3824
- } else if (schema.Input) {
3825
- input = /*#__PURE__*/React__default["default"].createElement("div", {
3826
- className: "kms_input-wrapper"
3827
- }, /*#__PURE__*/React__default["default"].createElement("label", {
3828
- className: "kms_input-label"
3829
- }, schema.label), /*#__PURE__*/React__default["default"].createElement(reactHookForm.Controller, {
3830
- control: control,
3831
- name: schema.accessor,
3832
- rules: schema.validations,
3833
- render: ({
3834
- field
3835
- }) => {
3836
- var _a, _b;
3837
- // eslint-disable-next-line @typescript-eslint/no-non-null-assertion
3838
- return schema.Input({
3839
- field,
3840
- error: (_b = (_a = errors[schema.accessor]) === null || _a === void 0 ? void 0 : _a.message) === null || _b === void 0 ? void 0 : _b.toString(),
3841
- disabled: _isUpdating && typeof schema.editable !== 'undefined' && !schema.editable || !_enable,
3842
- setError: msg => setError.call(null, schema.accessor, {
3843
- type: 'custom',
3844
- message: msg
3845
- })
3846
- });
3847
- }
3848
- }));
3849
- } else throw new Error(`Please provide Input or type prop to render input Labeled ${schema.label}`);
3850
- return input;
3851
- };
3852
- const onFormSubmit = e => __awaiter(void 0, void 0, void 0, function* () {
3853
- e.preventDefault();
3854
- handleSubmit(data => {
3855
- const formattedData = schema.reduce((values, schemaItem) => {
3856
- // Do not add field if editing is disabled for it
3857
- if (_isUpdating && typeof schemaItem.editable !== 'undefined' && !schemaItem.editable) return values;
3858
- if (schemaItem.type === 'number') {
3859
- values[schemaItem.accessor] = data[schemaItem.accessor] === '' ? null : parseInt(data[schemaItem.accessor]);
3860
- } else values[schemaItem.accessor] = data[schemaItem.accessor];
3861
- return values;
3862
- }, {});
3863
- onSubmit(formattedData);
3864
- })();
3865
- });
3866
- return /*#__PURE__*/React__default["default"].createElement("form", {
3867
- onSubmit: onFormSubmit,
3868
- ref: ref,
3869
- className: "khb-form-items"
3870
- }, schema.map((schema, i) => /*#__PURE__*/React__default["default"].createElement(React__default["default"].Fragment, {
3871
- key: i
3872
- }, inputRenderer(schema))));
3873
- });
3874
-
3875
3689
  const SimpleForm = /*#__PURE__*/React.forwardRef(({
3876
3690
  schema,
3877
3691
  onSubmit,
@@ -4064,7 +3878,30 @@ const PageForm = ({
4064
3878
  canAdd,
4065
3879
  canUpdate
4066
3880
  } = usePageState();
3881
+ const {
3882
+ register,
3883
+ formState: {
3884
+ errors
3885
+ },
3886
+ handleSubmit,
3887
+ reset,
3888
+ setValue,
3889
+ control,
3890
+ setError,
3891
+ getValues
3892
+ } = reactHookForm.useForm();
4067
3893
  const callerRef = React.useRef(null);
3894
+ React.useEffect(() => {
3895
+ if (!isEmpty(data)) {
3896
+ reset(data);
3897
+ }
3898
+ }, [data, reset]);
3899
+ React.useEffect(() => {
3900
+ if (formState === 'ADD') {
3901
+ setSelectedWidgets([]);
3902
+ }
3903
+ // eslint-disable-next-line react-hooks/exhaustive-deps
3904
+ }, [formState]);
4068
3905
  // Form Utility Functions
4069
3906
  function handleCapitalize(event) {
4070
3907
  event.target.value = capitalizeFirstLetter(event.target.value);
@@ -4085,11 +3922,18 @@ const PageForm = ({
4085
3922
  return event;
4086
3923
  }
4087
3924
  function loadOptions(value, callback) {
3925
+ let widgetItems = [];
3926
+ if (formState === 'UPDATE') {
3927
+ widgetItems = getValues('widgets');
3928
+ }
3929
+ widgetItems = Array.isArray(widgetItems) ? widgetItems : (data === null || data === void 0 ? void 0 : data.widgets) ? data === null || data === void 0 ? void 0 : data.widgets : [];
4088
3930
  if (callerRef.current) clearTimeout(callerRef.current);
4089
3931
  callerRef.current = setTimeout(() => {
4090
- getWidgets(value, widgetsData => {
3932
+ // eslint-disable-next-line @typescript-eslint/ban-ts-comment
3933
+ // @ts-ignore
3934
+ getWidgets(value || '', widgetItems, widgetsData => {
4091
3935
  if (callback) callback(widgetsData);
4092
- if (formState === 'UPDATE' && data) setSelectedWidgets(data.widgets.map(widgetId => widgetsData.find(widget => widget['value'] === widgetId)).filter(widget => widget));
3936
+ if (formState === 'UPDATE' && data) setSelectedWidgets(widgetItems.map(widgetId => widgetsData.find(widget => widget['value'] === widgetId)).filter(widget => widget));
4093
3937
  });
4094
3938
  }, 300);
4095
3939
  }
@@ -4147,15 +3991,17 @@ const PageForm = ({
4147
3991
  if (!canAdd && !canUpdate) return null;
4148
3992
  return /*#__PURE__*/React__default["default"].createElement("div", {
4149
3993
  className: "khb_form"
4150
- }, /*#__PURE__*/React__default["default"].createElement(Form, {
3994
+ }, /*#__PURE__*/React__default["default"].createElement(SimpleForm, {
4151
3995
  schema: pageFormSchema,
4152
3996
  onSubmit: onPageFormSubmit,
4153
3997
  ref: formRef,
4154
- data: data,
4155
3998
  isUpdating: formState === 'UPDATE',
4156
- updates: {
4157
- widgets: selectedWidgets.map(widget => widget.value)
4158
- }
3999
+ register: register,
4000
+ errors: errors,
4001
+ handleSubmit: handleSubmit,
4002
+ setValue: setValue,
4003
+ control: control,
4004
+ setError: setError
4159
4005
  }), /*#__PURE__*/React__default["default"].createElement(DNDItemsList, {
4160
4006
  onDragEnd: onDragEnd,
4161
4007
  items: selectedWidgets
@@ -7218,7 +7064,6 @@ const WidgetForm = ({
7218
7064
  }, {
7219
7065
  label: selectedCollectionType === null || selectedCollectionType === void 0 ? void 0 : selectedCollectionType.label,
7220
7066
  placeholder: `Select ${selectedCollectionType === null || selectedCollectionType === void 0 ? void 0 : selectedCollectionType.label}...`,
7221
- required: true,
7222
7067
  accessor: 'collectionItems',
7223
7068
  type: 'ReactSelect',
7224
7069
  options: collectionData,
package/index.js CHANGED
@@ -2,7 +2,7 @@ import React, { createContext, useContext, useRef, useState, useCallback, useEff
2
2
  import fetchUrl, { setAPIConfig } from '@knovator/api';
3
3
  import classNames from 'classnames';
4
4
  import ReactSelect from 'react-select/async';
5
- import { useFieldArray, useForm, Controller } from 'react-hook-form';
5
+ import { useFieldArray, Controller, useForm } from 'react-hook-form';
6
6
  import { DragDropContext, Droppable, Draggable } from 'react-beautiful-dnd';
7
7
  import CSSTransition from 'react-transition-group/CSSTransition';
8
8
  import { useDropzone } from 'react-dropzone';
@@ -2794,7 +2794,7 @@ const usePage = ({
2794
2794
  }
2795
2795
  onError(code, 'error', data === null || data === void 0 ? void 0 : data.message);
2796
2796
  }, [onError, onLogout]);
2797
- const getWidgets = useCallback((search, callback) => __awaiter(void 0, void 0, void 0, function* () {
2797
+ const getWidgets = useCallback((search, collectionItems, callback) => __awaiter(void 0, void 0, void 0, function* () {
2798
2798
  try {
2799
2799
  setWidgetsLoading(true);
2800
2800
  const api = getApiType({
@@ -2809,6 +2809,7 @@ const usePage = ({
2809
2809
  url: api.url,
2810
2810
  onError: handleError(CALLBACK_CODES.GET_ALL),
2811
2811
  data: {
2812
+ collectionItems: collectionItems || [],
2812
2813
  search: search || '',
2813
2814
  all: true,
2814
2815
  isActive: true
@@ -3673,193 +3674,6 @@ $$7({ global: true, forced: parseInt != $parseInt }, {
3673
3674
  parseInt: $parseInt
3674
3675
  });
3675
3676
 
3676
- const Form = /*#__PURE__*/forwardRef(({
3677
- schema,
3678
- onSubmit,
3679
- data,
3680
- isUpdating: _isUpdating = false,
3681
- enable: _enable = true,
3682
- updates,
3683
- watcher
3684
- }, ref) => {
3685
- const {
3686
- register,
3687
- formState: {
3688
- errors
3689
- },
3690
- handleSubmit,
3691
- reset,
3692
- setValue,
3693
- control,
3694
- setError,
3695
- watch
3696
- } = useForm();
3697
- // setting update data in form
3698
- useEffect(() => {
3699
- if (!isEmpty(data)) {
3700
- reset(data);
3701
- }
3702
- }, [data, reset]);
3703
- // setting subscriber if watcher is provided
3704
- useEffect(() => {
3705
- if (watcher) {
3706
- const subscription = watch((value, {
3707
- name,
3708
- type
3709
- }) => watcher(value, name, type));
3710
- return () => subscription.unsubscribe();
3711
- // eslint-disable-next-line @typescript-eslint/no-empty-function
3712
- } else return () => {};
3713
- }, [watch, watcher]);
3714
- // setting values if updates are provided
3715
- useEffect(() => {
3716
- if (updates) {
3717
- Object.keys(updates).forEach(key => {
3718
- setValue(key, updates[key]);
3719
- });
3720
- }
3721
- }, [setValue, updates]);
3722
- const inputRenderer = schema => {
3723
- var _a, _b, _c, _d, _e, _f;
3724
- let input;
3725
- if (typeof schema.show !== 'undefined' && !schema.show) return null;
3726
- if (schema.type) {
3727
- switch (schema.type) {
3728
- case 'ReactSelect':
3729
- input = /*#__PURE__*/React.createElement(CustomReactSelect, {
3730
- disabled: !_enable,
3731
- label: schema.label,
3732
- error: (_b = (_a = errors[schema.accessor]) === null || _a === void 0 ? void 0 : _a.message) === null || _b === void 0 ? void 0 : _b.toString(),
3733
- onChange: value => {
3734
- if (value) {
3735
- setValue(schema.accessor, Array.isArray(value) ? value.map(item => item.value) : value.value);
3736
- if (schema.onChange) schema.onChange(value);
3737
- }
3738
- },
3739
- selectedOptions: schema.selectedOptions,
3740
- required: schema.required,
3741
- isMulti: schema.isMulti,
3742
- isSearchable: schema.isSearchable,
3743
- isLoading: schema.isLoading,
3744
- placeholder: schema.placeholder,
3745
- wrapperClassName: schema.wrapperClassName,
3746
- formatOptionLabel: schema.formatOptionLabel,
3747
- selectKey: schema.selectKey,
3748
- loadOptions: schema.loadOptions
3749
- });
3750
- break;
3751
- case 'checkbox':
3752
- input = /*#__PURE__*/React.createElement(Input.Checkbox, {
3753
- error: (_d = (_c = errors[schema.accessor]) === null || _c === void 0 ? void 0 : _c.message) === null || _d === void 0 ? void 0 : _d.toString(),
3754
- switchClass: schema.switchClass,
3755
- label: schema.label,
3756
- rest: register(schema.accessor, schema.validations || {}),
3757
- className: "block",
3758
- disabled: _isUpdating && typeof schema.editable !== 'undefined' && !schema.editable,
3759
- wrapperClassName: schema.wrapperClassName
3760
- });
3761
- break;
3762
- case 'select':
3763
- input = /*#__PURE__*/React.createElement(Controller, {
3764
- control: control,
3765
- name: schema.accessor,
3766
- render: ({
3767
- field
3768
- }) => {
3769
- var _a, _b;
3770
- return /*#__PURE__*/React.createElement(Input.Select, {
3771
- options: schema.options,
3772
- label: schema.label,
3773
- error: (_b = (_a = errors[schema.accessor]) === null || _a === void 0 ? void 0 : _a.message) === null || _b === void 0 ? void 0 : _b.toString(),
3774
- onChange: e => field.onChange(e.target.value),
3775
- value: field.value,
3776
- className: "w-full",
3777
- disabled: _isUpdating && typeof schema.editable !== 'undefined' && !schema.editable || !_enable,
3778
- required: schema.required,
3779
- wrapperClassName: schema.wrapperClassName
3780
- });
3781
- }
3782
- });
3783
- break;
3784
- case 'srcset':
3785
- input = /*#__PURE__*/React.createElement(Input.SrcSet, {
3786
- control: control,
3787
- register: register,
3788
- label: schema.label,
3789
- required: schema.required,
3790
- errors: errors[schema.accessor],
3791
- disabled: _isUpdating && typeof schema.editable !== 'undefined' && !schema.editable || !_enable
3792
- });
3793
- break;
3794
- case 'text':
3795
- case 'number':
3796
- case 'url':
3797
- default:
3798
- input = /*#__PURE__*/React.createElement(Input, {
3799
- rest: register(schema.accessor, schema.validations || {}),
3800
- label: schema.label,
3801
- error: (_f = (_e = errors[schema.accessor]) === null || _e === void 0 ? void 0 : _e.message) === null || _f === void 0 ? void 0 : _f.toString(),
3802
- type: schema.type,
3803
- className: "w-full p-2",
3804
- placeholder: schema.placeholder,
3805
- disabled: _isUpdating && typeof schema.editable !== 'undefined' && !schema.editable || !_enable,
3806
- required: schema.required,
3807
- onInput: schema.onInput,
3808
- wrapperClassName: schema.wrapperClassName
3809
- });
3810
- break;
3811
- }
3812
- } else if (schema.Input) {
3813
- input = /*#__PURE__*/React.createElement("div", {
3814
- className: "kms_input-wrapper"
3815
- }, /*#__PURE__*/React.createElement("label", {
3816
- className: "kms_input-label"
3817
- }, schema.label), /*#__PURE__*/React.createElement(Controller, {
3818
- control: control,
3819
- name: schema.accessor,
3820
- rules: schema.validations,
3821
- render: ({
3822
- field
3823
- }) => {
3824
- var _a, _b;
3825
- // eslint-disable-next-line @typescript-eslint/no-non-null-assertion
3826
- return schema.Input({
3827
- field,
3828
- error: (_b = (_a = errors[schema.accessor]) === null || _a === void 0 ? void 0 : _a.message) === null || _b === void 0 ? void 0 : _b.toString(),
3829
- disabled: _isUpdating && typeof schema.editable !== 'undefined' && !schema.editable || !_enable,
3830
- setError: msg => setError.call(null, schema.accessor, {
3831
- type: 'custom',
3832
- message: msg
3833
- })
3834
- });
3835
- }
3836
- }));
3837
- } else throw new Error(`Please provide Input or type prop to render input Labeled ${schema.label}`);
3838
- return input;
3839
- };
3840
- const onFormSubmit = e => __awaiter(void 0, void 0, void 0, function* () {
3841
- e.preventDefault();
3842
- handleSubmit(data => {
3843
- const formattedData = schema.reduce((values, schemaItem) => {
3844
- // Do not add field if editing is disabled for it
3845
- if (_isUpdating && typeof schemaItem.editable !== 'undefined' && !schemaItem.editable) return values;
3846
- if (schemaItem.type === 'number') {
3847
- values[schemaItem.accessor] = data[schemaItem.accessor] === '' ? null : parseInt(data[schemaItem.accessor]);
3848
- } else values[schemaItem.accessor] = data[schemaItem.accessor];
3849
- return values;
3850
- }, {});
3851
- onSubmit(formattedData);
3852
- })();
3853
- });
3854
- return /*#__PURE__*/React.createElement("form", {
3855
- onSubmit: onFormSubmit,
3856
- ref: ref,
3857
- className: "khb-form-items"
3858
- }, schema.map((schema, i) => /*#__PURE__*/React.createElement(React.Fragment, {
3859
- key: i
3860
- }, inputRenderer(schema))));
3861
- });
3862
-
3863
3677
  const SimpleForm = /*#__PURE__*/forwardRef(({
3864
3678
  schema,
3865
3679
  onSubmit,
@@ -4052,7 +3866,30 @@ const PageForm = ({
4052
3866
  canAdd,
4053
3867
  canUpdate
4054
3868
  } = usePageState();
3869
+ const {
3870
+ register,
3871
+ formState: {
3872
+ errors
3873
+ },
3874
+ handleSubmit,
3875
+ reset,
3876
+ setValue,
3877
+ control,
3878
+ setError,
3879
+ getValues
3880
+ } = useForm();
4055
3881
  const callerRef = useRef(null);
3882
+ useEffect(() => {
3883
+ if (!isEmpty(data)) {
3884
+ reset(data);
3885
+ }
3886
+ }, [data, reset]);
3887
+ useEffect(() => {
3888
+ if (formState === 'ADD') {
3889
+ setSelectedWidgets([]);
3890
+ }
3891
+ // eslint-disable-next-line react-hooks/exhaustive-deps
3892
+ }, [formState]);
4056
3893
  // Form Utility Functions
4057
3894
  function handleCapitalize(event) {
4058
3895
  event.target.value = capitalizeFirstLetter(event.target.value);
@@ -4073,11 +3910,18 @@ const PageForm = ({
4073
3910
  return event;
4074
3911
  }
4075
3912
  function loadOptions(value, callback) {
3913
+ let widgetItems = [];
3914
+ if (formState === 'UPDATE') {
3915
+ widgetItems = getValues('widgets');
3916
+ }
3917
+ widgetItems = Array.isArray(widgetItems) ? widgetItems : (data === null || data === void 0 ? void 0 : data.widgets) ? data === null || data === void 0 ? void 0 : data.widgets : [];
4076
3918
  if (callerRef.current) clearTimeout(callerRef.current);
4077
3919
  callerRef.current = setTimeout(() => {
4078
- getWidgets(value, widgetsData => {
3920
+ // eslint-disable-next-line @typescript-eslint/ban-ts-comment
3921
+ // @ts-ignore
3922
+ getWidgets(value || '', widgetItems, widgetsData => {
4079
3923
  if (callback) callback(widgetsData);
4080
- if (formState === 'UPDATE' && data) setSelectedWidgets(data.widgets.map(widgetId => widgetsData.find(widget => widget['value'] === widgetId)).filter(widget => widget));
3924
+ if (formState === 'UPDATE' && data) setSelectedWidgets(widgetItems.map(widgetId => widgetsData.find(widget => widget['value'] === widgetId)).filter(widget => widget));
4081
3925
  });
4082
3926
  }, 300);
4083
3927
  }
@@ -4135,15 +3979,17 @@ const PageForm = ({
4135
3979
  if (!canAdd && !canUpdate) return null;
4136
3980
  return /*#__PURE__*/React.createElement("div", {
4137
3981
  className: "khb_form"
4138
- }, /*#__PURE__*/React.createElement(Form, {
3982
+ }, /*#__PURE__*/React.createElement(SimpleForm, {
4139
3983
  schema: pageFormSchema,
4140
3984
  onSubmit: onPageFormSubmit,
4141
3985
  ref: formRef,
4142
- data: data,
4143
3986
  isUpdating: formState === 'UPDATE',
4144
- updates: {
4145
- widgets: selectedWidgets.map(widget => widget.value)
4146
- }
3987
+ register: register,
3988
+ errors: errors,
3989
+ handleSubmit: handleSubmit,
3990
+ setValue: setValue,
3991
+ control: control,
3992
+ setError: setError
4147
3993
  }), /*#__PURE__*/React.createElement(DNDItemsList, {
4148
3994
  onDragEnd: onDragEnd,
4149
3995
  items: selectedWidgets
@@ -7206,7 +7052,6 @@ const WidgetForm = ({
7206
7052
  }, {
7207
7053
  label: selectedCollectionType === null || selectedCollectionType === void 0 ? void 0 : selectedCollectionType.label,
7208
7054
  placeholder: `Select ${selectedCollectionType === null || selectedCollectionType === void 0 ? void 0 : selectedCollectionType.label}...`,
7209
- required: true,
7210
7055
  accessor: 'collectionItems',
7211
7056
  type: 'ReactSelect',
7212
7057
  options: collectionData,
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@knovator/pagecreator-admin",
3
- "version": "0.7.2",
3
+ "version": "0.7.3",
4
4
  "dependencies": {
5
5
  "classnames": "^2.3.1",
6
6
  "react-beautiful-dnd": "^13.1.0",
@@ -24,7 +24,7 @@ declare const usePage: ({ routes, defaultLimit, canList, preConfirmDelete, }: Us
24
24
  widgets: ObjectType[];
25
25
  itemData: any;
26
26
  formState: FormActionTypes | undefined;
27
- getWidgets: (search?: string, callback?: ((data: any) => void) | undefined) => Promise<void>;
27
+ getWidgets: (search?: string, collectionItems?: string[], callback?: ((data: any) => void) | undefined) => Promise<void>;
28
28
  onCloseForm: () => void;
29
29
  widgetsLoading: boolean;
30
30
  selectedWidgets: {
@@ -70,7 +70,7 @@ export interface PageContextType {
70
70
  list: any[];
71
71
  searchText: string;
72
72
  changeSearch: (val: string) => void;
73
- getWidgets: (search?: string, callback?: (data: any) => void) => void;
73
+ getWidgets: (search: string, collectionItems: string[], callback?: (data: any) => void) => void;
74
74
  formState: FormActionTypes | undefined;
75
75
  closeForm: () => void;
76
76
  onPageFormSubmit: (data: any) => void;