@topconsultnpm/sdkui-react 6.20.0-dev1.12 → 6.20.0-dev1.120

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 (202) hide show
  1. package/lib/assets/Toppy-help-center.png +0 -0
  2. package/lib/assets/headergradient.svg +87 -0
  3. package/lib/components/NewComponents/ContextMenu/TMContextMenu.js +322 -30
  4. package/lib/components/NewComponents/ContextMenu/hooks.d.ts +8 -1
  5. package/lib/components/NewComponents/ContextMenu/hooks.js +80 -8
  6. package/lib/components/NewComponents/ContextMenu/index.d.ts +3 -0
  7. package/lib/components/NewComponents/ContextMenu/index.js +2 -0
  8. package/lib/components/NewComponents/ContextMenu/styles.d.ts +9 -1
  9. package/lib/components/NewComponents/ContextMenu/styles.js +159 -37
  10. package/lib/components/NewComponents/ContextMenu/types.d.ts +22 -3
  11. package/lib/components/NewComponents/ContextMenu/useLongPress.d.ts +21 -0
  12. package/lib/components/NewComponents/ContextMenu/useLongPress.js +112 -0
  13. package/lib/components/NewComponents/FloatingMenuBar/TMFloatingMenuBar.js +803 -109
  14. package/lib/components/NewComponents/FloatingMenuBar/styles.d.ts +25 -5
  15. package/lib/components/NewComponents/FloatingMenuBar/styles.js +215 -59
  16. package/lib/components/NewComponents/FloatingMenuBar/types.d.ts +12 -2
  17. package/lib/components/base/TMAccordionNew.js +35 -14
  18. package/lib/components/base/TMButton.js +6 -0
  19. package/lib/components/base/TMClosableList.js +4 -0
  20. package/lib/components/base/TMCustomButton.js +61 -17
  21. package/lib/components/base/TMDataGrid.d.ts +7 -4
  22. package/lib/components/base/TMDataGrid.js +153 -11
  23. package/lib/components/base/TMDropDownMenu.js +21 -18
  24. package/lib/components/base/TMFileManager.d.ts +4 -3
  25. package/lib/components/base/TMFileManager.js +32 -24
  26. package/lib/components/base/TMFileManagerDataGridView.d.ts +3 -2
  27. package/lib/components/base/TMFileManagerDataGridView.js +1 -11
  28. package/lib/components/base/TMFileManagerThumbnailItems.d.ts +7 -1
  29. package/lib/components/base/TMFileManagerThumbnailItems.js +5 -2
  30. package/lib/components/base/TMFileManagerThumbnailsView.d.ts +17 -4
  31. package/lib/components/base/TMFileManagerThumbnailsView.js +18 -6
  32. package/lib/components/base/TMFileManagerUtils.d.ts +0 -12
  33. package/lib/components/base/TMListView.js +33 -15
  34. package/lib/components/base/TMPanel.d.ts +1 -1
  35. package/lib/components/base/TMPanel.js +3 -1
  36. package/lib/components/base/TMPopUp.js +6 -0
  37. package/lib/components/base/TMToolbarCard.js +2 -0
  38. package/lib/components/base/TMTreeView.d.ts +2 -1
  39. package/lib/components/base/TMTreeView.js +33 -26
  40. package/lib/components/choosers/TMDataListItemChooser.d.ts +2 -0
  41. package/lib/components/choosers/TMDataListItemChooser.js +8 -2
  42. package/lib/components/choosers/TMDcmtTypeChooser.d.ts +1 -0
  43. package/lib/components/choosers/TMDcmtTypeChooser.js +11 -3
  44. package/lib/components/choosers/TMDistinctValues.js +2 -2
  45. package/lib/components/choosers/TMDynDataListItemChooser.d.ts +2 -0
  46. package/lib/components/choosers/TMDynDataListItemChooser.js +8 -2
  47. package/lib/components/choosers/TMInvoiceRetrieveFormats.js +1 -1
  48. package/lib/components/choosers/TMMetadataChooser.d.ts +2 -0
  49. package/lib/components/choosers/TMMetadataChooser.js +19 -4
  50. package/lib/components/choosers/TMOrderRetrieveFormats.js +1 -1
  51. package/lib/components/choosers/TMUserChooser.d.ts +2 -5
  52. package/lib/components/choosers/TMUserChooser.js +33 -47
  53. package/lib/components/editors/TMCheckBox.js +2 -0
  54. package/lib/components/editors/TMDateBox.js +18 -9
  55. package/lib/components/editors/TMEditorStyled.js +7 -0
  56. package/lib/components/editors/TMLocalizedTextBox.d.ts +3 -1
  57. package/lib/components/editors/TMLocalizedTextBox.js +16 -14
  58. package/lib/components/editors/TMMetadataEditor.d.ts +1 -0
  59. package/lib/components/editors/TMMetadataEditor.js +4 -4
  60. package/lib/components/editors/TMMetadataTextBox.d.ts +9 -0
  61. package/lib/components/editors/TMMetadataTextBox.js +92 -0
  62. package/lib/components/editors/TMMetadataValues.d.ts +1 -0
  63. package/lib/components/editors/TMMetadataValues.js +25 -7
  64. package/lib/components/editors/TMRadioButton.js +2 -0
  65. package/lib/components/editors/TMTextArea.js +18 -30
  66. package/lib/components/editors/TMTextBox.d.ts +1 -1
  67. package/lib/components/editors/TMTextBox.js +29 -4
  68. package/lib/components/editors/TMTextExpression.js +6 -91
  69. package/lib/components/features/archive/TMArchive.js +2 -2
  70. package/lib/components/features/assistant/TMToppyDraggableHelpCenter.d.ts +15 -0
  71. package/lib/components/features/assistant/TMToppyDraggableHelpCenter.js +462 -0
  72. package/lib/components/features/assistant/TMToppySpeechBubble.d.ts +11 -0
  73. package/lib/components/features/assistant/TMToppySpeechBubble.js +126 -0
  74. package/lib/components/features/documents/TMDcmtBlog.js +1 -1
  75. package/lib/components/features/documents/TMDcmtForm.d.ts +14 -2
  76. package/lib/components/features/documents/TMDcmtForm.js +459 -208
  77. package/lib/components/features/documents/TMDcmtPreview.js +42 -155
  78. package/lib/components/features/documents/TMDcmtTasks.js +9 -9
  79. package/lib/components/features/documents/TMMasterDetailDcmts.js +38 -53
  80. package/lib/components/features/documents/TMRelationViewer.d.ts +1 -1
  81. package/lib/components/features/documents/TMRelationViewer.js +2 -2
  82. package/lib/components/features/search/TMDcmtCheckoutInfoForm.d.ts +8 -0
  83. package/lib/components/features/search/{TMSearchResultCheckoutInfoForm.js → TMDcmtCheckoutInfoForm.js} +2 -2
  84. package/lib/components/features/search/TMSavedQuerySelector.js +72 -67
  85. package/lib/components/features/search/TMSearch.d.ts +3 -0
  86. package/lib/components/features/search/TMSearch.js +50 -11
  87. package/lib/components/features/search/TMSearchQueryEditor.d.ts +1 -0
  88. package/lib/components/features/search/TMSearchQueryEditor.js +10 -10
  89. package/lib/components/features/search/TMSearchQueryPanel.d.ts +1 -0
  90. package/lib/components/features/search/TMSearchQueryPanel.js +40 -25
  91. package/lib/components/features/search/TMSearchResult.d.ts +3 -0
  92. package/lib/components/features/search/TMSearchResult.js +210 -250
  93. package/lib/components/features/search/TMSearchResultsMenuItems.d.ts +3 -3
  94. package/lib/components/features/search/TMSearchResultsMenuItems.js +227 -171
  95. package/lib/components/features/search/TMSignSettingsForm.js +1 -1
  96. package/lib/components/features/search/TMSignatureInfoContent.d.ts +6 -0
  97. package/lib/components/features/search/TMSignatureInfoContent.js +140 -0
  98. package/lib/components/features/search/TMViewHistoryDcmt.js +2 -2
  99. package/lib/components/features/tasks/TMTaskForm.js +75 -25
  100. package/lib/components/features/tasks/TMTasksAgenda.d.ts +3 -1
  101. package/lib/components/features/tasks/TMTasksAgenda.js +48 -9
  102. package/lib/components/features/tasks/TMTasksCalendar.d.ts +2 -0
  103. package/lib/components/features/tasks/TMTasksCalendar.js +19 -7
  104. package/lib/components/features/tasks/TMTasksUtils.d.ts +2 -2
  105. package/lib/components/features/tasks/TMTasksUtils.js +57 -37
  106. package/lib/components/features/tasks/TMTasksView.js +28 -19
  107. package/lib/components/features/workflow/TMWorkflowPopup.d.ts +33 -2
  108. package/lib/components/features/workflow/TMWorkflowPopup.js +139 -34
  109. package/lib/components/features/workflow/diagram/DiagramItemComponent.d.ts +2 -0
  110. package/lib/components/features/workflow/diagram/DiagramItemComponent.js +14 -7
  111. package/lib/components/features/workflow/diagram/DiagramItemForm.js +1 -1
  112. package/lib/components/features/workflow/diagram/RecipientList.js +3 -2
  113. package/lib/components/features/workflow/diagram/WFDiagram.d.ts +4 -0
  114. package/lib/components/features/workflow/diagram/WFDiagram.js +164 -13
  115. package/lib/components/forms/Login/LoginValidatorService.d.ts +2 -0
  116. package/lib/components/forms/Login/LoginValidatorService.js +7 -2
  117. package/lib/components/forms/Login/TMLoginForm.js +35 -7
  118. package/lib/components/forms/TMChooserForm.js +1 -1
  119. package/lib/components/grids/TMBlogsPost.js +56 -31
  120. package/lib/components/grids/TMRecentsManager.js +20 -10
  121. package/lib/components/grids/TMValidationItemsList.js +6 -0
  122. package/lib/components/index.d.ts +6 -3
  123. package/lib/components/index.js +6 -3
  124. package/lib/components/layout/panelManager/TMPanelManagerContext.js +13 -5
  125. package/lib/components/query/TMQueryEditor.d.ts +3 -1
  126. package/lib/components/query/TMQueryEditor.js +102 -100
  127. package/lib/components/settings/SettingsAppearance.d.ts +2 -1
  128. package/lib/components/settings/SettingsAppearance.js +99 -30
  129. package/lib/components/sidebar/TMHeader.js +11 -7
  130. package/lib/components/sidebar/TMSidebar.d.ts +0 -1
  131. package/lib/components/sidebar/TMSidebar.js +16 -44
  132. package/lib/components/sidebar/TMSidebarItem.js +36 -17
  133. package/lib/components/viewers/TMDataListItemViewer.d.ts +2 -1
  134. package/lib/components/viewers/TMDataListItemViewer.js +35 -71
  135. package/lib/components/viewers/TMDataUserIdItemViewer.d.ts +8 -0
  136. package/lib/components/viewers/TMDataUserIdItemViewer.js +39 -0
  137. package/lib/css/tm-sdkui.css +1 -1
  138. package/lib/helper/SDKUI_Globals.d.ts +22 -0
  139. package/lib/helper/SDKUI_Globals.js +10 -1
  140. package/lib/helper/SDKUI_Localizator.d.ts +20 -1
  141. package/lib/helper/SDKUI_Localizator.js +197 -1
  142. package/lib/helper/TMCommandsContextMenu.d.ts +4 -2
  143. package/lib/helper/TMCommandsContextMenu.js +15 -4
  144. package/lib/helper/TMIcons.d.ts +4 -0
  145. package/lib/helper/TMIcons.js +13 -3
  146. package/lib/helper/TMPdfViewer.d.ts +8 -0
  147. package/lib/helper/TMPdfViewer.js +373 -0
  148. package/lib/helper/TMToppyMessage.js +4 -0
  149. package/lib/helper/checkinCheckoutManager.d.ts +31 -1
  150. package/lib/helper/checkinCheckoutManager.js +112 -30
  151. package/lib/helper/devextremeCustomMessages.d.ts +30 -0
  152. package/lib/helper/devextremeCustomMessages.js +30 -0
  153. package/lib/helper/helpers.d.ts +30 -2
  154. package/lib/helper/helpers.js +131 -3
  155. package/lib/helper/index.d.ts +2 -0
  156. package/lib/helper/index.js +2 -0
  157. package/lib/helper/queryHelper.d.ts +1 -1
  158. package/lib/helper/queryHelper.js +33 -3
  159. package/lib/helper/workItemsHelper.d.ts +6 -0
  160. package/lib/helper/workItemsHelper.js +230 -0
  161. package/lib/hooks/useCheckInOutOperations.d.ts +28 -0
  162. package/lib/hooks/useCheckInOutOperations.js +223 -0
  163. package/lib/hooks/useDataListItem.d.ts +12 -0
  164. package/lib/hooks/useDataListItem.js +132 -0
  165. package/lib/hooks/useDataUserIdItem.d.ts +10 -0
  166. package/lib/hooks/useDataUserIdItem.js +96 -0
  167. package/lib/hooks/useFloatingBarPinnedItems.d.ts +11 -0
  168. package/lib/hooks/useFloatingBarPinnedItems.js +54 -0
  169. package/lib/hooks/useMetadataExpression.d.ts +19 -0
  170. package/lib/hooks/useMetadataExpression.js +99 -0
  171. package/lib/hooks/useSettingsFeedback.d.ts +11 -0
  172. package/lib/hooks/useSettingsFeedback.js +38 -0
  173. package/lib/hooks/useWorkflowApprove.d.ts +4 -0
  174. package/lib/hooks/useWorkflowApprove.js +14 -1
  175. package/lib/index.d.ts +1 -0
  176. package/lib/index.js +3 -2
  177. package/lib/services/platform_services.d.ts +3 -3
  178. package/lib/ts/types.d.ts +61 -1
  179. package/lib/utils/theme.d.ts +1 -1
  180. package/lib/utils/theme.js +1 -1
  181. package/package.json +7 -4
  182. package/lib/components/NewComponents/Notification/Notification.d.ts +0 -4
  183. package/lib/components/NewComponents/Notification/Notification.js +0 -60
  184. package/lib/components/NewComponents/Notification/NotificationContainer.d.ts +0 -8
  185. package/lib/components/NewComponents/Notification/NotificationContainer.js +0 -33
  186. package/lib/components/NewComponents/Notification/index.d.ts +0 -2
  187. package/lib/components/NewComponents/Notification/index.js +0 -2
  188. package/lib/components/NewComponents/Notification/styles.d.ts +0 -21
  189. package/lib/components/NewComponents/Notification/styles.js +0 -180
  190. package/lib/components/NewComponents/Notification/types.d.ts +0 -18
  191. package/lib/components/NewComponents/Notification/types.js +0 -1
  192. package/lib/components/base/TMContextMenu.d.ts +0 -25
  193. package/lib/components/base/TMContextMenu.js +0 -109
  194. package/lib/components/base/TMContextMenuOLD.d.ts +0 -26
  195. package/lib/components/base/TMContextMenuOLD.js +0 -56
  196. package/lib/components/base/TMFloatingToolbar.d.ts +0 -9
  197. package/lib/components/base/TMFloatingToolbar.js +0 -101
  198. package/lib/components/features/assistant/ToppyDraggableHelpCenter.d.ts +0 -30
  199. package/lib/components/features/assistant/ToppyDraggableHelpCenter.js +0 -482
  200. package/lib/components/features/assistant/ToppySpeechBubble.d.ts +0 -9
  201. package/lib/components/features/assistant/ToppySpeechBubble.js +0 -117
  202. package/lib/components/features/search/TMSearchResultCheckoutInfoForm.d.ts +0 -8
@@ -1,7 +1,7 @@
1
1
  import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
2
2
  import { useState, useEffect, useRef, useMemo } from 'react';
3
3
  import six from '../../assets/six.png';
4
- import { getAvatarColor, IconCloseOutline, IconCopy, IconSearch, openApps, SDKUI_Localizator } from '../../helper';
4
+ import { getAvatarColor, IconCloseOutline, IconCopy, openApps, SDKUI_Localizator } from '../../helper';
5
5
  import styled, { keyframes } from 'styled-components';
6
6
  import { SDK_Globals, AuthenticationModes, AppModules, UserLevels, CultureIDs } from '@topconsultnpm/sdk-ts';
7
7
  import { TMColors } from '../../utils/theme';
@@ -87,7 +87,7 @@ export const copyUserInfoToClipboard = (userName, cultureId, archiveId, archiveD
87
87
  };
88
88
  export const TMSearchBar = ({ searchValue, onSearchValueChanged, maxWidth, marginLeft }) => {
89
89
  const deviceType = useDeviceType();
90
- return (_jsxs(StyledSearchBarContainer, { style: { maxWidth: maxWidth ? maxWidth : deviceType === DeviceType.MOBILE ? '65%' : '650px', marginLeft: marginLeft ? marginLeft : deviceType === DeviceType.MOBILE ? '10px' : '20px' }, "$isMobile": deviceType === DeviceType.MOBILE, children: [" ", _jsx(IconSearch, { fontSize: 12, color: '#00000060', style: { position: 'absolute', width: '20px', height: '20px', left: '5px', top: '5px', zIndex: 1 } }), _jsx(StyledSearchBar, { placeholder: SDKUI_Localizator.Search + '...', type: "text", value: searchValue, onChange: (e) => onSearchValueChanged(e.target.value) }), searchValue.length > 0 && _jsx(IconCloseOutline, { onClick: () => onSearchValueChanged(''), color: '#00000060', style: { cursor: 'pointer', position: 'absolute', width: '20px', height: '20px', right: '5px', top: '5px', zIndex: 1 } })] }));
90
+ return (_jsxs(StyledSearchBarContainer, { style: { maxWidth: maxWidth ? maxWidth : deviceType === DeviceType.MOBILE ? '65%' : '650px', marginLeft: marginLeft ? marginLeft : deviceType === DeviceType.MOBILE ? '10px' : '20px' }, "$isMobile": deviceType === DeviceType.MOBILE, children: [" ", _jsx(StyledSearchBar, { placeholder: SDKUI_Localizator.Search + '...', type: "text", value: searchValue, onChange: (e) => onSearchValueChanged(e.target.value) }), searchValue.length > 0 && _jsx(IconCloseOutline, { onClick: () => onSearchValueChanged(''), color: '#00000060', style: { cursor: 'pointer', position: 'absolute', width: '20px', height: '20px', right: '5px', top: '5px', zIndex: 1 } })] }));
91
91
  };
92
92
  const TMHeader = ({ customButtons = _jsx(_Fragment, {}), onMenusOpen, showSettingsMenu = true, showSearchBar = true, clearSearchJobValue, clearSearchQEValue, searchContext = TMSearchContext.JOBS, onChangePassword, onLogout, settingsMenuContext, onSeacrhJobsValueChange, onSeacrhJobslistValueChange, onSeacrhProcessMonitorValueChange, onSeacrhProcessValueChange, onSeacrhPlatformValueChange, onSeacrhQEValueChange, onSettingsClick }) => {
93
93
  const [appRoutes, setAppRoutes] = useState();
@@ -302,9 +302,9 @@ const StyledLogo = styled.img `
302
302
  `;
303
303
  const StyledHeaderContainer = styled.div `
304
304
  position:fixed;
305
- width: 100%;
306
- height: 60px;
307
- background-color:transparent;
305
+ height:60px;
306
+ background: transparent;
307
+ background-size: 200%;
308
308
  opacity: 1;
309
309
  display: flex;
310
310
  flex-direction: row;
@@ -381,8 +381,8 @@ const StyledHeaderIcon = styled.div `
381
381
  filter: drop-shadow(0 1px 2px rgba(0, 0, 0, 0.1));
382
382
  }
383
383
  `;
384
- const StyledSearchBarContainer = styled.div ` position: relative; height:30px; width: 100%; max-width: ${props => props.$isMobile ? '65%' : '650px'}; margin-left: ${props => props.$isMobile ? '10px' : '50px'}; `;
385
- const StyledSearchBar = styled.input ` background: #FFFFFF 0% 0% no-repeat padding-box; border: 1px solid #dbdbdb; border-radius: 5px; padding: 5px 30px; width:100%; transition: 100ms linear; &:focus{ outline: none; border-bottom: 2px solid ${TMColors.primary}; } `;
384
+ const StyledSearchBarContainer = styled.div ` position: relative; height:35px; width: 100%; max-width: ${props => props.$isMobile ? '65%' : '650px'}; margin-left: ${props => props.$isMobile ? '10px' : '50px'}; `;
385
+ const StyledSearchBar = styled.input ` background: #FFFFFF 0% 0% no-repeat padding-box; border: 1px solid #dbdbdb; border-radius: 5px; padding: 8px 30px 8px 20px; width:100%; transition: 100ms linear; &:focus{ outline: none; border-bottom: 2px solid ${TMColors.primary}; } `;
386
386
  const StyledHeaderAppText = styled.h2 ` text-align: left; letter-spacing: 0px; color: ${TMColors.primary}; opacity: 1; `;
387
387
  const AppMenuButton = styled.div `
388
388
  width: 90px;
@@ -400,6 +400,8 @@ const AppMenuButton = styled.div `
400
400
  cursor: pointer;
401
401
  box-shadow: 0 2px 8px #2459a41a;
402
402
  user-select: none;
403
+ -webkit-touch-callout: none;
404
+ -webkit-user-select: none;
403
405
  gap: 5px;
404
406
  transition:
405
407
  transform 0.18s cubic-bezier(.4,0,.2,1),
@@ -445,6 +447,8 @@ const UserAvatar = styled.div `
445
447
  font-weight: 600;
446
448
  letter-spacing: 0.5px;
447
449
  user-select: none;
450
+ -webkit-touch-callout: none;
451
+ -webkit-user-select: none;
448
452
  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
449
453
  `;
450
454
  const UserAvatarLarge = styled(UserAvatar) `
@@ -9,7 +9,6 @@ export interface AppRoute {
9
9
  type?: AppRouteType;
10
10
  }
11
11
  interface ITMSidebar {
12
- /** List of TMSidebarItem components that make up the menu */
13
12
  items: JSX.Element[];
14
13
  height?: string;
15
14
  width?: string;
@@ -1,61 +1,33 @@
1
- import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
- import { useEffect, useState } from 'react';
1
+ import { jsx as _jsx } from "react/jsx-runtime";
3
2
  import styled from 'styled-components';
4
- import { AccessLevelsEx, DcmtTypeListCacheService, SDK_Globals } from '@topconsultnpm/sdk-ts';
3
+ import { AppModules, SDK_Globals } from '@topconsultnpm/sdk-ts';
5
4
  import { ScrollView } from 'devextreme-react';
6
5
  import { TMColors } from '../../utils/theme';
7
- import TMSpinner from '../base/TMSpinner';
8
- import { TMExceptionBoxManager } from '../base/TMPopUp';
9
6
  const StyledTMSidebarContainer = styled.div `
10
- top: ${props => props.$top || '53px'};
7
+ top: ${props => props.$top || '70px'};
11
8
  left: ${props => props.$left || '0px'};
12
9
  width: ${props => props.$width || '50px'};
13
- height: ${props => props.$height || 'calc(100% - 88px)'};
14
- background: ${() => TMColors.primaryColor} 0% 0% no-repeat padding-box;
15
- box-shadow: 0px 3px 6px #00000029;
16
- border-radius: 0;
10
+ height: ${props => props.$height || 'calc(100% - 90px)'};
11
+ background: linear-gradient(180deg, ${() => TMColors.primaryColor} 0%, ${props => props.$appName === AppModules.DESIGNER ? '#351525' : props.$appName === AppModules.ORCHESTRATOR ? '#0a3d23' : '#0a3d23'} 100%);
12
+ box-shadow: 2px 0 8px rgba(0,0,0,0.08);
13
+ border-radius: 0px 10px 10px 0px;
17
14
  opacity: 1;
18
15
  display: flex;
19
16
  flex-direction: column;
20
17
  justify-content: space-between;
21
18
  align-items: center;
22
- padding: 10px 0px;
19
+ padding: 20px 0px;
23
20
  position: absolute;
24
- border-top-right-radius: 10px;
25
- border-bottom-right-radius: 10px;
26
21
  overflow: hidden;
27
- `;
28
- const FixedBottomContainer = styled.div `
29
- display: flex;
30
- flex-direction: column;
31
- align-items: center;
32
- position: relative;
33
- bottom: 10px;
22
+ z-index: 100;
34
23
  `;
35
24
  const TMSidebar = ({ items, height, borderRightRadius, left, top, width }) => {
36
- const [canArchive, setCanArhive] = useState(false);
37
- const [canSearch, setCanSearch] = useState(false);
38
- useEffect(() => {
39
- getAllDcmtTypesAsync();
40
- }, []);
41
- const getAllDcmtTypesAsync = async () => {
42
- try {
43
- TMSpinner.show();
44
- const res = await DcmtTypeListCacheService.GetAllWithoutMetadataAsync();
45
- if (!res)
46
- return;
47
- if (res.some(r => r.perm?.canArchive === AccessLevelsEx.Yes))
48
- setCanArhive(true);
49
- if (res.some(r => r.perm?.canSearch === AccessLevelsEx.Yes))
50
- setCanSearch(true);
51
- }
52
- catch (e) {
53
- TMExceptionBoxManager.show({ exception: e });
54
- }
55
- finally {
56
- TMSpinner.hide();
57
- }
58
- };
59
- return (_jsxs(StyledTMSidebarContainer, { "$borderRightRadius": borderRightRadius, "$left": left, "$top": top, "$width": width, "$appName": SDK_Globals.appModule, "$height": height, children: [_jsx(ScrollView, { height: "100%", width: "100%", style: { padding: "5px 0 0 5px" }, useNative: true, children: items.filter(item => item.props.type !== 'app') }), _jsx(FixedBottomContainer, { children: items.filter(item => item.props.type === 'app') })] }));
25
+ return (_jsx(StyledTMSidebarContainer, { "$borderRightRadius": borderRightRadius, "$left": left, "$top": top, "$width": width, "$appName": SDK_Globals.appModule, "$height": height, children: _jsx(ScrollView, { height: "calc(100%)", width: "100%", useNative: true, children: _jsx("div", { style: {
26
+ display: "flex",
27
+ flexDirection: "column",
28
+ alignItems: "center",
29
+ gap: "3px",
30
+ width: "100%"
31
+ }, children: items.filter(item => item.props.type !== 'app') }) }) }));
60
32
  };
61
33
  export default TMSidebar;
@@ -1,8 +1,7 @@
1
1
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
- import styled from 'styled-components';
2
+ import styled, { css } from 'styled-components';
3
3
  import TMTooltip from '../base/TMTooltip';
4
4
  import { SDK_Globals } from '@topconsultnpm/sdk-ts';
5
- import { TMColors } from '../../utils/theme';
6
5
  var ApplicationThemeColor;
7
6
  (function (ApplicationThemeColor) {
8
7
  ApplicationThemeColor["SURFER"] = "#1d6f42";
@@ -11,29 +10,49 @@ var ApplicationThemeColor;
11
10
  ApplicationThemeColor["DESIGNER"] = "#482234";
12
11
  })(ApplicationThemeColor || (ApplicationThemeColor = {}));
13
12
  const StyledTMSidebarItemContainer = styled.div `
14
- margin-bottom: 10px;
15
- background-color: transparent;
16
- padding: 5px 0 0 5px;
17
- transition: all 200ms ease;
18
- user-select: none;
13
+ width: 40px;
14
+ height: 40px;
15
+ display: flex;
16
+ align-items: center;
17
+ justify-content: center;
18
+ border-radius: 8px;
19
19
  cursor: pointer;
20
- color: ${(props) => props.$isSelected ? TMColors.primaryColor : '#fff'};
21
- background-color: ${props => props.$isSelected ? 'white' : 'transparent'} ;
22
- border-radius: 3px;
23
- width: 32px;
24
- height: 32px;
20
+ color: #fff;
21
+ position: relative;
22
+ transition: background-color 200ms ease;
23
+ user-select: none;
24
+ -webkit-touch-callout: none;
25
+ -webkit-user-select: none;
26
+ background-color: ${props => props.$isSelected ? 'rgba(255,255,255,0.35)' : 'transparent'};
25
27
 
26
28
  p {
27
29
  display: none;
28
30
  }
29
31
 
30
- &:hover {
31
- background-color: ${props => !props.$isApp && 'white'};
32
- color: ${props => !props.$isApp && TMColors.primaryColor};
33
- }
32
+ ${props => !props.$isApp && css `
33
+ &:hover {
34
+ background-color: rgba(255,255,255,0.35);
35
+ }
36
+ `}
34
37
  `;
35
38
  const TMSidebarItem = (props) => {
36
39
  let app = SDK_Globals.appModule;
37
- return (_jsx(TMTooltip, { hideAfterDelay: true, content: props.tooltipContent ?? props.name, children: _jsxs(StyledTMSidebarItemContainer, { "$app": app, "$isApp": props.isAppIcon, onClick: () => props.onClick?.(props), style: { position: 'relative' }, "$isSelected": props.isSelected, children: [_jsxs("div", { children: [_jsx("i", { children: props.icon }), _jsx("p", { children: props.name })] }), props.badgeNumber > 0 && _jsx("div", { style: { width: '22px', height: '22px', backgroundColor: '#f09c0a', position: 'absolute', borderRadius: '22px', top: -6, right: -6, color: 'white', display: 'flex', alignItems: 'center', justifyContent: 'center', fontSize: '1rem', fontWeight: 'bold' }, children: props.badgeNumber })] }) }));
40
+ return (_jsx(TMTooltip, { hideAfterDelay: true, content: props.tooltipContent ?? props.name, children: _jsxs(StyledTMSidebarItemContainer, { "$app": app, "$isApp": props.isAppIcon, onClick: () => props.onClick?.(props), "$isSelected": props.isSelected, children: [_jsxs("div", { children: [_jsx("i", { children: props.icon }), _jsx("p", { children: props.name })] }), props.badgeNumber > 0 && (_jsx("div", { style: {
41
+ position: 'absolute',
42
+ top: '4px',
43
+ right: '4px',
44
+ background: '#f09c0a',
45
+ color: '#fff',
46
+ fontSize: '10px',
47
+ minWidth: '16px',
48
+ height: '16px',
49
+ borderRadius: '8px',
50
+ display: 'flex',
51
+ alignItems: 'center',
52
+ justifyContent: 'center',
53
+ padding: '0 4px',
54
+ pointerEvents: 'none',
55
+ fontWeight: 'bold'
56
+ }, children: props.badgeNumber }))] }) }));
38
57
  };
39
58
  export default TMSidebarItem;
@@ -4,7 +4,8 @@ interface ITMDataListItemViewerProps {
4
4
  dataListId?: number;
5
5
  value?: string | Date | number;
6
6
  viewMode?: DataListViewModes;
7
+ showTooltip?: boolean;
7
8
  }
8
- declare const TMDataListItemViewer: ({ dataListId, value, viewMode }: ITMDataListItemViewerProps) => import("react/jsx-runtime").JSX.Element;
9
+ declare const TMDataListItemViewer: ({ dataListId, value, viewMode, showTooltip }: ITMDataListItemViewerProps) => import("react/jsx-runtime").JSX.Element | null;
9
10
  export default TMDataListItemViewer;
10
11
  export declare const cellRenderDataListItem: (data: DataGridTypes.ColumnCellTemplateData, dataListId?: number, viewMode?: DataListViewModes) => import("react/jsx-runtime").JSX.Element;
@@ -1,78 +1,42 @@
1
- import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
1
+ import { jsx as _jsx } from "react/jsx-runtime";
2
2
  import { useEffect, useState } from 'react';
3
- import { DataListCacheService, DataListViewModes } from '@topconsultnpm/sdk-ts';
4
- import { IconWarning, SDKUI_Localizator, TMImageLibrary } from '../../helper';
5
- import { StyledDivHorizontal } from '../base/Styled';
3
+ import { DataListViewModes } from '@topconsultnpm/sdk-ts';
4
+ import { SDKUI_Localizator } from '../../helper';
6
5
  import TMTooltip from '../base/TMTooltip';
7
- import { TMColors } from '../../utils/theme';
8
6
  import { TMExceptionBoxManager } from '../base/TMPopUp';
9
- import { FormulaHelper } from '../editors/TMFormulaEditor';
10
- const TMDataListItemViewer = ({ dataListId, value, viewMode = DataListViewModes.ImageAndDescription }) => {
11
- const [dataListItem, setDataListItem] = useState();
7
+ import { useDataListItem } from '../../hooks/useDataListItem';
8
+ const TMDataListItemViewer = ({ dataListId, value, viewMode = DataListViewModes.ImageAndDescription, showTooltip = true }) => {
9
+ const { loadDataListsAsync, getDataListItem, renderDataListCell, convertToDataListValue } = useDataListItem();
10
+ const [dataListItem, setDataListItem] = useState(undefined);
12
11
  useEffect(() => {
13
- if (!dataListId || value === undefined || value === null) {
14
- setDataListItem(undefined);
15
- return;
16
- }
17
- let stringValue;
18
- if (value instanceof Date) {
19
- stringValue = value.toISOString();
20
- }
21
- else if (typeof value === 'number') {
22
- stringValue = value.toString();
23
- }
24
- else {
25
- stringValue = value;
26
- }
27
- DataListCacheService.GetAsync(dataListId).then((dl) => { setDataListItem(dl?.items?.find(o => o.value == stringValue)); }).catch((err) => { TMExceptionBoxManager.show({ exception: err }); });
28
- }, [dataListId, value]);
29
- let showIcon = viewMode != DataListViewModes.Description;
30
- const getIcon = () => {
31
- if (!showIcon)
32
- return null;
33
- if (value === undefined || value === null)
34
- return null;
35
- let stringValue;
36
- if (value instanceof Date) {
37
- stringValue = value.toISOString();
38
- }
39
- else if (typeof value === 'number') {
40
- stringValue = value.toString();
41
- }
42
- else {
43
- stringValue = value;
44
- }
45
- if (FormulaHelper.isFormula(stringValue))
46
- return null;
47
- return dataListItem ? _jsx(TMImageLibrary, { imageID: dataListItem.imageID }) : _jsx(IconWarning, { color: TMColors.warning });
48
- };
49
- const getDescription = () => {
50
- if (!dataListId)
51
- return undefined;
52
- if (value === undefined || value === null)
53
- return undefined;
54
- let displayValue;
55
- if (value instanceof Date) {
56
- displayValue = value.toLocaleDateString();
57
- }
58
- else if (typeof value === 'number') {
59
- displayValue = value.toString();
60
- }
61
- else {
62
- displayValue = value;
63
- }
64
- return dataListItem ? dataListItem.name : displayValue;
65
- };
66
- return (_jsx(TMTooltip, { content: dataListItem ? dataListItem.value : SDKUI_Localizator.ValueNotPresent, parentStyle: { width: '100%' }, childStyle: { width: '100%' }, children: _jsxs(StyledDivHorizontal, { style: { width: '100%' }, children: [getIcon(), _jsx("p", { style: {
67
- textAlign: 'left',
68
- marginLeft: showIcon ? '5px' : '',
69
- opacity: dataListItem ? 1 : 0.5,
70
- whiteSpace: 'nowrap',
71
- overflow: 'hidden',
72
- textOverflow: 'ellipsis',
73
- flexGrow: 1,
74
- minWidth: 0
75
- }, children: getDescription() })] }) }));
12
+ const loadData = async () => {
13
+ if (dataListId) {
14
+ try {
15
+ await loadDataListsAsync(new Set([dataListId]));
16
+ if (value !== undefined && value !== null) {
17
+ const stringValue = convertToDataListValue(value);
18
+ const item = getDataListItem(dataListId, stringValue);
19
+ setDataListItem(item);
20
+ }
21
+ else {
22
+ setDataListItem(undefined);
23
+ }
24
+ }
25
+ catch (err) {
26
+ TMExceptionBoxManager.show({ exception: err });
27
+ }
28
+ }
29
+ else {
30
+ setDataListItem(undefined);
31
+ }
32
+ };
33
+ loadData();
34
+ }, [dataListId, value, loadDataListsAsync, getDataListItem, convertToDataListValue]);
35
+ if (!dataListId || value === undefined || value === null) {
36
+ return null;
37
+ }
38
+ const content = renderDataListCell(value, dataListId, viewMode);
39
+ return showTooltip ? (_jsx(TMTooltip, { content: dataListItem ? dataListItem.value : SDKUI_Localizator.ValueNotPresent, parentStyle: { width: '100%' }, childStyle: { width: '100%' }, children: content })) : content;
76
40
  };
77
41
  export default TMDataListItemViewer;
78
42
  export const cellRenderDataListItem = (data, dataListId, viewMode) => {
@@ -0,0 +1,8 @@
1
+ import { DataGridTypes } from 'devextreme-react/data-grid';
2
+ interface ITMDataUserIdItemViewerProps {
3
+ userId?: number;
4
+ showIcon?: boolean;
5
+ }
6
+ declare const TMDataUserIdItemViewer: ({ userId, showIcon }: ITMDataUserIdItemViewerProps) => import("react/jsx-runtime").JSX.Element | null;
7
+ export default TMDataUserIdItemViewer;
8
+ export declare const cellRenderUserIdItem: (data: DataGridTypes.ColumnCellTemplateData, showIcon?: boolean) => import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1,39 @@
1
+ import { jsx as _jsx } from "react/jsx-runtime";
2
+ import { useEffect, useState } from 'react';
3
+ import { IconWarning, SDKUI_Localizator } from '../../helper';
4
+ import TMTooltip from '../base/TMTooltip';
5
+ import { TMExceptionBoxManager } from '../base/TMPopUp';
6
+ import { useDataUserIdItem } from '../../hooks/useDataUserIdItem';
7
+ import { TMColors } from '../../utils/theme';
8
+ const TMDataUserIdItemViewer = ({ userId, showIcon = false }) => {
9
+ const { loadUsersAsync, getUserItem, renderUserIdViewer } = useDataUserIdItem();
10
+ const [userItem, setUserItem] = useState(undefined);
11
+ useEffect(() => {
12
+ const loadData = async () => {
13
+ if (userId && userId > 0) {
14
+ try {
15
+ await loadUsersAsync(new Set([userId]));
16
+ const item = getUserItem(userId);
17
+ setUserItem(item);
18
+ }
19
+ catch (err) {
20
+ TMExceptionBoxManager.show({ exception: err });
21
+ }
22
+ }
23
+ else {
24
+ setUserItem(undefined);
25
+ }
26
+ };
27
+ loadData();
28
+ }, [userId, loadUsersAsync, getUserItem]);
29
+ if (!userId || userId <= 0) {
30
+ return null;
31
+ }
32
+ const content = renderUserIdViewer(userId, showIcon);
33
+ return userItem ? content :
34
+ _jsx(TMTooltip, { content: SDKUI_Localizator.ValueNotPresent, children: _jsx(IconWarning, { color: TMColors.warning }) });
35
+ };
36
+ export default TMDataUserIdItemViewer;
37
+ export const cellRenderUserIdItem = (data, showIcon) => {
38
+ return (_jsx(TMDataUserIdItemViewer, { userId: data.value, showIcon: showIcon }));
39
+ };
@@ -1 +1 @@
1
- @import"https://fonts.googleapis.com/css2?family=Open+Sans:ital,wght@0,300;0,400;0,500;0,600;0,700;0,800;1,300;1,400;1,500;1,600;1,700;1,800&display=swap";@import"https://fonts.googleapis.com/css2?family=Open+Sans:ital,wght@0,300;0,400;0,500;0,600;0,700;0,800;1,300;1,400;1,500;1,600;1,700;1,800&display=swap";*{margin:0;padding:0;box-sizing:border-box;font-family:"Open Sans",sans-serif}.tm-tooltip-container-base,.tm-tooltip-container-base-right,.tm-tooltip-container-base-bottom,.tm-tooltip-container-base-left,.tm-tooltip-container-base-top{position:absolute;width:max-content;height:max-content;border-radius:5px;user-select:none;z-index:20000070}.tm-tooltip-container-base-top{top:-0.8rem;left:0;transform:translateY(-100%)}.tm-tooltip-container-base-left{left:-0.8rem;top:0;transform:translateX(-100%)}.tm-tooltip-container-base-bottom{bottom:-0.8rem;left:0;transform:translateY(100%)}.tm-tooltip-container-base-right{right:-0.8rem;top:0;transform:translateX(100%)}.tm-tooltip-arrow,.tm-tooltip-arrow-right,.tm-tooltip-arrow-left,.tm-tooltip-arrow-top,.tm-tooltip-arrow-bottom{position:absolute;width:0;height:0;z-index:50000}.tm-tooltip-arrow-bottom{top:-8px;left:8px;border-bottom:9px solid #fff;border-left:9px solid rgba(0,0,0,0);border-right:9px solid rgba(0,0,0,0)}.tm-tooltip-arrow-top{bottom:-8px;left:8px;border-top:9px solid #fff;border-left:9px solid rgba(0,0,0,0);border-right:9px solid rgba(0,0,0,0)}.tm-tooltip-arrow-left{top:8px;right:-8px;border-left:9px solid #fff;border-top:9px solid rgba(0,0,0,0);border-bottom:9px solid rgba(0,0,0,0)}.tm-tooltip-arrow-right{top:8px;left:-8px;border-right:9px solid #fff;border-top:9px solid rgba(0,0,0,0);border-bottom:9px solid rgba(0,0,0,0)}#user-credentials-popup .dx-accordion-item-title::before{content:none !important}*{margin:0;padding:0;box-sizing:border-box;font-family:"Open Sans",sans-serif}.tm-tooltip-container-base,.tm-tooltip-container-base-top,.tm-tooltip-container-base-left,.tm-tooltip-container-base-bottom,.tm-tooltip-container-base-right{position:absolute;width:max-content;height:max-content;border-radius:5px;user-select:none;z-index:20000070}.tm-tooltip-container-base-top{top:-0.8rem;left:0;transform:translateY(-100%)}.tm-tooltip-container-base-left{left:-0.8rem;top:0;transform:translateX(-100%)}.tm-tooltip-container-base-bottom{bottom:-0.8rem;left:0;transform:translateY(100%)}.tm-tooltip-container-base-right{right:-0.8rem;top:0;transform:translateX(100%)}.tm-tooltip-arrow,.tm-tooltip-arrow-bottom,.tm-tooltip-arrow-top,.tm-tooltip-arrow-left,.tm-tooltip-arrow-right{position:absolute;width:0;height:0;z-index:50000}.tm-tooltip-arrow-bottom{top:-8px;left:8px;border-bottom:9px solid #fff;border-left:9px solid rgba(0,0,0,0);border-right:9px solid rgba(0,0,0,0)}.tm-tooltip-arrow-top{bottom:-8px;left:8px;border-top:9px solid #fff;border-left:9px solid rgba(0,0,0,0);border-right:9px solid rgba(0,0,0,0)}.tm-tooltip-arrow-left{top:8px;right:-8px;border-left:9px solid #fff;border-top:9px solid rgba(0,0,0,0);border-bottom:9px solid rgba(0,0,0,0)}.tm-tooltip-arrow-right{top:8px;left:-8px;border-right:9px solid #fff;border-top:9px solid rgba(0,0,0,0);border-bottom:9px solid rgba(0,0,0,0)}#user-credentials-popup .dx-accordion-item-title::before{content:none !important}@keyframes show-error{0%{display:none;opacity:0;z-index:20000999}5%{display:block;opacity:1;z-index:20000999}95%{display:block;opacity:1;z-index:20000999}100%{opacity:0;display:none;z-index:20000999}}.tm-alert-animation-style{animation:show-error both;animation-timing-function:linear;animation-iteration-count:none;z-index:20000999}.tm-alert-container{position:absolute;width:100%;height:100%;z-index:20000999}@keyframes loading{from{width:0}to{width:100%}}.tm-alert-loading{width:100%;height:5px;position:absolute;bottom:0;left:0;animation:loading;animation-duration:5000ms}.tm-alert-icon{position:absolute;width:22px;height:22px;background-color:#fff;top:"20px";left:"20px";border-radius:50%;display:flex;align-items:center;justify-content:center}.dx-context-menu.dx-overlay-content{height:auto !important;max-height:none !important}.dx-context-menu .dx-menu-items-container{max-height:none !important}.custom-mentions-wrapper span.dx-mention span[contenteditable=false]>span:first-child{font-size:0;width:0;display:inline-block;overflow:hidden}.custom-mentions-wrapper span.dx-mention{color:#2559a5;font-weight:bold;background-color:rgba(0,0,0,0)}
1
+ @import"https://fonts.googleapis.com/css2?family=Open+Sans:ital,wght@0,300;0,400;0,500;0,600;0,700;0,800;1,300;1,400;1,500;1,600;1,700;1,800&display=swap";@import"https://fonts.googleapis.com/css2?family=Open+Sans:ital,wght@0,300;0,400;0,500;0,600;0,700;0,800;1,300;1,400;1,500;1,600;1,700;1,800&display=swap";*{margin:0;padding:0;box-sizing:border-box;font-family:"Open Sans",sans-serif}.tm-tooltip-container-base,.tm-tooltip-container-base-right,.tm-tooltip-container-base-bottom,.tm-tooltip-container-base-left,.tm-tooltip-container-base-top{position:absolute;width:max-content;height:max-content;border-radius:5px;user-select:none;z-index:20000070}.tm-tooltip-container-base-top{top:-0.8rem;left:0;transform:translateY(-100%)}.tm-tooltip-container-base-left{left:-0.8rem;top:0;transform:translateX(-100%)}.tm-tooltip-container-base-bottom{bottom:-0.8rem;left:0;transform:translateY(100%)}.tm-tooltip-container-base-right{right:-0.8rem;top:0;transform:translateX(100%)}.tm-tooltip-arrow,.tm-tooltip-arrow-right,.tm-tooltip-arrow-left,.tm-tooltip-arrow-top,.tm-tooltip-arrow-bottom{position:absolute;width:0;height:0;z-index:50000}.tm-tooltip-arrow-bottom{top:-8px;left:8px;border-bottom:9px solid #fff;border-left:9px solid rgba(0,0,0,0);border-right:9px solid rgba(0,0,0,0)}.tm-tooltip-arrow-top{bottom:-8px;left:8px;border-top:9px solid #fff;border-left:9px solid rgba(0,0,0,0);border-right:9px solid rgba(0,0,0,0)}.tm-tooltip-arrow-left{top:8px;right:-8px;border-left:9px solid #fff;border-top:9px solid rgba(0,0,0,0);border-bottom:9px solid rgba(0,0,0,0)}.tm-tooltip-arrow-right{top:8px;left:-8px;border-right:9px solid #fff;border-top:9px solid rgba(0,0,0,0);border-bottom:9px solid rgba(0,0,0,0)}#user-credentials-popup .dx-accordion-item-title::before{content:none !important}*{margin:0;padding:0;box-sizing:border-box;font-family:"Open Sans",sans-serif}.tm-tooltip-container-base,.tm-tooltip-container-base-top,.tm-tooltip-container-base-left,.tm-tooltip-container-base-bottom,.tm-tooltip-container-base-right{position:absolute;width:max-content;height:max-content;border-radius:5px;user-select:none;z-index:20000070}.tm-tooltip-container-base-top{top:-0.8rem;left:0;transform:translateY(-100%)}.tm-tooltip-container-base-left{left:-0.8rem;top:0;transform:translateX(-100%)}.tm-tooltip-container-base-bottom{bottom:-0.8rem;left:0;transform:translateY(100%)}.tm-tooltip-container-base-right{right:-0.8rem;top:0;transform:translateX(100%)}.tm-tooltip-arrow,.tm-tooltip-arrow-bottom,.tm-tooltip-arrow-top,.tm-tooltip-arrow-left,.tm-tooltip-arrow-right{position:absolute;width:0;height:0;z-index:50000}.tm-tooltip-arrow-bottom{top:-8px;left:8px;border-bottom:9px solid #fff;border-left:9px solid rgba(0,0,0,0);border-right:9px solid rgba(0,0,0,0)}.tm-tooltip-arrow-top{bottom:-8px;left:8px;border-top:9px solid #fff;border-left:9px solid rgba(0,0,0,0);border-right:9px solid rgba(0,0,0,0)}.tm-tooltip-arrow-left{top:8px;right:-8px;border-left:9px solid #fff;border-top:9px solid rgba(0,0,0,0);border-bottom:9px solid rgba(0,0,0,0)}.tm-tooltip-arrow-right{top:8px;left:-8px;border-right:9px solid #fff;border-top:9px solid rgba(0,0,0,0);border-bottom:9px solid rgba(0,0,0,0)}#user-credentials-popup .dx-accordion-item-title::before{content:none !important}@keyframes show-error{0%{display:none;opacity:0;z-index:20000999}5%{display:block;opacity:1;z-index:20000999}95%{display:block;opacity:1;z-index:20000999}100%{opacity:0;display:none;z-index:20000999}}.tm-alert-animation-style{animation:show-error both;animation-timing-function:linear;animation-iteration-count:none;z-index:20000999}.tm-alert-container{position:absolute;width:100%;height:100%;z-index:20000999}@keyframes loading{from{width:0}to{width:100%}}.tm-alert-loading{width:100%;height:5px;position:absolute;bottom:0;left:0;animation:loading;animation-duration:5000ms}.tm-alert-icon{position:absolute;width:22px;height:22px;background-color:#fff;top:"20px";left:"20px";border-radius:50%;display:flex;align-items:center;justify-content:center}.dx-context-menu.dx-overlay-content{height:auto !important;max-height:none !important}.dx-context-menu .dx-menu-items-container{max-height:none !important}.custom-mentions-wrapper span.dx-mention span[contenteditable=false]>span:first-child{font-size:0;width:0;display:inline-block;overflow:hidden}.custom-mentions-wrapper span.dx-mention{color:#2559a5;font-weight:bold;background-color:rgba(0,0,0,0)}.dx-treeview-node.dx-treeview-item-with-checkbox.dx-state-selected.dx-treeview-root-node.dx-treeview-node-is-leaf[aria-disabled=true]{display:none !important}
@@ -47,6 +47,9 @@ export declare class ThemeSettings {
47
47
  gridSettings: DataGridSettings;
48
48
  };
49
49
  }
50
+ export declare const DEFAULT_PREVIEW_THRESHOLD = 500;
51
+ export declare const DEFAULT_PAGE_SIZE = 100;
52
+ export declare const DEFAULT_MAX_DCMTS_TO_BE_RETURNED = 200;
50
53
  export declare class SearchSettings {
51
54
  autoFindReferences: ObjectClasses[];
52
55
  invoiceRetrieveFormat: InvoiceRetrieveFormats;
@@ -54,6 +57,25 @@ export declare class SearchSettings {
54
57
  mruTIDs: number[];
55
58
  defaultTree: number;
56
59
  previewThreshold: number;
60
+ pageSize: number;
61
+ maxDcmtsToBeReturned: number;
62
+ floatingMenuBar: FloatingMenuBarSettings;
63
+ panelLayout: {
64
+ [id: string]: {
65
+ visible: boolean;
66
+ width: string;
67
+ height: string;
68
+ };
69
+ };
70
+ }
71
+ export declare class FloatingMenuBarSettings {
72
+ orientation?: 'horizontal' | 'vertical';
73
+ itemIds?: string[];
74
+ position?: {
75
+ x: number;
76
+ y: number;
77
+ };
78
+ positionFormat?: 'pixels' | 'percentage';
57
79
  }
58
80
  export declare class ArchivingSettings {
59
81
  mruTIDs: number[];
@@ -90,6 +90,9 @@ export class ThemeSettings {
90
90
  };
91
91
  }
92
92
  }
93
+ export const DEFAULT_PREVIEW_THRESHOLD = 500; // KB
94
+ export const DEFAULT_PAGE_SIZE = 100;
95
+ export const DEFAULT_MAX_DCMTS_TO_BE_RETURNED = 200;
93
96
  export class SearchSettings {
94
97
  constructor() {
95
98
  this.autoFindReferences = [];
@@ -97,9 +100,15 @@ export class SearchSettings {
97
100
  this.orderRetrieveFormat = OrderRetrieveFormats.NSO_HTML;
98
101
  this.mruTIDs = [];
99
102
  this.defaultTree = -1;
100
- this.previewThreshold = 500; // KB
103
+ this.previewThreshold = DEFAULT_PREVIEW_THRESHOLD;
104
+ this.pageSize = DEFAULT_PAGE_SIZE;
105
+ this.maxDcmtsToBeReturned = DEFAULT_MAX_DCMTS_TO_BE_RETURNED;
106
+ this.floatingMenuBar = new FloatingMenuBarSettings();
107
+ this.panelLayout = {};
101
108
  }
102
109
  }
110
+ export class FloatingMenuBarSettings {
111
+ }
103
112
  export class ArchivingSettings {
104
113
  constructor() {
105
114
  this.mruTIDs = [];