@agilemotion/oui-react-js 1.8.55 → 1.8.57

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 (186) hide show
  1. package/dist/ApplicationManager.js +446 -472
  2. package/dist/BasicApp.js +30 -0
  3. package/dist/BasicAppHome.js +2 -3
  4. package/dist/DateUtils.js +2 -2
  5. package/dist/DynamicJS.js +94 -101
  6. package/dist/InteractionPortalAppHome.js +1 -1
  7. package/dist/InteractionPortalApp_old.js +1 -2
  8. package/dist/MouseTracker.js +23 -0
  9. package/dist/RestService.js +13 -11
  10. package/dist/RestUtils.js +1 -1
  11. package/dist/TypedValue.js +15 -14
  12. package/dist/Utils.js +121 -114
  13. package/dist/ViewContext.js +152 -159
  14. package/dist/assets/jss/components/authNavbarStyle.js +34 -37
  15. package/dist/assets/jss/components/cardHeaderStyle.js +11 -18
  16. package/dist/assets/jss/components/customDropdownStyle.js +25 -27
  17. package/dist/assets/jss/components/customInputStyle.js +7 -3
  18. package/dist/assets/jss/components/dropdownStyle.js +14 -11
  19. package/dist/assets/jss/components/footerStyle.js +17 -12
  20. package/dist/assets/jss/components/headerLinksStyle.js +12 -9
  21. package/dist/assets/jss/components/headerStyle.js +24 -26
  22. package/dist/assets/jss/components/navbarLinksStyle.js +12 -9
  23. package/dist/assets/jss/components/navbarStyle.js +24 -26
  24. package/dist/assets/jss/components/sidebarStyle.js +42 -42
  25. package/dist/assets/jss/components/typographyStyle.js +7 -3
  26. package/dist/assets/jss/rootStyle.js +30 -34
  27. package/dist/assets/jss/views/layoutStyle.js +12 -9
  28. package/dist/assets/jss/views/loginStyle.js +9 -6
  29. package/dist/components/AlertBar.js +1 -1
  30. package/dist/components/Button.js +18 -11
  31. package/dist/components/Calendar.js +9 -6
  32. package/dist/components/Chart.js +1 -1
  33. package/dist/components/DataGrid.css +10 -1
  34. package/dist/components/DataGrid.js +115 -56
  35. package/dist/components/DataGridColumn.js +2 -1
  36. package/dist/components/DocumentTemplateDesignerComponent.js +7 -7
  37. package/dist/components/DocumentTemplateDesignerComponent2.js +3 -4
  38. package/dist/components/DocumentTemplatePlaceholderDialog.js +3 -4
  39. package/dist/components/DocumentViewer.js +15 -5
  40. package/dist/components/ElementResizeHandler.js +177 -174
  41. package/dist/components/FaceApi.js +2 -2
  42. package/dist/components/FileThumb.js +5 -5
  43. package/dist/components/Graph.js +77 -74
  44. package/dist/components/GraphNode.js +39 -36
  45. package/dist/components/HtmlPanel.js +2 -1
  46. package/dist/components/Icon.js +1 -2
  47. package/dist/components/PDFViewer.js +2 -3
  48. package/dist/components/PopupView.js +1 -1
  49. package/dist/components/Portlet.js +3 -2
  50. package/dist/components/RegularButton.js +17 -14
  51. package/dist/components/SocketManager.js +97 -94
  52. package/dist/components/StepperTitleBar.js +7 -6
  53. package/dist/components/TabPage.js +10 -7
  54. package/dist/components/TabPanel.js +11 -6
  55. package/dist/components/TableCellContent.js +15 -11
  56. package/dist/components/TemplateDesigner.js +2 -2
  57. package/dist/components/TemplateItemEventHandler.js +232 -228
  58. package/dist/components/TemplateTable.js +32 -29
  59. package/dist/components/TitleBar.js +2 -2
  60. package/dist/components/Toolbar.js +17 -10
  61. package/dist/components/Tree.js +3 -3
  62. package/dist/components/WordDocumentViewer.css +1 -0
  63. package/dist/components/WordDocumentViewer.js +205 -14
  64. package/dist/components/card/Card.js +18 -15
  65. package/dist/components/card/CardAvatar.js +11 -8
  66. package/dist/components/card/CardBody.js +16 -13
  67. package/dist/components/card/CardFooter.js +15 -12
  68. package/dist/components/card/CardHeader.js +16 -13
  69. package/dist/components/card/CardIcon.js +9 -6
  70. package/dist/components/card/CardText.js +9 -6
  71. package/dist/components/customInput/File.js +4 -5
  72. package/dist/components/dashboard/FoldingSideTabDashboard.bck.js +1 -1
  73. package/dist/components/dashboard/FoldingSideTabDashboard.js +2 -3
  74. package/dist/components/dashboard/components/Header.js +6 -4
  75. package/dist/components/dashboard/components/LeftDrawer.js +2 -2
  76. package/dist/components/dashboard/components/blackDashboard/fixedPlugin/FixedPlugin.js +26 -28
  77. package/dist/components/dashboard/components/blackDashboard/sidebar/FoldingTabSidebar.bck.js +182 -188
  78. package/dist/components/dashboard/components/blackDashboard/sidebar/FoldingTabSidebar.js +27 -30
  79. package/dist/components/dashboard/components/blackDashboard/sidebar/ModuleMenuSidebar.js +12 -14
  80. package/dist/components/drag-spec-design.json +15 -0
  81. package/dist/components/facialRecognition/FaceRecognitionComponent.js +10 -11
  82. package/dist/components/facialRecognition/service/faceApi.js +3 -3
  83. package/dist/components/form/AddressSearch.js +8 -5
  84. package/dist/components/form/AutoComplete.js +4 -4
  85. package/dist/components/form/BaseField.js +3 -2
  86. package/dist/components/form/CurrencyField.js +9 -9
  87. package/dist/components/form/DatePicker.js +3 -2
  88. package/dist/components/form/FieldSet.js +2 -1
  89. package/dist/components/form/Form.css +1 -1
  90. package/dist/components/form/Form.js +10 -7
  91. package/dist/components/form/GridField.js +6 -4
  92. package/dist/components/form/IconField.js +2 -1
  93. package/dist/components/form/ImageEditor.js +13 -8
  94. package/dist/components/form/LookupField.js +8 -7
  95. package/dist/components/form/MultiFileUploadField.js +14 -8
  96. package/dist/components/form/SelectItem.js +7 -6
  97. package/dist/components/form/TextField.js +6 -6
  98. package/dist/components/form/TimePicker.js +3 -2
  99. package/dist/components/form/TransferList.js +2 -2
  100. package/dist/components/form/UploadField.js +5 -5
  101. package/dist/components/grid/GridContainer.js +7 -4
  102. package/dist/components/grid/GridItem.js +7 -4
  103. package/dist/components/layout/CollapsiblePanel.js +7 -5
  104. package/dist/components/layout/Layout.js +5 -5
  105. package/dist/components/layout/View.js +6 -5
  106. package/dist/components/layout/ViewContainer.js +1 -2
  107. package/dist/components/layout/ViewPort.js +1 -1
  108. package/dist/components/layout/Window.js +2 -3
  109. package/dist/components/layout/WindowDialog.js +9 -7
  110. package/dist/components/layout/WindowViewPort.js +3 -3
  111. package/dist/components/media/Chat.js +2 -1
  112. package/dist/components/media/MediaSoupHelper.js +57 -53
  113. package/dist/components/media/SocketRequest.js +9 -7
  114. package/dist/components/media/SocketResponse.js +7 -5
  115. package/dist/components/media/Timer.js +1 -2
  116. package/dist/components/media/Toolbar.js +3 -3
  117. package/dist/components/media/ToolbarButton.js +3 -3
  118. package/dist/components/media/Toolbar_bck.js +3 -3
  119. package/dist/components/media/Tracks.js +24 -19
  120. package/dist/components/media/TrainingRoom.js +3 -4
  121. package/dist/components/media/Transports.js +21 -17
  122. package/dist/components/media/VCEventManager.js +25 -24
  123. package/dist/components/media/VCEventType.js +81 -79
  124. package/dist/components/media/VCParticipantList.js +1 -2
  125. package/dist/components/media/VCParticipantListItem.js +2 -3
  126. package/dist/components/media/VCRoomParticipant.js +4 -5
  127. package/dist/components/media/VCRoomRecorder.js +163 -160
  128. package/dist/components/media/VCRoomWorkspace.js +3 -4
  129. package/dist/components/media/Video.js +1 -2
  130. package/dist/components/media/VideoPlayer.js +1 -2
  131. package/dist/components/media/chat/ChatPoll.js +15 -15
  132. package/dist/components/media/chat/ChatRoom.js +15 -15
  133. package/dist/components/media/chat/ChatRoomItem.js +2 -3
  134. package/dist/components/media/chat/ChatRoomList.js +1 -2
  135. package/dist/components/media/chat/ChatRoomWrapper.js +1 -1
  136. package/dist/components/media/chat/PollContainer.js +14 -8
  137. package/dist/components/media/chat/PollResult.js +1 -2
  138. package/dist/components/menu/MenuBars.js +8 -5
  139. package/dist/components/menu/MenuButton.js +11 -5
  140. package/dist/components/menu/MenuItem.js +13 -6
  141. package/dist/components/menu/MenuLink.js +2 -1
  142. package/dist/components/navbars/HomeNavbar.js +43 -41
  143. package/dist/components/navbars/PortalNavbar.js +1 -2
  144. package/dist/components/signatures/AgilitySignaturePanel.js +39 -15
  145. package/dist/components/signatures/{DocumentContainer.js → HtmlSignatureDocumentContainer.js} +4 -4
  146. package/dist/components/signatures/ImageSignatureInput.js +27 -16
  147. package/dist/components/signatures/ResponsiveTable.js +1 -1
  148. package/dist/components/signatures/SearchView.js +1 -1
  149. package/dist/components/signatures/SignatureInput.js +42 -98
  150. package/dist/components/signatures/SignatureInputProps.js +1 -1
  151. package/dist/components/signatures/SignatureTemplateDesigner.js +13 -10
  152. package/dist/components/signatures/Toolbar.js +7 -3
  153. package/dist/components/signatures/ViewUtils.js +21 -16
  154. package/dist/event/ActionHandlers.js +10 -7
  155. package/dist/event/Event.js +15 -13
  156. package/dist/event/EventListener.js +39 -41
  157. package/dist/event/EventType.js +24 -19
  158. package/dist/event/Observable.js +120 -125
  159. package/dist/event/RouteActionHandler.js +4 -4
  160. package/dist/event/ScriptActionHandler.js +1 -1
  161. package/dist/event/ServiceCallActionHandler.js +1 -1
  162. package/dist/interaction/CursorOverlay.js +48 -0
  163. package/dist/interaction/DragContext.js +39 -0
  164. package/dist/interaction/GrabContext.js +40 -0
  165. package/dist/js/Addresses.js +9 -8
  166. package/dist/js/Calendar.js +152 -149
  167. package/dist/js/Docs.js +92 -87
  168. package/dist/js/DynamicLib.js +9 -6
  169. package/dist/js/Media.js +134 -131
  170. package/dist/js/ProcurementMeetings.js +81 -78
  171. package/dist/js/Validators.js +53 -50
  172. package/dist/js/Windows.js +35 -32
  173. package/dist/redux/store/ConfigureStore.js +8 -5
  174. package/dist/redux/store/DashboardStore.js +13 -12
  175. package/dist/redux/store/SecurityStore.js +9 -6
  176. package/dist/security/TokenManager.js +1 -1
  177. package/dist/view/Dashboard.js +11 -12
  178. package/dist/view/security/ForgotPassword.js +3 -3
  179. package/dist/view/security/ForgotPasswordBasic.js +1 -1
  180. package/dist/view/security/Login.js +4 -4
  181. package/dist/view/security/LoginBasic.js +2 -2
  182. package/dist/view/security/LoginInteractionPortal.js +2 -2
  183. package/dist/view/security/ResetPassword.js +1 -1
  184. package/dist/view/security/ResetPasswordBasic.js +1 -1
  185. package/dist/view/security/Security.js +4 -4
  186. package/package.json +1 -1
@@ -11,6 +11,11 @@ var _Tooltip = _interopRequireDefault(require("./Tooltip"));
11
11
  var _Form = _interopRequireDefault(require("./form/Form"));
12
12
  var _DynamicJS = _interopRequireDefault(require("../DynamicJS"));
13
13
  function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
14
+ function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
15
+ function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
16
+ function _defineProperty(e, r, t) { return (r = _toPropertyKey(r)) in e ? Object.defineProperty(e, r, { value: t, enumerable: !0, configurable: !0, writable: !0 }) : e[r] = t, e; }
17
+ function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == typeof i ? i : i + ""; }
18
+ function _toPrimitive(t, r) { if ("object" != typeof t || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != typeof i) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
14
19
  const TableCellContent = /*#__PURE__*/_react.default.memo(/*#__PURE__*/_react.default.forwardRef((props, ref) => {
15
20
  const [contentType] = _react.default.useState(props.contentType);
16
21
  const [refresher, setRefresher] = _react.default.useState(true);
@@ -29,7 +34,7 @@ const TableCellContent = /*#__PURE__*/_react.default.memo(/*#__PURE__*/_react.de
29
34
  if (!_Utils.default.isNull(validator)) {
30
35
  let required = false;
31
36
  if (!_Utils.default.isNull(validator.nullable)) {
32
- let nullableExpression = validator.nullable.replace(/\[#i]/g, `[${props.row.index}]`);
37
+ let nullableExpression = validator.nullable.replace(/\[#i]/g, "[".concat(props.row.index, "]"));
33
38
  required = !_Utils.default.evaluateBooleanExpression(nullableExpression, props.dataBinding);
34
39
  }
35
40
  let formValue = {};
@@ -71,10 +76,9 @@ const TableCellContent = /*#__PURE__*/_react.default.memo(/*#__PURE__*/_react.de
71
76
  }, [props.row, props.editor]);
72
77
  _react.default.useEffect(() => {
73
78
  if (!_Utils.default.isNull(props.editor)) {
74
- let e = {
75
- ...props.editor,
79
+ let e = _objectSpread(_objectSpread({}, props.editor), {}, {
76
80
  id: props.editor.id.replace('.', '_')
77
- };
81
+ });
78
82
  if (_Utils.default.isNull(e.attributes)) {
79
83
  e.attributes = {};
80
84
  }
@@ -96,7 +100,7 @@ const TableCellContent = /*#__PURE__*/_react.default.memo(/*#__PURE__*/_react.de
96
100
  }, [props.editor]);
97
101
  const formatDate = contentValue => {
98
102
  const date = new Date(contentValue);
99
- const formatted = `${String(date.getDate()).padStart(2, '0')}/` + `${String(date.getMonth() + 1).padStart(2, '0')}/` + `${date.getFullYear()}`;
103
+ const formatted = "".concat(String(date.getDate()).padStart(2, '0'), "/") + "".concat(String(date.getMonth() + 1).padStart(2, '0'), "/") + "".concat(date.getFullYear());
100
104
  return formatted;
101
105
  };
102
106
 
@@ -104,7 +108,7 @@ const TableCellContent = /*#__PURE__*/_react.default.memo(/*#__PURE__*/_react.de
104
108
  const buildSearchTerms = parameters => {
105
109
  const set = new Set();
106
110
  for (const p of parameters || []) {
107
- if (p?.value && typeof p.value === 'string') {
111
+ if (p !== null && p !== void 0 && p.value && typeof p.value === 'string') {
108
112
  for (const term of p.value.split(/\s+/)) {
109
113
  const t = term.trim();
110
114
  if (t) set.add(t.toLowerCase());
@@ -114,12 +118,12 @@ const TableCellContent = /*#__PURE__*/_react.default.memo(/*#__PURE__*/_react.de
114
118
  return Array.from(set); // lowercase terms
115
119
  };
116
120
  const highlightTokens = (value, terms) => {
117
- if (!value || !terms?.length) return value;
121
+ if (!value || !(terms !== null && terms !== void 0 && terms.length)) return value;
118
122
 
119
123
  // Combine terms into a single capturing group for split
120
- const pattern = `(${terms.map(t => escapeRegex(t)).join('|')})`;
124
+ const pattern = "(".concat(terms.map(t => escapeRegex(t)).join('|'), ")");
121
125
  const splitRegex = new RegExp(pattern, 'gi');
122
- const exactRegex = new RegExp(`^(?:${pattern})$`, 'i'); // to test parts
126
+ const exactRegex = new RegExp("^(?:".concat(pattern, ")$"), 'i'); // to test parts
123
127
 
124
128
  const parts = value.split(splitRegex);
125
129
  return parts.map((part, i) => {
@@ -157,7 +161,7 @@ const TableCellContent = /*#__PURE__*/_react.default.memo(/*#__PURE__*/_react.de
157
161
  }
158
162
  }
159
163
  if (props.columnConfig.cellFormat === 'CURRENCY' || props.columnConfig.cellFormat === 'NUMBER') {
160
- return props.cellFormatter ? _DynamicJS.default.executeScriptFunction(props.cellFormatter, contentValue) : _Utils.default.isNull(contentValue) ? '' : props.columnConfig.cellFormat === 'CURRENCY' ? formatter.format(contentValue) : contentValue.toFixed(2);
164
+ return props.cellFormatter ? _DynamicJS.default.executeScriptFunction(props.cellFormatter, contentValue) : _Utils.default.isNull(contentValue) ? '' : props.columnConfig.cellFormat === 'CURRENCY' ? formatter.format(Math.round((contentValue + Number.EPSILON) * 100) / 100) : Math.round((contentValue + Number.EPSILON) * 100) / 100;
161
165
  } else {
162
166
  if (_Utils.default.isNull(contentValue)) {
163
167
  displayValue = '';
@@ -219,7 +223,7 @@ const TableCellContent = /*#__PURE__*/_react.default.memo(/*#__PURE__*/_react.de
219
223
  handle: props.handle,
220
224
  values: formValue,
221
225
  valueChangeHandler: value => {
222
- editorValue.current = value[editor.dataBinding || editor.id];
226
+ editorValue.current = value ? value[editor.dataBinding || editor.id] : null;
223
227
  valueChangeHandler(editorValue.current);
224
228
  },
225
229
  viewId: props.viewId
@@ -293,11 +293,11 @@ const TemplateDesigner = /*#__PURE__*/_react.default.memo(/*#__PURE__*/_react.de
293
293
  })), designData ? /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement("input", {
294
294
  accept: 'application/pdf',
295
295
  className: classes.input,
296
- id: `template-file-upload`,
296
+ id: "template-file-upload",
297
297
  onChange: handleChange(),
298
298
  type: "file"
299
299
  }), /*#__PURE__*/_react.default.createElement("label", {
300
- htmlFor: `template-file-upload`
300
+ htmlFor: "template-file-upload"
301
301
  }, /*#__PURE__*/_react.default.createElement("div", null, /*#__PURE__*/_react.default.createElement(_IconButton.default, {
302
302
  component: "span",
303
303
  variant: 'contained',
@@ -6,6 +6,9 @@ Object.defineProperty(exports, "__esModule", {
6
6
  exports.default = void 0;
7
7
  var _TemplateTable = _interopRequireDefault(require("./TemplateTable"));
8
8
  function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
9
+ function _defineProperty(e, r, t) { return (r = _toPropertyKey(r)) in e ? Object.defineProperty(e, r, { value: t, enumerable: !0, configurable: !0, writable: !0 }) : e[r] = t, e; }
10
+ function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == typeof i ? i : i + ""; }
11
+ function _toPrimitive(t, r) { if ("object" != typeof t || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != typeof i) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
9
12
  const parse = val => {
10
13
  return parseFloat(val.replace('px', ''));
11
14
  };
@@ -13,126 +16,244 @@ const boundCheck = (pos, mousePos) => {
13
16
  return pos - 8 < mousePos && pos + 8 > mousePos;
14
17
  };
15
18
  class TemplateItemEventHandler {
16
- constructor() {}
17
- dragStart = event => {
18
- if (this.selectedNode === event.target) {
19
- if (document.body.style.cursor !== "move" || this.resizingTableColumn) {
20
- if (!this.resizingTableColumn || this.resizingBoundaryTableColumn) {
21
- this.currentResizeNode = event.target;
19
+ constructor() {
20
+ _defineProperty(this, "dragStart", event => {
21
+ if (this.selectedNode === event.target) {
22
+ if (document.body.style.cursor !== "move" || this.resizingTableColumn) {
23
+ if (!this.resizingTableColumn || this.resizingBoundaryTableColumn) {
24
+ this.currentResizeNode = event.target;
25
+ }
26
+ event.preventDefault();
22
27
  }
23
- event.preventDefault();
28
+ let parentLeft = event.target.parentElement.offsetLeft;
29
+ let parentTop = event.target.parentElement.offsetTop;
30
+ this.dragOffset.x = event.clientX - (parentLeft + parseFloat(event.target.style.left.replace('px', '')));
31
+ this.dragOffset.y = event.clientY - (parentTop + parseFloat(event.target.style.top.replace('px', '')));
24
32
  }
25
- let parentLeft = event.target.parentElement.offsetLeft;
26
- let parentTop = event.target.parentElement.offsetTop;
27
- this.dragOffset.x = event.clientX - (parentLeft + parseFloat(event.target.style.left.replace('px', '')));
28
- this.dragOffset.y = event.clientY - (parentTop + parseFloat(event.target.style.top.replace('px', '')));
29
- }
30
- };
31
- dragOver = event => {
32
- event.preventDefault();
33
- };
34
- initDragAndDrop = (selectionHandler, container) => {
35
- this.dragOffset = {};
36
- setTimeout(() => {
37
- let elements = document.getElementsByClassName("dropTarget");
38
- for (const element of elements) {
39
- element.addEventListener("dragstart", this.dragStart, false);
40
- element.addEventListener("dragover", this.dragOver, false);
33
+ });
34
+ _defineProperty(this, "dragOver", event => {
35
+ event.preventDefault();
36
+ });
37
+ _defineProperty(this, "initDragAndDrop", (selectionHandler, container) => {
38
+ this.dragOffset = {};
39
+ setTimeout(() => {
40
+ let elements = document.getElementsByClassName("dropTarget");
41
+ for (const element of elements) {
42
+ element.addEventListener("dragstart", this.dragStart, false);
43
+ element.addEventListener("dragover", this.dragOver, false);
44
+ }
45
+ }, 2000);
46
+ container.addEventListener("mousedown", this.handleMouseDown);
47
+ container.addEventListener("mouseup", event => this.handleMouseUp(event, selectionHandler));
48
+ container.addEventListener("mousemove", this.handleMouseMove);
49
+ let parent = document.getElementsByClassName('__sys_placeholders')[0];
50
+ let placeHolders = document.getElementsByClassName('_draggable_');
51
+ let dropTarget = this.getDropTarget(parent);
52
+ for (const placeHolder of placeHolders) {
53
+ placeHolder.addEventListener('mousemove', event => this.handleItemMouseMove(event, parent), false);
54
+ placeHolder.addEventListener('mouseout', this.handleItemMouseOut, false);
55
+ placeHolder.addEventListener('mouseup', event => this.handleItemMouseClick(placeHolder, placeHolder.id, selectionHandler), false);
56
+ placeHolder.addEventListener('dragend', event => this.handleItemDrop(event, document.getElementsByClassName('dropTarget')[0]), false);
41
57
  }
42
- }, 2000);
43
- container.addEventListener("mousedown", this.handleMouseDown);
44
- container.addEventListener("mouseup", event => this.handleMouseUp(event, selectionHandler));
45
- container.addEventListener("mousemove", this.handleMouseMove);
46
- let parent = document.getElementsByClassName('__sys_placeholders')[0];
47
- let placeHolders = document.getElementsByClassName('_draggable_');
48
- let dropTarget = this.getDropTarget(parent);
49
- for (const placeHolder of placeHolders) {
50
- placeHolder.addEventListener('mousemove', event => this.handleItemMouseMove(event, parent), false);
51
- placeHolder.addEventListener('mouseout', this.handleItemMouseOut, false);
52
- placeHolder.addEventListener('mouseup', event => this.handleItemMouseClick(placeHolder, placeHolder.id, selectionHandler), false);
53
- placeHolder.addEventListener('dragend', event => this.handleItemDrop(event, document.getElementsByClassName('dropTarget')[0]), false);
54
- }
55
- };
56
- handleMouseMove = event => {
57
- this.resizeNode(event, this.currentResizeNode);
58
- };
59
- handleMouseDown = event => {
60
- this.mouseDown = true;
61
- };
62
- handleMouseUp = (event, selectionHandler) => {
63
- this.mouseDown = false;
64
- this.currentResizeNode = null;
65
- document.body.style.cursor = "default";
66
- if (typeof event.target.className === 'string' && event.target.className !== '_draggable_' && !event.target.className.startsWith('_item_table')) {
58
+ });
59
+ _defineProperty(this, "handleMouseMove", event => {
60
+ this.resizeNode(event, this.currentResizeNode);
61
+ });
62
+ _defineProperty(this, "handleMouseDown", event => {
63
+ this.mouseDown = true;
64
+ });
65
+ _defineProperty(this, "handleMouseUp", (event, selectionHandler) => {
66
+ this.mouseDown = false;
67
+ this.currentResizeNode = null;
68
+ document.body.style.cursor = "default";
69
+ if (typeof event.target.className === 'string' && event.target.className !== '_draggable_' && !event.target.className.startsWith('_item_table')) {
70
+ this.resetBorders();
71
+ this.selectedNode = null;
72
+ this.selectedNodeInitPosition = null;
73
+ if (selectionHandler) {
74
+ selectionHandler(null);
75
+ }
76
+ }
77
+ this.tableItemPreResizeWidth = null;
78
+ this.tableItemPreResizeHeight = null;
79
+ this.lastColItemPreResizeWidth = null;
80
+ this.firstColItemPreResizeWidth = null;
81
+ this.firstRowItemPreResizeHeight = null;
82
+ this.resizingTableColumn = false;
83
+ });
84
+ _defineProperty(this, "handleGrabRelease", (event, props, selectionHandler) => {
85
+ let width = props.width;
86
+ let height = props.height;
87
+ let parent = event.target;
88
+ let dropTarget = this.getDropTarget(parent);
89
+ if (dropTarget) {
90
+ let container = document.getElementById('templateContainer');
91
+ let node = document.createElement("div");
92
+ node.id = props.id;
93
+ node.style.left = (props.left ? props.left : container.scrollLeft + event.clientX - dropTarget.offsetLeft) + 'px';
94
+ node.style.top = (props.top ? props.top : container.scrollTop + event.clientY - dropTarget.offsetTop) + 'px';
95
+ node.style.border = '2px dashed green';
96
+ node.style.fontSize = '11px';
97
+ node.style.position = 'absolute';
98
+ node.style.verticalAlign = 'middle';
99
+ node.style.padding = '0 4px';
100
+ node.className = "_draggable_";
101
+ node.setAttribute("draggable", true);
102
+ if (props.sid) {
103
+ node.setAttribute("sid", props.sid);
104
+ }
105
+ if (props.sdesc) {
106
+ node.setAttribute("sdesc", props.sdesc);
107
+ }
108
+ if (props.type === 'TABLE') {
109
+ let table = new _TemplateTable.default(props.table, node).build((resizing, boundary) => {
110
+ this.resizingTableColumn = resizing;
111
+ this.resizingBoundaryTableColumn = boundary;
112
+ }, parent => {
113
+ return this.selectedNode === parent;
114
+ });
115
+ node.appendChild(table);
116
+ node.style.padding = '1px';
117
+ node.style.width = parse(table.style.width) + 2 + 'px';
118
+ node.style.height = parse(table.style.height) + 2 + 'px';
119
+ node.style.lineHeight = node.style.height;
120
+ } else {
121
+ node.style.height = height + 'px';
122
+ node.style.width = width + 'px';
123
+ node.style.lineHeight = node.style.height;
124
+ node.innerHTML = props.description;
125
+ }
126
+ node.addEventListener('dragend', event => this.handleItemDrop(event, dropTarget), false);
127
+ let placeHolders = dropTarget.getElementsByClassName('__sys_placeholders')[0];
128
+ node.addEventListener('mousemove', event => this.handleItemMouseMove(event, placeHolders), false);
129
+ node.addEventListener('mouseout', this.handleItemMouseOut, false);
130
+ node.addEventListener('mouseup', event => this.handleItemMouseClick(node, props.id, selectionHandler), false);
131
+ placeHolders.appendChild(node);
132
+ this.selectedNode = node;
133
+ this.setSelectedInitNodePos();
134
+ }
135
+ if (typeof event.target.className === 'string' && !event.target.className.includes("paletteButton") && !event.target.className.includes("paletteButtonLabel") && !event.target.className.includes("paletteButtonSelected")) {
136
+ document.getElementsByTagName("body")[0].style.cursor = 'default';
137
+ }
138
+ });
139
+ _defineProperty(this, "handleItemDrop", (event, target) => {
140
+ //console.log("\n\n\n\nclientY : " + event.clientY + " offsetTop : " + target.offsetTop + " dragOffset.y : " + this.dragOffset.y);
141
+ event.target.style.left = event.clientX - this.dragOffset.x + 'px';
142
+ event.target.style.top = event.clientY - this.dragOffset.y + 'px';
143
+ event.preventDefault();
144
+ this.currentResizeNode = null;
145
+ this.mouseDown = false;
146
+ document.body.style.cursor = "default";
67
147
  this.resetBorders();
68
- this.selectedNode = null;
69
- this.selectedNodeInitPosition = null;
70
- if (selectionHandler) {
71
- selectionHandler(null);
148
+ event.target.style.border = '2px dashed green';
149
+ });
150
+ _defineProperty(this, "resizeNode", (event, node) => {
151
+ if (this.mouseDown && node) {
152
+ let container = document.getElementById('templateContainer');
153
+ if (container) {
154
+ let mouseX = event.clientX - this.resizingItemParent.getBoundingClientRect().left;
155
+ let mouseY = event.clientY - this.resizingItemParent.getBoundingClientRect().top;
156
+ let resizeSpec = {
157
+ leftOffset: 0,
158
+ rightOffset: 0,
159
+ topOffset: 0,
160
+ bottomOffset: 0
161
+ };
162
+ console.log("X : " + event.clientX + " Y : " + event.clientY + " MX : " + mouseX + " NL : " + node.style.left);
163
+ if (this.boundCheckLeft) {
164
+ let widthDiff = mouseX - parse(node.style.left);
165
+ let newWidth = parse(node.style.width) - widthDiff;
166
+ console.log("WD : " + widthDiff + " NW : " + newWidth + " MX : " + mouseX + " NL : " + node.style.left);
167
+ //console.log("\n\n\n SETTING SPEC LEFT : " + this.selectedNodeInitPosition.left);
168
+ resizeSpec.leftOffset = mouseX - this.selectedNodeInitPosition.left;
169
+ if (newWidth >= 20) {
170
+ node.style.width = newWidth + 'px';
171
+ node.style.left = mouseX + 'px';
172
+ }
173
+ }
174
+ if (this.boundCheckRight) {
175
+ let newWidth = mouseX - parse(node.style.left);
176
+ resizeSpec.rightOffset = newWidth - this.selectedNodeInitPosition.width;
177
+ if (newWidth >= 20) {
178
+ node.style.width = newWidth + 'px';
179
+ }
180
+ }
181
+ if (this.boundCheckTop) {
182
+ let heightDiff = mouseY - parse(node.style.top);
183
+ let newHeight = parse(node.style.height) - heightDiff;
184
+ resizeSpec.topOffset = mouseY - this.selectedNodeInitPosition.top;
185
+ if (newHeight >= 20) {
186
+ node.style.height = newHeight + 'px';
187
+ node.style.lineHeight = newHeight + 'px';
188
+ node.style.top = mouseY + 'px';
189
+ }
190
+ resizeSpec.topResized = true;
191
+ }
192
+ if (this.boundCheckBottom) {
193
+ let newHeight = mouseY - parse(node.style.top);
194
+ resizeSpec.bottomOffset = newHeight - this.selectedNodeInitPosition.height;
195
+ if (newHeight >= 20) {
196
+ node.style.height = newHeight + 'px';
197
+ node.style.lineHeight = newHeight + 'px';
198
+ }
199
+ resizeSpec.bottomResized = true;
200
+ }
201
+ this.resizeTables(node, resizeSpec);
202
+ }
72
203
  }
73
- }
74
- this.tableItemPreResizeWidth = null;
75
- this.tableItemPreResizeHeight = null;
76
- this.lastColItemPreResizeWidth = null;
77
- this.firstColItemPreResizeWidth = null;
78
- this.firstRowItemPreResizeHeight = null;
79
- this.resizingTableColumn = false;
80
- };
81
- handleGrabRelease = (event, props, selectionHandler) => {
82
- let width = props.width;
83
- let height = props.height;
84
- let parent = event.target;
85
- let dropTarget = this.getDropTarget(parent);
86
- if (dropTarget) {
87
- let container = document.getElementById('templateContainer');
88
- let node = document.createElement("div");
89
- node.id = props.id;
90
- node.style.left = (props.left ? props.left : container.scrollLeft + event.clientX - dropTarget.offsetLeft) + 'px';
91
- node.style.top = (props.top ? props.top : container.scrollTop + event.clientY - dropTarget.offsetTop) + 'px';
92
- node.style.border = '2px dashed green';
93
- node.style.fontSize = '11px';
94
- node.style.position = 'absolute';
95
- node.style.verticalAlign = 'middle';
96
- node.style.padding = '0 4px';
97
- node.className = "_draggable_";
98
- node.setAttribute("draggable", true);
99
- if (props.sid) {
100
- node.setAttribute("sid", props.sid);
204
+ });
205
+ _defineProperty(this, "updateCursor", (node, event, itemParent) => {
206
+ if (!this.mouseDown && this.selectedNode) {
207
+ let container = document.getElementById('templateContainer');
208
+ let left = parse(node.style.left) + container.offsetLeft;
209
+ let right = left + parse(node.style.width);
210
+ let top = parse(node.style.top) + itemParent.offsetTop;
211
+ let bottom = top + parse(node.style.height);
212
+ let mouseX = event.clientX + container.scrollLeft;
213
+ let mouseY = event.clientY - itemParent.getBoundingClientRect().top;
214
+ this.boundCheckTop = boundCheck(top, mouseY);
215
+ this.boundCheckLeft = boundCheck(left, mouseX);
216
+ this.boundCheckRight = boundCheck(right, mouseX);
217
+ this.boundCheckBottom = boundCheck(bottom, mouseY);
218
+ if (this.boundCheckTop && this.boundCheckLeft || this.boundCheckBottom && this.boundCheckRight) {
219
+ document.body.style.cursor = "nwse-resize";
220
+ } else if (this.boundCheckTop && this.boundCheckRight || this.boundCheckBottom && this.boundCheckLeft) {
221
+ document.body.style.cursor = "nesw-resize";
222
+ } else if (this.boundCheckTop || this.boundCheckBottom) {
223
+ document.body.style.cursor = "ns-resize";
224
+ } else if (this.boundCheckLeft || this.boundCheckRight) {
225
+ document.body.style.cursor = "ew-resize";
226
+ } else {
227
+ document.body.style.cursor = "move";
228
+ }
229
+ this.resizingItemParent = itemParent;
101
230
  }
102
- if (props.sdesc) {
103
- node.setAttribute("sdesc", props.sdesc);
231
+ });
232
+ _defineProperty(this, "resetBorders", () => {
233
+ let items = document.getElementsByClassName("_draggable_");
234
+ for (const item of items) {
235
+ item.style.border = 'none';
104
236
  }
105
- if (props.type === 'TABLE') {
106
- let table = new _TemplateTable.default(props.table, node).build((resizing, boundary) => {
107
- this.resizingTableColumn = resizing;
108
- this.resizingBoundaryTableColumn = boundary;
109
- }, parent => {
110
- return this.selectedNode === parent;
111
- });
112
- node.appendChild(table);
113
- node.style.padding = '1px';
114
- node.style.width = parse(table.style.width) + 2 + 'px';
115
- node.style.height = parse(table.style.height) + 2 + 'px';
116
- node.style.lineHeight = node.style.height;
117
- } else {
118
- node.style.height = height + 'px';
119
- node.style.width = width + 'px';
120
- node.style.lineHeight = node.style.height;
121
- node.innerHTML = props.description;
237
+ });
238
+ _defineProperty(this, "handleItemMouseOut", event => {
239
+ if (!this.currentResizeNode) {
240
+ document.body.style.cursor = "default";
122
241
  }
123
- node.addEventListener('dragend', event => this.handleItemDrop(event, dropTarget), false);
124
- let placeHolders = dropTarget.getElementsByClassName('__sys_placeholders')[0];
125
- node.addEventListener('mousemove', event => this.handleItemMouseMove(event, placeHolders), false);
126
- node.addEventListener('mouseout', this.handleItemMouseOut, false);
127
- node.addEventListener('mouseup', event => this.handleItemMouseClick(node, props.id, selectionHandler), false);
128
- placeHolders.appendChild(node);
242
+ });
243
+ _defineProperty(this, "handleItemMouseMove", (event, itemParent) => {
244
+ let node = event.target;
245
+ this.updateCursor(node, event, itemParent);
246
+ });
247
+ _defineProperty(this, "handleItemMouseClick", (node, id, selectionHandler) => {
248
+ this.resetBorders();
249
+ node.style.border = '2px dashed green';
129
250
  this.selectedNode = node;
130
251
  this.setSelectedInitNodePos();
131
- }
132
- if (typeof event.target.className === 'string' && !event.target.className.includes("paletteButton") && !event.target.className.includes("paletteButtonLabel") && !event.target.className.includes("paletteButtonSelected")) {
133
- document.getElementsByTagName("body")[0].style.cursor = 'default';
134
- }
135
- };
252
+ if (selectionHandler) {
253
+ selectionHandler(id, node);
254
+ }
255
+ });
256
+ }
136
257
  getDropTarget(node) {
137
258
  let parent = node;
138
259
  let dropTarget = null;
@@ -145,17 +266,6 @@ class TemplateItemEventHandler {
145
266
  }
146
267
  return dropTarget;
147
268
  }
148
- handleItemDrop = (event, target) => {
149
- //console.log("\n\n\n\nclientY : " + event.clientY + " offsetTop : " + target.offsetTop + " dragOffset.y : " + this.dragOffset.y);
150
- event.target.style.left = event.clientX - this.dragOffset.x + 'px';
151
- event.target.style.top = event.clientY - this.dragOffset.y + 'px';
152
- event.preventDefault();
153
- this.currentResizeNode = null;
154
- this.mouseDown = false;
155
- document.body.style.cursor = "default";
156
- this.resetBorders();
157
- event.target.style.border = '2px dashed green';
158
- };
159
269
  resizeTables(node, spec) {
160
270
  let tables = node.getElementsByClassName('_item_table');
161
271
  let table = tables && tables.length > 0 ? tables[0] : null;
@@ -168,7 +278,7 @@ class TemplateItemEventHandler {
168
278
  if (table) {
169
279
  if (spec.rightOffset !== 0) {
170
280
  let numCols = table['data-num-cols'];
171
- let lastCols = node.getElementsByClassName(`_item_table_col_${numCols - 1}`);
281
+ let lastCols = node.getElementsByClassName("_item_table_col_".concat(numCols - 1));
172
282
  let newWidth;
173
283
  let resized = true;
174
284
  for (const lastCol of lastCols) {
@@ -233,112 +343,6 @@ class TemplateItemEventHandler {
233
343
  }
234
344
  }
235
345
  }
236
- resizeNode = (event, node) => {
237
- if (this.mouseDown && node) {
238
- let container = document.getElementById('templateContainer');
239
- if (container) {
240
- let mouseX = event.clientX - this.resizingItemParent.getBoundingClientRect().left;
241
- let mouseY = event.clientY - this.resizingItemParent.getBoundingClientRect().top;
242
- let resizeSpec = {
243
- leftOffset: 0,
244
- rightOffset: 0,
245
- topOffset: 0,
246
- bottomOffset: 0
247
- };
248
- console.log("X : " + event.clientX + " Y : " + event.clientY + " MX : " + mouseX + " NL : " + node.style.left);
249
- if (this.boundCheckLeft) {
250
- let widthDiff = mouseX - parse(node.style.left);
251
- let newWidth = parse(node.style.width) - widthDiff;
252
- console.log("WD : " + widthDiff + " NW : " + newWidth + " MX : " + mouseX + " NL : " + node.style.left);
253
- //console.log("\n\n\n SETTING SPEC LEFT : " + this.selectedNodeInitPosition.left);
254
- resizeSpec.leftOffset = mouseX - this.selectedNodeInitPosition.left;
255
- if (newWidth >= 20) {
256
- node.style.width = newWidth + 'px';
257
- node.style.left = mouseX + 'px';
258
- }
259
- }
260
- if (this.boundCheckRight) {
261
- let newWidth = mouseX - parse(node.style.left);
262
- resizeSpec.rightOffset = newWidth - this.selectedNodeInitPosition.width;
263
- if (newWidth >= 20) {
264
- node.style.width = newWidth + 'px';
265
- }
266
- }
267
- if (this.boundCheckTop) {
268
- let heightDiff = mouseY - parse(node.style.top);
269
- let newHeight = parse(node.style.height) - heightDiff;
270
- resizeSpec.topOffset = mouseY - this.selectedNodeInitPosition.top;
271
- if (newHeight >= 20) {
272
- node.style.height = newHeight + 'px';
273
- node.style.lineHeight = newHeight + 'px';
274
- node.style.top = mouseY + 'px';
275
- }
276
- resizeSpec.topResized = true;
277
- }
278
- if (this.boundCheckBottom) {
279
- let newHeight = mouseY - parse(node.style.top);
280
- resizeSpec.bottomOffset = newHeight - this.selectedNodeInitPosition.height;
281
- if (newHeight >= 20) {
282
- node.style.height = newHeight + 'px';
283
- node.style.lineHeight = newHeight + 'px';
284
- }
285
- resizeSpec.bottomResized = true;
286
- }
287
- this.resizeTables(node, resizeSpec);
288
- }
289
- }
290
- };
291
- updateCursor = (node, event, itemParent) => {
292
- if (!this.mouseDown && this.selectedNode) {
293
- let container = document.getElementById('templateContainer');
294
- let left = parse(node.style.left) + container.offsetLeft;
295
- let right = left + parse(node.style.width);
296
- let top = parse(node.style.top) + itemParent.offsetTop;
297
- let bottom = top + parse(node.style.height);
298
- let mouseX = event.clientX + container.scrollLeft;
299
- let mouseY = event.clientY - itemParent.getBoundingClientRect().top;
300
- this.boundCheckTop = boundCheck(top, mouseY);
301
- this.boundCheckLeft = boundCheck(left, mouseX);
302
- this.boundCheckRight = boundCheck(right, mouseX);
303
- this.boundCheckBottom = boundCheck(bottom, mouseY);
304
- if (this.boundCheckTop && this.boundCheckLeft || this.boundCheckBottom && this.boundCheckRight) {
305
- document.body.style.cursor = "nwse-resize";
306
- } else if (this.boundCheckTop && this.boundCheckRight || this.boundCheckBottom && this.boundCheckLeft) {
307
- document.body.style.cursor = "nesw-resize";
308
- } else if (this.boundCheckTop || this.boundCheckBottom) {
309
- document.body.style.cursor = "ns-resize";
310
- } else if (this.boundCheckLeft || this.boundCheckRight) {
311
- document.body.style.cursor = "ew-resize";
312
- } else {
313
- document.body.style.cursor = "move";
314
- }
315
- this.resizingItemParent = itemParent;
316
- }
317
- };
318
- resetBorders = () => {
319
- let items = document.getElementsByClassName("_draggable_");
320
- for (const item of items) {
321
- item.style.border = 'none';
322
- }
323
- };
324
- handleItemMouseOut = event => {
325
- if (!this.currentResizeNode) {
326
- document.body.style.cursor = "default";
327
- }
328
- };
329
- handleItemMouseMove = (event, itemParent) => {
330
- let node = event.target;
331
- this.updateCursor(node, event, itemParent);
332
- };
333
- handleItemMouseClick = (node, id, selectionHandler) => {
334
- this.resetBorders();
335
- node.style.border = '2px dashed green';
336
- this.selectedNode = node;
337
- this.setSelectedInitNodePos();
338
- if (selectionHandler) {
339
- selectionHandler(id, node);
340
- }
341
- };
342
346
  setSelectedInitNodePos() {
343
347
  this.selectedNodeInitPosition = {
344
348
  top: parse(this.selectedNode.style.top),