@knovator/pagecreator-admin 0.8.0 → 0.8.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -91,7 +91,7 @@
91
91
 
92
92
  ### Prerequisites
93
93
 
94
- We can use `@knovator/pagecreator-admin` in React/Next application, we can create one using following commands
94
+ Create one reactjs/nextjs application if you don't have one,
95
95
  * Project
96
96
  ```sh
97
97
  npx create-react-app my-app
@@ -104,8 +104,7 @@ We can use `@knovator/pagecreator-admin` in React/Next application, we can creat
104
104
 
105
105
  ### Installation
106
106
 
107
-
108
- 1. Install NPM packages
107
+ 1. Add pagecreator package
109
108
  ```sh
110
109
  npm install @knovator/pagecreator-admin
111
110
  # or
@@ -121,7 +120,7 @@ We can use `@knovator/pagecreator-admin` in React/Next application, we can creat
121
120
 
122
121
  ### Provider
123
122
 
124
- `@knovator/pagecreator-admin` uses **Context API**, to support communication between components. So, `Widget`/`Page` components should be wrapped by Provider.
123
+ In order to support communication between components `@knovator/pagecreator-admin` uses **Context API**. So, `Widget`/`Page` components should be wrapped by Provider.
125
124
  ```jsx
126
125
  import { Provider } from '@knovator/pagecreator-admin';
127
126
 
package/index.cjs CHANGED
@@ -1758,8 +1758,6 @@ const TRANSLATION_PAIRS_WIDGET = {
1758
1758
  'widget.widgetTitleInfo': 'HTML is supported',
1759
1759
  'widget.minPerRow': 'Value must be greater than zero',
1760
1760
  'widget.actionsLabel': 'Actions',
1761
- 'widget.category': 'Category',
1762
- 'widget.categoryPlaceholder': 'Select Category',
1763
1761
  'widget.tabNameRequired': 'Tab Name is required'
1764
1762
  };
1765
1763
  const TRANSLATION_PAIRS_ITEM = {
@@ -2694,12 +2692,6 @@ const apiList = {
2694
2692
  url: `${prefix}/collection-data`,
2695
2693
  method: 'POST'
2696
2694
  }),
2697
- CATEGORIES: ({
2698
- prefix
2699
- }) => ({
2700
- url: `${prefix}/categories`,
2701
- method: 'GET'
2702
- }),
2703
2695
  // Image Upload API
2704
2696
  IMAGE_UPLOAD: ({
2705
2697
  prefix
@@ -2887,6 +2879,11 @@ const usePage = ({
2887
2879
  }
2888
2880
  }), [baseUrl, currentPageRef, limitRef, offsetRef, handleError, pageRoutesPrefix, routes, token]);
2889
2881
  const onPageFormSubmit = data => __awaiter(void 0, void 0, void 0, function* () {
2882
+ if (selectedWidgets.length) {
2883
+ // eslint-disable-next-line @typescript-eslint/ban-ts-comment
2884
+ // @ts-ignore
2885
+ data.widgets = selectedWidgets.map(item => item.value);
2886
+ }
2890
2887
  setLoading(true);
2891
2888
  const code = formState === 'ADD' ? CALLBACK_CODES.CREATE : CALLBACK_CODES.UPDATE;
2892
2889
  try {
@@ -2977,6 +2974,7 @@ const usePage = ({
2977
2974
  }
2978
2975
  };
2979
2976
  const onChangeWidgetSequence = (sourceIndex, destinationIndex) => {
2977
+ console.log(sourceIndex, destinationIndex);
2980
2978
  setSelectedWidgets(listData => {
2981
2979
  const temporaryData = [...listData];
2982
2980
  const [selectedRow] = temporaryData.splice(sourceIndex, 1);
@@ -4518,7 +4516,6 @@ const useWidget = ({
4518
4516
  const [formState, setFormState] = React.useState();
4519
4517
  const [itemsTypes, setItemsTypes] = React.useState([]);
4520
4518
  const [widgetTypes, setWidgetTypes] = React.useState([]);
4521
- const [categories, setCategories] = React.useState([]);
4522
4519
  const [collectionDataLoading, setCollectionDataLoading] = React.useState(false);
4523
4520
  const [collectionData, setCollectionData] = React.useState([]);
4524
4521
  const {
@@ -4697,27 +4694,6 @@ const useWidget = ({
4697
4694
  }
4698
4695
  setLoading(false);
4699
4696
  });
4700
- const getCategories = () => __awaiter(void 0, void 0, void 0, function* () {
4701
- if ((categories === null || categories === void 0 ? void 0 : categories.length) > 0) return;
4702
- setLoading(true);
4703
- const api = getApiType({
4704
- routes,
4705
- action: 'CATEGORIES',
4706
- prefix: widgetRoutesPrefix
4707
- });
4708
- const response = yield commonApi({
4709
- baseUrl,
4710
- token,
4711
- method: api.method,
4712
- url: api.url,
4713
- onError: handleError(CALLBACK_CODES.GET_ALL)
4714
- });
4715
- if ((response === null || response === void 0 ? void 0 : response.code) === 'SUCCESS') {
4716
- setLoading(false);
4717
- return setCategories(dataGatter(response));
4718
- }
4719
- setLoading(false);
4720
- });
4721
4697
  const getCollectionData = (collectionName, search, callback, collectionItems) => __awaiter(void 0, void 0, void 0, function* () {
4722
4698
  setCollectionDataLoading(true);
4723
4699
  const api = getApiType({
@@ -4820,7 +4796,6 @@ const useWidget = ({
4820
4796
  if (state === 'ADD' || state === 'UPDATE') {
4821
4797
  getWidgetsTypes();
4822
4798
  getWidgetTypes();
4823
- getCategories();
4824
4799
  }
4825
4800
  // get Item data if widget is updating
4826
4801
  if (state === 'UPDATE' && data) {
@@ -4915,7 +4890,6 @@ const useWidget = ({
4915
4890
  // Form
4916
4891
  formState,
4917
4892
  itemData,
4918
- categories,
4919
4893
  onChangeFormState,
4920
4894
  onCloseForm,
4921
4895
  onWidgetFormSubmit,
@@ -6025,7 +5999,6 @@ const WidgetContextProvider = ({
6025
5999
  onImageRemove: _onImageRemove = id => __awaiter(void 0, void 0, void 0, function* () {}),
6026
6000
  itemsTypes: _itemsTypes = [],
6027
6001
  widgetTypes: _widgetTypes = [],
6028
- categories: _categories = [],
6029
6002
  getCollectionData: _getCollectionData = () => Promise.resolve(),
6030
6003
  collectionDataLoading: _collectionDataLoading = false,
6031
6004
  collectionData: _collectionData = [],
@@ -6073,7 +6046,6 @@ const WidgetContextProvider = ({
6073
6046
  onImageRemove: _onImageRemove,
6074
6047
  onPartialUpdateWidget: _onPartialUpdateWidget,
6075
6048
  itemsTypes: _itemsTypes,
6076
- categories: _categories,
6077
6049
  widgetTypes: _widgetTypes,
6078
6050
  getCollectionData: _getCollectionData,
6079
6051
  collectionDataLoading: _collectionDataLoading,
@@ -6756,7 +6728,6 @@ const Tabs = ({
6756
6728
  };
6757
6729
 
6758
6730
  const constants = {
6759
- categoryTypeAccessor: 'category',
6760
6731
  widgetTypeAccessor: 'widgetType',
6761
6732
  itemTypeAccessor: 'itemsType',
6762
6733
  collectionNameAccessor: 'collectionName',
@@ -6800,7 +6771,6 @@ const WidgetForm = ({
6800
6771
  canUpdate,
6801
6772
  formState,
6802
6773
  itemsTypes,
6803
- categories,
6804
6774
  widgetTypes,
6805
6775
  loading,
6806
6776
  onWidgetFormSubmit,
@@ -6824,7 +6794,8 @@ const WidgetForm = ({
6824
6794
  const [tabCollectionItemsUpdated, setTabCollectionItemsUpdated] = React.useState([]);
6825
6795
  React.useEffect(() => {
6826
6796
  if (data && formState === 'UPDATE') {
6827
- setSelectedWidgetType(data === null || data === void 0 ? void 0 : data.widgetType);
6797
+ const widgetType = widgetTypes.find(type => type.value === (data === null || data === void 0 ? void 0 : data.widgetType));
6798
+ setSelectedWidgetType(widgetType);
6828
6799
  if ((data === null || data === void 0 ? void 0 : data.itemsType) === 'Image') {
6829
6800
  setItemsEnabled(true);
6830
6801
  } else {
@@ -6834,7 +6805,7 @@ const WidgetForm = ({
6834
6805
  setSelectedCollectionType(itemsTypes.find(item => item.value === (data === null || data === void 0 ? void 0 : data.collectionName)));
6835
6806
  }
6836
6807
  }
6837
- }, [data, formState, itemsTypes]);
6808
+ }, [data, formState, itemsTypes, widgetTypes]);
6838
6809
  React.useEffect(() => {
6839
6810
  if (formState === 'ADD') {
6840
6811
  setSelectedCollectionItems([]);
@@ -6912,13 +6883,11 @@ const WidgetForm = ({
6912
6883
  const getFirstWidgetTypeValue = React.useCallback(() => {
6913
6884
  return widgetTypes[0].value;
6914
6885
  }, [widgetTypes]);
6915
- const getFirstCategoryValue = React.useCallback(() => {
6916
- return categories[0].value;
6917
- }, [categories]);
6918
6886
  // Widget Form Functions
6919
6887
  const onWidgetFormInputChange = React.useCallback((value, name) => {
6920
6888
  if (name === 'widgetType') {
6921
- setSelectedWidgetType(value[name]);
6889
+ const widgetType = widgetTypes.find(type => type.value === value[name]);
6890
+ setSelectedWidgetType(widgetType);
6922
6891
  if (value[name] === 'Tabs') {
6923
6892
  const firstItemType = getFirstItemTypeValue(value[name]);
6924
6893
  if (firstItemType) {
@@ -6937,13 +6906,10 @@ const WidgetForm = ({
6937
6906
  } else if ((name === null || name === void 0 ? void 0 : name.includes(constants.tabsAccessor)) && Array.isArray(value[constants.tabsAccessor])) {
6938
6907
  setTabCollectionItems(value[constants.tabsAccessor].map(tabItem => tabItem[constants.tabCollectionItemsAccessor]));
6939
6908
  }
6940
- }, [getFirstItemTypeValue, itemsTypes]);
6909
+ }, [getFirstItemTypeValue, itemsTypes, widgetTypes]);
6941
6910
  const onFormSubmit = data => {
6942
6911
  var _a, _b;
6943
6912
  const formData = Object.assign({}, data);
6944
- if (!formData[constants.categoryTypeAccessor] && categories && categories.length > 0) {
6945
- formData[constants.categoryTypeAccessor] = getFirstCategoryValue();
6946
- }
6947
6913
  // setting widget type if undefined
6948
6914
  if (!formData[constants.widgetTypeAccessor] && formState === 'ADD') {
6949
6915
  formData[constants.widgetTypeAccessor] = getFirstWidgetTypeValue();
@@ -7061,18 +7027,11 @@ const WidgetForm = ({
7061
7027
  required: t('widget.widgetTypeRequired')
7062
7028
  },
7063
7029
  options: widgetTypes
7064
- }, {
7065
- label: `${t('widget.category')}`,
7066
- placeholder: t('widget.categoryPlaceholder'),
7067
- accessor: 'category',
7068
- type: 'select',
7069
- show: categories && categories.length > 0,
7070
- options: categories
7071
7030
  }, {
7072
7031
  label: t('widget.autoPlay'),
7073
7032
  accessor: 'autoPlay',
7074
7033
  type: 'checkbox',
7075
- show: selectedWidgetType === 'Carousel',
7034
+ show: (selectedWidgetType === null || selectedWidgetType === void 0 ? void 0 : selectedWidgetType.value) === 'Carousel',
7076
7035
  switchClass: switchClass
7077
7036
  }, {
7078
7037
  label: `${t('widget.itemsType')}`,
@@ -7083,7 +7042,7 @@ const WidgetForm = ({
7083
7042
  validations: {
7084
7043
  required: t('widget.itemsTypePlaceholder')
7085
7044
  },
7086
- options: selectedWidgetType === 'Tabs' ? itemsTypes.filter(item => item.label !== 'Image') : itemsTypes
7045
+ options: (selectedWidgetType === null || selectedWidgetType === void 0 ? void 0 : selectedWidgetType.value) === 'Tabs' || (selectedWidgetType === null || selectedWidgetType === void 0 ? void 0 : selectedWidgetType.collectionsOnly) ? itemsTypes.filter(item => item.label !== 'Image') : (selectedWidgetType === null || selectedWidgetType === void 0 ? void 0 : selectedWidgetType.imageOnly) ? itemsTypes.filter(item => item.label === 'Image') : itemsTypes
7087
7046
  }, {
7088
7047
  label: t('widget.color'),
7089
7048
  accessor: 'backgroundColor',
@@ -7143,7 +7102,7 @@ const WidgetForm = ({
7143
7102
  onChange: setSelectedCollectionItems,
7144
7103
  loadOptions: onChangeSearch,
7145
7104
  isLoading: collectionDataLoading,
7146
- show: !itemsEnabled && selectedWidgetType !== 'Tabs',
7105
+ show: !itemsEnabled && (selectedWidgetType === null || selectedWidgetType === void 0 ? void 0 : selectedWidgetType.value) !== 'Tabs',
7147
7106
  formatOptionLabel: formatOptionLabel,
7148
7107
  listCode: selectedCollectionType === null || selectedCollectionType === void 0 ? void 0 : selectedCollectionType.value,
7149
7108
  customStyles: reactSelectStyles || {},
@@ -7163,7 +7122,7 @@ const WidgetForm = ({
7163
7122
  setValue: setValue,
7164
7123
  control: control,
7165
7124
  setError: setError
7166
- }), selectedWidgetType === 'Tabs' ? /*#__PURE__*/React__default["default"].createElement(Tabs, {
7125
+ }), (selectedWidgetType === null || selectedWidgetType === void 0 ? void 0 : selectedWidgetType.value) === 'Tabs' ? /*#__PURE__*/React__default["default"].createElement(Tabs, {
7167
7126
  control: control,
7168
7127
  register: register,
7169
7128
  deleteTitle: t('widget.tabDeleteTitle'),
@@ -7182,12 +7141,12 @@ const WidgetForm = ({
7182
7141
  customStyles: reactSelectStyles || {},
7183
7142
  activeTab: activeTab,
7184
7143
  setActiveTab: setActiveTab
7185
- }) : null, !itemsEnabled && selectedWidgetType !== 'Tabs' && /*#__PURE__*/React__default["default"].createElement(DNDItemsList, {
7144
+ }) : null, !itemsEnabled && (selectedWidgetType === null || selectedWidgetType === void 0 ? void 0 : selectedWidgetType.value) !== 'Tabs' && /*#__PURE__*/React__default["default"].createElement(DNDItemsList, {
7186
7145
  items: selectedCollectionItems,
7187
7146
  onDragEnd: onCollectionIndexChange,
7188
7147
  formatItem: formatListItem,
7189
7148
  listCode: selectedCollectionType === null || selectedCollectionType === void 0 ? void 0 : selectedCollectionType.value
7190
- }), itemsEnabled && selectedWidgetType !== 'Tabs' && /*#__PURE__*/React__default["default"].createElement(React__default["default"].Fragment, null, /*#__PURE__*/React__default["default"].createElement(ItemsAccordian, {
7149
+ }), itemsEnabled && (selectedWidgetType === null || selectedWidgetType === void 0 ? void 0 : selectedWidgetType.value) !== 'Tabs' && /*#__PURE__*/React__default["default"].createElement(React__default["default"].Fragment, null, /*#__PURE__*/React__default["default"].createElement(ItemsAccordian, {
7191
7150
  clearError: clearErrors,
7192
7151
  collapseId: constants.webItems,
7193
7152
  title: t('widget.webItems'),
@@ -7367,7 +7326,6 @@ const Widget = ({
7367
7326
  onImageUpload,
7368
7327
  onPartialUpdateWidget,
7369
7328
  itemsTypes,
7370
- categories,
7371
7329
  widgetTypes,
7372
7330
  getCollectionData,
7373
7331
  collectionData,
@@ -7400,7 +7358,6 @@ const Widget = ({
7400
7358
  onImageRemove: onImageRemove,
7401
7359
  onImageUpload: onImageUpload,
7402
7360
  onPartialUpdateWidget: onPartialUpdateWidget,
7403
- categories: categories,
7404
7361
  itemsTypes: itemsTypes,
7405
7362
  widgetTypes: widgetTypes,
7406
7363
  getCollectionData: getCollectionData,
package/index.js CHANGED
@@ -1746,8 +1746,6 @@ const TRANSLATION_PAIRS_WIDGET = {
1746
1746
  'widget.widgetTitleInfo': 'HTML is supported',
1747
1747
  'widget.minPerRow': 'Value must be greater than zero',
1748
1748
  'widget.actionsLabel': 'Actions',
1749
- 'widget.category': 'Category',
1750
- 'widget.categoryPlaceholder': 'Select Category',
1751
1749
  'widget.tabNameRequired': 'Tab Name is required'
1752
1750
  };
1753
1751
  const TRANSLATION_PAIRS_ITEM = {
@@ -2682,12 +2680,6 @@ const apiList = {
2682
2680
  url: `${prefix}/collection-data`,
2683
2681
  method: 'POST'
2684
2682
  }),
2685
- CATEGORIES: ({
2686
- prefix
2687
- }) => ({
2688
- url: `${prefix}/categories`,
2689
- method: 'GET'
2690
- }),
2691
2683
  // Image Upload API
2692
2684
  IMAGE_UPLOAD: ({
2693
2685
  prefix
@@ -2875,6 +2867,11 @@ const usePage = ({
2875
2867
  }
2876
2868
  }), [baseUrl, currentPageRef, limitRef, offsetRef, handleError, pageRoutesPrefix, routes, token]);
2877
2869
  const onPageFormSubmit = data => __awaiter(void 0, void 0, void 0, function* () {
2870
+ if (selectedWidgets.length) {
2871
+ // eslint-disable-next-line @typescript-eslint/ban-ts-comment
2872
+ // @ts-ignore
2873
+ data.widgets = selectedWidgets.map(item => item.value);
2874
+ }
2878
2875
  setLoading(true);
2879
2876
  const code = formState === 'ADD' ? CALLBACK_CODES.CREATE : CALLBACK_CODES.UPDATE;
2880
2877
  try {
@@ -2965,6 +2962,7 @@ const usePage = ({
2965
2962
  }
2966
2963
  };
2967
2964
  const onChangeWidgetSequence = (sourceIndex, destinationIndex) => {
2965
+ console.log(sourceIndex, destinationIndex);
2968
2966
  setSelectedWidgets(listData => {
2969
2967
  const temporaryData = [...listData];
2970
2968
  const [selectedRow] = temporaryData.splice(sourceIndex, 1);
@@ -4506,7 +4504,6 @@ const useWidget = ({
4506
4504
  const [formState, setFormState] = useState();
4507
4505
  const [itemsTypes, setItemsTypes] = useState([]);
4508
4506
  const [widgetTypes, setWidgetTypes] = useState([]);
4509
- const [categories, setCategories] = useState([]);
4510
4507
  const [collectionDataLoading, setCollectionDataLoading] = useState(false);
4511
4508
  const [collectionData, setCollectionData] = useState([]);
4512
4509
  const {
@@ -4685,27 +4682,6 @@ const useWidget = ({
4685
4682
  }
4686
4683
  setLoading(false);
4687
4684
  });
4688
- const getCategories = () => __awaiter(void 0, void 0, void 0, function* () {
4689
- if ((categories === null || categories === void 0 ? void 0 : categories.length) > 0) return;
4690
- setLoading(true);
4691
- const api = getApiType({
4692
- routes,
4693
- action: 'CATEGORIES',
4694
- prefix: widgetRoutesPrefix
4695
- });
4696
- const response = yield commonApi({
4697
- baseUrl,
4698
- token,
4699
- method: api.method,
4700
- url: api.url,
4701
- onError: handleError(CALLBACK_CODES.GET_ALL)
4702
- });
4703
- if ((response === null || response === void 0 ? void 0 : response.code) === 'SUCCESS') {
4704
- setLoading(false);
4705
- return setCategories(dataGatter(response));
4706
- }
4707
- setLoading(false);
4708
- });
4709
4685
  const getCollectionData = (collectionName, search, callback, collectionItems) => __awaiter(void 0, void 0, void 0, function* () {
4710
4686
  setCollectionDataLoading(true);
4711
4687
  const api = getApiType({
@@ -4808,7 +4784,6 @@ const useWidget = ({
4808
4784
  if (state === 'ADD' || state === 'UPDATE') {
4809
4785
  getWidgetsTypes();
4810
4786
  getWidgetTypes();
4811
- getCategories();
4812
4787
  }
4813
4788
  // get Item data if widget is updating
4814
4789
  if (state === 'UPDATE' && data) {
@@ -4903,7 +4878,6 @@ const useWidget = ({
4903
4878
  // Form
4904
4879
  formState,
4905
4880
  itemData,
4906
- categories,
4907
4881
  onChangeFormState,
4908
4882
  onCloseForm,
4909
4883
  onWidgetFormSubmit,
@@ -6013,7 +5987,6 @@ const WidgetContextProvider = ({
6013
5987
  onImageRemove: _onImageRemove = id => __awaiter(void 0, void 0, void 0, function* () {}),
6014
5988
  itemsTypes: _itemsTypes = [],
6015
5989
  widgetTypes: _widgetTypes = [],
6016
- categories: _categories = [],
6017
5990
  getCollectionData: _getCollectionData = () => Promise.resolve(),
6018
5991
  collectionDataLoading: _collectionDataLoading = false,
6019
5992
  collectionData: _collectionData = [],
@@ -6061,7 +6034,6 @@ const WidgetContextProvider = ({
6061
6034
  onImageRemove: _onImageRemove,
6062
6035
  onPartialUpdateWidget: _onPartialUpdateWidget,
6063
6036
  itemsTypes: _itemsTypes,
6064
- categories: _categories,
6065
6037
  widgetTypes: _widgetTypes,
6066
6038
  getCollectionData: _getCollectionData,
6067
6039
  collectionDataLoading: _collectionDataLoading,
@@ -6744,7 +6716,6 @@ const Tabs = ({
6744
6716
  };
6745
6717
 
6746
6718
  const constants = {
6747
- categoryTypeAccessor: 'category',
6748
6719
  widgetTypeAccessor: 'widgetType',
6749
6720
  itemTypeAccessor: 'itemsType',
6750
6721
  collectionNameAccessor: 'collectionName',
@@ -6788,7 +6759,6 @@ const WidgetForm = ({
6788
6759
  canUpdate,
6789
6760
  formState,
6790
6761
  itemsTypes,
6791
- categories,
6792
6762
  widgetTypes,
6793
6763
  loading,
6794
6764
  onWidgetFormSubmit,
@@ -6812,7 +6782,8 @@ const WidgetForm = ({
6812
6782
  const [tabCollectionItemsUpdated, setTabCollectionItemsUpdated] = useState([]);
6813
6783
  useEffect(() => {
6814
6784
  if (data && formState === 'UPDATE') {
6815
- setSelectedWidgetType(data === null || data === void 0 ? void 0 : data.widgetType);
6785
+ const widgetType = widgetTypes.find(type => type.value === (data === null || data === void 0 ? void 0 : data.widgetType));
6786
+ setSelectedWidgetType(widgetType);
6816
6787
  if ((data === null || data === void 0 ? void 0 : data.itemsType) === 'Image') {
6817
6788
  setItemsEnabled(true);
6818
6789
  } else {
@@ -6822,7 +6793,7 @@ const WidgetForm = ({
6822
6793
  setSelectedCollectionType(itemsTypes.find(item => item.value === (data === null || data === void 0 ? void 0 : data.collectionName)));
6823
6794
  }
6824
6795
  }
6825
- }, [data, formState, itemsTypes]);
6796
+ }, [data, formState, itemsTypes, widgetTypes]);
6826
6797
  useEffect(() => {
6827
6798
  if (formState === 'ADD') {
6828
6799
  setSelectedCollectionItems([]);
@@ -6900,13 +6871,11 @@ const WidgetForm = ({
6900
6871
  const getFirstWidgetTypeValue = useCallback(() => {
6901
6872
  return widgetTypes[0].value;
6902
6873
  }, [widgetTypes]);
6903
- const getFirstCategoryValue = useCallback(() => {
6904
- return categories[0].value;
6905
- }, [categories]);
6906
6874
  // Widget Form Functions
6907
6875
  const onWidgetFormInputChange = useCallback((value, name) => {
6908
6876
  if (name === 'widgetType') {
6909
- setSelectedWidgetType(value[name]);
6877
+ const widgetType = widgetTypes.find(type => type.value === value[name]);
6878
+ setSelectedWidgetType(widgetType);
6910
6879
  if (value[name] === 'Tabs') {
6911
6880
  const firstItemType = getFirstItemTypeValue(value[name]);
6912
6881
  if (firstItemType) {
@@ -6925,13 +6894,10 @@ const WidgetForm = ({
6925
6894
  } else if ((name === null || name === void 0 ? void 0 : name.includes(constants.tabsAccessor)) && Array.isArray(value[constants.tabsAccessor])) {
6926
6895
  setTabCollectionItems(value[constants.tabsAccessor].map(tabItem => tabItem[constants.tabCollectionItemsAccessor]));
6927
6896
  }
6928
- }, [getFirstItemTypeValue, itemsTypes]);
6897
+ }, [getFirstItemTypeValue, itemsTypes, widgetTypes]);
6929
6898
  const onFormSubmit = data => {
6930
6899
  var _a, _b;
6931
6900
  const formData = Object.assign({}, data);
6932
- if (!formData[constants.categoryTypeAccessor] && categories && categories.length > 0) {
6933
- formData[constants.categoryTypeAccessor] = getFirstCategoryValue();
6934
- }
6935
6901
  // setting widget type if undefined
6936
6902
  if (!formData[constants.widgetTypeAccessor] && formState === 'ADD') {
6937
6903
  formData[constants.widgetTypeAccessor] = getFirstWidgetTypeValue();
@@ -7049,18 +7015,11 @@ const WidgetForm = ({
7049
7015
  required: t('widget.widgetTypeRequired')
7050
7016
  },
7051
7017
  options: widgetTypes
7052
- }, {
7053
- label: `${t('widget.category')}`,
7054
- placeholder: t('widget.categoryPlaceholder'),
7055
- accessor: 'category',
7056
- type: 'select',
7057
- show: categories && categories.length > 0,
7058
- options: categories
7059
7018
  }, {
7060
7019
  label: t('widget.autoPlay'),
7061
7020
  accessor: 'autoPlay',
7062
7021
  type: 'checkbox',
7063
- show: selectedWidgetType === 'Carousel',
7022
+ show: (selectedWidgetType === null || selectedWidgetType === void 0 ? void 0 : selectedWidgetType.value) === 'Carousel',
7064
7023
  switchClass: switchClass
7065
7024
  }, {
7066
7025
  label: `${t('widget.itemsType')}`,
@@ -7071,7 +7030,7 @@ const WidgetForm = ({
7071
7030
  validations: {
7072
7031
  required: t('widget.itemsTypePlaceholder')
7073
7032
  },
7074
- options: selectedWidgetType === 'Tabs' ? itemsTypes.filter(item => item.label !== 'Image') : itemsTypes
7033
+ options: (selectedWidgetType === null || selectedWidgetType === void 0 ? void 0 : selectedWidgetType.value) === 'Tabs' || (selectedWidgetType === null || selectedWidgetType === void 0 ? void 0 : selectedWidgetType.collectionsOnly) ? itemsTypes.filter(item => item.label !== 'Image') : (selectedWidgetType === null || selectedWidgetType === void 0 ? void 0 : selectedWidgetType.imageOnly) ? itemsTypes.filter(item => item.label === 'Image') : itemsTypes
7075
7034
  }, {
7076
7035
  label: t('widget.color'),
7077
7036
  accessor: 'backgroundColor',
@@ -7131,7 +7090,7 @@ const WidgetForm = ({
7131
7090
  onChange: setSelectedCollectionItems,
7132
7091
  loadOptions: onChangeSearch,
7133
7092
  isLoading: collectionDataLoading,
7134
- show: !itemsEnabled && selectedWidgetType !== 'Tabs',
7093
+ show: !itemsEnabled && (selectedWidgetType === null || selectedWidgetType === void 0 ? void 0 : selectedWidgetType.value) !== 'Tabs',
7135
7094
  formatOptionLabel: formatOptionLabel,
7136
7095
  listCode: selectedCollectionType === null || selectedCollectionType === void 0 ? void 0 : selectedCollectionType.value,
7137
7096
  customStyles: reactSelectStyles || {},
@@ -7151,7 +7110,7 @@ const WidgetForm = ({
7151
7110
  setValue: setValue,
7152
7111
  control: control,
7153
7112
  setError: setError
7154
- }), selectedWidgetType === 'Tabs' ? /*#__PURE__*/React.createElement(Tabs, {
7113
+ }), (selectedWidgetType === null || selectedWidgetType === void 0 ? void 0 : selectedWidgetType.value) === 'Tabs' ? /*#__PURE__*/React.createElement(Tabs, {
7155
7114
  control: control,
7156
7115
  register: register,
7157
7116
  deleteTitle: t('widget.tabDeleteTitle'),
@@ -7170,12 +7129,12 @@ const WidgetForm = ({
7170
7129
  customStyles: reactSelectStyles || {},
7171
7130
  activeTab: activeTab,
7172
7131
  setActiveTab: setActiveTab
7173
- }) : null, !itemsEnabled && selectedWidgetType !== 'Tabs' && /*#__PURE__*/React.createElement(DNDItemsList, {
7132
+ }) : null, !itemsEnabled && (selectedWidgetType === null || selectedWidgetType === void 0 ? void 0 : selectedWidgetType.value) !== 'Tabs' && /*#__PURE__*/React.createElement(DNDItemsList, {
7174
7133
  items: selectedCollectionItems,
7175
7134
  onDragEnd: onCollectionIndexChange,
7176
7135
  formatItem: formatListItem,
7177
7136
  listCode: selectedCollectionType === null || selectedCollectionType === void 0 ? void 0 : selectedCollectionType.value
7178
- }), itemsEnabled && selectedWidgetType !== 'Tabs' && /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(ItemsAccordian, {
7137
+ }), itemsEnabled && (selectedWidgetType === null || selectedWidgetType === void 0 ? void 0 : selectedWidgetType.value) !== 'Tabs' && /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(ItemsAccordian, {
7179
7138
  clearError: clearErrors,
7180
7139
  collapseId: constants.webItems,
7181
7140
  title: t('widget.webItems'),
@@ -7355,7 +7314,6 @@ const Widget = ({
7355
7314
  onImageUpload,
7356
7315
  onPartialUpdateWidget,
7357
7316
  itemsTypes,
7358
- categories,
7359
7317
  widgetTypes,
7360
7318
  getCollectionData,
7361
7319
  collectionData,
@@ -7388,7 +7346,6 @@ const Widget = ({
7388
7346
  onImageRemove: onImageRemove,
7389
7347
  onImageUpload: onImageUpload,
7390
7348
  onPartialUpdateWidget: onPartialUpdateWidget,
7391
- categories: categories,
7392
7349
  itemsTypes: itemsTypes,
7393
7350
  widgetTypes: widgetTypes,
7394
7351
  getCollectionData: getCollectionData,
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@knovator/pagecreator-admin",
3
- "version": "0.8.0",
3
+ "version": "0.8.2",
4
4
  "dependencies": {
5
5
  "classnames": "^2.3.1",
6
6
  "react-beautiful-dnd": "^13.1.0",
@@ -40,10 +40,6 @@ declare const apiList: {
40
40
  url: string;
41
41
  method: string;
42
42
  };
43
- CATEGORIES: ({ prefix }: API_INPUT_TYPE) => {
44
- url: string;
45
- method: string;
46
- };
47
43
  IMAGE_UPLOAD: ({ prefix }: API_INPUT_TYPE) => {
48
44
  url: string;
49
45
  method: string;
@@ -87,8 +87,6 @@ declare const TRANSLATION_PAIRS_WIDGET: {
87
87
  'widget.widgetTitleInfo': string;
88
88
  'widget.minPerRow': string;
89
89
  'widget.actionsLabel': string;
90
- 'widget.category': string;
91
- 'widget.categoryPlaceholder': string;
92
90
  'widget.tabNameRequired': string;
93
91
  };
94
92
  declare const TRANSLATION_PAIRS_ITEM: {
@@ -2,6 +2,6 @@ import React from 'react';
2
2
  import { WidgetContextType } from '../types';
3
3
  interface WidgetContextProviderProps extends React.PropsWithChildren, Partial<WidgetContextType> {
4
4
  }
5
- declare const WidgetContextProvider: ({ t, list, imageBaseUrl, searchText, changeSearch, formState, closeForm, loading, onChangeFormState, onWidgetFormSubmit, updateData, canAdd, canUpdate, onDeleteItem, getWidgets, onImageUpload, onImageRemove, itemsTypes, widgetTypes, categories, getCollectionData, collectionDataLoading, collectionData, formatListItem, formatOptionLabel, currentPage, limits, pageSize, setCurrentPage, setPageSize, totalPages, totalRecords, canList, canPartialUpdate, columns, data, canDelete, loader, onPartialUpdateWidget, reactSelectStyles, children, }: WidgetContextProviderProps) => JSX.Element;
5
+ declare const WidgetContextProvider: ({ t, list, imageBaseUrl, searchText, changeSearch, formState, closeForm, loading, onChangeFormState, onWidgetFormSubmit, updateData, canAdd, canUpdate, onDeleteItem, getWidgets, onImageUpload, onImageRemove, itemsTypes, widgetTypes, getCollectionData, collectionDataLoading, collectionData, formatListItem, formatOptionLabel, currentPage, limits, pageSize, setCurrentPage, setPageSize, totalPages, totalRecords, canList, canPartialUpdate, columns, data, canDelete, loader, onPartialUpdateWidget, reactSelectStyles, children, }: WidgetContextProviderProps) => JSX.Element;
6
6
  export declare function useWidgetState(): WidgetContextType;
7
7
  export default WidgetContextProvider;
@@ -1,5 +1,5 @@
1
1
  /// <reference types="react" />
2
- import { Routes_Input, WidgetType, ItemsType, Category } from '../types';
2
+ import { Routes_Input, WidgetType, ItemsType } from '../types';
3
3
  import { FormActionTypes, ObjectType } from '../types/common';
4
4
  interface UseWidgetProps {
5
5
  canList?: boolean;
@@ -10,7 +10,7 @@ interface UseWidgetProps {
10
10
  }) => Promise<boolean>;
11
11
  imageBaseUrl?: string;
12
12
  }
13
- declare const useWidget: ({ canList, defaultLimit, routes, preConfirmDelete, imageBaseUrl, }: UseWidgetProps) => {
13
+ declare const useWidget: ({ canList, defaultLimit, routes, preConfirmDelete, imageBaseUrl }: UseWidgetProps) => {
14
14
  list: ObjectType[];
15
15
  getWidgets: (search?: string) => Promise<void>;
16
16
  loading: boolean;
@@ -24,7 +24,6 @@ declare const useWidget: ({ canList, defaultLimit, routes, preConfirmDelete, ima
24
24
  setPageSize: (value: number) => void;
25
25
  formState: FormActionTypes | undefined;
26
26
  itemData: ObjectType | null;
27
- categories: Category[];
28
27
  onChangeFormState: (state: FormActionTypes, data?: ObjectType) => Promise<void>;
29
28
  onCloseForm: () => void;
30
29
  onWidgetFormSubmit: (data: ObjectType) => Promise<void>;
@@ -1,4 +1,4 @@
1
- export type ACTION_TYPES = 'IMAGE_UPLOAD' | 'IMAGE_REMOVE' | 'CREATE' | 'LIST' | 'DELETE' | 'UPDATE' | 'ITEM' | 'PARTIAL_UPDATE' | 'WIDGET_TYPES' | 'SELECTION_TYPES' | 'COLLECTION_DATA' | 'GET_ONE' | 'CATEGORIES';
1
+ export type ACTION_TYPES = 'IMAGE_UPLOAD' | 'IMAGE_REMOVE' | 'CREATE' | 'LIST' | 'DELETE' | 'UPDATE' | 'ITEM' | 'PARTIAL_UPDATE' | 'WIDGET_TYPES' | 'SELECTION_TYPES' | 'COLLECTION_DATA' | 'GET_ONE';
2
2
  export type API_TYPE = {
3
3
  url: string;
4
4
  method: string;
@@ -18,10 +18,6 @@ export type WidgetType = {
18
18
  value: string;
19
19
  label: string;
20
20
  };
21
- export type Category = {
22
- value: string;
23
- label: string;
24
- };
25
21
  export interface BaseAPIProps {
26
22
  config?: any;
27
23
  baseUrl: string;
@@ -1,5 +1,5 @@
1
1
  /// <reference types="react" />
2
- import { WidgetType, ItemsType, Category } from './api';
2
+ import { WidgetType, ItemsType } from './api';
3
3
  import { FormActionTypes, OptionType } from './common';
4
4
  export interface ProviderContextType {
5
5
  baseUrl: string;
@@ -43,7 +43,6 @@ export interface WidgetContextType {
43
43
  onImageRemove: (id: string) => Promise<void>;
44
44
  itemsTypes: ItemsType[];
45
45
  widgetTypes: WidgetType[];
46
- categories: Category[];
47
46
  getCollectionData: (collectionName: string, search?: string, callback?: (options: OptionType[]) => void, collectionItems?: string[]) => Promise<void>;
48
47
  collectionDataLoading: boolean;
49
48
  collectionData: any[];