@topconsultnpm/sdkui-react-beta 6.5.51

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 (389) hide show
  1. package/lib/assets/6.png +0 -0
  2. package/lib/assets/ImageLibrary/arrow_001.png +0 -0
  3. package/lib/assets/ImageLibrary/arrow_002.png +0 -0
  4. package/lib/assets/ImageLibrary/arrow_003.png +0 -0
  5. package/lib/assets/ImageLibrary/arrow_004.png +0 -0
  6. package/lib/assets/ImageLibrary/arrow_005.png +0 -0
  7. package/lib/assets/ImageLibrary/arrow_006.png +0 -0
  8. package/lib/assets/ImageLibrary/arrow_007.png +0 -0
  9. package/lib/assets/ImageLibrary/arrow_008.png +0 -0
  10. package/lib/assets/ImageLibrary/arrow_009.png +0 -0
  11. package/lib/assets/ImageLibrary/arrow_010.png +0 -0
  12. package/lib/assets/ImageLibrary/arrow_011.png +0 -0
  13. package/lib/assets/ImageLibrary/arrow_012.png +0 -0
  14. package/lib/assets/ImageLibrary/book_001.png +0 -0
  15. package/lib/assets/ImageLibrary/book_002.png +0 -0
  16. package/lib/assets/ImageLibrary/book_003.png +0 -0
  17. package/lib/assets/ImageLibrary/book_004.png +0 -0
  18. package/lib/assets/ImageLibrary/book_005.png +0 -0
  19. package/lib/assets/ImageLibrary/book_006.png +0 -0
  20. package/lib/assets/ImageLibrary/book_007.png +0 -0
  21. package/lib/assets/ImageLibrary/clock_001.png +0 -0
  22. package/lib/assets/ImageLibrary/clock_002.png +0 -0
  23. package/lib/assets/ImageLibrary/clock_003.png +0 -0
  24. package/lib/assets/ImageLibrary/cube_001.png +0 -0
  25. package/lib/assets/ImageLibrary/cube_002.png +0 -0
  26. package/lib/assets/ImageLibrary/cube_003.png +0 -0
  27. package/lib/assets/ImageLibrary/dcmt_001.png +0 -0
  28. package/lib/assets/ImageLibrary/dcmt_002.png +0 -0
  29. package/lib/assets/ImageLibrary/dcmt_003.png +0 -0
  30. package/lib/assets/ImageLibrary/dcmt_004.png +0 -0
  31. package/lib/assets/ImageLibrary/dcmt_005.png +0 -0
  32. package/lib/assets/ImageLibrary/dcmt_006.png +0 -0
  33. package/lib/assets/ImageLibrary/dcmt_007.png +0 -0
  34. package/lib/assets/ImageLibrary/dcmt_008.png +0 -0
  35. package/lib/assets/ImageLibrary/emoticon_001.png +0 -0
  36. package/lib/assets/ImageLibrary/emoticon_002.png +0 -0
  37. package/lib/assets/ImageLibrary/emoticon_003.png +0 -0
  38. package/lib/assets/ImageLibrary/emoticon_004.png +0 -0
  39. package/lib/assets/ImageLibrary/fld_001.png +0 -0
  40. package/lib/assets/ImageLibrary/fld_002.png +0 -0
  41. package/lib/assets/ImageLibrary/fld_003.png +0 -0
  42. package/lib/assets/ImageLibrary/fld_004.png +0 -0
  43. package/lib/assets/ImageLibrary/fld_005.png +0 -0
  44. package/lib/assets/ImageLibrary/fld_006.png +0 -0
  45. package/lib/assets/ImageLibrary/fld_007.png +0 -0
  46. package/lib/assets/ImageLibrary/fld_008.png +0 -0
  47. package/lib/assets/ImageLibrary/fld_009.png +0 -0
  48. package/lib/assets/ImageLibrary/fld_010.png +0 -0
  49. package/lib/assets/ImageLibrary/fld_011.png +0 -0
  50. package/lib/assets/ImageLibrary/fld_012.png +0 -0
  51. package/lib/assets/ImageLibrary/fld_013.png +0 -0
  52. package/lib/assets/ImageLibrary/fld_014.png +0 -0
  53. package/lib/assets/ImageLibrary/fld_015.png +0 -0
  54. package/lib/assets/ImageLibrary/fld_016.png +0 -0
  55. package/lib/assets/ImageLibrary/fld_017.png +0 -0
  56. package/lib/assets/ImageLibrary/fld_018.png +0 -0
  57. package/lib/assets/ImageLibrary/fld_019.png +0 -0
  58. package/lib/assets/ImageLibrary/fld_020.png +0 -0
  59. package/lib/assets/ImageLibrary/fld_021.png +0 -0
  60. package/lib/assets/ImageLibrary/fld_022.png +0 -0
  61. package/lib/assets/ImageLibrary/fld_023.png +0 -0
  62. package/lib/assets/ImageLibrary/fld_024.png +0 -0
  63. package/lib/assets/ImageLibrary/fld_025.png +0 -0
  64. package/lib/assets/ImageLibrary/fld_026.png +0 -0
  65. package/lib/assets/ImageLibrary/fld_027.png +0 -0
  66. package/lib/assets/ImageLibrary/fld_028.png +0 -0
  67. package/lib/assets/ImageLibrary/fld_029.png +0 -0
  68. package/lib/assets/ImageLibrary/fld_030.png +0 -0
  69. package/lib/assets/ImageLibrary/fld_031.png +0 -0
  70. package/lib/assets/ImageLibrary/fld_032.png +0 -0
  71. package/lib/assets/ImageLibrary/fld_033.png +0 -0
  72. package/lib/assets/ImageLibrary/gen_001.png +0 -0
  73. package/lib/assets/ImageLibrary/gen_002.png +0 -0
  74. package/lib/assets/ImageLibrary/gen_003.png +0 -0
  75. package/lib/assets/ImageLibrary/gen_004.png +0 -0
  76. package/lib/assets/ImageLibrary/gen_005.png +0 -0
  77. package/lib/assets/ImageLibrary/gen_006.png +0 -0
  78. package/lib/assets/ImageLibrary/gen_007.png +0 -0
  79. package/lib/assets/ImageLibrary/gen_008.png +0 -0
  80. package/lib/assets/ImageLibrary/gen_009.png +0 -0
  81. package/lib/assets/ImageLibrary/gen_010.png +0 -0
  82. package/lib/assets/ImageLibrary/gen_011.png +0 -0
  83. package/lib/assets/ImageLibrary/gen_012.png +0 -0
  84. package/lib/assets/ImageLibrary/gen_013.png +0 -0
  85. package/lib/assets/ImageLibrary/gen_014.png +0 -0
  86. package/lib/assets/ImageLibrary/gen_015.png +0 -0
  87. package/lib/assets/ImageLibrary/gen_016.png +0 -0
  88. package/lib/assets/ImageLibrary/gen_017.png +0 -0
  89. package/lib/assets/ImageLibrary/gen_018.png +0 -0
  90. package/lib/assets/ImageLibrary/gen_019.png +0 -0
  91. package/lib/assets/ImageLibrary/gen_020.png +0 -0
  92. package/lib/assets/ImageLibrary/gen_021.png +0 -0
  93. package/lib/assets/ImageLibrary/gen_022.png +0 -0
  94. package/lib/assets/ImageLibrary/gen_023.png +0 -0
  95. package/lib/assets/ImageLibrary/gen_024.png +0 -0
  96. package/lib/assets/ImageLibrary/gen_025.png +0 -0
  97. package/lib/assets/ImageLibrary/gen_026.png +0 -0
  98. package/lib/assets/ImageLibrary/gen_027.png +0 -0
  99. package/lib/assets/ImageLibrary/gen_028.png +0 -0
  100. package/lib/assets/ImageLibrary/gen_029.png +0 -0
  101. package/lib/assets/ImageLibrary/gen_030.png +0 -0
  102. package/lib/assets/ImageLibrary/gen_031.png +0 -0
  103. package/lib/assets/ImageLibrary/gen_032.png +0 -0
  104. package/lib/assets/ImageLibrary/gen_033.png +0 -0
  105. package/lib/assets/ImageLibrary/gen_034.png +0 -0
  106. package/lib/assets/ImageLibrary/gen_035.png +0 -0
  107. package/lib/assets/ImageLibrary/gen_036.png +0 -0
  108. package/lib/assets/ImageLibrary/gen_037.png +0 -0
  109. package/lib/assets/ImageLibrary/gen_038.png +0 -0
  110. package/lib/assets/ImageLibrary/gen_039.png +0 -0
  111. package/lib/assets/ImageLibrary/gen_040.png +0 -0
  112. package/lib/assets/ImageLibrary/gen_041.png +0 -0
  113. package/lib/assets/ImageLibrary/gen_042.png +0 -0
  114. package/lib/assets/ImageLibrary/gen_043.png +0 -0
  115. package/lib/assets/ImageLibrary/gen_044.png +0 -0
  116. package/lib/assets/ImageLibrary/gen_045.png +0 -0
  117. package/lib/assets/ImageLibrary/gen_046.png +0 -0
  118. package/lib/assets/ImageLibrary/gen_047.png +0 -0
  119. package/lib/assets/ImageLibrary/gen_048.png +0 -0
  120. package/lib/assets/ImageLibrary/gen_049.png +0 -0
  121. package/lib/assets/ImageLibrary/gen_050.png +0 -0
  122. package/lib/assets/ImageLibrary/gen_051.png +0 -0
  123. package/lib/assets/ImageLibrary/gen_052.png +0 -0
  124. package/lib/assets/ImageLibrary/hand_001.png +0 -0
  125. package/lib/assets/ImageLibrary/hand_002.png +0 -0
  126. package/lib/assets/ImageLibrary/hand_003.png +0 -0
  127. package/lib/assets/ImageLibrary/hand_004.png +0 -0
  128. package/lib/assets/ImageLibrary/hand_005.png +0 -0
  129. package/lib/assets/ImageLibrary/hand_006.png +0 -0
  130. package/lib/assets/ImageLibrary/law_001.png +0 -0
  131. package/lib/assets/ImageLibrary/law_002.png +0 -0
  132. package/lib/assets/ImageLibrary/law_003.png +0 -0
  133. package/lib/assets/ImageLibrary/lock_001.png +0 -0
  134. package/lib/assets/ImageLibrary/lock_002.png +0 -0
  135. package/lib/assets/ImageLibrary/lock_003.png +0 -0
  136. package/lib/assets/ImageLibrary/mail_001.png +0 -0
  137. package/lib/assets/ImageLibrary/mail_002.png +0 -0
  138. package/lib/assets/ImageLibrary/mail_003.png +0 -0
  139. package/lib/assets/ImageLibrary/mail_004.png +0 -0
  140. package/lib/assets/ImageLibrary/mail_005.png +0 -0
  141. package/lib/assets/ImageLibrary/mail_006.png +0 -0
  142. package/lib/assets/ImageLibrary/mail_007.png +0 -0
  143. package/lib/assets/ImageLibrary/mail_008.png +0 -0
  144. package/lib/assets/ImageLibrary/mail_009.png +0 -0
  145. package/lib/assets/ImageLibrary/mail_010.png +0 -0
  146. package/lib/assets/ImageLibrary/mail_011.png +0 -0
  147. package/lib/assets/ImageLibrary/mail_012.png +0 -0
  148. package/lib/assets/ImageLibrary/mail_013.png +0 -0
  149. package/lib/assets/ImageLibrary/mail_014.png +0 -0
  150. package/lib/assets/ImageLibrary/mail_015.png +0 -0
  151. package/lib/assets/ImageLibrary/net_001.png +0 -0
  152. package/lib/assets/ImageLibrary/net_002.png +0 -0
  153. package/lib/assets/ImageLibrary/net_003.png +0 -0
  154. package/lib/assets/ImageLibrary/net_004.png +0 -0
  155. package/lib/assets/ImageLibrary/nmbr_001.png +0 -0
  156. package/lib/assets/ImageLibrary/nmbr_002.png +0 -0
  157. package/lib/assets/ImageLibrary/nmbr_003.png +0 -0
  158. package/lib/assets/ImageLibrary/nmbr_004.png +0 -0
  159. package/lib/assets/ImageLibrary/nmbr_005.png +0 -0
  160. package/lib/assets/ImageLibrary/nmbr_006.png +0 -0
  161. package/lib/assets/ImageLibrary/nmbr_007.png +0 -0
  162. package/lib/assets/ImageLibrary/nmbr_008.png +0 -0
  163. package/lib/assets/ImageLibrary/nmbr_009.png +0 -0
  164. package/lib/assets/ImageLibrary/note_001.png +0 -0
  165. package/lib/assets/ImageLibrary/note_002.png +0 -0
  166. package/lib/assets/ImageLibrary/note_003.png +0 -0
  167. package/lib/assets/ImageLibrary/note_004.png +0 -0
  168. package/lib/assets/ImageLibrary/note_005.png +0 -0
  169. package/lib/assets/ImageLibrary/note_006.png +0 -0
  170. package/lib/assets/ImageLibrary/note_007.png +0 -0
  171. package/lib/assets/ImageLibrary/note_008.png +0 -0
  172. package/lib/assets/ImageLibrary/note_009.png +0 -0
  173. package/lib/assets/ImageLibrary/note_010.png +0 -0
  174. package/lib/assets/ImageLibrary/note_011.png +0 -0
  175. package/lib/assets/ImageLibrary/note_012.png +0 -0
  176. package/lib/assets/ImageLibrary/note_013.png +0 -0
  177. package/lib/assets/ImageLibrary/note_014.png +0 -0
  178. package/lib/assets/ImageLibrary/note_015.png +0 -0
  179. package/lib/assets/ImageLibrary/note_016.png +0 -0
  180. package/lib/assets/ImageLibrary/run_001.png +0 -0
  181. package/lib/assets/ImageLibrary/run_002.png +0 -0
  182. package/lib/assets/ImageLibrary/run_003.png +0 -0
  183. package/lib/assets/ImageLibrary/sem_001.png +0 -0
  184. package/lib/assets/ImageLibrary/sem_002.png +0 -0
  185. package/lib/assets/ImageLibrary/sem_003.png +0 -0
  186. package/lib/assets/ImageLibrary/sem_004.png +0 -0
  187. package/lib/assets/ImageLibrary/sem_005.png +0 -0
  188. package/lib/assets/ImageLibrary/star_001.png +0 -0
  189. package/lib/assets/ImageLibrary/star_002.png +0 -0
  190. package/lib/assets/ImageLibrary/star_003.png +0 -0
  191. package/lib/assets/ImageLibrary/star_004.png +0 -0
  192. package/lib/assets/ImageLibrary/star_005.png +0 -0
  193. package/lib/assets/ImageLibrary/star_006.png +0 -0
  194. package/lib/assets/ImageLibrary/state_001.png +0 -0
  195. package/lib/assets/ImageLibrary/state_002.png +0 -0
  196. package/lib/assets/ImageLibrary/state_003.png +0 -0
  197. package/lib/assets/ImageLibrary/state_004.png +0 -0
  198. package/lib/assets/ImageLibrary/state_005.png +0 -0
  199. package/lib/assets/ImageLibrary/study_001.png +0 -0
  200. package/lib/assets/ImageLibrary/study_002.png +0 -0
  201. package/lib/assets/ImageLibrary/user_001.png +0 -0
  202. package/lib/assets/ImageLibrary/user_002.png +0 -0
  203. package/lib/assets/ImageLibrary/user_003.png +0 -0
  204. package/lib/assets/ImageLibrary/user_004.png +0 -0
  205. package/lib/assets/ImageLibrary/user_005.png +0 -0
  206. package/lib/assets/ImageLibrary/user_006.png +0 -0
  207. package/lib/assets/ImageLibrary/user_007.png +0 -0
  208. package/lib/assets/ImageLibrary/user_008.png +0 -0
  209. package/lib/assets/ImageLibrary/user_009.png +0 -0
  210. package/lib/assets/ImageLibrary/user_010.png +0 -0
  211. package/lib/assets/ImageLibrary/user_011.png +0 -0
  212. package/lib/assets/ImageLibrary/user_012.png +0 -0
  213. package/lib/assets/ImageLibrary/user_013.png +0 -0
  214. package/lib/assets/ImageLibrary/user_014.png +0 -0
  215. package/lib/assets/ImageLibrary/user_015.png +0 -0
  216. package/lib/assets/ImageLibrary/user_016.png +0 -0
  217. package/lib/assets/ImageLibrary/user_017.png +0 -0
  218. package/lib/assets/ImageLibrary/user_018.png +0 -0
  219. package/lib/assets/ImageLibrary/user_019.png +0 -0
  220. package/lib/assets/ImageLibrary/user_020.png +0 -0
  221. package/lib/assets/ImageLibrary/user_021.png +0 -0
  222. package/lib/assets/ImageLibrary/user_022.png +0 -0
  223. package/lib/assets/ImageLibrary/user_023.png +0 -0
  224. package/lib/assets/ImageLibrary/vehicle_001.png +0 -0
  225. package/lib/assets/ImageLibrary/vehicle_002.png +0 -0
  226. package/lib/assets/ImageLibrary/vehicle_003.png +0 -0
  227. package/lib/assets/ImageLibrary/vehicle_004.png +0 -0
  228. package/lib/assets/ImageLibrary/vehicle_005.png +0 -0
  229. package/lib/assets/ImageLibrary/vehicle_006.png +0 -0
  230. package/lib/assets/ImageLibrary/vehicle_007.png +0 -0
  231. package/lib/assets/ImageLibrary/vehicle_008.png +0 -0
  232. package/lib/assets/Metadata/DataList_32.png +0 -0
  233. package/lib/assets/Metadata/DynamicDataList_32.png +0 -0
  234. package/lib/assets/Metadata/MetadataComputed_32.png +0 -0
  235. package/lib/assets/Metadata/MetadataDateTime_16.png +0 -0
  236. package/lib/assets/Metadata/MetadataNumeric_16.png +0 -0
  237. package/lib/assets/Metadata/MetadataSpecial_32.png +0 -0
  238. package/lib/assets/Metadata/MetadataText_16.png +0 -0
  239. package/lib/assets/Metadata/Metadata_32.png +0 -0
  240. package/lib/assets/Metadata/Numerator_32.png +0 -0
  241. package/lib/assets/Metadata/UserLevel_Member_32.png +0 -0
  242. package/lib/assets/Orchestrator6.png +0 -0
  243. package/lib/assets/TopMediaOrchestrator6.svg +93 -0
  244. package/lib/assets/Toppy-generico.png +0 -0
  245. package/lib/assets/background-login.png +0 -0
  246. package/lib/assets/d.png +0 -0
  247. package/lib/assets/doc.jpg +0 -0
  248. package/lib/assets/icomoon.eot +0 -0
  249. package/lib/assets/icomoon.svg +97 -0
  250. package/lib/assets/icomoon.ttf +0 -0
  251. package/lib/assets/icomoon.woff +0 -0
  252. package/lib/assets/loading.png +0 -0
  253. package/lib/assets/login-bg.png +0 -0
  254. package/lib/assets/logo-TopConsult-footer.png +0 -0
  255. package/lib/assets/logo.svg +79 -0
  256. package/lib/assets/multipleSelectionManager.jpg +0 -0
  257. package/lib/assets/s.png +0 -0
  258. package/lib/components/base/Styled.d.ts +28 -0
  259. package/lib/components/base/Styled.js +117 -0
  260. package/lib/components/base/TMAlert.d.ts +20 -0
  261. package/lib/components/base/TMAlert.js +75 -0
  262. package/lib/components/base/TMButton.d.ts +17 -0
  263. package/lib/components/base/TMButton.js +163 -0
  264. package/lib/components/base/TMClosableList.d.ts +10 -0
  265. package/lib/components/base/TMClosableList.js +69 -0
  266. package/lib/components/base/TMContextMenu.d.ts +26 -0
  267. package/lib/components/base/TMContextMenu.js +56 -0
  268. package/lib/components/base/TMDropDown.d.ts +11 -0
  269. package/lib/components/base/TMDropDown.js +64 -0
  270. package/lib/components/base/TMDropDownMenu.d.ts +17 -0
  271. package/lib/components/base/TMDropDownMenu.js +39 -0
  272. package/lib/components/base/TMEditorBase.d.ts +31 -0
  273. package/lib/components/base/TMEditorBase.js +1 -0
  274. package/lib/components/base/TMLayout.d.ts +51 -0
  275. package/lib/components/base/TMLayout.js +152 -0
  276. package/lib/components/base/TMList.d.ts +9 -0
  277. package/lib/components/base/TMList.js +46 -0
  278. package/lib/components/base/TMListView.d.ts +24 -0
  279. package/lib/components/base/TMListView.js +321 -0
  280. package/lib/components/base/TMModal.d.ts +14 -0
  281. package/lib/components/base/TMModal.js +48 -0
  282. package/lib/components/base/TMPopUp.d.ts +26 -0
  283. package/lib/components/base/TMPopUp.js +136 -0
  284. package/lib/components/base/TMProgressBar.d.ts +11 -0
  285. package/lib/components/base/TMProgressBar.js +32 -0
  286. package/lib/components/base/TMSpinner.d.ts +13 -0
  287. package/lib/components/base/TMSpinner.js +23 -0
  288. package/lib/components/base/TMTab.d.ts +20 -0
  289. package/lib/components/base/TMTab.js +42 -0
  290. package/lib/components/base/TMToggleButton.d.ts +10 -0
  291. package/lib/components/base/TMToggleButton.js +58 -0
  292. package/lib/components/base/TMTooltip.d.ts +9 -0
  293. package/lib/components/base/TMTooltip.js +19 -0
  294. package/lib/components/base/TMVilViewer.d.ts +5 -0
  295. package/lib/components/base/TMVilViewer.js +22 -0
  296. package/lib/components/choosers/TMDataListItemChooser.d.ts +19 -0
  297. package/lib/components/choosers/TMDataListItemChooser.js +37 -0
  298. package/lib/components/choosers/TMDcmtTypeChooser.d.ts +25 -0
  299. package/lib/components/choosers/TMDcmtTypeChooser.js +46 -0
  300. package/lib/components/choosers/TMMetadataChooser.d.ts +41 -0
  301. package/lib/components/choosers/TMMetadataChooser.js +118 -0
  302. package/lib/components/choosers/TMUserChooser.d.ts +26 -0
  303. package/lib/components/choosers/TMUserChooser.js +82 -0
  304. package/lib/components/editors/TMCheckBox.d.ts +9 -0
  305. package/lib/components/editors/TMCheckBox.js +90 -0
  306. package/lib/components/editors/TMDateBox.d.ts +12 -0
  307. package/lib/components/editors/TMDateBox.js +78 -0
  308. package/lib/components/editors/TMDropDown.d.ts +10 -0
  309. package/lib/components/editors/TMDropDown.js +38 -0
  310. package/lib/components/editors/TMEditorStyled.d.ts +30 -0
  311. package/lib/components/editors/TMEditorStyled.js +75 -0
  312. package/lib/components/editors/TMRadioButton.d.ts +10 -0
  313. package/lib/components/editors/TMRadioButton.js +57 -0
  314. package/lib/components/editors/TMSummary.d.ts +18 -0
  315. package/lib/components/editors/TMSummary.js +62 -0
  316. package/lib/components/editors/TMTextBox.d.ts +20 -0
  317. package/lib/components/editors/TMTextBox.js +116 -0
  318. package/lib/components/filesystem/ProgressBar.d.ts +7 -0
  319. package/lib/components/filesystem/ProgressBar.js +25 -0
  320. package/lib/components/forms/TMApplyForm.d.ts +4 -0
  321. package/lib/components/forms/TMApplyForm.js +102 -0
  322. package/lib/components/forms/TMChooserForm.d.ts +3 -0
  323. package/lib/components/forms/TMChooserForm.js +56 -0
  324. package/lib/components/forms/TMLoginForm.d.ts +32 -0
  325. package/lib/components/forms/TMLoginForm.js +986 -0
  326. package/lib/components/forms/TMSaveForm.d.ts +4 -0
  327. package/lib/components/forms/TMSaveForm.js +107 -0
  328. package/lib/components/grids/TMValidationItemsList.d.ts +6 -0
  329. package/lib/components/grids/TMValidationItemsList.js +82 -0
  330. package/lib/components/index.d.ts +44 -0
  331. package/lib/components/index.js +59 -0
  332. package/lib/components/pages/TMPage.d.ts +39 -0
  333. package/lib/components/pages/TMPage.js +194 -0
  334. package/lib/components/query/TMQueryEditor.d.ts +27 -0
  335. package/lib/components/query/TMQueryEditor.js +1044 -0
  336. package/lib/components/query/TMQueryResult.d.ts +8 -0
  337. package/lib/components/query/TMQueryResult.js +47 -0
  338. package/lib/components/settings/SettingsAppearance.d.ts +2 -0
  339. package/lib/components/settings/SettingsAppearance.js +44 -0
  340. package/lib/components/sidebar/TMHeader.d.ts +31 -0
  341. package/lib/components/sidebar/TMHeader.js +228 -0
  342. package/lib/components/sidebar/TMSidebar.d.ts +17 -0
  343. package/lib/components/sidebar/TMSidebar.js +24 -0
  344. package/lib/components/sidebar/TMSidebarItem.d.ts +12 -0
  345. package/lib/components/sidebar/TMSidebarItem.js +27 -0
  346. package/lib/components/splitter/TMSplitterLayout.d.ts +17 -0
  347. package/lib/components/splitter/TMSplitterLayout.js +215 -0
  348. package/lib/components/viewers/TMDataListItemViewer.d.ts +9 -0
  349. package/lib/components/viewers/TMDataListItemViewer.js +27 -0
  350. package/lib/components/viewers/TMMidViewer.d.ts +26 -0
  351. package/lib/components/viewers/TMMidViewer.js +110 -0
  352. package/lib/components/viewers/TMTidViewer.d.ts +21 -0
  353. package/lib/components/viewers/TMTidViewer.js +398 -0
  354. package/lib/css/tm-sdkui.css +1 -0
  355. package/lib/helper/Enum_Localizator.d.ts +8 -0
  356. package/lib/helper/Enum_Localizator.js +125 -0
  357. package/lib/helper/Globalization.d.ts +14 -0
  358. package/lib/helper/Globalization.js +80 -0
  359. package/lib/helper/SDKUI_Globals.d.ts +11 -0
  360. package/lib/helper/SDKUI_Globals.js +8 -0
  361. package/lib/helper/SDKUI_Localizator.d.ts +222 -0
  362. package/lib/helper/SDKUI_Localizator.js +2143 -0
  363. package/lib/helper/TMIcons.d.ts +171 -0
  364. package/lib/helper/TMIcons.js +507 -0
  365. package/lib/helper/TMImageLibrary.d.ts +3 -0
  366. package/lib/helper/TMImageLibrary.js +466 -0
  367. package/lib/helper/helpers.d.ts +25 -0
  368. package/lib/helper/helpers.js +250 -0
  369. package/lib/helper/index.d.ts +8 -0
  370. package/lib/helper/index.js +8 -0
  371. package/lib/helper/queryHelper.d.ts +8 -0
  372. package/lib/helper/queryHelper.js +32 -0
  373. package/lib/hooks/useForm.d.ts +18 -0
  374. package/lib/hooks/useForm.js +111 -0
  375. package/lib/hooks/useOutsideClick.d.ts +2 -0
  376. package/lib/hooks/useOutsideClick.js +38 -0
  377. package/lib/index.d.ts +7 -0
  378. package/lib/index.js +7 -0
  379. package/lib/services/index.d.ts +1 -0
  380. package/lib/services/index.js +1 -0
  381. package/lib/services/platform_services.d.ts +17 -0
  382. package/lib/services/platform_services.js +334 -0
  383. package/lib/ts/index.d.ts +1 -0
  384. package/lib/ts/index.js +1 -0
  385. package/lib/ts/types.d.ts +152 -0
  386. package/lib/ts/types.js +17 -0
  387. package/lib/utils/theme.d.ts +58 -0
  388. package/lib/utils/theme.js +57 -0
  389. package/package.json +38 -0
@@ -0,0 +1,1044 @@
1
+ import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
2
+ import { Fragment, useEffect, useState } from 'react';
3
+ import { SDK_Localizator, AccessLevels, OnJoinItem, JoinTypes, PlatformObjectValidator, MetadataDataDomains, DcmtTypeListCacheService, JoinItem, SystemMIDsAsNumber, MetadataDataTypes, OrderByItem, QueryDescriptor, QueryFunctions, QueryOperators, ResultTypes, SelectItem, SDK_Globals, UserListCacheService, WhereItem, SearchEngine, SelectItemVisibilities, DataListCacheService, QueryValidatorOptions, TMPropertyNames, AppModules } from '@topconsultnpm/sdk-ts-beta';
4
+ import styled from 'styled-components';
5
+ import TMQueryResult from './TMQueryResult';
6
+ import Accordion, { Item } from 'devextreme-react/accordion';
7
+ import { SDKUI_Localizator, IconSettings, IconSearch, IconCount, getQueryCountAsync, calcIsModified, IconClear, IconAddCircleOutline, IconDotsVerticalCircleOutline, IconHide, IconShow, IconDraggabledots, genUniqueId, LocalizeQueryOperators, LocalizeQueryFunctions, LocalizeQueryJoinTypes, IconArchiveDoc, IconArrowRight, IconCloseCircle, IconCopy, IconDcmtTypeOnlyMetadata, IconDelete, IconDownload, IconDuplicate, IconEdit, IconMail, IconMenuVertical, IconPreview, IconStar, IconSuccessCirlce, IconUndo, IconExportTo, IconAdvanced, IconArrowSortedDown, IconArrowSortedUp, IconArrowUnsorted, IconBatchUpdate, IconCheckFile, IconCheckIn, IconConvertFilePdf, IconEasy, IconRecursiveOps, IconRelation, IconShare, IconSharedDcmt, IconSignature, IconSubstFile, IconSync } from '../../helper';
8
+ import { displayMetadataValue, getDcmtTypesByQdAsync, getTIDsByQd } from '../../helper/queryHelper';
9
+ import { useOutsideClick } from '../../hooks/useOutsideClick';
10
+ import { FormModes } from '../../ts';
11
+ import { TMColors } from '../../utils/theme';
12
+ import { StyledDivHorizontal, StyledDraggableDiv, StyledModalContainer } from '../base/Styled';
13
+ import TMButton from '../base/TMButton';
14
+ import TMDropDownMenu from '../base/TMDropDownMenu';
15
+ import { TMExceptionBoxManager, TMMessageBoxManager, ButtonNames } from '../base/TMPopUp';
16
+ import TMSpinner from '../base/TMSpinner';
17
+ import { TMTabItemBadge } from '../base/TMTab';
18
+ import TMTooltip from '../base/TMTooltip';
19
+ import TMVilViewer from '../base/TMVilViewer';
20
+ import { TMDataListItemChooserForm } from '../choosers/TMDataListItemChooser';
21
+ import TMDcmtTypeChooser from '../choosers/TMDcmtTypeChooser';
22
+ import TMMetadataChooser from '../choosers/TMMetadataChooser';
23
+ import { TMUserChooserForm } from '../choosers/TMUserChooser';
24
+ import TMCheckBox from '../editors/TMCheckBox';
25
+ import TMDateBox from '../editors/TMDateBox';
26
+ import TMTextBox from '../editors/TMTextBox';
27
+ import TMApplyForm from '../forms/TMApplyForm';
28
+ import { getDisplayAlias } from '../viewers/TMMidViewer';
29
+ import { useApplyForm } from '../../hooks/useForm';
30
+ import ShowAlert from '../base/TMAlert';
31
+ const StyledRowItem = styled.div ` display: flex; flex-direction: row; align-items: center; justify-content: flex-start; margin-bottom: 5px; gap: 3px; `;
32
+ const StyledItemWrapper = styled.div ` border-radius: ${props => props.$borderRadius ? props.$borderRadius : '4px'}; padding: 4px; font-size: 1rem; user-select: none; width: max-content; `;
33
+ const StyledAccordionItemContainer = styled.div ` width: 100%; padding: 2px; display: flex; flex-direction: column; overflow-x: auto; align-items: flex-start; margin-left: 5px; gap: 3px; max-height: 300px; `;
34
+ const StyledAccordionItemContent = styled.div ` width: 100%; pointer-events: ${props => props.$disabled ? 'none' : ''}; `;
35
+ const colorValue = 'rgba(224,224,224,.5)';
36
+ const colorBrackets = 'rgba(209,52,56,.3)';
37
+ const colorOperator = 'rgba(16,124,16,.3)'; //'#b8dbf0'
38
+ const color1 = '#F5DD9C';
39
+ const color2 = 'rgba(15,108,189,.3)';
40
+ const color3 = 'rgb(199, 236, 172)';
41
+ const color4 = 'rgb(223, 204, 251)';
42
+ const color5 = 'rgb(249, 181, 114)';
43
+ const color6 = 'rgb(170, 215, 217)';
44
+ const color7 = 'rgb(243, 208, 215)';
45
+ const color8 = 'rgb(236, 202, 156)';
46
+ const color9 = 'rgb(137, 185, 173)';
47
+ const colorX = 'rgb(246, 245, 242)';
48
+ export var Descriptors;
49
+ (function (Descriptors) {
50
+ Descriptors[Descriptors["Query"] = 3] = "Query";
51
+ })(Descriptors || (Descriptors = {}));
52
+ export function useOrchApplyForm(d, formMode, inputData, onApplied, parameters) {
53
+ const newData = () => {
54
+ switch (d) {
55
+ case Descriptors.Query: return SearchEngine.NewQueryDescriptor();
56
+ default: return {};
57
+ }
58
+ };
59
+ const { formData, setFormData, formDataOrig, exception, applyData } = useApplyForm(formMode, inputData, newData, onApplied);
60
+ const [validationItems, setValidationItems] = useState([]);
61
+ return { formData, setFormData, formDataOrig, validationItems, setValidationItems, exception, applyData };
62
+ }
63
+ const TMQueryEditor = ({ formMode, inputData, onlyAdvancedSearchMode = true, isModal, showDistinct = false, showToolbar = true, validateSelect = true, validateOrderBy = true, raiseWarningForOnlyMetadataDcmtTypes = false, onApplied, onClose, height = 'auto', borderRadius = '4px', searchText, showApply, showUndo, showBack, onFromTIDChanged }) => {
64
+ const { formData, setFormData, formDataOrig, validationItems, setValidationItems, exception, applyData } = useOrchApplyForm(Descriptors.Query, formMode, inputData, onApplied);
65
+ const [isAdvancedSearch, setIsAdvancedSearch] = useState(onlyAdvancedSearchMode);
66
+ const [isEasyModeConfigurable, setIsEasyModeConfigurable] = useState(false);
67
+ const [dcmtTypesList, setDcmtTypesList] = useState([]);
68
+ const [resultSearch, setResultSearch] = useState();
69
+ const [elapsedTime, setElapsedTime] = useState(0);
70
+ const [draggingItem, setDraggingItem] = useState();
71
+ const [showId, setShowId] = useState(false);
72
+ const [showCompleteMetadataName, setShowCompleteMetadataName] = useState(false);
73
+ const [showResultSearch, setShowResultSearch] = useState(false);
74
+ const [fromCount, setFromCount] = useState(0);
75
+ useEffect(() => {
76
+ if (!formData)
77
+ return;
78
+ getDcmtTypesByQdAsync(formData).then((dtdl) => setDcmtTypesList(dtdl)).catch((err) => { TMExceptionBoxManager.show({ exception: err }); });
79
+ validateQd();
80
+ setFromCount((formData.from?.tid && formData.from?.tid > 0 ? 1 : 0) + (formData.join?.length ?? 0));
81
+ }, [formData.from, formData.join]);
82
+ useEffect(() => {
83
+ validateQd();
84
+ }, [formData.select, formData.where, formData.orderBy, formData.maxDcmtsToBeReturned, isAdvancedSearch]);
85
+ const validateQd = () => {
86
+ let vil = [];
87
+ let qvo = new QueryValidatorOptions();
88
+ qvo.DoSelectValidation = validateSelect;
89
+ qvo.DoOrderByValidation = validateOrderBy;
90
+ qvo.RaiseWarningForOnlyMetadataDcmtTypes = raiseWarningForOnlyMetadataDcmtTypes;
91
+ qvo.DoWhereHasItemsValidation = isAdvancedSearch;
92
+ PlatformObjectValidator.QueryValidatorAsync(formData, vil, qvo).then(() => { setValidationItems(vil); });
93
+ };
94
+ const errorsCount = validationItems.filter((o) => o.ResultType == ResultTypes.ERROR).length;
95
+ const isReadOnly = formMode == FormModes.ReadOnly;
96
+ const selectCount = formData?.select?.length ?? 0;
97
+ const whereCount = formData?.where?.length ?? 0;
98
+ const orderByCount = formData?.orderBy?.length ?? 0;
99
+ const qdTIDs = getTIDsByQd(formData);
100
+ // #region Join
101
+ const onAdd_JoinItem = (index = -1) => {
102
+ const joinCopy = formData?.join?.map((ji) => { return { ...ji }; }) ?? [];
103
+ let ji = new JoinItem();
104
+ ji.joinType = JoinTypes.InnerJoin;
105
+ ji.on = [];
106
+ if (index == -1)
107
+ joinCopy.push(ji);
108
+ else
109
+ joinCopy.splice(index, 0, ji);
110
+ setFormData({ ...formData, join: joinCopy });
111
+ };
112
+ const onRemove_JoinItem = (index) => {
113
+ if (!formData.join)
114
+ return;
115
+ let curTid = formData.join[index].tid;
116
+ let curAlias = formData.join[index].alias;
117
+ setFormData({
118
+ ...formData,
119
+ join: formData?.join?.filter((o, i) => i !== index),
120
+ select: formData.select?.filter((o) => o.tid != curTid || (o.tid == curTid && (o.alias ?? '') !== (curAlias ?? ''))),
121
+ where: formData.where?.filter((o) => o.tid != curTid || (o.tid == curTid && (o.alias ?? '') !== (curAlias ?? ''))),
122
+ orderBy: formData.orderBy?.filter((o) => o.tid != curTid || (o.tid == curTid && (o.alias ?? '') !== (curAlias ?? '')))
123
+ });
124
+ };
125
+ const onChange_JoinItem_TID = (tid, index) => {
126
+ if (!formData.join)
127
+ return;
128
+ let curTid = formData.join[index].tid;
129
+ let curAlias = formData.join[index].alias;
130
+ let count = dcmtTypesList.map((item) => item.id).filter(o => o == tid).length;
131
+ const joinCopy = formData?.join?.map((item, indexItem) => {
132
+ if (index != indexItem)
133
+ return item;
134
+ let newItem = new JoinItem();
135
+ newItem.init({ ...item, tid: tid, on: [] });
136
+ if (count > 0)
137
+ newItem.alias = `tbl${tid.toString().padStart(7, '0')}_A${count + 1}`;
138
+ return newItem;
139
+ });
140
+ setFormData({
141
+ ...formData,
142
+ join: joinCopy,
143
+ select: formData.select?.filter((o) => o.tid != curTid || (o.tid == curTid && (o.alias ?? '') !== (curAlias ?? ''))),
144
+ where: formData.where?.filter((o) => o.tid != curTid || (o.tid == curTid && (o.alias ?? '') !== (curAlias ?? ''))),
145
+ orderBy: formData.orderBy?.filter((o) => o.tid != curTid || (o.tid == curTid && (o.alias ?? '') !== (curAlias ?? '')))
146
+ });
147
+ };
148
+ const onChange_JoinItem_JoinType = (value, index) => {
149
+ const joinCopy = formData?.join?.map((curItem, curIndex) => {
150
+ if (index != curIndex)
151
+ return curItem;
152
+ let newItem = new JoinItem();
153
+ newItem.init({ ...curItem, joinType: value });
154
+ return newItem;
155
+ });
156
+ setFormData({ ...formData, join: joinCopy });
157
+ };
158
+ const onRemove_OnJoinItem = (index, indexOn) => {
159
+ if (!formData?.join)
160
+ return;
161
+ const joinCopy = formData?.join?.map((ji) => { return { ...ji }; }) ?? [];
162
+ joinCopy[index].on = joinCopy[index].on?.filter((o, i) => i !== indexOn);
163
+ setFormData({ ...formData, join: joinCopy });
164
+ };
165
+ const onAdd_OnJoinItem = (index, indexOn = -1) => {
166
+ const joinCopy = formData?.join?.map((ji) => { return { ...ji }; }) ?? [];
167
+ if (!joinCopy)
168
+ return;
169
+ let newOn = new OnJoinItem();
170
+ newOn.leftBrackets = "(";
171
+ newOn.operator = QueryOperators.Equal;
172
+ newOn.rightBrackets = ")";
173
+ let curJoinItem = joinCopy[index];
174
+ const onJoinCopy = curJoinItem.on?.map((oji) => { return { ...oji }; }) ?? [];
175
+ if (indexOn == -1)
176
+ onJoinCopy?.push(newOn);
177
+ else
178
+ onJoinCopy?.splice(indexOn, 0, newOn);
179
+ curJoinItem.on = onJoinCopy;
180
+ setFormData({ ...formData, join: joinCopy });
181
+ };
182
+ const onChange_OnJoinMetadatoLeft = (tid_mid, index, indexOn = -1) => {
183
+ if (!tid_mid)
184
+ return;
185
+ const joinCopy = formData?.join?.map((ji) => { return { ...ji }; }) ?? [];
186
+ if (!joinCopy)
187
+ return;
188
+ let curJoinItem = joinCopy[index];
189
+ const onJoinCopy = curJoinItem.on?.map((curItem, curIndex) => {
190
+ if (indexOn != curIndex)
191
+ return curItem;
192
+ let newOn = new OnJoinItem();
193
+ newOn.init({ ...curItem, leftTID: tid_mid.tid, leftMID: tid_mid.mid, leftAlias: tid_mid.aliasTID });
194
+ return newOn;
195
+ });
196
+ curJoinItem.on = onJoinCopy;
197
+ setFormData({ ...formData, join: joinCopy });
198
+ };
199
+ const onChange_OnJoinMetadatoRight = (tid_mid, index, indexOn = -1) => {
200
+ if (!tid_mid)
201
+ return;
202
+ const joinCopy = formData?.join?.map((ji) => { return { ...ji }; }) ?? [];
203
+ if (!joinCopy)
204
+ return;
205
+ let curJoinItem = joinCopy[index];
206
+ const onJoinCopy = curJoinItem.on?.map((curItem, curIndex) => {
207
+ if (indexOn != curIndex)
208
+ return curItem;
209
+ let newOn = new OnJoinItem();
210
+ newOn.init({ ...curItem, rightTID: tid_mid.tid, rightMID: tid_mid.mid, rightAlias: tid_mid.aliasTID });
211
+ return newOn;
212
+ });
213
+ curJoinItem.on = onJoinCopy;
214
+ setFormData({ ...formData, join: joinCopy });
215
+ };
216
+ const getJoinTypesMenuItems = (index) => {
217
+ let items = [
218
+ { text: LocalizeQueryJoinTypes(JoinTypes.InnerJoin), onClick: () => onChange_JoinItem_JoinType(JoinTypes.InnerJoin, index) },
219
+ { text: LocalizeQueryJoinTypes(JoinTypes.LeftOuterJoin), onClick: () => onChange_JoinItem_JoinType(JoinTypes.LeftOuterJoin, index) },
220
+ { text: LocalizeQueryJoinTypes(JoinTypes.RightOuterJoin), onClick: () => onChange_JoinItem_JoinType(JoinTypes.RightOuterJoin, index) },
221
+ { text: LocalizeQueryJoinTypes(JoinTypes.FullOuterJoin), onClick: () => onChange_JoinItem_JoinType(JoinTypes.FullOuterJoin, index) },
222
+ { text: LocalizeQueryJoinTypes(JoinTypes.CrossJoin), onClick: () => onChange_JoinItem_JoinType(JoinTypes.CrossJoin, index) }
223
+ ];
224
+ return items;
225
+ };
226
+ // #endregion
227
+ // #region Select
228
+ const onRemove_SelectItem = (index) => { setFormData({ ...formData, select: formData?.select?.filter((o, i) => i !== index) }); };
229
+ const onAdd_SelectItem = (index = -1) => {
230
+ const selectCopy = formData?.select?.map((si) => { return si; }) ?? [];
231
+ for (const dtd of dcmtTypesList) {
232
+ if (!dtd.metadata || dtd.metadata.length <= 0)
233
+ continue;
234
+ for (const md of dtd.metadata.slice().sort((a, b) => ((a.isSystem ?? 0) - (b.isSystem ?? 0) || (a.ordinalPosition ?? 0) - (b.ordinalPosition ?? 0)))) {
235
+ if (md.perm?.canView === AccessLevels.No && md.perm?.canUpdate === AccessLevels.No)
236
+ continue;
237
+ if (selectCopy.findIndex((o) => o.tid === dtd.id && o.mid === md.id) >= 0)
238
+ continue;
239
+ let si = new SelectItem();
240
+ si.tid = dtd.id;
241
+ si.mid = md.id;
242
+ si.visibility = SelectItemVisibilities.Visible;
243
+ si.function = QueryFunctions.None;
244
+ if (index == -1)
245
+ selectCopy.push(si);
246
+ else
247
+ selectCopy.splice(index, 0, si);
248
+ setFormData({ ...formData, select: selectCopy });
249
+ return;
250
+ }
251
+ }
252
+ };
253
+ const onAddAll_SelectItem = (tid_alias) => {
254
+ if (!tid_alias)
255
+ return;
256
+ const selectCopy = formData?.select?.slice() ?? [];
257
+ const dtd = dcmtTypesList.find(o => o.id == tid_alias.tid);
258
+ if (!dtd?.metadata || dtd.metadata.length <= 0)
259
+ return;
260
+ for (const md of dtd.metadata.filter(o => o.isSystem == 0 || o.isSystem == undefined).sort((a, b) => (a.ordinalPosition ?? 0) - (b.ordinalPosition ?? 0))) {
261
+ if (md.perm?.canView === AccessLevels.No && md.perm?.canUpdate === AccessLevels.No)
262
+ continue;
263
+ if (selectCopy.findIndex((o) => o.tid === tid_alias.tid && o.mid === md.id && o.alias == tid_alias.alias) >= 0)
264
+ continue;
265
+ let si = new SelectItem();
266
+ si.tid = dtd.id;
267
+ si.mid = md.id;
268
+ si.alias = tid_alias.alias;
269
+ si.function = QueryFunctions.None;
270
+ si.visibility = SelectItemVisibilities.Visible;
271
+ selectCopy.push(si);
272
+ }
273
+ setFormData({ ...formData, select: selectCopy });
274
+ };
275
+ const onChange_SelectItem_MID = (tid_mid, index) => {
276
+ if (!tid_mid)
277
+ return;
278
+ const selectCopy = formData?.select?.map((curItem, indexOi) => {
279
+ if (index != indexOi)
280
+ return curItem;
281
+ let newItem = new SelectItem();
282
+ newItem.init({ ...curItem, tid: tid_mid.tid, mid: tid_mid.mid, alias: tid_mid.aliasTID });
283
+ return newItem;
284
+ });
285
+ setFormData({ ...formData, select: selectCopy });
286
+ };
287
+ const onChange_SelectItem_As = (value, index) => {
288
+ const selectCopy = formData.select?.map((curItem, curIndex) => {
289
+ if (index != curIndex)
290
+ return curItem;
291
+ let newItem = new SelectItem();
292
+ newItem.init({ ...curItem, as: value });
293
+ return newItem;
294
+ });
295
+ setFormData({ ...formData, select: selectCopy });
296
+ };
297
+ const onChange_SelectItem_QueryFunction = (value, index) => {
298
+ const selectCopy = formData.select?.map((curItem, curIndex) => {
299
+ if (index != curIndex)
300
+ return curItem;
301
+ let newItem = new SelectItem();
302
+ newItem.init({ ...curItem, function: value });
303
+ return newItem;
304
+ });
305
+ setFormData({ ...formData, select: selectCopy });
306
+ };
307
+ const getQueryFunctionsMenuItems = (si, index) => {
308
+ let items = [];
309
+ items.push({ text: LocalizeQueryFunctions(QueryFunctions.None), onClick: () => onChange_SelectItem_QueryFunction(QueryFunctions.None, index) });
310
+ items.push({ text: LocalizeQueryFunctions(QueryFunctions.Count), onClick: () => onChange_SelectItem_QueryFunction(QueryFunctions.Count, index) });
311
+ items.push({ text: LocalizeQueryFunctions(QueryFunctions.Min), onClick: () => onChange_SelectItem_QueryFunction(QueryFunctions.Min, index) });
312
+ items.push({ text: LocalizeQueryFunctions(QueryFunctions.Max), onClick: () => onChange_SelectItem_QueryFunction(QueryFunctions.Max, index) });
313
+ let dataType = getMetadataDataType(si.tid, si.mid);
314
+ if (dataType == MetadataDataTypes.Number)
315
+ items.push({ text: LocalizeQueryFunctions(QueryFunctions.Sum), onClick: () => onChange_SelectItem_QueryFunction(QueryFunctions.Sum, index) });
316
+ return items;
317
+ };
318
+ const getSelectMenuItems = (index) => {
319
+ let items = [];
320
+ items.push({ text: SDKUI_Localizator.AddAbove, onClick: () => onAdd_SelectItem(index) });
321
+ items.push({ text: SDKUI_Localizator.AddBelow, onClick: () => onAdd_SelectItem(index + 1) });
322
+ for (const tid_alias of qdTIDs) {
323
+ items.push({ text: `${SDKUI_Localizator.AddAlls} ${dcmtTypesList.length > 1 ? `(${getDisplayAlias(getDcmtTypeName(tid_alias.tid), tid_alias.alias)})` : ""}`, onClick: () => onAddAll_SelectItem(tid_alias) });
324
+ }
325
+ items.push({ text: SDKUI_Localizator.Remove, onClick: () => onRemove_SelectItem(index) });
326
+ items.push({ text: SDKUI_Localizator.RemoveAll, onClick: () => setFormData({ ...formData, select: undefined }) });
327
+ return items;
328
+ };
329
+ // #endregion
330
+ // #region Where
331
+ const onChange_WhereItem_Metadato = (tid_mid, index) => {
332
+ if (!tid_mid)
333
+ return;
334
+ const whereCopy = formData.where?.map((curItem, curIndex) => {
335
+ if (index != curIndex)
336
+ return curItem;
337
+ let newWi = new WhereItem();
338
+ let dataType = getMetadataDataType(tid_mid.tid, tid_mid.mid);
339
+ newWi.init({ ...curItem, tid: tid_mid.tid, mid: tid_mid.mid, alias: tid_mid.aliasTID, operator: dataType == MetadataDataTypes.Varchar ? QueryOperators.Contain : QueryOperators.Equal, value1: undefined, value2: undefined });
340
+ return newWi;
341
+ });
342
+ setFormData({ ...formData, where: whereCopy });
343
+ };
344
+ const onChange_WhereItem_QueryOperator = (qo, index) => {
345
+ const whereCopy = formData.where?.map((curItem, curIndex) => {
346
+ if (index != curIndex)
347
+ return curItem;
348
+ let newWi = new WhereItem();
349
+ newWi.init({ ...curItem, operator: qo, value1: undefined, value2: undefined });
350
+ return newWi;
351
+ });
352
+ setFormData({ ...formData, where: whereCopy });
353
+ };
354
+ const onChange_WhereItem_Or = (or, index) => {
355
+ const whereCopy = formData.where?.map((curItem, curIndex) => {
356
+ if (index != curIndex)
357
+ return curItem;
358
+ let newWi = new WhereItem();
359
+ newWi.init({ ...curItem, or: or });
360
+ return newWi;
361
+ });
362
+ setFormData({ ...formData, where: whereCopy });
363
+ };
364
+ const onChange_WhereItem_Values = (value1, value2, index) => {
365
+ const whereCopy = formData.where?.map((curItem, curIndex) => {
366
+ if (index != curIndex)
367
+ return curItem;
368
+ let newWi = new WhereItem();
369
+ newWi.init({ ...curItem, value1: value1, value2: value2 });
370
+ return newWi;
371
+ });
372
+ setFormData({ ...formData, where: whereCopy });
373
+ };
374
+ const onChange_WhereItem_Brackets = (value, isLeft, index) => {
375
+ const whereCopy = formData.where?.map((curItem, curIndex) => {
376
+ if (index != curIndex)
377
+ return curItem;
378
+ let newWi = new WhereItem();
379
+ if (isLeft)
380
+ newWi.init({ ...curItem, leftBrackets: value });
381
+ else
382
+ newWi.init({ ...curItem, rightBrackets: value });
383
+ return newWi;
384
+ });
385
+ setFormData({ ...formData, where: whereCopy });
386
+ };
387
+ const onAdd_WhereItem = (index = -1) => {
388
+ const whereCopy = formData.where?.map((whereItem) => { return whereItem; }) ?? [];
389
+ for (const dtd of dcmtTypesList) {
390
+ if (!dtd.metadata || dtd.metadata.length <= 0)
391
+ continue;
392
+ for (const md of dtd.metadata.slice().sort((a, b) => ((a.isSystem ?? 0) - (b.isSystem ?? 0) || (a.ordinalPosition ?? 0) - (b.ordinalPosition ?? 0)))) {
393
+ if (md.perm?.canSearch !== AccessLevels.Yes)
394
+ continue;
395
+ if (whereCopy.findIndex((o) => o.tid === dtd.id && o.mid === md.id) >= 0)
396
+ continue;
397
+ let newWi = new WhereItem();
398
+ newWi.leftBrackets = "(";
399
+ newWi.rightBrackets = ")";
400
+ newWi.operator = md.dataType == MetadataDataTypes.Varchar ? QueryOperators.Contain : QueryOperators.Equal;
401
+ newWi.tid = dtd.id;
402
+ newWi.mid = md.id;
403
+ if (index == -1)
404
+ whereCopy.push(newWi);
405
+ else
406
+ whereCopy.splice(index, 0, newWi);
407
+ setFormData({ ...formData, where: whereCopy });
408
+ return;
409
+ }
410
+ }
411
+ };
412
+ const onRemove_WhereItem = (index) => { setFormData({ ...formData, where: formData?.where?.filter((o, i) => i !== index) }); };
413
+ const getQueryOperatorsMenuItems = (wi, index) => {
414
+ let items = [];
415
+ items.push({ text: LocalizeQueryOperators(QueryOperators.Equal), onClick: () => onChange_WhereItem_QueryOperator(QueryOperators.Equal, index) });
416
+ items.push({ text: LocalizeQueryOperators(QueryOperators.NotEqual), onClick: () => onChange_WhereItem_QueryOperator(QueryOperators.NotEqual, index) });
417
+ items.push({ text: LocalizeQueryOperators(QueryOperators.IsNull), onClick: () => onChange_WhereItem_QueryOperator(QueryOperators.IsNull, index) });
418
+ items.push({ text: LocalizeQueryOperators(QueryOperators.IsNotNull), onClick: () => onChange_WhereItem_QueryOperator(QueryOperators.IsNotNull, index) });
419
+ items.push({ text: LocalizeQueryOperators(QueryOperators.In), onClick: () => onChange_WhereItem_QueryOperator(QueryOperators.In, index) });
420
+ items.push({ text: LocalizeQueryOperators(QueryOperators.NotIn), onClick: () => onChange_WhereItem_QueryOperator(QueryOperators.NotIn, index) });
421
+ let mdDataType = getMetadataDataType(wi.tid, wi.mid);
422
+ if (mdDataType != MetadataDataTypes.Varchar) {
423
+ items.push({ text: LocalizeQueryOperators(QueryOperators.Greater), onClick: () => onChange_WhereItem_QueryOperator(QueryOperators.Greater, index) });
424
+ items.push({ text: LocalizeQueryOperators(QueryOperators.GreaterOrEqual), onClick: () => onChange_WhereItem_QueryOperator(QueryOperators.GreaterOrEqual, index) });
425
+ items.push({ text: LocalizeQueryOperators(QueryOperators.Less), onClick: () => onChange_WhereItem_QueryOperator(QueryOperators.Less, index) });
426
+ items.push({ text: LocalizeQueryOperators(QueryOperators.LessOrEqual), onClick: () => onChange_WhereItem_QueryOperator(QueryOperators.LessOrEqual, index) });
427
+ items.push({ text: LocalizeQueryOperators(QueryOperators.BetweenExclusive), onClick: () => onChange_WhereItem_QueryOperator(QueryOperators.BetweenExclusive, index) });
428
+ items.push({ text: LocalizeQueryOperators(QueryOperators.BetweenInclusive), onClick: () => onChange_WhereItem_QueryOperator(QueryOperators.BetweenInclusive, index) });
429
+ items.push({ text: LocalizeQueryOperators(QueryOperators.OutsideExclusive), onClick: () => onChange_WhereItem_QueryOperator(QueryOperators.OutsideExclusive, index) });
430
+ items.push({ text: LocalizeQueryOperators(QueryOperators.OutsideInclusive), onClick: () => onChange_WhereItem_QueryOperator(QueryOperators.OutsideInclusive, index) });
431
+ }
432
+ else {
433
+ items.push({ text: LocalizeQueryOperators(QueryOperators.Contain), onClick: () => onChange_WhereItem_QueryOperator(QueryOperators.Contain, index) });
434
+ items.push({ text: LocalizeQueryOperators(QueryOperators.NotContain), onClick: () => onChange_WhereItem_QueryOperator(QueryOperators.NotContain, index) });
435
+ items.push({ text: LocalizeQueryOperators(QueryOperators.BeginWith), onClick: () => onChange_WhereItem_QueryOperator(QueryOperators.BeginWith, index) });
436
+ items.push({ text: LocalizeQueryOperators(QueryOperators.NotBeginWith), onClick: () => onChange_WhereItem_QueryOperator(QueryOperators.NotBeginWith, index) });
437
+ items.push({ text: LocalizeQueryOperators(QueryOperators.EndWith), onClick: () => onChange_WhereItem_QueryOperator(QueryOperators.EndWith, index) });
438
+ items.push({ text: LocalizeQueryOperators(QueryOperators.NotEndWith), onClick: () => onChange_WhereItem_QueryOperator(QueryOperators.NotEndWith, index) });
439
+ items.push({ text: LocalizeQueryOperators(QueryOperators.Like), onClick: () => onChange_WhereItem_QueryOperator(QueryOperators.Like, index) });
440
+ items.push({ text: LocalizeQueryOperators(QueryOperators.NotLike), onClick: () => onChange_WhereItem_QueryOperator(QueryOperators.NotLike, index) });
441
+ }
442
+ items.push({ text: LocalizeQueryOperators(QueryOperators.Custom), onClick: () => onChange_WhereItem_QueryOperator(QueryOperators.Custom, index) });
443
+ if (mdDataType == MetadataDataTypes.DateTime) {
444
+ items.push({
445
+ text: "Operatori speciali", items: [
446
+ { text: LocalizeQueryOperators(QueryOperators.Yesterday), onClick: () => onChange_WhereItem_QueryOperator(QueryOperators.Yesterday, index) },
447
+ { text: LocalizeQueryOperators(QueryOperators.Today), onClick: () => onChange_WhereItem_QueryOperator(QueryOperators.Today, index) },
448
+ { text: LocalizeQueryOperators(QueryOperators.Tomorrow), onClick: () => onChange_WhereItem_QueryOperator(QueryOperators.Tomorrow, index) },
449
+ { text: LocalizeQueryOperators(QueryOperators.PreviousWeek), onClick: () => onChange_WhereItem_QueryOperator(QueryOperators.PreviousWeek, index) },
450
+ { text: LocalizeQueryOperators(QueryOperators.ThisWeek), onClick: () => onChange_WhereItem_QueryOperator(QueryOperators.ThisWeek, index) },
451
+ { text: LocalizeQueryOperators(QueryOperators.NextWeek), onClick: () => onChange_WhereItem_QueryOperator(QueryOperators.NextWeek, index) },
452
+ { text: LocalizeQueryOperators(QueryOperators.PreviousMonth), onClick: () => onChange_WhereItem_QueryOperator(QueryOperators.PreviousMonth, index) },
453
+ { text: LocalizeQueryOperators(QueryOperators.ThisMonth), onClick: () => onChange_WhereItem_QueryOperator(QueryOperators.ThisMonth, index) },
454
+ { text: LocalizeQueryOperators(QueryOperators.NextMonth), onClick: () => onChange_WhereItem_QueryOperator(QueryOperators.NextMonth, index) },
455
+ { text: LocalizeQueryOperators(QueryOperators.PreviousYear), onClick: () => onChange_WhereItem_QueryOperator(QueryOperators.PreviousYear, index) },
456
+ { text: LocalizeQueryOperators(QueryOperators.ThisYear), onClick: () => onChange_WhereItem_QueryOperator(QueryOperators.ThisYear, index) },
457
+ { text: LocalizeQueryOperators(QueryOperators.NextYear), onClick: () => onChange_WhereItem_QueryOperator(QueryOperators.NextYear, index) },
458
+ { text: LocalizeQueryOperators(QueryOperators.LastXHours), onClick: () => onChange_WhereItem_QueryOperator(QueryOperators.LastXHours, index) },
459
+ { text: LocalizeQueryOperators(QueryOperators.NextXHours), onClick: () => onChange_WhereItem_QueryOperator(QueryOperators.NextXHours, index) },
460
+ { text: LocalizeQueryOperators(QueryOperators.LastXDays), onClick: () => onChange_WhereItem_QueryOperator(QueryOperators.LastXDays, index) },
461
+ { text: LocalizeQueryOperators(QueryOperators.NextXDays), onClick: () => onChange_WhereItem_QueryOperator(QueryOperators.NextXDays, index) },
462
+ { text: LocalizeQueryOperators(QueryOperators.LastXWeeks), onClick: () => onChange_WhereItem_QueryOperator(QueryOperators.LastXWeeks, index) },
463
+ { text: LocalizeQueryOperators(QueryOperators.NextXWeeks), onClick: () => onChange_WhereItem_QueryOperator(QueryOperators.NextXWeeks, index) },
464
+ { text: LocalizeQueryOperators(QueryOperators.LastXMonths), onClick: () => onChange_WhereItem_QueryOperator(QueryOperators.LastXMonths, index) },
465
+ { text: LocalizeQueryOperators(QueryOperators.NextXMonths), onClick: () => onChange_WhereItem_QueryOperator(QueryOperators.NextXMonths, index) },
466
+ { text: LocalizeQueryOperators(QueryOperators.LastXYears), onClick: () => onChange_WhereItem_QueryOperator(QueryOperators.LastXYears, index) },
467
+ { text: LocalizeQueryOperators(QueryOperators.NextXYears), onClick: () => onChange_WhereItem_QueryOperator(QueryOperators.NextXYears, index) }
468
+ ]
469
+ });
470
+ }
471
+ return items;
472
+ };
473
+ const calcQueryParamN = () => {
474
+ const queryParams = formData?.where?.filter((o) => o.value1?.startsWith("{@QueryParam")).sort((a, b) => a.value1.localeCompare(b.value1)) ?? [];
475
+ if (queryParams.length <= 0)
476
+ return "{@QueryParam1}";
477
+ let newParam = 0;
478
+ for (const element of queryParams) {
479
+ newParam++;
480
+ if (element.value1?.replace("{@QueryParam", "").slice(0, -1) == (newParam).toString())
481
+ continue;
482
+ return `{@QueryParam${newParam}}`;
483
+ }
484
+ return `{@QueryParam${newParam + 1}}`;
485
+ };
486
+ // #endregion
487
+ // #region OrderBy
488
+ const onAdd_OrderByItem = (index = -1) => {
489
+ const orderByCopy = formData?.orderBy?.map((oi) => { return oi; }) ?? [];
490
+ for (const dtd of dcmtTypesList) {
491
+ if (!dtd.metadata || dtd.metadata.length <= 0)
492
+ continue;
493
+ for (const md of dtd.metadata.slice().sort((a, b) => ((a.isSystem ?? 0) - (b.isSystem ?? 0) || (a.ordinalPosition ?? 0) - (b.ordinalPosition ?? 0)))) {
494
+ if (md.perm?.canView === AccessLevels.No && md.perm?.canUpdate === AccessLevels.No)
495
+ continue;
496
+ if (orderByCopy.findIndex((o) => o.tid === dtd.id && o.mid === md.id) >= 0)
497
+ continue;
498
+ let oi = new OrderByItem();
499
+ oi.tid = dtd.id;
500
+ oi.mid = md.id;
501
+ oi.asc = true;
502
+ if (index == -1)
503
+ orderByCopy.push(oi);
504
+ else
505
+ orderByCopy.splice(index, 0, oi);
506
+ setFormData({ ...formData, orderBy: orderByCopy });
507
+ return;
508
+ }
509
+ }
510
+ };
511
+ const onChange_OrderByItem_MID = (tid_mid, index) => {
512
+ if (!tid_mid)
513
+ return;
514
+ const orderByCopy = formData?.orderBy?.map((orderByItem, indexOi) => {
515
+ if (index != indexOi)
516
+ return orderByItem;
517
+ let newOi = new OrderByItem();
518
+ newOi.init({ ...orderByItem, tid: tid_mid.tid, mid: tid_mid.mid, alias: tid_mid.aliasTID });
519
+ return newOi;
520
+ });
521
+ setFormData({ ...formData, orderBy: orderByCopy });
522
+ };
523
+ const onChange_OrderByItem_Asc = (asc, oi, index) => {
524
+ const orderByCopy = formData?.orderBy?.map((orderByItem, indexOi) => {
525
+ if (index != indexOi)
526
+ return orderByItem;
527
+ let newOi = new OrderByItem();
528
+ newOi.init({ ...oi, asc: asc });
529
+ return newOi;
530
+ });
531
+ setFormData({ ...formData, orderBy: orderByCopy });
532
+ };
533
+ const onRemove_OrderByItem = (itemIndex) => { setFormData({ ...formData, orderBy: formData?.orderBy?.filter((o, i) => i !== itemIndex) }); };
534
+ // #endregion
535
+ // #region Utilities
536
+ const getDcmtTypeName = (tid) => {
537
+ let dtd = dcmtTypesList?.find(dtd => dtd.id === tid);
538
+ return SDK_Globals.useLocalizedName ? dtd?.nameLoc : dtd?.name;
539
+ };
540
+ const getMetadataDataType = (tid, mid) => {
541
+ if (!tid)
542
+ return MetadataDataTypes.None;
543
+ let dtd = dcmtTypesList.find(dtd => dtd.id === tid);
544
+ let md = dtd?.metadata?.find(md => md.id === mid);
545
+ return md?.dataType;
546
+ };
547
+ const renderAccordionTitle = (tabItemProps, count, vil) => {
548
+ let title = tabItemProps.title;
549
+ if (count != undefined)
550
+ title += ` (${count})`;
551
+ return (_jsxs(StyledDivHorizontal, { children: [_jsx("p", { children: title }), _jsx(TMTabItemBadge, { vil: vil })] }));
552
+ };
553
+ const getColorIndex = (tid) => {
554
+ let index = qdTIDs.findIndex(o => o.tid == tid.tid && o.alias == tid.alias);
555
+ switch (index) {
556
+ case 0: return color1;
557
+ case 1: return color2;
558
+ case 2: return color3;
559
+ case 3: return color4;
560
+ case 4: return color5;
561
+ case 5: return color6;
562
+ case 6: return color7;
563
+ case 7: return color8;
564
+ case 8: return color9;
565
+ default: return colorX;
566
+ }
567
+ };
568
+ // #endregion
569
+ // #region Ricerca
570
+ const renderResultSearchForm = () => {
571
+ return (_jsx(TMApplyForm, { isModal: isModal, formMode: FormModes.None, showApply: false, showUndo: false, hasNavigation: false, onClose: () => { setShowResultSearch(false); }, customToolbarElements: SDK_Globals.tmSession?.SessionDescr?.appModuleID == AppModules.ORCHESTRATOR ? [] :
572
+ [
573
+ _jsx(TMButton, { caption: "Sincronizza elementi query", icon: _jsx(IconSync, {}), btnStyle: 'toolbar', fontSize: '1.3rem', elementStyle: { marginRight: '10px' }, onClick: () => { ShowAlert({ message: "TODO Sync Query", mode: 'info', title: `${"TODO"}`, duration: 3000 }); } }, "btn1"),
574
+ _jsx(TMButton, { caption: "Download documento", icon: _jsx(IconDownload, {}), btnStyle: 'toolbar', fontSize: '1.3rem', onClick: () => { ShowAlert({ message: "TODO Download documento", mode: 'info', title: `${"TODO"}`, duration: 3000 }); } }, "btn2"),
575
+ _jsx(TMButton, { caption: "Apri form", icon: _jsx(IconPreview, {}), btnStyle: 'toolbar', fontSize: '1.3rem', onClick: () => { ShowAlert({ message: "TODO Apri form", mode: 'info', title: `${"TODO"}`, duration: 3000 }); } }, "btn3"),
576
+ _jsx(TMDropDownMenu, { backgroundColor: 'white', borderRadius: '3px', content: _jsx(TMButton, { icon: _jsx(IconCheckIn, {}), caption: 'Check in', btnStyle: 'toolbar', fontSize: '1.3rem' }), items: [
577
+ { icon: _jsx(IconCheckIn, {}), text: "Check out", onClick: () => ShowAlert({ message: "TODO Check out", mode: 'info', title: `${"TODO"}`, duration: 3000 }) },
578
+ { icon: _jsx(IconCheckIn, {}), text: "Modifica file", onClick: () => ShowAlert({ message: "TODO Modifica file", mode: 'info', title: `${"TODO"}`, duration: 3000 }) },
579
+ { icon: _jsx(IconCheckIn, {}), text: "Annulla check out", onClick: () => ShowAlert({ message: "TODO Annulla check out", mode: 'info', title: `${"TODO"}`, duration: 3000 }) },
580
+ { icon: _jsx(IconCheckIn, {}), text: "Check in", onClick: () => ShowAlert({ message: "TODO Check in", mode: 'info', title: `${"TODO"}`, duration: 3000 }) },
581
+ { icon: _jsx(IconCheckIn, {}), text: "Cronologia", onClick: () => ShowAlert({ message: "TODO Cronologia", mode: 'info', title: `${"TODO"}`, duration: 3000 }) },
582
+ ] }, "btn4"),
583
+ _jsx(TMButton, { caption: "Aggiungi a preferiti", icon: _jsx(IconStar, {}), btnStyle: 'toolbar', fontSize: '1.3rem', onClick: () => { ShowAlert({ message: "TODO", mode: 'info', title: `${"TODO"}`, duration: 3000 }); } }, "btn5"),
584
+ _jsx(TMDropDownMenu, { backgroundColor: 'white', borderRadius: '3px', content: _jsx(TMButton, { btnStyle: 'toolbar', caption: 'Operazioni ricorsive', icon: _jsx(IconRecursiveOps, {}) }), items: [
585
+ {
586
+ icon: _jsx(IconMail, {}), text: "Invia per posta", items: [
587
+ { icon: _jsx(IconMail, {}), text: "I documenti selezionati", onClick: () => ShowAlert({ message: "TODO", mode: 'info', title: `${"TODO"}`, duration: 3000 }) },
588
+ { icon: _jsx(IconMail, {}), text: "I documenti di primo livello e tutti i documenti correlati", onClick: () => ShowAlert({ message: "TODO", mode: 'info', title: `${"TODO"}`, duration: 3000 }) },
589
+ { icon: _jsx(IconMail, {}), text: "I documenti di primo livello e i documenti correlati personalizzando l'operazione", onClick: () => ShowAlert({ message: "TODO", mode: 'info', title: `${"TODO"}`, duration: 3000 }) },
590
+ ]
591
+ },
592
+ {
593
+ icon: _jsx(IconDcmtTypeOnlyMetadata, {}), text: "Unisci in un file PDF", items: [
594
+ { icon: _jsx(IconDcmtTypeOnlyMetadata, {}), text: "I documenti selezionati", onClick: () => ShowAlert({ message: "TODO", mode: 'info', title: `${"TODO"}`, duration: 3000 }) },
595
+ { icon: _jsx(IconDcmtTypeOnlyMetadata, {}), text: "I documenti di primo livello e tutti i documenti correlati", onClick: () => ShowAlert({ message: "TODO", mode: 'info', title: `${"TODO"}`, duration: 3000 }) },
596
+ { icon: _jsx(IconDcmtTypeOnlyMetadata, {}), text: "I documenti di primo livello e i documenti correlati personalizzando l'operazione", onClick: () => ShowAlert({ message: "TODO", mode: 'info', title: `${"TODO"}`, duration: 3000 }) },
597
+ ]
598
+ },
599
+ {
600
+ icon: _jsx(IconCopy, {}), text: "Copia in una cartella", items: [
601
+ { icon: _jsx(IconCopy, {}), text: "I documenti selezionati", onClick: () => ShowAlert({ message: "TODO", mode: 'info', title: `${"TODO"}`, duration: 3000 }) },
602
+ { icon: _jsx(IconCopy, {}), text: "I documenti di primo livello e tutti i documenti correlati", onClick: () => ShowAlert({ message: "TODO", mode: 'info', title: `${"TODO"}`, duration: 3000 }) },
603
+ { icon: _jsx(IconCopy, {}), text: "I documenti di primo livello e i documenti correlati personalizzando l'operazione", onClick: () => ShowAlert({ message: "TODO", mode: 'info', title: `${"TODO"}`, duration: 3000 }) },
604
+ ]
605
+ },
606
+ ] }, "btn6"),
607
+ _jsx(TMDropDownMenu, { backgroundColor: 'white', borderRadius: '3px', content: _jsx(TMButton, { icon: _jsx(IconRelation, {}), caption: 'Correlazioni', btnStyle: 'toolbar', fontSize: '1.3rem' }), items: [
608
+ { icon: _jsx(IconRelation, {}), text: "Abbina documenti molti a molti", onClick: () => ShowAlert({ message: "TODO Abbina documenti molti a molti", mode: 'info', title: `${"TODO"}`, duration: 3000 }) },
609
+ { icon: _jsx(IconRelation, {}), text: "Disabbina documenti molti a molti", onClick: () => ShowAlert({ message: "TODO Disabbina documenti molti a molti", mode: 'info', title: `${"TODO"}`, duration: 3000 }) },
610
+ { icon: _jsx(IconRelation, {}), text: "Archivia documento dettaglio", beginGroup: true, onClick: () => ShowAlert({ message: "TODO Archivia documento dettaglio", mode: 'info', title: `${"TODO"}`, duration: 3000 }) },
611
+ { icon: _jsx(IconRelation, {}), text: "Archivia documento master", onClick: () => ShowAlert({ message: "TODO Archivia documento master", mode: 'info', title: `${"TODO"}`, duration: 3000 }) },
612
+ { icon: _jsx(IconRelation, {}), text: "Documenti master", beginGroup: true, onClick: () => ShowAlert({ message: "TODO Documenti master", mode: 'info', title: `${"TODO"}`, duration: 3000 }) },
613
+ ] }, "btn7"),
614
+ _jsx(TMDropDownMenu, { backgroundColor: 'white', borderRadius: '3px', content: _jsx(TMButton, { icon: _jsx(IconSignature, {}), btnStyle: 'toolbar', caption: 'Firma', fontSize: '1.3rem' }), items: [
615
+ { icon: _jsx(IconSignature, {}), text: "Informazioni di firma", onClick: () => ShowAlert({ message: "TODO Informazioni di firma", mode: 'info', title: `${"TODO"}`, duration: 3000 }) },
616
+ { icon: _jsx(IconSignature, {}), text: "Verifica firma", onClick: () => ShowAlert({ message: "TODO Verifica firma", mode: 'info', title: `${"TODO"}`, duration: 3000 }) },
617
+ { icon: _jsx(IconSignature, {}), text: "Firma e marca", onClick: () => ShowAlert({ message: "TODO Firma e marca", mode: 'info', title: `${"TODO"}`, duration: 3000 }) },
618
+ ] }, "btn7"),
619
+ _jsx(TMDropDownMenu, { backgroundColor: 'white', borderRadius: '3px', content: _jsx(TMButton, { btnStyle: 'toolbar', caption: 'Cancellazione', icon: _jsx(IconDelete, {}) }), items: [
620
+ { icon: _jsx(IconDelete, {}), text: "Cancellazione logica", onClick: () => ShowAlert({ message: "TODO Cancellazione logica", mode: 'info', title: `${"TODO"}`, duration: 3000 }) },
621
+ { icon: _jsx(IconUndo, {}), text: "Ripristina", onClick: () => ShowAlert({ message: "TODO Ripristina", mode: 'info', title: `${"TODO"}`, duration: 3000 }) },
622
+ { icon: _jsx(IconCloseCircle, {}), text: "Cancellazione fisica", onClick: () => ShowAlert({ message: "TODO Cancellazione fisica", mode: 'info', title: `${"TODO"}`, duration: 3000 }) },
623
+ ] }, "btn8"),
624
+ _jsx(TMDropDownMenu, { backgroundColor: 'white', borderRadius: '3px', content: _jsx(TMButton, { btnStyle: 'toolbar', caption: 'Altro', icon: _jsx(IconMenuVertical, {}) }), items: [
625
+ { icon: _jsx(IconArchiveDoc, {}), text: "Passa ad archiviazione", onClick: () => ShowAlert({ message: "TODO Passa ad archiviazione", mode: 'info', title: `${"TODO"}`, duration: 3000 }) },
626
+ { icon: _jsx(IconDuplicate, {}), text: "Duplica documento", onClick: () => ShowAlert({ message: "TODO Duplica documento", mode: 'info', title: `${"TODO"}`, duration: 3000 }) },
627
+ { icon: _jsx(IconSubstFile, { fontSize: 18 }), text: "Aggiungi/sostituisci file", onClick: () => ShowAlert({ message: "TODO Aggiungi/sostituisci file", mode: 'info', title: `${"TODO"}`, duration: 3000 }) },
628
+ { icon: _jsx(IconConvertFilePdf, { fontSize: 18 }), text: "Conversione file", onClick: () => ShowAlert({ message: "TODO Conversione file", mode: 'info', title: `${"TODO"}`, duration: 3000 }) },
629
+ { icon: _jsx(IconCheckFile, { fontSize: 18 }), text: "Controllo file", onClick: () => ShowAlert({ message: "TODO Controllo file", mode: 'info', title: `${"TODO"}`, duration: 3000 }) },
630
+ { icon: _jsx(IconBatchUpdate, { fontSize: 18 }), text: "Modifica multipla", onClick: () => ShowAlert({ message: "TODO Modifica multipla", mode: 'info', title: `${"TODO"}`, duration: 3000 }) },
631
+ { icon: _jsx(IconShare, { fontSize: 18 }), text: "Archiviazione condivisa", beginGroup: true, onClick: () => ShowAlert({ message: "TODO Archiviazione condivisa", mode: 'info', title: `${"TODO"}`, duration: 3000 }) },
632
+ { icon: _jsx(IconSharedDcmt, { fontSize: 18 }), text: "Documenti condivisi", onClick: () => ShowAlert({ message: "TODO Documenti condivisi", mode: 'info', title: `${"TODO"}`, duration: 3000 }) },
633
+ {
634
+ icon: _jsx(IconSearch, {}), text: "Trova tutti i riferimenti", beginGroup: true, items: [
635
+ { icon: _jsx(IconSearch, {}), text: "Trova tutti i riferimenti", onClick: () => ShowAlert({ message: "TODO Trova tutti i riferimenti", mode: 'info', title: `${"TODO"}`, duration: 3000 }) },
636
+ { icon: _jsx(IconSearch, {}), text: "Trova tutti i riferimenti (anche nello storico)", onClick: () => ShowAlert({ message: "TODO Trova tutti i riferimenti (anche nello storico)", mode: 'info', title: `${"TODO"}`, duration: 3000 }) },
637
+ ]
638
+ },
639
+ { icon: _jsx(IconExportTo, { fontSize: 18 }), text: "Esporta in...", onClick: () => ShowAlert({ message: "TODO Esporta in", mode: 'info', title: `${"TODO"}`, duration: 3000 }) },
640
+ { icon: _jsx(IconShow, {}), text: "Mostra footer", onClick: () => ShowAlert({ message: "TODO Mostra footer", mode: 'info', title: `${"TODO"}`, duration: 3000 }) },
641
+ { icon: _jsx(IconSettings, {}), text: SDKUI_Localizator.ShowHideMetadataSystemDesc, onClick: () => ShowAlert({ message: "TODO ShowHideMetadataSystem", mode: 'info', title: `${"TODO"}`, duration: 3000 }) },
642
+ ] }, "btn9")
643
+ ], children: _jsx(TMQueryResult, { result: resultSearch, elapsedTime: elapsedTime, searchText: searchText }) }));
644
+ };
645
+ const onSearchAsync = async () => {
646
+ try {
647
+ TMSpinner.show({ description: `Esecuzione query ...`, backgroundColor: 'transparent' });
648
+ const startTime = new Date().getTime();
649
+ let qd = new QueryDescriptor();
650
+ qd.init({ ...formData });
651
+ // V5 SDKUI >> QueryControl >> GetQueryDescriptor
652
+ if (!qd.select)
653
+ qd.select = [];
654
+ let qdWithAggrFunctions = qd.select?.some(o => o.function != QueryFunctions.None);
655
+ if (!qd.isDistinct && !qdWithAggrFunctions) {
656
+ let si = new SelectItem();
657
+ si.tid = qd?.from?.tid;
658
+ si.mid = SystemMIDsAsNumber.TID;
659
+ qd.select.push(si);
660
+ si = new SelectItem();
661
+ si.tid = qd?.from?.tid;
662
+ si.mid = SystemMIDsAsNumber.DID;
663
+ qd.select.push(si);
664
+ si = new SelectItem();
665
+ si.tid = qd?.from?.tid;
666
+ si.mid = SystemMIDsAsNumber.FileCount;
667
+ qd.select.push(si);
668
+ si = new SelectItem();
669
+ si.tid = qd?.from?.tid;
670
+ si.mid = SystemMIDsAsNumber.FileExt;
671
+ qd.select.push(si);
672
+ si = new SelectItem();
673
+ si.tid = qd?.from?.tid;
674
+ si.mid = SystemMIDsAsNumber.IsLex;
675
+ qd.select.push(si);
676
+ si = new SelectItem();
677
+ si.tid = qd?.from?.tid;
678
+ si.mid = SystemMIDsAsNumber.IsLogDel;
679
+ qd.select.push(si);
680
+ si = new SelectItem();
681
+ si.tid = qd?.from?.tid;
682
+ si.mid = SystemMIDsAsNumber.IsMail;
683
+ qd.select.push(si);
684
+ si = new SelectItem();
685
+ si.tid = qd?.from?.tid;
686
+ si.mid = SystemMIDsAsNumber.IsShared;
687
+ qd.select.push(si);
688
+ si = new SelectItem();
689
+ si.tid = qd?.from?.tid;
690
+ si.mid = SystemMIDsAsNumber.IsSigned;
691
+ qd.select.push(si);
692
+ }
693
+ // Alcuni lavori di ORCHESTRATOR non definiscono i SelectItem (per esempio, CheckSequence, DcmtPrinter, ...).
694
+ // In tal caso il risultato della ricerca risultava senza colonne (metadati).
695
+ // In questa condizione si è deciso di visualizzare, di default, i primi 10 metadati.
696
+ if (qd.select.filter(o => o.mid > 100).length <= 0) {
697
+ let dtd = await DcmtTypeListCacheService.GetAsync(qd?.from?.tid, true);
698
+ if (dtd?.metadata) {
699
+ let counter = 1;
700
+ for (const md of dtd.metadata) {
701
+ if (md.isSystem == 1)
702
+ continue;
703
+ if (md.perm && md.perm.canView === AccessLevels.No)
704
+ continue;
705
+ if (counter > 10)
706
+ break;
707
+ let si = new SelectItem();
708
+ si.tid = dtd.id;
709
+ si.mid = md.id;
710
+ qd.select.push(si);
711
+ counter++;
712
+ }
713
+ }
714
+ }
715
+ // In modalità easy rimuovi filtri non valorizzati
716
+ if (!isAdvancedSearch)
717
+ qd.where = qd?.where?.filter(o => PlatformObjectValidator.WhereItemHasValues(o));
718
+ let result = await SDK_Globals.tmSession?.NewSearchEngine().SearchByIDAsync(qd, 6);
719
+ let dcmtsFound = result?.dcmtsFound ?? 0;
720
+ if (dcmtsFound <= 0)
721
+ TMMessageBoxManager.show({ title: SDK_Globals.appModule, message: "Nessun documento trovato", buttons: [ButtonNames.OK] });
722
+ else {
723
+ setElapsedTime(new Date().getTime() - startTime);
724
+ setResultSearch(result);
725
+ setShowResultSearch(true);
726
+ }
727
+ }
728
+ catch (ex) {
729
+ TMExceptionBoxManager.show({ title: SDKUI_Localizator.Search, exception: ex });
730
+ }
731
+ finally {
732
+ TMSpinner.hide();
733
+ }
734
+ };
735
+ // #endregion
736
+ // #region DragAndDrop
737
+ const dragStart = (e, item) => {
738
+ setDraggingItem(item);
739
+ e.dataTransfer.setData('text/plain', '');
740
+ };
741
+ const dragEnd = () => { setDraggingItem(undefined); };
742
+ const dragOver = (e) => {
743
+ e.preventDefault();
744
+ e.dataTransfer.dropEffect = 'move';
745
+ };
746
+ const dropOrderBy = (e, targetItem) => {
747
+ if (!draggingItem)
748
+ return;
749
+ if (!formData?.orderBy)
750
+ return;
751
+ const currentIndex = formData?.orderBy.indexOf(draggingItem);
752
+ const targetIndex = formData?.orderBy.indexOf(targetItem);
753
+ const listCopy = [...formData?.orderBy ?? []];
754
+ if (currentIndex !== -1 && targetIndex !== -1) {
755
+ listCopy.splice(currentIndex, 1);
756
+ listCopy.splice(targetIndex, 0, draggingItem);
757
+ setFormData({ ...formData, orderBy: listCopy });
758
+ }
759
+ };
760
+ const dropWhere = (e, targetItem) => {
761
+ if (!draggingItem)
762
+ return;
763
+ if (!formData?.where)
764
+ return;
765
+ const currentIndex = formData?.where.indexOf(draggingItem);
766
+ const targetIndex = formData?.where.indexOf(targetItem);
767
+ const listCopy = [...formData?.where ?? []];
768
+ if (currentIndex !== -1 && targetIndex !== -1) {
769
+ listCopy.splice(currentIndex, 1);
770
+ listCopy.splice(targetIndex, 0, draggingItem);
771
+ setFormData({ ...formData, where: listCopy });
772
+ }
773
+ };
774
+ const dropSelect = (e, targetItem) => {
775
+ if (!draggingItem)
776
+ return;
777
+ if (!formData?.select)
778
+ return;
779
+ const currentIndex = formData?.select.indexOf(draggingItem);
780
+ const targetIndex = formData?.select.indexOf(targetItem);
781
+ const listCopy = [...formData?.select ?? []];
782
+ if (currentIndex !== -1 && targetIndex !== -1) {
783
+ listCopy.splice(currentIndex, 1);
784
+ listCopy.splice(targetIndex, 0, draggingItem);
785
+ setFormData({ ...formData, select: listCopy });
786
+ }
787
+ };
788
+ const dropJoin = (e, targetItem) => {
789
+ if (!draggingItem)
790
+ return;
791
+ if (!formData?.join)
792
+ return;
793
+ const currentIndex = formData?.join.indexOf(draggingItem);
794
+ const targetIndex = formData?.join.indexOf(targetItem);
795
+ const listCopy = [...formData?.join ?? []];
796
+ if (currentIndex !== -1 && targetIndex !== -1) {
797
+ listCopy.splice(currentIndex, 1);
798
+ listCopy.splice(targetIndex, 0, draggingItem);
799
+ setFormData({ ...formData, join: listCopy });
800
+ }
801
+ };
802
+ // #endregion
803
+ const renderButtonSort = (tid_mid) => {
804
+ const oi = formData.orderBy?.find(o => o.tid == tid_mid.tid && o.mid == tid_mid.mid);
805
+ if (!oi)
806
+ return _jsx(TMButton, { btnStyle: 'icon', padding: '0px 10px', icon: _jsx(IconArrowUnsorted, { fontSize: 16, color: TMColors.button_icon }), caption: 'Nessun ordinamento', onClick: () => {
807
+ const orderByCopy = formData?.orderBy?.map((oi) => { return oi; }) ?? [];
808
+ let oi = new OrderByItem();
809
+ oi.tid = tid_mid.tid;
810
+ oi.mid = tid_mid.mid;
811
+ oi.asc = true;
812
+ orderByCopy.push(oi);
813
+ setFormData({ ...formData, orderBy: orderByCopy });
814
+ } });
815
+ if (oi.asc)
816
+ return _jsx(TMButton, { btnStyle: 'icon', padding: '0px 10px', icon: _jsx(IconArrowSortedUp, { fontSize: 16, color: "green" }), caption: 'Ordinamento crescente', onClick: () => { onChange_OrderByItem_Asc(false, oi, formData.orderBy?.indexOf(oi) ?? 0); } });
817
+ else
818
+ return _jsx(TMButton, { btnStyle: 'icon', padding: '0px 10px', icon: _jsx(IconArrowSortedDown, { fontSize: 16, color: "orange" }), caption: 'Ordinamento decrescente', onClick: () => { formData.orderBy && onRemove_OrderByItem(formData.orderBy?.indexOf(oi)); } });
819
+ };
820
+ return (_jsxs(_Fragment, { children: [_jsx(TMApplyForm, { isModal: false, formMode: formMode, isModified: calcIsModified(formData, formDataOrig), exception: exception, validationItems: validationItems, hasNavigation: false, customToolbarElements: _jsxs(_Fragment, { children: [_jsx(TMButton, { keyGesture: 'alt+1', btnStyle: 'toolbar', caption: SDKUI_Localizator.Search, color: 'tertiary', icon: _jsx(IconSearch, {}), disabled: errorsCount > 0, onClick: onSearchAsync }), _jsx(TMButton, { keyGesture: 'alt+2', btnStyle: 'toolbar', caption: SDKUI_Localizator.Count, icon: _jsx(IconCount, {}), disabled: errorsCount > 0, onClick: () => getQueryCountAsync(formData, true) }), SDK_Globals.tmSession?.SessionDescr?.appModuleID == AppModules.SURFER && _jsx(TMButton, { keyGesture: 'alt+3', caption: "Passa ad archiviazione", icon: _jsx(IconArchiveDoc, {}), btnStyle: 'toolbar', fontSize: '1.3rem', onClick: () => { ShowAlert({ message: "TODO Passa ad archiviazione", mode: 'info', title: `${"TODO"}`, duration: 3000 }); } }), SDK_Globals.tmSession?.SessionDescr?.appModuleID == AppModules.SURFER && _jsx(TMButton, { keyGesture: 'alt+4', caption: "Vai a risultato", icon: _jsx(IconArrowRight, {}), btnStyle: 'toolbar', fontSize: '1.3rem', onClick: () => { ShowAlert({ message: "TODO Vai a risultato", mode: 'info', title: `${"TODO"}`, duration: 3000 }); } }), !onlyAdvancedSearchMode && _jsx(TMButton, { elementStyle: { marginLeft: '30px' }, caption: isAdvancedSearch ? "Modalità avanzata" : "Modalità facilitata", icon: isAdvancedSearch ? _jsx(IconAdvanced, { fontSize: 18 }) : _jsx(IconEasy, { fontSize: 18 }), color: isAdvancedSearch ? 'primary' : 'success', btnStyle: 'toolbar', fontSize: '1.3rem', onClick: () => { setIsAdvancedSearch(!isAdvancedSearch); } }), !isAdvancedSearch && _jsx(TMButton, { caption: "Configura", icon: _jsx(IconEdit, {}), btnStyle: 'toolbar', color: isEasyModeConfigurable ? 'success' : 'primary', fontSize: '1.3rem', onClick: () => { setIsEasyModeConfigurable(!isEasyModeConfigurable); } }), SDK_Globals.tmSession?.SessionDescr?.appModuleID == AppModules.SURFER && _jsx("p", { style: { fontWeight: 600, marginLeft: '30px' }, children: dcmtTypesList.find(o => o.id == formData.from?.tid)?.nameLoc })] }), showToolbar: showToolbar, showApply: showApply, showUndo: showUndo, showBack: showBack, onApply: () => applyData(), onClose: () => onClose?.(), onUndo: () => setFormData(formDataOrig), children: _jsxs(Accordion, { height: height, multiple: true, collapsible: true, repaintChangesOnly: true, deferRendering: false, animationDuration: 0, onContentReady: (e) => {
821
+ let items = e.component.option("items");
822
+ if (items && items.length > 0) {
823
+ for (let i = 0; i < items.length; i++) {
824
+ e.component.collapseItem(i);
825
+ let title = items[i].title;
826
+ if (title == SDKUI_Localizator.Source || title == SDK_Localizator.QueryWhere) {
827
+ e.component?.expandItem(i);
828
+ }
829
+ }
830
+ }
831
+ }, children: [(!isReadOnly || fromCount > 0) && isAdvancedSearch && _jsx(Item, { title: SDKUI_Localizator.Source, titleRender: (tabItemProps) => renderAccordionTitle(tabItemProps, fromCount, validationItems.filter((o) => [TMPropertyNames.fromTid, TMPropertyNames.join].includes(o.PropertyName))), children: _jsx(StyledAccordionItemContainer, { style: { maxHeight: fromCount > 0 ? '330px' : '100%' }, children: _jsxs(StyledAccordionItemContent, { "$disabled": isReadOnly, style: { height: '100%' }, children: [_jsxs(StyledRowItem, { children: [!isReadOnly && _jsx(TMButton, { btnStyle: 'icon', padding: '3px 0px', icon: _jsx(IconClear, { color: TMColors.button_icon }), caption: SDKUI_Localizator.Remove, onClick: () => { let qd = SearchEngine.NewQueryDescriptor(); setFormData({ ...qd }); } }), !isReadOnly && _jsx(TMButton, { btnStyle: 'icon', padding: '3px 0px', elementStyle: { opacity: !formData?.from?.tid ? 0.4 : 1 }, disabled: !formData?.from?.tid, icon: _jsx(IconAddCircleOutline, { color: TMColors.button_icon }), caption: SDKUI_Localizator.AddBelow, onClick: onAdd_JoinItem }), _jsx("div", { style: { pointerEvents: 'all' }, children: _jsx(TMDropDownMenu, { content: _jsx(IconDotsVerticalCircleOutline, { color: TMColors.button_icon }), items: [
832
+ { icon: showId ? _jsx(IconHide, { color: TMColors.button_icon }) : _jsx(IconShow, { color: TMColors.button_icon }), text: showId ? SDKUI_Localizator.ID_Hide : SDKUI_Localizator.ID_Show, onClick: () => setShowId(!showId) },
833
+ { icon: showCompleteMetadataName ? _jsx(IconHide, { color: TMColors.primary }) : _jsx(IconShow, { color: TMColors.primary }), text: showCompleteMetadataName ? SDKUI_Localizator.Hide_CompleteName : SDKUI_Localizator.Show_CompleteName, onClick: () => setShowCompleteMetadataName(!showCompleteMetadataName) }
834
+ ] }) }), _jsx(TMDcmtTypeChooser, { disabled: isReadOnly, placeHolder: `<${SDKUI_Localizator.DcmtTypeSelect} ...>`, borderRadius: borderRadius, openEditorOnSummaryClick: true, showBorder: false, showId: showId, backgroundColor: getColorIndex({ tid: formData.from?.tid, alias: undefined }), values: [formData.from?.tid], validationItems: validationItems.filter((o) => o.PropertyName === TMPropertyNames.fromTid), onValueChanged: (tids) => { let qd = SearchEngine.NewQueryDescriptor(); qd.from.tid = tids[0]; setFormData({ ...qd }); onFromTIDChanged?.(tids[0]); } })] }), formData?.join?.map((ji, index) => {
835
+ return (_jsxs("div", { style: { width: 'max-content', padding: isReadOnly ? '0px 20px' : 0 }, children: [_jsxs(StyledRowItem, { onDragEnd: dragEnd, onDragOver: dragOver, onDrop: (e) => dropJoin(e, ji), children: [!isReadOnly && _jsx(StyledDraggableDiv, { draggable: true, onDragStart: (e) => dragStart(e, ji), children: _jsx(IconDraggabledots, { fontSize: 15, color: TMColors.button_icon }) }), !isReadOnly && _jsx(TMButton, { btnStyle: 'icon', padding: '3px 0px', icon: _jsx(IconClear, { color: TMColors.button_icon }), caption: SDKUI_Localizator.Remove, onClick: () => onRemove_JoinItem(index) }), !isReadOnly && _jsx(TMButton, { btnStyle: 'icon', padding: '3px 0px', icon: _jsx(IconAddCircleOutline, { color: TMColors.button_icon }), caption: SDKUI_Localizator.AddBelow, onClick: () => onAdd_JoinItem(index + 1) }), !isReadOnly && _jsx(TMDropDownMenu, { content: _jsx(TMTooltip, { content: SDK_Localizator.toCaseWord(SDKUI_Localizator.OneMore), children: _jsx(IconDotsVerticalCircleOutline, { color: TMColors.button_icon }) }), items: [
836
+ { text: SDKUI_Localizator.AddAbove, onClick: () => onAdd_JoinItem(index) },
837
+ { text: SDKUI_Localizator.AddBelow, onClick: () => onAdd_JoinItem(index + 1) },
838
+ { text: SDKUI_Localizator.AddDefinition, onClick: () => onAdd_OnJoinItem(index, 0) },
839
+ { text: SDKUI_Localizator.Remove, onClick: () => onRemove_JoinItem(index) },
840
+ { text: SDKUI_Localizator.RemoveAll, onClick: () => setFormData({ ...formData, join: undefined }) }
841
+ ] }), _jsx(TMDropDownMenu, { backgroundColor: colorOperator, color: 'green', borderRadius: borderRadius, content: _jsx(StyledItemWrapper, { children: LocalizeQueryJoinTypes(ji.joinType) }), items: getJoinTypesMenuItems(index) }), _jsx(TMDcmtTypeChooser, { disabled: isReadOnly, placeHolder: `<${SDKUI_Localizator.DcmtTypeSelect} ...>`, borderRadius: borderRadius, openEditorOnSummaryClick: true, showBorder: false, showId: showId, backgroundColor: getColorIndex({ tid: ji.tid, alias: ji.alias }), values: ji.tid ? [ji.tid] : [], onValueChanged: (newValues) => onChange_JoinItem_TID(newValues[0], index) }), ji.alias &&
842
+ _jsx(StyledItemWrapper, { style: { fontStyle: 'italic', color: TMColors.primary }, children: `AS ${getDisplayAlias(getDcmtTypeName(ji.tid), ji.alias)}` })] }), ji.on?.map((onItem, indexOn) => {
843
+ return (_jsxs(StyledRowItem, { style: { marginLeft: '40px' }, children: [!isReadOnly && _jsx(TMButton, { btnStyle: 'icon', padding: '3px 0px', icon: _jsx(IconClear, { color: TMColors.button_icon }), caption: SDKUI_Localizator.Remove, onClick: () => onRemove_OnJoinItem(index, indexOn) }), !isReadOnly && _jsx(TMButton, { btnStyle: 'icon', padding: '3px 0px', icon: _jsx(IconAddCircleOutline, { color: TMColors.button_icon }), caption: SDKUI_Localizator.AddBelow, onClick: () => onAdd_OnJoinItem(index, indexOn + 1) }), !isReadOnly && _jsx(TMDropDownMenu, { content: _jsx(TMTooltip, { content: SDK_Localizator.toCaseWord(SDKUI_Localizator.OneMore), children: _jsx(IconDotsVerticalCircleOutline, { color: TMColors.button_icon }) }), items: [
844
+ { text: SDKUI_Localizator.AddAbove, onClick: () => onAdd_OnJoinItem(index, indexOn) },
845
+ { text: SDKUI_Localizator.AddBelow, onClick: () => onAdd_OnJoinItem(index, indexOn + 1) },
846
+ { text: SDKUI_Localizator.Remove, onClick: () => onRemove_OnJoinItem(index, indexOn) },
847
+ {
848
+ text: SDKUI_Localizator.RemoveAll, onClick: () => {
849
+ if (!formData.join)
850
+ return;
851
+ const joinCopy = formData?.join?.map((ji) => { return { ...ji }; }) ?? [];
852
+ joinCopy[index].on = undefined;
853
+ setFormData({ ...formData, join: joinCopy });
854
+ }
855
+ }
856
+ ] }), _jsx(TMMetadataChooser, { disabled: isReadOnly, getColorIndex: getColorIndex, showCompleteMetadataName: showCompleteMetadataName, openEditorOnSummaryClick: true, showBorder: false, borderRadius: borderRadius, showId: showId, backgroundColor: getColorIndex({ tid: onItem.leftTID, alias: onItem.leftAlias }), qd: formData, values: onItem.leftTID ? [{ tid: onItem.leftTID, mid: onItem.leftMID, aliasTID: onItem.leftAlias }] : [], onValueChanged: (values) => { values.length > 0 && onChange_OnJoinMetadatoLeft(values[0], index, indexOn); } }), _jsx(TMDropDownMenu, { backgroundColor: colorOperator, color: 'green', borderRadius: borderRadius, content: _jsx(StyledItemWrapper, { children: LocalizeQueryOperators(onItem.operator) }), items: [] }), _jsx(TMMetadataChooser, { disabled: isReadOnly, getColorIndex: getColorIndex, showCompleteMetadataName: showCompleteMetadataName, openEditorOnSummaryClick: true, showBorder: false, borderRadius: borderRadius, showId: showId, backgroundColor: getColorIndex({ tid: onItem.rightTID, alias: onItem.rightAlias }), qd: formData, values: onItem.rightTID ? [{ tid: onItem.rightTID, mid: onItem.rightMID, aliasTID: onItem.rightAlias }] : [], onValueChanged: (values) => { values.length > 0 && onChange_OnJoinMetadatoRight(values[0], index, indexOn); } })] }, indexOn));
857
+ })] }, `${ji.tid}_${index}`));
858
+ }), _jsx(TMVilViewer, { vil: validationItems.filter((o) => o.PropertyName === TMPropertyNames.join) })] }) }) }), fromCount > 0 && (isAdvancedSearch || isEasyModeConfigurable) && (!isReadOnly || selectCount > 0) && _jsx(Item, { title: SDK_Localizator.QuerySelect, titleRender: (tabItemProps) => renderAccordionTitle(tabItemProps, selectCount, validationItems.filter((o) => o.PropertyName == TMPropertyNames.select)), children: _jsx(StyledAccordionItemContainer, { children: _jsxs(StyledAccordionItemContent, { "$disabled": isReadOnly, children: [_jsx(TMVilViewer, { vil: validationItems.filter((o) => o.PropertyName === TMPropertyNames.select) }), (!formData?.select || formData?.select.length <= 0) && !isReadOnly &&
859
+ _jsxs(StyledRowItem, { children: [_jsx(TMButton, { btnStyle: 'normal', disabled: !formData?.from?.tid, caption: SDKUI_Localizator.Add, onClick: onAdd_SelectItem }), dcmtTypesList.length == 1
860
+ ? _jsx(TMButton, { btnStyle: 'normal', disabled: !formData?.from?.tid, caption: SDKUI_Localizator.AddAlls, onClick: () => { onAddAll_SelectItem(qdTIDs[0]); } })
861
+ : _jsx(TMDropDownMenu, { backgroundColor: 'white', borderRadius: '3px', content: _jsx(TMButton, { btnStyle: 'normal', disabled: !formData?.from?.tid, caption: SDKUI_Localizator.AddAlls }), items: qdTIDs.map((tid_alias) => ({ text: `${getDisplayAlias(getDcmtTypeName(tid_alias.tid), tid_alias.alias)}`, onClick: () => { onAddAll_SelectItem(tid_alias); } })) })] }), formData?.select?.map((si, index) => {
862
+ return (_jsxs(StyledRowItem, { onDragEnd: dragEnd, onDragOver: dragOver, onDrop: (e) => dropSelect(e, si), children: [!isReadOnly && _jsx(StyledDraggableDiv, { draggable: true, onDragStart: (e) => dragStart(e, si), children: _jsx(IconDraggabledots, { fontSize: 15, color: TMColors.button_icon }) }), !isReadOnly && _jsx(TMButton, { btnStyle: 'icon', padding: '3px 0px', icon: _jsx(IconClear, { color: TMColors.button_icon }), caption: SDKUI_Localizator.Remove, onClick: () => onRemove_SelectItem(index) }), !isReadOnly && _jsx(TMButton, { btnStyle: 'icon', padding: '3px 0px', icon: _jsx(IconAddCircleOutline, { color: TMColors.button_icon }), caption: SDKUI_Localizator.AddBelow, onClick: () => onAdd_SelectItem(index + 1) }), !isReadOnly && _jsx(TMDropDownMenu, { content: _jsx(TMTooltip, { content: SDK_Localizator.toCaseWord(SDKUI_Localizator.OneMore), children: _jsx(IconDotsVerticalCircleOutline, { color: TMColors.button_icon }) }), items: getSelectMenuItems(index) }), (!isReadOnly || (si.function && si.function != QueryFunctions.None)) && _jsx(TMDropDownMenu, { backgroundColor: colorOperator, color: 'green', borderRadius: borderRadius, content: _jsx(StyledItemWrapper, { children: si.function === QueryFunctions.None ? "..." : LocalizeQueryFunctions(si.function) }), items: getQueryFunctionsMenuItems(si, index) }), _jsx(TMMetadataChooser, { disabled: isReadOnly, getColorIndex: getColorIndex, showCompleteMetadataName: showCompleteMetadataName, openEditorOnSummaryClick: true, showBorder: false, borderRadius: borderRadius, showId: showId, backgroundColor: getColorIndex({ tid: si.tid, alias: si.alias }), qd: formData, values: [{ tid: si.tid, mid: si.mid, aliasTID: si.alias }], onValueChanged: (values) => { values.length > 0 && onChange_SelectItem_MID(values[0], index); } }), (!isReadOnly || si.as) && _jsx(TMQdEditableItem, { value: si.as, backgroundColor: colorValue, placeHolder: `<${SDKUI_Localizator.Query_EnterAlias}...>`, width: '100%', onValueChanged: (value) => { onChange_SelectItem_As(value, index); } })] }, `${si.tid}_${si.mid}_${index}`));
863
+ })] }) }) }), fromCount > 0 && (!isReadOnly || whereCount > 0) && _jsx(Item, { title: SDK_Localizator.QueryWhere, titleRender: (tabItemProps) => renderAccordionTitle(tabItemProps, whereCount, validationItems.filter((o) => o.PropertyName == TMPropertyNames.where)), children: isAdvancedSearch
864
+ ?
865
+ _jsx(StyledAccordionItemContainer, { children: _jsxs(StyledAccordionItemContent, { "$disabled": isReadOnly, children: [_jsx(TMVilViewer, { vil: validationItems.filter((o) => o.PropertyName === TMPropertyNames.where) }), (!formData?.where || formData?.where.length <= 0) && !isReadOnly &&
866
+ _jsx(StyledRowItem, { children: _jsx(TMButton, { btnStyle: 'normal', disabled: !formData?.from?.tid, caption: SDKUI_Localizator.Add, onClick: onAdd_WhereItem }) }), formData?.where?.map((wi, index) => {
867
+ return (_jsxs(StyledRowItem, { onDragEnd: dragEnd, onDragOver: dragOver, onDrop: (e) => dropWhere(e, wi), children: [!isReadOnly && _jsx(StyledDraggableDiv, { draggable: true, onDragStart: (e) => dragStart(e, wi), children: _jsx(IconDraggabledots, { fontSize: 15, color: TMColors.button_icon }) }), !isReadOnly && _jsx(TMButton, { btnStyle: 'icon', padding: '3px 0px', icon: _jsx(IconClear, { color: TMColors.button_icon }), caption: SDKUI_Localizator.Remove, onClick: () => onRemove_WhereItem(index) }), !isReadOnly && _jsx(TMButton, { btnStyle: 'icon', padding: '3px 0px', icon: _jsx(IconAddCircleOutline, { color: TMColors.button_icon }), caption: SDKUI_Localizator.AddBelow, onClick: () => onAdd_WhereItem(index + 1) }), !isReadOnly && _jsx(TMDropDownMenu, { content: _jsx(TMTooltip, { content: SDK_Localizator.toCaseWord(SDKUI_Localizator.OneMore), children: _jsx(IconDotsVerticalCircleOutline, { color: TMColors.button_icon }) }), items: [
868
+ { text: SDKUI_Localizator.AddAbove, onClick: () => onAdd_WhereItem(index) },
869
+ { text: SDKUI_Localizator.AddBelow, onClick: () => onAdd_WhereItem(index + 1) },
870
+ { text: SDKUI_Localizator.Remove, onClick: () => onRemove_WhereItem(index) },
871
+ { text: SDKUI_Localizator.RemoveAll, onClick: () => setFormData({ ...formData, where: undefined }) },
872
+ {
873
+ text: "Imposta parametro", items: [
874
+ { text: "{@UserName}", onClick: () => onChange_WhereItem_Values("{@UserName}", undefined, index) },
875
+ { text: "{@UserID}", onClick: () => onChange_WhereItem_Values("{@UserID}", undefined, index) },
876
+ { text: "{@QueryParam...N}", onClick: () => onChange_WhereItem_Values(calcQueryParamN(), undefined, index) }
877
+ ]
878
+ },
879
+ ] }), _jsx(TMDropDownMenu, { disabled: index == 0, color: 'green', content: _jsx("div", { style: { fontSize: '1rem' }, children: wi.or ? 'OR' : 'AND' }), items: [
880
+ { text: 'AND', onClick: () => onChange_WhereItem_Or(false, index) },
881
+ { text: 'OR', onClick: () => onChange_WhereItem_Or(true, index) }
882
+ ] }), _jsx(TMQdEditableItem, { value: wi.leftBrackets, backgroundColor: colorBrackets, onValueChanged: (value) => { onChange_WhereItem_Brackets(value, true, index); } }), _jsx(TMMetadataChooser, { disabled: isReadOnly, getColorIndex: getColorIndex, showCompleteMetadataName: showCompleteMetadataName, openEditorOnSummaryClick: true, showBorder: false, borderRadius: borderRadius, showId: showId, backgroundColor: getColorIndex({ tid: wi.tid, alias: wi.alias }), qd: formData, values: [{ tid: wi.tid, mid: wi.mid, aliasTID: wi.alias }], onValueChanged: (values) => { values.length > 0 && onChange_WhereItem_Metadato(values[0], index); } }), _jsx(TMDropDownMenu, { backgroundColor: colorOperator, color: 'green', borderRadius: borderRadius, content: _jsx(StyledDivHorizontal, { children: _jsx(StyledItemWrapper, { children: LocalizeQueryOperators(wi.operator) }) }), items: getQueryOperatorsMenuItems(wi, index) }), _jsx(TMQdWhereItemValue, { whereItem: wi, index: index, onValueChanged: (values) => { onChange_WhereItem_Values(values[0], values[1], index); } }), _jsx(TMQdEditableItem, { value: wi.rightBrackets, backgroundColor: colorBrackets, onValueChanged: (value) => { onChange_WhereItem_Brackets(value, false, index); } })] }, `${wi.tid}_${wi.mid}_${index}`));
883
+ })] }) })
884
+ :
885
+ _jsx("div", { style: { display: 'grid', alignItems: 'center', overflow: 'auto', height: '100%', paddingRight: '5px', gridTemplateColumns: 'minmax(0, max-content) minmax(0, max-content) minmax(0, max-content) minmax(50%, 1fr) minmax(0, max-content)' }, children: formData?.where?.map((wi, index) => {
886
+ return (_jsxs(Fragment, { children: [_jsxs("div", { style: { gridColumn: 1, display: 'flex', flexDirection: 'row', alignItems: 'center' }, children: [_jsx("div", { children: PlatformObjectValidator.WhereItemHasValues(wi) && _jsx(IconSuccessCirlce, { fontSize: 18, color: 'green' }) }), isEasyModeConfigurable && _jsx(TMButton, { btnStyle: 'icon', icon: _jsx(IconClear, { color: TMColors.button_icon }), caption: SDKUI_Localizator.Remove, onClick: () => onRemove_WhereItem(index) }), isEasyModeConfigurable && _jsx(TMButton, { btnStyle: 'icon', icon: _jsx(IconAddCircleOutline, { color: TMColors.button_icon }), caption: SDKUI_Localizator.AddBelow, onClick: () => onAdd_WhereItem(index + 1) })] }), _jsx("div", { style: { gridColumn: 2, display: 'flex', paddingLeft: '4px', paddingRight: '4px', height: '24px', borderRadius: borderRadius, fontSize: '1rem' }, children: _jsx(TMMetadataChooser, { width: '100%', disabled: !isEasyModeConfigurable, showCompleteMetadataName: showCompleteMetadataName, openEditorOnSummaryClick: true, showBorder: false, showId: showId, qd: formData, values: [{ tid: wi.tid, mid: wi.mid, aliasTID: wi.alias }], onValueChanged: (values) => { values.length > 0 && onChange_WhereItem_Metadato(values[0], index); } }) }), _jsx("div", { style: { gridColumn: 3 }, children: _jsx(TMDropDownMenu, { backgroundColor: colorOperator, color: 'green', borderRadius: borderRadius, content: _jsx(StyledDivHorizontal, { children: _jsx(StyledItemWrapper, { children: LocalizeQueryOperators(wi.operator) }) }), items: getQueryOperatorsMenuItems(wi, index) }) }), _jsx("div", { style: { gridColumn: 4, paddingLeft: '4px' }, children: _jsx(TMQdWhereItemValue, { onlyEditing: true, whereItem: wi, index: index, onValueChanged: (values) => {
887
+ onChange_WhereItem_Values(values[0], values[1], index);
888
+ } }) }), !isEasyModeConfigurable && _jsx("div", { style: { gridColumn: 5, display: 'flex', alignItems: 'center' }, children: renderButtonSort({ tid: wi.tid, mid: wi.mid, aliasTID: wi.alias }) })] }, `${wi.tid}_${wi.mid}_${index}`));
889
+ }) }) }), fromCount > 0 && (isAdvancedSearch || isEasyModeConfigurable) && (!isReadOnly || orderByCount > 0) && _jsx(Item, { title: SDK_Localizator.QueryOrderBy, titleRender: (tabItemProps) => renderAccordionTitle(tabItemProps, orderByCount, validationItems.filter((o) => o.PropertyName == TMPropertyNames.orderBy)), children: _jsx(StyledAccordionItemContainer, { children: _jsxs(StyledAccordionItemContent, { "$disabled": isReadOnly, children: [(!formData?.orderBy || formData?.orderBy.length <= 0) && !isReadOnly &&
890
+ _jsx(StyledRowItem, { children: _jsx(TMButton, { btnStyle: 'normal', disabled: !formData?.from?.tid, caption: SDKUI_Localizator.Add, onClick: onAdd_OrderByItem }) }), formData?.orderBy?.map((oi, index) => {
891
+ return (_jsxs(StyledRowItem, { onDragEnd: dragEnd, onDragOver: dragOver, onDrop: (e) => dropOrderBy(e, oi), children: [!isReadOnly && _jsx(StyledDraggableDiv, { draggable: true, onDragStart: (e) => dragStart(e, oi), children: _jsx(IconDraggabledots, { fontSize: 15, color: TMColors.button_icon }) }), !isReadOnly && _jsx(TMButton, { btnStyle: 'icon', padding: '3px 0px', icon: _jsx(IconClear, { color: TMColors.button_icon }), caption: SDKUI_Localizator.Remove, onClick: () => onRemove_OrderByItem(index) }), !isReadOnly && _jsx(TMButton, { btnStyle: 'icon', padding: '3px 0px', icon: _jsx(IconAddCircleOutline, { color: TMColors.button_icon }), caption: SDKUI_Localizator.AddBelow, onClick: () => onAdd_OrderByItem(index + 1) }), !isReadOnly && _jsx(TMDropDownMenu, { content: _jsx(TMTooltip, { content: SDK_Localizator.toCaseWord(SDKUI_Localizator.OneMore), children: _jsx(IconDotsVerticalCircleOutline, { color: TMColors.button_icon }) }), items: [
892
+ { text: SDKUI_Localizator.AddAbove, onClick: () => onAdd_OrderByItem(index) },
893
+ { text: SDKUI_Localizator.AddBelow, onClick: () => onAdd_OrderByItem(index + 1) },
894
+ { text: SDKUI_Localizator.Remove, onClick: () => onRemove_OrderByItem(index) },
895
+ { text: SDKUI_Localizator.RemoveAll, onClick: () => setFormData({ ...formData, orderBy: undefined }) },
896
+ ] }), _jsx(TMMetadataChooser, { disabled: isReadOnly, getColorIndex: getColorIndex, showCompleteMetadataName: showCompleteMetadataName, openEditorOnSummaryClick: true, showBorder: false, showId: showId, borderRadius: borderRadius, backgroundColor: getColorIndex({ tid: oi.tid, alias: oi.alias }), qd: formData, values: [{ tid: oi.tid, mid: oi.mid, aliasTID: oi.alias }], onValueChanged: (values) => onChange_OrderByItem_MID(values[0], index) }), _jsx(TMDropDownMenu, { backgroundColor: colorOperator, borderRadius: borderRadius, content: _jsx(StyledItemWrapper, { children: oi.asc ? 'ASC' : 'DESC' }), items: [
897
+ { text: 'ASC', onClick: () => onChange_OrderByItem_Asc(true, oi, index) },
898
+ { text: 'DESC', onClick: () => onChange_OrderByItem_Asc(false, oi, index) }
899
+ ] })] }, `${oi.tid}_${oi.mid}_${index}`));
900
+ })] }) }) }), fromCount > 0 && isAdvancedSearch && _jsx(Item, { title: SDKUI_Localizator.Options, titleRender: (tabItemProps) => renderAccordionTitle(tabItemProps, undefined, []), children: _jsx(StyledAccordionItemContainer, { children: _jsxs(StyledAccordionItemContent, { "$disabled": isReadOnly, children: [showDistinct && _jsx(TMCheckBox, { label: SDK_Localizator.QueryDistinct, value: formData.isDistinct, onValueChanged: () => { setFormData({ ...formData, isDistinct: !formData.isDistinct }); } }), _jsx(TMTextBox, { type: 'number', width: '200px', label: SDKUI_Localizator.MaxDcmtsToBeReturned, validationItems: validationItems.filter((o) => o.PropertyName == TMPropertyNames.maxDcmtsToBeReturned), value: formData.maxDcmtsToBeReturned, onBlur: (newValue) => setFormData({ ...formData, maxDcmtsToBeReturned: Number(newValue) }) })] }) }) })] }) }), showResultSearch && _jsxs(StyledModalContainer, { children: [" ", renderResultSearchForm(), " "] })] }));
901
+ };
902
+ export default TMQueryEditor;
903
+ const TMQdWhereItemValue = ({ whereItem, index, onlyEditing = false, onValueChanged }) => {
904
+ let EditingModes;
905
+ (function (EditingModes) {
906
+ EditingModes[EditingModes["None"] = 0] = "None";
907
+ EditingModes[EditingModes["Editing"] = 1] = "Editing";
908
+ EditingModes[EditingModes["Chooser"] = 2] = "Chooser";
909
+ })(EditingModes || (EditingModes = {}));
910
+ const [showValue1, setShowValue1] = useState(false);
911
+ const [showValue2, setShowValue2] = useState(false);
912
+ const [numberOfOperands, setNumberOfOperands] = useState(0);
913
+ const [md, setMd] = useState();
914
+ const [editingMode, setEditingMode] = useState(EditingModes.Editing);
915
+ const [showDataListChooseForm, setShowDataListChooseForm] = useState(false);
916
+ const [dataList, setDataList] = useState();
917
+ const [showUserChooseForm, setShowUserChooseForm] = useState(false);
918
+ const [users, setUsers] = useState();
919
+ const [containerElement, setContainerElement] = useState();
920
+ const [isEditing, setIsEditing] = useState(false);
921
+ const [currentValue1, setCurrentValue1] = useState();
922
+ const [currentValue2, setCurrentValue2] = useState();
923
+ const ref = useOutsideClick((escPressed) => {
924
+ setIsEditing(false);
925
+ if (onlyEditing)
926
+ return;
927
+ if (escPressed)
928
+ return;
929
+ if (currentValue1 != whereItem.value1 || currentValue2 != whereItem.value2)
930
+ onValueChanged?.([currentValue1, currentValue2]);
931
+ });
932
+ const containerId = `editorContainer_${index}_${genUniqueId()}`;
933
+ useEffect(() => {
934
+ setContainerElement(document.getElementById(containerId));
935
+ }, []);
936
+ useEffect(() => {
937
+ let operands = PlatformObjectValidator.GetNumberOfOperands(whereItem.operator);
938
+ switch (operands) {
939
+ case 0:
940
+ setShowValue1(false);
941
+ setShowValue2(false);
942
+ break;
943
+ case 2:
944
+ setShowValue1(true);
945
+ setShowValue2(true);
946
+ break;
947
+ default:
948
+ setShowValue1(true);
949
+ setShowValue2(false);
950
+ break;
951
+ }
952
+ setNumberOfOperands(operands);
953
+ getMetadata().then((mdOut) => {
954
+ setMd(mdOut);
955
+ switch (mdOut?.dataDomain) {
956
+ case MetadataDataDomains.DataList:
957
+ setEditingMode(EditingModes.Chooser);
958
+ if (dataList != undefined)
959
+ return;
960
+ TMSpinner.show({ description: `${SDKUI_Localizator.Loading} - ${SDK_Localizator.DataList} ...` });
961
+ mdOut.dataListID && DataListCacheService.GetAsync(mdOut.dataListID).then((dataList) => {
962
+ TMSpinner.hide();
963
+ setDataList(dataList);
964
+ });
965
+ break;
966
+ case MetadataDataDomains.UserID:
967
+ setEditingMode(EditingModes.Chooser);
968
+ if (users !== undefined)
969
+ return;
970
+ TMSpinner.show({ description: `${SDKUI_Localizator.Loading} - ${SDK_Localizator.Users} ...` });
971
+ UserListCacheService.GetAllAsync().then((resultUsers) => {
972
+ TMSpinner.hide();
973
+ setUsers(resultUsers ?? []);
974
+ });
975
+ break;
976
+ default:
977
+ setEditingMode(EditingModes.Editing);
978
+ break;
979
+ }
980
+ });
981
+ setCurrentValue1(whereItem.value1);
982
+ setCurrentValue2(whereItem.value2);
983
+ }, [whereItem]);
984
+ const getMetadata = async () => {
985
+ let dtd = await DcmtTypeListCacheService.GetAsync(whereItem.tid, true);
986
+ return dtd?.metadata?.find(o => o.id === whereItem.mid);
987
+ };
988
+ const normalizeValue = (value, isForValue1 = true) => {
989
+ let newValues = [];
990
+ let newValue = value;
991
+ if (isForValue1) {
992
+ newValues.push(newValue);
993
+ newValues.push(whereItem.value2);
994
+ setCurrentValue1(newValue);
995
+ }
996
+ else {
997
+ newValues.push(whereItem.value1);
998
+ newValues.push(newValue);
999
+ setCurrentValue2(newValue);
1000
+ }
1001
+ onValueChanged?.(newValues);
1002
+ };
1003
+ const chooseValue = () => {
1004
+ switch (md?.dataDomain) {
1005
+ case MetadataDataDomains.DataList:
1006
+ setShowDataListChooseForm(true);
1007
+ break;
1008
+ case MetadataDataDomains.UserID:
1009
+ setShowUserChooseForm(true);
1010
+ break;
1011
+ }
1012
+ };
1013
+ return (_jsxs("div", { ref: ref, id: containerId, style: { width: isEditing && whereItem.operator == QueryOperators.Custom && !onlyEditing ? "100%" : undefined }, children: [(isEditing || onlyEditing) &&
1014
+ _jsxs(StyledRowItem, { children: [showValue1 && _jsx(TMQdWhereItemValueEditor, { value: whereItem.value1, autoFocus: !onlyEditing, dataType: md?.dataType, containerElement: containerElement, numberOfOperands: numberOfOperands, onValueChange: (value) => setCurrentValue1(value), onValueChanged: (value) => { normalizeValue(value, true); } }), showValue2 && _jsx(TMQdWhereItemValueEditor, { value: whereItem.value2, autoFocus: !onlyEditing, dataType: md?.dataType, containerElement: containerElement, numberOfOperands: numberOfOperands, onValueChange: (value) => setCurrentValue2(value), onValueChanged: (value) => { normalizeValue(value, false); } })] }), !isEditing && !onlyEditing && (showValue1 || showValue2) &&
1015
+ _jsxs(StyledDivHorizontal, { children: [editingMode == EditingModes.Chooser &&
1016
+ _jsxs(_Fragment, { children: [showDataListChooseForm &&
1017
+ _jsx(TMDataListItemChooserForm, { height: '500px', width: '450px', allowMultipleSelection: whereItem.operator == QueryOperators.In || whereItem.operator == QueryOperators.NotIn, dataListId: md?.dataListID, selectedIDs: whereItem.value1?.split(',').map((item) => !item.startsWith("'") ? item : item.slice(1, -1)) ?? [], onClose: () => setShowDataListChooseForm(false), onChoose: (IDs) => { IDs && normalizeValue(IDs.length == 1 ? IDs[0] : IDs.map((item) => `'${item}'`).join(","), true); } }), showUserChooseForm &&
1018
+ _jsx(TMUserChooserForm, { height: '550px', width: '600px', allowMultipleSelection: whereItem.operator == QueryOperators.In || whereItem.operator == QueryOperators.NotIn, dataSource: users, selectedIDs: whereItem.value1?.split(',').map((item) => !item.startsWith("'") ? Number(item) : Number(item.slice(1, -1))) ?? [], onClose: () => setShowUserChooseForm(false), onChoose: (IDs) => { IDs && normalizeValue(IDs.length == 1 ? IDs[0].toString() : IDs.map((item) => item).join(","), true); } })] }), _jsx(StyledItemWrapper, { onClick: () => { (editingMode == EditingModes.Editing) ? setIsEditing(true) : chooseValue(); }, style: { backgroundColor: colorValue, cursor: 'pointer', width: '100%' }, children: numberOfOperands == 11 || numberOfOperands == 12 || numberOfOperands == 99
1019
+ ? _jsx(_Fragment, { children: whereItem.value1 ?? `<${SDKUI_Localizator.Search_EnterValue}...>` })
1020
+ : _jsxs(_Fragment, { children: [displayMetadataValue(md, whereItem.value1, `<${SDKUI_Localizator.Search_EnterValue}...>`), numberOfOperands == 2 && (whereItem.value2 && whereItem.value2 != '' ? ` - ${displayMetadataValue(md, whereItem.value2, `<${SDKUI_Localizator.Search_EnterValue}...>`)}` : ' - ?')] }) })] })] }));
1021
+ };
1022
+ const TMQdEditableItem = ({ value, placeHolder, width, backgroundColor, onValueChanged }) => {
1023
+ const [isComponentVisible, setIsComponentVisible] = useState(false);
1024
+ const ref = useOutsideClick(() => { setIsComponentVisible(false); });
1025
+ return (_jsx("div", { ref: ref, children: isComponentVisible ?
1026
+ _jsx(TMTextBox, { elementStyle: { marginLeft: '5px', marginRight: '5px' }, width: width ?? '50px', autoFocus: true, value: value ?? '', onBlur: (newValue) => onValueChanged(newValue) })
1027
+ :
1028
+ _jsx(StyledItemWrapper, { onClick: () => setIsComponentVisible(true), style: { backgroundColor: backgroundColor, cursor: 'pointer' }, children: value ?? placeHolder }) }));
1029
+ };
1030
+ const TMQdWhereItemValueEditor = ({ value, containerElement, autoFocus, numberOfOperands, dataType, onValueChanged, onValueChange }) => {
1031
+ if (value?.startsWith("{@QueryParam") || value == "{@UserName}" || value == "{@UserID}")
1032
+ return _jsx(TMTextBox, { elementStyle: { width: '100%' }, type: 'text', autoFocus: autoFocus, value: value || '', onValueChanged: (e) => onValueChange?.(e.target.value), onBlur: (newValue) => onValueChanged?.(newValue) });
1033
+ switch (numberOfOperands) {
1034
+ case 11:
1035
+ case 99: return _jsx(TMTextBox, { elementStyle: { width: '100%' }, type: 'text', autoFocus: autoFocus, value: value ?? '', onValueChanged: (e) => onValueChange?.(e.target.value), onBlur: (newValue) => onValueChanged?.(newValue) });
1036
+ case 12: return _jsx(TMTextBox, { elementStyle: { width: '100%' }, type: 'number', autoFocus: autoFocus, value: value ?? '', onValueChanged: (e) => onValueChange?.(e.target.value), onBlur: (newValue) => onValueChanged?.(newValue) });
1037
+ default:
1038
+ switch (dataType) {
1039
+ case MetadataDataTypes.DateTime: return _jsx(TMDateBox, { width: '100%', value: value, useDateSerializationFormat: true, containerElement: containerElement, onValueChange: (newValue) => { onValueChange?.(newValue.toString()); onValueChanged?.(newValue); } });
1040
+ case MetadataDataTypes.Number: return _jsx(TMTextBox, { elementStyle: { width: '100%' }, type: 'number', autoFocus: autoFocus, value: value ?? '', onValueChanged: (e) => onValueChange?.(e.target.value), onBlur: (newValue) => onValueChanged?.(newValue) });
1041
+ default: return _jsx(TMTextBox, { type: 'text', elementStyle: { width: '100%' }, autoFocus: autoFocus, value: value ?? '', onValueChanged: (e) => onValueChange?.(e.target.value), onBlur: (newValue) => { onValueChanged?.(newValue); } });
1042
+ }
1043
+ }
1044
+ };