@magic-xpa/engine 4.1100.0-dev4110.98 → 4.1100.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (492) hide show
  1. package/README.md +7 -7
  2. package/{esm2020 → esm2022}/index.mjs +188 -188
  3. package/{esm2020 → esm2022}/magic-xpa-engine.mjs +1 -1
  4. package/esm2022/src/AccessHelper.mjs +15 -0
  5. package/esm2022/src/ClientManager.mjs +421 -0
  6. package/esm2022/src/CommandsProcessorBase.mjs +56 -0
  7. package/{esm2020 → esm2022}/src/CommandsProcessorManager.mjs +25 -25
  8. package/esm2022/src/CommandsTable.mjs +162 -0
  9. package/esm2022/src/ConstInterface.mjs +517 -0
  10. package/{esm2020 → esm2022}/src/CurrentClientVersion.mjs +2 -2
  11. package/esm2022/src/FlowMonitorInterface.mjs +16 -0
  12. package/esm2022/src/GUIManager.mjs +62 -0
  13. package/esm2022/src/GlobalCommandsManager.mjs +34 -0
  14. package/esm2022/src/GuiEventsProcessor.mjs +156 -0
  15. package/{esm2020 → esm2022}/src/ICommandsTable.mjs +1 -1
  16. package/esm2022/src/ServerConfig.mjs +122 -0
  17. package/{esm2020 → esm2022}/src/bridge/IGuiEvent.mjs +19 -19
  18. package/esm2022/src/bridge/MagicBridge.mjs +41 -0
  19. package/esm2022/src/commands/ClientOriginatedCommandTaskTag.mjs +12 -0
  20. package/{esm2020 → esm2022}/src/commands/ClientToServer/AddUserLocateDataViewCommand.mjs +8 -8
  21. package/{esm2020 → esm2022}/src/commands/ClientToServer/AddUserRangeDataviewCommand.mjs +9 -9
  22. package/{esm2020 → esm2022}/src/commands/ClientToServer/AddUserSortDataViewCommand.mjs +9 -9
  23. package/esm2022/src/commands/ClientToServer/BrowserEscEventCommand.mjs +26 -0
  24. package/{esm2020 → esm2022}/src/commands/ClientToServer/ClientOriginatedCommand.mjs +14 -14
  25. package/{esm2020 → esm2022}/src/commands/ClientToServer/ClientOriginatedCommandSerializer.mjs +59 -59
  26. package/esm2022/src/commands/ClientToServer/ColumnSortEventCommand.mjs +29 -0
  27. package/esm2022/src/commands/ClientToServer/CommandFactory.mjs +261 -0
  28. package/esm2022/src/commands/ClientToServer/CommandSerializationHelper.mjs +67 -0
  29. package/esm2022/src/commands/ClientToServer/ComputeEventCommand.mjs +26 -0
  30. package/{esm2020 → esm2022}/src/commands/ClientToServer/ContextTerminationEventCommand.mjs +24 -21
  31. package/{esm2020 → esm2022}/src/commands/ClientToServer/ContextTimeoutResetCommand.mjs +23 -20
  32. package/{esm2020 → esm2022}/src/commands/ClientToServer/ControlItemsRefreshCommand.mjs +8 -8
  33. package/esm2022/src/commands/ClientToServer/DataViewOutputCommand.mjs +13 -0
  34. package/{esm2020 → esm2022}/src/commands/ClientToServer/DataviewCommand.mjs +44 -44
  35. package/esm2022/src/commands/ClientToServer/EvaluateCommand.mjs +40 -0
  36. package/{esm2020 → esm2022}/src/commands/ClientToServer/EventCommand.mjs +43 -40
  37. package/esm2022/src/commands/ClientToServer/ExecOperCommand.mjs +70 -0
  38. package/esm2022/src/commands/ClientToServer/FetchDataControlValuesEventCommand.mjs +25 -0
  39. package/{esm2020 → esm2022}/src/commands/ClientToServer/GlobalParamsQueryCommand.mjs +10 -10
  40. package/{esm2020 → esm2022}/src/commands/ClientToServer/ICommandTaskTag.mjs +1 -1
  41. package/esm2022/src/commands/ClientToServer/IndexChangeEventCommand.mjs +24 -0
  42. package/esm2022/src/commands/ClientToServer/IniputForceWriteCommand.mjs +26 -0
  43. package/{esm2020 → esm2022}/src/commands/ClientToServer/NonReversibleExitEventCommand.mjs +26 -23
  44. package/{esm2020 → esm2022}/src/commands/ClientToServer/QueryCommand.mjs +20 -20
  45. package/esm2022/src/commands/ClientToServer/RecomputeCommand.mjs +30 -0
  46. package/esm2022/src/commands/ClientToServer/RefreshEventCommand.mjs +30 -0
  47. package/esm2022/src/commands/ClientToServer/RefreshScreenEventCommand.mjs +27 -0
  48. package/esm2022/src/commands/ClientToServer/RollbackEventCommand.mjs +43 -0
  49. package/esm2022/src/commands/ClientToServer/SelectProgramCommand.mjs +19 -0
  50. package/{esm2020 → esm2022}/src/commands/ClientToServer/SetTransactionStateDataviewCommand.mjs +9 -9
  51. package/esm2022/src/commands/ClientToServer/SubformOpenEventCommand.mjs +24 -0
  52. package/esm2022/src/commands/ClientToServer/SubformRefreshEventCommand.mjs +27 -0
  53. package/esm2022/src/commands/ClientToServer/TransactionCommand.mjs +34 -0
  54. package/{esm2020 → esm2022}/src/commands/ClientToServer/UnloadCommand.mjs +18 -15
  55. package/esm2022/src/commands/ClientToServer/WriteMessageToServerLogCommand.mjs +18 -0
  56. package/esm2022/src/commands/DataViewCommandBase.mjs +8 -0
  57. package/{esm2020 → esm2022}/src/commands/IClientCommand.mjs +1 -1
  58. package/esm2022/src/commands/IClientTargetedCommand.mjs +13 -0
  59. package/{esm2020 → esm2022}/src/commands/IClientToServerCommandInfo.mjs +2 -2
  60. package/esm2022/src/commands/ServerToClient/AbortCommand.mjs +65 -0
  61. package/{esm2020 → esm2022}/src/commands/ServerToClient/AddLocateCommand.mjs +21 -21
  62. package/{esm2020 → esm2022}/src/commands/ServerToClient/AddRangeCommand.mjs +62 -62
  63. package/{esm2020 → esm2022}/src/commands/ServerToClient/AddSortCommand.mjs +33 -33
  64. package/esm2022/src/commands/ServerToClient/ClientRefreshCommand.mjs +25 -0
  65. package/esm2022/src/commands/ServerToClient/ClientTargetedCommandBase.mjs +24 -0
  66. package/esm2022/src/commands/ServerToClient/EnhancedVerifyCommand.mjs +45 -0
  67. package/esm2022/src/commands/ServerToClient/OpenURLCommand.mjs +221 -0
  68. package/{esm2020 → esm2022}/src/commands/ServerToClient/ResetLocateCommand.mjs +14 -14
  69. package/{esm2020 → esm2022}/src/commands/ServerToClient/ResetRangeCommand.mjs +14 -14
  70. package/{esm2020 → esm2022}/src/commands/ServerToClient/ResetSortCommand.mjs +14 -14
  71. package/esm2022/src/commands/ServerToClient/ResultCommand.mjs +37 -0
  72. package/esm2022/src/commands/ServerToClient/VerifyCommand.mjs +83 -0
  73. package/{esm2020 → esm2022}/src/commands/ServerToClient/XMLBasedCommandBuilder.mjs +132 -132
  74. package/{esm2020 → esm2022}/src/communications/IConnectionStateManager.mjs +1 -1
  75. package/esm2022/src/communications/InteractiveCommunicationsFailureHandler.mjs +15 -0
  76. package/{esm2020 → esm2022}/src/data/DataSourceIdKey.mjs +2 -2
  77. package/esm2022/src/data/DataView.mjs +1613 -0
  78. package/{esm2020 → esm2022}/src/data/DataViewBase.mjs +3 -3
  79. package/esm2022/src/data/DataviewManager.mjs +28 -0
  80. package/esm2022/src/data/DataviewManagerBase.mjs +15 -0
  81. package/esm2022/src/data/DvCache.mjs +67 -0
  82. package/esm2022/src/data/Field.mjs +646 -0
  83. package/esm2022/src/data/FieldBase.mjs +15 -0
  84. package/esm2022/src/data/FieldsTable.mjs +103 -0
  85. package/{esm2020 → esm2022}/src/data/IRecordsTable.mjs +1 -1
  86. package/{esm2020 → esm2022}/src/data/Key.mjs +88 -88
  87. package/esm2022/src/data/Record.mjs +880 -0
  88. package/{esm2020 → esm2022}/src/data/RecordOutOfDataViewException.mjs +15 -15
  89. package/esm2022/src/data/RecordsTable.mjs +267 -0
  90. package/{esm2020 → esm2022}/src/data/TaskTransactionManager.mjs +107 -103
  91. package/{esm2020 → esm2022}/src/data/XMLBasedDcValuesBuilder.mjs +74 -74
  92. package/{esm2020 → esm2022}/src/enums.mjs +23 -23
  93. package/esm2022/src/env/EnvVariablesTable.mjs +340 -0
  94. package/esm2022/src/env/Environment.mjs +487 -0
  95. package/{esm2020 → esm2022}/src/env/ILanguageData.mjs +1 -1
  96. package/esm2022/src/env/LanguageData.mjs +227 -0
  97. package/{esm2020 → esm2022}/src/env/MirrorString.mjs +65 -65
  98. package/esm2022/src/event/ActionManager.mjs +91 -0
  99. package/esm2022/src/event/Event.mjs +1333 -0
  100. package/esm2022/src/event/EventHandler.mjs +766 -0
  101. package/esm2022/src/event/EventHandlerPosition.mjs +204 -0
  102. package/esm2022/src/event/EventsManager.mjs +2988 -0
  103. package/{esm2020 → esm2022}/src/event/IEventsManager.mjs +6 -6
  104. package/esm2022/src/event/RunTimeEvent.mjs +399 -0
  105. package/{esm2020 → esm2022}/src/event/RunTimeEventBase.mjs +3 -3
  106. package/esm2022/src/event/UserEventsTable.mjs +47 -0
  107. package/esm2022/src/exp/ExpTable.mjs +57 -0
  108. package/esm2022/src/exp/Expression.mjs +200 -0
  109. package/esm2022/src/exp/ExpressionDict.mjs +727 -0
  110. package/esm2022/src/exp/ExpressionEvaluator.mjs +4206 -0
  111. package/esm2022/src/exp/ExpressionLocalJpn.mjs +314 -0
  112. package/{esm2020 → esm2022}/src/exp/GlobalParamsTable.mjs +85 -85
  113. package/esm2022/src/exp/YesNoExp.mjs +36 -0
  114. package/esm2022/src/gui/CreatedFormVector.mjs +23 -0
  115. package/esm2022/src/gui/FormsTable.mjs +66 -0
  116. package/esm2022/src/gui/MgControl.mjs +363 -0
  117. package/esm2022/src/gui/MgForm.mjs +1224 -0
  118. package/esm2022/src/http/HttpManager.mjs +97 -0
  119. package/esm2022/src/http/client/HttpClientAsync.mjs +68 -0
  120. package/{esm2020 → esm2022}/src/http/client/HttpClientBase.mjs +132 -132
  121. package/esm2022/src/http/client/HttpClientEvents.mjs +39 -0
  122. package/esm2022/src/http/client/HttpClientSync.mjs +42 -0
  123. package/esm2022/src/http/client/HttpUtility.mjs +84 -0
  124. package/{esm2020 → esm2022}/src/http/client/ICommunicationsFailureHandler.mjs +1 -1
  125. package/{esm2020 → esm2022}/src/remote/AddUserLocateRemoteDataViewCommand.mjs +18 -18
  126. package/{esm2020 → esm2022}/src/remote/AddUserRangeRemoteDataViewCommand.mjs +18 -18
  127. package/{esm2020 → esm2022}/src/remote/AddUserSortRemoteDataViewCommand.mjs +18 -18
  128. package/esm2022/src/remote/RemoteCommandsProcessor.mjs +883 -0
  129. package/{esm2020 → esm2022}/src/remote/RemoteControlItemsRefreshCommand.mjs +25 -25
  130. package/{esm2020 → esm2022}/src/remote/RemoteDataViewCommandBase.mjs +24 -24
  131. package/{esm2020 → esm2022}/src/remote/RemoteDataViewCommandFactory.mjs +60 -60
  132. package/{esm2020 → esm2022}/src/remote/RemoteDataViewCommandUpdateNonModifiable.mjs +15 -15
  133. package/{esm2020 → esm2022}/src/remote/RemoteDataviewManager.mjs +17 -17
  134. package/{esm2020 → esm2022}/src/remote/RemoteInitDataViewCommand.mjs +10 -10
  135. package/{esm2020 → esm2022}/src/remote/ResetUserLocateRemoteDataviewCommand.mjs +16 -16
  136. package/{esm2020 → esm2022}/src/remote/ResetUserRangeRemoteDataviewCommand.mjs +12 -12
  137. package/{esm2020 → esm2022}/src/remote/ResetUserSortRemoteDataviewCommand.mjs +15 -15
  138. package/esm2022/src/remote/ServerError.mjs +40 -0
  139. package/{esm2020 → esm2022}/src/remote/SetTransactionStateRemoteDataViewCommand.mjs +19 -19
  140. package/esm2022/src/rt/Argument.mjs +265 -0
  141. package/esm2022/src/rt/ArgumentsList.mjs +103 -0
  142. package/esm2022/src/rt/Boundary.mjs +152 -0
  143. package/esm2022/src/rt/CompMainPrgTable.mjs +63 -0
  144. package/esm2022/src/rt/DataviewHeaderBase.mjs +98 -0
  145. package/{esm2020 → esm2022}/src/rt/DataviewHeaderFactory.mjs +6 -6
  146. package/esm2022/src/rt/DataviewHeaders.mjs +53 -0
  147. package/{esm2020 → esm2022}/src/rt/DataviewHeadersSaxHandler.mjs +38 -38
  148. package/{esm2020 → esm2022}/src/rt/ExecutionStack.mjs +94 -94
  149. package/{esm2020 → esm2022}/src/rt/ExecutionStackEntry.mjs +17 -17
  150. package/{esm2020 → esm2022}/src/rt/HandlersTable.mjs +96 -96
  151. package/{esm2020 → esm2022}/src/rt/IDataSourceViewDefinition.mjs +1 -1
  152. package/{esm2020 → esm2022}/src/rt/IDataviewHeader.mjs +1 -1
  153. package/{esm2020 → esm2022}/src/rt/IResultValue.mjs +1 -1
  154. package/esm2022/src/rt/LastFocusedManager.mjs +65 -0
  155. package/esm2022/src/rt/Operation.mjs +735 -0
  156. package/esm2022/src/rt/OperationTable.mjs +67 -0
  157. package/esm2022/src/rt/Recompute.mjs +355 -0
  158. package/{esm2020 → esm2022}/src/rt/RecomputeTable.mjs +62 -62
  159. package/{esm2020 → esm2022}/src/rt/RemoteDataviewHeader.mjs +108 -108
  160. package/esm2022/src/rt/ResultValue.mjs +10 -0
  161. package/esm2022/src/rt/TableCache.mjs +177 -0
  162. package/esm2022/src/rt/TableCacheManager.mjs +67 -0
  163. package/esm2022/src/rt/Transaction.mjs +53 -0
  164. package/esm2022/src/security/UserDetails.mjs +71 -0
  165. package/{esm2020 → esm2022}/src/tasks/IMGDataCollection.mjs +1 -1
  166. package/esm2022/src/tasks/MGData.mjs +552 -0
  167. package/esm2022/src/tasks/MGDataCollection.mjs +252 -0
  168. package/esm2022/src/tasks/RCTimer.mjs +63 -0
  169. package/{esm2020 → esm2022}/src/tasks/RemoteTaskService.mjs +44 -44
  170. package/esm2022/src/tasks/Task.mjs +2499 -0
  171. package/esm2022/src/tasks/TaskBase.mjs +83 -0
  172. package/{esm2020 → esm2022}/src/tasks/TaskServiceBase.mjs +24 -24
  173. package/esm2022/src/tasks/TasksTable.mjs +80 -0
  174. package/esm2022/src/tasks/sort/Sort.mjs +5 -0
  175. package/{esm2020 → esm2022}/src/tasks/sort/SortCollection.mjs +67 -67
  176. package/{esm2020 → esm2022}/src/util/ConstUtils.mjs +13 -13
  177. package/esm2022/src/util/FlowMonitorQueue.mjs +451 -0
  178. package/{esm2020 → esm2022}/src/util/HeapSort.mjs +69 -69
  179. package/{esm2020 → esm2022}/src/util/IMirrorXML.mjs +1 -1
  180. package/{esm2020 → esm2022}/src/util/IServerConfig.mjs +1 -1
  181. package/{esm2020 → esm2022}/src/util/MgBlockingQueue.mjs +1 -1
  182. package/esm2022/src/util/MgPriorityBlockingQueue.mjs +74 -0
  183. package/esm2022/src/util/MgPriorityQueue.mjs +66 -0
  184. package/{esm2020 → esm2022}/src/util/ParamParseResult.mjs +7 -7
  185. package/esm2022/src/util/PrmMap.mjs +152 -0
  186. package/esm2022/src/util/ReturnResult.mjs +46 -0
  187. package/esm2022/src/util/ReturnResultBase.mjs +18 -0
  188. package/esm2022/src/util/Scrambler.mjs +89 -0
  189. package/esm2022/src/util/UniqueIDUtils.mjs +13 -0
  190. package/{esm2020 → esm2022}/src/util/cookie.service.mjs +92 -92
  191. package/{fesm2020 → fesm2022}/magic-xpa-engine.mjs +29888 -29690
  192. package/fesm2022/magic-xpa-engine.mjs.map +1 -0
  193. package/index.d.ts +187 -187
  194. package/package.json +8 -14
  195. package/src/AccessHelper.d.ts +20 -20
  196. package/src/ClientManager.d.ts +35 -32
  197. package/src/CommandsProcessorBase.d.ts +23 -23
  198. package/src/CommandsProcessorManager.d.ts +6 -6
  199. package/src/CommandsTable.d.ts +22 -22
  200. package/src/ConstInterface.d.ts +516 -515
  201. package/src/CurrentClientVersion.d.ts +1 -1
  202. package/src/FlowMonitorInterface.d.ts +15 -15
  203. package/src/GUIManager.d.ts +17 -17
  204. package/src/GlobalCommandsManager.d.ts +17 -17
  205. package/src/GuiEventsProcessor.d.ts +24 -24
  206. package/src/ICommandsTable.d.ts +9 -9
  207. package/src/ServerConfig.d.ts +35 -34
  208. package/src/bridge/IGuiEvent.d.ts +19 -19
  209. package/src/bridge/MagicBridge.d.ts +16 -16
  210. package/src/commands/ClientOriginatedCommandTaskTag.d.ts +8 -8
  211. package/src/commands/ClientToServer/AddUserLocateDataViewCommand.d.ts +4 -4
  212. package/src/commands/ClientToServer/AddUserRangeDataviewCommand.d.ts +6 -6
  213. package/src/commands/ClientToServer/AddUserSortDataViewCommand.d.ts +6 -6
  214. package/src/commands/ClientToServer/BrowserEscEventCommand.d.ts +9 -8
  215. package/src/commands/ClientToServer/ClientOriginatedCommand.d.ts +8 -8
  216. package/src/commands/ClientToServer/ClientOriginatedCommandSerializer.d.ts +6 -6
  217. package/src/commands/ClientToServer/ColumnSortEventCommand.d.ts +11 -10
  218. package/src/commands/ClientToServer/CommandFactory.d.ts +64 -64
  219. package/src/commands/ClientToServer/CommandSerializationHelper.d.ts +20 -20
  220. package/src/commands/ClientToServer/ComputeEventCommand.d.ts +9 -8
  221. package/src/commands/ClientToServer/ContextTerminationEventCommand.d.ts +8 -7
  222. package/src/commands/ClientToServer/ContextTimeoutResetCommand.d.ts +8 -7
  223. package/src/commands/ClientToServer/ControlItemsRefreshCommand.d.ts +6 -6
  224. package/src/commands/ClientToServer/DataViewOutputCommand.d.ts +9 -9
  225. package/src/commands/ClientToServer/DataviewCommand.d.ts +32 -32
  226. package/src/commands/ClientToServer/EvaluateCommand.d.ts +16 -15
  227. package/src/commands/ClientToServer/EventCommand.d.ts +16 -15
  228. package/src/commands/ClientToServer/ExecOperCommand.d.ts +24 -23
  229. package/src/commands/ClientToServer/FetchDataControlValuesEventCommand.d.ts +9 -8
  230. package/src/commands/ClientToServer/GlobalParamsQueryCommand.d.ts +5 -5
  231. package/src/commands/ClientToServer/ICommandTaskTag.d.ts +3 -3
  232. package/src/commands/ClientToServer/IndexChangeEventCommand.d.ts +9 -8
  233. package/src/commands/ClientToServer/IniputForceWriteCommand.d.ts +11 -10
  234. package/src/commands/ClientToServer/NonReversibleExitEventCommand.d.ts +9 -8
  235. package/src/commands/ClientToServer/QueryCommand.d.ts +8 -8
  236. package/src/commands/ClientToServer/RecomputeCommand.d.ts +12 -11
  237. package/src/commands/ClientToServer/RefreshEventCommand.d.ts +13 -12
  238. package/src/commands/ClientToServer/RefreshScreenEventCommand.d.ts +11 -10
  239. package/src/commands/ClientToServer/RollbackEventCommand.d.ts +15 -14
  240. package/src/commands/ClientToServer/SelectProgramCommand.d.ts +7 -6
  241. package/src/commands/ClientToServer/SetTransactionStateDataviewCommand.d.ts +5 -5
  242. package/src/commands/ClientToServer/SubformOpenEventCommand.d.ts +9 -8
  243. package/src/commands/ClientToServer/SubformRefreshEventCommand.d.ts +10 -9
  244. package/src/commands/ClientToServer/TransactionCommand.d.ts +14 -12
  245. package/src/commands/ClientToServer/UnloadCommand.d.ts +8 -7
  246. package/src/commands/ClientToServer/WriteMessageToServerLogCommand.d.ts +6 -6
  247. package/src/commands/DataViewCommandBase.d.ts +6 -6
  248. package/src/commands/IClientCommand.d.ts +2 -2
  249. package/src/commands/IClientTargetedCommand.d.ts +12 -12
  250. package/src/commands/IClientToServerCommandInfo.d.ts +4 -3
  251. package/src/commands/ServerToClient/AbortCommand.d.ts +11 -11
  252. package/src/commands/ServerToClient/AddLocateCommand.d.ts +6 -6
  253. package/src/commands/ServerToClient/AddRangeCommand.d.ts +10 -10
  254. package/src/commands/ServerToClient/AddSortCommand.d.ts +9 -9
  255. package/src/commands/ServerToClient/ClientRefreshCommand.d.ts +7 -7
  256. package/src/commands/ServerToClient/ClientTargetedCommandBase.d.ts +12 -12
  257. package/src/commands/ServerToClient/EnhancedVerifyCommand.d.ts +13 -13
  258. package/src/commands/ServerToClient/OpenURLCommand.d.ts +21 -21
  259. package/src/commands/ServerToClient/ResetLocateCommand.d.ts +6 -6
  260. package/src/commands/ServerToClient/ResetRangeCommand.d.ts +6 -6
  261. package/src/commands/ServerToClient/ResetSortCommand.d.ts +6 -6
  262. package/src/commands/ServerToClient/ResultCommand.d.ts +10 -10
  263. package/src/commands/ServerToClient/VerifyCommand.d.ts +17 -17
  264. package/src/commands/ServerToClient/XMLBasedCommandBuilder.d.ts +11 -11
  265. package/src/communications/IConnectionStateManager.d.ts +4 -4
  266. package/src/communications/InteractiveCommunicationsFailureHandler.d.ts +6 -6
  267. package/src/data/DataSourceIdKey.d.ts +2 -2
  268. package/src/data/DataView.d.ts +162 -162
  269. package/src/data/DataViewBase.d.ts +12 -12
  270. package/src/data/DataviewManager.d.ts +14 -14
  271. package/src/data/DataviewManagerBase.d.ts +11 -11
  272. package/src/data/DvCache.d.ts +15 -15
  273. package/src/data/Field.d.ts +103 -103
  274. package/src/data/FieldBase.d.ts +23 -23
  275. package/src/data/FieldsTable.d.ts +27 -27
  276. package/src/data/IRecordsTable.d.ts +7 -7
  277. package/src/data/Key.d.ts +15 -15
  278. package/src/data/Record.d.ts +157 -156
  279. package/src/data/RecordOutOfDataViewException.d.ts +10 -10
  280. package/src/data/RecordsTable.d.ts +38 -38
  281. package/src/data/TaskTransactionManager.d.ts +17 -17
  282. package/src/data/XMLBasedDcValuesBuilder.d.ts +11 -11
  283. package/src/enums.d.ts +21 -21
  284. package/src/env/EnvVariablesTable.d.ts +17 -17
  285. package/src/env/Environment.d.ts +118 -118
  286. package/src/env/ILanguageData.d.ts +3 -3
  287. package/src/env/LanguageData.d.ts +20 -20
  288. package/src/env/MirrorString.d.ts +15 -15
  289. package/src/event/ActionManager.d.ts +14 -14
  290. package/src/event/Event.d.ts +79 -79
  291. package/src/event/EventHandler.d.ts +66 -66
  292. package/src/event/EventHandlerPosition.d.ts +25 -25
  293. package/src/event/EventsManager.d.ts +205 -204
  294. package/src/event/IEventsManager.d.ts +77 -77
  295. package/src/event/RunTimeEvent.d.ts +126 -123
  296. package/src/event/RunTimeEventBase.d.ts +5 -5
  297. package/src/event/UserEventsTable.d.ts +11 -11
  298. package/src/exp/ExpTable.d.ts +11 -11
  299. package/src/exp/Expression.d.ts +37 -37
  300. package/src/exp/ExpressionDict.d.ts +12 -12
  301. package/src/exp/ExpressionEvaluator.d.ts +198 -198
  302. package/src/exp/ExpressionLocalJpn.d.ts +18 -18
  303. package/src/exp/GlobalParamsTable.d.ts +19 -19
  304. package/src/exp/YesNoExp.d.ts +9 -9
  305. package/src/gui/CreatedFormVector.d.ts +10 -10
  306. package/src/gui/FormsTable.d.ts +15 -15
  307. package/src/gui/MgControl.d.ts +60 -60
  308. package/src/gui/MgForm.d.ts +96 -93
  309. package/src/http/HttpManager.d.ts +25 -25
  310. package/src/http/client/HttpClientAsync.d.ts +16 -16
  311. package/src/http/client/HttpClientBase.d.ts +30 -30
  312. package/src/http/client/HttpClientEvents.d.ts +18 -18
  313. package/src/http/client/HttpClientSync.d.ts +17 -17
  314. package/src/http/client/HttpUtility.d.ts +10 -10
  315. package/src/http/client/ICommunicationsFailureHandler.d.ts +5 -5
  316. package/src/remote/AddUserLocateRemoteDataViewCommand.d.ts +8 -8
  317. package/src/remote/AddUserRangeRemoteDataViewCommand.d.ts +8 -8
  318. package/src/remote/AddUserSortRemoteDataViewCommand.d.ts +8 -8
  319. package/src/remote/RemoteCommandsProcessor.d.ts +51 -51
  320. package/src/remote/RemoteControlItemsRefreshCommand.d.ts +8 -8
  321. package/src/remote/RemoteDataViewCommandBase.d.ts +10 -10
  322. package/src/remote/RemoteDataViewCommandFactory.d.ts +6 -6
  323. package/src/remote/RemoteDataViewCommandUpdateNonModifiable.d.ts +8 -8
  324. package/src/remote/RemoteDataviewManager.d.ts +9 -9
  325. package/src/remote/RemoteInitDataViewCommand.d.ts +7 -7
  326. package/src/remote/ResetUserLocateRemoteDataviewCommand.d.ts +7 -7
  327. package/src/remote/ResetUserRangeRemoteDataviewCommand.d.ts +7 -7
  328. package/src/remote/ResetUserSortRemoteDataviewCommand.d.ts +7 -7
  329. package/src/remote/ServerError.d.ts +16 -16
  330. package/src/remote/SetTransactionStateRemoteDataViewCommand.d.ts +8 -8
  331. package/src/rt/Argument.d.ts +36 -36
  332. package/src/rt/ArgumentsList.d.ts +24 -24
  333. package/src/rt/Boundary.d.ts +27 -27
  334. package/src/rt/CompMainPrgTable.d.ts +10 -10
  335. package/src/rt/DataviewHeaderBase.d.ts +34 -34
  336. package/src/rt/DataviewHeaderFactory.d.ts +5 -5
  337. package/src/rt/DataviewHeaders.d.ts +12 -12
  338. package/src/rt/DataviewHeadersSaxHandler.d.ts +10 -10
  339. package/src/rt/ExecutionStack.d.ts +22 -22
  340. package/src/rt/ExecutionStackEntry.d.ts +7 -7
  341. package/src/rt/HandlersTable.d.ts +19 -19
  342. package/src/rt/IDataSourceViewDefinition.d.ts +6 -6
  343. package/src/rt/IDataviewHeader.d.ts +10 -10
  344. package/src/rt/IResultValue.d.ts +4 -4
  345. package/src/rt/LastFocusedManager.d.ts +23 -23
  346. package/src/rt/Operation.d.ts +97 -97
  347. package/src/rt/OperationTable.d.ts +15 -15
  348. package/src/rt/Recompute.d.ts +41 -41
  349. package/src/rt/RecomputeTable.d.ts +9 -9
  350. package/src/rt/RemoteDataviewHeader.d.ts +14 -14
  351. package/src/rt/ResultValue.d.ts +7 -7
  352. package/src/rt/TableCache.d.ts +29 -29
  353. package/src/rt/TableCacheManager.d.ts +10 -10
  354. package/src/rt/Transaction.d.ts +23 -23
  355. package/src/security/UserDetails.d.ts +16 -16
  356. package/src/tasks/IMGDataCollection.d.ts +26 -26
  357. package/src/tasks/MGData.d.ts +63 -63
  358. package/src/tasks/MGDataCollection.d.ts +42 -42
  359. package/src/tasks/RCTimer.d.ts +13 -13
  360. package/src/tasks/RemoteTaskService.d.ts +16 -16
  361. package/src/tasks/Task.d.ts +312 -312
  362. package/src/tasks/TaskBase.d.ts +123 -123
  363. package/src/tasks/TaskServiceBase.d.ts +16 -16
  364. package/src/tasks/TasksTable.d.ts +21 -21
  365. package/src/tasks/sort/Sort.d.ts +4 -4
  366. package/src/tasks/sort/SortCollection.d.ts +11 -11
  367. package/src/util/ConstUtils.d.ts +3 -3
  368. package/src/util/FlowMonitorQueue.d.ts +70 -70
  369. package/src/util/HeapSort.d.ts +6 -6
  370. package/src/util/IMirrorXML.d.ts +6 -6
  371. package/src/util/IServerConfig.d.ts +11 -11
  372. package/src/util/MgBlockingQueue.d.ts +5 -5
  373. package/src/util/MgPriorityBlockingQueue.d.ts +17 -17
  374. package/src/util/MgPriorityQueue.d.ts +13 -13
  375. package/src/util/ParamParseResult.d.ts +6 -6
  376. package/src/util/PrmMap.d.ts +28 -28
  377. package/src/util/ReturnResult.d.ts +18 -18
  378. package/src/util/ReturnResultBase.d.ts +11 -11
  379. package/src/util/Scrambler.d.ts +10 -10
  380. package/src/util/UniqueIDUtils.d.ts +4 -4
  381. package/src/util/cookie.service.d.ts +8 -8
  382. package/esm2020/src/AccessHelper.mjs +0 -9
  383. package/esm2020/src/ClientManager.mjs +0 -399
  384. package/esm2020/src/CommandsProcessorBase.mjs +0 -58
  385. package/esm2020/src/CommandsTable.mjs +0 -162
  386. package/esm2020/src/ConstInterface.mjs +0 -516
  387. package/esm2020/src/FlowMonitorInterface.mjs +0 -16
  388. package/esm2020/src/GUIManager.mjs +0 -62
  389. package/esm2020/src/GlobalCommandsManager.mjs +0 -34
  390. package/esm2020/src/GuiEventsProcessor.mjs +0 -154
  391. package/esm2020/src/ServerConfig.mjs +0 -117
  392. package/esm2020/src/bridge/MagicBridge.mjs +0 -41
  393. package/esm2020/src/commands/ClientOriginatedCommandTaskTag.mjs +0 -11
  394. package/esm2020/src/commands/ClientToServer/BrowserEscEventCommand.mjs +0 -23
  395. package/esm2020/src/commands/ClientToServer/ColumnSortEventCommand.mjs +0 -26
  396. package/esm2020/src/commands/ClientToServer/CommandFactory.mjs +0 -260
  397. package/esm2020/src/commands/ClientToServer/CommandSerializationHelper.mjs +0 -69
  398. package/esm2020/src/commands/ClientToServer/ComputeEventCommand.mjs +0 -23
  399. package/esm2020/src/commands/ClientToServer/DataViewOutputCommand.mjs +0 -13
  400. package/esm2020/src/commands/ClientToServer/EvaluateCommand.mjs +0 -36
  401. package/esm2020/src/commands/ClientToServer/ExecOperCommand.mjs +0 -67
  402. package/esm2020/src/commands/ClientToServer/FetchDataControlValuesEventCommand.mjs +0 -22
  403. package/esm2020/src/commands/ClientToServer/IndexChangeEventCommand.mjs +0 -21
  404. package/esm2020/src/commands/ClientToServer/IniputForceWriteCommand.mjs +0 -23
  405. package/esm2020/src/commands/ClientToServer/RecomputeCommand.mjs +0 -27
  406. package/esm2020/src/commands/ClientToServer/RefreshEventCommand.mjs +0 -27
  407. package/esm2020/src/commands/ClientToServer/RefreshScreenEventCommand.mjs +0 -24
  408. package/esm2020/src/commands/ClientToServer/RollbackEventCommand.mjs +0 -39
  409. package/esm2020/src/commands/ClientToServer/SelectProgramCommand.mjs +0 -15
  410. package/esm2020/src/commands/ClientToServer/SubformOpenEventCommand.mjs +0 -21
  411. package/esm2020/src/commands/ClientToServer/SubformRefreshEventCommand.mjs +0 -24
  412. package/esm2020/src/commands/ClientToServer/TransactionCommand.mjs +0 -28
  413. package/esm2020/src/commands/ClientToServer/WriteMessageToServerLogCommand.mjs +0 -18
  414. package/esm2020/src/commands/DataViewCommandBase.mjs +0 -10
  415. package/esm2020/src/commands/IClientTargetedCommand.mjs +0 -9
  416. package/esm2020/src/commands/ServerToClient/AbortCommand.mjs +0 -65
  417. package/esm2020/src/commands/ServerToClient/ClientRefreshCommand.mjs +0 -25
  418. package/esm2020/src/commands/ServerToClient/ClientTargetedCommandBase.mjs +0 -27
  419. package/esm2020/src/commands/ServerToClient/EnhancedVerifyCommand.mjs +0 -45
  420. package/esm2020/src/commands/ServerToClient/OpenURLCommand.mjs +0 -221
  421. package/esm2020/src/commands/ServerToClient/ResultCommand.mjs +0 -37
  422. package/esm2020/src/commands/ServerToClient/VerifyCommand.mjs +0 -83
  423. package/esm2020/src/communications/InteractiveCommunicationsFailureHandler.mjs +0 -17
  424. package/esm2020/src/data/DataView.mjs +0 -1610
  425. package/esm2020/src/data/DataviewManager.mjs +0 -28
  426. package/esm2020/src/data/DataviewManagerBase.mjs +0 -15
  427. package/esm2020/src/data/DvCache.mjs +0 -67
  428. package/esm2020/src/data/Field.mjs +0 -646
  429. package/esm2020/src/data/FieldBase.mjs +0 -18
  430. package/esm2020/src/data/FieldsTable.mjs +0 -103
  431. package/esm2020/src/data/Record.mjs +0 -846
  432. package/esm2020/src/data/RecordsTable.mjs +0 -267
  433. package/esm2020/src/env/EnvVariablesTable.mjs +0 -340
  434. package/esm2020/src/env/Environment.mjs +0 -489
  435. package/esm2020/src/env/LanguageData.mjs +0 -226
  436. package/esm2020/src/event/ActionManager.mjs +0 -91
  437. package/esm2020/src/event/Event.mjs +0 -1333
  438. package/esm2020/src/event/EventHandler.mjs +0 -766
  439. package/esm2020/src/event/EventHandlerPosition.mjs +0 -204
  440. package/esm2020/src/event/EventsManager.mjs +0 -2975
  441. package/esm2020/src/event/RunTimeEvent.mjs +0 -392
  442. package/esm2020/src/event/UserEventsTable.mjs +0 -47
  443. package/esm2020/src/exp/ExpTable.mjs +0 -59
  444. package/esm2020/src/exp/Expression.mjs +0 -200
  445. package/esm2020/src/exp/ExpressionDict.mjs +0 -727
  446. package/esm2020/src/exp/ExpressionEvaluator.mjs +0 -4208
  447. package/esm2020/src/exp/ExpressionLocalJpn.mjs +0 -314
  448. package/esm2020/src/exp/YesNoExp.mjs +0 -36
  449. package/esm2020/src/gui/CreatedFormVector.mjs +0 -23
  450. package/esm2020/src/gui/FormsTable.mjs +0 -66
  451. package/esm2020/src/gui/MgControl.mjs +0 -353
  452. package/esm2020/src/gui/MgForm.mjs +0 -1181
  453. package/esm2020/src/http/HttpManager.mjs +0 -97
  454. package/esm2020/src/http/client/HttpClientAsync.mjs +0 -67
  455. package/esm2020/src/http/client/HttpClientEvents.mjs +0 -39
  456. package/esm2020/src/http/client/HttpClientSync.mjs +0 -42
  457. package/esm2020/src/http/client/HttpUtility.mjs +0 -84
  458. package/esm2020/src/remote/RemoteCommandsProcessor.mjs +0 -880
  459. package/esm2020/src/remote/ServerError.mjs +0 -40
  460. package/esm2020/src/rt/Argument.mjs +0 -265
  461. package/esm2020/src/rt/ArgumentsList.mjs +0 -103
  462. package/esm2020/src/rt/Boundary.mjs +0 -152
  463. package/esm2020/src/rt/CompMainPrgTable.mjs +0 -65
  464. package/esm2020/src/rt/DataviewHeaderBase.mjs +0 -96
  465. package/esm2020/src/rt/DataviewHeaders.mjs +0 -53
  466. package/esm2020/src/rt/LastFocusedManager.mjs +0 -67
  467. package/esm2020/src/rt/Operation.mjs +0 -735
  468. package/esm2020/src/rt/OperationTable.mjs +0 -67
  469. package/esm2020/src/rt/Recompute.mjs +0 -355
  470. package/esm2020/src/rt/ResultValue.mjs +0 -12
  471. package/esm2020/src/rt/TableCache.mjs +0 -177
  472. package/esm2020/src/rt/TableCacheManager.mjs +0 -67
  473. package/esm2020/src/rt/Transaction.mjs +0 -53
  474. package/esm2020/src/security/UserDetails.mjs +0 -71
  475. package/esm2020/src/tasks/MGData.mjs +0 -552
  476. package/esm2020/src/tasks/MGDataCollection.mjs +0 -252
  477. package/esm2020/src/tasks/RCTimer.mjs +0 -63
  478. package/esm2020/src/tasks/Task.mjs +0 -2496
  479. package/esm2020/src/tasks/TaskBase.mjs +0 -87
  480. package/esm2020/src/tasks/TasksTable.mjs +0 -80
  481. package/esm2020/src/tasks/sort/Sort.mjs +0 -7
  482. package/esm2020/src/util/FlowMonitorQueue.mjs +0 -453
  483. package/esm2020/src/util/MgPriorityBlockingQueue.mjs +0 -74
  484. package/esm2020/src/util/MgPriorityQueue.mjs +0 -66
  485. package/esm2020/src/util/PrmMap.mjs +0 -151
  486. package/esm2020/src/util/ReturnResult.mjs +0 -46
  487. package/esm2020/src/util/ReturnResultBase.mjs +0 -18
  488. package/esm2020/src/util/Scrambler.mjs +0 -89
  489. package/esm2020/src/util/UniqueIDUtils.mjs +0 -12
  490. package/fesm2015/magic-xpa-engine.mjs +0 -30837
  491. package/fesm2015/magic-xpa-engine.mjs.map +0 -1
  492. package/fesm2020/magic-xpa-engine.mjs.map +0 -1
@@ -1,2 +1,2 @@
1
- export let CurrentClientVersion = '4.1100.0-dev4110.98';
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQ3VycmVudENsaWVudFZlcnNpb24uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9lbmdpbmUvc3JjL0N1cnJlbnRDbGllbnRWZXJzaW9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE1BQU0sQ0FBQyxJQUFJLG9CQUFvQixHQUFHLHFCQUFxQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGxldCBDdXJyZW50Q2xpZW50VmVyc2lvbiA9ICc0LjExMDAuMC1kZXY0MTEwLjk4JzsiXX0=
1
+ export let CurrentClientVersion = '4.1100.0';
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQ3VycmVudENsaWVudFZlcnNpb24uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9lbmdpbmUvc3JjL0N1cnJlbnRDbGllbnRWZXJzaW9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE1BQU0sQ0FBQyxJQUFJLG9CQUFvQixHQUFHLFVBQVUsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBsZXQgQ3VycmVudENsaWVudFZlcnNpb24gPSAnNC4xMTAwLjAnOyJdfQ==
@@ -0,0 +1,16 @@
1
+ export class FlowMonitorInterface {
2
+ static FLWMTR_START = 0;
3
+ static FLWMTR_END = 1;
4
+ static FLWMTR_PROPAGATE = 2;
5
+ static FLWMTR_EVENT = 7;
6
+ static FLWMTR_CHNG_MODE = 8;
7
+ static FLWMTR_PREFIX = 15;
8
+ static FLWMTR_SUFFIX = 16;
9
+ static FLWMTR_CTRL_PREFIX = 18;
10
+ static FLWMTR_CTRL_SUFFIX = 19;
11
+ static FLWMTR_TSK_HANDLER = 20;
12
+ static FLWMTR_RECOMP = 31;
13
+ static FLWMTR_DATA_OPER = 41;
14
+ static FLWMTR_VARCHG_VALUE = 119;
15
+ }
16
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiRmxvd01vbml0b3JJbnRlcmZhY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9lbmdpbmUvc3JjL0Zsb3dNb25pdG9ySW50ZXJmYWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE1BQU0sT0FBTyxvQkFBb0I7SUFDL0IsTUFBTSxDQUFDLFlBQVksR0FBVyxDQUFDLENBQUM7SUFDaEMsTUFBTSxDQUFDLFVBQVUsR0FBVyxDQUFDLENBQUM7SUFDOUIsTUFBTSxDQUFDLGdCQUFnQixHQUFXLENBQUMsQ0FBQztJQUdwQyxNQUFNLENBQUMsWUFBWSxHQUFXLENBQUMsQ0FBQztJQUNoQyxNQUFNLENBQUMsZ0JBQWdCLEdBQVcsQ0FBQyxDQUFDO0lBRXBDLE1BQU0sQ0FBQyxhQUFhLEdBQVcsRUFBRSxDQUFDO0lBQ2xDLE1BQU0sQ0FBQyxhQUFhLEdBQVcsRUFBRSxDQUFDO0lBRWxDLE1BQU0sQ0FBQyxrQkFBa0IsR0FBVyxFQUFFLENBQUM7SUFDdkMsTUFBTSxDQUFDLGtCQUFrQixHQUFXLEVBQUUsQ0FBQztJQUN2QyxNQUFNLENBQUMsa0JBQWtCLEdBQVcsRUFBRSxDQUFDO0lBTXZDLE1BQU0sQ0FBQyxhQUFhLEdBQVcsRUFBRSxDQUFDO0lBRWxDLE1BQU0sQ0FBQyxnQkFBZ0IsR0FBVyxFQUFFLENBQUM7SUFJckMsTUFBTSxDQUFDLG1CQUFtQixHQUFXLEdBQUcsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBjbGFzcyBGbG93TW9uaXRvckludGVyZmFjZSB7XHJcbiAgc3RhdGljIEZMV01UUl9TVEFSVDogbnVtYmVyID0gMDtcclxuICBzdGF0aWMgRkxXTVRSX0VORDogbnVtYmVyID0gMTtcclxuICBzdGF0aWMgRkxXTVRSX1BST1BBR0FURTogbnVtYmVyID0gMjtcclxuXHJcblxyXG4gIHN0YXRpYyBGTFdNVFJfRVZFTlQ6IG51bWJlciA9IDc7XHJcbiAgc3RhdGljIEZMV01UUl9DSE5HX01PREU6IG51bWJlciA9IDg7XHJcblxyXG4gIHN0YXRpYyBGTFdNVFJfUFJFRklYOiBudW1iZXIgPSAxNTtcclxuICBzdGF0aWMgRkxXTVRSX1NVRkZJWDogbnVtYmVyID0gMTY7XHJcblxyXG4gIHN0YXRpYyBGTFdNVFJfQ1RSTF9QUkVGSVg6IG51bWJlciA9IDE4O1xyXG4gIHN0YXRpYyBGTFdNVFJfQ1RSTF9TVUZGSVg6IG51bWJlciA9IDE5O1xyXG4gIHN0YXRpYyBGTFdNVFJfVFNLX0hBTkRMRVI6IG51bWJlciA9IDIwO1xyXG5cclxuXHJcblxyXG5cclxuICAvKiBSZWNvbXB1dGUgbWVzc2FnZXMgKi9cclxuICBzdGF0aWMgRkxXTVRSX1JFQ09NUDogbnVtYmVyID0gMzE7XHJcbiAgLyogT3BlcmF0aW9ucyBtZXNzYWdlcyAqL1xyXG4gIHN0YXRpYyBGTFdNVFJfREFUQV9PUEVSOiBudW1iZXIgPSA0MTtcclxuICAvKiBMT0cgbWVzc2FnZXMgKi9cclxuXHJcblxyXG4gIHN0YXRpYyBGTFdNVFJfVkFSQ0hHX1ZBTFVFOiBudW1iZXIgPSAxMTk7XHJcblxyXG59XHJcbiJdfQ==
@@ -0,0 +1,62 @@
1
+ import { MsgInterface } from '@magic-xpa/utils';
2
+ import { Commands, Manager, Styles } from '@magic-xpa/gui';
3
+ import { RCTimer } from './tasks/RCTimer';
4
+ import { LanguageData } from './env/LanguageData';
5
+ import { AccessHelper } from './AccessHelper';
6
+ export class GUIManager {
7
+ static _instance = null;
8
+ static get Instance() {
9
+ if (GUIManager._instance === null)
10
+ GUIManager._instance = new GUIManager();
11
+ return GUIManager._instance;
12
+ }
13
+ execGuiCommandQueue() {
14
+ Commands.beginInvoke();
15
+ }
16
+ startTimer(mgData, seconds, isIdleTimer) {
17
+ if (seconds > 0) {
18
+ let objRCTimer = new RCTimer(mgData, seconds * 1000, isIdleTimer);
19
+ (objRCTimer).Start();
20
+ Commands.beginInvoke();
21
+ }
22
+ }
23
+ stopTimer(mgData, seconds, isIdleTimer) {
24
+ if (seconds > 0)
25
+ RCTimer.StopTimer(mgData, seconds * 1000, isIdleTimer);
26
+ }
27
+ abort(form) {
28
+ if (arguments.length === 1)
29
+ this.abort_0(form);
30
+ else
31
+ this.abort_1();
32
+ }
33
+ abort_0(form) {
34
+ if (form !== null) {
35
+ Manager.Abort(form);
36
+ }
37
+ }
38
+ abort_1() {
39
+ for (let i = AccessHelper.mgDataTable.getSize(); i > 0; i--) {
40
+ const task = AccessHelper.mgDataTable.getMGData(i - 1).getFirstTask();
41
+ if (task !== null)
42
+ this.abort(task.Form);
43
+ }
44
+ }
45
+ async MessageBox(title, msg, style) {
46
+ await AccessHelper.eventsManager.CheckAndShowSpinner(false);
47
+ return await Commands.messageBox(title, msg, style);
48
+ }
49
+ async writeToMessageBox(titleId, msgId, style) {
50
+ let title = LanguageData.Instance.getConstMessage(titleId);
51
+ let msg = LanguageData.Instance.getConstMessage(msgId);
52
+ return await this.MessageBox(title, msg, style);
53
+ }
54
+ async confirm(msgId, style) {
55
+ return await this.writeToMessageBox(MsgInterface.CONFIRM_STR_WINDOW_TITLE, msgId, style);
56
+ }
57
+ async confirm_bool(msgId) {
58
+ let retResult = await this.confirm(msgId, Styles.MSGBOX_BUTTON_OK_CANCEL);
59
+ return retResult == Styles.MSGBOX_RESULT_OK;
60
+ }
61
+ }
62
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiR1VJTWFuYWdlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2VuZ2luZS9zcmMvR1VJTWFuYWdlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsWUFBWSxFQUFDLE1BQU0sa0JBQWtCLENBQUM7QUFDOUMsT0FBTyxFQUFDLFFBQVEsRUFBRSxPQUFPLEVBQUUsTUFBTSxFQUFDLE1BQU0sZ0JBQWdCLENBQUM7QUFFekQsT0FBTyxFQUFDLE9BQU8sRUFBQyxNQUFNLGlCQUFpQixDQUFDO0FBR3hDLE9BQU8sRUFBQyxZQUFZLEVBQUMsTUFBTSxvQkFBb0IsQ0FBQztBQUNoRCxPQUFPLEVBQUMsWUFBWSxFQUFDLE1BQU0sZ0JBQWdCLENBQUM7QUFLNUMsTUFBTSxPQUFPLFVBQVU7SUFDYixNQUFNLENBQUMsU0FBUyxHQUFlLElBQUksQ0FBQztJQUk1QyxNQUFNLEtBQUssUUFBUTtRQUNqQixJQUFJLFVBQVUsQ0FBQyxTQUFTLEtBQUssSUFBSTtZQUMvQixVQUFVLENBQUMsU0FBUyxHQUFHLElBQUksVUFBVSxFQUFFLENBQUM7UUFDMUMsT0FBTyxVQUFVLENBQUMsU0FBUyxDQUFDO0lBQzlCLENBQUM7SUFNRCxtQkFBbUI7UUFDakIsUUFBUSxDQUFDLFdBQVcsRUFBRSxDQUFDO0lBQ3pCLENBQUM7SUFRRCxVQUFVLENBQUMsTUFBYyxFQUFFLE9BQWUsRUFBRSxXQUFvQjtRQUM5RCxJQUFJLE9BQU8sR0FBRyxDQUFDLEVBQUU7WUFFZixJQUFJLFVBQVUsR0FBWSxJQUFJLE9BQU8sQ0FBQyxNQUFNLEVBQUUsT0FBTyxHQUFHLElBQUksRUFBRSxXQUFXLENBQUMsQ0FBQztZQUMzRSxDQUFDLFVBQVUsQ0FBQyxDQUFDLEtBQUssRUFBRSxDQUFDO1lBRXJCLFFBQVEsQ0FBQyxXQUFXLEVBQUUsQ0FBQztTQUN4QjtJQUNILENBQUM7SUFRRCxTQUFTLENBQUMsTUFBYyxFQUFFLE9BQWUsRUFBRSxXQUFvQjtRQUM3RCxJQUFJLE9BQU8sR0FBRyxDQUFDO1lBRWIsT0FBTyxDQUFDLFNBQVMsQ0FBQyxNQUFNLEVBQUUsT0FBTyxHQUFHLElBQUksRUFBRSxXQUFXLENBQUMsQ0FBQztJQUMzRCxDQUFDO0lBSUQsS0FBSyxDQUFDLElBQWE7UUFDakIsSUFBSSxTQUFTLENBQUMsTUFBTSxLQUFLLENBQUM7WUFDeEIsSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQzs7WUFFbkIsSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFDO0lBQ25CLENBQUM7SUFNTyxPQUFPLENBQUMsSUFBWTtRQUMxQixJQUFJLElBQUksS0FBSyxJQUFJLEVBQUU7WUFDakIsT0FBTyxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQztTQUNyQjtJQUNILENBQUM7SUFLTyxPQUFPO1FBQ2IsS0FBSyxJQUFJLENBQUMsR0FBRyxZQUFZLENBQUMsV0FBVyxDQUFDLE9BQU8sRUFBRSxFQUFFLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxFQUFFLEVBQUU7WUFDM0QsTUFBTSxJQUFJLEdBQUksWUFBWSxDQUFDLFdBQVcsQ0FBQyxTQUFTLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLFlBQVksRUFBRSxDQUFDO1lBQ3ZFLElBQUcsSUFBSSxLQUFLLElBQUk7Z0JBQ2QsSUFBSSxDQUFDLEtBQUssQ0FBUyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7U0FDakM7SUFDSCxDQUFDO0lBU0QsS0FBSyxDQUFDLFVBQVUsQ0FBQyxLQUFhLEVBQUUsR0FBVyxFQUFFLEtBQWE7UUFFeEQsTUFBTSxZQUFZLENBQUMsYUFBYSxDQUFDLG1CQUFtQixDQUFDLEtBQUssQ0FBQyxDQUFDO1FBRTVELE9BQU8sTUFBTSxRQUFRLENBQUMsVUFBVSxDQUFDLEtBQUssRUFBRSxHQUFHLEVBQUUsS0FBSyxDQUFDLENBQUM7SUFDdEQsQ0FBQztJQVNELEtBQUssQ0FBQyxpQkFBaUIsQ0FBQyxPQUFlLEVBQUUsS0FBYSxFQUFFLEtBQWE7UUFDbkUsSUFBSSxLQUFLLEdBQVcsWUFBWSxDQUFDLFFBQVEsQ0FBQyxlQUFlLENBQUMsT0FBTyxDQUFDLENBQUM7UUFDbkUsSUFBSSxHQUFHLEdBQVcsWUFBWSxDQUFDLFFBQVEsQ0FBQyxlQUFlLENBQUMsS0FBSyxDQUFDLENBQUM7UUFFL0QsT0FBTyxNQUFNLElBQUksQ0FBQyxVQUFVLENBQUMsS0FBSyxFQUFFLEdBQUcsRUFBRSxLQUFLLENBQUMsQ0FBQztJQUNsRCxDQUFDO0lBU0QsS0FBSyxDQUFDLE9BQU8sQ0FBQyxLQUFhLEVBQUUsS0FBYztRQUV6QyxPQUFPLE1BQU0sSUFBSSxDQUFDLGlCQUFpQixDQUFDLFlBQVksQ0FBQyx3QkFBd0IsRUFBRSxLQUFLLEVBQUUsS0FBSyxDQUFDLENBQUM7SUFDM0YsQ0FBQztJQVFNLEtBQUssQ0FBQyxZQUFZLENBQUMsS0FBYTtRQUNyQyxJQUFJLFNBQVMsR0FBVyxNQUFNLElBQUksQ0FBQyxPQUFPLENBQUMsS0FBSyxFQUFFLE1BQU0sQ0FBQyx1QkFBdUIsQ0FBQyxDQUFDO1FBQ2xGLE9BQU8sU0FBUyxJQUFZLE1BQU0sQ0FBQyxnQkFBZ0IsQ0FBQztJQUN0RCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtNc2dJbnRlcmZhY2V9IGZyb20gJ0BtYWdpYy14cGEvdXRpbHMnO1xyXG5pbXBvcnQge0NvbW1hbmRzLCBNYW5hZ2VyLCBTdHlsZXN9IGZyb20gJ0BtYWdpYy14cGEvZ3VpJztcclxuaW1wb3J0IHtNR0RhdGF9IGZyb20gJy4vdGFza3MvTUdEYXRhJztcclxuaW1wb3J0IHtSQ1RpbWVyfSBmcm9tICcuL3Rhc2tzL1JDVGltZXInO1xyXG5pbXBvcnQge01nRm9ybX0gZnJvbSAnLi9ndWkvTWdGb3JtJztcclxuXHJcbmltcG9ydCB7TGFuZ3VhZ2VEYXRhfSBmcm9tICcuL2Vudi9MYW5ndWFnZURhdGEnO1xyXG5pbXBvcnQge0FjY2Vzc0hlbHBlcn0gZnJvbSAnLi9BY2Nlc3NIZWxwZXInO1xyXG5cclxuLy8vIDxzdW1tYXJ5PlxyXG4vLy8gPC9zdW1tYXJ5PlxyXG4vLyBAZHluYW1pY1xyXG5leHBvcnQgY2xhc3MgR1VJTWFuYWdlciB7XHJcbiAgcHJpdmF0ZSBzdGF0aWMgX2luc3RhbmNlOiBHVUlNYW5hZ2VyID0gbnVsbDsgLy8gdGhlIHNpbmdsZSBpbnN0YW5jZSBvZiB0aGUgR1VJTWFuYWdlclxyXG5cclxuICAvLy8gICBzaW5nbGV0b25cclxuICAvLy8gPC9zdW1tYXJ5PlxyXG4gIHN0YXRpYyBnZXQgSW5zdGFuY2UoKTogR1VJTWFuYWdlciB7XHJcbiAgICBpZiAoR1VJTWFuYWdlci5faW5zdGFuY2UgPT09IG51bGwpXHJcbiAgICAgIEdVSU1hbmFnZXIuX2luc3RhbmNlID0gbmV3IEdVSU1hbmFnZXIoKTtcclxuICAgIHJldHVybiBHVUlNYW5hZ2VyLl9pbnN0YW5jZTtcclxuICB9XHJcblxyXG5cclxuICAvLy8gPHN1bW1hcnk+XHJcbiAgLy8vICAgZXhlY3V0ZSB0aGUgY29tbWFuZHMgaW4gdGhlIHF1ZXVlXHJcbiAgLy8vIDwvc3VtbWFyeT5cclxuICBleGVjR3VpQ29tbWFuZFF1ZXVlKCk6IHZvaWQge1xyXG4gICAgQ29tbWFuZHMuYmVnaW5JbnZva2UoKTtcclxuICB9XHJcblxyXG4gIC8vLyA8c3VtbWFyeT5cclxuICAvLy8gICBzdGFydCBhIHRpbWVyXHJcbiAgLy8vIDwvc3VtbWFyeT5cclxuICAvLy8gPHBhcmFtIG5hbWUgPSBcIm1nZFwiPiBNZ0RhdGEgPC9wYXJhbT5cclxuICAvLy8gPHBhcmFtIG5hbWUgPSBcInNlY29uZHNcIj5pbnRlcnZhbCBpbiBmdWxsIHNlY29uZHMgdG8gaW52b2tlIHRoZSBmdW5jdGlvbiAoZnJvbSBjdXJyZW50IHRpbWUpPC9wYXJhbT5cclxuICAvLy8gPHBhcmFtIG5hbWUgPSBcImlzSWRsZVRpbWVyXCI+dHJ1ZSBpZiB0aGlzIHRpbWVyIGlzIHRoZSBpZGxlIHRpbWVyPC9wYXJhbT5cclxuICBzdGFydFRpbWVyKG1nRGF0YTogTUdEYXRhLCBzZWNvbmRzOiBudW1iZXIsIGlzSWRsZVRpbWVyOiBib29sZWFuKTogdm9pZCB7XHJcbiAgICBpZiAoc2Vjb25kcyA+IDApIHtcclxuICAgICAgLy8gUkNUaW1lci9NZ1RpbWVyIHdvcmtzIG9uIG1pbGxpc2Vjb25kcyBzbyBjb252ZXJ0IHNlY29uZHMgdG8gbWlsbGlzZWNvbmRzXHJcbiAgICAgIGxldCBvYmpSQ1RpbWVyOiBSQ1RpbWVyID0gbmV3IFJDVGltZXIobWdEYXRhLCBzZWNvbmRzICogMTAwMCwgaXNJZGxlVGltZXIpO1xyXG4gICAgICAob2JqUkNUaW1lcikuU3RhcnQoKTtcclxuICAgICAgLy8gZml4ZWQgYnVnIDI4NDU2Niwgd2hpbGUgd2UgaGF2ZSBjb21tYW5kIGluIGhlIHF1ZXVlLCBleGVjdXRlIHRoZW1cclxuICAgICAgQ29tbWFuZHMuYmVnaW5JbnZva2UoKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIC8vLyA8c3VtbWFyeT5cclxuICAvLy8gICBzdG9wIHRoZSB0aW1lclxyXG4gIC8vLyA8L3N1bW1hcnk+XHJcbiAgLy8vIDxwYXJhbSBuYW1lID0gXCJNZ0RhdGFcIj4gTWdEYXRhPC9wYXJhbT5cclxuICAvLy8gPHBhcmFtIG5hbWUgPSBcInNlY29uZHNcIj5pbnRlcnZhbCBpbiBmdWxsIHNlY29uZHMgdG8gaW52b2tlIHRoZSBmdW5jdGlvbiAoZnJvbSBjdXJyZW50IHRpbWUpPC9wYXJhbT5cclxuICAvLy8gPHBhcmFtIG5hbWUgPSBcImlzSWRsZVRpbWVyXCI+dHJ1ZSBpZiB0aGlzIHRpbWVyIGlzIHRoZSBpZGxlIHRpbWVyPC9wYXJhbT5cclxuICBzdG9wVGltZXIobWdEYXRhOiBNR0RhdGEsIHNlY29uZHM6IG51bWJlciwgaXNJZGxlVGltZXI6IGJvb2xlYW4pOiB2b2lkIHtcclxuICAgIGlmIChzZWNvbmRzID4gMClcclxuICAgIC8vIFJDVGltZXIvTWdUaW1lciB3b3JrcyBvbiBtaWxsaXNlY29uZHMgc28gY29udmVydCBzZWNvbmRzIHRvIG1pbGxpc2Vjb25kc1xyXG4gICAgICBSQ1RpbWVyLlN0b3BUaW1lcihtZ0RhdGEsIHNlY29uZHMgKiAxMDAwLCBpc0lkbGVUaW1lcik7XHJcbiAgfVxyXG5cclxuICBhYm9ydChmb3JtOiBNZ0Zvcm0pOiB2b2lkO1xyXG4gIGFib3J0KCk6IHZvaWQ7XHJcbiAgYWJvcnQoZm9ybT86IE1nRm9ybSk6IHZvaWQge1xyXG4gICAgaWYgKGFyZ3VtZW50cy5sZW5ndGggPT09IDEpXHJcbiAgICAgIHRoaXMuYWJvcnRfMChmb3JtKTtcclxuICAgIGVsc2VcclxuICAgICAgdGhpcy5hYm9ydF8xKCk7XHJcbiAgfVxyXG5cclxuICAvLy8gPHN1bW1hcnk+XHJcbiAgLy8vICBjbG9zZSB0aGUgdGFza1xyXG4gIC8vLyA8L3N1bW1hcnk+XHJcbiAgLy8vIDxwYXJhbSBuYW1lID0gXCJmb3JtXCI+IDwvcGFyYW0+XHJcbiAgcHJpdmF0ZSBhYm9ydF8wKGZvcm06IE1nRm9ybSk6IHZvaWQge1xyXG4gICAgaWYgKGZvcm0gIT09IG51bGwpIHtcclxuICAgICAgTWFuYWdlci5BYm9ydChmb3JtKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIC8vLyA8c3VtbWFyeT5cclxuICAvLy8gICBwcm9jZXNzIEFCT1JUIGNvbW1hbmQuQ2xvc2UgYWxsIHNoZWxscy4gTGFzdCBzaGVsbCBjbG9zZWQsIHdpbGwgY2xvc2UgdGhlIGRpc3BsYXkuXHJcbiAgLy8vIDwvc3VtbWFyeT5cclxuICBwcml2YXRlIGFib3J0XzEoKTogdm9pZCB7XHJcbiAgICBmb3IgKGxldCBpID0gQWNjZXNzSGVscGVyLm1nRGF0YVRhYmxlLmdldFNpemUoKTsgaSA+IDA7IGktLSkge1xyXG4gICAgICBjb25zdCB0YXNrID0gIEFjY2Vzc0hlbHBlci5tZ0RhdGFUYWJsZS5nZXRNR0RhdGEoaSAtIDEpLmdldEZpcnN0VGFzaygpO1xyXG4gICAgICBpZih0YXNrICE9PSBudWxsKVxyXG4gICAgICAgIHRoaXMuYWJvcnQoPE1nRm9ybT50YXNrLkZvcm0pO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLy8vIDxzdW1tYXJ5PlxyXG4gIC8vLyAgIE9wZW4gbWVzc2FnZSBib3ggd2l0aCB0aXRsZSBzdHJpbmcgYW5kIG1lc3NhZ2Ugc3RyaW5nXHJcbiAgLy8vIDwvc3VtbWFyeT5cclxuICAvLy8gPHBhcmFtIG5hbWUgPSBcInRpdGxlXCI+dGl0bGUgb2YgdGhlIG1lc3NhZ2UgYm94PC9wYXJhbT5cclxuICAvLy8gPHBhcmFtIG5hbWUgPSBcIm1zZ1wiPm1lc3NhZ2UgZm9yIHRoZSBtZXNzYWdlIGJveDwvcGFyYW0+XHJcbiAgLy8vIDxwYXJhbSBuYW1lID0gXCJzdHlsZVwiPnRoZSBzdHlsZSBvZiB0aGUgbWVzc2FnZSBib3ggLS0tIGJ1dHRvbnMsIGljb248L3BhcmFtPlxyXG4gIC8vLyA8cmV0dXJucz4gdGhlIGJ1dHRvbiBjbGlja2VkIDwvcmV0dXJucz5cclxuICBhc3luYyBNZXNzYWdlQm94KHRpdGxlOiBzdHJpbmcsIG1zZzogc3RyaW5nLCBzdHlsZTogbnVtYmVyKSA6IFByb21pc2U8bnVtYmVyPiB7XHJcbiAgICAvLyBTdG9wIHRoZSBzcGlubmVyIGJlZm9yZSBzaG93aW5nIHRoZSBtZXNhZ2UgYm94XHJcbiAgICBhd2FpdCBBY2Nlc3NIZWxwZXIuZXZlbnRzTWFuYWdlci5DaGVja0FuZFNob3dTcGlubmVyKGZhbHNlKTtcclxuXHJcbiAgICByZXR1cm4gYXdhaXQgQ29tbWFuZHMubWVzc2FnZUJveCh0aXRsZSwgbXNnLCBzdHlsZSk7XHJcbiAgfVxyXG5cclxuICAvLy8gPHN1bW1hcnk+XHJcbiAgLy8vICAgT3BlbiBtZXNzYWdlIGJveCB3aXRoIHRpdGxlIGlkIGFuZCBtZXNzYWdlIGlkIHRoYXQgd2lsbCB0YWtlIGZyb20gTUdCQ0wqRU5HLnhtbCAoY3JlYXRlZCBieSBtZ2NvbnN0KVxyXG4gIC8vLyA8L3N1bW1hcnk+XHJcbiAgLy8vIDxwYXJhbSBuYW1lID0gXCJ0aXRsZUlkXCI+bWVzc2FnZSBmcm9tIGZyb20gTUdCQ0wqRU5HLnhtbDwvcGFyYW0+XHJcbiAgLy8vIDxwYXJhbSBuYW1lID0gXCJtc2dJZFwiPm1lc3NhZ2UgZnJvbSBmcm9tIE1HQkNMKkVORy54bWw8L3BhcmFtPlxyXG4gIC8vLyA8cGFyYW0gbmFtZSA9IFwic3R5bGVcIj50aGUgc3R5bGUgb2YgdGhlIG1lc3NhZ2UgYm94IGNhbiBiZSBmbGFncyBvZiBTdHlsZXMuTVNHQk9YX3h4eCA8L3BhcmFtPlxyXG4gIC8vLyA8cmV0dXJucz4gbWVzc2FnZSBib3ggc3R5bGUgZnJvbSBTdHlsZXMuTVNHQk9YX1hYWDwvcmV0dXJucz5cclxuICBhc3luYyB3cml0ZVRvTWVzc2FnZUJveCh0aXRsZUlkOiBzdHJpbmcsIG1zZ0lkOiBzdHJpbmcsIHN0eWxlOiBudW1iZXIpOlByb21pc2U8bnVtYmVyPiB7XHJcbiAgICBsZXQgdGl0bGU6IHN0cmluZyA9IExhbmd1YWdlRGF0YS5JbnN0YW5jZS5nZXRDb25zdE1lc3NhZ2UodGl0bGVJZCk7XHJcbiAgICBsZXQgbXNnOiBzdHJpbmcgPSBMYW5ndWFnZURhdGEuSW5zdGFuY2UuZ2V0Q29uc3RNZXNzYWdlKG1zZ0lkKTtcclxuXHJcbiAgICByZXR1cm4gYXdhaXQgdGhpcy5NZXNzYWdlQm94KHRpdGxlLCBtc2csIHN0eWxlKTtcclxuICB9XHJcblxyXG4gIC8vLyA8c3VtbWFyeT5cclxuICAvLy8gICBkaXNwbGF5IGEgTWVzc2FnZSBCb3ggKGNvbmZpcm0pIHdpdGggMiBidXR0b25zIC5cclxuICAvLy8gPC9zdW1tYXJ5PlxyXG4gIC8vLyA8cGFyYW0gbmFtZSA9IFwibXNnSWRcIj5tZXNzYWdlIG51bWJlciAoZnJvbSBNc2dJbnRlcmZhY2UuamF2YSkgdGhhdCB3aWxsIGJlIGRpc3BsYXkgb24gdGhlIGNvbnRlbnQgb2YgdGhlIE1lc3NhZ2UgQm94IDwvcGFyYW0+XHJcbiAgLy8vIDxwYXJhbSBuYW1lID0gXCJzdHlsZVwiPnRoZSBpY29uIGFuZCB0aGUgYnV0dG9uIHRoYXQgd2lsbCBiZSBkaXNwbGF5IG9uIHRoZSBjb25maXJtYXRpb24gYm94IDwvcGFyYW0+XHJcbiAgLy8vIDxyZXR1cm5zPiB0aGUgYnV0dG9uIHRoYXQgd2FzIHByZXNzZWQgKFN0eWxlcy5NU0dCT1hfQlVUVE9OX3h4eCkgPC9yZXR1cm5zPlxyXG4gIGFzeW5jIGNvbmZpcm0obXNnSWQ6IHN0cmluZywgc3R5bGU6IG51bWJlcik6IFByb21pc2U8bnVtYmVyPjtcclxuICBhc3luYyBjb25maXJtKG1zZ0lkOiBzdHJpbmcsIHN0eWxlPzogbnVtYmVyKTogUHJvbWlzZTxhbnk+IHtcclxuXHJcbiAgICByZXR1cm4gYXdhaXQgdGhpcy53cml0ZVRvTWVzc2FnZUJveChNc2dJbnRlcmZhY2UuQ09ORklSTV9TVFJfV0lORE9XX1RJVExFLCBtc2dJZCwgc3R5bGUpO1xyXG4gIH1cclxuXHJcbiAgLy8vIDxzdW1tYXJ5PlxyXG4gIC8vLyAgIGRpc3BsYXkgYSBNZXNzYWdlIEJveCAoY29uZmlybSkgd2l0aCAyIGJ1dHRvbnMgOiB5ZXMgJiBubyBhbmQgaWNvbiBxdWVzdGlvbi5cclxuICAvLy8gPC9zdW1tYXJ5PlxyXG4gIC8vLyA8cGFyYW0gbmFtZSA9IFwibXNnSWRcIj5tZXNzYWdlIG51bWJlciAoZnJvbSBNc2dJbnRlcmZhY2UuamF2YSkgdGhhdCB3aWxsIGJlIGRpc3BsYXkgb24gdGhlIGNvbnRlbnQgb2YgdGhlIE1lc3NhZ2UgQm94XHJcbiAgLy8vICAgcmV0dXJuIHRydWUgaWYgdGhlIGJ1dHRvbiBZRVMgd2FzIHByZXNzZWRcclxuICAvLy8gPC9wYXJhbT5cclxuICBwdWJsaWMgYXN5bmMgY29uZmlybV9ib29sKG1zZ0lkOiBzdHJpbmcpOiBQcm9taXNlPGJvb2xlYW4+IHtcclxuICAgIGxldCByZXRSZXN1bHQ6IG51bWJlciA9IGF3YWl0IHRoaXMuY29uZmlybShtc2dJZCwgU3R5bGVzLk1TR0JPWF9CVVRUT05fT0tfQ0FOQ0VMKTtcclxuICAgIHJldHVybiByZXRSZXN1bHQgPT0gPG51bWJlcj5TdHlsZXMuTVNHQk9YX1JFU1VMVF9PSztcclxuICB9XHJcbn1cclxuIl19
@@ -0,0 +1,34 @@
1
+ import { List } from "@magic-xpa/mscorelib";
2
+ export class GlobalCommandsManager {
3
+ static Instance = new GlobalCommandsManager();
4
+ constructor() {
5
+ this._CommandsExecutedAfterTaskStarted = new List();
6
+ this._cmdFrame = 0;
7
+ this._unframedCmds = new List();
8
+ }
9
+ _CommandsExecutedAfterTaskStarted = null;
10
+ _cmdFrame = 0;
11
+ _unframedCmds = null;
12
+ getCommandsExecutedAfterTaskStarted() {
13
+ return this._CommandsExecutedAfterTaskStarted;
14
+ }
15
+ addCommandsExecutedAfterTaskStarted(cmd) {
16
+ this._CommandsExecutedAfterTaskStarted.push(cmd);
17
+ }
18
+ removeCommandsExecutedAfterTaskStarted(cmd) {
19
+ this._CommandsExecutedAfterTaskStarted.Remove(cmd);
20
+ }
21
+ add1toCmdFrame() {
22
+ this._cmdFrame++;
23
+ }
24
+ getCmdFrame() {
25
+ return this._cmdFrame;
26
+ }
27
+ addUnframedCmd(cmd) {
28
+ this._unframedCmds.push(cmd);
29
+ }
30
+ getUnframedCmds() {
31
+ return this._unframedCmds;
32
+ }
33
+ }
34
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiR2xvYmFsQ29tbWFuZHNNYW5hZ2VyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZW5naW5lL3NyYy9HbG9iYWxDb21tYW5kc01hbmFnZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLElBQUksRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBSzVDLE1BQU0sT0FBTyxxQkFBcUI7SUFDaEMsTUFBTSxDQUFDLFFBQVEsR0FBMEIsSUFBSSxxQkFBcUIsRUFBRSxDQUFDO0lBRXJFO1FBQ0UsSUFBSSxDQUFDLGlDQUFpQyxHQUFHLElBQUksSUFBSSxFQUFFLENBQUM7UUFDcEQsSUFBSSxDQUFDLFNBQVMsR0FBRyxDQUFDLENBQUM7UUFDbkIsSUFBSSxDQUFDLGFBQWEsR0FBRyxJQUFJLElBQUksRUFBRSxDQUFDO0lBQ2xDLENBQUM7SUFFTyxpQ0FBaUMsR0FBaUMsSUFBSSxDQUFDO0lBQ3ZFLFNBQVMsR0FBVyxDQUFDLENBQUM7SUFDdEIsYUFBYSxHQUF5QixJQUFJLENBQUM7SUFHbkQsbUNBQW1DO1FBQ2pDLE9BQU8sSUFBSSxDQUFDLGlDQUFpQyxDQUFDO0lBQ2hELENBQUM7SUFHRCxtQ0FBbUMsQ0FBQyxHQUEyQjtRQUM3RCxJQUFJLENBQUMsaUNBQWlDLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDO0lBQ25ELENBQUM7SUFJRCxzQ0FBc0MsQ0FBQyxHQUEyQjtRQUNoRSxJQUFJLENBQUMsaUNBQWlDLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxDQUFDO0lBQ3JELENBQUM7SUFJRCxjQUFjO1FBQ1osSUFBSSxDQUFDLFNBQVMsRUFBRSxDQUFDO0lBQ25CLENBQUM7SUFHRCxXQUFXO1FBQ1QsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDO0lBQ3hCLENBQUM7SUFJRCxjQUFjLENBQUMsR0FBbUI7UUFDaEMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUM7SUFDL0IsQ0FBQztJQUdELGVBQWU7UUFDYixPQUFPLElBQUksQ0FBQyxhQUFhLENBQUM7SUFDNUIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IExpc3QgfSBmcm9tIFwiQG1hZ2ljLXhwYS9tc2NvcmVsaWJcIjtcclxuaW1wb3J0IHsgSUNsaWVudFRhcmdldGVkQ29tbWFuZCB9IGZyb20gXCIuL2NvbW1hbmRzL0lDbGllbnRUYXJnZXRlZENvbW1hbmRcIjtcclxuaW1wb3J0IHsgSUNsaWVudENvbW1hbmQgfSBmcm9tIFwiLi9jb21tYW5kcy9JQ2xpZW50Q29tbWFuZFwiO1xyXG5cclxuLy8gc2luZ2xldG9uIGNsYXNzLCBtYW5hZ2VzIHRoZSBjb21tYW5kcyBsaXN0cyB3aGljaCB3ZXJlIG1hbmFnZWQgcHJldmlvdXNseSBpbiBDbGllbnRNYW5hZ2VyXHJcbmV4cG9ydCBjbGFzcyBHbG9iYWxDb21tYW5kc01hbmFnZXIge1xyXG4gIHN0YXRpYyBJbnN0YW5jZTogR2xvYmFsQ29tbWFuZHNNYW5hZ2VyID0gbmV3IEdsb2JhbENvbW1hbmRzTWFuYWdlcigpO1xyXG5cclxuICBwcml2YXRlIGNvbnN0cnVjdG9yKCkge1xyXG4gICAgdGhpcy5fQ29tbWFuZHNFeGVjdXRlZEFmdGVyVGFza1N0YXJ0ZWQgPSBuZXcgTGlzdCgpO1xyXG4gICAgdGhpcy5fY21kRnJhbWUgPSAwO1xyXG4gICAgdGhpcy5fdW5mcmFtZWRDbWRzID0gbmV3IExpc3QoKTsgLy8gY2xpZW50IGNvbW1hbmRzIHdoaWNoIGRvIG5vdCBiZWxvbmcgdG8gYW55IG1nZGF0YSB5ZXRcclxuICB9XHJcblxyXG4gIHByaXZhdGUgX0NvbW1hbmRzRXhlY3V0ZWRBZnRlclRhc2tTdGFydGVkOiBMaXN0PElDbGllbnRUYXJnZXRlZENvbW1hbmQ+ID0gbnVsbDtcclxuICBwcml2YXRlIF9jbWRGcmFtZTogbnVtYmVyID0gMDtcclxuICBwcml2YXRlIF91bmZyYW1lZENtZHM6IExpc3Q8SUNsaWVudENvbW1hbmQ+ID0gbnVsbDtcclxuXHJcbiAgLy8vIDxzdW1tYXJ5PiBnZXQgY29tbWFuZHMgd2hpY2ggYXJlIHRvIGJlIGV4ZWN1dGVkIGFmdGVyIHRhc2sgc3RhcnRlZDwvc3VtbWFyeT5cclxuICBnZXRDb21tYW5kc0V4ZWN1dGVkQWZ0ZXJUYXNrU3RhcnRlZCgpOiBMaXN0PElDbGllbnRUYXJnZXRlZENvbW1hbmQ+IHtcclxuICAgIHJldHVybiB0aGlzLl9Db21tYW5kc0V4ZWN1dGVkQWZ0ZXJUYXNrU3RhcnRlZDtcclxuICB9XHJcblxyXG4gIC8vLyA8c3VtbWFyeT4gYWRkcyBhIGNvbW1hbmQgdG8gdGhlIGxpc3Qgb2YgY29tbWFuZHMgd2hpY2ggYXJlIHRvIGJlIGV4ZWN1dGVkIGFmdGVyIHRhc2sgc3RhcnRlZC48L3N1bW1hcnk+XHJcbiAgYWRkQ29tbWFuZHNFeGVjdXRlZEFmdGVyVGFza1N0YXJ0ZWQoY21kOiBJQ2xpZW50VGFyZ2V0ZWRDb21tYW5kKTogdm9pZCB7XHJcbiAgICB0aGlzLl9Db21tYW5kc0V4ZWN1dGVkQWZ0ZXJUYXNrU3RhcnRlZC5wdXNoKGNtZCk7XHJcbiAgfVxyXG5cclxuXHJcbiAgLy8vIDxzdW1tYXJ5PiByZW1vdmUgYSBjb21tYW5kIGZyb20gdGhlIGxpc3Q8L3N1bW1hcnk+XHJcbiAgcmVtb3ZlQ29tbWFuZHNFeGVjdXRlZEFmdGVyVGFza1N0YXJ0ZWQoY21kOiBJQ2xpZW50VGFyZ2V0ZWRDb21tYW5kKTogdm9pZCB7XHJcbiAgICB0aGlzLl9Db21tYW5kc0V4ZWN1dGVkQWZ0ZXJUYXNrU3RhcnRlZC5SZW1vdmUoY21kKTtcclxuICB9XHJcblxyXG5cclxuICAvLy8gPHN1bW1hcnk+IGFkZCAxIHRvIGNtZEZyYW1lIGNvdW50ZXI8L3N1bW1hcnk+XHJcbiAgYWRkMXRvQ21kRnJhbWUoKTogdm9pZCB7XHJcbiAgICB0aGlzLl9jbWRGcmFtZSsrO1xyXG4gIH1cclxuXHJcbiAgLy8vIDxzdW1tYXJ5PiBnZXQgY21kRnJhbWUgY291bnRlcjwvc3VtbWFyeT5cclxuICBnZXRDbWRGcmFtZSgpOiBudW1iZXIge1xyXG4gICAgcmV0dXJuIHRoaXMuX2NtZEZyYW1lO1xyXG4gIH1cclxuXHJcblxyXG4gIC8vLyA8c3VtbWFyeT4gYWRkcyBhIGNvbW1hbmQgdG8gdGhlIGxpc3Qgb2YgY29tbWFuZHMgd2hpY2ggYXJlIG5vdCBhdHRhY2hlZCB0byBhbnkgd2luZG93IHlldDwvc3VtbWFyeT5cclxuICBhZGRVbmZyYW1lZENtZChjbWQ6IElDbGllbnRDb21tYW5kKTogdm9pZCB7XHJcbiAgICB0aGlzLl91bmZyYW1lZENtZHMucHVzaChjbWQpO1xyXG4gIH1cclxuXHJcbiAgLy8vIDxzdW1tYXJ5PiBnZXQgY29tbWFuZHMgd2hpY2ggYXJlIG5vdCBpbiBhIGZyYW1lPC9zdW1tYXJ5PlxyXG4gIGdldFVuZnJhbWVkQ21kcygpOiBMaXN0PElDbGllbnRDb21tYW5kPiB7XHJcbiAgICByZXR1cm4gdGhpcy5fdW5mcmFtZWRDbWRzO1xyXG4gIH1cclxufVxyXG4iXX0=
@@ -0,0 +1,156 @@
1
+ import { CtrlButtonTypeGui, InternalInterface, Logger, MgControlType, Misc } from '@magic-xpa/utils';
2
+ import { Events, EventsProcessor, RuntimeContextBase } from '@magic-xpa/gui';
3
+ import { RunTimeEvent } from './event/RunTimeEvent';
4
+ import { RCTimer } from './tasks/RCTimer';
5
+ import { MGDataCollection } from './tasks/MGDataCollection';
6
+ import { EventsManager } from './event/EventsManager';
7
+ import { LanguageData } from './env/LanguageData';
8
+ import { EnvParamsTable } from './env/EnvVariablesTable';
9
+ import { LastFocusedManager } from './rt/LastFocusedManager';
10
+ import { ServerConfig } from './ServerConfig';
11
+ import { ClientManager } from "./ClientManager";
12
+ export class GuiEventsProcessor extends EventsProcessor {
13
+ RegisterSubclassHandlers() {
14
+ Events.FocusEvent = GuiEventsProcessor.processFocus;
15
+ Events.FocusOnNonMagicControlEvent = GuiEventsProcessor.processFocusOnNonMagicControl;
16
+ Events.MouseUpEvent = GuiEventsProcessor.processMouseUp;
17
+ Events.SelectionEvent = GuiEventsProcessor.processSelection;
18
+ Events.DisposeEvent = GuiEventsProcessor.processDispose;
19
+ Events.TimerEvent = GuiEventsProcessor.ProcessTimer;
20
+ Events.TableResizeEvent = GuiEventsProcessor.processTableResize;
21
+ Events.GetRowsDataEvent = GuiEventsProcessor.processGetRowsData;
22
+ Events.NonParkableLastParkedCtrlEvent = GuiEventsProcessor.OnNonParkableLastParkedCtrl;
23
+ Events.ShowSessionStatisticsEvent = GuiEventsProcessor.ShowSessionStatistics;
24
+ Events.WriteExceptionToLogEvent = Logger.Instance.WriteExceptionToLogWithMsg.bind(Logger.Instance);
25
+ Events.WriteErrorToLogEvent = Logger.Instance.WriteErrorToLog.bind(Logger.Instance);
26
+ Events.WriteWarningToLogEvent = Logger.Instance.WriteWarningToLogWithMsg.bind(Logger.Instance);
27
+ Events.ShouldLogEvent = Logger.Instance.ShouldLog.bind(Logger.Instance);
28
+ Events.WriteGuiToLogEvent = Logger.Instance.WriteGuiToLog.bind(Logger.Instance);
29
+ Events.WriteDevToLogEvent = Logger.Instance.WriteDevToLog.bind(Logger.Instance);
30
+ Events.TranslateEvent = LanguageData.Instance.translate.bind(LanguageData.Instance);
31
+ Events.PeekEndOfWorkEvent = GuiEventsProcessor.peekEndOfWork;
32
+ Events.TranslateLogicalNameEvent = EnvParamsTable.Instance.translate.bind(EnvParamsTable.Instance);
33
+ Events.GetAssetsURL = ClientManager.GetAssetsURL;
34
+ Events.GetMainProgramEvent = GuiEventsProcessor.getMainProgram;
35
+ Events.GetMessageStringEvent = LanguageData.Instance.getConstMessage.bind(LanguageData.Instance);
36
+ Events.CtrlFocusEvent = GuiEventsProcessor.processCtrlFocus;
37
+ Events.GetRuntimeContextEvent = GuiEventsProcessor.GetRuntimeContext;
38
+ Events.SaveLastClickedCtrlEvent = GuiEventsProcessor.SaveLastClickedControlName;
39
+ Events.SaveLastClickInfoEvent = GuiEventsProcessor.SaveLastClickInfo;
40
+ Events.OnIsLogonRTLEvent = GuiEventsProcessor.IsLogonRTL;
41
+ Events.ShouldAddEnterAsKeyEvent = GuiEventsProcessor.ShouldAddEnterAsKeyEvent;
42
+ }
43
+ constructor() {
44
+ super();
45
+ }
46
+ static processCtrlFocus(iTask, mgControl) {
47
+ LastFocusedManager.setLastFocusedControl(iTask, mgControl);
48
+ }
49
+ static processFocus(guiMgCtrl, line, isProduceClick, onMultiMark) {
50
+ let mgControl = guiMgCtrl;
51
+ EventsManager.Instance.addGuiTriggeredEventWithCtrlAndLineAndCodeAndIsProductClick(mgControl, InternalInterface.MG_ACT_CTRL_FOCUS, line, isProduceClick);
52
+ }
53
+ static processFocusOnNonMagicControl(guiMgCtrl) {
54
+ let mgControl = guiMgCtrl;
55
+ EventsManager.Instance.addGuiTriggeredEventWithCtrlAndCodeAndLine(mgControl, InternalInterface.MG_ACT_CTRL_FOCUS_ON_NON_MAGIC_CONTROL, mgControl.getDisplayLine(true));
56
+ }
57
+ static processMouseUp(guiMgCtrl, line) {
58
+ let mgControl = guiMgCtrl;
59
+ let rtEvt = new RunTimeEvent(mgControl, line, true);
60
+ let produceClick = true;
61
+ if (mgControl.Type === MgControlType.CTRL_TYPE_BUTTON && guiMgCtrl.ButtonStyle === CtrlButtonTypeGui.Hypertext)
62
+ produceClick = false;
63
+ rtEvt.setProduceClick(produceClick);
64
+ rtEvt.setInternal(InternalInterface.MG_ACT_CTRL_MOUSEUP);
65
+ EventsManager.Instance.addToTail(rtEvt);
66
+ }
67
+ static processDispose(guiMgForm) {
68
+ let form = guiMgForm;
69
+ let task = form.getTask();
70
+ let mgd = task.getMGData();
71
+ RCTimer.StopAll(mgd);
72
+ if (mgd.IsAborting)
73
+ MGDataCollection.Instance.deleteMGDataTree(mgd.GetId());
74
+ }
75
+ static ProcessTimer(mgTimer) {
76
+ let mgd = mgTimer.GetMgdata();
77
+ let task = mgd.getFirstTask();
78
+ let seconds = Math.floor((mgTimer.TimerIntervalMiliSeconds) / 1000);
79
+ let isIdle = mgTimer.IsIdleTimer;
80
+ if (mgd.IsAborting)
81
+ return;
82
+ let rtEvt = new RunTimeEvent(task, true);
83
+ rtEvt.setTimer(seconds, mgd.GetId(), isIdle);
84
+ rtEvt.setMainPrgCreator(rtEvt.getTask());
85
+ if (!isIdle)
86
+ rtEvt.setCtrl(task.getLastParkedCtrl());
87
+ rtEvt.setInternal(InternalInterface.MG_ACT_TIMER);
88
+ EventsManager.Instance.addToTail(rtEvt);
89
+ }
90
+ static processTableResize(guiMgCtrl, newRowsInPage) {
91
+ let mgControl = guiMgCtrl;
92
+ if (mgControl != null) {
93
+ let rtEvt = new RunTimeEvent(mgControl, newRowsInPage, true);
94
+ rtEvt.setInternal(InternalInterface.MG_ACT_RESIZE);
95
+ EventsManager.Instance.addToTail(rtEvt);
96
+ }
97
+ }
98
+ static processGetRowsData(guiMgCtrl, desiredTopIndex, sendAll, lastFocusedVal) {
99
+ let mgControl = guiMgCtrl;
100
+ if (mgControl != null && mgControl.Type === MgControlType.CTRL_TYPE_TABLE) {
101
+ let rtEvt = new RunTimeEvent(mgControl, desiredTopIndex, true);
102
+ rtEvt.setInternal(InternalInterface.MG_ACT_ROW_DATA_CURR_PAGE);
103
+ rtEvt.setSendAll(sendAll);
104
+ rtEvt.LastFocusedVal = lastFocusedVal;
105
+ EventsManager.Instance.addToTail(rtEvt);
106
+ }
107
+ }
108
+ static OnNonParkableLastParkedCtrl(ctrl) {
109
+ }
110
+ static processSelection(val, guiMgCtrl, line, produceClick) {
111
+ let mgControl = guiMgCtrl;
112
+ if (guiMgCtrl.ConnectedControl) {
113
+ let rtEvt = new RunTimeEvent(mgControl, +line, true);
114
+ rtEvt.setInternal(InternalInterface.MG_ACT_CTRL_FOCUS);
115
+ rtEvt.ShouldHandleZoom = true;
116
+ EventsManager.Instance.addToTail(rtEvt);
117
+ }
118
+ else {
119
+ if (mgControl.Type === MgControlType.CTRL_TYPE_BUTTON && mgControl.getForm().getTask().getLastParkedCtrl() !== mgControl)
120
+ produceClick = true;
121
+ let rtEvt = new RunTimeEvent(mgControl, +line, true);
122
+ rtEvt.setInternal(InternalInterface.MG_ACT_SELECTION);
123
+ rtEvt.setValue(val);
124
+ rtEvt.setProduceClick(produceClick);
125
+ EventsManager.Instance.addToTail(rtEvt);
126
+ }
127
+ }
128
+ processKeyDown(guiMgForm, guiMgCtrl, modifier, keyCode, start, end, text, isActChar, suggestedValue, handled) {
129
+ LastFocusedManager.Instance.LastActionTime = Misc.getSystemMilliseconds();
130
+ return super.processKeyDown(guiMgForm, guiMgCtrl, modifier, keyCode, start, end, text, isActChar, suggestedValue, handled);
131
+ }
132
+ static peekEndOfWork() {
133
+ return EventsManager.Instance.getEndOfWork();
134
+ }
135
+ static getMainProgram(contextID, ctlIdx) {
136
+ return MGDataCollection.Instance.GetMainProgByCtlIdx(contextID, ctlIdx);
137
+ }
138
+ static GetRuntimeContext(contextID) {
139
+ return RuntimeContextBase.Instance;
140
+ }
141
+ static SaveLastClickedControlName(ctrlName) {
142
+ RuntimeContextBase.Instance.LastClickedCtrlName = ctrlName;
143
+ }
144
+ static SaveLastClickInfo(controlName, X, Y, offsetX, offsetY, LastClickCoordinatesAreInPixels) {
145
+ RuntimeContextBase.Instance.SaveLastClickInfo(controlName, X, Y, offsetX, offsetY, LastClickCoordinatesAreInPixels);
146
+ }
147
+ static IsLogonRTL() {
148
+ return ServerConfig.Instance.IsLogonRTL();
149
+ }
150
+ static ShowSessionStatistics() {
151
+ }
152
+ static ShouldAddEnterAsKeyEvent() {
153
+ return false;
154
+ }
155
+ }
156
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiR3VpRXZlbnRzUHJvY2Vzc29yLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZW5naW5lL3NyYy9HdWlFdmVudHNQcm9jZXNzb3IudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLGlCQUFpQixFQUFFLGlCQUFpQixFQUFFLE1BQU0sRUFBRSxhQUFhLEVBQUUsSUFBSSxFQUFDLE1BQU0sa0JBQWtCLENBQUM7QUFDbkcsT0FBTyxFQUNMLE1BQU0sRUFDTixlQUFlLEVBUWYsa0JBQWtCLEVBQ25CLE1BQU0sZ0JBQWdCLENBQUM7QUFFeEIsT0FBTyxFQUFDLFlBQVksRUFBQyxNQUFNLHNCQUFzQixDQUFDO0FBR2xELE9BQU8sRUFBQyxPQUFPLEVBQUMsTUFBTSxpQkFBaUIsQ0FBQztBQUN4QyxPQUFPLEVBQUMsZ0JBQWdCLEVBQUMsTUFBTSwwQkFBMEIsQ0FBQztBQUUxRCxPQUFPLEVBQUMsYUFBYSxFQUFDLE1BQU0sdUJBQXVCLENBQUM7QUFDcEQsT0FBTyxFQUFDLFlBQVksRUFBQyxNQUFNLG9CQUFvQixDQUFDO0FBQ2hELE9BQU8sRUFBQyxjQUFjLEVBQUMsTUFBTSx5QkFBeUIsQ0FBQztBQUN2RCxPQUFPLEVBQUMsa0JBQWtCLEVBQUMsTUFBTSx5QkFBeUIsQ0FBQztBQUMzRCxPQUFPLEVBQUMsWUFBWSxFQUFDLE1BQU0sZ0JBQWdCLENBQUM7QUFDNUMsT0FBTyxFQUFDLGFBQWEsRUFBQyxNQUFNLGlCQUFpQixDQUFDO0FBRTlDLE1BQU0sT0FBTyxrQkFBbUIsU0FBUSxlQUFlO0lBQ3JELHdCQUF3QjtRQUN0QixNQUFNLENBQUMsVUFBVSxHQUFHLGtCQUFrQixDQUFDLFlBQVksQ0FBQztRQUNwRCxNQUFNLENBQUMsMkJBQTJCLEdBQUcsa0JBQWtCLENBQUMsNkJBQTZCLENBQUM7UUFDdEYsTUFBTSxDQUFDLFlBQVksR0FBRyxrQkFBa0IsQ0FBQyxjQUFjLENBQUM7UUFDeEQsTUFB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ZXJmYWNlLCBMb2dnZXIsIE1nQ29udHJvbFR5cGUsIE1pc2N9IGZyb20gJ0BtYWdpYy14cGEvdXRpbHMnO1xyXG5pbXBvcnQge1xyXG4gIEV2ZW50cyxcclxuICBFdmVudHNQcm9jZXNzb3IsXHJcbiAgR3VpTWdDb250cm9sLFxyXG4gIEd1aU1nRm9ybSxcclxuICBJVGFzayxcclxuICBMYXN0Rm9jdXNlZFZhbCxcclxuICBNZ0NvbnRyb2xCYXNlLFxyXG4gIE1nVGltZXIsXHJcbiAgTW9kaWZpZXJzLFxyXG4gIFJ1bnRpbWVDb250ZXh0QmFzZVxyXG59IGZyb20gJ0BtYWdpYy14cGEvZ3VpJztcclxuaW1wb3J0IHtNZ0NvbnRyb2x9IGZyb20gJy4vZ3VpL01nQ29udHJvbCc7XHJcbmltcG9ydCB7UnVuVGltZUV2ZW50fSBmcm9tICcuL2V2ZW50L1J1blRpbWVFdmVudCc7XHJcbmltcG9ydCB7TWdGb3JtfSBmcm9tICcuL2d1aS9NZ0Zvcm0nO1xyXG5pbXBvcnQge01HRGF0YX0gZnJvbSAnLi90YXNrcy9NR0RhdGEnO1xyXG5pbXBvcnQge1JDVGltZXJ9IGZyb20gJy4vdGFza3MvUkNUaW1lcic7XHJcbmltcG9ydCB7TUdEYXRhQ29sbGVjdGlvbn0gZnJvbSAnLi90YXNrcy9NR0RhdGFDb2xsZWN0aW9uJztcclxuaW1wb3J0IHtUYXNrfSBmcm9tICcuL3Rhc2tzL1Rhc2snO1xyXG5pbXBvcnQge0V2ZW50c01hbmFnZXJ9IGZyb20gJy4vZXZlbnQvRXZlbnRzTWFuYWdlcic7XHJcbmltcG9ydCB7TGFuZ3VhZ2VEYXRhfSBmcm9tICcuL2Vudi9MYW5ndWFnZURhdGEnO1xyXG5pbXBvcnQge0VudlBhcmFtc1RhYmxlfSBmcm9tICcuL2Vudi9FbnZWYXJpYWJsZXNUYWJsZSc7XHJcbmltcG9ydCB7TGFzdEZvY3VzZWRNYW5hZ2VyfSBmcm9tICcuL3J0L0xhc3RGb2N1c2VkTWFuYWdlcic7XHJcbmltcG9ydCB7U2VydmVyQ29uZmlnfSBmcm9tICcuL1NlcnZlckNvbmZpZyc7XHJcbmltcG9ydCB7Q2xpZW50TWFuYWdlcn0gZnJvbSBcIi4vQ2xpZW50TWFuYWdlclwiO1xyXG5cclxuZXhwb3J0IGNsYXNzIEd1aUV2ZW50c1Byb2Nlc3NvciBleHRlbmRzIEV2ZW50c1Byb2Nlc3NvciB7XHJcbiAgUmVnaXN0ZXJTdWJjbGFzc0hhbmRsZXJzKCk6IHZvaWQge1xyXG4gICAgRXZlbnRzLkZvY3VzRXZlbnQgPSBHdWlFdmVudHNQcm9jZXNzb3IucHJvY2Vzc0ZvY3VzO1xyXG4gICAgRXZlbnRzLkZvY3VzT25Ob25NYWdpY0NvbnRyb2xFdmVudCA9IEd1aUV2ZW50c1Byb2Nlc3Nvci5wcm9jZXNzRm9jdXNPbk5vbk1hZ2ljQ29udHJvbDtcclxuICAgIEV2ZW50cy5Nb3VzZVVwRXZlbnQgPSBHdWlFdmVudHNQcm9jZXNzb3IucHJvY2Vzc01vdXNlVXA7XHJcbiAgICBFdmVudHMuU2VsZWN0aW9uRXZlbnQgPSBHdWlFdmVudHNQcm9jZXNzb3IucHJvY2Vzc1NlbGVjdGlvbjtcclxuICAgIEV2ZW50cy5EaXNwb3NlRXZlbnQgPSBHdWlFdmVudHNQcm9jZXNzb3IucHJvY2Vzc0Rpc3Bvc2U7XHJcbiAgICBFdmVudHMuVGltZXJFdmVudCA9IEd1aUV2ZW50c1Byb2Nlc3Nvci5Qcm9jZXNzVGltZXI7XHJcbiAgICBFdmVudHMuVGFibGVSZXNpemVFdmVudCA9IEd1aUV2ZW50c1Byb2Nlc3Nvci5wcm9jZXNzVGFibGVSZXNpemU7XHJcbiAgICBFdmVudHMuR2V0Um93c0RhdGFFdmVudCA9IEd1aUV2ZW50c1Byb2Nlc3Nvci5wcm9jZXNzR2V0Um93c0RhdGE7XHJcbiAgICBFdmVudHMuTm9uUGFya2FibGVMYXN0UGFya2VkQ3RybEV2ZW50ID0gR3VpRXZlbnRzUHJvY2Vzc29yLk9uTm9uUGFya2FibGVMYXN0UGFya2VkQ3RybDtcclxuICAgIEV2ZW50cy5TaG93U2Vzc2lvblN0YXRpc3RpY3NFdmVudCA9IEd1aUV2ZW50c1Byb2Nlc3Nvci5TaG93U2Vzc2lvblN0YXRpc3RpY3M7XHJcblxyXG4gICAgRXZlbnRzLldyaXRlRXhjZXB0aW9uVG9Mb2dFdmVudCA9IExvZ2dlci5JbnN0YW5jZS5Xcml0ZUV4Y2VwdGlvblRvTG9nV2l0aE1zZy5iaW5kKExvZ2dlci5JbnN0YW5jZSk7XHJcbiAgICBFdmVudHMuV3JpdGVFcnJvclRvTG9nRXZlbnQgPSBMb2dnZXIuSW5zdGFuY2UuV3JpdGVFcnJvclRvTG9nLmJpbmQoTG9nZ2VyLkluc3RhbmNlKTtcclxuICAgIEV2ZW50cy5Xcml0ZVdhcm5pbmdUb0xvZ0V2ZW50ID0gTG9nZ2VyLkluc3RhbmNlLldyaXRlV2FybmluZ1RvTG9nV2l0aE1zZy5iaW5kKExvZ2dlci5JbnN0YW5jZSk7XHJcbiAgICBFdmVudHMuU2hvdWxkTG9nRXZlbnQgPSBMb2dnZXIuSW5zdGFuY2UuU2hvdWxkTG9nLmJpbmQoTG9nZ2VyLkluc3RhbmNlKTtcclxuICAgIEV2ZW50cy5Xcml0ZUd1aVRvTG9nRXZlbnQgPSBMb2dnZXIuSW5zdGFuY2UuV3JpdGVHdWlUb0xvZy5iaW5kKExvZ2dlci5JbnN0YW5jZSk7XHJcbiAgICBFdmVudHMuV3JpdGVEZXZUb0xvZ0V2ZW50ID0gTG9nZ2VyLkluc3RhbmNlLldyaXRlRGV2VG9Mb2cuYmluZChMb2dnZXIuSW5zdGFuY2UpO1xyXG5cclxuICAgIEV2ZW50cy5UcmFuc2xhdGVFdmVudCA9IExhbmd1YWdlRGF0YS5JbnN0YW5jZS50cmFuc2xhdGUuYmluZChMYW5ndWFnZURhdGEuSW5zdGFuY2UpO1xyXG5cclxuICAgIEV2ZW50cy5QZWVrRW5kT2ZXb3JrRXZlbnQgPSBHdWlFdmVudHNQcm9jZXNzb3IucGVla0VuZE9mV29yaztcclxuXHJcbiAgICBFdmVudHMuVHJhbnNsYXRlTG9naWNhbE5hbWVFdmVudCA9IEVudlBhcmFtc1RhYmxlLkluc3RhbmNlLnRyYW5zbGF0ZS5iaW5kKEVudlBhcmFtc1RhYmxlLkluc3RhbmNlKTtcclxuICAgIEV2ZW50cy5HZXRBc3NldHNVUkwgPSBDbGllbnRNYW5hZ2VyLkdldEFzc2V0c1VSTDtcclxuICAgIEV2ZW50cy5HZXRNYWluUHJvZ3JhbUV2ZW50ID0gR3VpRXZlbnRzUHJvY2Vzc29yLmdldE1haW5Qcm9ncmFtO1xyXG4gICAgRXZlbnRzLkdldE1lc3NhZ2VTdHJpbmdFdmVudCA9IExhbmd1YWdlRGF0YS5JbnN0YW5jZS5nZXRDb25zdE1lc3NhZ2UuYmluZChMYW5ndWFnZURhdGEuSW5zdGFuY2UpO1xyXG5cclxuICAgIEV2ZW50cy5DdHJsRm9jdXNFdmVudCA9IEd1aUV2ZW50c1Byb2Nlc3Nvci5wcm9jZXNzQ3RybEZvY3VzO1xyXG4gICAgRXZlbnRzLkdldFJ1bnRpbWVDb250ZXh0RXZlbnQgPSBHdWlFdmVudHNQcm9jZXNzb3IuR2V0UnVudGltZUNvbnRleHQ7XHJcbiAgICBFdmVudHMuU2F2ZUxhc3RDbGlja2VkQ3RybEV2ZW50ID0gR3VpRXZlbnRzUHJvY2Vzc29yLlNhdmVMYXN0Q2xpY2tlZENvbnRyb2xOYW1lO1xyXG4gICAgRXZlbnRzLlNhdmVMYXN0Q2xpY2tJbmZvRXZlbnQgPSBHdWlFdmVudHNQcm9jZXNzb3IuU2F2ZUxhc3RDbGlja0luZm87XHJcblxyXG5cclxuICAgIEV2ZW50cy5PbklzTG9nb25SVExFdmVudCA9IEd1aUV2ZW50c1Byb2Nlc3Nvci5Jc0xvZ29uUlRMO1xyXG4gICAgRXZlbnRzLlNob3VsZEFkZEVudGVyQXNLZXlFdmVudCA9IEd1aUV2ZW50c1Byb2Nlc3Nvci5TaG91bGRBZGRFbnRlckFzS2V5RXZlbnQ7XHJcblxyXG4gIH1cclxuXHJcbiAgLy8vIDxzdW1tYXJ5PiBDVE9SIDwvc3VtbWFyeT5cclxuICBjb25zdHJ1Y3RvcigpIHtcclxuICAgIHN1cGVyKCk7XHJcbiAgfVxyXG5cclxuICAvLy8gPHN1bW1hcnk+IDwvc3VtbWFyeT5cclxuICAvLy8gPHBhcmFtIG5hbWU9XCJpVGFza1wiPjwvcGFyYW0+XHJcbiAgLy8vIDxwYXJhbSBuYW1lPVwibWdDb250cm9sXCI+PC9wYXJhbT5cclxuICBwcml2YXRlIHN0YXRpYyBwcm9jZXNzQ3RybEZvY3VzKGlUYXNrOiBJVGFzaywgbWdDb250cm9sOiBNZ0NvbnRyb2xCYXNlKTogdm9pZCB7XHJcbiAgICBMYXN0Rm9jdXNlZE1hbmFnZXIuc2V0TGFzdEZvY3VzZWRDb250cm9sKDxUYXNrPmlUYXNrLCBtZ0NvbnRyb2wpO1xyXG4gIH1cclxuXHJcbiAgLy8vIDxzdW1tYXJ5PnByb2Nlc3MgXCJmb2N1c1wiIGV2ZW50PC9zdW1tYXJ5PlxyXG4gIC8vLyA8cGFyYW0gbmFtZSA9IFwidmFsdWVcIj50aGUgdmFsdWUgb2YgdGhlIGNvbnRyb2w8L3BhcmFtPlxyXG4gIC8vLyA8cGFyYW0gbmFtZSA9IFwibGluZVwiPnRoZSBsaW5lIG9mIG11bHRpbGluZSBjb250cm9sPC9wYXJhbT5cclxuICAvLy8gPHJldHVybnM+IFRSVUUgaWYgTWFnaWMgaW50ZXJuYWwgcnVsZXMgYWxsb3cgdXMgdG8gcGVyZm9ybSB0aGUgZm9jdXMuXHJcbiAgLy8vICAgc29tZXRpbWVzLCBNYWdpYyBmb3JjZXMgdXMgdG8gcmV0dXJuIHRvIHRoZSBvcmlnaW5hbCBjb250cm9sIHRodXMgRkFMU0Ugd2lsbCBiZSByZXR1cm5lZC5cclxuICAvLy8gPC9yZXR1cm5zPlxyXG4gIHByaXZhdGUgc3RhdGljIHByb2Nlc3NGb2N1cyhndWlNZ0N0cmw6IEd1aU1nQ29udHJvbCwgbGluZTogbnVtYmVyLCBpc1Byb2R1Y2VDbGljazogYm9vbGVhbiwgb25NdWx0aU1hcms6IGJvb2xlYW4pOiB2b2lkIHtcclxuICAgIGxldCBtZ0NvbnRyb2w6IE1nQ29udHJvbCA9IDxNZ0NvbnRyb2w+Z3VpTWdDdHJsO1xyXG4gICAgRXZlbnRzTWFuYWdlci5JbnN0YW5jZS5hZGRHdWlUcmlnZ2VyZWRFdmVudFdpdGhDdHJsQW5kTGluZUFuZENvZGVBbmRJc1Byb2R1Y3RDbGljayhtZ0NvbnRyb2wsIEludGVybmFsSW50ZXJmYWNlLk1HX0FDVF9DVFJMX0ZPQ1VTLCBsaW5lLCBpc1Byb2R1Y2VDbGljayk7XHJcbiAgfVxyXG5cclxuICAvLy8gPHN1bW1hcnk+cHJvY2VzcyBcImZvY3VzXCIgZXZlbnQ8L3N1bW1hcnk+XHJcbiAgLy8vIDxwYXJhbSBuYW1lID0gXCJndWlNZ0N0cmxcIj50aGUgY29udHJvbDwvcGFyYW0+XHJcbiAgcHJpdmF0ZSBzdGF0aWMgcHJvY2Vzc0ZvY3VzT25Ob25NYWdpY0NvbnRyb2woZ3VpTWdDdHJsOiBHdWlNZ0NvbnRyb2wpOiB2b2lkIHtcclxuICAgIGxldCBtZ0NvbnRyb2w6IE1nQ29udHJvbCA9IDxNZ0NvbnRyb2w+Z3VpTWdDdHJsO1xyXG4gICAgRXZlbnRzTWFuYWdlci5JbnN0YW5jZS5hZGRHdWlUcmlnZ2VyZWRFdmVudFdpdGhDdHJsQW5kQ29kZUFuZExpbmUobWdDb250cm9sLCBJbnRlcm5hbEludGVyZmFjZS5NR19BQ1RfQ1RSTF9GT0NVU19PTl9OT05fTUFHSUNfQ09OVFJPTCwgbWdDb250cm9sLmdldERpc3BsYXlMaW5lKHRydWUpKTtcclxuICB9XHJcblxyXG4gIC8vLyA8c3VtbWFyeT5wcm9jZXNzIFwiY2xpY2tcIiBldmVudDwvc3VtbWFyeT5cclxuICAvLy88cGFyYW0gbmFtZSA9IFwiZ3VpTWdDdHJsXCI+dGhlIGNvbnRyb2w8L3BhcmFtPlxyXG4gIC8vLyA8cGFyYW0gbmFtZSA9IFwibGluZVwiPiB0aGUgbGluZSBvZiB0aGUgbXVsdGlsaW5lIGNvbnRyb2w8L3BhcmFtPlxyXG4gIC8vLyA8cGFyYW0gbmFtZSA9IFwidmFsdWVcIj50aGUgdmFsdWUgb2YgdGhlIGNvbnRyb2w8L3BhcmFtPlxyXG4gIHByaXZhdGUgc3RhdGljIHByb2Nlc3NNb3VzZVVwKGd1aU1nQ3RybDogR3VpTWdDb250cm9sLCBsaW5lOiBudW1iZXIpOiB2b2lkIHtcclxuICAgIGxldCBtZ0NvbnRyb2wgPSA8TWdDb250cm9sPmd1aU1nQ3RybDtcclxuICAgIGxldCBydEV2dCA9IG5ldyBSdW5UaW1lRXZlbnQobWdDb250cm9sLCBsaW5lLCB0cnVlKTtcclxuICAgIGxldCBwcm9kdWNlQ2xpY2s6IGJvb2xlYW4gPSB0cnVlO1xyXG5cclxuICAgIGlmIChtZ0NvbnRyb2wuVHlwZSA9PT0gTWdDb250cm9sVHlwZS5DVFJMX1RZUEVfQlVUVE9OICYmIGd1aU1nQ3RybC5CdXR0b25TdHlsZSA9PT0gQ3RybEJ1dHRvblR5cGVHdWkuSHlwZXJ0ZXh0KVxyXG4gICAgICBwcm9kdWNlQ2xpY2sgPSBmYWxzZTtcclxuXHJcbiAgICBydEV2dC5zZXRQcm9kdWNlQ2xpY2socHJvZHVjZUNsaWNrKTtcclxuICAgIHJ0RXZ0LnNldEludGVybmFsKEludGVybmFsSW50ZXJmYWNlLk1HX0FDVF9DVFJMX01PVVNFVVApO1xyXG4gICAgRXZlbnRzTWFuYWdlci5JbnN0YW5jZS5hZGRUb1RhaWwocnRFdnQpO1xyXG4gIH1cclxuXHJcbiAgLy8vIDxzdW1tYXJ5PlxyXG4gIC8vLyAgIFJlbGVhc2UgcmVmZXJlbmNlcyB0byBtZ0RhdGEgYW5kIHRvIHRoZSB0YXNrIGluIG9yZGVyIHRvIGxldCB0aGUgZ2MgdG8gZnJlZSB0aGUgbWVtb3J5LlxyXG4gIC8vLyAgIFRoaXMgY29kZSB3YXMgbW92ZWQgZnJvbSBwcm9jZXNzQ2xvc2UgaW4gb3JkZXIgdG8gY2xlYW4gYWxzbyB3aGVuIHRoZSBcIm9wZW4gd2luZG93ID0gTk9cIiAobm9uIGludGVyYWN0aXZlIHRhc2tzKS5cclxuICAvLy8gPC9zdW1tYXJ5PlxyXG4gIC8vLyA8cGFyYW0gbmFtZSA9IFwiZm9ybVwiPjwvcGFyYW0+XHJcbiAgcHJpdmF0ZSBzdGF0aWMgcHJvY2Vzc0Rpc3Bvc2UoZ3VpTWdGb3JtOiBHdWlNZ0Zvcm0pOiB2b2lkIHtcclxuICAgIGxldCBmb3JtID0gPE1nRm9ybT5ndWlNZ0Zvcm07XHJcbiAgICBsZXQgdGFzayA9IDxUYXNrPmZvcm0uZ2V0VGFzaygpO1xyXG4gICAgbGV0IG1nZDogTUdEYXRhID0gdGFzay5nZXRNR0RhdGEoKTtcclxuXHJcbiAgICBSQ1RpbWVyLlN0b3BBbGwobWdkKTtcclxuXHJcbiAgICBpZiAobWdkLklzQWJvcnRpbmcpXHJcbiAgICAgIE1HRGF0YUNvbGxlY3Rpb24uSW5zdGFuY2UuZGVsZXRlTUdEYXRhVHJlZShtZ2QuR2V0SWQoKSk7XHJcbiAgfVxyXG5cclxuICAvLy8gPHN1bW1hcnk+cHJvY2VzcyBcInRpbWVyXCIgZXZlbnQ8L3N1bW1hcnk+XHJcbiAgLy8vIDxwYXJhbSBuYW1lID0gXCJtZ1RpbWVyXCI+b2JqZWN0IG9mICdNZ1RpbWVyJyBjbGFzczwvcGFyYW0+XHJcbiAgcHJpdmF0ZSBzdGF0aWMgUHJvY2Vzc1RpbWVyKG1nVGltZXI6IE1nVGltZXIpOiB2b2lkIHtcclxuICAgIGxldCBtZ2Q6IE1HRGF0YSA9ICg8UkNUaW1lcj5tZ1RpbWVyKS5HZXRNZ2RhdGEoKTtcclxuICAgIGxldCB0YXNrID0gbWdkLmdldEZpcnN0VGFzaygpO1xyXG5cclxuICAgIC8vIE1nVGltZXIvUkNUaW1lciB1c2VzIGludGVydmFsIGluIG1pbGxpc2Vjb25kcyBidXQgUnVudGltZUV2ZW50IHVzZXMgaW50ZXJ2YWwgaW4gc2Vjb25kc1xyXG4gICAgLy8gc28gY29udmVydCBpdCB0byBzZWNvbmRzLlxyXG4gICAgbGV0IHNlY29uZHM6IG51bWJlciA9IE1hdGguZmxvb3IoKCg8UkNUaW1lcj5tZ1RpbWVyKS5UaW1lckludGVydmFsTWlsaVNlY29uZHMpIC8gMTAwMCk7XHJcbiAgICBsZXQgaXNJZGxlOiBib29sZWFuID0gKDxSQ1RpbWVyPm1nVGltZXIpLklzSWRsZVRpbWVyO1xyXG5cclxuICAgIGlmIChtZ2QuSXNBYm9ydGluZylcclxuICAgICAgcmV0dXJuO1xyXG5cclxuICAgIGxldCBydEV2dCA9IG5ldyBSdW5UaW1lRXZlbnQodGFzaywgdHJ1ZSk7XHJcbiAgICBydEV2dC5zZXRUaW1lcihzZWNvbmRzLCBtZ2QuR2V0SWQoKSwgaXNJZGxlKTtcclxuICAgIHJ0RXZ0LnNldE1haW5QcmdDcmVhdG9yKHJ0RXZ0LmdldFRhc2soKSk7XHJcblxyXG4gICAgaWYgKCFpc0lkbGUpXHJcbiAgICAgIHJ0RXZ0LnNldEN0cmwoPE1nQ29udHJvbD50YXNrLmdldExhc3RQYXJrZWRDdHJsKCkpO1xyXG5cclxuICAgIHJ0RXZ0LnNldEludGVybmFsKEludGVybmFsSW50ZXJmYWNlLk1HX0FDVF9USU1FUik7XHJcbiAgICBFdmVudHNNYW5hZ2VyLkluc3RhbmNlLmFkZFRvVGFpbChydEV2dCk7XHJcbiAgfVxyXG5cclxuICAvLy8gPHN1bW1hcnk+cHJvY2VzcyBSZXNpemUgb2YgdGhlIHBhZ2UsIGZvciB0YWJsZSBjb250cm9scyBvbmx5PC9zdW1tYXJ5PlxyXG4gIC8vLyA8cGFyYW0gbmFtZSA9IFwiZ3VpTWdDdHJsXCI+PC9wYXJhbT5cclxuICAvLy8gPHBhcmFtIG5hbWUgPSBcIm5ld1Jvd3NJblBhZ2VcIj48L3BhcmFtPlxyXG4gIHByaXZhdGUgc3RhdGljIHByb2Nlc3NUYWJsZVJlc2l6ZShndWlNZ0N0cmw6IEd1aU1nQ29udHJvbCwgbmV3Um93c0luUGFnZTogbnVtYmVyKTogdm9pZCB7XHJcbiAgICAgIGxldCBtZ0NvbnRyb2wgPSA8TWdDb250cm9sPmd1aU1nQ3RybDtcclxuICAgICAgaWYgKG1nQ29udHJvbCAhPSBudWxsKSB7XHJcbiAgICAgICAgICBsZXQgcnRFdnQgPSBuZXcgUnVuVGltZUV2ZW50KG1nQ29udHJvbCwgbmV3Um93c0luUGFnZSwgdHJ1ZSk7XHJcbiAgICAgICAgICBydEV2dC5zZXRJbnRlcm5hbChJbnRlcm5hbEludGVyZmFjZS5NR19BQ1RfUkVTSVpFKTtcclxuICAgICAgICAgIEV2ZW50c01hbmFnZXIuSW5zdGFuY2UuYWRkVG9UYWlsKHJ0RXZ0KTtcclxuICAgICAgfVxyXG4gIH1cclxuXHJcbiAgLy8vIDxzdW1tYXJ5PnByb2Nlc3Mgc2V0IGRhdGEgZm9yIHJvdzwvc3VtbWFyeT5cclxuICAvLy88cGFyYW0gbmFtZSA9IFwiZ3VpTWdDdHJsXCI+dGFibGUgY29udHJvbDwvcGFyYW0+XHJcbiAgLy8vIDxwYXJhbSBuYW1lID0gXCJzZW5kQWxsXCI+aWYgdHJ1ZSAsIGFsd2F5cyBzZW5kIGFsbCByZWNvcmRzPC9wYXJhbT5cclxuICBwcml2YXRlIHN0YXRpYyBwcm9jZXNzR2V0Um93c0RhdGEoZ3VpTWdDdHJsOiBHdWlNZ0NvbnRyb2wsIGRlc2lyZWRUb3BJbmRleDogbnVtYmVyLCBzZW5kQWxsOiBib29sZWFuLCBsYXN0Rm9jdXNlZFZhbDogTGFzdEZvY3VzZWRWYWwpOiB2b2lkIHtcclxuICAgICAgbGV0IG1nQ29udHJvbCA9IDxNZ0NvbnRyb2w+Z3VpTWdDdHJsO1xyXG5cclxuICAgICAgaWYgKG1nQ29udHJvbCAhPSBudWxsICYmIG1nQ29udHJvbC5UeXBlID09PSBNZ0NvbnRyb2xUeXBlLkNUUkxfVFlQRV9UQUJMRSkge1xyXG4gICAgICAgICAgbGV0IHJ0RXZ0ID0gbmV3IFJ1blRpbWVFdmVudChtZ0NvbnRyb2wsIGRlc2lyZWRUb3BJbmRleCwgdHJ1ZSk7XHJcbiAgICAgICAgICBydEV2dC5zZXRJbnRlcm5hbChJbnRlcm5hbEludGVyZmFjZS5NR19BQ1RfUk9XX0RBVEFfQ1VSUl9QQUdFKTtcclxuICAgICAgICAgIHJ0RXZ0LnNldFNlbmRBbGwoc2VuZEFsbCk7XHJcbiAgICAgICAgICBydEV2dC5MYXN0Rm9jdXNlZFZhbCA9IGxhc3RGb2N1c2VkVmFsO1xyXG4gICAgICAgICAgRXZlbnRzTWFuYWdlci5JbnN0YW5jZS5hZGRUb1RhaWwocnRFdnQpO1xyXG4gICAgICB9XHJcbiAgfVxyXG5cclxuXHJcbiAgLy8vIDxzdW1tYXJ5PlxyXG4gIC8vLyBJZiBjdXJyZW50IGNvbnRyb2wgYmVjb21lcyBpbnZpc2libGUvZGlzYWJsZWQvbm9uIHBhcmthYmxlLCB0aGVuIHB1dCBNR19BQ1RfVEJMX05YVEZMRCBpbnRvIHF1ZXVlLlxyXG4gIC8vLyA8L3N1bW1hcnk+XHJcbiAgLy8vIDxwYXJhbSBuYW1lPVwiY3RybFwiPmNvbnRyb2wgd2hvc2UgcHJvcGVydHkgaXMgY2hhbmdlZC48L3BhcmFtPlxyXG4gIHByaXZhdGUgc3RhdGljIE9uTm9uUGFya2FibGVMYXN0UGFya2VkQ3RybChjdHJsOiBHdWlNZ0NvbnRyb2wpOiB2b2lkIHtcclxuICB9XHJcblxyXG4gIC8vLyA8c3VtbWFyeT5wcm9jZXNzIFwic2VsZWN0aW9uXCIgZXZlbnQ8L3N1bW1hcnk+XHJcbiAgLy8vIDxwYXJhbSBuYW1lID0gXCJ2YWxcIj50aGUgdmFsdWUgb2YgdGhlIGNvbnRyb2wgPC9wYXJhbT5cclxuICAvLy8gPHBhcmFtIG5hbWUgPSBcImd1aU1nQ3RybFwiPnRoZSBjb250cm9sIDwvcGFyYW0+XHJcbiAgLy8vIDxwYXJhbSBuYW1lID0gXCJsaW5lXCI+IHRoZSBsaW5lIG9mIHRoZSBtdWx0aWxpbmUgY29udHJvbCA8L3BhcmFtPlxyXG4gIC8vLyA8cGFyYW0gbmFtZSA9IFwicHJvZHVjZUNsaWNrXCI+VE9ETyA8L3BhcmFtPlxyXG4gIHByaXZhdGUgc3RhdGljIHByb2Nlc3NTZWxlY3Rpb24odmFsOiBzdHJpbmcsIGd1aU1nQ3RybDogR3VpTWdDb250cm9sLCBsaW5lOiBudW1iZXIsIHByb2R1Y2VDbGljazogYm9vbGVhbik6IHZvaWQge1xyXG4gICAgICBsZXQgbWdDb250cm9sID0gPE1nQ29udHJvbD5ndWlNZ0N0cmw7XHJcblxyXG4gICAgICBpZiAoZ3VpTWdDdHJsLkNvbm5lY3RlZENvbnRyb2wpIHtcclxuICAgICAgICAgIGxldCBydEV2dCA9IG5ldyBSdW5UaW1lRXZlbnQobWdDb250cm9sLCArbGluZSwgdHJ1ZSk7XHJcbiAgICAgICAgICBydEV2dC5zZXRJbnRlcm5hbChJbnRlcm5hbEludGVyZmFjZS5NR19BQ1RfQ1RSTF9GT0NVUyk7XHJcbiAgICAgICAgICBydEV2dC5TaG91bGRIYW5kbGVab29tID0gdHJ1ZTtcclxuICAgICAgICAgIEV2ZW50c01hbmFnZXIuSW5zdGFuY2UuYWRkVG9UYWlsKHJ0RXZ0KTtcclxuICAgICAgfVxyXG4gICAgICBlbHNlIHtcclxuICAgICAgICAgIGlmIChtZ0NvbnRyb2wuVHlwZSA9PT0gTWdDb250cm9sVHlwZS5DVFJMX1RZUEVfQlVUVE9OICYmIG1nQ29udHJvbC5nZXRGb3JtKCkuZ2V0VGFzaygpLmdldExhc3RQYXJrZWRDdHJsKCkgIT09IG1nQ29udHJvbClcclxuICAgICAgICAgICAgICBwcm9kdWNlQ2xpY2sgPSB0cnVlO1xyXG5cclxuICAgICAgICAgIGxldCBydEV2dCA9IG5ldyBSdW5UaW1lRXZlbnQobWdDb250cm9sLCArbGluZSwgdHJ1ZSk7XHJcbiAgICAgICAgICBydEV2dC5zZXRJbnRlcm5hbChJbnRlcm5hbEludGVyZmFjZS5NR19BQ1RfU0VMRUNUSU9OKTtcclxuICAgICAgICAgIHJ0RXZ0LnNldFZhbHVlKHZhbCk7XHJcbiAgICAgICAgICBydEV2dC5zZXRQcm9kdWNlQ2xpY2socHJvZHVjZUNsaWNrKTtcclxuICAgICAgICAgIEV2ZW50c01hbmFnZXIuSW5zdGFuY2UuYWRkVG9UYWlsKHJ0RXZ0KTtcclxuICAgICAgfVxyXG4gIH1cclxuXHJcbiAgLy8vIDxzdW1tYXJ5Pjwvc3VtbWFyeT5cclxuICAvLy8gPHBhcmFtIG5hbWUgPSBcImd1aU1nRm9ybVwiPjwvcGFyYW0+XHJcbiAgLy8vIDxwYXJhbSBuYW1lID0gXCJndWlNZ0N0cmxcIj48L3BhcmFtPlxyXG4gIC8vLyA8cGFyYW0gbmFtZSA9IFwibW9kaWZpZXJcIj48L3BhcmFtPlxyXG4gIC8vLyA8cGFyYW0gbmFtZSA9IFwia2V5Q29kZVwiPjwvcGFyYW0+XHJcbiAgLy8vIDxwYXJhbSBuYW1lID0gXCJzdGFydFwiPjwvcGFyYW0+XHJcbiAgLy8vIDxwYXJhbSBuYW1lID0gXCJlbmRcIj48L3BhcmFtPlxyXG4gIC8vLyA8cGFyYW0gbmFtZSA9IFwidGV4dFwiPjwvcGFyYW0+XHJcbiAgLy8vIDxwYXJhbSBuYW1lID0gXCJpbVwiPjwvcGFyYW0+XHJcbiAgLy8vIDxwYXJhbSBuYW1lID0gXCJpc0FjdENoYXJcIj48L3BhcmFtPlxyXG4gIC8vLyA8cGFyYW0gbmFtZSA9IFwic3VnZ2VzdGVkVmFsdWVcIj48L3BhcmFtPlxyXG4gIC8vLyA8cGFyYW0gbmFtZSA9IFwiZG90TmV0QXJnc1wiPjwvcGFyYW0+XHJcbiAgLy8vIDxwYXJhbSBuYW1lID0gXCJjb21ib0lzRHJvcERvd25cIj48L3BhcmFtPlxyXG4gIC8vLyA8cGFyYW0gbmFtZT1cImhhbmRsZWRcIj5ib29sZWFuIHZhcmlhYmxlIGV2ZW50IGlzIGhhbmRsZWQgb3Igbm90LjwvcGFyYW0+XHJcbiAgLy8vIDxyZXR1cm5zPiB0cnVlIG9ubHkgaWYgd2UgaGF2ZSBoYW5kbGVkIHRoZSBLZXlEb3duIGV2ZW50IChvdGhlcndpc2UgdGhlIENMUiBzaG91bGQgaGFuZGxlKS4gSWYgdHJ1ZSBtYWdpYyB3aWxsIGhhbmRsZSBlbHNlIENMUiB3aWxsIGhhbmRsZS48L3JldHVybnM+XHJcbiAgcHJvY2Vzc0tleURvd24oZ3VpTWdGb3JtOiBHdWlNZ0Zvcm0sIGd1aU1nQ3RybDogR3VpTWdDb250cm9sLCBtb2RpZmllcjogTW9kaWZpZXJzLFxyXG4gICAgICAgICAgICAgICAgIGtleUNvZGU6IG51bWJlciwgc3RhcnQ6IG51bWJlciwgZW5kOiBudW1iZXIsIHRleHQ6IHN0cmluZyxcclxuICAgICAgICAgICAgICAgICBpc0FjdENoYXI6IGJvb2xlYW4sIHN1Z2dlc3RlZFZhbHVlOiBzdHJpbmcsXHJcbiAgICAgICAgICAgICAgICAgaGFuZGxlZDogYm9vbGVhbik6IGJvb2xlYW4ge1xyXG4gICAgLy8gdGltZSBvZiBsYXN0IHVzZXIgYWN0aW9uIGZvciBJRExFIGZ1bmN0aW9uXHJcbiAgICBMYXN0Rm9jdXNlZE1hbmFnZXIuSW5zdGFuY2UuTGFzdEFjdGlvblRpbWUgPSBNaXNjLmdldFN5c3RlbU1pbGxpc2Vjb25kcygpO1xyXG5cclxuICAgIC8vIERPV04gb3IgVVAgaW52b2tlZCBvbiBhIFNFTEVDVC9SQURJTyBjb250cm9sXHJcbiAgICByZXR1cm4gc3VwZXIucHJvY2Vzc0tleURvd24oZ3VpTWdGb3JtLCBndWlNZ0N0cmwsIG1vZGlmaWVyLCBrZXlDb2RlLCBzdGFydCwgZW5kLCB0ZXh0LCBpc0FjdENoYXIsIHN1Z2dlc3RlZFZhbHVlLCAgaGFuZGxlZCk7XHJcbiAgfVxyXG5cclxuXHJcblxyXG5cclxuICAvLy8gPHN1bW1hcnk+cGVlayB0aGUgdmFsdWUgb2YgdGhlIFwiZW5kIG9mIHdvcmtcIiBmbGFnLjwvc3VtbWFyeT5cclxuICBwcml2YXRlIHN0YXRpYyBwZWVrRW5kT2ZXb3JrKCk6IGJvb2xlYW4ge1xyXG4gICAgcmV0dXJuIEV2ZW50c01hbmFnZXIuSW5zdGFuY2UuZ2V0RW5kT2ZXb3JrKCk7XHJcbiAgfVxyXG5cclxuICAvLy8gPHN1bW1hcnk+VGhpcyBtZXRob2QgcmV0dXJucyBNYWluIHByb2dyYW0gZm9yIGEgY3RsPC9zdW1tYXJ5PlxyXG4gIC8vLyA8cGFyYW0gbmFtZT1cImNvbnRleHRJRFwiPmFjdGl2ZS90YXJnZXQgY29udGV4dCAoaXJlbGV2YW50IGZvciBSQyk8L3BhcmFtPlxyXG4gIC8vLyA8cGFyYW0gbmFtZT1cImN0bElkeFwiPjwvcGFyYW0+XHJcbiAgLy8vIDxyZXR1cm5zPjwvcmV0dXJucz5cclxuICBwcml2YXRlIHN0YXRpYyBnZXRNYWluUHJvZ3JhbShjb250ZXh0SUQ6IG51bWJlciwgY3RsSWR4OiBudW1iZXIpOiBUYXNrIHtcclxuICAgIHJldHVybiBNR0RhdGFDb2xsZWN0aW9uLkluc3RhbmNlLkdldE1haW5Qcm9nQnlDdGxJZHgoY29udGV4dElELCBjdGxJZHgpO1xyXG4gIH1cclxuXHJcbiAgLy8vIDxzdW1tYXJ5PlxyXG4gIC8vLyBHZXQgdGhlIFJ1bnRpbWVDb250ZXh0IG9mIENsaWVudE1hbmFnZXIuXHJcbiAgLy8vIDwvc3VtbWFyeT5cclxuICAvLy8gPHJldHVybnM+PC9yZXR1cm5zPlxyXG4gIHByaXZhdGUgc3RhdGljIEdldFJ1bnRpbWVDb250ZXh0KGNvbnRleHRJRDogc3RyaW5nKTogUnVudGltZUNvbnRleHRCYXNlIHtcclxuICAgIHJldHVybiBSdW50aW1lQ29udGV4dEJhc2UuSW5zdGFuY2U7XHJcbiAgfVxyXG5cclxuICAvLy8gPHN1bW1hcnk+XHJcbiAgLy8vIFNhdmVzIHRoZSBsYXN0IGNsaWNrZWQgY29udHJvbCBpbiBhIHJlc3BlY3RpdmUgUnVudGltZUNvbnRleHRCYXNlLlxyXG4gIC8vLyA8L3N1bW1hcnk+XHJcbiAgLy8vIDxwYXJhbSBuYW1lPVwiZ3VpTWdDb250cm9sXCI+PC9wYXJhbT5cclxuICAvLy8gPHBhcmFtIG5hbWU9XCJjdHJsTmFtZVwiPjwvcGFyYW0+XHJcbiAgcHJpdmF0ZSBzdGF0aWMgU2F2ZUxhc3RDbGlja2VkQ29udHJvbE5hbWUoY3RybE5hbWU6IHN0cmluZyk6IHZvaWQge1xyXG4gICAgUnVudGltZUNvbnRleHRCYXNlLkluc3RhbmNlLkxhc3RDbGlja2VkQ3RybE5hbWUgPSBjdHJsTmFtZTtcclxuICB9XHJcblxyXG4gIC8vLyA8c3VtbWFyeT5cclxuICAvLy8gU2F2ZXMgdGhlIGxhc3QgY2xpY2tlZCBpbmZvcm1hdGlvbi5cclxuICAvLy8gPC9zdW1tYXJ5PlxyXG4gIC8vLyA8cGFyYW0gbmFtZT1cImd1aU1nRm9ybVwiPjwvcGFyYW0+XHJcbiAgLy8vIDxwYXJhbSBuYW1lPVwiY29udHJvbE5hbWVcIj48L3BhcmFtPlxyXG4gIC8vLyA8cGFyYW0gbmFtZT1cIlhcIj48L3BhcmFtPlxyXG4gIC8vLyA8cGFyYW0gbmFtZT1cIllcIj48L3BhcmFtPlxyXG4gIC8vLyA8cGFyYW0gbmFtZT1cIm9mZnNldFhcIj48L3BhcmFtPlxyXG4gIC8vLyA8cGFyYW0gbmFtZT1cIm9mZnNldFlcIj48L3BhcmFtPlxyXG4gIC8vLyA8cGFyYW0gbmFtZT1cIkxhc3RDbGlja0Nvb3JkaW5hdGVzQXJlSW5QaXhlbHNcIj48L3BhcmFtPlxyXG4gIHByaXZhdGUgc3RhdGljIFNhdmVMYXN0Q2xpY2tJbmZvKGNvbnRyb2xOYW1lOiBzdHJpbmcsIFg6IG51bWJlciwgWTogbnVtYmVyLCBvZmZzZXRYOiBudW1iZXIsIG9mZnNldFk6IG51bWJlciwgTGFzdENsaWNrQ29vcmRpbmF0ZXNBcmVJblBpeGVsczogYm9vbGVhbik6IHZvaWQge1xyXG4gICAgUnVudGltZUNvbnRleHRCYXNlLkluc3RhbmNlLlNhdmVMYXN0Q2xpY2tJbmZvKGNvbnRyb2xOYW1lLCBYLCBZLCBvZmZzZXRYLCBvZmZzZXRZLCBMYXN0Q2xpY2tDb29yZGluYXRlc0FyZUluUGl4ZWxzKTtcclxuICB9XHJcblxyXG5cclxuICAvLy8gPHN1bW1hcnk+XHJcbiAgLy8vIFNob3VsZCB3ZSBzaG93IGxvZ29uIHdpbmRvdyBSVEwgb3Igbm90LlxyXG4gIC8vLyA8L3N1bW1hcnk+XHJcbiAgLy8vIDxyZXR1cm5zPjwvcmV0dXJucz5cclxuICBwcml2YXRlIHN0YXRpYyBJc0xvZ29uUlRMKCk6IGJvb2xlYW4ge1xyXG4gICAgcmV0dXJuIFNlcnZlckNvbmZpZy5JbnN0YW5jZS5Jc0xvZ29uUlRMKCk7XHJcbiAgfVxyXG5cclxuICAvLy8gPHN1bW1hcnk+XHJcbiAgLy8vIDwvc3VtbWFyeT5cclxuICBwcml2YXRlIHN0YXRpYyBTaG93U2Vzc2lvblN0YXRpc3RpY3MoKTogdm9pZCB7XHJcbiAgfVxyXG5cclxuICAvLy8gPHN1bW1hcnk+XHJcbiAgLy8vIEluIFJJQSwgZW50ZXIgd2lsbCBjYXVzZSBhIGtleWJvYXJkIGV2ZW50IGFjY29yZGluZyB0byB0aGUgT1MuXHJcbiAgLy8vIFRoaXMgaXMgbW9zdGx5IGltcG9ydGFudCBmb3IgZGVmYXVsdCBidXR0b24sIHdoZXJlIEVOVEVSIG9uIGFueSBjb250cm9sIHRyaWdnZXJzIGNsaWNrIGV2ZW50IG9uIHRoZSBidXR0b24uXHJcbiAgLy8vIDwvc3VtbWFyeT5cclxuICAvLy8gPHJldHVybnM+PC9yZXR1cm5zPlxyXG4gIHByaXZhdGUgc3RhdGljIFNob3VsZEFkZEVudGVyQXNLZXlFdmVudCgpOiBib29sZWFuIHtcclxuICAgIHJldHVybiBmYWxzZTtcclxuICB9XHJcblxyXG5cclxufVxyXG4iXX0=
@@ -1,2 +1,2 @@
1
- export {};
1
+ export {};
2
2
  //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiSUNvbW1hbmRzVGFibGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9lbmdpbmUvc3JjL0lDb21tYW5kc1RhYmxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBTdHJpbmdCdWlsZGVyIH0gZnJvbSBcIkBtYWdpYy14cGEvbXNjb3JlbGliXCI7XHJcbmltcG9ydCB7IFhtbFBhcnNlciB9IGZyb20gXCJAbWFnaWMteHBhL3V0aWxzXCI7XHJcbmltcG9ydCB7IElDbGllbnRDb21tYW5kIH0gZnJvbSBcIi4vY29tbWFuZHMvSUNsaWVudENvbW1hbmRcIjtcclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgSUNvbW1hbmRzVGFibGUge1xyXG4gIGZpbGxEYXRhKHBhcnNlcjogWG1sUGFyc2VyKTogdm9pZDtcclxuXHJcbiAgYnVpbGRYTUwobWVzc2FnZTogU3RyaW5nQnVpbGRlcik6IHZvaWQ7XHJcblxyXG4gIEFkZChjbWQ6IElDbGllbnRDb21tYW5kKTogdm9pZDtcclxuXHJcbiAgQ2xlYXIoKTogdm9pZDtcclxufVxyXG4iXX0=
@@ -0,0 +1,122 @@
1
+ import { NString } from '@magic-xpa/mscorelib';
2
+ import { GuiConstants } from '@magic-xpa/gui';
3
+ import { ConstInterface } from './ConstInterface';
4
+ import { HttpManager } from './http/HttpManager';
5
+ export class ServerConfig {
6
+ static Instance = new ServerConfig();
7
+ constructor() {
8
+ }
9
+ _executionProps;
10
+ _protocol = null;
11
+ _server = null;
12
+ _httpReq = null;
13
+ _appName = null;
14
+ _serverUrl = null;
15
+ Init(obj) {
16
+ this._executionProps = obj;
17
+ }
18
+ ShouldDisplayGenericError() {
19
+ return this._executionProps.DisplayGenericError;
20
+ }
21
+ setUsername(username) {
22
+ this._executionProps[ConstInterface.MG_TAG_USERNAME] = username;
23
+ }
24
+ setPassword(password) {
25
+ this._executionProps[ConstInterface.MG_TAG_PASSWORD] = password;
26
+ }
27
+ setSkipAuthenticationDialog(value) {
28
+ this._executionProps[ConstInterface.REQ_SKIP_AUTHENTICATION] = value.toString();
29
+ }
30
+ setGlobalParams(val) {
31
+ if (val !== null)
32
+ this._executionProps[ConstInterface.MG_TAG_GLOBALPARAMS] = val;
33
+ else
34
+ delete this._executionProps[ConstInterface.MG_TAG_GLOBALPARAMS];
35
+ }
36
+ getGlobalParams() {
37
+ let ret = this._executionProps[ConstInterface.MG_TAG_GLOBALPARAMS];
38
+ return typeof ret === "undefined" ? null : ret;
39
+ }
40
+ getProtocol() {
41
+ if (this._protocol === null)
42
+ this._protocol = this._executionProps.protocol;
43
+ return this._protocol;
44
+ }
45
+ getServer() {
46
+ if (this._server === null)
47
+ this._server = this._executionProps.server;
48
+ return this._server;
49
+ }
50
+ getHttpReq() {
51
+ if (this._httpReq === null) {
52
+ this._httpReq = this._executionProps.requester;
53
+ if (this._httpReq !== null) {
54
+ while (this._httpReq.startsWith("/"))
55
+ this._httpReq = this._httpReq.substr(1);
56
+ while (this._httpReq.endsWith("/"))
57
+ this._httpReq = this._httpReq.substr(0, this._httpReq.length - 1);
58
+ }
59
+ }
60
+ return this._httpReq;
61
+ }
62
+ getAppName() {
63
+ if (this._appName === null)
64
+ this._appName = this._executionProps.appname;
65
+ return this._appName;
66
+ }
67
+ getInternalLogLevel() {
68
+ return this._executionProps.InternalLogLevel;
69
+ }
70
+ setInternalLogLevel(value) {
71
+ this._executionProps.InternalLogLevel = value;
72
+ }
73
+ getInternalLogSync() {
74
+ return this._executionProps.InternalLogSync;
75
+ }
76
+ getUsername() {
77
+ let ret = this._executionProps[ConstInterface.MG_TAG_USERNAME];
78
+ return typeof ret === "undefined" ? null : ret;
79
+ }
80
+ getPassword() {
81
+ let ret = this._executionProps[ConstInterface.MG_TAG_PASSWORD];
82
+ return typeof ret === "undefined" ? null : ret;
83
+ }
84
+ getAssetsURL() {
85
+ let ret = this._executionProps[ConstInterface.MG_TAG_ASSETS_URL];
86
+ return (typeof ret === "undefined" || ret === "") ? null : ret;
87
+ }
88
+ getCtxGroup() {
89
+ let ret = this._executionProps[ConstInterface.CTX_GROUP];
90
+ return typeof ret === "undefined" ? null : ret;
91
+ }
92
+ setCtxGroup(CtxGroup) {
93
+ this._executionProps[ConstInterface.CTX_GROUP] = CtxGroup;
94
+ }
95
+ getSkipAuthenticationDialog() {
96
+ let property = this._executionProps[ConstInterface.REQ_SKIP_AUTHENTICATION];
97
+ return !NString.IsNullOrEmpty(property) && property === true.toString();
98
+ }
99
+ GetFirstHttpRequestTimeout() {
100
+ let firstHttpTimeout = this._executionProps.FirstHTTPRequestTimeout;
101
+ return ((firstHttpTimeout > 0) ? (firstHttpTimeout * 1000) : HttpManager.DEFAULT_OFFLINE_HTTP_COMMUNICATION_TIMEOUT);
102
+ }
103
+ GetExecutionProperty(propName) {
104
+ let ret = this._executionProps[propName];
105
+ return typeof ret === "undefined" ? null : ret;
106
+ }
107
+ getServerURL() {
108
+ if (this._serverUrl === null) {
109
+ let httpReq = ServerConfig.Instance.getHttpReq();
110
+ if (httpReq !== null && httpReq.toLowerCase().startsWith("http"))
111
+ this._serverUrl = httpReq;
112
+ else
113
+ this._serverUrl = ServerConfig.Instance.getProtocol() + "://" + ServerConfig.Instance.getServer() + "/" + ServerConfig.Instance.getHttpReq();
114
+ }
115
+ return this._serverUrl;
116
+ }
117
+ IsLogonRTL() {
118
+ let text = ServerConfig.Instance.GetExecutionProperty[GuiConstants.STR_LOGON_RTL];
119
+ return text !== null && typeof text !== "undefined" && text === "Y";
120
+ }
121
+ }
122
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiU2VydmVyQ29uZmlnLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZW5naW5lL3NyYy9TZXJ2ZXJDb25maWcudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUU5QyxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFDbEQsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBRWpELE1BQU0sT0FBTyxZQUFZO0lBQ3ZCLE1BQU0sQ0FBQyxRQUFRLEdBQWlCLElBQUksWUFBWSxFQUFFLENBQUM7SUFFbkQ7SUFDQSxDQUFDO0lBRU8sZUFBZSxDQUFnQjtJQUUvQixTQUFTLEdBQVcsSUFBSSxDQUFDO0lBQ3pCLE9BQU8sR0FBVyxJQUFJLENBQUM7SUFDdkIsUUFBUSxHQUFXLElBQUksQ0FBQztJQUN4QixRQUFRLEdBQVcsSUFBSSxDQUFDO0lBQ3hCLFVBQVUsR0FBVyxJQUFJLENBQUM7SUFFbEMsSUFBSSxDQUFDLEdBQWtCO1FBQ3JCLElBQUksQ0FBQyxlQUFlLEdBQUcsR0FBRyxDQUFDO0lBQzdCLENBQUM7SUFPRCx5QkFBeUI7UUFDdkIsT0FBTyxJQUFJLENBQUMsZUFBZSxDQUFDLG1CQUFtQixDQUFDO0lBQ2xELENBQUM7SUFFRCxXQUFXLENBQUMsUUFBZ0I7UUFDMUIsSUFBSSxDQUFDLGVBQWUsQ0FBQyxjQUFjLENBQUMsZUFBZSxDQUFDLEdBQUcsUUFBUSxDQUFDO0lBQ2xFLENBQUM7SUFFRCxXQUFXLENBQUMsUUFBZ0I7UUFDMUIsSUFBSSxDQUFDLGVBQWUsQ0FBQyxjQUFjLENBQUMsZUFBZSxDQUFDLEdBQUcsUUFBUSxDQUFDO0lBQ2xFLENBQUM7SUFFRCwyQkFBMkIsQ0FBQyxLQUFjO1FBQ3hDLElBQUksQ0FB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QVFELG9CQUFvQixDQUFDLFFBQWdCO1FBQ25DLElBQUksR0FBRyxHQUFHLElBQUksQ0FBQyxlQUFlLENBQUMsUUFBUSxDQUFDLENBQUM7UUFDekMsT0FBTyxPQUFPLEdBQUcsS0FBSyxXQUFXLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDO0lBQ2pELENBQUM7SUFLRCxZQUFZO1FBQ1YsSUFBSSxJQUFJLENBQUMsVUFBVSxLQUFLLElBQUksRUFBRTtZQUU1QixJQUFJLE9BQU8sR0FBVyxZQUFZLENBQUMsUUFBUSxDQUFDLFVBQVUsRUFBRSxDQUFDO1lBRXpELElBQUksT0FBTyxLQUFLLElBQUksSUFBSSxPQUFPLENBQUMsV0FBVyxFQUFFLENBQUMsVUFBVSxDQUFDLE1BQU0sQ0FBQztnQkFDOUQsSUFBSSxDQUFDLFVBQVUsR0FBRyxPQUFPLENBQUM7O2dCQUUxQixJQUFJLENBQUMsVUFBVSxHQUFHLFlBQVksQ0FBQyxRQUFRLENBQUMsV0FBVyxFQUFFLEdBQUcsS0FBSyxHQUFHLFlBQVksQ0FBQyxRQUFRLENBQUMsU0FBUyxFQUFFLEdBQUcsR0FBRyxHQUFHLFlBQVksQ0FBQyxRQUFRLENBQUMsVUFBVSxFQUFFLENBQUM7U0FDaEo7UUFFRCxPQUFPLElBQUksQ0FBQyxVQUFVLENBQUM7SUFDekIsQ0FBQztJQUVELFVBQVU7UUFDUixJQUFJLElBQUksR0FBVyxZQUFZLENBQUMsUUFBUSxDQUFDLG9CQUFvQixDQUFDLFlBQVksQ0FBQyxhQUFhLENBQUMsQ0FBQztRQUMxRixPQUFPLElBQUksS0FBSyxJQUFJLElBQUksT0FBTyxJQUFJLEtBQUssV0FBVyxJQUFJLElBQUksS0FBSyxHQUFHLENBQUM7SUFDdEUsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE5TdHJpbmcgfSBmcm9tICdAbWFnaWMteHBhL21zY29yZWxpYic7XHJcbmltcG9ydCB7IEd1aUNvbnN0YW50cyB9IGZyb20gJ0BtYWdpYy14cGEvZ3VpJztcclxuaW1wb3J0IHsgSVNlcnZlckNvbmZpZyB9IGZyb20gJy4vdXRpbC9JU2VydmVyQ29uZmlnJztcclxuaW1wb3J0IHsgQ29uc3RJbnRlcmZhY2UgfSBmcm9tICcuL0NvbnN0SW50ZXJmYWNlJztcclxuaW1wb3J0IHsgSHR0cE1hbmFnZXIgfSBmcm9tICcuL2h0dHAvSHR0cE1hbmFnZXInO1xyXG5cclxuZXhwb3J0IGNsYXNzIFNlcnZlckNvbmZpZyB7XHJcbiAgc3RhdGljIEluc3RhbmNlOiBTZXJ2ZXJDb25maWcgPSBuZXcgU2VydmVyQ29uZmlnKCk7XHJcblxyXG4gIHByaXZhdGUgY29uc3RydWN0b3IoKSB7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIF9leGVjdXRpb25Qcm9wczogSVNlcnZlckNvbmZpZztcclxuXHJcbiAgcHJpdmF0ZSBfcHJvdG9jb2w6IHN0cmluZyA9IG51bGw7XHJcbiAgcHJpdmF0ZSBfc2VydmVyOiBzdHJpbmcgPSBudWxsO1xyXG4gIHByaXZhdGUgX2h0dHBSZXE6IHN0cmluZyA9IG51bGw7XHJcbiAgcHJpdmF0ZSBfYXBwTmFtZTogc3RyaW5nID0gbnVsbDtcclxuICBwcml2YXRlIF9zZXJ2ZXJVcmw6IHN0cmluZyA9IG51bGw7XHJcblxyXG4gIEluaXQob2JqOiBJU2VydmVyQ29uZmlnKSB7XHJcbiAgICB0aGlzLl9leGVjdXRpb25Qcm9wcyA9IG9iajtcclxuICB9XHJcblxyXG4gIC8vLyA8c3VtbWFyeT5cclxuICAvLy8gSWYgYSBzZXJ2ZXIgZXJyb3Igb2NjdXJyZWQsIGRpc3BsYXkgYSBnZW5lcmljIGVycm9yIG1lc3NhZ2UgYW5kIGluc3RlYWQgb2YgdGhlIG1lc3NhZ2UgZnJvbSB0aGUgc2VydmVyLlxyXG4gIC8vLyBUcnVlIGJ5IGRlZmF1bHQuXHJcbiAgLy8vIDwvc3VtbWFyeT5cclxuICAvLy8gPHJldHVybnM+PC9yZXR1cm5zPlxyXG4gIFNob3VsZERpc3BsYXlHZW5lcmljRXJyb3IoKTogYm9vbGVhbiB7XHJcbiAgICByZXR1cm4gdGhpcy5fZXhlY3V0aW9uUHJvcHMuRGlzcGxheUdlbmVyaWNFcnJvcjtcclxuICB9XHJcblxyXG4gIHNldFVzZXJuYW1lKHVzZXJuYW1lOiBzdHJpbmcpOiB2b2lkIHtcclxuICAgIHRoaXMuX2V4ZWN1dGlvblByb3BzW0NvbnN0SW50ZXJmYWNlLk1HX1RBR19VU0VSTkFNRV0gPSB1c2VybmFtZTtcclxuICB9XHJcblxyXG4gIHNldFBhc3N3b3JkKHBhc3N3b3JkOiBzdHJpbmcpOiB2b2lkIHtcclxuICAgIHRoaXMuX2V4ZWN1dGlvblByb3BzW0NvbnN0SW50ZXJmYWNlLk1HX1RBR19QQVNTV09SRF0gPSBwYXNzd29yZDtcclxuICB9XHJcblxyXG4gIHNldFNraXBBdXRoZW50aWNhdGlvbkRpYWxvZyh2YWx1ZTogYm9vbGVhbik6IHZvaWQge1xyXG4gICAgdGhpcy5fZXhlY3V0aW9uUHJvcHNbQ29uc3RJbnRlcmZhY2UuUkVRX1NLSVBfQVVUSEVOVElDQVRJT05dID0gdmFsdWUudG9TdHJpbmcoKTtcclxuICB9XHJcblxyXG4gIHNldEdsb2JhbFBhcmFtcyh2YWw6IHN0cmluZyk6IHZvaWQge1xyXG4gICAgaWYgKHZhbCAhPT0gbnVsbClcclxuICAgICAgdGhpcy5fZXhlY3V0aW9uUHJvcHNbQ29uc3RJbnRlcmZhY2UuTUdfVEFHX0dMT0JBTFBBUkFNU10gPSB2YWw7XHJcbiAgICBlbHNlXHJcbiAgICAgIGRlbGV0ZSB0aGlzLl9leGVjdXRpb25Qcm9wc1tDb25zdEludGVyZmFjZS5NR19UQUdfR0xPQkFMUEFSQU1TXTtcclxuICB9XHJcblxyXG4gIGdldEdsb2JhbFBhcmFtcygpOiBzdHJpbmcge1xyXG4gICAgbGV0IHJldCA9IHRoaXMuX2V4ZWN1dGlvblByb3BzW0NvbnN0SW50ZXJmYWNlLk1HX1RBR19HTE9CQUxQQVJBTVNdO1xyXG4gICAgcmV0dXJuIHR5cGVvZiByZXQgPT09IFwidW5kZWZpbmVkXCIgPyBudWxsIDogcmV0O1xyXG4gIH1cclxuXHJcbiAgZ2V0UHJvdG9jb2woKTogc3RyaW5nIHtcclxuICAgIGlmICh0aGlzLl9wcm90b2NvbCA9PT0gbnVsbClcclxuICAgICAgdGhpcy5fcHJvdG9jb2wgPSB0aGlzLl9leGVjdXRpb25Qcm9wcy5wcm90b2NvbDtcclxuXHJcbiAgICByZXR1cm4gdGhpcy5fcHJvdG9jb2w7XHJcbiAgfVxyXG5cclxuICBnZXRTZXJ2ZXIoKTogc3RyaW5nIHtcclxuICAgIGlmICh0aGlzLl9zZXJ2ZXIgPT09IG51bGwpXHJcbiAgICAgIHRoaXMuX3NlcnZlciA9IHRoaXMuX2V4ZWN1dGlvblByb3BzLnNlcnZlcjtcclxuXHJcbiAgICByZXR1cm4gdGhpcy5fc2VydmVyO1xyXG4gIH1cclxuXHJcbiAgZ2V0SHR0cFJlcSgpOiBzdHJpbmcge1xyXG4gICAgaWYgKHRoaXMuX2h0dHBSZXEgPT09IG51bGwpIHtcclxuICAgICAgdGhpcy5faHR0cFJlcSA9IHRoaXMuX2V4ZWN1dGlvblByb3BzLnJlcXVlc3RlcjtcclxuXHJcbiAgICAgIC8vIHJlbW92ZSBsZWFkaW5nIHNsYXNoZXNcclxuICAgICAgaWYgKHRoaXMuX2h0dHBSZXEgIT09IG51bGwpIHtcclxuICAgICAgICB3aGlsZSAodGhpcy5faHR0cFJlcS5zdGFydHNXaXRoKFwiL1wiKSlcclxuICAgICAgICAgIHRoaXMuX2h0dHBSZXEgPSB0aGlzLl9odHRwUmVxLnN1YnN0cigxKTtcclxuXHJcbiAgICAgICAgd2hpbGUgKHRoaXMuX2h0dHBSZXEuZW5kc1dpdGgoXCIvXCIpKVxyXG4gICAgICAgICAgdGhpcy5faHR0cFJlcSA9IHRoaXMuX2h0dHBSZXEuc3Vic3RyKDAsIHRoaXMuX2h0dHBSZXEubGVuZ3RoIC0gMSk7XHJcbiAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICByZXR1cm4gdGhpcy5faHR0cFJlcTtcclxuICB9XHJcblxyXG4gIGdldEFwcE5hbWUoKTogc3RyaW5nIHtcclxuICAgIGlmICh0aGlzLl9hcHBOYW1lID09PSBudWxsKVxyXG4gICAgICB0aGlzLl9hcHBOYW1lID0gdGhpcy5fZXhlY3V0aW9uUHJvcHMuYXBwbmFtZTtcclxuXHJcbiAgICByZXR1cm4gdGhpcy5fYXBwTmFtZTtcclxuICB9XHJcblxyXG4gIGdldEludGVybmFsTG9nTGV2ZWwoKTogc3RyaW5nIHtcclxuICAgIHJldHVybiB0aGlzLl9leGVjdXRpb25Qcm9wcy5JbnRlcm5hbExvZ0xldmVsO1xyXG4gIH1cclxuXHJcbiAgc2V0SW50ZXJuYWxMb2dMZXZlbCh2YWx1ZTogc3RyaW5nKTogdm9pZCB7XHJcbiAgICB0aGlzLl9leGVjdXRpb25Qcm9wcy5JbnRlcm5hbExvZ0xldmVsID0gdmFsdWU7XHJcbiAgfVxyXG5cclxuICBnZXRJbnRlcm5hbExvZ1N5bmMoKTogc3RyaW5nIHtcclxuICAgIHJldHVybiB0aGlzLl9leGVjdXRpb25Qcm9wcy5JbnRlcm5hbExvZ1N5bmM7XHJcbiAgfVxyXG5cclxuICBnZXRVc2VybmFtZSgpOiBzdHJpbmcge1xyXG4gICAgbGV0IHJldCA9IHRoaXMuX2V4ZWN1dGlvblByb3BzW0NvbnN0SW50ZXJmYWNlLk1HX1RBR19VU0VSTkFNRV07XHJcbiAgICByZXR1cm4gdHlwZW9mIHJldCA9PT0gXCJ1bmRlZmluZWRcIiA/IG51bGwgOiByZXQ7XHJcbiAgfVxyXG5cclxuICBnZXRQYXNzd29yZCgpOiBzdHJpbmcge1xyXG4gICAgbGV0IHJldCA9IHRoaXMuX2V4ZWN1dGlvblByb3BzW0NvbnN0SW50ZXJmYWNlLk1HX1RBR19QQVNTV09SRF07XHJcbiAgICByZXR1cm4gdHlwZW9mIHJldCA9PT0gXCJ1bmRlZmluZWRcIiA/IG51bGwgOiByZXQ7XHJcbiAgfVxyXG5cclxuICBnZXRBc3NldHNVUkwoKTogc3RyaW5nIHtcclxuICAgIGxldCByZXQgPSB0aGlzLl9leGVjdXRpb25Qcm9wc1tDb25zdEludGVyZmFjZS5NR19UQUdfQVNTRVRTX1VSTF07XHJcbiAgICByZXR1cm4gKHR5cGVvZiByZXQgPT09IFwidW5kZWZpbmVkXCIgfHwgcmV0ID09PSBcIlwiKSA/IG51bGwgOiByZXQ7XHJcbiAgfVxyXG5cclxuICBnZXRDdHhHcm91cCgpOiBzdHJpbmcge1xyXG4gICAgbGV0IHJldCA9IHRoaXMuX2V4ZWN1dGlvblByb3BzW0NvbnN0SW50ZXJmYWNlLkNUWF9HUk9VUF07XHJcbiAgICByZXR1cm4gdHlwZW9mIHJldCA9PT0gXCJ1bmRlZmluZWRcIiA/IG51bGwgOiByZXQ7XHJcbiAgfVxyXG5cclxuICBzZXRDdHhHcm91cChDdHhHcm91cDogc3RyaW5nKTogdm9pZCB7XHJcbiAgICB0aGlzLl9leGVjdXRpb25Qcm9wc1tDb25zdEludGVyZmFjZS5DVFhfR1JPVVBdID0gQ3R4R3JvdXA7XHJcbiAgfVxyXG5cclxuICBnZXRTa2lwQXV0aGVudGljYXRpb25EaWFsb2coKTogYm9vbGVhbiB7XHJcbiAgICBsZXQgcHJvcGVydHk6IHN0cmluZyA9IHRoaXMuX2V4ZWN1dGlvblByb3BzW0NvbnN0SW50ZXJmYWNlLlJFUV9TS0lQX0FVVEhFTlRJQ0FUSU9OXTtcclxuICAgIHJldHVybiAhTlN0cmluZy5Jc051bGxPckVtcHR5KHByb3BlcnR5KSAmJiBwcm9wZXJ0eSA9PT0gdHJ1ZS50b1N0cmluZygpO1xyXG4gIH1cclxuXHJcbiAgR2V0Rmlyc3RIdHRwUmVxdWVzdFRpbWVvdXQoKTogbnVtYmVyIHtcclxuICAgIGxldCBmaXJzdEh0dHBUaW1lb3V0OiBudW1iZXIgPSB0aGlzLl9leGVjdXRpb25Qcm9wcy5GaXJzdEhUVFBSZXF1ZXN0VGltZW91dDtcclxuICAgIHJldHVybiA8bnVtYmVyPigoZmlyc3RIdHRwVGltZW91dCA+IDApID8gKGZpcnN0SHR0cFRpbWVvdXQgKiAxMDAwKSA6IEh0dHBNYW5hZ2VyLkRFRkFVTFRfT0ZGTElORV9IVFRQX0NPTU1VTklDQVRJT05fVElNRU9VVCk7XHJcbiAgfVxyXG5cclxuXHJcbiAgLy8vIDxzdW1tYXJ5PlxyXG4gIC8vLyBSZXRyaWV2ZXMgZXhlY3V0aW9uIHByb3BlcnR5IHZhbHVlIGJ5IGl0J3MgbmFtZVxyXG4gIC8vLyA8L3N1bW1hcnk+XHJcbiAgLy8vIDxwYXJhbSBuYW1lPVwicHJvcGVydHlOYW1lXCI+PC9wYXJhbT5cclxuICAvLy8gPHJldHVybnM+cHJvcGVydHkgdmFsdWUgYXMgc3RyaW5nPC9yZXR1cm5zPlxyXG4gIEdldEV4ZWN1dGlvblByb3BlcnR5KHByb3BOYW1lOiBzdHJpbmcpOiBzdHJpbmcge1xyXG4gICAgbGV0IHJldCA9IHRoaXMuX2V4ZWN1dGlvblByb3BzW3Byb3BOYW1lXTtcclxuICAgIHJldHVybiB0eXBlb2YgcmV0ID09PSBcInVuZGVmaW5lZFwiID8gbnVsbCA6IHJldDtcclxuICB9XHJcblxyXG5cclxuICAvLy8gPHN1bW1hcnk+IHJldHVybnMgdGhlIFVSTCBuZWVkZWQgdG8gY29ubmVjdCB0byB0aGUgc2VydmVyPC9zdW1tYXJ5PlxyXG4gIC8vLyA8cmV0dXJucz4gc2VydmVyIFVSTDwvcmV0dXJucz5cclxuICBnZXRTZXJ2ZXJVUkwoKTogc3RyaW5nIHtcclxuICAgIGlmICh0aGlzLl9zZXJ2ZXJVcmwgPT09IG51bGwpIHtcclxuICAgICAgLy8gY29uc3RydWN0IHRoZSBVUkwgc3RyaW5nXHJcbiAgICAgIGxldCBodHRwUmVxOiBzdHJpbmcgPSBTZXJ2ZXJDb25maWcuSW5zdGFuY2UuZ2V0SHR0cFJlcSgpO1xyXG5cclxuICAgICAgaWYgKGh0dHBSZXEgIT09IG51bGwgJiYgaHR0cFJlcS50b0xvd2VyQ2FzZSgpLnN0YXJ0c1dpdGgoXCJodHRwXCIpKVxyXG4gICAgICAgIHRoaXMuX3NlcnZlclVybCA9IGh0dHBSZXE7XHJcbiAgICAgIGVsc2VcclxuICAgICAgICB0aGlzLl9zZXJ2ZXJVcmwgPSBTZXJ2ZXJDb25maWcuSW5zdGFuY2UuZ2V0UHJvdG9jb2woKSArIFwiOi8vXCIgKyBTZXJ2ZXJDb25maWcuSW5zdGFuY2UuZ2V0U2VydmVyKCkgKyBcIi9cIiArIFNlcnZlckNvbmZpZy5JbnN0YW5jZS5nZXRIdHRwUmVxKCk7XHJcbiAgICB9XHJcblxyXG4gICAgcmV0dXJuIHRoaXMuX3NlcnZlclVybDtcclxuICB9XHJcblxyXG4gIElzTG9nb25SVEwoKTogYm9vbGVhbiB7XHJcbiAgICBsZXQgdGV4dDogc3RyaW5nID0gU2VydmVyQ29uZmlnLkluc3RhbmNlLkdldEV4ZWN1dGlvblByb3BlcnR5W0d1aUNvbnN0YW50cy5TVFJfTE9HT05fUlRMXTtcclxuICAgIHJldHVybiB0ZXh0ICE9PSBudWxsICYmIHR5cGVvZiB0ZXh0ICE9PSBcInVuZGVmaW5lZFwiICYmIHRleHQgPT09IFwiWVwiO1xyXG4gIH1cclxufVxyXG4iXX0=
@@ -1,20 +1,20 @@
1
- import { Modifiers } from "@magic-xpa/gui";
2
- export function getGuiEventObj(eventType, controlName, line, fromButton = false) {
3
- return {
4
- EventType: eventType,
5
- TaskID: null,
6
- ControlName: controlName,
7
- Line: line,
8
- PageSize: 0,
9
- Value: null,
10
- RouterPath: null,
11
- RouterOutletName: null,
12
- RouterParams: null,
13
- modifiers: Modifiers.MODIFIER_NONE,
14
- keyCode: 0,
15
- externalValue: null,
16
- param: null,
17
- fromButton: fromButton
18
- };
19
- }
1
+ import { Modifiers } from "@magic-xpa/gui";
2
+ export function getGuiEventObj(eventType, controlName, line, fromButton = false) {
3
+ return {
4
+ EventType: eventType,
5
+ TaskID: null,
6
+ ControlName: controlName,
7
+ Line: line,
8
+ PageSize: 0,
9
+ Value: null,
10
+ RouterPath: null,
11
+ RouterOutletName: null,
12
+ RouterParams: null,
13
+ modifiers: Modifiers.MODIFIER_NONE,
14
+ keyCode: 0,
15
+ externalValue: null,
16
+ param: null,
17
+ fromButton: fromButton
18
+ };
19
+ }
20
20
  //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiSUd1aUV2ZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZW5naW5lL3NyYy9icmlkZ2UvSUd1aUV2ZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQW1CM0MsTUFBTSxVQUFVLGNBQWMsQ0FBQyxTQUFpQixFQUFFLFdBQW1CLEVBQUUsSUFBWSxFQUFFLGFBQXVCLEtBQUs7SUFFL0csT0FBTztRQUNMLFNBQVMsRUFBRyxTQUFTO1FBQ3JCLE1BQU0sRUFBRyxJQUFJO1FBQ2IsV0FBVyxFQUFHLFdBQVc7UUFDekIsSUFBSSxFQUFHLElBQUk7UUFDWCxRQUFRLEVBQUcsQ0FBQztRQUNaLEtBQUssRUFBRyxJQUFJO1FBQ1osVUFBVSxFQUFHLElBQUk7UUFDakIsZ0JBQWdCLEVBQUcsSUFBSTtRQUN2QixZQUFZLEVBQUUsSUFBSTtRQUNsQixTQUFTLEVBQUUsU0FBUyxDQUFDLGFBQWE7UUFDbEMsT0FBTyxFQUFFLENBQUM7UUFDVixhQUFhLEVBQUUsSUFBSTtRQUNuQixLQUFLLEVBQUMsSUFBSTtRQUNWLFVBQVUsRUFBQyxVQUFVO0tBQ3RCLENBQUM7QUFDSixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtMaXN0fSBmcm9tIFwiQG1hZ2ljLXhwYS9tc2NvcmVsaWJcIjtcclxuaW1wb3J0IHsgTW9kaWZpZXJzIH0gZnJvbSBcIkBtYWdpYy14cGEvZ3VpXCI7XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIElHdWlFdmVudCB7XHJcbiAgRXZlbnRUeXBlOiBzdHJpbmc7XHJcbiAgVGFza0lEOiBzdHJpbmc7XHJcbiAgQ29udHJvbE5hbWU6IHN0cmluZztcclxuICBMaW5lOiBudW1iZXI7XHJcbiAgUGFnZVNpemU6IG51bWJlcjtcclxuICBWYWx1ZTogc3RyaW5nO1xyXG4gIFJvdXRlclBhdGg6IHN0cmluZztcclxuICBSb3V0ZXJPdXRsZXROYW1lO1xyXG4gIFJvdXRlclBhcmFtczogTGlzdDxhbnk+O1xyXG4gIG1vZGlmaWVyczogTW9kaWZpZXJzO1xyXG4gIGtleUNvZGU6IG51bWJlcjtcclxuICBleHRlcm5hbFZhbHVlOiBhbnk7XHJcbiAgcGFyYW06IGFueTtcclxuICBmcm9tQnV0dG9uOmJvb2xlYW47XHJcbn1cclxuXHJcbmV4cG9ydCBmdW5jdGlvbiBnZXRHdWlFdmVudE9iaihldmVudFR5cGU6IHN0cmluZywgY29udHJvbE5hbWU6IHN0cmluZywgbGluZTogbnVtYmVyLCBmcm9tQnV0dG9uIDogYm9vbGVhbiA9IGZhbHNlKSA6IElHdWlFdmVudFxyXG57XHJcbiAgcmV0dXJuIHtcclxuICAgIEV2ZW50VHlwZSA6IGV2ZW50VHlwZSxcclxuICAgIFRhc2tJRCA6IG51bGwsXHJcbiAgICBDb250cm9sTmFtZSA6IGNvbnRyb2xOYW1lLFxyXG4gICAgTGluZSA6IGxpbmUsXHJcbiAgICBQYWdlU2l6ZSA6IDAsXHJcbiAgICBWYWx1ZSA6IG51bGwsXHJcbiAgICBSb3V0ZXJQYXRoIDogbnVsbCxcclxuICAgIFJvdXRlck91dGxldE5hbWUgOiBudWxsLFxyXG4gICAgUm91dGVyUGFyYW1zOiBudWxsLFxyXG4gICAgbW9kaWZpZXJzOiBNb2RpZmllcnMuTU9ESUZJRVJfTk9ORSxcclxuICAgIGtleUNvZGU6IDAsXHJcbiAgICBleHRlcm5hbFZhbHVlOiBudWxsLFxyXG4gICAgcGFyYW06bnVsbCxcclxuICAgIGZyb21CdXR0b246ZnJvbUJ1dHRvblxyXG4gIH07XHJcbn1cclxuIl19
@@ -0,0 +1,41 @@
1
+ import { UIBridge } from "@magic-xpa/gui";
2
+ import { ClientManager } from "../ClientManager";
3
+ export class MagicBridge {
4
+ static Initialize(httpClient, args) {
5
+ ClientManager.Main(httpClient, args);
6
+ }
7
+ static async TerminateMagic() {
8
+ await ClientManager.StopExecution();
9
+ }
10
+ static registerExecuteCommandsCallback(cb) {
11
+ UIBridge.getInstance().registerExecuteCommandsCallback(cb);
12
+ }
13
+ static registerInteractiveCallback(cb) {
14
+ UIBridge.getInstance().registerInteractiveCallback(cb);
15
+ }
16
+ static insertEvent(guiEvent) {
17
+ ClientManager.Instance.AddEvent(guiEvent);
18
+ }
19
+ static GetControlPictureMask(taskId, controlName) {
20
+ return ClientManager.GetControlPictureMask(taskId, controlName);
21
+ }
22
+ static GetFormattedValue(taskId, controlName, value, rowId) {
23
+ return ClientManager.GetFormattedValue(taskId, controlName, value, rowId);
24
+ }
25
+ static GetRangedValue(taskId, controlName, value) {
26
+ return ClientManager.GetRangedValue(taskId, controlName, value);
27
+ }
28
+ static ValidateControlValue(taskId, controlName, value) {
29
+ return ClientManager.ValidateControlValue(taskId, controlName, value);
30
+ }
31
+ static GetFldRanges(taskId, controlName) {
32
+ return ClientManager.GetFldRanges(taskId, controlName);
33
+ }
34
+ static TransCacheExists() {
35
+ return ClientManager.TransCacheExists();
36
+ }
37
+ static TerminateContextUsingFetchAPI() {
38
+ ClientManager.TerminateContextUsingFetchAPI();
39
+ }
40
+ }
41
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiTWFnaWNCcmlkZ2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9lbmdpbmUvc3JjL2JyaWRnZS9NYWdpY0JyaWRnZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsUUFBUSxFQUFDLE1BQU0sZ0JBQWdCLENBQUM7QUFDeEMsT0FBTyxFQUFDLGFBQWEsRUFBQyxNQUFNLGtCQUFrQixDQUFDO0FBSS9DLE1BQU0sT0FBTyxXQUFXO0lBRXRCLE1BQU0sQ0FBQyxVQUFVLENBQUMsVUFBcUIsRUFBRSxJQUF5QjtRQUNoRSxhQUFhLENBQUMsSUFBSSxDQUFDLFVBQVUsRUFBRSxJQUFJLENBQUMsQ0FBQztJQUN2QyxDQUFDO0lBRUQsTUFBTSxDQUFDLEtBQUssQ0FBQyxjQUFjO1FBQ3pCLE1BQU0sYUFBYSxDQUFDLGFBQWEsRUFBRSxDQUFDO0lBQ3RDLENBQUM7SUFFRCxNQUFNLENBQUMsK0JBQStCLENBQUMsRUFBRTtRQUN2QyxRQUFRLENBQUMsV0FBVyxFQUFFLENBQUMsK0JBQStCLENBQUMsRUFBRSxDQUFDLENBQUM7SUFDN0QsQ0FBQztJQUVELE1BQU0sQ0FBQywyQkFBMkIsQ0FBQyxFQUFFO1FBQ25DLFFBQVEsQ0FBQyxXQUFXLEVBQUUsQ0FBQywyQkFBMkIsQ0FBQyxFQUFFLENBQUMsQ0FBQztJQUN6RCxDQUFDO0lBRUQsTUFBTSxDQUFDLFdBQVcsQ0FBQyxRQUFtQjtRQUNwQyxhQUFhLENBQUMsUUFBUSxDQUFDLFFBQVEsQ0FBQyxRQUFRLENBQUMsQ0FBQztJQUM1QyxDQUFDO0lBRUQsTUFBTSxDQUFDLHFCQUFxQixDQUFDLE1BQWMsRUFBRSxXQUFtQjtRQUM5RCxPQUFPLGFBQWEsQ0FBQyxxQkFBcUIsQ0FBQyxNQUFNLEVBQUUsV0FBVyxDQUFDLENBQUM7SUFDbEUsQ0FBQztJQUVELE1BQU0sQ0FBQyxpQkFBaUIsQ0FBQyxNQUFjLEVBQUUsV0FBbUIsRUFBRSxLQUFVLEVBQUUsS0FBYztRQUN0RixPQUFPLGFBQWEsQ0FBQyxpQkFBaUIsQ0FBQyxNQUFNLEVBQUUsV0FBVyxFQUFFLEtBQUssRUFBRSxLQUFLLENBQUMsQ0FBQztJQUM1RSxDQUFDO0lBRUQsTUFBTSxDQUFDLGNBQWMsQ0FBQyxNQUFjLEVBQUUsV0FBbUIsRUFBRSxLQUFhO1FBQ3RFLE9BQU8sYUFBYSxDQUFDLGNBQWMsQ0FBQyxNQUFNLEVBQUUsV0FBVyxFQUFFLEtBQUssQ0FBQyxDQUFDO0lBQ2xFLENBQUM7SUFHRCxNQUFNLENBQUMsb0JBQW9CLENBQUMsTUFBYyxFQUFFLFdBQW1CLEVBQUUsS0FBVTtRQUN6RSxPQUFPLGFBQWEsQ0FBQyxvQkFBb0IsQ0FBQyxNQUFNLEVBQUUsV0FBVyxFQUFFLEtBQUssQ0FBQyxDQUFDO0lBQ3hFLENBQUM7SUFFRCxNQUFNLENBQUMsWUFBWSxDQUFDLE1BQWMsRUFBRSxXQUFtQjtRQUNyRCxPQUFPLGFBQWEsQ0FBQyxZQUFZLENBQUMsTUFBTSxFQUFFLFdBQVcsQ0FBQyxDQUFDO0lBQ3pELENBQUM7SUFFRCxNQUFNLENBQUMsZ0JBQWdCO1FBQ3JCLE9BQU8sYUFBYSxDQUFDLGdCQUFnQixFQUFFLENBQUM7SUFDMUMsQ0FBQztJQUVELE1BQU0sQ0FBQyw2QkFBNkI7UUFDakMsYUFBYSxDQUFDLDZCQUE2QixFQUFFLENBQUM7SUFDakQsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtVSUJyaWRnZX0gZnJvbSBcIkBtYWdpYy14cGEvZ3VpXCI7XHJcbmltcG9ydCB7Q2xpZW50TWFuYWdlcn0gZnJvbSBcIi4uL0NsaWVudE1hbmFnZXJcIjtcclxuaW1wb3J0IHtJR3VpRXZlbnR9IGZyb20gXCIuL0lHdWlFdmVudFwiO1xyXG5pbXBvcnQge0h0dHBDbGllbnR9IGZyb20gXCJAYW5ndWxhci9jb21tb24vaHR0cFwiO1xyXG5cclxuZXhwb3J0IGNsYXNzIE1hZ2ljQnJpZGdlIHtcclxuXHJcbiAgc3RhdGljIEluaXRpYWxpemUoaHR0cENsaWVudDpIdHRwQ2xpZW50LCBhcmdzOiBNYXA8c3RyaW5nLCBzdHJpbmc+KTogdm9pZCB7XHJcbiAgICBDbGllbnRNYW5hZ2VyLk1haW4oaHR0cENsaWVudCwgYXJncyk7XHJcbiAgfVxyXG5cclxuICBzdGF0aWMgYXN5bmMgVGVybWluYXRlTWFnaWMoKTogUHJvbWlzZTx2b2lkPiB7XHJcbiAgICBhd2FpdCBDbGllbnRNYW5hZ2VyLlN0b3BFeGVjdXRpb24oKTtcclxuICB9XHJcblxyXG4gIHN0YXRpYyByZWdpc3RlckV4ZWN1dGVDb21tYW5kc0NhbGxiYWNrKGNiKSB7XHJcbiAgICBVSUJyaWRnZS5nZXRJbnN0YW5jZSgpLnJlZ2lzdGVyRXhlY3V0ZUNvbW1hbmRzQ2FsbGJhY2soY2IpO1xyXG4gIH1cclxuXHJcbiAgc3RhdGljIHJlZ2lzdGVySW50ZXJhY3RpdmVDYWxsYmFjayhjYikge1xyXG4gICAgVUlCcmlkZ2UuZ2V0SW5zdGFuY2UoKS5yZWdpc3RlckludGVyYWN0aXZlQ2FsbGJhY2soY2IpO1xyXG4gIH1cclxuXHJcbiAgc3RhdGljIGluc2VydEV2ZW50KGd1aUV2ZW50OiBJR3VpRXZlbnQpOiB2b2lkIHtcclxuICAgIENsaWVudE1hbmFnZXIuSW5zdGFuY2UuQWRkRXZlbnQoZ3VpRXZlbnQpO1xyXG4gIH1cclxuXHJcbiAgc3RhdGljIEdldENvbnRyb2xQaWN0dXJlTWFzayh0YXNrSWQ6IHN0cmluZywgY29udHJvbE5hbWU6IHN0cmluZyk6IGFueSB7XHJcbiAgICByZXR1cm4gQ2xpZW50TWFuYWdlci5HZXRDb250cm9sUGljdHVyZU1hc2sodGFza0lkLCBjb250cm9sTmFtZSk7XHJcbiAgfVxyXG5cclxuICBzdGF0aWMgR2V0Rm9ybWF0dGVkVmFsdWUodGFza0lkOiBzdHJpbmcsIGNvbnRyb2xOYW1lOiBzdHJpbmcsIHZhbHVlOiBhbnksIHJvd0lkPzogc3RyaW5nKTogc3RyaW5nIHtcclxuICAgIHJldHVybiBDbGllbnRNYW5hZ2VyLkdldEZvcm1hdHRlZFZhbHVlKHRhc2tJZCwgY29udHJvbE5hbWUsIHZhbHVlLCByb3dJZCk7XHJcbiAgfVxyXG5cclxuICBzdGF0aWMgR2V0UmFuZ2VkVmFsdWUodGFza0lkOiBzdHJpbmcsIGNvbnRyb2xOYW1lOiBzdHJpbmcsIHZhbHVlOiBzdHJpbmcpOiBzdHJpbmcge1xyXG4gICAgcmV0dXJuIENsaWVudE1hbmFnZXIuR2V0UmFuZ2VkVmFsdWUodGFza0lkLCBjb250cm9sTmFtZSwgdmFsdWUpO1xyXG4gIH1cclxuXHJcblxyXG4gIHN0YXRpYyBWYWxpZGF0ZUNvbnRyb2xWYWx1ZSh0YXNrSWQ6IHN0cmluZywgY29udHJvbE5hbWU6IHN0cmluZywgdmFsdWU6IGFueSk6IHN0cmluZyB7XHJcbiAgICByZXR1cm4gQ2xpZW50TWFuYWdlci5WYWxpZGF0ZUNvbnRyb2xWYWx1ZSh0YXNrSWQsIGNvbnRyb2xOYW1lLCB2YWx1ZSk7XHJcbiAgfVxyXG5cclxuICBzdGF0aWMgR2V0RmxkUmFuZ2VzKHRhc2tJZDogc3RyaW5nLCBjb250cm9sTmFtZTogc3RyaW5nKTogc3RyaW5nIHtcclxuICAgIHJldHVybiBDbGllbnRNYW5hZ2VyLkdldEZsZFJhbmdlcyh0YXNrSWQsIGNvbnRyb2xOYW1lKTtcclxuICB9XHJcblxyXG4gIHN0YXRpYyBUcmFuc0NhY2hlRXhpc3RzKCk6IGJvb2xlYW4ge1xyXG4gICAgcmV0dXJuIENsaWVudE1hbmFnZXIuVHJhbnNDYWNoZUV4aXN0cygpO1xyXG4gIH1cclxuXHJcbiAgc3RhdGljIFRlcm1pbmF0ZUNvbnRleHRVc2luZ0ZldGNoQVBJKCk6IHZvaWQge1xyXG4gICAgIENsaWVudE1hbmFnZXIuVGVybWluYXRlQ29udGV4dFVzaW5nRmV0Y2hBUEkoKTtcclxuICB9XHJcbn1cclxuXHJcbiJdfQ==
@@ -0,0 +1,12 @@
1
+ import { ClientOriginatedCommand } from "./ClientToServer/ClientOriginatedCommand";
2
+ import { AccessHelper } from "../AccessHelper";
3
+ export class ClientOriginatedCommandTaskTag extends ClientOriginatedCommand {
4
+ TaskTag;
5
+ constructor() {
6
+ super();
7
+ }
8
+ get Task() {
9
+ return AccessHelper.mgDataTable.getCurrMGData().getTask(this.TaskTag);
10
+ }
11
+ }
12
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQ2xpZW50T3JpZ2luYXRlZENvbW1hbmRUYXNrVGFnLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZW5naW5lL3NyYy9jb21tYW5kcy9DbGllbnRPcmlnaW5hdGVkQ29tbWFuZFRhc2tUYWcudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLHVCQUF1QixFQUFDLE1BQU0sMENBQTBDLENBQUM7QUFFakYsT0FBTyxFQUFDLFlBQVksRUFBQyxNQUFNLGlCQUFpQixDQUFDO0FBRzdDLE1BQU0sT0FBZ0IsOEJBQStCLFNBQVEsdUJBQXVCO0lBRWxGLE9BQU8sQ0FBUztJQUVoQjtRQUVFLEtBQUssRUFBRSxDQUFDO0lBQ1YsQ0FBQztJQUVELElBQUksSUFBSTtRQUNOLE9BQU8sWUFBWSxDQUFDLFdBQVcsQ0FBQyxhQUFhLEVBQUUsQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDO0lBQ3hFLENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7Q2xpZW50T3JpZ2luYXRlZENvbW1hbmR9IGZyb20gXCIuL0NsaWVudFRvU2VydmVyL0NsaWVudE9yaWdpbmF0ZWRDb21tYW5kXCI7XHJcbmltcG9ydCB7SUNvbW1hbmRUYXNrVGFnfSBmcm9tIFwiLi9DbGllbnRUb1NlcnZlci9JQ29tbWFuZFRhc2tUYWdcIjtcclxuaW1wb3J0IHtBY2Nlc3NIZWxwZXJ9IGZyb20gXCIuLi9BY2Nlc3NIZWxwZXJcIjtcclxuaW1wb3J0IHtUYXNrfSBmcm9tIFwiLi4vLi5cIjtcclxuXHJcbmV4cG9ydCBhYnN0cmFjdCBjbGFzcyBDbGllbnRPcmlnaW5hdGVkQ29tbWFuZFRhc2tUYWcgZXh0ZW5kcyBDbGllbnRPcmlnaW5hdGVkQ29tbWFuZCBpbXBsZW1lbnRzIElDb21tYW5kVGFza1RhZyB7XHJcblxyXG4gIFRhc2tUYWc6IHN0cmluZztcclxuXHJcbiAgY29uc3RydWN0b3IoKVxyXG4gIHtcclxuICAgIHN1cGVyKCk7XHJcbiAgfVxyXG5cclxuICBnZXQgVGFzaygpOiBUYXNrIHtcclxuICAgIHJldHVybiBBY2Nlc3NIZWxwZXIubWdEYXRhVGFibGUuZ2V0Q3Vyck1HRGF0YSgpLmdldFRhc2sodGhpcy5UYXNrVGFnKTtcclxuICB9XHJcbn1cclxuIl19