@griddo/ax 10.2.25 → 10.3.0

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 (94) hide show
  1. package/package.json +2 -2
  2. package/public/img/icons/excel.png +0 -0
  3. package/public/img/icons/pdf.png +0 -0
  4. package/public/img/icons/word.png +0 -0
  5. package/public/img/icons/zip.png +0 -0
  6. package/src/GlobalStore.tsx +3 -0
  7. package/src/__mocks__/store/GenericStore.ts +3 -0
  8. package/src/__tests__/components/Fields/FileField/FileField.test.tsx +34 -8
  9. package/src/__tests__/components/Gallery/GalleryPanel/GalleryDragAndDrop/GalleryDragAndDrop.test.tsx +1 -1
  10. package/src/api/files.tsx +171 -1
  11. package/src/api/users.tsx +5 -2
  12. package/src/components/ActionMenu/index.tsx +5 -13
  13. package/src/components/BackFolder/index.tsx +28 -0
  14. package/src/components/BackFolder/style.tsx +33 -0
  15. package/src/components/BulkSelectionOptions/index.tsx +4 -8
  16. package/src/components/Button/index.tsx +8 -3
  17. package/src/components/Button/style.tsx +5 -3
  18. package/src/components/ElementsTooltip/index.tsx +22 -7
  19. package/src/components/ElementsTooltip/style.tsx +2 -2
  20. package/src/components/Fields/FileField/index.tsx +7 -7
  21. package/src/components/Fields/TextField/index.tsx +3 -0
  22. package/src/components/FileGallery/FolderItem/index.tsx +39 -0
  23. package/src/components/FileGallery/FolderItem/style.tsx +31 -0
  24. package/src/components/FileGallery/GalleryPanel/DetailPanel/index.tsx +164 -0
  25. package/src/components/FileGallery/GalleryPanel/DetailPanel/style.tsx +113 -0
  26. package/src/components/FileGallery/GalleryPanel/index.tsx +42 -0
  27. package/src/components/FileGallery/GalleryPanel/style.tsx +7 -0
  28. package/src/components/FileGallery/GridItem/index.tsx +47 -0
  29. package/src/components/FileGallery/GridItem/style.tsx +51 -0
  30. package/src/components/FileGallery/index.tsx +304 -0
  31. package/src/components/FileGallery/style.tsx +173 -0
  32. package/src/components/FileGallery/utils.tsx +19 -0
  33. package/src/components/Gallery/GalleryPanel/GalleryDragAndDrop/index.tsx +4 -6
  34. package/src/components/Icon/components/Back.js +10 -0
  35. package/src/components/Icon/components/ClosePanel.js +12 -0
  36. package/src/components/Icon/components/NewFolder.js +10 -0
  37. package/src/components/Icon/components/OpenPanel.js +12 -0
  38. package/src/components/Icon/svgs/Back.svg +3 -0
  39. package/src/components/Icon/svgs/Close_panel.svg +3 -0
  40. package/src/components/Icon/svgs/New-folder.svg +3 -0
  41. package/src/components/Icon/svgs/Open_panel.svg +3 -0
  42. package/src/components/Modal/index.tsx +7 -5
  43. package/src/components/Modal/style.tsx +6 -6
  44. package/src/components/ProgressBar/index.tsx +3 -2
  45. package/src/components/ProgressBar/style.tsx +5 -3
  46. package/src/components/TableList/index.tsx +3 -2
  47. package/src/components/TableList/style.tsx +4 -0
  48. package/src/components/Toast/style.tsx +2 -2
  49. package/src/components/index.tsx +4 -0
  50. package/src/containers/FileDrive/actions.tsx +386 -0
  51. package/src/containers/FileDrive/constants.tsx +24 -0
  52. package/src/containers/FileDrive/index.tsx +7 -0
  53. package/src/containers/FileDrive/interfaces.tsx +59 -0
  54. package/src/containers/FileDrive/reducer.tsx +57 -0
  55. package/src/containers/FileDrive/utils.tsx +37 -0
  56. package/src/containers/Gallery/actions.tsx +1 -1
  57. package/src/containers/Gallery/interfaces.tsx +1 -1
  58. package/src/helpers/index.tsx +2 -0
  59. package/src/helpers/objects.tsx +6 -0
  60. package/src/modules/FileDrive/Breadcrumb/index.tsx +42 -0
  61. package/src/modules/FileDrive/Breadcrumb/style.tsx +18 -0
  62. package/src/modules/FileDrive/BulkGridHeader/GridHeader/index.tsx +37 -0
  63. package/src/modules/FileDrive/BulkGridHeader/GridHeader/style.tsx +19 -0
  64. package/src/modules/FileDrive/BulkGridHeader/index.tsx +35 -0
  65. package/src/modules/FileDrive/BulkGridHeader/style.tsx +17 -0
  66. package/src/modules/FileDrive/BulkListHeader/TableHeader/index.tsx +42 -0
  67. package/src/modules/FileDrive/BulkListHeader/TableHeader/style.tsx +53 -0
  68. package/src/modules/FileDrive/BulkListHeader/index.tsx +35 -0
  69. package/src/modules/FileDrive/BulkListHeader/style.tsx +17 -0
  70. package/src/modules/FileDrive/FileDragAndDrop/index.tsx +249 -0
  71. package/src/{components/Fields/FileField → modules/FileDrive}/FileDragAndDrop/style.tsx +50 -9
  72. package/src/modules/FileDrive/FileModal/DetailPanel/index.tsx +170 -0
  73. package/src/modules/FileDrive/FileModal/DetailPanel/style.tsx +81 -0
  74. package/src/modules/FileDrive/FileModal/index.tsx +129 -0
  75. package/src/modules/FileDrive/FileModal/style.tsx +112 -0
  76. package/src/modules/FileDrive/FolderItem/index.tsx +180 -0
  77. package/src/modules/FileDrive/FolderItem/style.tsx +39 -0
  78. package/src/modules/FileDrive/FolderTree/index.tsx +108 -0
  79. package/src/modules/FileDrive/FolderTree/style.tsx +69 -0
  80. package/src/modules/FileDrive/FolderTree/utils.tsx +91 -0
  81. package/src/modules/FileDrive/GridItem/index.tsx +167 -0
  82. package/src/modules/FileDrive/GridItem/style.tsx +76 -0
  83. package/src/modules/FileDrive/ListItem/index.tsx +180 -0
  84. package/src/modules/FileDrive/ListItem/style.tsx +88 -0
  85. package/src/modules/FileDrive/atoms.tsx +173 -0
  86. package/src/modules/FileDrive/helpers.tsx +19 -0
  87. package/src/modules/FileDrive/index.tsx +670 -0
  88. package/src/modules/FileDrive/style.tsx +145 -0
  89. package/src/modules/Sites/SitesList/index.tsx +0 -3
  90. package/src/routes/multisite.tsx +9 -0
  91. package/src/routes/site.tsx +9 -0
  92. package/src/types/index.tsx +63 -0
  93. package/src/components/Fields/FileField/FileDragAndDrop/index.tsx +0 -188
  94. package/src/components/Fields/FileField/store.tsx +0 -61
@@ -0,0 +1,173 @@
1
+ import React from "react";
2
+
3
+ import { IModal } from "@ax/types";
4
+ import { Modal, FieldsBehavior } from "@ax/components";
5
+ import FolderTree from "./FolderTree";
6
+ import { IFormState } from ".";
7
+
8
+ import * as S from "./style";
9
+
10
+ const NewFolderModal = (props: INewModalProps): JSX.Element => {
11
+ const { isOpen, toggleModal, mainModalAction, secondaryModalAction, form, setForm } = props;
12
+
13
+ const setNameValue = (name: string) => setForm({ ...form, name });
14
+ const setFolder = (folderID: number | null) => setForm({ ...form, folderID });
15
+
16
+ const handleKeyDown = (e: React.KeyboardEvent) => {
17
+ if (e.key === "Enter") {
18
+ mainModalAction?.onClick();
19
+ }
20
+ };
21
+
22
+ return (
23
+ <Modal
24
+ isOpen={isOpen}
25
+ hide={toggleModal}
26
+ title="Create New Folder"
27
+ secondaryAction={secondaryModalAction}
28
+ mainAction={mainModalAction}
29
+ size="S"
30
+ height={640}
31
+ >
32
+ <S.ModalContent>
33
+ <FieldsBehavior
34
+ title="Folder name"
35
+ name="name"
36
+ fieldType="TextField"
37
+ value={form.name}
38
+ placeholder="Type a name of the new folder"
39
+ onChange={setNameValue}
40
+ onKeyDown={handleKeyDown}
41
+ autoComplete="nodelay"
42
+ autoFocus
43
+ />
44
+ <FolderTree folderID={form.folderID || 0} onClick={setFolder} />
45
+ </S.ModalContent>
46
+ </Modal>
47
+ );
48
+ };
49
+
50
+ const DeleteFolderModal = (props: IDeleteModalProps): JSX.Element => {
51
+ const { isOpen, toggleModal, mainModalAction, secondaryModalAction, title } = props;
52
+
53
+ return (
54
+ <Modal
55
+ isOpen={isOpen}
56
+ hide={toggleModal}
57
+ title="Delete Folder?"
58
+ secondaryAction={secondaryModalAction}
59
+ mainAction={mainModalAction}
60
+ size="S"
61
+ height={240}
62
+ >
63
+ <S.ModalContent>
64
+ Are you sure you want to delete <strong>{title} folder</strong>? All documents inside the folder will also be
65
+ deleted. This action <strong>cannot be undone</strong>.
66
+ </S.ModalContent>
67
+ </Modal>
68
+ );
69
+ };
70
+
71
+ const RenameFolderModal = (props: IRenameModalProps): JSX.Element => {
72
+ const { isOpen, toggleModal, mainModalAction, secondaryModalAction, value, setValue } = props;
73
+
74
+ const setNameValue = (name: string) => setValue(name);
75
+
76
+ const handleKeyDown = (e: React.KeyboardEvent) => {
77
+ if (e.key === "Enter") {
78
+ mainModalAction?.onClick();
79
+ }
80
+ };
81
+
82
+ return (
83
+ <Modal
84
+ isOpen={isOpen}
85
+ hide={toggleModal}
86
+ title="Rename Folder"
87
+ secondaryAction={secondaryModalAction}
88
+ mainAction={mainModalAction}
89
+ size="S"
90
+ height={244}
91
+ >
92
+ <S.ModalContent>
93
+ <S.NoMarginFieldsBehavior
94
+ title="Folder name"
95
+ name="name"
96
+ fieldType="TextField"
97
+ value={value}
98
+ onChange={setNameValue}
99
+ onKeyDown={handleKeyDown}
100
+ autoComplete="nodelay"
101
+ autoFocus
102
+ />
103
+ </S.ModalContent>
104
+ </Modal>
105
+ );
106
+ };
107
+
108
+ const DeleteFileModal = (props: IDeleteModalProps): JSX.Element => {
109
+ const { isOpen, toggleModal, mainModalAction, secondaryModalAction, title, isChild } = props;
110
+
111
+ return (
112
+ <Modal
113
+ isOpen={isOpen}
114
+ hide={toggleModal}
115
+ title="Delete document?"
116
+ secondaryAction={secondaryModalAction}
117
+ mainAction={mainModalAction}
118
+ size="S"
119
+ height={240}
120
+ isChild={isChild}
121
+ >
122
+ <S.ModalContent>
123
+ Are you sure you want to delete <strong>{title}</strong>?<br />
124
+ This action <strong>cannot be undone</strong>.
125
+ </S.ModalContent>
126
+ </Modal>
127
+ );
128
+ };
129
+
130
+ const MoveItemModal = (props: IMoveModalProps): JSX.Element => {
131
+ const { isOpen, toggleModal, mainModalAction, secondaryModalAction, folder, setFolder, hidden, hideRoot } = props;
132
+
133
+ const handleSetFolder = (folderID: number) => setFolder(folderID);
134
+
135
+ return (
136
+ <Modal
137
+ isOpen={isOpen}
138
+ hide={toggleModal}
139
+ title="Move to"
140
+ secondaryAction={secondaryModalAction}
141
+ mainAction={mainModalAction}
142
+ size="S"
143
+ height={528}
144
+ >
145
+ <S.ModalContent>
146
+ <FolderTree folderID={folder || 0} onClick={handleSetFolder} hidden={hidden} hideRoot={hideRoot} />
147
+ </S.ModalContent>
148
+ </Modal>
149
+ );
150
+ };
151
+
152
+ interface INewModalProps extends IModal {
153
+ form: IFormState;
154
+ setForm(form: IFormState): void;
155
+ }
156
+
157
+ interface IRenameModalProps extends IModal {
158
+ value: string;
159
+ setValue(value: string): void;
160
+ }
161
+
162
+ interface IDeleteModalProps extends IModal {
163
+ title: string;
164
+ }
165
+
166
+ interface IMoveModalProps extends IModal {
167
+ folder: number;
168
+ setFolder(folderID: number): void;
169
+ hidden?: number[];
170
+ hideRoot?: boolean;
171
+ }
172
+
173
+ export { NewFolderModal, DeleteFolderModal, DeleteFileModal, MoveItemModal, RenameFolderModal };
@@ -0,0 +1,19 @@
1
+ const getFileIcon = (type: string) => {
2
+ switch (type) {
3
+ case "pdf":
4
+ return "pdf.png";
5
+ case "doc":
6
+ case "docx":
7
+ return "word.png";
8
+ case "xls":
9
+ case "xlsx":
10
+ case "csv":
11
+ return "excel.png";
12
+ case "zip":
13
+ return "zip.png";
14
+ default:
15
+ return "zip.png";
16
+ }
17
+ };
18
+
19
+ export { getFileIcon }