@knovator/pagecreator-admin 1.2.4 → 1.2.6

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