@magic-xpa/engine 4.800.0 → 4.801.0-dev000.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (379) hide show
  1. package/esm2020/index.mjs +190 -0
  2. package/{esm2015/magic-xpa-engine.js → esm2020/magic-xpa-engine.mjs} +0 -0
  3. package/esm2020/src/AccessHelper.mjs +3 -0
  4. package/esm2020/src/ClientManager.mjs +403 -0
  5. package/esm2020/src/CommandsProcessorBase.mjs +58 -0
  6. package/esm2020/src/CommandsProcessorManager.mjs +26 -0
  7. package/esm2020/src/CommandsTable.mjs +163 -0
  8. package/{esm2015/src/ConstInterface.js → esm2020/src/ConstInterface.mjs} +0 -0
  9. package/{esm2015/src/CurrentClientVersion.js → esm2020/src/CurrentClientVersion.mjs} +2 -2
  10. package/{esm2015/src/FlowMonitorInterface.js → esm2020/src/FlowMonitorInterface.mjs} +0 -0
  11. package/esm2020/src/GUIManager.mjs +63 -0
  12. package/{esm2015/src/GlobalCommandsManager.js → esm2020/src/GlobalCommandsManager.mjs} +0 -0
  13. package/esm2020/src/GuiEventsProcessor.mjs +171 -0
  14. package/{esm2015/src/ICommandsTable.js → esm2020/src/ICommandsTable.mjs} +1 -0
  15. package/{esm2015/src/ServerConfig.js → esm2020/src/ServerConfig.mjs} +0 -0
  16. package/{esm2015/src/bridge/IGuiEvent.js → esm2020/src/bridge/IGuiEvent.mjs} +0 -0
  17. package/esm2020/src/bridge/MagicBridge.mjs +41 -0
  18. package/{esm2015/src/commands/ClientOriginatedCommandTaskTag.js → esm2020/src/commands/ClientOriginatedCommandTaskTag.mjs} +0 -0
  19. package/{esm2015/src/commands/ClientToServer/AddUserLocateDataViewCommand.js → esm2020/src/commands/ClientToServer/AddUserLocateDataViewCommand.mjs} +0 -0
  20. package/{esm2015/src/commands/ClientToServer/AddUserRangeDataviewCommand.js → esm2020/src/commands/ClientToServer/AddUserRangeDataviewCommand.mjs} +0 -0
  21. package/{esm2015/src/commands/ClientToServer/AddUserSortDataViewCommand.js → esm2020/src/commands/ClientToServer/AddUserSortDataViewCommand.mjs} +0 -0
  22. package/esm2020/src/commands/ClientToServer/BrowserEscEventCommand.mjs +23 -0
  23. package/esm2020/src/commands/ClientToServer/ClientOriginatedCommand.mjs +15 -0
  24. package/esm2020/src/commands/ClientToServer/ClientOriginatedCommandSerializer.mjs +60 -0
  25. package/esm2020/src/commands/ClientToServer/ColumnSortEventCommand.mjs +26 -0
  26. package/esm2020/src/commands/ClientToServer/CommandFactory.mjs +278 -0
  27. package/{esm2015/src/commands/ClientToServer/CommandSerializationHelper.js → esm2020/src/commands/ClientToServer/CommandSerializationHelper.mjs} +0 -0
  28. package/esm2020/src/commands/ClientToServer/ComputeEventCommand.mjs +23 -0
  29. package/esm2020/src/commands/ClientToServer/ContextTerminationEventCommand.mjs +21 -0
  30. package/esm2020/src/commands/ClientToServer/ContextTimeoutResetCommand.mjs +20 -0
  31. package/{esm2015/src/commands/ClientToServer/ControlItemsRefreshCommand.js → esm2020/src/commands/ClientToServer/ControlItemsRefreshCommand.mjs} +0 -0
  32. package/{esm2015/src/commands/ClientToServer/DataViewOutputCommand.js → esm2020/src/commands/ClientToServer/DataViewOutputCommand.mjs} +0 -0
  33. package/{esm2015/src/commands/ClientToServer/DataviewCommand.js → esm2020/src/commands/ClientToServer/DataviewCommand.mjs} +2 -2
  34. package/esm2020/src/commands/ClientToServer/EvaluateCommand.mjs +36 -0
  35. package/esm2020/src/commands/ClientToServer/EventCommand.mjs +40 -0
  36. package/esm2020/src/commands/ClientToServer/ExecOperCommand.mjs +67 -0
  37. package/esm2020/src/commands/ClientToServer/FetchDataControlValuesEventCommand.mjs +22 -0
  38. package/{esm2015/src/commands/ClientToServer/GlobalParamsQueryCommand.js → esm2020/src/commands/ClientToServer/GlobalParamsQueryCommand.mjs} +0 -0
  39. package/{esm2015/src/commands/ClientToServer/ICommandTaskTag.js → esm2020/src/commands/ClientToServer/ICommandTaskTag.mjs} +1 -0
  40. package/esm2020/src/commands/ClientToServer/IndexChangeEventCommand.mjs +21 -0
  41. package/esm2020/src/commands/ClientToServer/IniputForceWriteCommand.mjs +23 -0
  42. package/esm2020/src/commands/ClientToServer/NonReversibleExitEventCommand.mjs +23 -0
  43. package/esm2020/src/commands/ClientToServer/QueryCommand.mjs +21 -0
  44. package/esm2020/src/commands/ClientToServer/RecomputeCommand.mjs +27 -0
  45. package/esm2020/src/commands/ClientToServer/RefreshEventCommand.mjs +27 -0
  46. package/esm2020/src/commands/ClientToServer/RefreshScreenEventCommand.mjs +24 -0
  47. package/esm2020/src/commands/ClientToServer/RollbackEventCommand.mjs +39 -0
  48. package/{esm2015/src/commands/ClientToServer/SelectProgramCommand.js → esm2020/src/commands/ClientToServer/SelectProgramCommand.mjs} +0 -0
  49. package/{esm2015/src/commands/ClientToServer/SetTransactionStateDataviewCommand.js → esm2020/src/commands/ClientToServer/SetTransactionStateDataviewCommand.mjs} +0 -0
  50. package/esm2020/src/commands/ClientToServer/SubformOpenEventCommand.mjs +21 -0
  51. package/esm2020/src/commands/ClientToServer/SubformRefreshEventCommand.mjs +24 -0
  52. package/esm2020/src/commands/ClientToServer/TransactionCommand.mjs +28 -0
  53. package/{esm2015/src/commands/ClientToServer/UnloadCommand.js → esm2020/src/commands/ClientToServer/UnloadCommand.mjs} +0 -0
  54. package/esm2020/src/commands/ClientToServer/WriteMessageToServerLogCommand.mjs +18 -0
  55. package/esm2020/src/commands/DataViewCommandBase.mjs +10 -0
  56. package/{esm2015/src/commands/IClientCommand.js → esm2020/src/commands/IClientCommand.mjs} +1 -0
  57. package/esm2020/src/commands/IClientTargetedCommand.mjs +9 -0
  58. package/{esm2015/src/commands/IClientToServerCommandInfo.js → esm2020/src/commands/IClientToServerCommandInfo.mjs} +1 -0
  59. package/esm2020/src/commands/ServerToClient/AbortCommand.mjs +65 -0
  60. package/esm2020/src/commands/ServerToClient/AddLocateCommand.mjs +22 -0
  61. package/esm2020/src/commands/ServerToClient/AddRangeCommand.mjs +62 -0
  62. package/esm2020/src/commands/ServerToClient/AddSortCommand.mjs +33 -0
  63. package/{esm2015/src/commands/ServerToClient/ClientRefreshCommand.js → esm2020/src/commands/ServerToClient/ClientRefreshCommand.mjs} +14 -17
  64. package/esm2020/src/commands/ServerToClient/ClientTargetedCommandBase.mjs +27 -0
  65. package/esm2020/src/commands/ServerToClient/EnhancedVerifyCommand.mjs +45 -0
  66. package/esm2020/src/commands/ServerToClient/OpenURLCommand.mjs +222 -0
  67. package/esm2020/src/commands/ServerToClient/ResetLocateCommand.mjs +15 -0
  68. package/esm2020/src/commands/ServerToClient/ResetRangeCommand.mjs +15 -0
  69. package/esm2020/src/commands/ServerToClient/ResetSortCommand.mjs +15 -0
  70. package/esm2020/src/commands/ServerToClient/ResultCommand.mjs +37 -0
  71. package/esm2020/src/commands/ServerToClient/VerifyCommand.mjs +85 -0
  72. package/{esm2015/src/commands/ServerToClient/XMLBasedCommandBuilder.js → esm2020/src/commands/ServerToClient/XMLBasedCommandBuilder.mjs} +0 -0
  73. package/{esm2015/src/communications/IConnectionStateManager.js → esm2020/src/communications/IConnectionStateManager.mjs} +1 -0
  74. package/esm2020/src/communications/InteractiveCommunicationsFailureHandler.mjs +17 -0
  75. package/{esm2015/src/data/DataSourceIdKey.js → esm2020/src/data/DataSourceIdKey.mjs} +0 -0
  76. package/esm2020/src/data/DataView.mjs +1634 -0
  77. package/{esm2015/src/data/DataViewBase.js → esm2020/src/data/DataViewBase.mjs} +0 -0
  78. package/esm2020/src/data/DataviewManager.mjs +28 -0
  79. package/esm2020/src/data/DataviewManagerBase.mjs +15 -0
  80. package/{esm2015/src/data/DvCache.js → esm2020/src/data/DvCache.mjs} +0 -0
  81. package/esm2020/src/data/Field.mjs +645 -0
  82. package/esm2020/src/data/FieldBase.mjs +18 -0
  83. package/{esm2015/src/data/FieldsTable.js → esm2020/src/data/FieldsTable.mjs} +0 -0
  84. package/{esm2015/src/data/IRecordsTable.js → esm2020/src/data/IRecordsTable.mjs} +1 -0
  85. package/{esm2015/src/data/Key.js → esm2020/src/data/Key.mjs} +0 -0
  86. package/esm2020/src/data/Record.mjs +846 -0
  87. package/{esm2015/src/data/RecordOutOfDataViewException.js → esm2020/src/data/RecordOutOfDataViewException.mjs} +0 -0
  88. package/esm2020/src/data/RecordsTable.mjs +267 -0
  89. package/esm2020/src/data/TaskTransactionManager.mjs +103 -0
  90. package/esm2020/src/data/XMLBasedDcValuesBuilder.mjs +74 -0
  91. package/{esm2015/src/enums.js → esm2020/src/enums.mjs} +0 -0
  92. package/esm2020/src/env/EnvVariablesTable.mjs +340 -0
  93. package/esm2020/src/env/Environment.mjs +554 -0
  94. package/{esm2015/src/env/ILanguageData.js → esm2020/src/env/ILanguageData.mjs} +1 -0
  95. package/esm2020/src/env/LanguageData.mjs +222 -0
  96. package/esm2020/src/env/MirrorString.mjs +66 -0
  97. package/{esm2015/src/event/ActionManager.js → esm2020/src/event/ActionManager.mjs} +0 -0
  98. package/esm2020/src/event/Event.mjs +1436 -0
  99. package/esm2020/src/event/EventHandler.mjs +773 -0
  100. package/esm2020/src/event/EventHandlerPosition.mjs +201 -0
  101. package/esm2020/src/event/EventsManager.mjs +2983 -0
  102. package/esm2020/src/event/IEventsManager.mjs +7 -0
  103. package/esm2020/src/event/RunTimeEvent.mjs +406 -0
  104. package/{esm2015/src/event/RunTimeEventBase.js → esm2020/src/event/RunTimeEventBase.mjs} +0 -0
  105. package/{esm2015/src/event/UserEventsTable.js → esm2020/src/event/UserEventsTable.mjs} +0 -0
  106. package/{esm2015/src/exp/ExpTable.js → esm2020/src/exp/ExpTable.mjs} +0 -0
  107. package/esm2020/src/exp/Expression.mjs +200 -0
  108. package/{esm2015/src/exp/ExpressionDict.js → esm2020/src/exp/ExpressionDict.mjs} +0 -0
  109. package/esm2020/src/exp/ExpressionEvaluator.mjs +4373 -0
  110. package/esm2020/src/exp/ExpressionLocalJpn.mjs +314 -0
  111. package/esm2020/src/exp/GlobalParamsTable.mjs +85 -0
  112. package/esm2020/src/exp/YesNoExp.mjs +41 -0
  113. package/{esm2015/src/gui/CreatedFormVector.js → esm2020/src/gui/CreatedFormVector.mjs} +0 -0
  114. package/esm2020/src/gui/FormsTable.mjs +66 -0
  115. package/esm2020/src/gui/MgControl.mjs +357 -0
  116. package/esm2020/src/gui/MgForm.mjs +1195 -0
  117. package/esm2020/src/http/HttpManager.mjs +97 -0
  118. package/esm2020/src/http/client/HttpClientAsync.mjs +67 -0
  119. package/esm2020/src/http/client/HttpClientBase.mjs +148 -0
  120. package/{esm2015/src/http/client/HttpClientEvents.js → esm2020/src/http/client/HttpClientEvents.mjs} +0 -0
  121. package/esm2020/src/http/client/HttpClientSync.mjs +42 -0
  122. package/{esm2015/src/http/client/HttpUtility.js → esm2020/src/http/client/HttpUtility.mjs} +0 -0
  123. package/{esm2015/src/http/client/ICommunicationsFailureHandler.js → esm2020/src/http/client/ICommunicationsFailureHandler.mjs} +1 -0
  124. package/esm2020/src/remote/AddUserLocateRemoteDataViewCommand.mjs +18 -0
  125. package/esm2020/src/remote/AddUserRangeRemoteDataViewCommand.mjs +18 -0
  126. package/esm2020/src/remote/AddUserSortRemoteDataViewCommand.mjs +18 -0
  127. package/esm2020/src/remote/RemoteCommandsProcessor.mjs +872 -0
  128. package/esm2020/src/remote/RemoteControlItemsRefreshCommand.mjs +25 -0
  129. package/esm2020/src/remote/RemoteDataViewCommandBase.mjs +24 -0
  130. package/{esm2015/src/remote/RemoteDataViewCommandFactory.js → esm2020/src/remote/RemoteDataViewCommandFactory.mjs} +0 -0
  131. package/esm2020/src/remote/RemoteDataViewCommandUpdateNonModifiable.mjs +16 -0
  132. package/esm2020/src/remote/RemoteDataviewManager.mjs +17 -0
  133. package/esm2020/src/remote/RemoteInitDataViewCommand.mjs +11 -0
  134. package/esm2020/src/remote/ResetUserLocateRemoteDataviewCommand.mjs +17 -0
  135. package/esm2020/src/remote/ResetUserRangeRemoteDataviewCommand.mjs +13 -0
  136. package/esm2020/src/remote/ResetUserSortRemoteDataviewCommand.mjs +16 -0
  137. package/esm2020/src/remote/ServerError.mjs +44 -0
  138. package/{esm2015/src/remote/SetTransactionStateRemoteDataViewCommand.js → esm2020/src/remote/SetTransactionStateRemoteDataViewCommand.mjs} +8 -11
  139. package/esm2020/src/rt/Argument.mjs +274 -0
  140. package/esm2020/src/rt/ArgumentsList.mjs +103 -0
  141. package/esm2020/src/rt/Boundary.mjs +158 -0
  142. package/{esm2015/src/rt/CompMainPrgTable.js → esm2020/src/rt/CompMainPrgTable.mjs} +0 -0
  143. package/esm2020/src/rt/DataviewHeaderBase.mjs +96 -0
  144. package/esm2020/src/rt/DataviewHeaderFactory.mjs +7 -0
  145. package/{esm2015/src/rt/DataviewHeaders.js → esm2020/src/rt/DataviewHeaders.mjs} +0 -0
  146. package/esm2020/src/rt/DataviewHeadersSaxHandler.mjs +39 -0
  147. package/{esm2015/src/rt/ExecutionStack.js → esm2020/src/rt/ExecutionStack.mjs} +0 -0
  148. package/{esm2015/src/rt/ExecutionStackEntry.js → esm2020/src/rt/ExecutionStackEntry.mjs} +0 -0
  149. package/{esm2015/src/rt/HandlersTable.js → esm2020/src/rt/HandlersTable.mjs} +0 -0
  150. package/{esm2015/src/rt/IDataSourceViewDefinition.js → esm2020/src/rt/IDataSourceViewDefinition.mjs} +1 -0
  151. package/{esm2015/src/rt/IDataviewHeader.js → esm2020/src/rt/IDataviewHeader.mjs} +1 -0
  152. package/{esm2015/src/rt/IResultValue.js → esm2020/src/rt/IResultValue.mjs} +1 -0
  153. package/{esm2015/src/rt/LastFocusedManager.js → esm2020/src/rt/LastFocusedManager.mjs} +0 -0
  154. package/esm2020/src/rt/Operation.mjs +745 -0
  155. package/{esm2015/src/rt/OperationTable.js → esm2020/src/rt/OperationTable.mjs} +0 -0
  156. package/esm2020/src/rt/Recompute.mjs +355 -0
  157. package/{esm2015/src/rt/RecomputeTable.js → esm2020/src/rt/RecomputeTable.mjs} +0 -0
  158. package/esm2020/src/rt/RemoteDataviewHeader.mjs +105 -0
  159. package/{esm2015/src/rt/ResultValue.js → esm2020/src/rt/ResultValue.mjs} +0 -0
  160. package/esm2020/src/rt/TableCache.mjs +177 -0
  161. package/esm2020/src/rt/TableCacheManager.mjs +67 -0
  162. package/esm2020/src/rt/Transaction.mjs +54 -0
  163. package/{esm2015/src/security/UserDetails.js → esm2020/src/security/UserDetails.mjs} +0 -0
  164. package/{esm2015/src/tasks/IMGDataCollection.js → esm2020/src/tasks/IMGDataCollection.mjs} +1 -0
  165. package/esm2020/src/tasks/MGData.mjs +552 -0
  166. package/esm2020/src/tasks/MGDataCollection.mjs +259 -0
  167. package/{esm2015/src/tasks/MenusDeserializer.js → esm2020/src/tasks/MenusDeserializer.mjs} +0 -0
  168. package/{esm2015/src/tasks/RCTimer.js → esm2020/src/tasks/RCTimer.mjs} +0 -0
  169. package/esm2020/src/tasks/RemoteTaskService.mjs +45 -0
  170. package/esm2020/src/tasks/Task.mjs +2501 -0
  171. package/{esm2015/src/tasks/TaskBase.js → esm2020/src/tasks/TaskBase.mjs} +22 -1
  172. package/esm2020/src/tasks/TaskServiceBase.mjs +25 -0
  173. package/esm2020/src/tasks/TasksTable.mjs +80 -0
  174. package/{esm2015/src/tasks/sort/Sort.js → esm2020/src/tasks/sort/Sort.mjs} +0 -0
  175. package/esm2020/src/tasks/sort/SortCollection.mjs +72 -0
  176. package/{esm2015/src/util/ConstUtils.js → esm2020/src/util/ConstUtils.mjs} +0 -0
  177. package/{esm2015/src/util/FlowMonitorQueue.js → esm2020/src/util/FlowMonitorQueue.mjs} +15 -18
  178. package/{esm2015/src/util/HeapSort.js → esm2020/src/util/HeapSort.mjs} +0 -0
  179. package/{esm2015/src/util/IMirrorXML.js → esm2020/src/util/IMirrorXML.mjs} +2 -1
  180. package/{esm2015/src/util/IServerConfig.js → esm2020/src/util/IServerConfig.mjs} +1 -0
  181. package/{esm2015/src/util/MgBlockingQueue.js → esm2020/src/util/MgBlockingQueue.mjs} +1 -0
  182. package/esm2020/src/util/MgPriorityBlockingQueue.mjs +76 -0
  183. package/{esm2015/src/util/MgPriorityQueue.js → esm2020/src/util/MgPriorityQueue.mjs} +0 -0
  184. package/esm2020/src/util/ParamParseResult.mjs +8 -0
  185. package/esm2020/src/util/PrmMap.mjs +151 -0
  186. package/esm2020/src/util/Process.mjs +7 -0
  187. package/esm2020/src/util/ReturnResult.mjs +46 -0
  188. package/{esm2015/src/util/ReturnResultBase.js → esm2020/src/util/ReturnResultBase.mjs} +0 -0
  189. package/{esm2015/src/util/Scrambler.js → esm2020/src/util/Scrambler.mjs} +0 -0
  190. package/{esm2015/src/util/UniqueIDUtils.js → esm2020/src/util/UniqueIDUtils.mjs} +0 -0
  191. package/{esm2015/src/util/cookie.service.js → esm2020/src/util/cookie.service.mjs} +0 -0
  192. package/fesm2015/{magic-xpa-engine.js → magic-xpa-engine.mjs} +267 -254
  193. package/fesm2015/magic-xpa-engine.mjs.map +1 -0
  194. package/fesm2020/magic-xpa-engine.mjs +30705 -0
  195. package/fesm2020/magic-xpa-engine.mjs.map +1 -0
  196. package/index.d.ts +2 -0
  197. package/package.json +27 -13
  198. package/src/AccessHelper.d.ts +1 -1
  199. package/src/CommandsProcessorBase.d.ts +3 -3
  200. package/src/GuiEventsProcessor.d.ts +1 -1
  201. package/src/commands/ClientToServer/BrowserEscEventCommand.d.ts +1 -2
  202. package/src/commands/ClientToServer/ClientOriginatedCommand.d.ts +1 -2
  203. package/src/commands/ClientToServer/ColumnSortEventCommand.d.ts +1 -2
  204. package/src/commands/ClientToServer/ComputeEventCommand.d.ts +1 -2
  205. package/src/commands/ClientToServer/ContextTerminationEventCommand.d.ts +1 -2
  206. package/src/commands/ClientToServer/ContextTimeoutResetCommand.d.ts +1 -2
  207. package/src/commands/ClientToServer/DataviewCommand.d.ts +1 -2
  208. package/src/commands/ClientToServer/EvaluateCommand.d.ts +1 -2
  209. package/src/commands/ClientToServer/EventCommand.d.ts +1 -2
  210. package/src/commands/ClientToServer/ExecOperCommand.d.ts +1 -2
  211. package/src/commands/ClientToServer/FetchDataControlValuesEventCommand.d.ts +1 -2
  212. package/src/commands/ClientToServer/IndexChangeEventCommand.d.ts +1 -2
  213. package/src/commands/ClientToServer/IniputForceWriteCommand.d.ts +1 -2
  214. package/src/commands/ClientToServer/NonReversibleExitEventCommand.d.ts +1 -2
  215. package/src/commands/ClientToServer/QueryCommand.d.ts +1 -2
  216. package/src/commands/ClientToServer/RecomputeCommand.d.ts +1 -2
  217. package/src/commands/ClientToServer/RefreshEventCommand.d.ts +1 -2
  218. package/src/commands/ClientToServer/RefreshScreenEventCommand.d.ts +1 -2
  219. package/src/commands/ClientToServer/RollbackEventCommand.d.ts +1 -2
  220. package/src/commands/ClientToServer/SubformOpenEventCommand.d.ts +1 -2
  221. package/src/commands/ClientToServer/SubformRefreshEventCommand.d.ts +1 -2
  222. package/src/commands/ClientToServer/TransactionCommand.d.ts +1 -2
  223. package/src/commands/ClientToServer/WriteMessageToServerLogCommand.d.ts +1 -2
  224. package/src/commands/DataViewCommandBase.d.ts +2 -2
  225. package/src/commands/IClientTargetedCommand.d.ts +1 -1
  226. package/src/commands/ServerToClient/ClientTargetedCommandBase.d.ts +1 -1
  227. package/src/data/FieldBase.d.ts +3 -3
  228. package/src/data/Record.d.ts +2 -9
  229. package/src/data/RecordsTable.d.ts +1 -2
  230. package/src/data/XMLBasedDcValuesBuilder.d.ts +1 -1
  231. package/src/env/EnvVariablesTable.d.ts +2 -15
  232. package/src/env/Environment.d.ts +0 -3
  233. package/src/env/MirrorString.d.ts +15 -0
  234. package/src/event/Event.d.ts +0 -3
  235. package/src/event/EventsManager.d.ts +7 -8
  236. package/src/event/IEventsManager.d.ts +5 -6
  237. package/src/exp/ExpressionEvaluator.d.ts +2 -2
  238. package/src/exp/ExpressionLocalJpn.d.ts +2 -2
  239. package/src/exp/GlobalParamsTable.d.ts +2 -1
  240. package/src/gui/MgControl.d.ts +0 -2
  241. package/src/gui/MgForm.d.ts +4 -4
  242. package/src/http/client/HttpClientAsync.d.ts +2 -2
  243. package/src/http/client/HttpClientBase.d.ts +3 -3
  244. package/src/http/client/HttpClientSync.d.ts +2 -2
  245. package/src/remote/RemoteCommandsProcessor.d.ts +1 -1
  246. package/src/rt/DataviewHeaderBase.d.ts +2 -2
  247. package/src/rt/DataviewHeaderFactory.d.ts +1 -1
  248. package/src/rt/Operation.d.ts +3 -1
  249. package/src/rt/RemoteDataviewHeader.d.ts +1 -2
  250. package/src/rt/Transaction.d.ts +1 -1
  251. package/src/tasks/RemoteTaskService.d.ts +2 -3
  252. package/src/tasks/Task.d.ts +1 -1
  253. package/src/tasks/TaskBase.d.ts +7 -7
  254. package/src/tasks/TaskServiceBase.d.ts +2 -4
  255. package/src/tasks/sort/SortCollection.d.ts +2 -3
  256. package/src/util/FlowMonitorQueue.d.ts +1 -1
  257. package/src/util/IMirrorXML.d.ts +1 -1
  258. package/src/util/ParamParseResult.d.ts +6 -0
  259. package/src/util/PrmMap.d.ts +0 -6
  260. package/src/util/Process.d.ts +1 -1
  261. package/bundles/magic-xpa-engine.umd.js +0 -38066
  262. package/bundles/magic-xpa-engine.umd.js.map +0 -1
  263. package/bundles/magic-xpa-engine.umd.min.js +0 -16
  264. package/bundles/magic-xpa-engine.umd.min.js.map +0 -1
  265. package/esm2015/index.js +0 -188
  266. package/esm2015/src/AccessHelper.js +0 -3
  267. package/esm2015/src/ClientManager.js +0 -412
  268. package/esm2015/src/CommandsProcessorBase.js +0 -54
  269. package/esm2015/src/CommandsProcessorManager.js +0 -31
  270. package/esm2015/src/CommandsTable.js +0 -166
  271. package/esm2015/src/GUIManager.js +0 -72
  272. package/esm2015/src/GuiEventsProcessor.js +0 -171
  273. package/esm2015/src/bridge/MagicBridge.js +0 -44
  274. package/esm2015/src/commands/ClientToServer/BrowserEscEventCommand.js +0 -24
  275. package/esm2015/src/commands/ClientToServer/ClientOriginatedCommand.js +0 -15
  276. package/esm2015/src/commands/ClientToServer/ClientOriginatedCommandSerializer.js +0 -60
  277. package/esm2015/src/commands/ClientToServer/ColumnSortEventCommand.js +0 -26
  278. package/esm2015/src/commands/ClientToServer/CommandFactory.js +0 -283
  279. package/esm2015/src/commands/ClientToServer/ComputeEventCommand.js +0 -23
  280. package/esm2015/src/commands/ClientToServer/ContextTerminationEventCommand.js +0 -21
  281. package/esm2015/src/commands/ClientToServer/ContextTimeoutResetCommand.js +0 -20
  282. package/esm2015/src/commands/ClientToServer/EvaluateCommand.js +0 -36
  283. package/esm2015/src/commands/ClientToServer/EventCommand.js +0 -40
  284. package/esm2015/src/commands/ClientToServer/ExecOperCommand.js +0 -67
  285. package/esm2015/src/commands/ClientToServer/FetchDataControlValuesEventCommand.js +0 -22
  286. package/esm2015/src/commands/ClientToServer/IndexChangeEventCommand.js +0 -21
  287. package/esm2015/src/commands/ClientToServer/IniputForceWriteCommand.js +0 -23
  288. package/esm2015/src/commands/ClientToServer/NonReversibleExitEventCommand.js +0 -23
  289. package/esm2015/src/commands/ClientToServer/QueryCommand.js +0 -21
  290. package/esm2015/src/commands/ClientToServer/RecomputeCommand.js +0 -27
  291. package/esm2015/src/commands/ClientToServer/RefreshEventCommand.js +0 -27
  292. package/esm2015/src/commands/ClientToServer/RefreshScreenEventCommand.js +0 -24
  293. package/esm2015/src/commands/ClientToServer/RollbackEventCommand.js +0 -39
  294. package/esm2015/src/commands/ClientToServer/SubformOpenEventCommand.js +0 -21
  295. package/esm2015/src/commands/ClientToServer/SubformRefreshEventCommand.js +0 -24
  296. package/esm2015/src/commands/ClientToServer/TransactionCommand.js +0 -28
  297. package/esm2015/src/commands/ClientToServer/WriteMessageToServerLogCommand.js +0 -18
  298. package/esm2015/src/commands/DataViewCommandBase.js +0 -6
  299. package/esm2015/src/commands/IClientTargetedCommand.js +0 -6
  300. package/esm2015/src/commands/ServerToClient/AbortCommand.js +0 -68
  301. package/esm2015/src/commands/ServerToClient/AddLocateCommand.js +0 -25
  302. package/esm2015/src/commands/ServerToClient/AddRangeCommand.js +0 -65
  303. package/esm2015/src/commands/ServerToClient/AddSortCommand.js +0 -36
  304. package/esm2015/src/commands/ServerToClient/ClientTargetedCommandBase.js +0 -24
  305. package/esm2015/src/commands/ServerToClient/EnhancedVerifyCommand.js +0 -48
  306. package/esm2015/src/commands/ServerToClient/OpenURLCommand.js +0 -225
  307. package/esm2015/src/commands/ServerToClient/ResetLocateCommand.js +0 -18
  308. package/esm2015/src/commands/ServerToClient/ResetRangeCommand.js +0 -18
  309. package/esm2015/src/commands/ServerToClient/ResetSortCommand.js +0 -18
  310. package/esm2015/src/commands/ServerToClient/ResultCommand.js +0 -40
  311. package/esm2015/src/commands/ServerToClient/VerifyCommand.js +0 -88
  312. package/esm2015/src/communications/InteractiveCommunicationsFailureHandler.js +0 -20
  313. package/esm2015/src/data/DataView.js +0 -1693
  314. package/esm2015/src/data/DataviewManager.js +0 -31
  315. package/esm2015/src/data/DataviewManagerBase.js +0 -18
  316. package/esm2015/src/data/Field.js +0 -672
  317. package/esm2015/src/data/FieldBase.js +0 -9
  318. package/esm2015/src/data/Record.js +0 -914
  319. package/esm2015/src/data/RecordsTable.js +0 -267
  320. package/esm2015/src/data/TaskTransactionManager.js +0 -110
  321. package/esm2015/src/data/XMLBasedDcValuesBuilder.js +0 -74
  322. package/esm2015/src/env/EnvVariablesTable.js +0 -408
  323. package/esm2015/src/env/Environment.js +0 -563
  324. package/esm2015/src/env/LanguageData.js +0 -230
  325. package/esm2015/src/event/Event.js +0 -1449
  326. package/esm2015/src/event/EventHandler.js +0 -787
  327. package/esm2015/src/event/EventHandlerPosition.js +0 -201
  328. package/esm2015/src/event/EventsManager.js +0 -3107
  329. package/esm2015/src/event/IEventsManager.js +0 -7
  330. package/esm2015/src/event/RunTimeEvent.js +0 -406
  331. package/esm2015/src/exp/Expression.js +0 -209
  332. package/esm2015/src/exp/ExpressionEvaluator.js +0 -4441
  333. package/esm2015/src/exp/ExpressionLocalJpn.js +0 -314
  334. package/esm2015/src/exp/GlobalParamsTable.js +0 -84
  335. package/esm2015/src/exp/YesNoExp.js +0 -44
  336. package/esm2015/src/gui/FormsTable.js +0 -73
  337. package/esm2015/src/gui/MgControl.js +0 -438
  338. package/esm2015/src/gui/MgForm.js +0 -1292
  339. package/esm2015/src/http/HttpManager.js +0 -100
  340. package/esm2015/src/http/client/HttpClientAsync.js +0 -72
  341. package/esm2015/src/http/client/HttpClientBase.js +0 -148
  342. package/esm2015/src/http/client/HttpClientSync.js +0 -47
  343. package/esm2015/src/remote/AddUserLocateRemoteDataViewCommand.js +0 -21
  344. package/esm2015/src/remote/AddUserRangeRemoteDataViewCommand.js +0 -21
  345. package/esm2015/src/remote/AddUserSortRemoteDataViewCommand.js +0 -21
  346. package/esm2015/src/remote/RemoteCommandsProcessor.js +0 -903
  347. package/esm2015/src/remote/RemoteControlItemsRefreshCommand.js +0 -28
  348. package/esm2015/src/remote/RemoteDataViewCommandBase.js +0 -27
  349. package/esm2015/src/remote/RemoteDataViewCommandUpdateNonModifiable.js +0 -19
  350. package/esm2015/src/remote/RemoteDataviewManager.js +0 -23
  351. package/esm2015/src/remote/RemoteInitDataViewCommand.js +0 -14
  352. package/esm2015/src/remote/ResetUserLocateRemoteDataviewCommand.js +0 -20
  353. package/esm2015/src/remote/ResetUserRangeRemoteDataviewCommand.js +0 -16
  354. package/esm2015/src/remote/ResetUserSortRemoteDataviewCommand.js +0 -19
  355. package/esm2015/src/remote/ServerError.js +0 -45
  356. package/esm2015/src/rt/Argument.js +0 -281
  357. package/esm2015/src/rt/ArgumentsList.js +0 -108
  358. package/esm2015/src/rt/Boundary.js +0 -161
  359. package/esm2015/src/rt/DataviewHeaderBase.js +0 -96
  360. package/esm2015/src/rt/DataviewHeaderFactory.js +0 -7
  361. package/esm2015/src/rt/DataviewHeadersSaxHandler.js +0 -40
  362. package/esm2015/src/rt/Operation.js +0 -769
  363. package/esm2015/src/rt/Recompute.js +0 -372
  364. package/esm2015/src/rt/RemoteDataviewHeader.js +0 -114
  365. package/esm2015/src/rt/TableCache.js +0 -182
  366. package/esm2015/src/rt/TableCacheManager.js +0 -70
  367. package/esm2015/src/rt/Transaction.js +0 -54
  368. package/esm2015/src/tasks/MGData.js +0 -561
  369. package/esm2015/src/tasks/MGDataCollection.js +0 -270
  370. package/esm2015/src/tasks/RemoteTaskService.js +0 -45
  371. package/esm2015/src/tasks/Task.js +0 -2593
  372. package/esm2015/src/tasks/TaskServiceBase.js +0 -30
  373. package/esm2015/src/tasks/TasksTable.js +0 -87
  374. package/esm2015/src/tasks/sort/SortCollection.js +0 -72
  375. package/esm2015/src/util/MgPriorityBlockingQueue.js +0 -79
  376. package/esm2015/src/util/PrmMap.js +0 -157
  377. package/esm2015/src/util/Process.js +0 -7
  378. package/esm2015/src/util/ReturnResult.js +0 -46
  379. package/fesm2015/magic-xpa-engine.js.map +0 -1
@@ -0,0 +1,222 @@
1
+ import { Debug, Int32, List, NString } from "@magic-xpa/mscorelib";
2
+ import { InternalInterface, XMLConstants, XmlParser } from "@magic-xpa/utils";
3
+ import { ClientTargetedCommandBase } from "./ClientTargetedCommandBase";
4
+ import { ArgumentsList } from "../../rt/ArgumentsList";
5
+ import { MGData } from "../../tasks/MGData";
6
+ import { MgControl } from "../../gui/MgControl";
7
+ import { OpeningTaskDetails } from "../../tasks/TaskBase";
8
+ import { ConstInterface } from "../../ConstInterface";
9
+ import { LastFocusedManager } from "../../rt/LastFocusedManager";
10
+ import { RemoteCommandsProcessor } from "../../remote/RemoteCommandsProcessor";
11
+ import { Task } from "../../tasks/Task";
12
+ import { AccessHelper } from "../../AccessHelper";
13
+ import { MgControlType } from "@magic-xpa/utils";
14
+ import { RunTimeEvent } from '../../event/RunTimeEvent';
15
+ export class OpenURLCommand extends ClientTargetedCommandBase {
16
+ constructor() {
17
+ super();
18
+ this._callingTaskTag = null;
19
+ this._pathParentTaskTag = null;
20
+ this._subformCtrlName = null;
21
+ this._ditIdx = Int32.MinValue;
22
+ this._isModal = true;
23
+ this._transOwner = null;
24
+ this._newId = null;
25
+ this._forceModal = false;
26
+ this._key = null;
27
+ this._varList = null;
28
+ this._isRoute = false;
29
+ this.NewTaskXML = null;
30
+ }
31
+ get IsBlocking() {
32
+ return this._isModal && this._subformCtrlName === null;
33
+ }
34
+ async Execute(res) {
35
+ let mgd = null;
36
+ let destinationSubformSucceeded = false;
37
+ let refreshWhenHidden = true;
38
+ let mgdID = 0;
39
+ let subformCtrl = null;
40
+ let oldTimers = new List(), newTimers = new List();
41
+ let moveToFirstControl = true;
42
+ let guiParentTask;
43
+ let guiParentMgData = null;
44
+ let callingTask = (this._callingTaskTag != null ? AccessHelper.mgDataTable.GetTaskByID(this._callingTaskTag) : null);
45
+ let pathParentTask = (this._pathParentTaskTag != null ? AccessHelper.mgDataTable.GetTaskByID(this._pathParentTaskTag) : null);
46
+ let lastFocusedTask = LastFocusedManager.Instance.getLastFocusedTask();
47
+ guiParentTask = callingTask = AccessHelper.mgDataTable.GetTaskByID(this._callingTaskTag);
48
+ if ((!NString.IsNullOrEmpty(this._subformCtrlName)) || (this._ditIdx !== Int32.MinValue) || this._isRoute) {
49
+ if (this._isRoute && NString.IsNullOrEmpty(this._subformCtrlName.trim())) {
50
+ subformCtrl = callingTask.getForm().DefaultRouterOutlet;
51
+ }
52
+ else {
53
+ if (!callingTask.IsInteractive) {
54
+ for (let parentTask = callingTask; parentTask.getForm() != null; parentTask = parentTask.getParent()) {
55
+ subformCtrl = parentTask.getForm().getCtrlByName(this._subformCtrlName, MgControlType.CTRL_TYPE_SUBFORM);
56
+ if (subformCtrl != null) {
57
+ callingTask = guiParentTask = parentTask;
58
+ break;
59
+ }
60
+ }
61
+ }
62
+ else
63
+ subformCtrl = (this._ditIdx !== Int32.MinValue ? callingTask.getForm().getCtrl(this._ditIdx) : callingTask.getForm().getSubFormCtrlByName(this._subformCtrlName));
64
+ }
65
+ }
66
+ if (callingTask != null)
67
+ mgd = callingTask.getMGData();
68
+ if (subformCtrl != null) {
69
+ let subformTask = subformCtrl.getSubformTask();
70
+ guiParentTask = subformCtrl.getForm().getTask();
71
+ mgdID = guiParentTask.getMgdID();
72
+ guiParentMgData = guiParentTask.getMGData();
73
+ if (guiParentMgData.getTimerHandlers() != null)
74
+ oldTimers = guiParentMgData.getTimerHandlers().getTimersVector();
75
+ if (this._ditIdx !== Int32.MinValue) {
76
+ refreshWhenHidden = false;
77
+ moveToFirstControl = false;
78
+ }
79
+ else {
80
+ destinationSubformSucceeded = true;
81
+ if (this._transOwner != null) {
82
+ let newTransOwnerTask = AccessHelper.mgDataTable.GetTaskByID(this._transOwner);
83
+ if (newTransOwnerTask != null)
84
+ newTransOwnerTask.setTransOwnerTask();
85
+ }
86
+ if (subformTask != null) {
87
+ subformTask.setDestinationSubform(true);
88
+ await subformTask.stop();
89
+ }
90
+ if (!MgControl.validReturnToCtrl())
91
+ MgControl.ReturnToCtrl = LastFocusedManager.getLastFocusedControl();
92
+ }
93
+ subformCtrl.setSubformTaskId(this._newId);
94
+ }
95
+ let parentMgData;
96
+ if (callingTask == null)
97
+ parentMgData = AccessHelper.mgDataTable.getMGData(0);
98
+ else
99
+ parentMgData = callingTask.getMGData();
100
+ if (!destinationSubformSucceeded && refreshWhenHidden) {
101
+ mgdID = AccessHelper.mgDataTable.getAvailableIdx();
102
+ Debug.Assert(mgdID > 0);
103
+ mgd = new MGData(OpenURLCommand.createNewCommandsTable(), OpenURLCommand.createNewCommandsTable(), mgdID, parentMgData, this._isModal, this._forceModal);
104
+ mgd.copyUnframedCmds();
105
+ await AccessHelper.mgDataTable.addMGData(mgd, mgdID, false);
106
+ AccessHelper.mgDataTable.currMgdID = mgdID;
107
+ }
108
+ this.Obj = this._key;
109
+ this._key = null;
110
+ try {
111
+ await RemoteCommandsProcessor.GetInstance().ProcessResponse(this.NewTaskXML, mgdID, new OpeningTaskDetails(callingTask, pathParentTask), null);
112
+ }
113
+ finally {
114
+ AccessHelper.eventsManager.setIgnoreUnknownAbort(false);
115
+ }
116
+ if (destinationSubformSucceeded || !refreshWhenHidden) {
117
+ subformCtrl.initSubformTask();
118
+ if (destinationSubformSucceeded) {
119
+ let subformTask = subformCtrl.getSubformTask();
120
+ moveToFirstControl = !callingTask.RetainFocus;
121
+ subformTask.setIsDestinationCall(true);
122
+ }
123
+ }
124
+ let isSubformModal = false;
125
+ let prevMgDataIsModal = mgd.IsModal;
126
+ if (subformCtrl != null) {
127
+ if (guiParentMgData.getTimerHandlers() != null)
128
+ newTimers = guiParentMgData.getTimerHandlers().getTimersVector();
129
+ guiParentMgData.changeTimers(oldTimers, newTimers);
130
+ if (subformCtrl.IsModal())
131
+ this._isModal = isSubformModal = mgd.IsModal = true;
132
+ }
133
+ let nonInteractiveTask = await Task.StartProgram(destinationSubformSucceeded, moveToFirstControl);
134
+ if (!isSubformModal)
135
+ this._isModal = mgd.IsModal;
136
+ if (nonInteractiveTask == null) {
137
+ if (callingTask != null && ((this._isModal && (isSubformModal || !destinationSubformSucceeded) && refreshWhenHidden) || (!callingTask.IsInteractive && (!callingTask.isMainProg() || callingTask.getForm() == null)))) {
138
+ if (this._isModal) {
139
+ AccessHelper.mgDataTable.startTasksIteration();
140
+ let task;
141
+ while ((task = AccessHelper.mgDataTable.getNextTask()) !== null) {
142
+ let dataViewWasRetrieved = task.DataViewWasRetrieved;
143
+ if (dataViewWasRetrieved) {
144
+ await task.RefreshDisplay();
145
+ }
146
+ }
147
+ }
148
+ await AccessHelper.eventsManager.EventsLoop(mgd);
149
+ if (isSubformModal) {
150
+ mgd.IsAborting = false;
151
+ mgd.IsModal = prevMgDataIsModal;
152
+ }
153
+ }
154
+ }
155
+ else
156
+ await AccessHelper.eventsManager.NonInteractiveEventsLoop(mgd, nonInteractiveTask);
157
+ if (AccessHelper.eventsManager.getPendingGuiEvent() != null && (isSubformModal || nonInteractiveTask != null)) {
158
+ let guiEvent = AccessHelper.eventsManager.getPendingGuiEvent();
159
+ if (guiEvent.getTask() != callingTask || this._callingTaskTag !== callingTask.getTaskTag()) {
160
+ callingTask = AccessHelper.mgDataTable.GetTaskByID(this._callingTaskTag);
161
+ if (callingTask.getIsDestinationCall()) {
162
+ let subformCtrl = callingTask.getForm().getSubFormCtrl();
163
+ await AccessHelper.eventsManager.performSubformClose(subformCtrl);
164
+ }
165
+ else {
166
+ let rtEvt = new RunTimeEvent(callingTask);
167
+ rtEvt.setInternal(InternalInterface.MG_ACT_CLOSE);
168
+ rtEvt.setCtrl(null);
169
+ rtEvt.setArgList(null);
170
+ AccessHelper.eventsManager.addToTail(rtEvt);
171
+ }
172
+ }
173
+ else {
174
+ AccessHelper.eventsManager.addToTail(guiEvent);
175
+ AccessHelper.eventsManager.setPendingGuiEvent(null);
176
+ }
177
+ }
178
+ }
179
+ HandleAttribute(attribute, value) {
180
+ switch (attribute) {
181
+ case ConstInterface.MG_ATTR_CALLINGTASK:
182
+ this._callingTaskTag = value;
183
+ break;
184
+ case ConstInterface.MG_ATTR_PATH_PARENT_TASK:
185
+ this._pathParentTaskTag = value;
186
+ break;
187
+ case ConstInterface.MG_ATTR_SUBFORM_CTRL:
188
+ this._subformCtrlName = value;
189
+ break;
190
+ case XMLConstants.MG_ATTR_DITIDX:
191
+ this._ditIdx = XmlParser.getInt(value);
192
+ break;
193
+ case ConstInterface.MG_ATTR_MODAL:
194
+ this._isModal = (value[0] === '1');
195
+ break;
196
+ case ConstInterface.MG_ATTR_TRANS_OWNER:
197
+ this._transOwner = value;
198
+ break;
199
+ case ConstInterface.MG_ATTR_NEWID:
200
+ this._newId = NString.TrimEnd(value);
201
+ break;
202
+ case ConstInterface.MG_ATTR_KEY:
203
+ this._key = value;
204
+ break;
205
+ case ConstInterface.MG_ATTR_ARGLIST:
206
+ this._varList = new ArgumentsList();
207
+ this._varList.fillList(value, AccessHelper.mgDataTable.GetTaskByID(this.TaskTag));
208
+ break;
209
+ case ConstInterface.MG_ATTR_OBJECT:
210
+ this.Obj = value;
211
+ break;
212
+ case ConstInterface.MG_ATTR_IS_ROUTE:
213
+ this._isRoute = (value[0] === '1');
214
+ break;
215
+ default:
216
+ super.HandleAttribute(attribute, value);
217
+ break;
218
+ }
219
+ }
220
+ }
221
+ OpenURLCommand.createNewCommandsTable = null;
222
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiT3BlblVSTENvbW1hbmQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9lbmdpbmUvc3JjL2NvbW1hbmRzL1NlcnZlclRvQ2xpZW50L09wZW5VUkxDb21tYW5kLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxLQUFLLEVBQUUsS0FBSyxFQUFFLElBQUksRUFBRSxPQUFPLEVBQUMsTUFBTSxzQkFBc0IsQ0FBQztBQUNqRSxPQUFPLEVBQUMsaUJBQWlCLEVBQUUsWUFBWSxFQUFFLFNBQVMsRUFBQyxNQUFNLGtCQUFrQixDQUFDO0FBQzVFLE9BQU8sRUFBQyx5QkFBeUIsRUFBQyxNQUFNLDZCQUE2QixDQUFDO0FBQ3RFLE9BQU8sRUFBQyxhQUFhLEVBQUMsTUFBTSx3QkFBd0IsQ0FBQztBQUNyRCxPQUFPLEVBQUMsTUFBTSxFQUFDLE1BQU0sb0JBQW9CLENBQUM7QUFDMUMsT0FBTyxFQUFDLFNBQVMsRUFBQyxNQUFNLHFCQUFxQixDQUFDO0FBRTlDLE9BQU8sRUFBQyxrQkFBa0IsRUFBQyxNQUFNLHNCQUFzQixDQUFDO0FBRXhELE9BQU8sRUFBQyxjQUFjLEVBQUMsTUFBTSxzQkFBc0IsQ0FBQztBQUVwRCxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUNqRSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSxzQ0FBc0MsQ0FBQztBQUMvRSxPQUFPLEVBQUUsSUFBSSxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFDeEMsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBQ2xELE9BQU8sRUFBQyxhQUFhLEVBQUMsTUFBTSxrQkFBa0IsQ0FBQztBQUMvQyxPQUFPLEVBQUMsWUFBWSxFQUFDLE1BQU0sMEJBQTBCLENBQUM7QUFHdEQsTUFBTSxPQUFPLGNBQWUsU0FBUSx5QkFBeUI7SUFlM0Q7UUFDRSxLQUFLLEVBQUUsQ0FBQztRQWZG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QUcsSUFBSSxhQUFhLEVBQUUsQ0FBQztnQkFDcEMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxRQUFRLENBQUMsS0FBSyxFQUFZLFlBQVksQ0FBQyxXQUFXLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDO2dCQUM1RixNQUFNO1lBQ1IsS0FBSyxjQUFjLENBQUMsY0FBYztnQkFDaEMsSUFBSSxDQUFDLEdBQUcsR0FBRyxLQUFLLENBQUM7Z0JBQ2pCLE1BQU07WUFDUixLQUFLLGNBQWMsQ0FBQyxnQkFBZ0I7Z0JBQ2xDLElBQUksQ0FBQyxRQUFRLEdBQUcsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLEtBQUssR0FBRyxDQUFDLENBQUM7Z0JBQ25DLE1BQU07WUFDUjtnQkFDRSxLQUFLLENBQUMsZUFBZSxDQUFDLFNBQVMsRUFBRSxLQUFLLENBQUMsQ0FBQztnQkFDeEMsTUFBTTtTQUNUO0lBQ0gsQ0FBQzs7QUF2UE0scUNBQXNCLEdBQUcsSUFBSSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtEZWJ1ZywgSW50MzIsIExpc3QsIE5TdHJpbmd9IGZyb20gXCJAbWFnaWMteHBhL21zY29yZWxpYlwiO1xyXG5pbXBvcnQge0ludGVybmFsSW50ZXJmYWNlLCBYTUxDb25zdGFudHMsIFhtbFBhcnNlcn0gZnJvbSBcIkBtYWdpYy14cGEvdXRpbHNcIjtcclxuaW1wb3J0IHtDbGllbnRUYXJnZXRlZENvbW1hbmRCYXNlfSBmcm9tIFwiLi9DbGllbnRUYXJnZXRlZENvbW1hbmRCYXNlXCI7XHJcbmltcG9ydCB7QXJndW1lbnRzTGlzdH0gZnJvbSBcIi4uLy4uL3J0L0FyZ3VtZW50c0xpc3RcIjtcclxuaW1wb3J0IHtNR0RhdGF9IGZyb20gXCIuLi8uLi90YXNrcy9NR0RhdGFcIjtcclxuaW1wb3J0IHtNZ0NvbnRyb2x9IGZyb20gXCIuLi8uLi9ndWkvTWdDb250cm9sXCI7XHJcbmltcG9ydCB7TWdGb3JtfSBmcm9tIFwiLi4vLi4vZ3VpL01nRm9ybVwiO1xyXG5pbXBvcnQge09wZW5pbmdUYXNrRGV0YWlsc30gZnJvbSBcIi4uLy4uL3Rhc2tzL1Rhc2tCYXNlXCI7XHJcbmltcG9ydCB7IFRhc2tCYXNlfSBmcm9tIFwiLi4vLi4vdGFza3MvVGFza0Jhc2VcIjtcclxuaW1wb3J0IHtDb25zdEludGVyZmFjZX0gZnJvbSBcIi4uLy4uL0NvbnN0SW50ZXJmYWNlXCI7XHJcbmltcG9ydCB7SVJlc3VsdFZhbHVlfSBmcm9tIFwiLi4vLi4vcnQvSVJlc3VsdFZhbHVlXCI7XHJcbmltcG9ydCB7IExhc3RGb2N1c2VkTWFuYWdlciB9IGZyb20gXCIuLi8uLi9ydC9MYXN0Rm9jdXNlZE1hbmFnZXJcIjtcclxuaW1wb3J0IHsgUmVtb3RlQ29tbWFuZHNQcm9jZXNzb3IgfSBmcm9tIFwiLi4vLi4vcmVtb3RlL1JlbW90ZUNvbW1hbmRzUHJvY2Vzc29yXCI7XHJcbmltcG9ydCB7IFRhc2sgfSBmcm9tIFwiLi4vLi4vdGFza3MvVGFza1wiO1xyXG5pbXBvcnQgeyBBY2Nlc3NIZWxwZXIgfSBmcm9tIFwiLi4vLi4vQWNjZXNzSGVscGVyXCI7XHJcbmltcG9ydCB7TWdDb250cm9sVHlwZX0gZnJvbSBcIkBtYWdpYy14cGEvdXRpbHNcIjtcclxuaW1wb3J0IHtSdW5UaW1lRXZlbnR9IGZyb20gJy4uLy4uL2V2ZW50L1J1blRpbWVFdmVudCc7XHJcblxyXG5cclxuZXhwb3J0IGNsYXNzIE9wZW5VUkxDb21tYW5kIGV4dGVuZHMgQ2xpZW50VGFyZ2V0ZWRDb21tYW5kQmFzZSB7XHJcbiAgcHJpdmF0ZSBfY2FsbGluZ1Rhc2tUYWc6IHN0cmluZyA9IG51bGw7ICAvLyBpcyB0aGUgaWQgb2YgdGhlIHRhc2sgdGhhdCBjYWxsZWQgdGhlIG5ldyB3aW5kb3dcclxuICBwcml2YXRlIF9wYXRoUGFyZW50VGFza1RhZzogc3RyaW5nID0gbnVsbDsgLy8gaXMgdGhlIGlkIG9mIHBhdGggcGFyZW50IHRhc2sgdGFnXHJcbiAgcHJpdmF0ZSBfc3ViZm9ybUN0cmxOYW1lOiBzdHJpbmcgPSBudWxsOyAvLyBTdWJmb3JtIGNvbnRyb2wgbmFtZSBmb3IgRGVzdGluYXRpb24gU3ViZm9ybVxyXG4gIHByaXZhdGUgX2RpdElkeDogbnVtYmVyID0gSW50MzIuTWluVmFsdWU7XHJcbiAgcHJpdmF0ZSBfaXNNb2RhbDogYm9vbGVhbiA9IHRydWU7IC8vIFl8TlxyXG4gIHByaXZhdGUgX3RyYW5zT3duZXI6IHN0cmluZyA9IG51bGw7XHJcbiAgcHJpdmF0ZSBfbmV3SWQ6IHN0cmluZyA9IG51bGw7XHJcbiAgcHJpdmF0ZSBfZm9yY2VNb2RhbDogYm9vbGVhbiA9IGZhbHNlO1xyXG4gIHByaXZhdGUgX2tleTogc3RyaW5nID0gbnVsbDtcclxuICBwcml2YXRlIF92YXJMaXN0OiBBcmd1bWVudHNMaXN0ID0gbnVsbDtcclxuICBwcml2YXRlIF9pc1JvdXRlOiBib29sZWFuID0gZmFsc2U7IC8vIFl8TlxyXG4gIE5ld1Rhc2tYTUw6IHN0cmluZyA9IG51bGw7XHJcbiAgc3RhdGljIGNyZWF0ZU5ld0NvbW1hbmRzVGFibGUgPSBudWxsO1xyXG5cclxuICBjb25zdHJ1Y3RvcigpIHtcclxuICAgIHN1cGVyKCk7XHJcbiAgfVxyXG5cclxuICBnZXQgSXNCbG9ja2luZygpOiBib29sZWFuIHtcclxuICAgIHJldHVybiB0aGlzLl9pc01vZGFsICYmIHRoaXMuX3N1YmZvcm1DdHJsTmFtZSA9PT0gbnVsbDtcclxuICB9XHJcblxyXG4gIGFzeW5jIEV4ZWN1dGUocmVzOiBJUmVzdWx0VmFsdWUpOiBQcm9taXNlPHZvaWQ+IHtcclxuICAgIGxldCBtZ2Q6IE1HRGF0YSA9IG51bGw7XHJcbiAgICBsZXQgZGVzdGluYXRpb25TdWJmb3JtU3VjY2VlZGVkOiBib29sZWFuID0gZmFsc2U7XHJcbiAgICBsZXQgcmVmcmVzaFdoZW5IaWRkZW46IGJvb2xlYW4gPSB0cnVlO1xyXG4gICAgbGV0IG1nZElEOiBudW1iZXIgPSAwO1xyXG4gICAgbGV0IHN1YmZvcm1DdHJsOiBNZ0NvbnRyb2wgPSBudWxsO1xyXG4gICAgbGV0IG9sZFRpbWVyczogTGlzdDxudW1iZXI+ID0gbmV3IExpc3Q8bnVtYmVyPigpLCBuZXdUaW1lcnMgPSBuZXcgTGlzdDxudW1iZXI+KCk7XHJcbiAgICBsZXQgbW92ZVRvRmlyc3RDb250cm9sOiBib29sZWFuID0gdHJ1ZTtcclxuICAgIGxldCBndWlQYXJlbnRUYXNrOiBUYXNrQmFzZTtcclxuICAgIGxldCBndWlQYXJlbnRNZ0RhdGE6IE1HRGF0YSA9IG51bGw7XHJcbiAgICBsZXQgY2FsbGluZ1Rhc2s6IFRhc2tCYXNlID0gKHRoaXMuX2NhbGxpbmdUYXNrVGFnICE9IG51bGwgPyA8VGFza0Jhc2U+QWNjZXNzSGVscGVyLm1nRGF0YVRhYmxlLkdldFRhc2tCeUlEKHRoaXMuX2NhbGxpbmdUYXNrVGFnKSA6IG51bGwpO1xyXG4gICAgbGV0IHBhdGhQYXJlbnRUYXNrOiBUYXNrQmFzZSA9ICh0aGlzLl9wYXRoUGFyZW50VGFza1RhZyAhPSBudWxsID8gPFRhc2tCYXNlPkFjY2Vzc0hlbHBlci5tZ0RhdGFUYWJsZS5HZXRUYXNrQnlJRCh0aGlzLl9wYXRoUGFyZW50VGFza1RhZykgOiBudWxsKTtcclxuXHJcbiAgICBsZXQgbGFzdEZvY3VzZWRUYXNrOiBUYXNrQmFzZSA9IExhc3RGb2N1c2VkTWFuYWdlci5JbnN0YW5jZS5nZXRMYXN0Rm9jdXNlZFRhc2soKTtcclxuXHJcbiAgICAvLyBXaGVuIGEgbm9uT2ZmbGluZSB0YXNrIHdhcyBjYWxsZWQgZnJvbSBhbiBPZmZsaW5lIHRhc2sgKG9mIGNvdXJzZSB2aWEgTVAgZXZlbnQpLFxyXG4gICAgLy8gdGhlIGNhbGxpbmcgdGFzayBpZCB3YXMgbm90IHNlbnQgdG8gdGhlIHNlcnZlciBiZWNhdXNlIHRoZSBzZXJ2ZXIgaXMgdW5hd2FyZSBvZiB0aGVcclxuICAgIC8vIG9mZmxpbmUgdGFzay4gU28sIHdoZW4gY29taW5nIGJhY2sgZnJvbSB0aGUgc2VydmVyLCBhc3NpZ24gdGhlIGNvcnJlY3QgY2FsbGluZyB0YXNrLlxyXG4gICAgLy8gVGFza0Jhc2UgbGFzdEZvY3VzZWRUYXNrID0gQ2xpZW50TWFuYWdlci5JbnN0YW5jZS5nZXRMYXN0Rm9jdXNlZFRhc2soKTtcclxuICAgIC8vIGlmIChsYXN0Rm9jdXNlZFRhc2sgIT0gbnVsbCAmJiBsYXN0Rm9jdXNlZFRhc2suSXNPZmZsaW5lKVxyXG4gICAgLy8gICBfY2FsbGluZ1Rhc2tUYWcgPSBsYXN0Rm9jdXNlZFRhc2suZ2V0VGFza1RhZygpO1xyXG5cclxuICAgIGd1aVBhcmVudFRhc2sgPSBjYWxsaW5nVGFzayA9IDxUYXNrQmFzZT5BY2Nlc3NIZWxwZXIubWdEYXRhVGFibGUuR2V0VGFza0J5SUQodGhpcy5fY2FsbGluZ1Rhc2tUYWcpO1xyXG5cclxuICAgIC8vIGRpdElkeCBpcyBzZW5kIGJ5IHNlcnZlciBvbmx5IGZvciBzdWJmb3JtIG9wZW5pbmcgZm9yIHJlZnJlc2hXaGVuSGlkZGVuXHJcbiAgICBpZiAoKCFOU3RyaW5nLklzTnVsbE9yRW1wdHkodGhpcy5fc3ViZm9ybUN0cmxOYW1lKSkgfHwgKHRoaXMuX2RpdElkeCAhPT0gSW50MzIuTWluVmFsdWUpIHx8IHRoaXMuX2lzUm91dGUpIHtcclxuICAgICAgaWYgKHRoaXMuX2lzUm91dGUgJiYgTlN0cmluZy5Jc051bGxPckVtcHR5KHRoaXMuX3N1YmZvcm1DdHJsTmFtZS50cmltKCkpKSB7XHJcbiAgICAgICAgc3ViZm9ybUN0cmwgPSA8TWdDb250cm9sPmNhbGxpbmdUYXNrLmdldEZvcm0oKS5EZWZhdWx0Um91dGVyT3V0bGV0O1xyXG4gICAgICB9XHJcbiAgICAgIGVsc2Uge1xyXG4gICAgICAgIGlmICghY2FsbGluZ1Rhc2suSXNJbnRlcmFjdGl2ZSkge1xyXG4gICAgICAgICAgZm9yIChsZXQgcGFyZW50VGFzazogVGFza0Jhc2UgPSBjYWxsaW5nVGFzazsgcGFyZW50VGFzay5nZXRGb3JtKCkgIT0gbnVsbDsgcGFyZW50VGFzayA9IHBhcmVudFRhc2suZ2V0UGFyZW50KCkpIHtcclxuICAgICAgICAgICAgc3ViZm9ybUN0cmwgPSA8TWdDb250cm9sPnBhcmVudFRhc2suZ2V0Rm9ybSgpLmdldEN0cmxCeU5hbWUodGhpcy5fc3ViZm9ybUN0cmxOYW1lLCBNZ0NvbnRyb2xUeXBlLkNUUkxfVFlQRV9TVUJGT1JNKTtcclxuICAgICAgICAgICAgaWYgKHN1YmZvcm1DdHJsICE9IG51bGwpIHtcclxuICAgICAgICAgICAgICAgIGNhbGxpbmdUYXNrID0gZ3VpUGFyZW50VGFzayA9IHBhcmVudFRhc2s7XHJcbiAgICAgICAgICAgICAgYnJlYWs7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgZWxzZVxyXG4gICAgICAgICAgc3ViZm9ybUN0cmwgPSAodGhpcy5fZGl0SWR4ICE9PSBJbnQzMi5NaW5WYWx1ZSA/IDxNZ0NvbnRyb2w+Y2FsbGluZ1Rhc2suZ2V0Rm9ybSgpLmdldEN0cmwodGhpcy5fZGl0SWR4KSA6ICg8TWdGb3JtPmNhbGxpbmdUYXNrLmdldEZvcm0oKSkuZ2V0U3ViRm9ybUN0cmxCeU5hbWUodGhpcy5fc3ViZm9ybUN0cmxOYW1lKSk7XHJcbiAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBpZiAoY2FsbGluZ1Rhc2sgIT0gbnVsbClcclxuICAgICAgbWdkID0gY2FsbGluZ1Rhc2suZ2V0TUdEYXRhKCk7XHJcblxyXG4gICAgaWYgKHN1YmZvcm1DdHJsICE9IG51bGwpIHtcclxuICAgICAgbGV0IHN1YmZvcm1UYXNrOiBUYXNrQmFzZSA9IDxUYXNrQmFzZT5zdWJmb3JtQ3RybC5nZXRTdWJmb3JtVGFzaygpO1xyXG4gICAgICBndWlQYXJlbnRUYXNrID0gPFRhc2tCYXNlPnN1YmZvcm1DdHJsLmdldEZvcm0oKS5nZXRUYXNrKCk7XHJcbiAgICAgIG1nZElEID0gZ3VpUGFyZW50VGFzay5nZXRNZ2RJRCgpO1xyXG4gICAgICBndWlQYXJlbnRNZ0RhdGEgPSBndWlQYXJlbnRUYXNrLmdldE1HRGF0YSgpO1xyXG4gICAgICBpZiAoZ3VpUGFyZW50TWdEYXRhLmdldFRpbWVySGFuZGxlcnMoKSAhPSBudWxsKVxyXG4gICAgICAgIG9sZFRpbWVycyA9IGd1aVBhcmVudE1nRGF0YS5nZXRUaW1lckhhbmRsZXJzKCkuZ2V0VGltZXJzVmVjdG9yKCk7XHJcblxyXG4gICAgICBpZiAodGhpcy5fZGl0SWR4ICE9PSBJbnQzMi5NaW5WYWx1ZSkgeyAvLyBmb3IgcmVmcmVzaCB3aGVuIGhpZGRlblxyXG4gICAgICAgIHJlZnJlc2hXaGVuSGlkZGVuID0gZmFsc2U7XHJcbiAgICAgICAgbW92ZVRvRmlyc3RDb250cm9sID0gZmFsc2U7XHJcbiAgICAgIH1cclxuICAgICAgZWxzZSB7IC8vIGZvciBkZXN0aW5hdGlvblxyXG4gICAgICAgIGRlc3RpbmF0aW9uU3ViZm9ybVN1Y2NlZWRlZCA9IHRydWU7XHJcbiAgICAgICAgLy8gUGFzcyB0cmFuc2FjdGlvbiBvd25lcnNoaXBcclxuICAgICAgICBpZiAodGhpcy5fdHJhbnNPd25lciAhPSBudWxsKSB7XHJcbiAgICAgICAgICBsZXQgbmV3VHJhbnNPd25lclRhc2sgPSA8VGFza0Jhc2U+QWNjZXNzSGVscGVyLm1nRGF0YVRhYmxlLkdldFRhc2tCeUlEKHRoaXMuX3RyYW5zT3duZXIpO1xyXG4gICAgICAgICAgaWYgKG5ld1RyYW5zT3duZXJUYXNrICE9IG51bGwpXHJcbiAgICAgICAgICAgIG5ld1RyYW5zT3duZXJUYXNrLnNldFRyYW5zT3duZXJUYXNrKCk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGlmIChzdWJmb3JtVGFzayAhPSBudWxsKSB7XHJcbiAgICAgICAgICBzdWJmb3JtVGFzay5zZXREZXN0aW5hdGlvblN1YmZvcm0odHJ1ZSk7XHJcbiAgICAgICAgICBhd2FpdCBzdWJmb3JtVGFzay5zdG9wKCk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGlmICghTWdDb250cm9sLnZhbGlkUmV0dXJuVG9DdHJsKCkpXHJcbiAgICAgICAgICAgTWdDb250cm9sLlJldHVyblRvQ3RybCA9IExhc3RGb2N1c2VkTWFuYWdlci5nZXRMYXN0Rm9jdXNlZENvbnRyb2woKTtcclxuICAgICAgfVxyXG4gICAgICBzdWJmb3JtQ3RybC5zZXRTdWJmb3JtVGFza0lkKHRoaXMuX25ld0lkKTtcclxuICAgIH1cclxuXHJcbiAgICBsZXQgcGFyZW50TWdEYXRhOiBNR0RhdGE7XHJcbiAgICBpZiAoY2FsbGluZ1Rhc2sgPT0gbnVsbClcclxuICAgICAgcGFyZW50TWdEYXRhID0gQWNjZXNzSGVscGVyLm1nRGF0YVRhYmxlLmdldE1HRGF0YSgwKTtcclxuICAgIGVsc2VcclxuICAgICAgcGFyZW50TWdEYXRhID0gY2FsbGluZ1Rhc2suZ2V0TUdEYXRhKCk7XHJcblxyXG4gICAgaWYgKCFkZXN0aW5hdGlvblN1YmZvcm1TdWNjZWVkZWQgJiYgcmVmcmVzaFdoZW5IaWRkZW4pIHtcclxuICAgICAgbWdkSUQgPSBBY2Nlc3NIZWxwZXIubWdEYXRhVGFibGUuZ2V0QXZhaWxhYmxlSWR4KCk7XHJcbiAgICAgIERlYnVnLkFzc2VydChtZ2RJRCA+IDApO1xyXG4gICAgICBtZ2QgPSBuZXcgTUdEYXRhKCBPcGVuVVJMQ29tbWFuZC5jcmVhdGVOZXdDb21tYW5kc1RhYmxlKCksXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIE9wZW5VUkxDb21tYW5kLmNyZWF0ZU5ld0NvbW1hbmRzVGFibGUoKSxcclxuICAgICAgICAgICAgICAgICAgICAgICAgbWdkSUQsIHBhcmVudE1nRGF0YSwgdGhpcy5faXNNb2RhbCwgdGhpcy5fZm9yY2VNb2RhbCk7XHJcbiAgICAgIG1nZC5jb3B5VW5mcmFtZWRDbWRzKCk7XHJcbiAgICAgIGF3YWl0IEFjY2Vzc0hlbHBlci5tZ0RhdGFUYWJsZS5hZGRNR0RhdGEobWdkLCBtZ2RJRCwgZmFsc2UpO1xyXG5cclxuICAgICAgQWNjZXNzSGVscGVyLm1nRGF0YVRhYmxlLmN1cnJNZ2RJRCA9IG1nZElEO1xyXG4gICAgfVxyXG4gICAgdGhpcy5PYmogPSB0aGlzLl9rZXk7XHJcbiAgICB0aGlzLl9rZXkgPSBudWxsO1xyXG4gICAgdHJ5IHtcclxuXHJcbiAgICAgIC8vIFRPRE8gOiBjaGVjayBpZiB3ZSBuZWVkIHRvIGZvcmNlIEdhcmJhZ2VDb2xsZWN0aW9uXHJcbiAgICAgIC8vIFRPRE8gOiBjaGVjayB0aGlzIG91dCA6ICBodHRwczovL3N0YWNrb3ZlcmZsb3cuY29tL3F1ZXN0aW9ucy8yNzMyMTk5Ny9ob3ctdG8tcmVxdWVzdC10aGUtZ2FyYmFnZS1jb2xsZWN0b3ItaW4tbm9kZS1qcy10by1ydW5cclxuICAgICAgLy8gaWYgKEdDLkdldFRvdGFsTWVtb3J5KGZhbHNlKSA+IDMwMDAwMDAwKVxyXG4gICAgICAvLyAgIEdDLkNvbGxlY3QoKTtcclxuICAgICAgYXdhaXQgUmVtb3RlQ29tbWFuZHNQcm9jZXNzb3IuR2V0SW5zdGFuY2UoKS5Qcm9jZXNzUmVzcG9uc2UodGhpcy5OZXdUYXNrWE1MLCBtZ2RJRCwgbmV3IE9wZW5pbmdUYXNrRGV0YWlscyhjYWxsaW5nVGFzaywgcGF0aFBhcmVudFRhc2spLCBudWxsKTtcclxuICAgIH1cclxuXHJcbiAgICBmaW5hbGx5IHtcclxuICAgICAgQWNjZXNzSGVscGVyLmV2ZW50c01hbmFnZXIuc2V0SWdub3JlVW5rbm93bkFib3J0KGZhbHNlKTtcclxuICAgIH1cclxuXHJcbiAgICBpZiAoZGVzdGluYXRpb25TdWJmb3JtU3VjY2VlZGVkIHx8ICFyZWZyZXNoV2hlbkhpZGRlbikge1xyXG4gICAgICBzdWJmb3JtQ3RybC5pbml0U3ViZm9ybVRhc2soKTtcclxuXHJcbiAgICAgIGlmIChkZXN0aW5hdGlvblN1YmZvcm1TdWNjZWVkZWQpIHtcclxuICAgICAgICBsZXQgc3ViZm9ybVRhc2s6IFRhc2tCYXNlID0gPFRhc2tCYXNlPnN1YmZvcm1DdHJsLmdldFN1YmZvcm1UYXNrKCk7XHJcbiAgICAgICAgbW92ZVRvRmlyc3RDb250cm9sID0gIWNhbGxpbmdUYXNrLlJldGFpbkZvY3VzO1xyXG4gICAgICAgIHN1YmZvcm1UYXNrLnNldElzRGVzdGluYXRpb25DYWxsKHRydWUpO1xyXG4gICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgbGV0IGlzU3ViZm9ybU1vZGFsOiBib29sZWFuID0gZmFsc2U7XHJcblx0ICBsZXQgcHJldk1nRGF0YUlzTW9kYWwgPSBtZ2QuSXNNb2RhbDtcclxuXHJcbiAgICBpZiAoc3ViZm9ybUN0cmwgIT0gbnVsbCkge1xyXG4gICAgICBpZiAoZ3VpUGFyZW50TWdEYXRhLmdldFRpbWVySGFuZGxlcnMoKSAhPSBudWxsKVxyXG4gICAgICAgIG5ld1RpbWVycyA9IGd1aVBhcmVudE1nRGF0YS5nZXRUaW1lckhhbmRsZXJzKCkuZ2V0VGltZXJzVmVjdG9yKCk7XHJcbiAgICAgIGd1aVBhcmVudE1nRGF0YS5jaGFuZ2VUaW1lcnMob2xkVGltZXJzLCBuZXdUaW1lcnMpO1xyXG5cdCAgaWYgKHN1YmZvcm1DdHJsLklzTW9kYWwoKSlcclxuXHRcdHRoaXMuX2lzTW9kYWwgPSBpc1N1YmZvcm1Nb2RhbCA9IG1nZC5Jc01vZGFsID0gdHJ1ZTtcclxuICAgIH1cclxuICAgIGxldCBub25JbnRlcmFjdGl2ZVRhc2s6IFRhc2tCYXNlID0gYXdhaXQgVGFzay5TdGFydFByb2dyYW0oZGVzdGluYXRpb25TdWJmb3JtU3VjY2VlZGVkLCBtb3ZlVG9GaXJzdENvbnRyb2wpO1xyXG4gICAgLy8gaW4gbG9jYWwgdGFza3MsIGlzbW9kYWwgaXMgY2FsY3VsYXRlZCBhZnRlciB0aGUgbWFpbiBkaXNwbGF5LCBzbyB3ZSBuZWVkIHRvIHVwZGF0ZSB0aGUgY29tbWFuZCBtZW1iZXJcclxuICAgIGlmICghaXNTdWJmb3JtTW9kYWwpXHJcbiAgICAgIHRoaXMuX2lzTW9kYWwgPSBtZ2QuSXNNb2RhbDtcclxuXHJcbiAgICAvLyBUaGlzIGlzIGJlY2F1c2Ugd2UgY2Fubm90IGFsbG93IHRoZSB0YXNrcyBhYm92ZSBpdCB0byBjYXRjaCBldmVudHMuXHJcbiAgICBpZiAobm9uSW50ZXJhY3RpdmVUYXNrID09IG51bGwpIHtcclxuICAgICAgLy8gYSBub24gaW50ZXJhY3RpdmUgcGFyZW50IHdpbGwgY2F1c2UgdGhlIGNhbGxlZCB0YXNrIHRvIGJlaGF2ZSBsaWtlIG1vZGFsIGJ5IGhhdmluZyBpdHMgb3duIGV2ZW50cyBsb29wLlxyXG4gICAgICAvLyBJbiBjYXNlIG9mIG1haW4gcHJvZ3JhbSBjYWxsZXIgKHdoaWNoIGlzIGZsYWdnZWQgYXMgbm9uIGludGVyYWN0aXZlKSB3ZSB3aWxsIGhhdmUgYSBuZXcgZXZlbnRzIGxvb3AgZm9yIHRoZSBjYWxsZWQgcHJvZ3JhbVxyXG4gICAgICAvLyBpZiB0aGUgbWFpbiBwcm9ncmFtIGlzIHdpdGhvdXQgYSBmb3JtLiBJZiB0aGUgbWFpbiBwcm9nIGhhcyBhIGZvcm0gLCB0aGVuIHRoZSBjYWxsZWUgY2FuIGJlIGluY2x1ZGVkIGluIHRoZSBtYWluIHByb2cgbG9vcC5cclxuICAgICAgLy8gaWYgc3ViZm9ybSBpcyBNb2RhbCwgZW50ZXIgaW4gc2VwYXJhdGUgZXZlbnRsb29wIHRvIGdldCBNb2RhbGl0eSBiZWhhdmlvclxyXG4gICAgICBpZiAoY2FsbGluZ1Rhc2sgIT0gbnVsbCAmJiAoKHRoaXMuX2lzTW9kYWwgJiYgKGlzU3ViZm9ybU1vZGFsIHx8ICFkZXN0aW5hdGlvblN1YmZvcm1TdWNjZWVkZWQpICYmIHJlZnJlc2hXaGVuSGlkZGVuKSB8fCAoIWNhbGxpbmdUYXNrLklzSW50ZXJhY3RpdmUgJiYgKCFjYWxsaW5nVGFzay5pc01haW5Qcm9nKCkgfHwgY2FsbGluZ1Rhc2suZ2V0Rm9ybSgpID09IG51bGwpKSkpIHtcclxuICAgICAgICBpZiAodGhpcy5faXNNb2RhbCkge1xyXG4gICAgICAgICAgLy8gcmVmcmVzaCBhbGwgdGFza3MgZGF0YSBiZWZvcmUgb3BlbmluZyBtb2RhbCB3aW5kb3cuIEJlY2F1c2Ugb25jZSB0aGUgd2luZG93IGlzIG9wZW5lZCwgcGFyZW50IHRhc2snc1xyXG4gICAgICAgICAgLy8gZGF0YSB3aWxsIG5vdCBiZSByZWZyZXNoZWQgdW50aWwgdGhlIG1vZGFsIHdpbmRvdyBpcyBjbG9zZWQgYW5kIG1vZGFsIHdpbmRvdyB0YXNrIHdpbGwgbm90IGdldCB0aGUgbGF0ZXN0XHJcbiAgICAgICAgICAvLyBwYXJlbnQgZGF0YS5cclxuXHJcbiAgICAgICAgICBBY2Nlc3NIZWxwZXIubWdEYXRhVGFibGUuc3RhcnRUYXNrc0l0ZXJhdGlvbigpO1xyXG4gICAgICAgICAgICBsZXQgdGFzazogVGFza0Jhc2U7XHJcbiAgICAgICAgICAgIHdoaWxlICgodGFzayA9IDxUYXNrQmFzZT5BY2Nlc3NIZWxwZXIubWdEYXRhVGFibGUuZ2V0TmV4dFRhc2soKSkgIT09IG51bGwpIHtcclxuICAgICAgICAgICAgICBsZXQgZGF0YVZpZXdXYXNSZXRyaWV2ZWQ6IGJvb2xlYW4gPSB0YXNrLkRhdGFWaWV3V2FzUmV0cmlldmVkO1xyXG4gICAgICAgICAgICAgIGlmIChkYXRhVmlld1dhc1JldHJpZXZlZCkge1xyXG4gICAgICAgICAgICAgICAgYXdhaXQgdGFzay5SZWZyZXNoRGlzcGxheSgpO1xyXG4gICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgfVxyXG4gICAgICAgICAgYXdhaXQgQWNjZXNzSGVscGVyLmV2ZW50c01hbmFnZXIuRXZlbnRzTG9vcChtZ2QpO1xyXG5cclxuICAgICAgICAgIC8vYWZ0ZXIgY2xvc2luZyBtb2RhbCBzdWJmb3JtIGF0c2ssIGl0IGNvbWVzIG91dCBvZiBldmVudCBsb29wICwgc2V0IG1nZC5Jc0Fib3J0aW5nPSBmYWxzZS5cclxuICAgICAgICAgIC8vcmUtc3RvcmUgbWdkLklzTW9kYWwgYmFjayB0byBpdCdzIG9yaWdpbmFsIHZhbHVlLlxyXG4gICAgICAgICAgaWYgKGlzU3ViZm9ybU1vZGFsKVxyXG4gICAgICAgICAge1xyXG4gICAgICAgICAgICBtZ2QuSXNBYm9ydGluZyA9IGZhbHNlO1xyXG4gICAgICAgICAgICBtZ2QuSXNNb2RhbCA9IHByZXZNZ0RhdGFJc01vZGFsO1xyXG4gICAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgICBlbHNlXHJcbiAgICAgIGF3YWl0IEFjY2Vzc0hlbHBlci5ldmVudHNNYW5hZ2VyLk5vbkludGVyYWN0aXZlRXZlbnRzTG9vcChtZ2QsIG5vbkludGVyYWN0aXZlVGFzayk7XHJcblxyXG4gICAgLy8gaWYgdGhlcmUgaXMgcGVuZGluZyBldmVudCB3aGljaCBjYXVzZWQgY2xvc3VyZSBvZiBtb2RhbCBzdWJmb3JtLCBhZGQgaXQgaW4gcXVldWUgbm93LlxyXG4gICAgaWYgKEFjY2Vzc0hlbHBlci5ldmVudHNNYW5hZ2VyLmdldFBlbmRpbmdHdWlFdmVudCgpIT0gbnVsbCAmJiAoaXNTdWJmb3JtTW9kYWwgfHwgbm9uSW50ZXJhY3RpdmVUYXNrICE9IG51bGwpKVxyXG4gICAge1xyXG4gICAgICBsZXQgZ3VpRXZlbnQgPSBBY2Nlc3NIZWxwZXIuZXZlbnRzTWFuYWdlci5nZXRQZW5kaW5nR3VpRXZlbnQoKTtcclxuICAgICAgLy8gY2hlY2sgaWYgdHJ1ZSBjYWxsZXIgaXMgbm9uLWludGVyYWN0aXZlIHRhc2sgPyBpZiBzbyAuLi5NR19BQ1RfQ0xPU0Ugc2hvdWxkIGJlIGFkZGVkXHJcbiAgICAgIGlmIChndWlFdmVudC5nZXRUYXNrKCkgIT0gY2FsbGluZ1Rhc2sgfHwgdGhpcy5fY2FsbGluZ1Rhc2tUYWcgIT09IGNhbGxpbmdUYXNrLmdldFRhc2tUYWcoKSkge1xyXG5cclxuICAgICAgICBjYWxsaW5nVGFzayA9IDxUYXNrPkFjY2Vzc0hlbHBlci5tZ0RhdGFUYWJsZS5HZXRUYXNrQnlJRCh0aGlzLl9jYWxsaW5nVGFza1RhZyk7XHJcbiAgICAgICAgLy8gSWYgY2FsbGluZyB0YXNrIGlzIGNhbGxlZCBieSBjYWxsIGRlc3RpbmF0aW9uIHRoZW4gY2xvc2UgaXQgYnkgcGVyZm9ybVN1YmZvcm1DbG9zZSgpLlxyXG4gICAgICAgIGlmICgoPFRhc2s+Y2FsbGluZ1Rhc2spLmdldElzRGVzdGluYXRpb25DYWxsKCkpIHtcclxuICAgICAgICAgIGxldCBzdWJmb3JtQ3RybDogTWdDb250cm9sID0gPE1nQ29udHJvbD5jYWxsaW5nVGFzay5nZXRGb3JtKCkuZ2V0U3ViRm9ybUN0cmwoKTtcclxuICAgICAgICAgIGF3YWl0IEFjY2Vzc0hlbHBlci5ldmVudHNNYW5hZ2VyLnBlcmZvcm1TdWJmb3JtQ2xvc2UoPE1nQ29udHJvbD5zdWJmb3JtQ3RybCk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGVsc2Uge1xyXG4gICAgICAgICAgbGV0IHJ0RXZ0ID0gbmV3IFJ1blRpbWVFdmVudChjYWxsaW5nVGFzayk7XHJcbiAgICAgICAgICBydEV2dC5zZXRJbnRlcm5hbChJbnRlcm5hbEludGVyZmFjZS5NR19BQ1RfQ0xPU0UpO1xyXG4gICAgICAgICAgcnRFdnQuc2V0Q3RybChudWxsKTtcclxuICAgICAgICAgIHJ0RXZ0LnNldEFyZ0xpc3QobnVsbCk7XHJcbiAgICAgICAgICBBY2Nlc3NIZWxwZXIuZXZlbnRzTWFuYWdlci5hZGRUb1RhaWwocnRFdnQpO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgICBlbHNlIHtcclxuICAgICAgICBBY2Nlc3NIZWxwZXIuZXZlbnRzTWFuYWdlci5hZGRUb1RhaWwoZ3VpRXZlbnQpO1xyXG4gICAgICAgIEFjY2Vzc0hlbHBlci5ldmVudHNNYW5hZ2VyLnNldFBlbmRpbmdHdWlFdmVudChudWxsKTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHVibGljIEhhbmRsZUF0dHJpYnV0ZShhdHRyaWJ1dGU6IHN0cmluZywgdmFsdWU6IHN0cmluZyk6IHZvaWQge1xyXG4gICAgc3dpdGNoIChhdHRyaWJ1dGUpIHtcclxuICAgICAgY2FzZSBDb25zdEludGVyZmFjZS5NR19BVFRSX0NBTExJTkdUQVNLOlxyXG4gICAgICAgIHRoaXMuX2NhbGxpbmdUYXNrVGFnID0gdmFsdWU7XHJcbiAgICAgICAgYnJlYWs7XHJcbiAgICAgIGNhc2UgQ29uc3RJbnRlcmZhY2UuTUdfQVRUUl9QQVRIX1BBUkVOVF9UQVNLOlxyXG4gICAgICAgIHRoaXMuX3BhdGhQYXJlbnRUYXNrVGFnID0gdmFsdWU7XHJcbiAgICAgICAgYnJlYWs7XHJcbiAgICAgIGNhc2UgQ29uc3RJbnRlcmZhY2UuTUdfQVRUUl9TVUJGT1JNX0NUUkw6XHJcbiAgICAgICAgdGhpcy5fc3ViZm9ybUN0cmxOYW1lID0gdmFsdWU7XHJcbiAgICAgICAgYnJlYWs7XHJcbiAgICAgIGNhc2UgWE1MQ29uc3RhbnRzLk1HX0FUVFJfRElUSURYOlxyXG4gICAgICAgIHRoaXMuX2RpdElkeCA9IFhtbFBhcnNlci5nZXRJbnQodmFsdWUpO1xyXG4gICAgICAgIGJyZWFrO1xyXG4gICAgICBjYXNlIENvbnN0SW50ZXJmYWNlLk1HX0FUVFJfTU9EQUw6XHJcbiAgICAgICAgdGhpcy5faXNNb2RhbCA9ICh2YWx1ZVswXSA9PT0gJzEnKTtcclxuICAgICAgICBicmVhaztcclxuICAgICAgY2FzZSBDb25zdEludGVyZmFjZS5NR19BVFRSX1RSQU5TX09XTkVSOlxyXG4gICAgICAgIHRoaXMuX3RyYW5zT3duZXIgPSB2YWx1ZTtcclxuICAgICAgICBicmVhaztcclxuICAgICAgY2FzZSBDb25zdEludGVyZmFjZS5NR19BVFRSX05FV0lEOlxyXG4gICAgICAgIHRoaXMuX25ld0lkID0gTlN0cmluZy5UcmltRW5kKHZhbHVlKTtcclxuICAgICAgICBicmVhaztcclxuICAgICAgY2FzZSBDb25zdEludGVyZmFjZS5NR19BVFRSX0tFWTpcclxuICAgICAgICB0aGlzLl9rZXkgPSB2YWx1ZTtcclxuICAgICAgICBicmVhaztcclxuICAgICAgY2FzZSBDb25zdEludGVyZmFjZS5NR19BVFRSX0FSR0xJU1Q6XHJcbiAgICAgICAgdGhpcy5fdmFyTGlzdCA9IG5ldyBBcmd1bWVudHNMaXN0KCk7XHJcbiAgICAgICAgdGhpcy5fdmFyTGlzdC5maWxsTGlzdCh2YWx1ZSwgPFRhc2tCYXNlPkFjY2Vzc0hlbHBlci5tZ0RhdGFUYWJsZS5HZXRUYXNrQnlJRCh0aGlzLlRhc2tUYWcpKTtcclxuICAgICAgICBicmVhaztcclxuICAgICAgY2FzZSBDb25zdEludGVyZmFjZS5NR19BVFRSX09CSkVDVDpcclxuICAgICAgICB0aGlzLk9iaiA9IHZhbHVlO1xyXG4gICAgICAgIGJyZWFrO1xyXG4gICAgICBjYXNlIENvbnN0SW50ZXJmYWNlLk1HX0FUVFJfSVNfUk9VVEU6XHJcbiAgICAgICAgdGhpcy5faXNSb3V0ZSA9ICh2YWx1ZVswXSA9PT0gJzEnKTtcclxuICAgICAgICBicmVhaztcclxuICAgICAgZGVmYXVsdDpcclxuICAgICAgICBzdXBlci5IYW5kbGVBdHRyaWJ1dGUoYXR0cmlidXRlLCB2YWx1ZSk7XHJcbiAgICAgICAgYnJlYWs7XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcbiJdfQ==
@@ -0,0 +1,15 @@
1
+ import { ClientTargetedCommandBase } from "./ClientTargetedCommandBase";
2
+ import { DataViewCommandType } from "../ClientToServer/DataviewCommand";
3
+ import { CommandFactory } from "../ClientToServer/CommandFactory";
4
+ import { AccessHelper } from "../../AccessHelper";
5
+ export class ResetLocateCommand extends ClientTargetedCommandBase {
6
+ constructor() {
7
+ super();
8
+ }
9
+ async Execute(res) {
10
+ let task = AccessHelper.mgDataTable.GetTaskByID(this.TaskTag);
11
+ let command = CommandFactory.CreateDataViewCommand(this.TaskTag, DataViewCommandType.ResetUserLocate);
12
+ await task.DataviewManager.Execute(command);
13
+ }
14
+ }
15
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiUmVzZXRMb2NhdGVDb21tYW5kLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZW5naW5lL3NyYy9jb21tYW5kcy9TZXJ2ZXJUb0NsaWVudC9SZXNldExvY2F0ZUNvbW1hbmQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLHlCQUF5QixFQUFDLE1BQU0sNkJBQTZCLENBQUM7QUFJdEUsT0FBTyxFQUFDLG1CQUFtQixFQUFDLE1BQU0sbUNBQW1DLENBQUM7QUFDdEUsT0FBTyxFQUFDLGNBQWMsRUFBQyxNQUFNLGtDQUFrQyxDQUFDO0FBRWhFLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUtsRCxNQUFNLE9BQU8sa0JBQW1CLFNBQVEseUJBQXlCO0lBRS9EO1FBQ0UsS0FBSyxFQUFFLENBQUM7SUFDVixDQUFDO0lBTUQsS0FBSyxDQUFDLE9BQU8sQ0FBQyxHQUFpQjtRQUM3QixJQUFJLElBQUksR0FBZSxZQUFZLENBQUMsV0FBVyxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUM7UUFFMUUsSUFBSSxPQUFPLEdBQW1CLGNBQWMsQ0FBQyxxQkFBcUIsQ0FBQyxJQUFJLENBQUMsT0FBTyxFQUFFLG1CQUFtQixDQUFDLGVBQWUsQ0FBQyxDQUFDO1FBQ3RILE1BQU0sSUFBSSxDQUFDLGVBQWUsQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDLENBQUM7SUFDOUMsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtDbGllbnRUYXJnZXRlZENvbW1hbmRCYXNlfSBmcm9tIFwiLi9DbGllbnRUYXJnZXRlZENvbW1hbmRCYXNlXCI7XHJcbmltcG9ydCB7TUdEYXRhQ29sbGVjdGlvbn0gZnJvbSBcIi4uLy4uL3Rhc2tzL01HRGF0YUNvbGxlY3Rpb25cIjtcclxuaW1wb3J0IHtUYXNrfSBmcm9tIFwiLi4vLi4vdGFza3MvVGFza1wiO1xyXG5pbXBvcnQge0lSZXN1bHRWYWx1ZX0gZnJvbSBcIi4uLy4uL3J0L0lSZXN1bHRWYWx1ZVwiO1xyXG5pbXBvcnQge0RhdGFWaWV3Q29tbWFuZFR5cGV9IGZyb20gXCIuLi9DbGllbnRUb1NlcnZlci9EYXRhdmlld0NvbW1hbmRcIjtcclxuaW1wb3J0IHtDb21tYW5kRmFjdG9yeX0gZnJvbSBcIi4uL0NsaWVudFRvU2VydmVyL0NvbW1hbmRGYWN0b3J5XCI7XHJcbmltcG9ydCB7SUNsaWVudENvbW1hbmR9IGZyb20gXCIuLi9JQ2xpZW50Q29tbWFuZFwiO1xyXG5pbXBvcnQgeyBBY2Nlc3NIZWxwZXIgfSBmcm9tIFwiLi4vLi4vQWNjZXNzSGVscGVyXCI7XHJcblxyXG4vLy8gPHN1bW1hcnk+XHJcbi8vLyBSZXNldExvY2F0ZUNvbW1hbmRcclxuLy8vIDwvc3VtbWFyeT5cclxuZXhwb3J0IGNsYXNzIFJlc2V0TG9jYXRlQ29tbWFuZCBleHRlbmRzIENsaWVudFRhcmdldGVkQ29tbWFuZEJhc2Uge1xyXG5cclxuICBjb25zdHJ1Y3RvcigpIHtcclxuICAgIHN1cGVyKCk7XHJcbiAgfVxyXG5cclxuICAvLy8gPHN1bW1hcnk+XHJcbiAgLy8vIEV4ZWN1dGUgUmVzZXRMb2NhdGUgY29tbWFuZC5cclxuICAvLy8gPC9zdW1tYXJ5PlxyXG4gIC8vLyA8cGFyYW0gbmFtZT1cInJlc1wiPjwvcGFyYW0+XHJcbiAgYXN5bmMgRXhlY3V0ZShyZXM6IElSZXN1bHRWYWx1ZSk6IFByb21pc2U8dm9pZD4ge1xyXG4gICAgbGV0IHRhc2s6IFRhc2sgPSA8VGFzaz5BY2Nlc3NIZWxwZXIubWdEYXRhVGFibGUuR2V0VGFza0J5SUQodGhpcy5UYXNrVGFnKTtcclxuXHJcbiAgICBsZXQgY29tbWFuZDogSUNsaWVudENvbW1hbmQgPSBDb21tYW5kRmFjdG9yeS5DcmVhdGVEYXRhVmlld0NvbW1hbmQodGhpcy5UYXNrVGFnLCBEYXRhVmlld0NvbW1hbmRUeXBlLlJlc2V0VXNlckxvY2F0ZSk7XHJcbiAgICBhd2FpdCB0YXNrLkRhdGF2aWV3TWFuYWdlci5FeGVjdXRlKGNvbW1hbmQpO1xyXG4gIH1cclxufVxyXG4iXX0=
@@ -0,0 +1,15 @@
1
+ import { ClientTargetedCommandBase } from './ClientTargetedCommandBase';
2
+ import { CommandFactory } from '../ClientToServer/CommandFactory';
3
+ import { DataViewCommandType } from '../ClientToServer/DataviewCommand';
4
+ import { AccessHelper } from '../../AccessHelper';
5
+ export class ResetRangeCommand extends ClientTargetedCommandBase {
6
+ constructor() {
7
+ super();
8
+ }
9
+ async Execute(res) {
10
+ let task = AccessHelper.mgDataTable.GetTaskByID(this.TaskTag);
11
+ let command = CommandFactory.CreateDataViewCommand(this.TaskTag, DataViewCommandType.ResetUserRange);
12
+ await task.DataviewManager.Execute(command);
13
+ }
14
+ }
15
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiUmVzZXRSYW5nZUNvbW1hbmQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9lbmdpbmUvc3JjL2NvbW1hbmRzL1NlcnZlclRvQ2xpZW50L1Jlc2V0UmFuZ2VDb21tYW5kLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSx5QkFBeUIsRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBSXhFLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxrQ0FBa0MsQ0FBQztBQUNsRSxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxtQ0FBbUMsQ0FBQztBQUN4RSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFLbEQsTUFBTSxPQUFPLGlCQUFrQixTQUFRLHlCQUF5QjtJQUU5RDtRQUNFLEtBQUssRUFBRSxDQUFDO0lBQ1YsQ0FBQztJQU1ELEtBQUssQ0FBQyxPQUFPLENBQUMsR0FBaUI7UUFFN0IsSUFBSSxJQUFJLEdBQWUsWUFBWSxDQUFDLFdBQVcsQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBRTFFLElBQUksT0FBTyxHQUFtQixjQUFjLENBQUMscUJBQXFCLENBQUMsSUFBSSxDQUFDLE9BQU8sRUFBRSxtQkFBbUIsQ0FBQyxjQUFjLENBQUMsQ0FBQztRQUNySCxNQUFNLElBQUksQ0FBQyxlQUFlLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxDQUFDO0lBQzlDLENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENsaWVudFRhcmdldGVkQ29tbWFuZEJhc2UgfSBmcm9tICcuL0NsaWVudFRhcmdldGVkQ29tbWFuZEJhc2UnO1xyXG5pbXBvcnQgeyBJUmVzdWx0VmFsdWUgfSBmcm9tICcuLi8uLi9ydC9JUmVzdWx0VmFsdWUnO1xyXG5pbXBvcnQgeyBUYXNrIH0gZnJvbSAnLi4vLi4vdGFza3MvVGFzayc7XHJcbmltcG9ydCB7IElDbGllbnRDb21tYW5kIH0gZnJvbSAnLi4vSUNsaWVudENvbW1hbmQnO1xyXG5pbXBvcnQgeyBDb21tYW5kRmFjdG9yeSB9IGZyb20gJy4uL0NsaWVudFRvU2VydmVyL0NvbW1hbmRGYWN0b3J5JztcclxuaW1wb3J0IHsgRGF0YVZpZXdDb21tYW5kVHlwZSB9IGZyb20gJy4uL0NsaWVudFRvU2VydmVyL0RhdGF2aWV3Q29tbWFuZCc7XHJcbmltcG9ydCB7IEFjY2Vzc0hlbHBlciB9IGZyb20gJy4uLy4uL0FjY2Vzc0hlbHBlcic7XHJcblxyXG4vLy8gPHN1bW1hcnk+XHJcbi8vLyBSZXNldFJhbmdlQ29tbWFuZFxyXG4vLy8gPC9zdW1tYXJ5PlxyXG5leHBvcnQgY2xhc3MgUmVzZXRSYW5nZUNvbW1hbmQgZXh0ZW5kcyBDbGllbnRUYXJnZXRlZENvbW1hbmRCYXNlIHtcclxuXHJcbiAgY29uc3RydWN0b3IoKSB7XHJcbiAgICBzdXBlcigpO1xyXG4gIH1cclxuXHJcbiAgLy8vIDxzdW1tYXJ5PlxyXG4gIC8vLyBFeGVjdXRlIFJlc2V0UmFuZ2UgY29tbWFuZC5cclxuICAvLy8gPC9zdW1tYXJ5PlxyXG4gIC8vLyA8cGFyYW0gbmFtZT1cInJlc1wiPjwvcGFyYW0+XHJcbiAgYXN5bmMgRXhlY3V0ZShyZXM6IElSZXN1bHRWYWx1ZSk6IFByb21pc2U8dm9pZD4ge1xyXG5cclxuICAgIGxldCB0YXNrOiBUYXNrID0gPFRhc2s+QWNjZXNzSGVscGVyLm1nRGF0YVRhYmxlLkdldFRhc2tCeUlEKHRoaXMuVGFza1RhZyk7XHJcblxyXG4gICAgbGV0IGNvbW1hbmQ6IElDbGllbnRDb21tYW5kID0gQ29tbWFuZEZhY3RvcnkuQ3JlYXRlRGF0YVZpZXdDb21tYW5kKHRoaXMuVGFza1RhZywgRGF0YVZpZXdDb21tYW5kVHlwZS5SZXNldFVzZXJSYW5nZSk7XHJcbiAgICBhd2FpdCB0YXNrLkRhdGF2aWV3TWFuYWdlci5FeGVjdXRlKGNvbW1hbmQpO1xyXG4gIH1cclxufVxyXG4iXX0=
@@ -0,0 +1,15 @@
1
+ import { ClientTargetedCommandBase } from './ClientTargetedCommandBase';
2
+ import { CommandFactory } from '../ClientToServer/CommandFactory';
3
+ import { DataViewCommandType } from '../ClientToServer/DataviewCommand';
4
+ import { AccessHelper } from '../../AccessHelper';
5
+ export class ResetSortCommand extends ClientTargetedCommandBase {
6
+ constructor() {
7
+ super();
8
+ }
9
+ async Execute(res) {
10
+ let task = AccessHelper.mgDataTable.GetTaskByID(this.TaskTag);
11
+ let command = CommandFactory.CreateDataViewCommand(this.TaskTag, DataViewCommandType.ResetUserSort);
12
+ await task.DataviewManager.Execute(command);
13
+ }
14
+ }
15
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiUmVzZXRTb3J0Q29tbWFuZC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2VuZ2luZS9zcmMvY29tbWFuZHMvU2VydmVyVG9DbGllbnQvUmVzZXRTb3J0Q29tbWFuZC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUseUJBQXlCLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUd4RSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sa0NBQWtDLENBQUM7QUFDbEUsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sbUNBQW1DLENBQUM7QUFFeEUsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBRWxELE1BQU0sT0FBTyxnQkFBaUIsU0FBUSx5QkFBeUI7SUFFN0Q7UUFDRSxLQUFLLEVBQUUsQ0FBQztJQUNWLENBQUM7SUFFRCxLQUFLLENBQUMsT0FBTyxDQUFDLEdBQWlCO1FBQzdCLElBQUksSUFBSSxHQUFlLFlBQVksQ0FBQyxXQUFXLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUUxRSxJQUFJLE9BQU8sR0FBbUIsY0FBYyxDQUFDLHFCQUFxQixDQUFDLElBQUksQ0FBQyxPQUFPLEVBQUUsbUJBQW1CLENBQUMsYUFBYSxDQUFDLENBQUM7UUFDcEgsTUFBTSxJQUFJLENBQUMsZUFBZSxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUM5QyxDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDbGllbnRUYXJnZXRlZENvbW1hbmRCYXNlIH0gZnJvbSAnLi9DbGllbnRUYXJnZXRlZENvbW1hbmRCYXNlJztcclxuaW1wb3J0IHsgSVJlc3VsdFZhbHVlIH0gZnJvbSAnLi4vLi4vcnQvSVJlc3VsdFZhbHVlJztcclxuaW1wb3J0IHsgSUNsaWVudENvbW1hbmQgfSBmcm9tICcuLi9JQ2xpZW50Q29tbWFuZCc7XHJcbmltcG9ydCB7IENvbW1hbmRGYWN0b3J5IH0gZnJvbSAnLi4vQ2xpZW50VG9TZXJ2ZXIvQ29tbWFuZEZhY3RvcnknO1xyXG5pbXBvcnQgeyBEYXRhVmlld0NvbW1hbmRUeXBlIH0gZnJvbSAnLi4vQ2xpZW50VG9TZXJ2ZXIvRGF0YXZpZXdDb21tYW5kJztcclxuaW1wb3J0IHsgVGFzayB9IGZyb20gJy4uLy4uL3Rhc2tzL1Rhc2snO1xyXG5pbXBvcnQgeyBBY2Nlc3NIZWxwZXIgfSBmcm9tICcuLi8uLi9BY2Nlc3NIZWxwZXInO1xyXG5cclxuZXhwb3J0IGNsYXNzIFJlc2V0U29ydENvbW1hbmQgZXh0ZW5kcyBDbGllbnRUYXJnZXRlZENvbW1hbmRCYXNlIHtcclxuXHJcbiAgY29uc3RydWN0b3IoKSB7XHJcbiAgICBzdXBlcigpO1xyXG4gIH1cclxuXHJcbiAgYXN5bmMgRXhlY3V0ZShyZXM6IElSZXN1bHRWYWx1ZSk6IFByb21pc2U8dm9pZD4ge1xyXG4gICAgbGV0IHRhc2s6IFRhc2sgPSA8VGFzaz5BY2Nlc3NIZWxwZXIubWdEYXRhVGFibGUuR2V0VGFza0J5SUQodGhpcy5UYXNrVGFnKTtcclxuXHJcbiAgICBsZXQgY29tbWFuZDogSUNsaWVudENvbW1hbmQgPSBDb21tYW5kRmFjdG9yeS5DcmVhdGVEYXRhVmlld0NvbW1hbmQodGhpcy5UYXNrVGFnLCBEYXRhVmlld0NvbW1hbmRUeXBlLlJlc2V0VXNlclNvcnQpO1xyXG4gICAgYXdhaXQgdGFzay5EYXRhdmlld01hbmFnZXIuRXhlY3V0ZShjb21tYW5kKTtcclxuICB9XHJcbn1cclxuIl19
@@ -0,0 +1,37 @@
1
+ import { ClientTargetedCommandBase } from "./ClientTargetedCommandBase";
2
+ import { StorageAttribute, XMLConstants, XmlParser } from "@magic-xpa/utils";
3
+ import { ConstInterface } from "../../ConstInterface";
4
+ export class ResultCommand extends ClientTargetedCommandBase {
5
+ constructor() {
6
+ super();
7
+ this._isNull = false;
8
+ this._attr = StorageAttribute.NONE;
9
+ this._val = null;
10
+ }
11
+ async Execute(res) {
12
+ if (this._isNull)
13
+ res.SetResultValue(null, StorageAttribute.NONE);
14
+ else {
15
+ if (this._val == null)
16
+ this._val = "";
17
+ res.SetResultValue(this._val, this._attr);
18
+ }
19
+ }
20
+ HandleAttribute(attribute, value) {
21
+ switch (attribute) {
22
+ case ConstInterface.MG_ATTR_NULL:
23
+ this._isNull = (XmlParser.getInt(value) === 1);
24
+ break;
25
+ case ConstInterface.MG_ATTR_PAR_ATTRS:
26
+ this._attr = value[0];
27
+ break;
28
+ case XMLConstants.MG_ATTR_VALUE:
29
+ this._val = XmlParser.unescape(value);
30
+ break;
31
+ default:
32
+ super.HandleAttribute(attribute, value);
33
+ break;
34
+ }
35
+ }
36
+ }
37
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiUmVzdWx0Q29tbWFuZC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2VuZ2luZS9zcmMvY29tbWFuZHMvU2VydmVyVG9DbGllbnQvUmVzdWx0Q29tbWFuZC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMseUJBQXlCLEVBQUMsTUFBTSw2QkFBNkIsQ0FBQztBQUN0RSxPQUFPLEVBQUMsZ0JBQWdCLEVBQUUsWUFBWSxFQUFFLFNBQVMsRUFBQyxNQUFNLGtCQUFrQixDQUFDO0FBRTNFLE9BQU8sRUFBQyxjQUFjLEVBQUMsTUFBTSxzQkFBc0IsQ0FBQztBQUVwRCxNQUFNLE9BQU8sYUFBYyxTQUFRLHlCQUF5QjtJQTZDMUQ7UUFDRSxLQUFLLEVBQUUsQ0FBQztRQTdDRixZQUFPLEdBQVksS0FBSyxDQUFDO1FBQ3pCLFVBQUssR0FBcUIsZ0JBQWdCLENBQUMsSUFBSSxDQUFDO1FBQ2hELFNBQUksR0FBVyxJQUFJLENBQUM7SUE0QzVCLENBQUM7SUF0Q0QsS0FBSyxDQUFDLE9BQU8sQ0FBQyxHQUFpQjtRQUU3QixJQUFJLElBQUksQ0FBQyxPQUFPO1lBQ2QsR0FBRyxDQUFDLGNBQWMsQ0FBQyxJQUFJLEVBQUUsZ0JBQWdCLENBQUMsSUFBSSxDQUFDLENBQUM7YUFDN0M7WUFDSCxJQUFJLElBQUksQ0FBQyxJQUFJLElBQUksSUFBSTtnQkFDbkIsSUFBSSxDQUFDLElBQUksR0FBRyxFQUFFLENBQUM7WUFDakIsR0FBRyxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUMsSUFBSSxFQUFFLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztTQUMzQztJQUNILENBQUM7SUFPTSxlQUFlLENBQUMsU0FBaUIsRUFBRSxLQUFhO1FBQ3JELFFBQVEsU0FBUyxFQUFFO1lBQ2pCLEtBQUssY0FBYyxDQUFDLFlBQVk7Z0JBQzlCLElBQUksQ0FBQyxPQUFPLEdBQUcsQ0FBQyxTQUFTLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDO2dCQUMvQyxNQUFNO1lBRVIsS0FBSyxjQUFjLENBQUMsaUJBQWlCO2dCQUNuQyxJQUFJLENBQUMsS0FBSyxHQUFxQixLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUM7Z0JBQ3hDLE1BQU07WUFFUixLQUFLLFlBQVksQ0FBQyxhQUFhO2dCQUM3QixJQUFJLENBQUMsSUFBSSxHQUFHLFNBQVMsQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDLENBQUM7Z0JBQ3RDLE1BQU07WUFFUjtnQkFDRSxLQUFLLENBQUMsZUFBZSxDQUFDLFNBQVMsRUFBRSxLQUFLLENBQUMsQ0FBQztnQkFDeEMsTUFBTTtTQUNUO0lBQ0gsQ0FBQztDQUtGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtDbGllbnRUYXJnZXRlZENvbW1hbmRCYXNlfSBmcm9tIFwiLi9DbGllbnRUYXJnZXRlZENvbW1hbmRCYXNlXCI7XHJcbmltcG9ydCB7U3RvcmFnZUF0dHJpYnV0ZSwgWE1MQ29uc3RhbnRzLCBYbWxQYXJzZXJ9IGZyb20gXCJAbWFnaWMteHBhL3V0aWxzXCI7XHJcbmltcG9ydCB7SVJlc3VsdFZhbHVlfSBmcm9tIFwiLi4vLi4vcnQvSVJlc3VsdFZhbHVlXCI7XHJcbmltcG9ydCB7Q29uc3RJbnRlcmZhY2V9IGZyb20gXCIuLi8uLi9Db25zdEludGVyZmFjZVwiO1xyXG5cclxuZXhwb3J0IGNsYXNzIFJlc3VsdENvbW1hbmQgZXh0ZW5kcyBDbGllbnRUYXJnZXRlZENvbW1hbmRCYXNlIHtcclxuICBwcml2YXRlIF9pc051bGw6IGJvb2xlYW4gPSBmYWxzZTtcclxuICBwcml2YXRlIF9hdHRyOiBTdG9yYWdlQXR0cmlidXRlID0gU3RvcmFnZUF0dHJpYnV0ZS5OT05FO1xyXG4gIHByaXZhdGUgX3ZhbDogc3RyaW5nID0gbnVsbDtcclxuXHJcbiAgLy8vIDxzdW1tYXJ5PlxyXG4gIC8vL1xyXG4gIC8vLyA8L3N1bW1hcnk+XHJcbiAgLy8vIDxwYXJhbSBuYW1lPVwiZXhwXCI+PC9wYXJhbT5cclxuICBhc3luYyBFeGVjdXRlKHJlczogSVJlc3VsdFZhbHVlKTogUHJvbWlzZTx2b2lkPiB7XHJcbiAgICAvLyBzZXQgdmFsdWUgdG8gJ2dsb2JhbCcgRXhwcmVzc2lvbiB2YXJpYWJsZVxyXG4gICAgaWYgKHRoaXMuX2lzTnVsbClcclxuICAgICAgcmVzLlNldFJlc3VsdFZhbHVlKG51bGwsIFN0b3JhZ2VBdHRyaWJ1dGUuTk9ORSk7XHJcbiAgICBlbHNlIHtcclxuICAgICAgaWYgKHRoaXMuX3ZhbCA9PSBudWxsKVxyXG4gICAgICAgIHRoaXMuX3ZhbCA9IFwiXCI7XHJcbiAgICAgIHJlcy5TZXRSZXN1bHRWYWx1ZSh0aGlzLl92YWwsIHRoaXMuX2F0dHIpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLy8vIDxzdW1tYXJ5PlxyXG4gIC8vL1xyXG4gIC8vLyA8L3N1bW1hcnk+XHJcbiAgLy8vIDxwYXJhbSBuYW1lPVwiYXR0cmlidXRlXCI+PC9wYXJhbT5cclxuICAvLy8gPHBhcmFtIG5hbWU9XCJ2YWx1ZVwiPjwvcGFyYW0+XHJcbiAgcHVibGljIEhhbmRsZUF0dHJpYnV0ZShhdHRyaWJ1dGU6IHN0cmluZywgdmFsdWU6IHN0cmluZyk6IHZvaWQge1xyXG4gICAgc3dpdGNoIChhdHRyaWJ1dGUpIHtcclxuICAgICAgY2FzZSBDb25zdEludGVyZmFjZS5NR19BVFRSX05VTEw6XHJcbiAgICAgICAgdGhpcy5faXNOdWxsID0gKFhtbFBhcnNlci5nZXRJbnQodmFsdWUpID09PSAxKTtcclxuICAgICAgICBicmVhaztcclxuXHJcbiAgICAgIGNhc2UgQ29uc3RJbnRlcmZhY2UuTUdfQVRUUl9QQVJfQVRUUlM6XHJcbiAgICAgICAgdGhpcy5fYXR0ciA9IDxTdG9yYWdlQXR0cmlidXRlPnZhbHVlWzBdO1xyXG4gICAgICAgIGJyZWFrO1xyXG5cclxuICAgICAgY2FzZSBYTUxDb25zdGFudHMuTUdfQVRUUl9WQUxVRTpcclxuICAgICAgICB0aGlzLl92YWwgPSBYbWxQYXJzZXIudW5lc2NhcGUodmFsdWUpO1xyXG4gICAgICAgIGJyZWFrO1xyXG5cclxuICAgICAgZGVmYXVsdDpcclxuICAgICAgICBzdXBlci5IYW5kbGVBdHRyaWJ1dGUoYXR0cmlidXRlLCB2YWx1ZSk7XHJcbiAgICAgICAgYnJlYWs7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBjb25zdHJ1Y3RvcigpIHtcclxuICAgIHN1cGVyKCk7XHJcbiAgfVxyXG59XHJcbiJdfQ==
@@ -0,0 +1,85 @@
1
+ import { ClientTargetedCommandBase } from './ClientTargetedCommandBase';
2
+ import { NString, RefParam } from '@magic-xpa/mscorelib';
3
+ import { Styles } from '@magic-xpa/gui';
4
+ import { Logger, MsgInterface, StrUtil, XmlParser } from '@magic-xpa/utils';
5
+ import { ConstUtils } from '../../util/ConstUtils';
6
+ import { ConstInterface } from '../../ConstInterface';
7
+ import { LanguageData } from '../../env/LanguageData';
8
+ import { LastFocusedManager } from '../../rt/LastFocusedManager';
9
+ import { AccessHelper } from '../../AccessHelper';
10
+ import { GUIManager } from "../../GUIManager";
11
+ export class VerifyCommand extends ClientTargetedCommandBase {
12
+ constructor() {
13
+ super();
14
+ this._callingTaskTag = null;
15
+ this._title = null;
16
+ this._errLogAppend = false;
17
+ this._text = null;
18
+ this._display = '\0';
19
+ this._mode = '\0';
20
+ this._sendAck = true;
21
+ }
22
+ async Execute(res) {
23
+ let errForConsole = StrUtil.getConsoleErorString(this._text);
24
+ let task = (AccessHelper.mgDataTable.GetTaskByID(this.TaskTag) || AccessHelper.mgDataTable.GetTaskByID(this._callingTaskTag));
25
+ if (task === null)
26
+ task = LastFocusedManager.Instance.getLastFocusedTask();
27
+ let errLogAppend = this._errLogAppend;
28
+ if (errLogAppend)
29
+ Logger.Instance.WriteExceptionToLogWithMsg(errForConsole);
30
+ if (!NString.IsNullOrEmpty(this._text)) {
31
+ if (this._display === ConstInterface.DISPLAY_BOX) {
32
+ let style = new RefParam(0);
33
+ let errForMsgBox = StrUtil.getMsgBoxErorString(this._text);
34
+ let mlsTransText = LanguageData.Instance.translate(errForMsgBox);
35
+ let mlsTransTitle = new RefParam(NString.Empty);
36
+ this.PrepareMessageBoxForDisplay(task, mlsTransTitle, style);
37
+ let returnValue = await GUIManager.Instance.MessageBox(mlsTransTitle.value, mlsTransText, style.value);
38
+ await this.ProcessMessageBoxResponse(task, returnValue);
39
+ }
40
+ else if (this._display === ConstInterface.DISPLAY_STATUS && task != null) {
41
+ task.DisplayMessageToStatusBar(errForConsole);
42
+ }
43
+ }
44
+ }
45
+ PrepareMessageBoxForDisplay(task, mlsTransTitle, style) {
46
+ let options = LanguageData.Instance.getConstMessage(MsgInterface.BRKTAB_STOP_MODE_TITLE);
47
+ this._title = ConstUtils.getStringOfOption(options, "EW", this._mode);
48
+ mlsTransTitle.value = LanguageData.Instance.translate(this._title);
49
+ style.value = Styles.MSGBOX_BUTTON_OK |
50
+ ((this._mode === 'E')
51
+ ? Styles.MSGBOX_ICON_ERROR
52
+ : Styles.MSGBOX_ICON_WARNING);
53
+ }
54
+ ProcessMessageBoxResponse(task, returnValue) {
55
+ }
56
+ HandleAttribute(attribute, value) {
57
+ switch (attribute) {
58
+ case ConstInterface.MG_ATTR_TITLE:
59
+ this._title = value;
60
+ break;
61
+ case ConstInterface.MG_ATTR_CALLINGTASK:
62
+ this._callingTaskTag = value;
63
+ break;
64
+ case ConstInterface.MG_ATTR_ERR_LOG_APPEND:
65
+ this._errLogAppend = XmlParser.getBoolean(value);
66
+ break;
67
+ case ConstInterface.MG_ATTR_TEXT:
68
+ this._text = XmlParser.unescape(value);
69
+ break;
70
+ case ConstInterface.MG_ATTR_DISPLAY:
71
+ this._display = value[0];
72
+ break;
73
+ case ConstInterface.MG_ATTR_MODE:
74
+ this._mode = value[0];
75
+ break;
76
+ case ConstInterface.MG_ATTR_ACK:
77
+ this._sendAck = (XmlParser.getInt(value) !== 0);
78
+ break;
79
+ default:
80
+ super.HandleAttribute(attribute, value);
81
+ break;
82
+ }
83
+ }
84
+ }
85
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiVmVyaWZ5Q29tbWFuZC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2VuZ2luZS9zcmMvY29tbWFuZHMvU2VydmVyVG9DbGllbnQvVmVyaWZ5Q29tbWFuZC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUseUJBQXlCLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUV4RSxPQUFPLEVBQUUsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBRXpELE9BQU8sRUFBWSxNQUFNLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNsRCxPQUFPLEVBQUUsTUFBTSxFQUFFLFlBQVksRUFBRSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFDNUUsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQ25ELE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUN0RCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDdEQsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFDakUsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBQ2xELE9BQU8sRUFBQyxVQUFVLEVBQUMsTUFBTSxrQkFBa0IsQ0FBQztBQUU1QyxNQUFNLE9BQU8sYUFBYyxTQUFRLHlCQUF5QjtJQVUxRDtRQUNFLEtBQUssRUFBRSxDQUFDO1FBVkYsb0JBQWUsR0FBVyxJQUFJLENBQUM7UUFDdkMsV0FBTSxHQUFXLElBQUksQ0FBQztRQUNkLGtCQUFhLEdBQVksS0FBSyxDQUFDO1FBQy9CLFVBQUssR0FBVyxJQUFJLENBQUM7UUFDckIsYUFBUSxHQUFXLElBQUksQ0FBQztRQUN4QixVQUFLLEdBQVcsSUFBSSxDQUFDO1FBQ3JCLGFBQVEsR0FBWSxJQUFJLENBQUM7SUFLakMsQ0FBQztJ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QztnQkFDcEIsTUFBTTtZQUVSLEtBQUssY0FBYyxDQUFDLG1CQUFtQjtnQkFDckMsSUFBSSxDQUFDLGVBQWUsR0FBRyxLQUFLLENBQUM7Z0JBQzdCLE1BQU07WUFFUixLQUFLLGNBQWMsQ0FBQyxzQkFBc0I7Z0JBQ3hDLElBQUksQ0FBQyxhQUFhLEdBQUcsU0FBUyxDQUFDLFVBQVUsQ0FBQyxLQUFLLENBQUMsQ0FBQztnQkFDakQsTUFBTTtZQUVSLEtBQUssY0FBYyxDQUFDLFlBQVk7Z0JBQzlCLElBQUksQ0FBQyxLQUFLLEdBQUcsU0FBUyxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUMsQ0FBQztnQkFDdkMsTUFBTTtZQUVSLEtBQUssY0FBYyxDQUFDLGVBQWU7Z0JBQ2pDLElBQUksQ0FBQyxRQUFRLEdBQUcsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDO2dCQUN6QixNQUFNO1lBRVIsS0FBSyxjQUFjLENBQUMsWUFBWTtnQkFDOUIsSUFBSSxDQUFDLEtBQUssR0FBRyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUM7Z0JBQ3RCLE1BQU07WUFFUixLQUFLLGNBQWMsQ0FBQyxXQUFXO2dCQUM3QixJQUFJLENBQUMsUUFBUSxHQUFHLENBQUMsU0FBUyxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQztnQkFDaEQsTUFBTTtZQUVSO2dCQUNFLEtBQUssQ0FBQyxlQUFlLENBQUMsU0FBUyxFQUFFLEtBQUssQ0FBQyxDQUFDO2dCQUN4QyxNQUFNO1NBQ1Q7SUFDSCxDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDbGllbnRUYXJnZXRlZENvbW1hbmRCYXNlIH0gZnJvbSAnLi9DbGllbnRUYXJnZXRlZENvbW1hbmRCYXNlJztcclxuaW1wb3J0IHsgSVJlc3VsdFZhbHVlIH0gZnJvbSAnLi4vLi4vcnQvSVJlc3VsdFZhbHVlJztcclxuaW1wb3J0IHsgTlN0cmluZywgUmVmUGFyYW0gfSBmcm9tICdAbWFnaWMteHBhL21zY29yZWxpYic7XHJcbmltcG9ydCB7IFRhc2sgfSBmcm9tICcuLi8uLi90YXNrcy9UYXNrJztcclxuaW1wb3J0IHsgQ29tbWFuZHMsIFN0eWxlcyB9IGZyb20gJ0BtYWdpYy14cGEvZ3VpJztcclxuaW1wb3J0IHsgTG9nZ2VyLCBNc2dJbnRlcmZhY2UsIFN0clV0aWwsIFhtbFBhcnNlciB9IGZyb20gJ0BtYWdpYy14cGEvdXRpbHMnO1xyXG5pbXBvcnQgeyBDb25zdFV0aWxzIH0gZnJvbSAnLi4vLi4vdXRpbC9Db25zdFV0aWxzJztcclxuaW1wb3J0IHsgQ29uc3RJbnRlcmZhY2UgfSBmcm9tICcuLi8uLi9Db25zdEludGVyZmFjZSc7XHJcbmltcG9ydCB7IExhbmd1YWdlRGF0YSB9IGZyb20gJy4uLy4uL2Vudi9MYW5ndWFnZURhdGEnO1xyXG5pbXBvcnQgeyBMYXN0Rm9jdXNlZE1hbmFnZXIgfSBmcm9tICcuLi8uLi9ydC9MYXN0Rm9jdXNlZE1hbmFnZXInO1xyXG5pbXBvcnQgeyBBY2Nlc3NIZWxwZXIgfSBmcm9tICcuLi8uLi9BY2Nlc3NIZWxwZXInO1xyXG5pbXBvcnQge0dVSU1hbmFnZXJ9IGZyb20gXCIuLi8uLi9HVUlNYW5hZ2VyXCI7XHJcblxyXG5leHBvcnQgY2xhc3MgVmVyaWZ5Q29tbWFuZCBleHRlbmRzIENsaWVudFRhcmdldGVkQ29tbWFuZEJhc2Uge1xyXG4gIHByaXZhdGUgX2NhbGxpbmdUYXNrVGFnOiBzdHJpbmcgPSBudWxsOyAvLyBpcyB0aGUgaWQgb2YgdGhlIHRhc2sgdGhhdCBjYWxsZWQgdGhlIG5ldyB3aW5kb3dcclxuICBfdGl0bGU6IHN0cmluZyA9IG51bGw7IC8vIHRpdGxlIG9mIHZlcmlmeSBvcHJcclxuICBwcml2YXRlIF9lcnJMb2dBcHBlbmQ6IGJvb2xlYW4gPSBmYWxzZTsgLy8gYXBwZW5kIHRvIGVycm9yIGxvZyBmb3IgdmVyaWZ5IG9wclxyXG4gIHByaXZhdGUgX3RleHQ6IHN0cmluZyA9IG51bGw7IC8vIHRoZSB2ZXJpZnkgbWVzc2FnZVxyXG4gIHByaXZhdGUgX2Rpc3BsYXk6IHN0cmluZyA9ICdcXDAnO1xyXG4gIHByaXZhdGUgX21vZGU6IHN0cmluZyA9ICdcXDAnO1xyXG4gIHByaXZhdGUgX3NlbmRBY2s6IGJvb2xlYW4gPSB0cnVlO1xyXG5cclxuXHJcbiAgY29uc3RydWN0b3IoKSB7XHJcbiAgICBzdXBlcigpO1xyXG4gIH1cclxuXHJcbiAgLy8vIDxzdW1tYXJ5PlxyXG4gIC8vL1xyXG4gIC8vLyA8L3N1bW1hcnk+XHJcbiAgLy8vIDxwYXJhbSBuYW1lPVwiZXhwXCI+PC9wYXJhbT5cclxuICBhc3luYyBFeGVjdXRlKHJlczogSVJlc3VsdFZhbHVlKTogUHJvbWlzZTx2b2lkPiB7XHJcbiAgICBsZXQgZXJyRm9yQ29uc29sZSA9IFN0clV0aWwuZ2V0Q29uc29sZUVyb3JTdHJpbmcodGhpcy5fdGV4dCk7XHJcbiAgICBsZXQgdGFzazogVGFzayA9IDxUYXNrPihBY2Nlc3NIZWxwZXIubWdEYXRhVGFibGUuR2V0VGFza0J5SUQodGhpcy5UYXNrVGFnKSB8fCBBY2Nlc3NIZWxwZXIubWdEYXRhVGFibGUuR2V0VGFza0J5SUQodGhpcy5fY2FsbGluZ1Rhc2tUYWcpKTtcclxuICAgIGlmICh0YXNrID09PSBudWxsKVxyXG4gICAgICB0YXNrID0gTGFzdEZvY3VzZWRNYW5hZ2VyLkluc3RhbmNlLmdldExhc3RGb2N1c2VkVGFzaygpO1xyXG5cclxuICAgIC8vIEluIG9yZGVyIHRvIGtlZXAgdGhlIGJlaGF2aW9yIHNhbWUgYXMgaW4gT25saW5lLCB2ZXJpZnkgb3BlcmF0aW9uIHdhcm5pbmcgbWVzc2FnZXNcclxuICAgIC8vIHdpbGwgYmUgd3JpdHRlbiBhcyBlcnJvciBtZXNzYWdlcyBpbiBDbGllbnQgbG9nIChRQ1IgIzkxNTEyMilcclxuICAgIGxldCBlcnJMb2dBcHBlbmQ6IGJvb2xlYW4gPSB0aGlzLl9lcnJMb2dBcHBlbmQ7XHJcbiAgICBpZiAoZXJyTG9nQXBwZW5kKVxyXG4gICAgICBMb2dnZXIuSW5zdGFuY2UuV3JpdGVFeGNlcHRpb25Ub0xvZ1dpdGhNc2coZXJyRm9yQ29uc29sZSk7XHJcblxyXG4gICAgLy8gQmxhbmsgTWVzc2FnZSB3aWxsIG5vdCBiZSBzaG93biwgc2FtZSBhcyBpbiBPbmxpbmVcclxuICAgIGlmICghTlN0cmluZy5Jc051bGxPckVtcHR5KHRoaXMuX3RleHQpKSB7XHJcbiAgICAgIGlmICh0aGlzLl9kaXNwbGF5ID09PSBDb25zdEludGVyZmFjZS5ESVNQTEFZX0JPWCkge1xyXG4gICAgICAgIGxldCBzdHlsZTogUmVmUGFyYW08bnVtYmVyPiA9IG5ldyBSZWZQYXJhbSgwKTtcclxuXHJcbiAgICAgICAgLy8gb24gdmVyaWZ5IGJveCwgc2hvdyB0cmFuc2xhdGVkIHZhbHVlLiAoc3RhdHVzIGlzIGhhbmRsZWQgaW4gcHJvcGVydHkpLlxyXG4gICAgICAgIGxldCBlcnJGb3JNc2dCb3g6c3RyaW5nID0gU3RyVXRpbC5nZXRNc2dCb3hFcm9yU3RyaW5nKHRoaXMuX3RleHQpO1xyXG4gICAgICAgIGxldCBtbHNUcmFuc1RleHQ6IHN0cmluZyA9ICBMYW5ndWFnZURhdGEuSW5zdGFuY2UudHJhbnNsYXRlKGVyckZvck1zZ0JveCk7XHJcbiAgICAgICAgbGV0IG1sc1RyYW5zVGl0bGU6IFJlZlBhcmFtPCBzdHJpbmc+ID0gbmV3IFJlZlBhcmFtKE5TdHJpbmcuRW1wdHkpO1xyXG5cclxuICAgICAgICB0aGlzLlByZXBhcmVNZXNzYWdlQm94Rm9yRGlzcGxheSh0YXNrLCBtbHNUcmFuc1RpdGxlLCBzdHlsZSk7XHJcbiAgICAgICAgbGV0IHJldHVyblZhbHVlOiBudW1iZXIgPSBhd2FpdCBHVUlNYW5hZ2VyLkluc3RhbmNlLk1lc3NhZ2VCb3gobWxzVHJhbnNUaXRsZS52YWx1ZSwgbWxzVHJhbnNUZXh0LCBzdHlsZS52YWx1ZSk7XHJcbiAgICAgICAgYXdhaXQgdGhpcy5Qcm9jZXNzTWVzc2FnZUJveFJlc3BvbnNlKHRhc2ssIHJldHVyblZhbHVlKTtcclxuICAgICAgfVxyXG4gICAgICAvLyBkaXNwbGF5IG1lc3NhZ2Ugb24gc3RhdHVzIG9ubHkgaWYgd2UgaGF2ZSBhIHRhc2tcclxuICAgICAgLy8gQmxhbmsgTWVzc2FnZSB3aWxsIG5vdCBiZSBzaG93biwgc2FtZSBhcyBpbiBPbmxpbmVcclxuICAgICAgZWxzZSBpZiAodGhpcy5fZGlzcGxheSA9PT0gQ29uc3RJbnRlcmZhY2UuRElTUExBWV9TVEFUVVMgJiYgdGFzayAhPSBudWxsKSB7XHJcbiAgICAgICAgdGFzay5EaXNwbGF5TWVzc2FnZVRvU3RhdHVzQmFyKGVyckZvckNvbnNvbGUpO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAvLy8gPHN1bW1hcnk+XHJcbiAgLy8vIFByZXBhcmVzIHRoZSBtZXNzYWdlIGJveCdzIHN0eWxlIGFuZCB0aXRsZSBmb3IgZGlzcGxheS5cclxuICAvLy8gPC9zdW1tYXJ5PlxyXG4gIC8vLyA8cGFyYW0gbmFtZT1cInRhc2tcIj48L3BhcmFtPlxyXG4gIC8vLyA8cGFyYW0gbmFtZT1cIm1sc1RyYW5zVGl0bGVcIj48L3BhcmFtPlxyXG4gIC8vLyA8cGFyYW0gbmFtZT1cInN0eWxlXCI+PC9wYXJhbT5cclxuICBQcmVwYXJlTWVzc2FnZUJveEZvckRpc3BsYXkodGFzazogVGFzaywgbWxzVHJhbnNUaXRsZTogUmVmUGFyYW08c3RyaW5nPiwgc3R5bGU6IFJlZlBhcmFtPG51bWJlcj4pOiB2b2lkIHtcclxuICAgIGxldCBvcHRpb25zOiBzdHJpbmcgPSBMYW5ndWFnZURhdGEuSW5zdGFuY2UuZ2V0Q29uc3RNZXNzYWdlKE1zZ0ludGVyZmFjZS5CUktUQUJfU1RPUF9NT0RFX1RJVExFKTtcclxuICAgIHRoaXMuX3RpdGxlID0gQ29uc3RVdGlscy5nZXRTdHJpbmdPZk9wdGlvbihvcHRpb25zLCBcIkVXXCIsIHRoaXMuX21vZGUpO1xyXG4gICAgbWxzVHJhbnNUaXRsZS52YWx1ZSA9IExhbmd1YWdlRGF0YS5JbnN0YW5jZS50cmFuc2xhdGUodGhpcy5fdGl0bGUpO1xyXG5cclxuICAgIC8vIGFkZCB0aGUgaWNvbiBhY2NvcmRpbmcgdG8gdGhlIG1vZGUgOmlzIEVycm9yIFxcIFdhcm5pbmdcclxuICAgIHN0eWxlLnZhbHVlID0gU3R5bGVzLk1TR0JPWF9CVVRUT05fT0sgfFxyXG4gICAgICAgICAgICAoKHRoaXMuX21vZGUgPT09ICdFJylcclxuICAgICAgICAgICAgICA/IFN0eWxlcy5NU0dCT1hfSUNPTl9FUlJPUlxyXG4gICAgICAgICAgICAgIDogU3R5bGVzLk1TR0JPWF9JQ09OX1dBUk5JTkcpO1xyXG4gIH1cclxuXHJcbiAgLy8vIDxzdW1tYXJ5PlxyXG4gIC8vLyBIYW5kbGVzIHRoZSByZXNwb25zZSByZWNlaXZlZCBmcm9tIHRoZSBtZXNzYWdlIGJveC5cclxuICAvLy8gPC9zdW1tYXJ5PlxyXG4gIC8vLyA8cGFyYW0gbmFtZT1cInRhc2tcIj48L3BhcmFtPlxyXG4gIC8vLyA8cGFyYW0gbmFtZT1cInJldHVyblZhbHVlXCI+PC9wYXJhbT5cclxuICBQcm9jZXNzTWVzc2FnZUJveFJlc3BvbnNlKHRhc2s6IFRhc2ssIHJldHVyblZhbHVlOiBudW1iZXIpOiB2b2lkIHtcclxuICAgIC8vIGludGVudGlvbmFsbHkgbGVmdCBlbXB0eS5cclxuICB9XHJcblxyXG4gIHB1YmxpYyBIYW5kbGVBdHRyaWJ1dGUoYXR0cmlidXRlOiBzdHJpbmcsIHZhbHVlOiBzdHJpbmcpOiB2b2lkIHtcclxuICAgIHN3aXRjaCAoYXR0cmlidXRlKSB7XHJcbiAgICAgIGNhc2UgQ29uc3RJbnRlcmZhY2UuTUdfQVRUUl9USVRMRTpcclxuICAgICAgICB0aGlzLl90aXRsZSA9IHZhbHVlO1xyXG4gICAgICAgIGJyZWFrO1xyXG5cclxuICAgICAgY2FzZSBDb25zdEludGVyZmFjZS5NR19BVFRSX0NBTExJTkdUQVNLOlxyXG4gICAgICAgIHRoaXMuX2NhbGxpbmdUYXNrVGFnID0gdmFsdWU7XHJcbiAgICAgICAgYnJlYWs7XHJcblxyXG4gICAgICBjYXNlIENvbnN0SW50ZXJmYWNlLk1HX0FUVFJfRVJSX0xPR19BUFBFTkQ6XHJcbiAgICAgICAgdGhpcy5fZXJyTG9nQXBwZW5kID0gWG1sUGFyc2VyLmdldEJvb2xlYW4odmFsdWUpO1xyXG4gICAgICAgIGJyZWFrO1xyXG5cclxuICAgICAgY2FzZSBDb25zdEludGVyZmFjZS5NR19BVFRSX1RFWFQ6XHJcbiAgICAgICAgdGhpcy5fdGV4dCA9IFhtbFBhcnNlci51bmVzY2FwZSh2YWx1ZSk7XHJcbiAgICAgICAgYnJlYWs7XHJcblxyXG4gICAgICBjYXNlIENvbnN0SW50ZXJmYWNlLk1HX0FUVFJfRElTUExBWTpcclxuICAgICAgICB0aGlzLl9kaXNwbGF5ID0gdmFsdWVbMF07XHJcbiAgICAgICAgYnJlYWs7XHJcblxyXG4gICAgICBjYXNlIENvbnN0SW50ZXJmYWNlLk1HX0FUVFJfTU9ERTpcclxuICAgICAgICB0aGlzLl9tb2RlID0gdmFsdWVbMF07XHJcbiAgICAgICAgYnJlYWs7XHJcblxyXG4gICAgICBjYXNlIENvbnN0SW50ZXJmYWNlLk1HX0FUVFJfQUNLOlxyXG4gICAgICAgIHRoaXMuX3NlbmRBY2sgPSAoWG1sUGFyc2VyLmdldEludCh2YWx1ZSkgIT09IDApO1xyXG4gICAgICAgIGJyZWFrO1xyXG5cclxuICAgICAgZGVmYXVsdDpcclxuICAgICAgICBzdXBlci5IYW5kbGVBdHRyaWJ1dGUoYXR0cmlidXRlLCB2YWx1ZSk7XHJcbiAgICAgICAgYnJlYWs7XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcbiJdfQ==
@@ -1 +1,2 @@
1
+ export {};
1
2
  //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiSUNvbm5lY3Rpb25TdGF0ZU1hbmFnZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9lbmdpbmUvc3JjL2NvbW11bmljYXRpb25zL0lDb25uZWN0aW9uU3RhdGVNYW5hZ2VyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyIvLy8gPHN1bW1hcnk+XHJcbi8vLyBJbnRlcmZhY2Ugb2YgYSBjbGFzcyB0aGF0IGhhcyBrbm93bGVkZ2Ugb2YgdGhlIGN1cnJlbnRcclxuLy8vIGNvbm5lY3Rpb24gc3RhdGUuPGJyLz5cclxuLy8vIFRoZSBzcGVjaWZpY3Mgb2YgZGV0ZWN0aW5nIGRpc2Nvbm5lY3Rpb24gaXMgbGVmdCB0byB0aGUgaW1wbGVtZW50aW5nXHJcbi8vLyBjbGFzcy5cclxuLy8vIDwvc3VtbWFyeT5cclxuZXhwb3J0IGludGVyZmFjZSBJQ29ubmVjdGlvblN0YXRlTWFuYWdlciB7XHJcbiAgQ29ubmVjdGlvbkVzdGFibGlzaGVkKCk6IHZvaWQ7XHJcblxyXG4gIENvbm5lY3Rpb25Ecm9wcGVkKCk6IHZvaWQ7XHJcbn1cclxuIl19
@@ -0,0 +1,17 @@
1
+ import { OSEnvironment } from "@magic-xpa/utils";
2
+ import { Styles } from "@magic-xpa/gui";
3
+ import { GUIManager } from "../GUIManager";
4
+ export class InteractiveCommunicationsFailureHandler {
5
+ constructor() {
6
+ this.ShouldRetryLastRequest = false;
7
+ }
8
+ get ShowCommunicationErrors() {
9
+ return true;
10
+ }
11
+ async CommunicationFailed(url, ex) {
12
+ let exceptionCaption = "";
13
+ let exceptionMessage = url.split('?')[0] + OSEnvironment.EolSeq + OSEnvironment.EolSeq + ex.message + OSEnvironment.EolSeq + OSEnvironment.EolSeq;
14
+ this.ShouldRetryLastRequest = (await GUIManager.Instance.MessageBox(exceptionCaption, exceptionMessage + "Do you wish to retry connecting?", Styles.MSGBOX_BUTTON_YES_NO) === Styles.MSGBOX_RESULT_YES);
15
+ }
16
+ }
17
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiSW50ZXJhY3RpdmVDb21tdW5pY2F0aW9uc0ZhaWx1cmVIYW5kbGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZW5naW5lL3NyYy9jb21tdW5pY2F0aW9ucy9JbnRlcmFjdGl2ZUNvbW11bmljYXRpb25zRmFpbHVyZUhhbmRsZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLGFBQWEsRUFBQyxNQUFNLGtCQUFrQixDQUFDO0FBQy9DLE9BQU8sRUFBVyxNQUFNLEVBQUMsTUFBTSxnQkFBZ0IsQ0FBQztBQUVoRCxPQUFPLEVBQUMsVUFBVSxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBT3pDLE1BQU0sT0FBTyx1Q0FBdUM7SUFBcEQ7UUFDRSwyQkFBc0IsR0FBWSxLQUFLLENBQUM7SUF1QjFDLENBQUM7SUFyQkMsSUFBSSx1QkFBdUI7UUFDekIsT0FBTyxJQUFJLENBQUM7SUFDZCxDQUFDO0lBRU0sS0FBSyxDQUFDLG1CQUFtQixDQUFDLEdBQVcsRUFBRSxFQUFTO1FBRXJELElBQUksZ0JBQWdCLEdBQVcsRUFBRSxDQUFDO1FBUWxDLElBQUksZ0JBQWdCLEdBQVcsR0FBRyxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxhQUFhLENBQUMsTUFBTSxHQUFHLGFBQWEsQ0FBQyxNQUFNLEdBQUcsRUFBRSxDQUFDLE9BQU8sR0FBRyxhQUFhLENBQUMsTUFBTSxHQUFHLGFBQWEsQ0FBQyxNQUFNLENBQUM7UUFFMUosSUFBSSxDQUFDLHNCQUFzQixHQUFHLENBQUMsTUFBTSxVQUFVLENBQUMsUUFBUSxDQUFDLFVBQVUsQ0FBQyxnQkFBZ0IsRUFDbEYsZ0JBQWdCLEdBQUcsa0NBQWtDLEVBQ3JELE1BQU0sQ0FBQyxvQkFBb0IsQ0FBRSxLQUFLLE1BQU0sQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDO0lBQ2hFLENBQUM7Q0FFRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7T1NFbnZpcm9ubWVudH0gZnJvbSBcIkBtYWdpYy14cGEvdXRpbHNcIjtcclxuaW1wb3J0IHtDb21tYW5kcywgU3R5bGVzfSBmcm9tIFwiQG1hZ2ljLXhwYS9ndWlcIjtcclxuaW1wb3J0IHtJQ29tbXVuaWNhdGlvbnNGYWlsdXJlSGFuZGxlcn0gZnJvbSBcIi4uL2h0dHAvY2xpZW50L0lDb21tdW5pY2F0aW9uc0ZhaWx1cmVIYW5kbGVyXCI7XHJcbmltcG9ydCB7R1VJTWFuYWdlcn0gZnJvbSBcIi4uL0dVSU1hbmFnZXJcIjtcclxuXHJcbi8vLyA8c3VtbWFyeT5cclxuLy8vIFRoaXMgaXMgdGhlIGhhbmRsZXIgZm9yIGNvbW11bmljYXRpb25zIHRoYXQgd2lsbCBiZSB1c2VkIGluIG1vc3QgY2FzZXMuIFRoaXNcclxuLy8vIGltcGxlbWVudGF0aW9uIHNob3dzIGEgZGlhbG9nIHRoYXQgYXNrcyB0aGUgdXNlciB3aGV0aGVyIHRvIHJldHJ5IHRoZSBsYXN0XHJcbi8vLyBjb21tdW5pY2F0aW9ucyBhdHRlbXB0IG9yIG5vdCBhbmQgc2V0cyB0aGUgU2hvdWxkUmV0cnlMYXN0UmVxdWVzdCBhY2NvcmRpbmdseS5cclxuLy8vIDwvc3VtbWFyeT5cclxuZXhwb3J0IGNsYXNzIEludGVyYWN0aXZlQ29tbXVuaWNhdGlvbnNGYWlsdXJlSGFuZGxlciBpbXBsZW1lbnRzIElDb21tdW5pY2F0aW9uc0ZhaWx1cmVIYW5kbGVyIHtcclxuICBTaG91bGRSZXRyeUxhc3RSZXF1ZXN0OiBib29sZWFuID0gZmFsc2U7XHJcblxyXG4gIGdldCBTaG93Q29tbXVuaWNhdGlvbkVycm9ycygpOiBib29sZWFuIHtcclxuICAgIHJldHVybiB0cnVlO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGFzeW5jIENvbW11bmljYXRpb25GYWlsZWQodXJsOiBzdHJpbmcsIGV4OiBFcnJvcik6IFByb21pc2U8dm9pZD4ge1xyXG5cclxuICAgIGxldCBleGNlcHRpb25DYXB0aW9uOiBzdHJpbmcgPSBcIlwiO1xyXG4gICAgLy8gVE9ETyA6IEZpbmQgb3V0IGhvdyB0byBnZXQgY2FwdGlvblxyXG4gICAgLy8gbGV0IGV4Y2VwdGlvbkNhcHRpb246IHN0cmluZyA9IE5TdHJpbmcuRm9ybWF0KFwiezB9IHsxfVwiLFxyXG4gICAgLy8gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgRGF0ZVRpbWVVdGlscy5Ub1N0cmluZyhEYXRlVGltZS5Ob3csXHJcbiAgICAvLyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFhNTENvbnN0YW50cy5IVFRQX0VSUk9SX1RJTUVfRk9STUFUKSxcclxuICAgIC8vICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChleC5Jbm5lckV4Y2VwdGlvbiAhPSBudWxsID8gZXguSW5uZXJFeGNlcHRpb24uR2V0VHlwZSgpIDogZXguR2V0VHlwZSgpKS5OYW1lKTtcclxuXHJcblxyXG4gICAgbGV0IGV4Y2VwdGlvbk1lc3NhZ2U6IHN0cmluZyA9IHVybC5zcGxpdCgnPycpWzBdICsgT1NFbnZpcm9ubWVudC5Fb2xTZXEgKyBPU0Vudmlyb25tZW50LkVvbFNlcSArIGV4Lm1lc3NhZ2UgKyBPU0Vudmlyb25tZW50LkVvbFNlcSArIE9TRW52aXJvbm1lbnQuRW9sU2VxO1xyXG5cclxuICAgIHRoaXMuU2hvdWxkUmV0cnlMYXN0UmVxdWVzdCA9IChhd2FpdCBHVUlNYW5hZ2VyLkluc3RhbmNlLk1lc3NhZ2VCb3goZXhjZXB0aW9uQ2FwdGlvbixcclxuICAgICAgZXhjZXB0aW9uTWVzc2FnZSArIFwiRG8geW91IHdpc2ggdG8gcmV0cnkgY29ubmVjdGluZz9cIixcclxuICAgICAgU3R5bGVzLk1TR0JPWF9CVVRUT05fWUVTX05PICkgPT09IFN0eWxlcy5NU0dCT1hfUkVTVUxUX1lFUyk7XHJcbiAgfVxyXG5cclxufVxyXG4iXX0=