@flozy/editor 5.5.6 → 5.5.8

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 (210) hide show
  1. package/dist/Editor/ChatEditor.js +34 -25
  2. package/dist/Editor/CommonEditor.js +16 -33
  3. package/dist/Editor/Editor.css +20 -105
  4. package/dist/Editor/Elements/AI/AIInput.js +1 -0
  5. package/dist/Editor/Elements/AI/CustomSelect.js +10 -17
  6. package/dist/Editor/Elements/AI/PopoverAIInput.js +53 -59
  7. package/dist/Editor/Elements/AI/Styles.js +6 -24
  8. package/dist/Editor/Elements/Accordion/Accordion.js +1 -8
  9. package/dist/Editor/Elements/AppHeader/AppHeader.js +6 -6
  10. package/dist/Editor/Elements/Button/EditorButton.js +2 -9
  11. package/dist/Editor/Elements/Carousel/CarouselItem.js +3 -11
  12. package/dist/Editor/Elements/Color Picker/ColorButtons.js +5 -7
  13. package/dist/Editor/Elements/Color Picker/Styles.js +3 -8
  14. package/dist/Editor/Elements/Color Picker/defaultColors.js +2 -2
  15. package/dist/Editor/Elements/Divider/Divider.js +20 -36
  16. package/dist/Editor/Elements/Embed/Image.js +16 -51
  17. package/dist/Editor/Elements/Embed/Video.js +3 -26
  18. package/dist/Editor/Elements/Form/Form.js +2 -39
  19. package/dist/Editor/Elements/Form/FormElements/FormCheckbox.js +1 -7
  20. package/dist/Editor/Elements/Form/FormElements/FormDate.js +1 -7
  21. package/dist/Editor/Elements/Form/FormElements/FormEmail.js +1 -7
  22. package/dist/Editor/Elements/Form/FormElements/FormNumbers.js +1 -7
  23. package/dist/Editor/Elements/Form/FormElements/FormRadioButton.js +1 -7
  24. package/dist/Editor/Elements/Form/FormElements/FormText.js +1 -7
  25. package/dist/Editor/Elements/Form/FormElements/FormTextArea.js +1 -6
  26. package/dist/Editor/Elements/Form/FormPopup.js +9 -12
  27. package/dist/Editor/Elements/Form/Workflow/Styles.js +0 -2
  28. package/dist/Editor/Elements/FreeGrid/FreeGrid.js +1 -1
  29. package/dist/Editor/Elements/FreeGrid/FreeGridBox.js +2 -4
  30. package/dist/Editor/Elements/FreeGrid/FreeGridItem.js +1 -20
  31. package/dist/Editor/Elements/FreeGrid/breakpointConstants.js +4 -4
  32. package/dist/Editor/Elements/FreeGrid/styles.js +1 -2
  33. package/dist/Editor/Elements/Grid/GridButton.js +2 -2
  34. package/dist/Editor/Elements/Grid/GridItem.js +36 -47
  35. package/dist/Editor/Elements/Grid/Styles.js +0 -50
  36. package/dist/Editor/Elements/Link/LinkButton.js +1 -1
  37. package/dist/Editor/Elements/List/CheckList.js +1 -2
  38. package/dist/Editor/Elements/Search/SearchAttachment.js +0 -1
  39. package/dist/Editor/Elements/Search/SearchButton.js +0 -1
  40. package/dist/Editor/Elements/Signature/Signature.css +1 -1
  41. package/dist/Editor/Elements/Signature/SignatureOptions/TypeSignature.js +2 -2
  42. package/dist/Editor/Elements/Signature/SignaturePopup.js +52 -17
  43. package/dist/Editor/Elements/SimpleText/index.js +3 -11
  44. package/dist/Editor/Elements/SimpleText/style.js +1 -20
  45. package/dist/Editor/Elements/Table/Styles.js +78 -88
  46. package/dist/Editor/Elements/Table/Table.js +140 -263
  47. package/dist/Editor/Elements/Table/TableCell.js +111 -365
  48. package/dist/Editor/Elements/Table/TablePopup.js +3 -9
  49. package/dist/Editor/Elements/Table/TableRow.js +2 -10
  50. package/dist/Editor/Elements/TopBanner/TopBanner.js +1 -2
  51. package/dist/Editor/MiniEditor.js +2 -21
  52. package/dist/Editor/Styles/EditorStyles.js +4 -13
  53. package/dist/Editor/Toolbar/FormatTools/BlockButton.js +0 -10
  54. package/dist/Editor/Toolbar/FormatTools/Dropdown.js +12 -7
  55. package/dist/Editor/Toolbar/FormatTools/FontFamilyAutocomplete.js +4 -26
  56. package/dist/Editor/Toolbar/FormatTools/MarkButton.js +0 -3
  57. package/dist/Editor/Toolbar/FormatTools/TextSize.js +5 -5
  58. package/dist/Editor/Toolbar/Mini/MiniToolbar.js +8 -8
  59. package/dist/Editor/Toolbar/Mini/Styles.js +1 -9
  60. package/dist/Editor/Toolbar/PopupTool/MiniTextFormat/InfinityAITool.js +3 -7
  61. package/dist/Editor/Toolbar/PopupTool/MiniTextFormat/index.js +4 -6
  62. package/dist/Editor/Toolbar/PopupTool/PopperHeader.js +15 -19
  63. package/dist/Editor/Toolbar/PopupTool/PopupToolStyle.js +58 -557
  64. package/dist/Editor/Toolbar/PopupTool/TextFormat.js +16 -73
  65. package/dist/Editor/Toolbar/PopupTool/index.js +5 -3
  66. package/dist/Editor/Toolbar/Toolbar.js +0 -6
  67. package/dist/Editor/Toolbar/toolbarGroups.js +0 -4
  68. package/dist/Editor/assets/svg/BrainIcon.js +2 -2
  69. package/dist/Editor/assets/svg/SettingsIcon.js +4 -4
  70. package/dist/Editor/common/ColorPickerButton.js +45 -85
  71. package/dist/Editor/common/DnD/Draggable.js +1 -2
  72. package/dist/Editor/common/FontLoader/FontLoader.js +6 -12
  73. package/dist/Editor/common/Icon.js +21 -54
  74. package/dist/Editor/common/ImageSelector/Options/Upload.js +1 -2
  75. package/dist/Editor/common/ImageSelector/Styles.js +6 -47
  76. package/dist/Editor/common/ImageSelector/UploadStyles.js +6 -18
  77. package/dist/Editor/common/LinkSettings/NavComponents.js +1 -2
  78. package/dist/Editor/common/LinkSettings/index.js +1 -2
  79. package/dist/Editor/common/MentionsPopup/Styles.js +8 -143
  80. package/dist/Editor/common/MentionsPopup/index.js +1 -1
  81. package/dist/Editor/common/RnD/ElementSettings/Settings/FormSettings.js +12 -108
  82. package/dist/Editor/common/RnD/GuideLines/styles.js +3 -3
  83. package/dist/Editor/common/RnD/ShadowElement.js +1 -1
  84. package/dist/Editor/common/RnD/SwitchViewport/SwitchViewport.js +2 -14
  85. package/dist/Editor/common/RnD/Utils/gridDropItem.js +6 -9
  86. package/dist/Editor/common/RnD/VirtualElement/index.js +1 -5
  87. package/dist/Editor/common/RnD/index.js +3 -4
  88. package/dist/Editor/common/Section/index.js +3 -3
  89. package/dist/Editor/common/Section/styles.js +1 -5
  90. package/dist/Editor/common/Shorthands/elements.js +1 -13
  91. package/dist/Editor/common/StyleBuilder/fieldStyle.js +1 -2
  92. package/dist/Editor/common/StyleBuilder/fieldTypes/backgroundImage.js +3 -9
  93. package/dist/Editor/common/StyleBuilder/fieldTypes/bannerSpacing.js +7 -35
  94. package/dist/Editor/common/StyleBuilder/fieldTypes/borderRadius.js +2 -15
  95. package/dist/Editor/common/StyleBuilder/fieldTypes/card.js +2 -10
  96. package/dist/Editor/common/StyleBuilder/fieldTypes/color.js +1 -2
  97. package/dist/Editor/common/StyleBuilder/fieldTypes/fontSize.js +1 -1
  98. package/dist/Editor/common/StyleBuilder/fieldTypes/icons.js +0 -2
  99. package/dist/Editor/common/StyleBuilder/fieldTypes/index.js +1 -3
  100. package/dist/Editor/common/StyleBuilder/fieldTypes/radiusStyle.js +11 -11
  101. package/dist/Editor/common/StyleBuilder/fieldTypes/saveAsTemplate.js +6 -22
  102. package/dist/Editor/common/StyleBuilder/fieldTypes/selectBox.js +2 -21
  103. package/dist/Editor/common/StyleBuilder/fieldTypes/text.js +4 -20
  104. package/dist/Editor/common/StyleBuilder/fieldTypes/textOptions.js +2 -12
  105. package/dist/Editor/common/StyleBuilder/formStyle.js +149 -268
  106. package/dist/Editor/common/StyleBuilder/index.js +20 -101
  107. package/dist/Editor/common/StyleBuilder/pageSettingsStyle.js +0 -4
  108. package/dist/Editor/common/StyleBuilder/tableStyle.js +25 -69
  109. package/dist/Editor/common/SwipeableDrawer/style.js +4 -15
  110. package/dist/Editor/common/ToolbarIcon.js +1 -1
  111. package/dist/Editor/common/Uploader.js +36 -46
  112. package/dist/Editor/common/iconListV2.js +74 -598
  113. package/dist/Editor/common/iconslist.js +19 -25
  114. package/dist/Editor/commonStyle.js +15 -421
  115. package/dist/Editor/helper/deserialize/index.js +2 -31
  116. package/dist/Editor/helper/index.js +4 -17
  117. package/dist/Editor/helper/theme.js +2 -39
  118. package/dist/Editor/hooks/useBreakpoints.js +1 -1
  119. package/dist/Editor/hooks/useMouseMove.js +2 -5
  120. package/dist/Editor/plugins/withCustomDeleteBackward.js +104 -100
  121. package/dist/Editor/plugins/withEmbeds.js +26 -30
  122. package/dist/Editor/plugins/withHTML.js +12 -100
  123. package/dist/Editor/plugins/withLayout.js +0 -1
  124. package/dist/Editor/utils/SlateUtilityFunctions.js +12 -39
  125. package/dist/Editor/utils/brains.js +1 -1
  126. package/dist/Editor/utils/button.js +4 -4
  127. package/dist/Editor/utils/chatEditor/SlateUtilityFunctions.js +6 -75
  128. package/dist/Editor/utils/customHooks/useResize.js +4 -7
  129. package/dist/Editor/utils/customHooks/useTableResize.js +2 -6
  130. package/dist/Editor/utils/embed.js +1 -2
  131. package/dist/Editor/utils/events.js +1 -0
  132. package/dist/Editor/utils/font.js +4 -11
  133. package/dist/Editor/utils/formfield.js +4 -8
  134. package/dist/Editor/utils/helper.js +2 -103
  135. package/dist/Editor/utils/insertNewLine.js +1 -19
  136. package/dist/Editor/utils/pageSettings.js +2 -14
  137. package/dist/Editor/utils/serializeToText.js +0 -2
  138. package/dist/Editor/utils/table.js +24 -228
  139. package/package.json +2 -2
  140. package/dist/Editor/Elements/DataView/DataView.js +0 -124
  141. package/dist/Editor/Elements/DataView/DataViewButton.js +0 -23
  142. package/dist/Editor/Elements/DataView/Layouts/ColumnView.js +0 -83
  143. package/dist/Editor/Elements/DataView/Layouts/DataTypes/CheckType.js +0 -33
  144. package/dist/Editor/Elements/DataView/Layouts/DataTypes/Components/Select.js +0 -180
  145. package/dist/Editor/Elements/DataView/Layouts/DataTypes/Components/SimpleSelect.js +0 -62
  146. package/dist/Editor/Elements/DataView/Layouts/DataTypes/Components/styles.js +0 -68
  147. package/dist/Editor/Elements/DataView/Layouts/DataTypes/DateType.js +0 -35
  148. package/dist/Editor/Elements/DataView/Layouts/DataTypes/MultiSelectType.js +0 -39
  149. package/dist/Editor/Elements/DataView/Layouts/DataTypes/NumberType.js +0 -30
  150. package/dist/Editor/Elements/DataView/Layouts/DataTypes/PersonType.js +0 -30
  151. package/dist/Editor/Elements/DataView/Layouts/DataTypes/SelectType.js +0 -35
  152. package/dist/Editor/Elements/DataView/Layouts/DataTypes/TextType.js +0 -36
  153. package/dist/Editor/Elements/DataView/Layouts/DataTypes/index.js +0 -17
  154. package/dist/Editor/Elements/DataView/Layouts/FilterSort/SortOptions/ChooseField.js +0 -29
  155. package/dist/Editor/Elements/DataView/Layouts/FilterSort/SortOptions/ChooseSort.js +0 -38
  156. package/dist/Editor/Elements/DataView/Layouts/FilterSort/SortOptions/index.js +0 -86
  157. package/dist/Editor/Elements/DataView/Layouts/FilterSort/index.js +0 -71
  158. package/dist/Editor/Elements/DataView/Layouts/FilterSort/styles.js +0 -138
  159. package/dist/Editor/Elements/DataView/Layouts/FilterView.js +0 -213
  160. package/dist/Editor/Elements/DataView/Layouts/Formula.js +0 -29
  161. package/dist/Editor/Elements/DataView/Layouts/Options/AddOptions.js +0 -113
  162. package/dist/Editor/Elements/DataView/Layouts/Options/AddProperty.js +0 -44
  163. package/dist/Editor/Elements/DataView/Layouts/Options/AllProperties.js +0 -146
  164. package/dist/Editor/Elements/DataView/Layouts/Options/ChangeProperty.js +0 -79
  165. package/dist/Editor/Elements/DataView/Layouts/Options/ColumnsList.js +0 -57
  166. package/dist/Editor/Elements/DataView/Layouts/Options/Constants.js +0 -101
  167. package/dist/Editor/Elements/DataView/Layouts/Options/EditOption.js +0 -174
  168. package/dist/Editor/Elements/DataView/Layouts/Options/EditProperty.js +0 -241
  169. package/dist/Editor/Elements/DataView/Layouts/Options/FilterProperty.js +0 -45
  170. package/dist/Editor/Elements/DataView/Layouts/Options/PropertyList.js +0 -32
  171. package/dist/Editor/Elements/DataView/Layouts/Options/index.js +0 -110
  172. package/dist/Editor/Elements/DataView/Layouts/Options/styles.js +0 -217
  173. package/dist/Editor/Elements/DataView/Layouts/TableStyles.js +0 -131
  174. package/dist/Editor/Elements/DataView/Layouts/TableView.js +0 -253
  175. package/dist/Editor/Elements/DataView/Layouts/ViewData.js +0 -85
  176. package/dist/Editor/Elements/DataView/Layouts/colStyles.js +0 -10
  177. package/dist/Editor/Elements/DataView/Layouts/index.js +0 -25
  178. package/dist/Editor/Elements/DataView/Providers/DataViewProvider.js +0 -277
  179. package/dist/Editor/Elements/DataView/Utils/globalSearch.js +0 -15
  180. package/dist/Editor/Elements/DataView/Utils/multiSortRows.js +0 -88
  181. package/dist/Editor/Elements/DataView/styles.js +0 -169
  182. package/dist/Editor/Elements/Table/AddRowCol.js +0 -77
  183. package/dist/Editor/Elements/Table/DragButton.js +0 -142
  184. package/dist/Editor/Elements/Table/DragStyles.js +0 -70
  185. package/dist/Editor/Elements/Table/Draggable.js +0 -25
  186. package/dist/Editor/Elements/Table/Droppable.js +0 -53
  187. package/dist/Editor/Elements/Table/TableTool.js +0 -101
  188. package/dist/Editor/Elements/Table/tableHelper.js +0 -71
  189. package/dist/Editor/assets/svg/ArrowDownIcon.js +0 -25
  190. package/dist/Editor/assets/svg/ArrowUpIcon.js +0 -25
  191. package/dist/Editor/assets/svg/CalenderIconTick.js +0 -64
  192. package/dist/Editor/assets/svg/ChervDown.js +0 -18
  193. package/dist/Editor/assets/svg/ChervUp.js +0 -18
  194. package/dist/Editor/assets/svg/DataTableIcon.js +0 -50
  195. package/dist/Editor/assets/svg/DuplicateIcon.js +0 -23
  196. package/dist/Editor/assets/svg/EyeIcon.js +0 -23
  197. package/dist/Editor/assets/svg/EyeSlash.js +0 -43
  198. package/dist/Editor/assets/svg/HashtagIcon.js +0 -33
  199. package/dist/Editor/assets/svg/PlusIcon.js +0 -23
  200. package/dist/Editor/assets/svg/SelectRoundedIcon.js +0 -24
  201. package/dist/Editor/assets/svg/SortByIcon.js +0 -33
  202. package/dist/Editor/assets/svg/TableIcons.js +0 -220
  203. package/dist/Editor/assets/svg/TickOutlined.js +0 -23
  204. package/dist/Editor/assets/svg/TrashCanIcon.js +0 -38
  205. package/dist/Editor/common/Select/index.js +0 -20
  206. package/dist/Editor/common/Select/styles.js +0 -17
  207. package/dist/Editor/common/StyleBuilder/fieldTypes/lineSpacing.js +0 -79
  208. package/dist/Editor/helper/enforceDateFormat.js +0 -41
  209. package/dist/Editor/hooks/useTable.js +0 -210
  210. package/dist/Editor/utils/dataView.js +0 -43
@@ -1,277 +0,0 @@
1
- import React, { createContext, useContext, useEffect, useState } from "react";
2
- import { Editor, Transforms, Node } from "slate";
3
- import { PROPERTY_DEFAULTS } from "../Layouts/Options/Constants";
4
- import multiSortRows from "../Utils/multiSortRows";
5
- import globalSearch from "../Utils/globalSearch";
6
-
7
- // Data View context
8
- import { jsx as _jsx } from "react/jsx-runtime";
9
- const DataViewContext = /*#__PURE__*/createContext();
10
- export const useDataView = () => useContext(DataViewContext);
11
- const DEFAULT_PROPERTIES = [{
12
- key: "column1",
13
- label: "Name",
14
- dataType: "text"
15
- }, {
16
- key: "column2",
17
- label: "Status",
18
- dataType: "select",
19
- options: ["Active", "Inactive"]
20
- }, {
21
- key: "column3",
22
- label: "Agree?",
23
- dataType: "checkbox"
24
- }];
25
-
26
- // Combined provider
27
- export const DataViewProvider = ({
28
- children,
29
- ...props
30
- }) => {
31
- const {
32
- data: initialData,
33
- path,
34
- editor,
35
- users: peoples
36
- } = props;
37
- const dataViewNode = Node.get(editor, path);
38
- const [layouts, setLayouts] = useState(initialData?.layouts || []);
39
- const [seletectedLayout, setSelectedLayout] = useState({
40
- ...(layouts[0] || {})
41
- });
42
- const [layoutType, setLayoutType] = useState(seletectedLayout?.type || "table");
43
- const [properties, setProperties] = useState(initialData?.properties || [...DEFAULT_PROPERTIES]);
44
- const [sort, setSort] = useState(seletectedLayout?.sort || []);
45
- const [filter, setFilter] = useState(seletectedLayout?.filter || []);
46
- const [rows, setRows] = useState(initialData?.rows || []);
47
- const [selectedRows, setSelectedRows] = useState([]);
48
- const [search, setSearch] = useState("");
49
- const [users] = useState(peoples);
50
-
51
- // for undo and redo
52
- // minimal added for perforamnce issue avoid
53
- useEffect(() => {
54
- setRows(dataViewNode?.rows);
55
- }, [dataViewNode?.rows?.length]);
56
- useEffect(() => {
57
- setProperties(dataViewNode?.properties);
58
- }, [dataViewNode?.properties?.length]);
59
-
60
- // re-order when sort val changes
61
- useEffect(() => {
62
- if ((sort?.length > 0 || search) && rows?.length > 0) {
63
- const reOrderRows = sort?.length > 0 ? multiSortRows(initialData?.rows, sort, properties) : [...initialData?.rows];
64
- setRows(globalSearch(reOrderRows, search));
65
- } else {
66
- // reset to default order
67
- setRows(globalSearch(initialData?.rows || [], search));
68
- }
69
- }, [sort, search]);
70
- const onAddProperty = (data, overrides = {}) => {
71
- try {
72
- const {
73
- type
74
- } = data;
75
- const key = `col_${new Date().getTime()}`;
76
- const newProperty = {
77
- ...(PROPERTY_DEFAULTS[type] || {}),
78
- ...overrides,
79
- key: key,
80
- type
81
- };
82
- const updatedProperties = [...properties, {
83
- ...newProperty
84
- }];
85
- Transforms.setNodes(editor, {
86
- properties: [...updatedProperties]
87
- }, {
88
- at: path
89
- });
90
- setProperties([...updatedProperties]);
91
- return newProperty;
92
- } catch (err) {
93
- console.log(err);
94
- }
95
- };
96
- const onUpdateProperty = (data, isDelete = false) => {
97
- try {
98
- const {
99
- key
100
- } = data;
101
- let up = {
102
- ...data
103
- };
104
- const updatedProperties = properties?.map(m => {
105
- if (m.key === key) {
106
- up = {
107
- ...m,
108
- ...data
109
- };
110
- return up;
111
- }
112
- return m;
113
- });
114
- if (isDelete) {
115
- const deleteIndex = updatedProperties.findIndex(f => f.key === key);
116
- updatedProperties.splice(deleteIndex, 1);
117
- }
118
- Transforms.setNodes(editor, {
119
- properties: [...updatedProperties]
120
- }, {
121
- at: path
122
- });
123
- setProperties([...updatedProperties]);
124
- return up;
125
- } catch (err) {
126
- console.log(err);
127
- }
128
- };
129
- const onChange = (rowIndex, rowData) => {
130
- try {
131
- const updatedRows = rows?.map(m => {
132
- if (m?.id === rowIndex) {
133
- m = {
134
- ...m,
135
- ...rowData
136
- };
137
- }
138
- return m;
139
- });
140
- Transforms.setNodes(editor, {
141
- rows: [...updatedRows]
142
- }, {
143
- at: path
144
- });
145
- setRows(updatedRows);
146
- } catch (err) {
147
- console.log(err);
148
- }
149
- };
150
- const onAddRow = () => {
151
- try {
152
- const newRow = properties?.reduce((a, b) => {
153
- a[b.key] = "";
154
- return a;
155
- }, {
156
- id: `row_${new Date().getTime()}`
157
- });
158
- const updatedRows = [...rows, newRow];
159
- Transforms.setNodes(editor, {
160
- rows: [...updatedRows]
161
- }, {
162
- at: path
163
- });
164
- setRows(updatedRows);
165
- } catch (err) {
166
- console.log(err);
167
- }
168
- };
169
- const formatSort = (sorts = [], sortData, isDelete = false) => {
170
- let upSort = [];
171
- const isUpdate = sorts?.find(f => f.key === sortData?.key);
172
- if (isUpdate) {
173
- // update if any
174
- upSort = sorts?.map(m => {
175
- if (m.key === sortData.key) {
176
- // if update col
177
- if (sortData["newKey"]) {
178
- sortData["key"] = sortData["newKey"];
179
- delete sortData["newKey"];
180
- }
181
- return {
182
- ...sortData
183
- };
184
- }
185
- return m;
186
- });
187
- } else {
188
- upSort = [...sorts, {
189
- ...sortData
190
- }];
191
- }
192
-
193
- // if no sort
194
- if (sorts?.length === 0 && !isDelete) {
195
- upSort = [{
196
- ...sortData
197
- }];
198
- }
199
-
200
- // if delete
201
- if (isDelete) {
202
- const deleteIndex = upSort.findIndex(f => f.key === sortData.key);
203
- upSort.splice(deleteIndex, 1);
204
- }
205
- return upSort;
206
- };
207
- const onUpdateSort = (sortData = {}, isDelete = false, deleteAll = false) => {
208
- try {
209
- let upSort = {};
210
- const updatedLayouts = layouts?.map((m, i) => {
211
- if (seletectedLayout?.key === m.key) {
212
- upSort = !deleteAll ? formatSort(m?.sort || [], sortData, isDelete) : [];
213
- return {
214
- ...m,
215
- sort: [...upSort]
216
- };
217
- }
218
- return m;
219
- });
220
- Transforms.setNodes(editor, {
221
- layouts: [...updatedLayouts]
222
- }, {
223
- at: path
224
- });
225
- setLayouts(updatedLayouts);
226
- setSort(upSort);
227
- } catch (err) {
228
- console.log(err);
229
- }
230
- };
231
- const onDeleteRows = () => {
232
- try {
233
- const updatedRows = [...rows].filter(f => selectedRows.includes(f.id) === false);
234
- Transforms.setNodes(editor, {
235
- rows: [...updatedRows]
236
- }, {
237
- at: path
238
- });
239
- setRows(updatedRows);
240
- setSelectedRows([]);
241
- } catch (err) {
242
- console.log(err);
243
- }
244
- };
245
- const onSearch = e => {
246
- setSearch(e?.target?.value);
247
- };
248
- const value = {
249
- layoutType,
250
- setLayoutType,
251
- properties,
252
- setProperties,
253
- rows,
254
- setRows,
255
- onAddProperty,
256
- layouts,
257
- setLayouts,
258
- onUpdateProperty,
259
- onChange,
260
- onAddRow,
261
- users: users,
262
- onUpdateSort,
263
- sort,
264
- filter,
265
- setSelectedLayout,
266
- setFilter,
267
- selectedRows,
268
- setSelectedRows,
269
- onDeleteRows,
270
- search,
271
- onSearch
272
- };
273
- return /*#__PURE__*/_jsx(DataViewContext.Provider, {
274
- value: value,
275
- children: children
276
- });
277
- };
@@ -1,15 +0,0 @@
1
- const globalSearch = (array, searchTerm) => {
2
- if (!searchTerm) {
3
- return array;
4
- }
5
- const lowerCaseSearchTerm = searchTerm.toLowerCase();
6
- return array.filter(item => Object.values(item).some(value => {
7
- if (typeof value === "string" && value) {
8
- return value?.toLowerCase().includes(lowerCaseSearchTerm);
9
- } else if (Array.isArray(value)) {
10
- return value?.map(m => m?.value).some(d => d.toLowerCase().includes(lowerCaseSearchTerm));
11
- }
12
- return false;
13
- }));
14
- };
15
- export default globalSearch;
@@ -1,88 +0,0 @@
1
- function sortByDate(a, b) {
2
- const dateA = new Date(a);
3
- const dateB = new Date(b);
4
-
5
- // Check if both dates are valid
6
- const isValidA = !isNaN(dateA.getTime());
7
- const isValidB = !isNaN(dateB.getTime());
8
- if (isValidA && isValidB) {
9
- // Compare valid dates
10
- return dateA - dateB;
11
- } else if (isValidA) {
12
- // Invalid date in `b` pushes `a` before `b`
13
- return -1;
14
- } else if (isValidB) {
15
- // Invalid date in `a` pushes `b` before `a`
16
- return 1;
17
- } else {
18
- // Both are invalid, maintain their relative order
19
- return 0;
20
- }
21
- }
22
-
23
- /**
24
- * Multi-sort rows based on multiple criteria.
25
- * @param {Array} rows - Array of row objects.
26
- * @param {Array} criteria - Array of sort criteria [{key, sortBy}].
27
- * @param {Object} columnConfig - Column configurations with data types.
28
- */
29
- const multiSortRows = (rows, criteria, columnConfig) => {
30
- return rows.slice().sort((a, b) => {
31
- for (let {
32
- key,
33
- operator
34
- } of criteria) {
35
- const column = columnConfig?.find(col => col.key === key);
36
- if (!column) continue;
37
- const dataType = column.type;
38
- const valueA = a[key];
39
- const valueB = b[key];
40
- let comparison = 0;
41
- switch (dataType) {
42
- case "text":
43
- comparison = valueA?.localeCompare(valueB, undefined, {
44
- sensitivity: "base"
45
- });
46
- break;
47
- case "number":
48
- comparison = parseInt(valueA || 0) - parseInt(valueB || 0);
49
- break;
50
- case "select":
51
- case "multi-select":
52
- case "person":
53
- if (Array?.isArray(valueA) && Array?.isArray(valueB)) {
54
- comparison = Array?.isArray(valueA) ? valueA?.map(m => m?.value)?.join(", ")?.localeCompare(valueB?.map(m => m?.value).join(", "), undefined, {
55
- sensitivity: "base"
56
- }) : 0;
57
- }
58
- break;
59
- case "date":
60
- comparison = sortByDate(valueA, valueB);
61
- break;
62
- case "check":
63
- if (operator === "desc") {
64
- if (valueA) {
65
- return 1;
66
- } else {
67
- return -1;
68
- }
69
- } else {
70
- if (valueA) {
71
- return -1;
72
- } else {
73
- return 1;
74
- }
75
- }
76
- // return valueA && operator === "desc" ? 1 : valueB && operator === "asc" ;
77
- default:
78
- break;
79
- }
80
- if (comparison !== 0) {
81
- return operator === "asc" ? comparison : -comparison;
82
- }
83
- }
84
- return 0; // Rows are equal based on all criteria
85
- });
86
- };
87
-
88
- export default multiSortRows;
@@ -1,169 +0,0 @@
1
- const useDataViewStyles = (theme, appTheme) => ({
2
- root: {
3
- width: "100%",
4
- overflowX: "auto",
5
- marginTop: "8px",
6
- "& table": {
7
- width: "100%",
8
- "& th.fe-tv-ap-ico": {
9
- width: "50px"
10
- }
11
- },
12
- "& table th": {
13
- cursor: "pointer",
14
- width: "200px"
15
- },
16
- "& table, th, td": {
17
- border: "1px solid black",
18
- borderCollapse: "collapse"
19
- },
20
- "& .react-datepicker-wrapper": {
21
- width: "100%",
22
- "& input": {
23
- padding: "6px 12px"
24
- }
25
- },
26
- "& .MuiInputBase-root": {
27
- "& fieldset": {
28
- border: "none"
29
- }
30
- },
31
- // filter view
32
- "& .fe-tv-fv": {
33
- marginBottom: "8px",
34
- "& .mr": {
35
- marginRight: "4px"
36
- },
37
- [theme?.breakpoints?.between("xs", "md")]: {
38
- display: "flex",
39
- flexDirection: "column"
40
- }
41
- },
42
- "& .tv-act-row": {
43
- "& .tv-tr-pop": {
44
- opacity: 0,
45
- "&.active": {
46
- opacity: 1
47
- },
48
- "& .tv-ck-box": {
49
- "& svg": {
50
- color: appTheme?.palette?.editor?.tv_border,
51
- '& rect': {
52
- fill: appTheme?.palette?.editor?.tv_chk_box_fill,
53
- stroke: appTheme?.palette?.editor?.tv_chk_box_stroke
54
- }
55
- },
56
- "&.Mui-checked": {
57
- "& svg": {
58
- color: "rgba(37, 99, 235, 1)",
59
- '& rect': {
60
- fill: appTheme?.palette?.editor?.activeColor,
61
- stroke: 'none'
62
- }
63
- }
64
- }
65
- }
66
- },
67
- "&:hover": {
68
- "& .tv-tr-pop": {
69
- opacity: 1
70
- }
71
- }
72
- }
73
- },
74
- filterView: {
75
- display: "flex",
76
- justifyContent: "space-between",
77
- alignItems: "center",
78
- "& .MuiButtonBase-root": {
79
- padding: "6px",
80
- marginLeft: "4px",
81
- width: "29px",
82
- height: "29px",
83
- "&.active": {
84
- color: "rgba(37, 99, 235, 1)"
85
- }
86
- },
87
- "& .tv-sb": {
88
- display: "flex",
89
- border: "1px solid transparent",
90
- width: "24px",
91
- transition: "width 1s",
92
- "&.open": {
93
- width: "fit-content",
94
- border: `1px solid ${appTheme?.palette?.editor?.tv_border}`,
95
- boxShadow: "0px 4px 18px 0px #0000000D",
96
- borderRadius: "8px",
97
- minWidth: '148px'
98
- },
99
- "& input": {
100
- paddingBottom: "0px",
101
- fontSize: "14px"
102
- }
103
- },
104
- "& .tv-title-wrpr, .tv-fi-wrpr": {
105
- display: "flex",
106
- "& button": {
107
- color: appTheme?.palette?.editor?.tv_text
108
- },
109
- "& input": {
110
- color: appTheme?.palette?.editor?.tv_text
111
- }
112
- },
113
- "& .tv-title-wrpr": {
114
- width: "80%",
115
- marginRight: "8px",
116
- "& .MuiInputBase-root": {
117
- width: "100%"
118
- },
119
- "& .MuiInputBase-input": {
120
- paddingBottom: "0px",
121
- fontWeight: "bold",
122
- fontSize: "16px",
123
- color: appTheme?.palette?.editor?.textFormatTextColor
124
- },
125
- [theme?.breakpoints?.between("xs", "md")]: {
126
- width: "100%",
127
- marginRight: "0px"
128
- }
129
- },
130
- "& .tv-fi-wrpr": {
131
- [theme?.breakpoints?.between("xs", "md")]: {
132
- width: "100%",
133
- justifyContent: "end"
134
- }
135
- }
136
- },
137
- basicMenu: {
138
- "& .MuiPaper-root": {
139
- padding: "0px 6px",
140
- width: "150px",
141
- border: `1px solid ${appTheme?.palette?.editor?.tv_border}`,
142
- borderRadius: "8px",
143
- fontFamily: 'Inter !important',
144
- background: appTheme?.palette?.editor?.tv_pop_bg,
145
- color: appTheme?.palette?.editor?.tv_text_primary,
146
- "& .MuiButtonBase-root": {
147
- fontSize: "14px",
148
- padding: '6px 8px',
149
- "& svg": {
150
- width: "16px",
151
- height: "16px",
152
- color: `${appTheme?.palette?.editor?.tv_text}`
153
- },
154
- "&:hover": {
155
- background: appTheme?.palette?.editor?.tv_hover_bg,
156
- borderRadius: "8px",
157
- color: `${appTheme?.palette?.editor?.tv_hover_text} !important`,
158
- "& svg": {
159
- color: `${appTheme?.palette?.editor?.tv_hover_text} !important`,
160
- '& path': {
161
- stroke: `${appTheme?.palette?.editor?.tv_hover_text} !important`
162
- }
163
- }
164
- }
165
- }
166
- }
167
- }
168
- });
169
- export default useDataViewStyles;
@@ -1,77 +0,0 @@
1
- import { Button } from "@mui/material";
2
- import { useMemo, useState } from "react";
3
- import useTable from "../../hooks/useTable";
4
- import { jsx as _jsx } from "react/jsx-runtime";
5
- const showAddButton = (addType, tableNode, hoverPath) => {
6
- const [row, col] = hoverPath && hoverPath?.length ? hoverPath.slice(-2) : [];
7
- if (addType === "row") {
8
- return tableNode?.rows - 1 === row;
9
- } else {
10
- return tableNode?.columns - 1 === col;
11
- }
12
- };
13
- const ADD_COL_BTN_WIDTH = 20;
14
- function AddRowCol(props) {
15
- const {
16
- tableRef,
17
- containerRef,
18
- addType,
19
- tableNode,
20
- onAdd,
21
- readOnly
22
- } = props;
23
- const {
24
- hoverPath
25
- } = useTable();
26
- const [hoveringAddBtn, setHoveringAddBtn] = useState(false);
27
- const {
28
- tableResizing
29
- } = useTable();
30
- const {
31
- clientHeight,
32
- scrollWidth
33
- } = tableRef?.current || {};
34
- const {
35
- clientWidth: containerWidth
36
- } = containerRef?.current || {};
37
- const buttonStyle = useMemo(() => {
38
- if (addType === "row") {
39
- const isScrollEnabled = scrollWidth > containerWidth;
40
- const width = isScrollEnabled ? containerWidth - ADD_COL_BTN_WIDTH : scrollWidth;
41
- return {
42
- width
43
- };
44
- } else {
45
- return {
46
- height: "100%",
47
- marginLeft: "3px"
48
- };
49
- }
50
- }, [scrollWidth, clientHeight, containerWidth, tableResizing]);
51
- const showAdd = showAddButton(addType, tableNode, hoverPath);
52
- const onMouseEnter = () => setHoveringAddBtn(true);
53
- const onMouseLeave = () => setHoveringAddBtn(false);
54
- const showBtn = (showAdd || hoveringAddBtn) && !tableResizing && !readOnly;
55
- return /*#__PURE__*/_jsx("div", {
56
- onMouseEnter: onMouseEnter,
57
- onMouseLeave: onMouseLeave,
58
- contentEditable: false,
59
- children: /*#__PURE__*/_jsx(Button, {
60
- sx: {
61
- fontSize: "14px",
62
- border: "1px dashed #8DA8E3",
63
- color: "#2563EB !important",
64
- padding: "0px 4px",
65
- minWidth: "unset",
66
- lineHeight: "18px",
67
- fontWeight: "normal !important",
68
- ...buttonStyle,
69
- opacity: showBtn ? 1 : 0
70
- },
71
- disabled: !showBtn,
72
- onClick: onAdd,
73
- children: "+"
74
- })
75
- });
76
- }
77
- export default AddRowCol;