@knovator/pagecreator-admin 1.2.9 → 1.3.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.
Files changed (167) hide show
  1. package/index.cjs +7878 -0
  2. package/index.css +2 -0
  3. package/index.js +7864 -0
  4. package/package.json +42 -38
  5. package/src/{index.ts → index.d.ts} +0 -1
  6. package/src/lib/api/index.d.ts +10 -0
  7. package/src/lib/api/list.d.ts +56 -0
  8. package/src/lib/components/Page/AddButton/AddButton.d.ts +3 -0
  9. package/src/lib/components/Page/AddButton/{index.ts → index.d.ts} +0 -1
  10. package/src/lib/components/Page/Form/PageForm.d.ts +4 -0
  11. package/src/lib/components/Page/Form/{index.ts → index.d.ts} +0 -1
  12. package/src/lib/components/Page/Page/Page.d.ts +13 -0
  13. package/src/lib/components/Page/Page/{index.ts → index.d.ts} +0 -1
  14. package/src/lib/components/Page/PageFormActions/PageFormActions.d.ts +4 -0
  15. package/src/lib/components/Page/PageFormActions/{index.ts → index.d.ts} +0 -1
  16. package/src/lib/components/Page/PageFormWrapper/PageFormWrapper.d.ts +4 -0
  17. package/src/lib/components/Page/PageFormWrapper/{index.ts → index.d.ts} +0 -1
  18. package/src/lib/components/Page/Pagination/PagePagination.d.ts +3 -0
  19. package/src/lib/components/Page/Pagination/{index.ts → index.d.ts} +0 -1
  20. package/src/lib/components/Page/Search/PageSearch.d.ts +3 -0
  21. package/src/lib/components/Page/Search/{index.tsx → index.d.ts} +0 -1
  22. package/src/lib/components/Page/Table/PageTable.d.ts +4 -0
  23. package/src/lib/components/Page/Table/{index.ts → index.d.ts} +0 -1
  24. package/src/lib/components/Page/{index.ts → index.d.ts} +0 -1
  25. package/src/lib/components/Widget/AddButton/AddButton.d.ts +3 -0
  26. package/src/lib/components/Widget/AddButton/{index.ts → index.d.ts} +0 -1
  27. package/src/lib/components/Widget/Form/ItemsAccordian.d.ts +4 -0
  28. package/src/lib/components/Widget/Form/Tabs/TabItem.d.ts +4 -0
  29. package/src/lib/components/Widget/Form/Tabs/Tabs.d.ts +4 -0
  30. package/src/lib/components/Widget/Form/Tabs/{index.ts → index.d.ts} +0 -1
  31. package/src/lib/components/Widget/Form/WidgetForm.d.ts +4 -0
  32. package/src/lib/components/Widget/Form/{index.ts → index.d.ts} +0 -1
  33. package/src/lib/components/Widget/Pagination/WidgetPagination.d.ts +3 -0
  34. package/src/lib/components/Widget/Pagination/{index.ts → index.d.ts} +0 -1
  35. package/src/lib/components/Widget/Search/WidgetSearch.d.ts +3 -0
  36. package/src/lib/components/Widget/Search/{index.tsx → index.d.ts} +0 -1
  37. package/src/lib/components/Widget/Table/WidgetTable.d.ts +4 -0
  38. package/src/lib/components/Widget/Table/{index.ts → index.d.ts} +0 -1
  39. package/src/lib/components/Widget/Widget/Widget.d.ts +13 -0
  40. package/src/lib/components/Widget/Widget/{index.ts → index.d.ts} +0 -1
  41. package/src/lib/components/Widget/WidgetFormActions/WidgetFormActions.d.ts +4 -0
  42. package/src/lib/components/Widget/WidgetFormActions/{index.ts → index.d.ts} +0 -1
  43. package/src/lib/components/Widget/WidgetFormWrapper/WidgetFormWrapper.d.ts +4 -0
  44. package/src/lib/components/Widget/WidgetFormWrapper/{index.ts → index.d.ts} +0 -1
  45. package/src/lib/components/Widget/{index.tsx → index.d.ts} +0 -1
  46. package/src/lib/components/common/Accordian/Accordian.d.ts +13 -0
  47. package/src/lib/components/common/Accordian/{index.ts → index.d.ts} +0 -1
  48. package/src/lib/components/common/Button/Button.d.ts +4 -0
  49. package/src/lib/components/common/Button/{index.ts → index.d.ts} +0 -1
  50. package/src/lib/components/common/ConfirmPopover/ConfirmPopover.d.ts +4 -0
  51. package/src/lib/components/common/ConfirmPopover/{index.ts → index.d.ts} +0 -1
  52. package/src/lib/components/common/DNDItemsList/DNDItemsList.d.ts +4 -0
  53. package/src/lib/components/common/DNDItemsList/{index.ts → index.d.ts} +0 -1
  54. package/src/lib/components/common/DeleteModal/DeleteModal.d.ts +4 -0
  55. package/src/lib/components/common/DeleteModal/index.d.ts +2 -0
  56. package/src/lib/components/common/Drawer/Drawer.d.ts +9 -0
  57. package/src/lib/components/common/Drawer/{index.ts → index.d.ts} +0 -1
  58. package/src/lib/components/common/Form/Form.d.ts +15 -0
  59. package/src/lib/components/common/Form/SimpleForm.d.ts +18 -0
  60. package/src/lib/components/common/Form/{index.ts → index.d.ts} +0 -1
  61. package/src/lib/components/common/FormActions/FormActions.d.ts +10 -0
  62. package/src/lib/components/common/FormActions/{index.ts → index.d.ts} +0 -1
  63. package/src/lib/components/common/ImageUpload/ImageUpload.d.ts +4 -0
  64. package/src/lib/components/common/ImageUpload/index.d.ts +2 -0
  65. package/src/lib/components/common/Input/Checkbox.d.ts +4 -0
  66. package/src/lib/components/common/Input/Input.d.ts +4 -0
  67. package/src/lib/components/common/Input/ReactSelect.d.ts +4 -0
  68. package/src/lib/components/common/Input/Select.d.ts +4 -0
  69. package/src/lib/components/common/Input/SrcSet.d.ts +4 -0
  70. package/src/lib/components/common/Input/index.d.ts +12 -0
  71. package/src/lib/components/common/Modal/Modal.d.ts +8 -0
  72. package/src/lib/components/common/Modal/index.d.ts +2 -0
  73. package/src/lib/components/common/Pagination/Pagination.d.ts +4 -0
  74. package/src/lib/components/common/Pagination/{index.ts → index.d.ts} +0 -1
  75. package/src/lib/components/common/Table/Table.d.ts +4 -0
  76. package/src/lib/components/common/Table/{index.ts → index.d.ts} +0 -1
  77. package/src/lib/components/common/Toggle/Toggle.d.ts +4 -0
  78. package/src/lib/components/common/Toggle/{index.ts → index.d.ts} +0 -1
  79. package/src/lib/constants/common.d.ts +122 -0
  80. package/src/lib/context/PageContext.d.ts +7 -0
  81. package/src/lib/context/ProviderContext.d.ts +5 -0
  82. package/src/lib/context/WidgetContext.d.ts +7 -0
  83. package/src/lib/helper/utils.d.ts +10 -0
  84. package/src/lib/hooks/usePage.d.ts +37 -0
  85. package/src/lib/hooks/usePagination.d.ts +15 -0
  86. package/src/lib/hooks/useWidget.d.ts +46 -0
  87. package/src/lib/icons/chevronDown.d.ts +4 -0
  88. package/src/lib/icons/chevronLeft.d.ts +4 -0
  89. package/src/lib/icons/chevronRight.d.ts +4 -0
  90. package/src/lib/icons/chevronUp.d.ts +4 -0
  91. package/src/lib/icons/close.d.ts +4 -0
  92. package/src/lib/icons/pencil.d.ts +4 -0
  93. package/src/lib/icons/plus.d.ts +4 -0
  94. package/src/lib/icons/settings.d.ts +4 -0
  95. package/src/lib/icons/trash.d.ts +4 -0
  96. package/src/lib/types/api.d.ts +34 -0
  97. package/src/lib/types/common.d.ts +30 -0
  98. package/src/lib/types/components.d.ts +422 -0
  99. package/src/lib/types/context.d.ts +135 -0
  100. package/index.d.ts +0 -1
  101. package/src/lib/api/index.ts +0 -70
  102. package/src/lib/api/list.ts +0 -59
  103. package/src/lib/components/Page/AddButton/AddButton.tsx +0 -16
  104. package/src/lib/components/Page/Form/PageForm.tsx +0 -194
  105. package/src/lib/components/Page/Page/Page.tsx +0 -151
  106. package/src/lib/components/Page/PageFormActions/PageFormActions.tsx +0 -50
  107. package/src/lib/components/Page/PageFormWrapper/PageFormWrapper.tsx +0 -16
  108. package/src/lib/components/Page/Pagination/PagePagination.tsx +0 -26
  109. package/src/lib/components/Page/Search/PageSearch.tsx +0 -32
  110. package/src/lib/components/Page/Table/PageTable.tsx +0 -36
  111. package/src/lib/components/Widget/AddButton/AddButton.tsx +0 -16
  112. package/src/lib/components/Widget/Form/ItemsAccordian.tsx +0 -354
  113. package/src/lib/components/Widget/Form/Tabs/TabItem.tsx +0 -43
  114. package/src/lib/components/Widget/Form/Tabs/Tabs.tsx +0 -190
  115. package/src/lib/components/Widget/Form/WidgetForm.tsx +0 -771
  116. package/src/lib/components/Widget/Pagination/WidgetPagination.tsx +0 -26
  117. package/src/lib/components/Widget/Search/WidgetSearch.tsx +0 -32
  118. package/src/lib/components/Widget/Table/WidgetTable.tsx +0 -70
  119. package/src/lib/components/Widget/Widget/Widget.tsx +0 -173
  120. package/src/lib/components/Widget/WidgetFormActions/WidgetFormActions.tsx +0 -50
  121. package/src/lib/components/Widget/WidgetFormWrapper/WidgetFormWrapper.tsx +0 -16
  122. package/src/lib/components/common/Accordian/Accordian.tsx +0 -56
  123. package/src/lib/components/common/Button/Button.tsx +0 -45
  124. package/src/lib/components/common/ConfirmPopover/ConfirmPopover.tsx +0 -47
  125. package/src/lib/components/common/DNDItemsList/DNDItemsList.tsx +0 -77
  126. package/src/lib/components/common/DeleteModal/DeleteModal.tsx +0 -72
  127. package/src/lib/components/common/DeleteModal/index.tsx +0 -3
  128. package/src/lib/components/common/Drawer/Drawer.tsx +0 -79
  129. package/src/lib/components/common/Form/Form.tsx +0 -256
  130. package/src/lib/components/common/Form/SimpleForm.tsx +0 -314
  131. package/src/lib/components/common/FormActions/FormActions.tsx +0 -37
  132. package/src/lib/components/common/ImageUpload/ImageUpload.tsx +0 -113
  133. package/src/lib/components/common/ImageUpload/index.tsx +0 -3
  134. package/src/lib/components/common/Input/Checkbox.tsx +0 -25
  135. package/src/lib/components/common/Input/Input.tsx +0 -51
  136. package/src/lib/components/common/Input/ReactSelect.tsx +0 -61
  137. package/src/lib/components/common/Input/Select.tsx +0 -47
  138. package/src/lib/components/common/Input/SrcSet.tsx +0 -143
  139. package/src/lib/components/common/Input/index.ts +0 -20
  140. package/src/lib/components/common/Modal/Modal.tsx +0 -57
  141. package/src/lib/components/common/Modal/index.tsx +0 -3
  142. package/src/lib/components/common/Pagination/Pagination.tsx +0 -88
  143. package/src/lib/components/common/Table/Table.tsx +0 -133
  144. package/src/lib/components/common/Toggle/Toggle.tsx +0 -23
  145. package/src/lib/constants/common.ts +0 -145
  146. package/src/lib/context/PageContext.tsx +0 -100
  147. package/src/lib/context/ProviderContext.tsx +0 -52
  148. package/src/lib/context/WidgetContext.tsx +0 -127
  149. package/src/lib/helper/utils.ts +0 -46
  150. package/src/lib/hooks/usePage.tsx +0 -306
  151. package/src/lib/hooks/usePagination.tsx +0 -41
  152. package/src/lib/hooks/useWidget.tsx +0 -503
  153. package/src/lib/icons/chevronDown.tsx +0 -21
  154. package/src/lib/icons/chevronLeft.tsx +0 -20
  155. package/src/lib/icons/chevronRight.tsx +0 -20
  156. package/src/lib/icons/chevronUp.tsx +0 -21
  157. package/src/lib/icons/close.tsx +0 -21
  158. package/src/lib/icons/pencil.tsx +0 -21
  159. package/src/lib/icons/plus.tsx +0 -23
  160. package/src/lib/icons/settings.tsx +0 -35
  161. package/src/lib/icons/trash.tsx +0 -21
  162. package/src/lib/types/api.ts +0 -44
  163. package/src/lib/types/common.ts +0 -31
  164. package/src/lib/types/components.ts +0 -428
  165. package/src/lib/types/context.ts +0 -184
  166. package/src/styles/index.css +0 -481
  167. /package/src/lib/types/{index.ts → index.d.ts} +0 -0
@@ -1,306 +0,0 @@
1
- import { useCallback, useEffect, useState } from 'react';
2
- import { CALLBACK_CODES, INTERNAL_ERROR_CODE } from '../constants/common';
3
- import { useProviderState } from '../context/ProviderContext';
4
- import { paginationDataGatter } from '../helper/utils';
5
- import usePagination from './usePagination';
6
- import request, { getApiType } from '../api';
7
- import { FormActionTypes, ObjectType, OptionType, Routes_Input } from '../types';
8
-
9
- interface UsePageProps {
10
- canList?: boolean;
11
- defaultLimit: number;
12
- routes?: Routes_Input;
13
- preConfirmDelete?: (data: { row: ObjectType }) => Promise<boolean>;
14
- }
15
-
16
- const usePage = ({
17
- routes,
18
- defaultLimit,
19
- canList = true,
20
- preConfirmDelete,
21
- }: UsePageProps) => {
22
- const [list, setList] = useState<ObjectType[]>([]);
23
- const [loading, setLoading] = useState(false);
24
- const [widgets, setWidgets] = useState<ObjectType[]>([]);
25
- const [selectedWidgets, setSelectedWidgets] = useState<OptionType[]>([]);
26
- const [widgetsLoading, setWidgetsLoading] = useState<boolean>(false);
27
- const [totalPages, setTotalPages] = useState(0);
28
- const [totalRecords, setTotalRecords] = useState(0);
29
- const [itemData, setItemData] = useState<any | null>(null);
30
- const [formState, setFormState] = useState<FormActionTypes>();
31
-
32
- const {
33
- baseUrl,
34
- token,
35
- onError,
36
- onSuccess,
37
- onLogout,
38
- pageRoutesPrefix,
39
- widgetRoutesPrefix,
40
- } = useProviderState();
41
- const {
42
- setPageSize,
43
- pageSize,
44
- currentPageRef,
45
- setCurrentPage,
46
- offsetRef,
47
- limitRef,
48
- searchRef,
49
- changeSearch,
50
- } = usePagination({ defaultLimit });
51
-
52
- const handleError = useCallback(
53
- (code: CALLBACK_CODES) => (error: any) => {
54
- const { data = {} } = error?.response || {};
55
- if (data?.code === 'UNAUTHENTICATED') {
56
- onLogout();
57
- }
58
- onError(code, 'error', data?.message);
59
- },
60
- [onError, onLogout]
61
- );
62
- const getWidgets = useCallback(
63
- async (
64
- search?: string,
65
- collectionItems?: string[],
66
- callback?: (data: any) => void
67
- ) => {
68
- try {
69
- setWidgetsLoading(true);
70
- const api = getApiType({
71
- routes,
72
- action: 'LIST',
73
- prefix: widgetRoutesPrefix,
74
- });
75
- const response = await request({
76
- baseUrl,
77
- token,
78
- method: api.method,
79
- url: api.url,
80
- onError: handleError(CALLBACK_CODES.GET_ALL),
81
- data: {
82
- collectionItems: collectionItems || [],
83
- search: search || '',
84
- all: true,
85
- isActive: true,
86
- },
87
- });
88
- if (response?.code === 'SUCCESS') {
89
- let widgetsData = paginationDataGatter(response);
90
- widgetsData = widgetsData.map((item: ObjectType) => {
91
- return {
92
- label: item['name'],
93
- value: item['_id'] || item['id'],
94
- code: item['code'],
95
- };
96
- });
97
- if (typeof callback === 'function') callback(widgetsData);
98
- return setWidgets(widgetsData);
99
- }
100
- setWidgetsLoading(false);
101
- } catch (error) {
102
- setWidgetsLoading(false);
103
- }
104
- },
105
- [baseUrl, handleError, routes, token, widgetRoutesPrefix]
106
- );
107
- const getPages = useCallback(
108
- async (search?: string) => {
109
- try {
110
- setLoading(true);
111
- const api = getApiType({
112
- routes,
113
- action: 'LIST',
114
- prefix: pageRoutesPrefix,
115
- });
116
- const response = await request({
117
- baseUrl,
118
- token,
119
- method: api.method,
120
- url: api.url,
121
- onError: handleError(CALLBACK_CODES.GET_ALL),
122
- data: {
123
- search,
124
- options: {
125
- offset: offsetRef.current,
126
- limit: limitRef.current,
127
- page: currentPageRef.current,
128
- },
129
- },
130
- });
131
- if (response?.code === 'SUCCESS') {
132
- setLoading(false);
133
- setTotalPages(response.data.totalPages);
134
- setTotalRecords(response.data.totalDocs);
135
- return setList(paginationDataGatter(response));
136
- }
137
- setLoading(false);
138
- } catch (error) {
139
- setLoading(false);
140
- }
141
- },
142
- [
143
- baseUrl,
144
- currentPageRef,
145
- limitRef,
146
- offsetRef,
147
- handleError,
148
- pageRoutesPrefix,
149
- routes,
150
- token,
151
- ]
152
- );
153
- const onPageFormSubmit = async (data: ObjectType) => {
154
- if (selectedWidgets.length) {
155
- // eslint-disable-next-line @typescript-eslint/ban-ts-comment
156
- // @ts-ignore
157
- data.widgets = selectedWidgets.map((item) => item.value);
158
- }
159
- setLoading(true);
160
- const code =
161
- formState === 'ADD' ? CALLBACK_CODES.CREATE : CALLBACK_CODES.UPDATE;
162
- try {
163
- const api = getApiType({
164
- routes,
165
- action: formState === 'ADD' ? 'CREATE' : 'UPDATE',
166
- prefix: pageRoutesPrefix,
167
- id: itemData?._id,
168
- });
169
- const response = await request({
170
- baseUrl,
171
- token,
172
- data,
173
- url: api.url,
174
- method: api.method,
175
- onError: handleError(code),
176
- });
177
- if (response?.code === 'SUCCESS') {
178
- if (formState === 'ADD') {
179
- setCurrentPage(1);
180
- }
181
- setLoading(false);
182
- onSuccess(code, response?.code, response?.message);
183
- getPages();
184
- onCloseForm();
185
- } else {
186
- setLoading(false);
187
- onError(code, response?.code, response?.message);
188
- }
189
- } catch (error) {
190
- setLoading(false);
191
- }
192
- };
193
- const onCloseForm = () => {
194
- setFormState(undefined);
195
- setItemData(null);
196
- };
197
- const onCofirmDeletePage = async () => {
198
- try {
199
- let proceed = true;
200
- if (typeof preConfirmDelete === 'function') {
201
- try {
202
- proceed = await preConfirmDelete({ row: itemData });
203
- } catch (error) {
204
- proceed = false;
205
- }
206
- }
207
-
208
- if (proceed) {
209
- setLoading(true);
210
- const api = getApiType({
211
- routes,
212
- action: 'DELETE',
213
- prefix: pageRoutesPrefix,
214
- id: itemData?._id,
215
- });
216
- const response = await request({
217
- baseUrl,
218
- token,
219
- method: api.method,
220
- url: api.url,
221
- onError: handleError(CALLBACK_CODES.DELETE),
222
- });
223
- if (response?.code === 'SUCCESS') {
224
- setLoading(false);
225
- onSuccess(CALLBACK_CODES.DELETE, response?.code, response?.message);
226
- getPages();
227
- onCloseForm();
228
- return;
229
- }
230
- setLoading(false);
231
- onError(CALLBACK_CODES.DELETE, response?.code, response?.message);
232
- onCloseForm();
233
- }
234
- } catch (error) {
235
- setLoading(false);
236
- onError(
237
- CALLBACK_CODES.DELETE,
238
- INTERNAL_ERROR_CODE,
239
- (error as Error).message
240
- );
241
- onCloseForm();
242
- }
243
- };
244
- const onChangeFormState = (state: FormActionTypes, data?: any) => {
245
- setItemData(data || null);
246
- setFormState(state);
247
- if (state === 'UPDATE' && data?.widgets) {
248
- // setSelectedWidgets(widgets.filter((widget) => data.widgets.includes(widget.value)));
249
- } else {
250
- setSelectedWidgets([]);
251
- }
252
- };
253
- const onChangeWidgetSequence = (
254
- sourceIndex: number,
255
- destinationIndex: number
256
- ) => {
257
- console.log(sourceIndex, destinationIndex);
258
- setSelectedWidgets((listData) => {
259
- const temporaryData = [...listData];
260
- const [selectedRow] = temporaryData.splice(sourceIndex, 1);
261
- temporaryData.splice(destinationIndex, 0, selectedRow);
262
- return temporaryData;
263
- });
264
- };
265
- const changeCurrentPage = (page: number) => {
266
- setCurrentPage(page);
267
- getPages(searchRef.current);
268
- };
269
- useEffect(() => {
270
- if (canList) getPages();
271
- // eslint-disable-next-line react-hooks/exhaustive-deps
272
- }, [pageSize, canList]);
273
-
274
- return {
275
- list,
276
- getPages,
277
- loading,
278
- setLoading,
279
-
280
- // Pagination
281
- searchText: searchRef.current,
282
- changeSearch,
283
- pageSize,
284
- totalPages,
285
- currentPage: currentPageRef.current,
286
- totalRecords,
287
- setCurrentPage: changeCurrentPage,
288
- setPageSize,
289
-
290
- // Form
291
- widgets,
292
- itemData,
293
- formState,
294
- getWidgets,
295
- onCloseForm,
296
- widgetsLoading,
297
- selectedWidgets,
298
- setSelectedWidgets,
299
- onPageFormSubmit,
300
- onChangeFormState,
301
- onCofirmDeletePage,
302
- onChangeWidgetSequence,
303
- };
304
- };
305
-
306
- export default usePage;
@@ -1,41 +0,0 @@
1
- import { useRef } from 'react';
2
- import * as constants from '../constants/common';
3
-
4
- interface UsePaginationProps {
5
- defaultLimit?: number;
6
- }
7
-
8
- const usePagination = ({ defaultLimit }: UsePaginationProps) => {
9
- const offsetRef = useRef<number>(constants.DEFAULT_OFFSET_PAYLOAD);
10
- const limitRef = useRef<number>(defaultLimit || constants.DEFAULT_LIMIT);
11
- const currentPageRef = useRef<number>(constants.DEFAULT_CURRENT_PAGE);
12
- const searchRef = useRef<string>('');
13
-
14
- const setPageSize = (value: number) => {
15
- limitRef.current = Number.parseInt(String(value), constants.DECIMAL_REDIX);
16
- offsetRef.current = constants.DEFAULT_OFFSET_PAYLOAD;
17
- currentPageRef.current = constants.DEFAULT_CURRENT_PAGE;
18
- };
19
-
20
- const changeSearch = (value: string) => {
21
- searchRef.current = value;
22
- };
23
-
24
- const changeCurrentPage = (value: number) => {
25
- currentPageRef.current = value;
26
- offsetRef.current = value * limitRef.current;
27
- };
28
-
29
- return {
30
- pageSize: limitRef.current,
31
- currentPageRef,
32
- limitRef,
33
- offsetRef,
34
- searchRef,
35
- setPageSize,
36
- changeSearch,
37
- setCurrentPage: changeCurrentPage,
38
- };
39
- };
40
-
41
- export default usePagination;