@agilemotion/oui-react-js 1.3.8 → 1.3.9

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 (213) hide show
  1. package/README.TXT +1 -0
  2. package/dist/ApplicationContext.js +161 -284
  3. package/dist/BasicApp.js +1 -1
  4. package/dist/BasicAppHome.js +17 -4
  5. package/dist/BusinessPortalApp.js +1 -1
  6. package/dist/BusinessPortalAppHome.js +10 -39
  7. package/dist/DynamicJS.js +20 -52
  8. package/dist/RestUtils.js +83 -108
  9. package/dist/Utils.js +36 -30
  10. package/dist/assets/jss/components/authNavbarStyle.js +34 -35
  11. package/dist/assets/jss/components/cardHeaderStyle.js +12 -12
  12. package/dist/assets/jss/components/customDropdownStyle.js +26 -26
  13. package/dist/assets/jss/components/customInputStyle.js +2 -8
  14. package/dist/assets/jss/components/dropdownStyle.js +10 -15
  15. package/dist/assets/jss/components/footerStyle.js +12 -18
  16. package/dist/assets/jss/components/headerLinksStyle.js +7 -13
  17. package/dist/assets/jss/components/headerStyle.js +24 -25
  18. package/dist/assets/jss/components/navbarLinksStyle.js +7 -13
  19. package/dist/assets/jss/components/navbarStyle.js +24 -25
  20. package/dist/assets/jss/components/sidebarStyle.js +41 -43
  21. package/dist/assets/jss/components/typographyStyle.js +2 -8
  22. package/dist/assets/jss/rootStyle.js +32 -47
  23. package/dist/assets/jss/views/layoutStyle.js +6 -11
  24. package/dist/assets/jss/views/loginStyle.js +4 -10
  25. package/dist/assets/lotties/call-loading.json +1 -0
  26. package/dist/assets/lotties/calling-2.json +1 -0
  27. package/dist/assets/lotties/calling.json +1 -0
  28. package/dist/assets/lotties/calling2.json +1 -0
  29. package/dist/assets/lotties/chat.json +1 -0
  30. package/dist/assets/lotties/join.json +1 -0
  31. package/dist/assets/lotties/loading.json +1 -0
  32. package/dist/assets/lotties/msg2.json +1 -0
  33. package/dist/assets/lotties/recording.json +1 -0
  34. package/dist/assets/lotties/waiting.json +1 -0
  35. package/dist/assets/scss/black-dashboard-react/bootstrap/_card.scss +5 -5
  36. package/dist/assets/scss/black-dashboard-react/bootstrap/_carousel.scss +2 -2
  37. package/dist/assets/scss/black-dashboard-react/bootstrap/_custom-forms.scss +3 -3
  38. package/dist/assets/scss/black-dashboard-react/bootstrap/_functions.scss +1 -1
  39. package/dist/assets/scss/black-dashboard-react/bootstrap/_images.scss +1 -1
  40. package/dist/assets/scss/black-dashboard-react/bootstrap/_jumbotron.scss +1 -1
  41. package/dist/assets/scss/black-dashboard-react/bootstrap/_popover.scss +7 -5
  42. package/dist/assets/scss/black-dashboard-react/bootstrap/_tooltip.scss +4 -4
  43. package/dist/assets/scss/black-dashboard-react/bootstrap/_variables.scss +5 -5
  44. package/dist/assets/scss/black-dashboard-react/bootstrap/mixins/_grid-framework.scss +2 -2
  45. package/dist/assets/scss/black-dashboard-react/bootstrap/mixins/_grid.scss +11 -9
  46. package/dist/assets/scss/black-dashboard-react/bootstrap/utilities/_embed.scss +6 -4
  47. package/dist/assets/scss/black-dashboard-react/custom/_variables.scss +1 -1
  48. package/dist/components/AlertBar.js +39 -80
  49. package/dist/components/AlertItem.js +4 -26
  50. package/dist/components/Button.js +24 -36
  51. package/dist/components/Calendar.js +478 -0
  52. package/dist/components/Calender.css +244 -0
  53. package/dist/components/ConfirmationDialog.js +5 -29
  54. package/dist/components/DataGrid.js +169 -338
  55. package/dist/components/DataGridColumn.js +5 -28
  56. package/dist/components/DataGridFilter.js +46 -114
  57. package/dist/components/DataGridHeading.js +11 -19
  58. package/dist/components/Dialog.js +27 -121
  59. package/dist/components/DocumentViewer.js +8 -34
  60. package/dist/components/DocumentViewerComponent.js +2 -20
  61. package/dist/components/FileThumb.js +115 -0
  62. package/dist/components/Graph.js +25 -75
  63. package/dist/components/GraphNode.js +4 -21
  64. package/dist/components/HtmlPanel.js +59 -78
  65. package/dist/components/Icon.js +99 -1
  66. package/dist/components/LoadingIndicator.js +4 -4
  67. package/dist/components/LottieIcon.js +134 -0
  68. package/dist/components/PopupView.js +2 -20
  69. package/dist/components/RegularButton.js +15 -19
  70. package/dist/components/SignaturePanel.js +9 -40
  71. package/dist/components/SocketManager.js +170 -0
  72. package/dist/components/StepperTitleBar.js +30 -56
  73. package/dist/components/TabPage.js +6 -9
  74. package/dist/components/TabPanel.js +41 -98
  75. package/dist/components/TableCellContent.js +30 -38
  76. package/dist/components/TemplateDesigner.js +107 -151
  77. package/dist/components/TemplateItemEventHandler.js +33 -100
  78. package/dist/components/TemplateTable.js +6 -42
  79. package/dist/components/TitleBar.js +35 -52
  80. package/dist/components/Toolbar.js +33 -179
  81. package/dist/components/Tree.js +27 -64
  82. package/dist/components/card/Card.js +16 -20
  83. package/dist/components/card/CardAvatar.js +9 -13
  84. package/dist/components/card/CardBody.js +13 -17
  85. package/dist/components/card/CardFooter.js +12 -16
  86. package/dist/components/card/CardHeader.js +13 -17
  87. package/dist/components/card/CardIcon.js +6 -10
  88. package/dist/components/card/CardText.js +6 -10
  89. package/dist/components/customInput/CustomInput.js +12 -10
  90. package/dist/components/dashboard/BasicBusinessAppDashboard.js +79 -155
  91. package/dist/components/dashboard/BusinessPortalAppDashboard.js +30 -75
  92. package/dist/components/dashboard/components/Header.js +8 -25
  93. package/dist/components/dashboard/components/LeftDrawer.js +3 -1
  94. package/dist/components/dashboard/components/blackDashboard/fixedPlugin/FixedPlugin.js +1 -1
  95. package/dist/components/dashboard/components/blackDashboard/sidebar/Sidebar.js +138 -30
  96. package/dist/components/footer/Footer.js +6 -18
  97. package/dist/components/form/AddressSearch.js +32 -66
  98. package/dist/components/form/AutoComplete.js +160 -0
  99. package/dist/components/form/BaseField.js +66 -96
  100. package/dist/components/form/DatePicker.js +3 -21
  101. package/dist/components/form/FieldSet.js +158 -180
  102. package/dist/components/form/Form.css +1 -1
  103. package/dist/components/form/Form.js +137 -471
  104. package/dist/components/form/GridField.js +46 -146
  105. package/dist/components/form/IconField.js +35 -0
  106. package/dist/components/form/ImageEditor.js +19 -57
  107. package/dist/components/form/LookupField.js +8 -29
  108. package/dist/components/form/MultiFileUploadField.js +186 -0
  109. package/dist/components/form/RadioGroup.js +1 -16
  110. package/dist/components/form/Section.js +31 -92
  111. package/dist/components/form/SelectItem.js +14 -33
  112. package/dist/components/form/SignatureTemplateDesignerField.js +0 -1
  113. package/dist/components/form/Switch.js +53 -0
  114. package/dist/components/form/TextField.js +10 -17
  115. package/dist/components/form/TimePicker.js +7 -1
  116. package/dist/components/form/TransferList.css +2 -2
  117. package/dist/components/form/TransferList.js +67 -125
  118. package/dist/components/form/UploadField.js +27 -79
  119. package/dist/components/form/fieldset.css +8 -0
  120. package/dist/components/grid/GridContainer.js +5 -9
  121. package/dist/components/grid/GridItem.js +5 -9
  122. package/dist/components/layout/CollapsiblePanel.js +11 -33
  123. package/dist/components/layout/Layout.js +175 -290
  124. package/dist/components/layout/VC.css +17 -0
  125. package/dist/components/layout/View.css +17 -1
  126. package/dist/components/layout/View.js +77 -194
  127. package/dist/components/loader.css +1 -1
  128. package/dist/components/media/ClosablePanel.css +37 -0
  129. package/dist/components/media/ClosablePanel.js +53 -0
  130. package/dist/components/media/LobbyWaitingList.js +91 -0
  131. package/dist/components/media/MediaSoupHelper.js +223 -0
  132. package/dist/components/media/Recorder.js +235 -0
  133. package/dist/components/media/SideBarContent.css +54 -0
  134. package/dist/components/media/SideBarContent.js +46 -0
  135. package/dist/components/media/SocketRequest.js +20 -0
  136. package/dist/components/media/SocketResponse.js +16 -0
  137. package/dist/components/media/Timer.css +30 -0
  138. package/dist/components/media/Timer.js +88 -0
  139. package/dist/components/media/Toolbar.css +20 -0
  140. package/dist/components/media/Toolbar.js +470 -0
  141. package/dist/components/media/Tracks.js +39 -0
  142. package/dist/components/media/TrainingRoom.js +531 -0
  143. package/dist/components/media/Transports.js +35 -0
  144. package/dist/components/media/VCEventManager.js +74 -0
  145. package/dist/components/media/VCEventType.js +164 -0
  146. package/dist/components/media/VCParticipantList.css +72 -0
  147. package/dist/components/media/VCParticipantList.js +56 -0
  148. package/dist/components/media/VCParticipantListItem.css +73 -0
  149. package/dist/components/media/VCParticipantListItem.js +319 -0
  150. package/dist/components/media/VCRoom.css +42 -0
  151. package/dist/components/media/VCRoom.js +90 -0
  152. package/dist/components/media/VCRoomParticipant.css +25 -0
  153. package/dist/components/media/VCRoomParticipant.js +806 -0
  154. package/dist/components/media/VCRoomWorkspace.css +86 -0
  155. package/dist/components/media/VCRoomWorkspace.js +653 -0
  156. package/dist/components/media/Video.css +4 -0
  157. package/dist/components/media/Video.js +131 -0
  158. package/dist/components/media/chat/ChatRoom.js +926 -0
  159. package/dist/components/media/chat/ChatRoomItem.js +83 -0
  160. package/dist/components/media/chat/ChatRoomList.js +78 -0
  161. package/dist/components/media/chat/ChatRooms.scss +567 -0
  162. package/dist/components/menu/CollapsibleMenu.js +2 -19
  163. package/dist/components/menu/MenuBars.js +6 -33
  164. package/dist/components/menu/MenuButton.js +7 -35
  165. package/dist/components/menu/MenuItem.js +3 -20
  166. package/dist/components/menu/MenuLink.js +18 -12
  167. package/dist/components/navbars/AuthNavbar.js +5 -18
  168. package/dist/components/navbars/HomeNavbar.js +3 -5
  169. package/dist/components/navbars/PortalNavbar.js +4 -22
  170. package/dist/components/signatures/AgilitySignaturePanel.js +35 -101
  171. package/dist/components/signatures/AlertItem.js +3 -24
  172. package/dist/components/signatures/DocumentContainer.js +47 -134
  173. package/dist/components/signatures/ImageSignatureInput.js +8 -35
  174. package/dist/components/signatures/MenuButton.js +1 -16
  175. package/dist/components/signatures/Prompt.js +3 -24
  176. package/dist/components/signatures/ResponsiveTable.js +42 -83
  177. package/dist/components/signatures/SearchView.js +13 -50
  178. package/dist/components/signatures/SignatorySearch.js +83 -99
  179. package/dist/components/signatures/SignatorySearchForm.js +11 -17
  180. package/dist/components/signatures/SignatureInput.js +15 -44
  181. package/dist/components/signatures/SignatureInputProps.js +18 -60
  182. package/dist/components/signatures/SignatureTemplateDesigner.js +147 -235
  183. package/dist/components/signatures/Toolbar.js +7 -34
  184. package/dist/components/signatures/ViewUtils.js +2 -6
  185. package/dist/components/typography/Danger.js +3 -1
  186. package/dist/components/typography/Info.js +3 -1
  187. package/dist/components/typography/Link.js +6 -2
  188. package/dist/event/ActionHandlers.js +3 -3
  189. package/dist/event/EventType.js +7 -1
  190. package/dist/event/LoadDataActionHandler.js +1 -1
  191. package/dist/event/Observable.js +56 -168
  192. package/dist/event/RouteActionHandler.js +45 -11
  193. package/dist/event/ServiceCallActionHandler.js +34 -24
  194. package/dist/js/Addresses.js +10 -8
  195. package/dist/js/Media.js +157 -0
  196. package/dist/redux/store/ConfigureStore.js +3 -9
  197. package/dist/redux/store/DashboardStore.js +42 -94
  198. package/dist/redux/store/SecurityStore.js +15 -50
  199. package/dist/view/Dashboard.js +242 -163
  200. package/dist/view/security/ChangePasswordBasic.js +23 -76
  201. package/dist/view/security/ForgotPassword.js +9 -42
  202. package/dist/view/security/ForgotPasswordBasic.js +8 -41
  203. package/dist/view/security/Login.js +11 -47
  204. package/dist/view/security/LoginBasic.js +8 -41
  205. package/dist/view/security/LoginBusinessPortal.js +8 -41
  206. package/dist/view/security/ResetPassword.js +9 -47
  207. package/dist/view/security/ResetPasswordBasic.js +21 -71
  208. package/dist/view/security/Security.js +1 -0
  209. package/package.json +29 -13
  210. package/README.md +0 -1623
  211. package/dist/components/dashboard/BasicApp.js +0 -140
  212. package/dist/components/navbars/NavbarLinks.js +0 -212
  213. package/dist/components/signatures/OLD.js +0 -1138
@@ -0,0 +1,478 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.default = void 0;
7
+
8
+ var _react = _interopRequireWildcard(require("react"));
9
+
10
+ var _Utils = _interopRequireDefault(require("../Utils"));
11
+
12
+ var _Observable = _interopRequireDefault(require("../event/Observable"));
13
+
14
+ var _react2 = _interopRequireDefault(require("@fullcalendar/react"));
15
+
16
+ var _list = _interopRequireDefault(require("@fullcalendar/list"));
17
+
18
+ var _rrule = _interopRequireDefault(require("@fullcalendar/rrule"));
19
+
20
+ var _daygrid = _interopRequireDefault(require("@fullcalendar/daygrid"));
21
+
22
+ var _timegrid = _interopRequireDefault(require("@fullcalendar/timegrid"));
23
+
24
+ var _interaction = _interopRequireDefault(require("@fullcalendar/interaction"));
25
+
26
+ require("./Calender.css");
27
+
28
+ var _moment = _interopRequireDefault(require("moment"));
29
+
30
+ var _reactHotToast = _interopRequireDefault(require("react-hot-toast"));
31
+
32
+ var _Event = _interopRequireDefault(require("../event/Event"));
33
+
34
+ var _EventType = _interopRequireDefault(require("../event/EventType"));
35
+
36
+ var _ApplicationContext = _interopRequireDefault(require("../ApplicationContext"));
37
+
38
+ var _Dialog = _interopRequireDefault(require("@material-ui/core/Dialog"));
39
+
40
+ var _withStyles = _interopRequireDefault(require("@material-ui/core/styles/withStyles"));
41
+
42
+ var _IconButton = _interopRequireDefault(require("@material-ui/core/IconButton"));
43
+
44
+ var _Icon = _interopRequireDefault(require("./Icon"));
45
+
46
+ var _Button = _interopRequireDefault(require("@material-ui/core/Button"));
47
+
48
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
49
+
50
+ function _getRequireWildcardCache() { if (typeof WeakMap !== "function") return null; var cache = new WeakMap(); _getRequireWildcardCache = function () { return cache; }; return cache; }
51
+
52
+ function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
53
+
54
+ function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
55
+
56
+ const eventTemplate = {
57
+ id: '',
58
+ title: '',
59
+ start: '',
60
+ end: '',
61
+ allDay: false,
62
+ extendedProps: {
63
+ description: '',
64
+ attendees: [{
65
+ id: '',
66
+ identifier: '',
67
+ name: '',
68
+ optional: false
69
+ }],
70
+ schedule: {
71
+ id: '',
72
+ startDate: '',
73
+ endDate: '',
74
+ startTime: '',
75
+ endTime: ''
76
+ },
77
+ locations: [{
78
+ id: '',
79
+ name: ''
80
+ }]
81
+ }
82
+ };
83
+
84
+ const status = response => {
85
+ if (response.ok) {
86
+ return Promise.resolve(response);
87
+ } else {
88
+ let error = new Error(response.statusText);
89
+ error.code = response.status;
90
+ return Promise.reject(error);
91
+ }
92
+ };
93
+
94
+ const json = response => {
95
+ return response.text();
96
+ };
97
+
98
+ const location = window.location.protocol + "//" + window.location.hostname;
99
+
100
+ const Calendar = /*#__PURE__*/_react.default.memo( /*#__PURE__*/_react.default.forwardRef((props, ref) => {
101
+ const {
102
+ isRtl
103
+ } = props;
104
+ const [events, setEvents] = (0, _react.useState)([]);
105
+ const [loading, setLoading] = (0, _react.useState)(true);
106
+ const [open, setOpen] = (0, _react.useState)(false);
107
+ const [selectedEvent, setSelectedEvent] = (0, _react.useState)(null);
108
+ const calendarRef = (0, _react.useRef)(null);
109
+ const dialogRef = (0, _react.useRef)(null);
110
+ const [dialogTop, setDialogTop] = (0, _react.useState)(null);
111
+ const [dialogLeft, setDialogLeft] = (0, _react.useState)(null);
112
+ const StyledDialog = (0, _withStyles.default)({
113
+ root: {
114
+ pointerEvents: "none"
115
+ },
116
+ paper: {
117
+ pointerEvents: 'auto',
118
+ width: '400px',
119
+ height: '228px',
120
+ minWidth: '400px',
121
+ padding: '0',
122
+ overflow: 'hidden',
123
+ position: 'absolute',
124
+ top: dialogTop,
125
+ left: dialogLeft,
126
+ borderRadius: '4px'
127
+ }
128
+ })(props => /*#__PURE__*/_react.default.createElement(_Dialog.default, _extends({
129
+ hideBackdrop: true
130
+ }, props)));
131
+
132
+ const loadEvents = (track = true) => {
133
+ fetch(encodeURI(location + _ApplicationContext.default.getContextRoot() + '/calendar/api/v1/event/list'), {
134
+ method: 'GET',
135
+ headers: {
136
+ 'Accept': 'application/json',
137
+ 'Content-Type': 'application/json',
138
+ 'Authorization': 'Bearer ' + sessionStorage.getItem("accessToken"),
139
+ 'idToken': sessionStorage.getItem("idToken")
140
+ }
141
+ }).then(status).then(json).then(response => {
142
+ setEvents(JSON.parse(response));
143
+ }).catch(ignored => {});
144
+ };
145
+
146
+ (0, _react.useEffect)(() => {
147
+ loadEvents();
148
+ }, []);
149
+
150
+ const calenderScrollListener = () => {
151
+ setOpen(false);
152
+ };
153
+
154
+ const calendarOptions = {
155
+ events: events,
156
+ plugins: [_interaction.default, _daygrid.default, _timegrid.default, _list.default, _rrule.default],
157
+ initialView: 'dayGridMonth',
158
+ headerToolbar: {
159
+ start: 'sidebarToggle, prev,next, title',
160
+ end: 'dayGridMonth,timeGridWeek,timeGridDay,listMonth'
161
+ },
162
+
163
+ /*
164
+ Enable dragging and resizing event
165
+ ? Docs: https://fullcalendar.io/docs/editable
166
+ */
167
+ editable: true,
168
+ height: '100%',
169
+ stickyHeaderDates: true,
170
+ eventTimeFormat: {
171
+ // like '14:30:00'
172
+ hour: "2-digit",
173
+ minute: "2-digit",
174
+ hour12: false
175
+ },
176
+
177
+ /*
178
+ Enable resizing event from start
179
+ ? Docs: https://fullcalendar.io/docs/eventResizableFromStart
180
+ */
181
+ eventResizableFromStart: true,
182
+
183
+ /*
184
+ Automatically scroll the scroll-containers during event drag-and-drop and date selecting
185
+ ? Docs: https://fullcalendar.io/docs/dragScroll
186
+ */
187
+ dragScroll: true,
188
+
189
+ /*
190
+ Max number of events within a given day
191
+ ? Docs: https://fullcalendar.io/docs/dayMaxEvents
192
+ */
193
+ dayMaxEvents: 2,
194
+
195
+ /*
196
+ Determines if day names and week names are clickable
197
+ ? Docs: https://fullcalendar.io/docs/navLinks
198
+ */
199
+ navLinks: true,
200
+
201
+ eventClassNames({
202
+ event: calendarEvent
203
+ }) {
204
+ // eslint-disable-next-line no-underscore-dangle
205
+ const colorName = '#945c33';
206
+ return ["bg-light-".concat(colorName)];
207
+ },
208
+
209
+ viewDidMount() {
210
+ setOpen(false);
211
+ },
212
+
213
+ eventClick({
214
+ el: el,
215
+ event: event
216
+ }) {
217
+ // * Only grab required field otherwise it goes in infinity loop
218
+ // ! Always grab all fields rendered by form (even if it get `undefined`) otherwise due to Vue3/Composition API you might get: "object is not extensible"
219
+ // event.value = grabEventDataFromEventApi(clickedEvent)
220
+ // eslint-disable-next-line no-use-before-define
221
+ // isAddNewEventSidebarActive.value = true
222
+ setOpen(true);
223
+ var rect = el.getBoundingClientRect();
224
+ let topOffset = rect.bottom + 250 > document.body.getBoundingClientRect().bottom ? -1 * (rect.bottom + 250 - document.body.getBoundingClientRect().bottom) : 8;
225
+ let leftOffset = rect.right + 400 > document.body.getBoundingClientRect().right ? rect.right + 400 - document.body.getBoundingClientRect().right : 64;
226
+ setDialogTop(rect.top + topOffset + 'px');
227
+ setDialogLeft(rect.left - leftOffset + 'px');
228
+ setSelectedEvent(event);
229
+ let elementsByClassName = document.getElementsByClassName('fc-scroller-liquid-absolute');
230
+
231
+ if (elementsByClassName && elementsByClassName.length > 0) {
232
+ elementsByClassName[0].removeEventListener("scroll", calenderScrollListener);
233
+ elementsByClassName[0].addEventListener('scroll', calenderScrollListener);
234
+ }
235
+
236
+ elementsByClassName = document.getElementsByClassName('fc-scroller-liquid');
237
+
238
+ if (elementsByClassName && elementsByClassName.length > 0) {
239
+ elementsByClassName[0].removeEventListener("scroll", calenderScrollListener);
240
+ elementsByClassName[0].addEventListener('scroll', calenderScrollListener);
241
+ }
242
+ },
243
+
244
+ dateClick(info) {
245
+ let date = new Date(info.dateStr);
246
+ let timeDate = new Date();
247
+ let startTime = (0, _moment.default)(info.dateStr, 'ddd MMM D YYYY HH:mm:ss ZZ');
248
+ timeDate.setHours(timeDate.getHours() + 1);
249
+ startTime.set({
250
+ h: timeDate.getHours(),
251
+ m: 0
252
+ });
253
+ let endTime = (0, _moment.default)(info.dateStr, 'ddd MMM D YYYY HH:mm:ss ZZ');
254
+ timeDate.setHours(timeDate.getHours() + 1);
255
+ endTime.set({
256
+ h: timeDate.getHours(),
257
+ m: 0
258
+ });
259
+ const calendarEvent = { ...eventTemplate,
260
+ schedule: {
261
+ startDate: date,
262
+ endDate: date,
263
+ startTime: startTime.toDate(),
264
+ endTime: endTime.toDate(),
265
+ recurringStartDate: date,
266
+ recurringEndDate: date
267
+ },
268
+ eventType: _Utils.default.getComponentAttribute(props.config, 'eventType', 'TRAINING')
269
+ };
270
+
271
+ if (_Utils.default.isStringEmpty(calendarEvent.id)) {
272
+ calendarEvent.id = null;
273
+ }
274
+
275
+ if (!open && (0, _moment.default)(new Date()).startOf('day') <= (0, _moment.default)(date).startOf('day')) {
276
+ console.log("CALENDAR DATE CLICK");
277
+ let event = new _Event.default(props.handle, props.viewId, calendarEvent);
278
+
279
+ _Observable.default.fireEvent(_EventType.default.CALENDAR_DATE_CLICK, event);
280
+ }
281
+ },
282
+
283
+ /*
284
+ Handle event drop (Also include dragged event)
285
+ ? Docs: https://fullcalendar.io/docs/eventDrop
286
+ ? We can use `eventDragStop` but it doesn't return updated event so we have to use `eventDrop` which returns updated event
287
+ */
288
+ eventDrop({
289
+ event: droppedEvent
290
+ }) {
291
+ //dispatch(updateEvent(droppedEvent));
292
+ _reactHotToast.default.success('Event Updated');
293
+ },
294
+
295
+ /*
296
+ Handle event resize
297
+ ? Docs: https://fullcalendar.io/docs/eventResize
298
+ */
299
+ eventResize({
300
+ event: resizedEvent
301
+ }) {
302
+ //dispatch(updateEvent(resizedEvent));
303
+ _reactHotToast.default.success('Event Updated');
304
+ },
305
+
306
+ /*
307
+ Handle event mouse enter
308
+ ? Docs: https://fullcalendar.io/docs/eventMouseEnter
309
+ */
310
+ eventMouseEnter({
311
+ el: el,
312
+ event: event
313
+ }) {},
314
+
315
+ /*
316
+ Handle event mouse enter
317
+ ? Docs: https://fullcalendar.io/docs/eventMouseEnter
318
+ */
319
+ eventMouseLeave({
320
+ el: el
321
+ }) {},
322
+
323
+ ref: calendarRef,
324
+ // Get direction from app state (store)
325
+ direction: isRtl ? 'rtl' : 'ltr'
326
+ };
327
+
328
+ _react.default.useEffect(() => {
329
+ props.handle.api = api();
330
+
331
+ let parsedConfig = _Utils.default.parseConfig(props.config, props.viewId);
332
+
333
+ let eventHandlingConfig = _Utils.default.isNull(parsedConfig.eventHandlingConfig) ? {} : parsedConfig.eventHandlingConfig;
334
+ eventHandlingConfig.subscriptions = _Utils.default.isNull(eventHandlingConfig.subscriptions) ? [] : eventHandlingConfig.subscriptions;
335
+
336
+ _Observable.default.addSubscriptions(eventHandlingConfig, props.handle, props.viewId);
337
+
338
+ _Observable.default.addSystemSubscriptions(parsedConfig);
339
+ }, []);
340
+
341
+ const toDateTimeString = date => {
342
+ let dateStr = selectedEvent.start.toLocaleDateString();
343
+ let timeStrTokens = selectedEvent.start.toLocaleTimeString().split(':');
344
+ return dateStr + ' ' + timeStrTokens[0] + ':' + timeStrTokens[1];
345
+ };
346
+
347
+ const getEndDate = event => {
348
+ if (event.end) {
349
+ return new Date(event.end);
350
+ } else if (event.extendedProps.schedule.rrule) {
351
+ let startDate = new Date(event.start);
352
+ return (0, _moment.default)(startDate).add("minutes", event.extendedProps.duration).toDate();
353
+ }
354
+
355
+ new Date();
356
+ };
357
+
358
+ const getFormObject = event => {
359
+ let end = getEndDate(event);
360
+ return {
361
+ id: event.id,
362
+ title: event.title,
363
+ locations: event.extendedProps.locations,
364
+ description: event.extendedProps.description,
365
+ status: event.extendedProps.status,
366
+ host: event.extendedProps.host,
367
+ attendees: event.extendedProps.attendees,
368
+ privacyType: event.extendedProps.privacyType,
369
+ documents: event.extendedProps.documents,
370
+ schedule: {
371
+ startDate: event.start,
372
+ startTime: event.start,
373
+ endDate: end,
374
+ endTime: end,
375
+ scheduleId: event.extendedProps.schedule.id,
376
+ recurringFreq: event.extendedProps.schedule.rrule.freq,
377
+ recurringInterval: event.extendedProps.schedule.rrule.interval,
378
+ recurringDtstart: new Date(event.extendedProps.schedule.rrule.dtstart),
379
+ recurringUntil: new Date(event.extendedProps.schedule.rrule.until),
380
+ recurringByweekday: event.extendedProps.schedule.rrule.byweekday,
381
+ recurringBysetpos: event.extendedProps.schedule.rrule.bysetpos,
382
+ recurringBymonthday: event.extendedProps.schedule.rrule.bymonthday
383
+ },
384
+ askToJoin: _Utils.default.isNull(event.extendedProps.askToJoin) ? false : event.extendedProps.askToJoin
385
+ };
386
+ };
387
+
388
+ const api = () => {
389
+ return {
390
+ get id() {
391
+ return props.config.id;
392
+ },
393
+
394
+ getChildren: () => {
395
+ return [];
396
+ }
397
+ };
398
+ };
399
+
400
+ const createEventPopup = el => {
401
+ return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, selectedEvent && /*#__PURE__*/_react.default.createElement("div", {
402
+ className: 'event-popup'
403
+ }, /*#__PURE__*/_react.default.createElement("div", {
404
+ className: 'top-toolbar row no-padding no-margin'
405
+ }, /*#__PURE__*/_react.default.createElement("div", {
406
+ className: 'left col no-padding no-margin'
407
+ }, /*#__PURE__*/_react.default.createElement(_IconButton.default, {
408
+ onClick: () => setOpen(false)
409
+ }, /*#__PURE__*/_react.default.createElement(_Icon.default, {
410
+ id: 'CLOSE',
411
+ color: '#01476C'
412
+ }))), /*#__PURE__*/_react.default.createElement("div", {
413
+ className: 'right col no-padding no-margin'
414
+ }, /*#__PURE__*/_react.default.createElement(_IconButton.default, {
415
+ onClick: () => {
416
+ console.log("SELECTED EVENT : ", getFormObject(selectedEvent));
417
+ let event = new _Event.default(props.handle, props.viewId, getFormObject(selectedEvent));
418
+
419
+ _Observable.default.fireEvent(_EventType.default.CALENDAR_DATE_CLICK, event);
420
+ }
421
+ }, /*#__PURE__*/_react.default.createElement(_Icon.default, {
422
+ id: 'MAXIMIZE',
423
+ color: '#01476C'
424
+ })))), /*#__PURE__*/_react.default.createElement("div", {
425
+ className: 'summary'
426
+ }, /*#__PURE__*/_react.default.createElement("div", {
427
+ className: 'modal-title'
428
+ }, selectedEvent.title), /*#__PURE__*/_react.default.createElement("div", null, toDateTimeString(selectedEvent.start)), /*#__PURE__*/_react.default.createElement("div", {
429
+ className: 'organiser'
430
+ }, "Organiser: ", selectedEvent.extendedProps.host.name), /*#__PURE__*/_react.default.createElement("div", {
431
+ style: {
432
+ marginTop: '16px'
433
+ }
434
+ }, /*#__PURE__*/_react.default.createElement(_Button.default, {
435
+ variant: 'contained',
436
+ size: "large",
437
+ color: "primary",
438
+ style: {
439
+ color: '#ffffff',
440
+ borderRadius: '4px',
441
+ marginRight: '2px'
442
+ },
443
+ onClick: e => {
444
+ let event = new _Event.default(props.handle, props.viewId, getFormObject(selectedEvent));
445
+
446
+ _Observable.default.fireEvent(_EventType.default.CALENDAR_EVENT_START, event);
447
+ }
448
+ }, "JOIN")))));
449
+ };
450
+
451
+ return /*#__PURE__*/_react.default.createElement("div", {
452
+ className: props.className,
453
+ ref: ref,
454
+ style: _Utils.default.mergeStyles({
455
+ padding: '16px 0',
456
+ margin: '0',
457
+ overflow: 'auto',
458
+ width: '100%',
459
+ height: '100%',
460
+ maxHeight: '100%'
461
+ }, props.config)
462
+ }, /*#__PURE__*/_react.default.createElement(_react2.default, calendarOptions), ' ', /*#__PURE__*/_react.default.createElement(StyledDialog, {
463
+ open: open,
464
+ ref: dialogRef,
465
+ onClose: () => {
466
+ setOpen(false);
467
+ },
468
+ "aria-labelledby": "alert-dialog-title",
469
+ "aria-describedby": "alert-dialog-description",
470
+ "aria-modal": false,
471
+ fullWidth: true
472
+ }, /*#__PURE__*/_react.default.createElement("div", {
473
+ className: 'w-100 h-100'
474
+ }, createEventPopup())));
475
+ }));
476
+
477
+ var _default = Calendar;
478
+ exports.default = _default;